python自动读取pdf文件(用pdfminer库)
之前自己瞎玩儿,在网上搜索半天,找到了不少资料,但是每次代码都无法正确运行。为了方便大家日后研究,我把自己能运行起来的代码贴进来,供大家参考,说实话好多都是自己copy别人的,弄不太清楚。但是编译过程中自己解决了一些打开文件open和utf-8编码的问题。
python 版本3.8.2
pycharm版本2020.1.4
pdfminer版本20191125
代码如下:
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage
from io import StringIO
def convert_pdf_to_txt(path):
rsrcmgr = PDFResourceManager()
retstr = StringIO()
codec = 'utf-8'
laparams = LAParams()
device = TextConverter(rsrcmgr, retstr, laparams=laparams)
fp = open(path, 'rb')
interpreter = PDFPageInterpreter(rsrcmgr, device)
password = ""
maxpages = 0
caching = True
pagenos=set()
for page in PDFPage.get_pages(fp, pagenos, maxpages=maxpages,password=password,caching=caching, check_extractable=True):
interpreter.process_page(page)
text = retstr.getvalue()
fp.close()
device.close()
retstr.close()
return text
if __name__ == '__main__':
outputString = convert_pdf_to_txt("D:\develop\douban\PAY-ICH-OA-1-20200729.pdf")
with open(r'D:\develop\douban\3.txt', 'a',encoding='utf-8') as f:
f.write(outputString)
# f.write(outputString.replace(u'\xa0', u''))# 写入文件
print(outputString)

浙公网安备 33010602011771号