如何使用PyPDF2在Python 3中以单个字符串的形式从PDF检索所有页面

加夫克

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

Thaer A

可能是因为此行:

output = page.extractText()

尝试以下方法:

output += page.extractText()

因为在您的代码中,您将覆盖“输出”变量的值,而不是附加到该变量。不要忘记在for循环之前声明“输出”变量。所以output = ''之前for i in range(count):

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章