为了从多页 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']