pyPdf无法从我的PDF中的某些页面中提取文本

DrJ*_*ing 6 python pdf

我正在尝试使用pyPdf从多页PDF中提取和打印页面.问题是,文本不是从某些页面中提取的.我在这里放了一个示例文件:

http://www.4shared.com/document/kmJF67E4/forms.html

如果运行以下命令,则前81页不返回任何文本,而最后11页正确提取.有人可以帮忙吗?

from pyPdf import PdfFileReader  
input = PdfFileReader(file("forms.pdf", "rb"))  
for page in input1.pages:  
    print page.extractText()  
Run Code Online (Sandbox Code Playgroud)

use*_*312 10

请注意,extractText()仍然无法正确提取文本.从以下文档extractText():

这适用于某些PDF文件,但对其他PDF文件效果不佳,具体取决于所使用的生成器.这将在未来得到完善.不要依赖于此函数的文本顺序,因为如果此功能变得更复杂,它将会改变.

既然是你想要的文字,你可以使用Linux命令pdftotext.

要调用,使用Python中,你可以这样做:

>>> import subprocess
>>> subprocess.call(['pdftotext', 'forms.pdf', 'output'])
Run Code Online (Sandbox Code Playgroud)

文本从中提取forms.pdf并保存到output.

这适用于PDF文件并提取所需的文本.