怎么在Python 3.6 中利用pdfminer对pdf文件进行解析?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
一、安装pdfminer模块
安装anaconda后,直接可以通过pip安装
pipinstallpdfminer3k
如上图所示安装成功。
二、在IDE中进行编码
#!/usr/bin/envpython #encoding:utf-8 """ @author:wugang @software:PyCharm @file:prase_pdf.py @time:2017/3/3000311:16 """ importsys importimportlib importlib.reload(sys) frompdfminer.pdfparserimportPDFParser,PDFDocument frompdfminer.pdfinterpimportPDFResourceManager,PDFPageInterpreter frompdfminer.converterimportPDFPageAggregator frompdfminer.layoutimportLTTextBoxHorizontal,LAParams frompdfminer.pdfinterpimportPDFTextExtractionNotAllowed ''' 解析pdf文本,保存到txt文件中 ''' path=r'../../data/pdf/阿里巴巴Java开发规范手册.pdf' defparse(): fp=open(path,'rb')#以二进制读模式打开 #用文件对象来创建一个pdf文档分析器 praser=PDFParser(fp) #创建一个PDF文档 doc=PDFDocument() #连接分析器与文档对象 praser.set_document(doc) doc.set_parser(praser) #提供初始化密码 #如果没有密码就创建一个空的字符串 doc.initialize() #检测文档是否提供txt转换,不提供就忽略 ifnotdoc.is_extractable: raisePDFTextExtractionNotAllowed else: #创建PDf资源管理器来管理共享资源 rsrcmgr=PDFResourceManager() #创建一个PDF设备对象 laparams=LAParams() device=PDFPageAggregator(rsrcmgr,laparams=laparams) #创建一个PDF解释器对象 interpreter=PDFPageInterpreter(rsrcmgr,device) #循环遍历列表,每次处理一个page的内容 forpageindoc.get_pages():#doc.get_pages()获取page列表 interpreter.process_page(page) #接受该页面的LTPage对象 layout=device.get_result() #这里layout是一个LTPage对象里面存放着这个page解析出的各种对象一般包括LTTextBox,LTFigure,LTImage,LTTextBoxHorizontal等等想要获取文本就获得对象的text属性, forxinlayout: if(isinstance(x,LTTextBoxHorizontal)): withopen(r'../../data/pdf/1.txt','a')asf: results=x.get_text() print(results) f.write(results+'\n') if__name__=='__main__': parse()
看完上述内容,你们掌握怎么在Python 3.6 中利用pdfminer对pdf文件进行解析的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注恰卡编程网行业资讯频道,感谢各位的阅读!
怎么在python3.6中使用urllib实现下载
本篇文章为大家展示了怎么在python3.6中使用urllib实现下载,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章...
怎么在Python3.6中安装psutil模块
怎么在Python3.6中安装psutil模块?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇...
怎么在Centos中同时安装Python3.6和Python2
这期内容当中小编将会给大家带来有关怎么在Centos中同时安装Python3.6和Python2,文章内容丰富且以专业的角度为大家...
用户名
密码
记住登录状态 忘记密码?
邮箱
确认密码
我已阅读并同意 用户协议