如何从PDF文件中提取文本?

新手上路,请多包涵

我正在尝试使用 Python 提取 PDF 文件中包含的文本。

我正在使用 PyPDF2 包(版本 1.27.2),并具有以下脚本:

 import PyPDF2

with open("sample.pdf", "rb") as pdf_file:
    read_pdf = PyPDF2.PdfFileReader(pdf_file)
    number_of_pages = read_pdf.getNumPages()
    page = read_pdf.pages[0]
    page_content = page.extractText()
print(page_content)

当我运行代码时,我得到以下输出,这与 PDF 文档中包含的输出不同:

  ! " # $ % # $ % &% $ &' ( ) * % + , - % . / 0 1 ' * 2 3% 4
5
 ' % 1 $ # 2 6 % 3/ % 7 / ) ) / 8 % &) / 2 6 % 8 # 3" % 3" * % 31 3/ 9 # &)
%

如何按原样提取 PDF 文档中的文本?

原文由 Simplicity 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 422
1 个回答

我一直在寻找一个用于 python 3.x 和 Windows 的简单解决方案。 textract 似乎没有支持,这很不幸,但如果您正在寻找适用于 windows/python 3 的简单解决方案,请查看 tika 包,阅读 pdf 非常直接。

Tika-Python 是与 Apache Tika™ REST 服务的 Python 绑定,允许在 Python 社区中本地调用 Tika。

 from tika import parser # pip install tika

raw = parser.from_file('sample.pdf')
print(raw['content'])

请注意,Tika 是用 Java 编写的,因此您需要安装 Java 运行时

原文由 DJK 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题