python中怎么将pdf内容显示出来?
发布时间:2026-02-05 21:55:39

pdfminer库用于pdfminer库读取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=[]
clascpdf2TxtManager():
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读取结果如下:

请关注Python自学网了解更多Python知识。
