python中怎么将pdf内容显示出来?

图片[1]-python中怎么将pdf内容显示出来?-uusu优素-乐高,模型,3d打印,编程

python读取pdf文件需要使用pdfminer库,安装pdfminer库的命令如下:

pipinstallpdfminer

python读取pdf的文件如下:

#coding=utf-8
importsys
reload(sys)
sys.setdefaultencoding('utf-8')
importtime
time1=time.time()
importos.path
frompdfminer.pdfparserimportPDFParser,PDFDocument
frompdfminer.pdfinterpimportPDFResourceManager,PDFPageInterpreter
frompdfminer.converterimportPDFPageAggregator
frompdfminer.layoutimportLTTextBoxHorizontal,LAParams
frompdfminer.pdfinterpimportPDFTextExtractionNotAllowed
result=[]
classCPdf2TxtManager():
def__init__(self):
'''''
Constructor
'''
defchangePdfToText(self,filePath):
file=open(path,'rb')#以二进制读模式打开
#用文件对象来创建一个pdf文档分析器
praser=PDFParser(file)
#创建一个PDF文档
doc=PDFDocument()
#连接分析器与文档对象
praser.set_document(doc)
doc.set_parser(praser)
#提供初始化密码
#如果没有密码就创建一个空的字符串
doc.initialize()
#检测文档是否提供txt转换,不提供就忽略
ifnotdoc.is_extractable:
raisePDFTextExtractionNotAllowed
#创建PDf资源管理器来管理共享资源
rsrcmgr=PDFResourceManager()
#创建一个PDF设备对象
laparams=LAParams()
device=PDFPageAggregator(rsrcmgr,laparams=laparams)
#创建一个PDF解释器对象
interpreter=PDFPageInterpreter(rsrcmgr,device)
pdfStr=''
#循环遍历列表,每次处理一个page的内容
forpageindoc.get_pages():#doc.get_pages()获取page列表
interpreter.process_page(page)
#接受该页面的LTPage对象
layout=device.get_result()
forxinlayout:
ifhasattr(x,"get_text"):
#printx.get_text()
result.append(x.get_text())
fileNames=os.path.splitext(filePath)
withopen(fileNames[0]+'.txt','wb')asf:
results=x.get_text()
print(results)
f.write(results+'\n')
if__name__=='__main__':
'''''
解析pdf文本,保存到txt文件中
'''
path=u'C:/data3.pdf'
pdf2TxtManager=CPdf2TxtManager()
pdf2TxtManager.changePdfToText(path)
#printresult[0]
time2=time.time()
printu'ok,解析pdf结束!'
printu'总共耗时:'+str(time2-time1)+'s'

pdf文件如下:

python读取结果如下:

图片[2]-python中怎么将pdf内容显示出来?-uusu优素-乐高,模型,3d打印,编程

原文来自:https://www.py.cn
© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容