pdfminer3k在PDFPag中没有名为create_pages的方法

2024-04-29 01:42:36 发布

您现在位置:Python中文网/ 问答频道 /正文

因为我想从Python2移到3,所以我尝试在Python3.4中使用pdfmine.3kr。他们好像什么都编辑过。他们的更改日志没有反映他们所做的更改,但我在用pdfminer3k解析pdf时没有成功。例如:

他们把PDFDocument移到了pdfparser(抱歉,如果我拼写错误的话)。PDFPage过去有create_pages方法,现在已经不存在了。我在PDFPage中看到的只是内部方法。有人有pdfminer3k的工作示例吗?似乎没有新的文档来反映任何更改。


Tags: 方法文档编辑示例pdfcreatepagespdfdocument
2条回答

也许,你可以用pdfminer.6。 描述如下:

fork of PDFMiner using six for Python 2+3 compatibility

使用pip安装后:

pip install pdfminer.six

它的用法就像pdfminer,至少在我的代码中是这样。

希望这能拯救你的一天:)

如果您对从pdf文件中读取文本感兴趣,以下代码将使用python 3.4与pdfminer3k一起使用。

from pdfminer.pdfparser import PDFParser, PDFDocument
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import PDFPageAggregator
from pdfminer.layout import LAParams, LTTextBox, LTTextLine

fp = open('file.pdf', 'rb')
parser = PDFParser(fp)
doc = PDFDocument()
parser.set_document(doc)
doc.set_parser(parser)
doc.initialize('')
rsrcmgr = PDFResourceManager()
laparams = LAParams()
device = PDFPageAggregator(rsrcmgr, laparams=laparams)
interpreter = PDFPageInterpreter(rsrcmgr, device)
# Process each page contained in the document.
for page in doc.get_pages():
    interpreter.process_page(page)
    layout = device.get_result()
    for lt_obj in layout:
        if isinstance(lt_obj, LTTextBox) or isinstance(lt_obj, LTTextLine):
            print(lt_obj.get_text())

fp.close()

相关问题 更多 >