最近需要把PDF解析為文字,查了查python的子產品,發現PDFminer3k能滿足需求。我使用的是 windows平台下的python3.6,python2的則下載下傳pdfminer。
首先下載下傳:直接 pip install pdfminer3k。
在網上找了教程代碼跑了下自己用word轉的pdf測試檔案,可以解析成文字。
教程網址:http://blog.csdn.net/PianoOrRock/article/details/70666286?reload
然後運作自己真正需要的PDF時,報錯:
剛開始我天真的以為是pdf加密了,後來查了下發現pdfminer3k自帶能解密一些簡單的加密方法,且遇到加密報錯不是這樣的。
然後重新仔細研究報錯,覺得應該是pdf的字型的問題,pdfminer3k不能解析特殊字型,需要下載下傳相應的字型包來解決。
字型包下載下傳網站:https://github.com/euske/pdfminer/pull/71/commits/2103e5875ef04cfaf424b25d2fd0dc9535a90714#diff-11a7e5c9b1cb16f0ae7d0276f643956d
下載下傳好了GBK-EUC-H和UniGB-UCS2-H不要解壓直接放在 pdfminer/cmap檔案夾下。
運作後繼續報錯:
PDFMiner裡并沒有GBK-EUC-H和UniGB-UCS2這兩個編碼的解碼檔案,是以輸出了一堆cid,繼續去上面的網站找到這種編碼解碼包,下載下傳後不要解壓直接放到上面的檔案夾裡:
運作,解析成功!
Sic Parvis Magna