由于我想从python 2移到3,我尝试在python 3.4中使用pdfmine.3kr。好像他们编辑了一切。他们的更改日志并没有反映他们所做的更改,但我没有成功用pdfminer3k解析pdf。例如:
他们已将PDFDocument移至pdfparser(对不起,如果拼写不正确)。 PDFPage曾经有过create_pages方法。我在PDFPage中看到的只是内部方法。有没有人有pdfminer3k的工作示例?似乎没有新的文档来反映任何变化。
答案 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 ,至少在我的代码中。
希望这可以节省你的一天:)