hanmeimei-LY
import sys
import importlib
importlib.reload(sys)

from pdfminer.pdfparser import PDFParser,PDFDocument
from pdfminer.pdfinterp import PDFResourceManager,PDFPageInterpreter
from pdfminer.converter import PDFPageAggregator
from pdfminer.layout import LTTextBoxHorizontal,LAParams
from pdfminer.pdfinterp import PDFTextExtractionNotAllowed


#读写pdf文件,仅能处理文字,无法处理图片
def readPDF(path,topath):
with open(path,\'rb\') as f: #用二进制打开

# #创建parser为pdf文件分析器
parser = PDFParser(f)
#创建一个pdf文档
pdfFile = PDFDocument()

#连接分析器与文档对象
parser.set_document(pdfFile)
pdfFile.set_parser(parser)
#提供初始化密码
pdfFile.initialize()

#检测文档是否提供txt转换
if not pdfFile.is_extractable:
raise PDFTextExtractionNotAllowed
else:
#解析数据
#数据管理器
manager = PDFResourceManager()
#创建一个PDF设备的对象
laparams = LAParams
device = PDFPageAggregator(manager,laparams=laparams)
interpreter = PDFPageInterpreter(manager,device) #解释器对象

#循环处理数据,每次处理一页
for page in pdfFile.get_pages():
interpreter.process_page(page)
layout = device.get_result()
for x in layout: #处理图层
if (isinstance(x,LTTextBoxHorizontal)):
with open(topath,\'a\') as f:
str = x.get_text()
# print(str)
f.write(str+"\n")










分类:

技术点:

相关文章:

  • 2021-11-20
  • 2019-10-03
  • 2020-07-30
  • 2021-11-16
  • 2021-11-11
  • 2021-12-02
  • 2021-08-23
  • 2021-11-29
猜你喜欢
  • 2021-11-22
  • 2021-05-16
  • 2021-12-01
  • 2021-12-16
  • 2021-11-13
  • 2021-11-30
  • 2021-11-20
相关资源
相似解决方案