300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > python读取pdf文件并转换成txt文件

python读取pdf文件并转换成txt文件

时间:2019-04-14 20:32:57

相关推荐

python读取pdf文件并转换成txt文件

将pdf文件转换成txt文件

官网

文档

中英文pdf都可以,而且处理速度很快,一秒可以处理10页左右

python2:

pip install pdfminer

python3:

pip install pdfminer3k

pdf2txt.py

from pdfminer.pdfparser import PDFParser, PDFDocumentfrom pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreterfrom pdfminer.converter import PDFPageAggregatorfrom pdfminer.layout import LTTextBoxHorizontal, LAParamsfrom pdfminer.pdfinterp import PDFTextExtractionNotAllowedimport logging# 不显示warninglogging.propagate = Falselogging.getLogger().setLevel(logging.ERROR)pdf_filename = "1.pdf"txt_filename = "out.txt"device = PDFPageAggregator(PDFResourceManager(), laparams=LAParams())interpreter = PDFPageInterpreter(PDFResourceManager(), device)doc = PDFDocument()parser = PDFParser(open(pdf_filename, 'rb'))parser.set_document(doc)doc.set_parser(parser)doc.initialize()# 检测文档是否提供txt转换,不提供就忽略if not doc.is_extractable:raise PDFTextExtractionNotAllowedelse:with open(txt_filename, 'w', encoding="utf-8") as fw:print("num page:{}".format(len(list(doc.get_pages()))))for page in doc.get_pages():interpreter.process_page(page)# 接受该页面的LTPage对象layout = device.get_result()# 这里layout是一个LTPage对象 里面存放着 这个page解析出的各种对象# 一般包括LTTextBox, LTFigure, LTImage, LTTextBoxHorizontal 等等# 想要获取文本就获得对象的text属性,for x in layout:if isinstance(x, LTTextBoxHorizontal):results = x.get_text()fw.write(results)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。