from pdfminer.converter import PDFPageAggregator
from pdfminer.layout import LAParams
from pdfminer.pdfparser import PDFParser,PDFDocument
from pdfminer.pdfinterp import PDFResourceManager,PDFPageInterpreter
from pdfminer.pdfdevice import PDFDevice
#获取文档对象
fp =open("深入 Python 3 .pdf","rb")
#创建一个与文档关联的解释器
parser = PDFParser(fp)
#PDF文档的对象
doc = PDFDocument()
#链接解释器和文档对象
parser.set_document(doc)
doc.set_parser(parser)
#初始化文档
doc.initialize("")
#创建PDF资源管理器
resource = PDFResourceManager()
#参数分析器
laparam= LAParams()
#创建一个聚合器
device = PDFPageAggregator(resource,laparams=laparam)
#创建PDF页面解析器
interpreter=PDFPageInterpreter(resource,device)
#使用文档对象得到的页面的集合
for page in doc.get_pages():
interpreter.process_page(page)
layout = device.get_result()
for out in layout:
if hasattr(out,'get_text'):
print(out.get_text())
运行结果