python 使用pdfminer3k处理PDF


*_encoding:utf-8_*

author: lqp


from pdfminer.converter import PDFPageAggregator
from pdfminer.layout import LAParams
from pdfminer.pdfparser import PDFDocument,PDFParser
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.pdfdevice import PDFDevice

获取文档对象

fp = open(“E:\spider\Flask官方文档中文版.pdf”, ‘rb’)


创建一个与文档关联的解释器

parse = PDFParser(fp)


PDF文档的对象

doc = PDFDocument()


连接文档对象和解析器

parse.set_document(doc)
doc.set_parser(parse)


初始化文档, 可以设置密码

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

你可能感兴趣的:(python)