一尘不染

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

python

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

我正在使用PyPDF2模块,并具有以下脚本:

import PyPDF2
pdf_file = open('sample.pdf')
read_pdf = PyPDF2.PdfFileReader(pdf_file)
number_of_pages = read_pdf.getNumPages()
page = read_pdf.getPage(0)
page_content = page.extractText()
print page_content

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

!"#$%#$%&%$&'()*%+,-%./01'*23%4
5'%1$#26%3/%7/))/8%&)/26%8#3"%3"*%313/9#&)
%

如何提取PDF文档中的文本?


阅读 773

收藏
2020-02-21

共2个答案

一尘不染

要从PDF提取文本,请使用以下代码

import PyPDF2
pdfFileObj = open('mypdf.pdf', 'rb')

pdfReader = PyPDF2.PdfFileReader(pdfFileObj)

print(pdfReader.numPages)

pageObj = pdfReader.getPage(0)

a = pageObj.extractText()

print(a)
2020-02-21
一尘不染

正在寻找适用于python 3.x和Windows的简单解决方案。不幸的是,textract似乎并没有提供支持,但是如果您正在寻找针对Windows / python 3的简单解决方案,请签出tika软件包,真的可以直接阅读pdf。

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

from tika import parser

raw = parser.from_file('sample.pdf')
print(raw['content'])
2020-02-21