我已使用此代码将pdf转换为文本。
input1 = '//Home//Sai Krishna Dubagunta.pdf'
output = '//Home//Me.txt'
os.system(("pdftotext %s %s") %( input1, output))
我创建了Home目录并将源文件粘贴到其中。
我得到的输出是
1
并且没有创建.txt的文件。问题出在哪里?
答案 0 :(得分:4)
有各种Python包可以用Python从PDF中提取文本。
pdftotext
包:似乎工作得很好,但它没有选项,例如提取边界框
对于Ubuntu:
sudo apt-get install build-essential libpoppler-cpp-dev pkg-config python-dev
import pdftotext
with open("lorem_ipsum.pdf", "rb") as f:
pdf = pdftotext.PDF(f)
# Iterate over all the pages
for page in pdf:
print(page)
# Just read the second page
print(pdf.read(2))
# Or read all the text at once
print(pdf.read_all())
使用pip install pdfminer.six
安装它。最小的工作示例是here。
答案 1 :(得分:3)
你的表达
("pdftotext %s %s") %( input1, output)
将转换为
pdftotext //Home//Sai Krishna Dubagunta.pdf //Home//Me.txt
表示传递给pdftotext
的第一个参数是//Home//Sai
,第二个参数是Krishna
。这显然是行不通的。
将参数括在引号中:
os.system("pdftotext '%s' '%s'" % (input1, output))
答案 2 :(得分:0)
我认为pdftotext命令只接受一个参数。尝试使用:
os.system(("pdftotext %s") % input1)
看看会发生什么。希望这会有所帮助。