使用 PyPDF2 从 PDF 文件中提取文本

Extracting text from a PDF file using PyPDF2

这是我的第一个问题,如果问题出现在错误的地方或者我错过了任何有价值的信息,我深表歉意。一般来说,我对编码和 python 也非常陌生。

我正在使用 Python 3.7.4(v3.7.4:e09359112e,2019 年 7 月 8 日,14:54:52)

我正在尝试编写一些代码,从 PDF 文件中提取所有文本并将其放入一个值中(我知道,简单的东西!)。

我已经设法让它在 1 页 pdf 上正常工作,但在尝试 96 页 PDF 时,我只将第一页和最后一页提取到值。这是我正在使用的代码:

pdfFile2 = open('/filepath/ir-2030.pdf', 'rb')
irReader = PyPDF2.PdfFileReader(pdfFile2)

pageNum2 = str(irReader.numPages)
print('Your document has ' + pageNum2 + ' pages' + '\n')

for pN in range(irReader.numPages):
    ir2030 = irReader.getPage(pN).extractText()

print(ir2030)

我以前使用过几乎相同的编码并且它没有问题但由于我不知道的原因,我只从 [=11] 获得了 pdf 文档第 1 页和第 96 页的 return =]

任何帮助将不胜感激,或者如果有更好的方法来做我想做的事情...

干杯

每次迭代,您都会重置 ir2030 的值。也许将值附加到列表中?

ir2030s = []
for pN in range(irReader.numPages):
    ir2030s.append(irReader.getPage(pN).extractText())

print(ir2030)

或者使用列表理解:

ir2030s = [irReader.getPage(pN).extractText() for pN in range(irReader.numPages)]