我正在尝试使用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文件并提取所需的文本.
| 归档时间: |
|
| 查看次数: |
11396 次 |
| 最近记录: |