作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想使用pdfminer.six这是一个工具,可以与Python3一起使用以从PDF文档中提取信息。问题在于根本没有好的文档,也没有关于如何使用该工具的源代码示例。
我已经尝试过StackOverflow的一些代码,但是没有用。下面是我的代码。
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage
from io import StringIO
def convert_pdf_to_txt(path):
rsrcmgr = PDFResourceManager()
retstr = StringIO()
codec = 'utf-8'
laparams = LAParams()
device = TextConverter(rsrcmgr, retstr, codec=codec, laparams=laparams)
fp = open(path, 'rb')
interpreter = PDFPageInterpreter(rsrcmgr, device)
password = ""
maxpages = 0
caching = True
pagenos=set()
for page in PDFPage.get_pages(fp, pagenos, maxpages=maxpages, password=password,caching=caching, check_extractable=True):
interpreter.process_page(page)
text = retstr.getvalue()
fp.close()
device.close()
retstr.close()
return text
我想要一些有关如何使用此工具从PDF获取数据的代码示例。
最佳答案
安装pdfminer.six或pdfminer3(https://github.com/gwk/pdfminer3/)
安装:pip install pdfminer3
我从3.6升级到3.7时切换到pdfminer3
我在python 3.7.3上的ubuntu和macos上使用
pdfminer3带有两个方便的工具:pdf2txt.py和dumppdf.py
检查源。相当小,易于理解。
以下是一个工作示例(一旦添加了pdf文件的位置)
from pdfminer3.layout import LAParams, LTTextBox
from pdfminer3.pdfpage import PDFPage
from pdfminer3.pdfinterp import PDFResourceManager
from pdfminer3.pdfinterp import PDFPageInterpreter
from pdfminer3.converter import PDFPageAggregator
from pdfminer3.converter import TextConverter
import io
resource_manager = PDFResourceManager()
fake_file_handle = io.StringIO()
converter = TextConverter(resource_manager, fake_file_handle, laparams=LAParams())
page_interpreter = PDFPageInterpreter(resource_manager, converter)
with open('/path/to/file.pdf', 'rb') as fh:
for page in PDFPage.get_pages(fh,
caching=True,
check_extractable=True):
page_interpreter.process_page(page)
text = fake_file_handle.getvalue()
# close open handles
converter.close()
fake_file_handle.close()
print(text)
关于python-3.x - 如何在Python 3中使用PDFminer.six?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56494070/
我是一名优秀的程序员,十分优秀!