PyMuPDF庫(處理PDF)


昨天在公司需要把一份PDF格式認證表轉換為圖片JPEG格式,所以在網上查詢了一些與此相關的python庫,最后看網上大多都是使用Wand和PyMuPDF,在安裝了Wand庫后,導入相應的模塊后報錯了,好像要安裝什么依賴項,最后選擇了PyMuPDF,下載庫文件就可以直接用。

1、下載PyMuPDF庫文件

pip install PyMuPDF

2、源文件貼上

import os
import fitz  # 導入的是fitz


if __name__ == '__main__':
    base_path = input("請輸入要轉換的文件路徑:")  # 輸入要轉換的PDF所在的文件夾
    filenames = os.listdir(base_path)      # 獲取PDF文件列表
    for filename in filenames:
        full_path = os.path.join(base_path, filename)  # 拼接,得到PDF文件的絕對路徑
        print(full_path)
        doc = fitz.open(full_path)  # 打開一個PDF文件,doc為Document類型,是一個包含每一頁PDF文件的列表
        rotate = int(0)  # 設置圖片的旋轉角度
        zoom_x = 2.0  # 設置圖片相對於PDF文件在X軸上的縮放比例
        zoom_y = 2.0  # 設置圖片相對於PDF文件在Y軸上的縮放比例
        trans = fitz.Matrix(zoom_x, zoom_y).preRotate(rotate)
        print("%s開始轉換..." % filename)
        if doc.pageCount > 1:  # 獲取PDF的頁數
            for pg in range(doc.pageCount):
                page = doc[pg]  # 獲得第pg頁
                pm = page.getPixmap(matrix=trans, alpha=False)  # 將其轉化為光柵文件(位數)
                new_full_name = full_path.split(".")[0]  # 保證輸出的文件名不變
                pm.writeImage("%s%s.jpg" % (new_full_name, pg))  # 將其輸入為相應的圖片格式,可以為位圖,也可以為矢量圖
       # 我本來想輸出為jpg文件,但是在網頁中都是png格式(即調用writePNG),再轉換成別的圖像文件前,最好查一下是否支持
else: page = doc[0] pm = page.getPixmap(matrix=trans, alpha=False) new_full_name = full_path.split(".")[0] pm.writeImage("%s.jpg" % new_full_name) print("%s轉換完成!" % filename)

3、PyMuPDF文檔

https://pymupdf.readthedocs.io/en/latest/


免責聲明!

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



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