为了从多页PDF中获取单个字符串,我正在这样做:
import PyPDF2
pdfFileObject = open('sample.pdf', 'rb')
pdfReader = PyPDF2.PdfFileReader(pdfFileObject)
count = pdfReader.numPages
for i in range(count):
page = pdfReader.getPage(i)
output = page.extractText()
output
结果是来自单个页面(文档的最后一页)的字符串-就像根据PyPDF2文档所应该的那样。我之所以采用这种方法,是因为我读过一些人的建议,以阅读整个PDF,这在我的情况下是行不通的。
显然,这是一项基本操作,由于我缺乏经验,我事先表示歉意。我尝试了其他解决方案,例如Tika,PDFMiner和Textract,但是到目前为止,PyPDF似乎是唯一让我满意的解决方案。
任何帮助,将不胜感激。
更新:
如建议的那样,我将an定义output
为一个列表,然后将其附加到它(按照我的想法)中的所有页面,如下所示:
for i in range(count):
page = pdfReader.getPage(i)
output = []
output.append(page.extractText())
我们认为结果是列表中的单个字符串,例如 ['sample content from the last page of PDF']
可能是因为此行:
output = page.extractText()
尝试以下方法:
output += page.extractText()
因为在您的代码中,您将覆盖“输出”变量的值,而不是附加到该变量。不要忘记在for循环之前声明“输出”变量。所以output = ''
之前for i in range(count):
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句