码迷,mamicode.com
首页 > 编程语言 > 详细

python read PDF for chinese

时间:2019-05-05 01:02:18      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:获取   image   style   proc   for   write   man   converter   初始   

 1 import sys
 2 import importlib
 3 importlib.reload(sys)
 4 
 5 from pdfminer.pdfparser import PDFParser,PDFDocument
 6 from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
 7 from pdfminer.converter import PDFPageAggregator
 8 from pdfminer.layout import LTTextBoxHorizontal,LAParams
 9 from pdfminer.pdfinterp import PDFTextExtractionNotAllowed
10 
11 ‘‘‘
12  解析pdf 文本,保存到txt文件中
13 ‘‘‘
14 path = C:\\Users\\needRead.pdf
15 def parse():
16     fp = open(path, rb) # 以二进制读模式打开
17     #用文件对象来创建一个pdf文档分析器
18     praser = PDFParser(fp)
19     # 创建一个PDF文档
20     doc = PDFDocument()
21     # 连接分析器 与文档对象
22     praser.set_document(doc)
23     doc.set_parser(praser)
24 
25     # 提供初始化密码
26     # 如果没有密码 就创建一个空的字符串
27     doc.initialize()
28 
29     # 检测文档是否提供txt转换,不提供就忽略
30     if not doc.is_extractable:
31         raise PDFTextExtractionNotAllowed
32     else:
33         # 创建PDf 资源管理器 来管理共享资源
34         rsrcmgr = PDFResourceManager()
35         # 创建一个PDF设备对象
36         laparams = LAParams()
37         device = PDFPageAggregator(rsrcmgr, laparams=laparams)
38         # 创建一个PDF解释器对象
39         interpreter = PDFPageInterpreter(rsrcmgr, device)
40 
41         # 循环遍历列表,每次处理一个page的内容
42         for page in doc.get_pages(): # doc.get_pages() 获取page列表
43             interpreter.process_page(page)
44             # 接受该页面的LTPage对象
45             layout = device.get_result()
46             # 这里layout是一个LTPage对象 里面存放着 这个page解析出的各种对象 一般包括LTTextBox, LTFigure, LTImage, LTTextBoxHorizontal 等等 想要获取文本就获得对象的text属性,
47             for x in layout:
48                 if (isinstance(x, LTTextBoxHorizontal)):
49                     with open("C:\\Users\\trasformatResult.txt", a) as f:
50                         results = x.get_text()
51                         print(results)
52                         f.write(results + \n)
53 
54 if __name__ == __main__:
55     parse()

 

python read PDF for chinese

标签:获取   image   style   proc   for   write   man   converter   初始   

原文地址:https://www.cnblogs.com/jiujue/p/10810466.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!