我已经使用此代码将 pdf 转换为文本。
input1 = '//Home//Sai Krishna Dubagunta.pdf'
output = '//Home//Me.txt'
os.system(("pdftotext %s %s") %( input1, output))
我已经创建了主目录并将源文件粘贴到其中。
我得到的输出是
1
并且没有创建带有 .txt 的文件。问题出在哪里?
有各种 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。
你的表情
("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))
我认为 pdftotext 命令只需要一个参数。尝试使用:
os.system(("pdftotext %s") % input1)
看看会发生什么。希望这可以帮助。