使用python的pdfminer庫提取pdf中的圖像之填坑記


本地環境:win10 x64,python3.8 x64

安裝:pip install pdfminer

使用:

按照官方給的方法使用一波,發現windows下沒給適配,運行pdf2txt.py直接彈出來編輯器編輯源代碼了,需要用python+絕對路徑+參數的方法調用

python (gcm pdf2txt.py).source -o outputfilename -O output_dir input.pdf
  • -o:輸出文件名,可以通過文件拓展命指定轉換目標類型
  • -O:輸出資源目錄,比如轉換成HTML文件,圖片文件存放目錄就在這里指定

跑一波

直接跑不通可還行,找來源代碼瞅瞅

看對filter調用的方法,filter應該是個list,直接 filters = stream.get_filters() 修改為 filters = list(stream.get_filters()) 

再試一波,這波沒報錯。

但是輸出的文件夾里只有一張圖,我pdf里上百張圖都去哪里了???

打開唯一的圖片發現是最后一張圖,盲猜一波pdf文件中的圖片都是這個名字,pdf2txt在解析抽取圖像的時候,只是簡單的用圖像在pdf里的名字保存,導致每次保存一張重名圖像都會把老圖替換掉。

剛剛出錯的文件名叫image.py應該是和圖像處理相關的,應該能找到圖像保存的邏輯。

果然!

在這里給文件名加個遞增前綴應該能解決問題。

定義一個生成遞增前綴滴函數,並在產生文件名時加上這個前綴

from time import time

def prefix_():
    return str(int(time()*10**6))
name = f'{prefix_()}_{image.name}.{ext}'

再跑一次

可以看到該有的都有了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM