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)
posted @ 2020-08-14 16:39  鄂尔多斯的雄鹰  阅读(0)  评论(0)    收藏  举报