在Python 3.4中从PDF文本提取的最佳工具

Bon*_*son 40 pdf python-3.x

我使用的是Python 3.4,需要从PDF中提取所有文本,然后将其用于文本处理.

我见过的所有答案都提出了Python 2.7的选项.

我需要Python 3.4中的东西.

Bonson

小智 45

您需要安装PyPDF2模块才能在Python 3.4中使用PDF.PyPDF2无法提取图像,图表或其他媒体,但它可以提取文本并将其作为Python字符串返回.要从命令行运行它,请运行它pip install PyPDF2.此模块名称区分大小写,因此请确保以小写形式键入"y",并将所有其他字符键入大写.

>>> import PyPDF2
>>> pdfFileObj = open('my_file.pdf','rb')     #'rb' for read binary mode
>>> pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
>>> pdfReader.numPages
56
>>> pageObj = pdfReader.getPage(9)          #'9' is the page number
>>> pageObj.extractText()
Run Code Online (Sandbox Code Playgroud)

last语句返回'my_file.pdf'文档第9页中可用的所有文本.

  • 小幅调整 - 认为shoudl是两线在打开的命令"RB"报价,而不是仅仅RB. (4认同)
  • 此外,pypdf2中的页面是零索引的,即`getPage(9)`将为您提供第10页.pypdf2完全忽略原始文档中的页码. (3认同)

Sar*_*ser 6

pdfminer.six(https://github.com/pdfminer/pdfminer.six)也被推荐用于其他地方,并且旨在支持Python3 。但是我个人不能担保它,因为它在MacOS安装过程中失败了。(有一个未解决的问题,这似乎是一个最近的问题,因此可能有个快速解决方法。)