Urv*_*ish 9 python-3.x pdfminer pypdf2
我想使用 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
Run Code Online (Sandbox Code Playgroud)
我想要一些关于如何使用此工具从 PDF 获取数据的代码示例。
小智 17
安装 pdfminer.six 或 pdfminer3 ( https://github.com/gwk/pdfminer3/ ) install: pip install pdfminer3 我从 3.6 升级到 3.7 时切换到 pdfminer3 我在 ubuntu 和 macos 上使用 python 3.7.3
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)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
22852 次 |
最近记录: |