我正在使用python模块 pdftotext 用于在pdf文件中读取。
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())
上面是最小可重复的示例,但是,在我的用法中,pdftotext.pdf中没有可用的方法,例如read_all((或read((
with open("/Users/zachary/Downloads/{}R.pdf".format(i), "rb") as f:
pdf = pdftotext.PDF(f)
pdf.read_all()
AttributeError Traceback (most recent call last)
<ipython-input-58-4676e6ace396> in <module>()
2 pdf = pdftotext.PDF(f)
3
----> 4 pdf.read_all()
AttributeError: 'pdftotext.PDF' object has no attribute 'read_all'
有什么问题?
P.S:我只能使用PDF实例来做的是
pdf [page_numb]读取每个页面。它运行良好!
您可以用来运行pdftotext的内容:
from subprocess import run
filePath = "lorem_ipsum.pdf"
textCmdResult = run([ 'pdftotext', filePath, '-' ], stdout=PIPE, universal_newlines=True)
text = textCmdResult.stdout
这将运行pdftotext作为一个单独的过程,并将结果存储到称为文本的变量。
可能还有其他使它起作用的方法,但这实际上是使我走上正轨的一种。
希望我的答案有帮助,
以色列
import pdftext
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[2])