python读取pdf

最近项目上有个需求,就是把一批用户申请表(pdf文件)的内容,写入数据库。由于文件数量较大,需要批量处理。

本来以为很简单的事情,结果却因为pdf文件内容格式问题导致部分内容读不到:

读出内容:First Name (*) 

具体的,这种pdf文件是一种表格,需要用户自己填入表格中的一些内容,比如用户姓名。

尝试了各种读取pdf的库,包括pdfminer,pdf2docx,pdfplumber, python-docx,pdf2text,都只能读到表格的固定部分的内容,无法读出用户输入的内容。

使用Adobe Acobat Reader自带的转换为文本功能,发现也是一样。

最后看stackoverflow上说可以用tika这个库试下,居然成功:

First Name: Mohammed

demo code:

from tika import parser # pip install tika

raw = parser.from_file('1.pdf')
print(raw['content'])

  

posted @ 2021-04-13 10:33  LeoGIS  阅读(792)  评论(0编辑  收藏  举报