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

时间:2014-10-16 20:21:33

标签: python pdfminer

由于我想从python 2移到3,我尝试在python 3.4中使用pdfmine.3kr。好像他们编辑了一切。他们的更改日志并没有反映他们所做的更改,但我没有成功用pdfminer3k解析pdf。例如:

他们已将PDFDocument移至pdfparser(对不起,如果拼写不正确)。 PDFPage曾经有过create_pages方法。我在PDFPage中看到的只是内部方法。有没有人有pdfminer3k的工作示例?似乎没有新的文档来反映任何变化。

2 个答案:

答案 0 :(得分:22)

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

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()

答案 1 :(得分:3)

也许,您可以使用pdfminer.six。 它的描述:

  

PDFMiner的fork使用六个用于Python 2 + 3兼容性

使用pip安装后:

  

pip install pdfminer.six

使用它就像 pdfminer ,至少在我的代码中。

希望这可以节省你的一天:)