python實現PDF轉PNG


說明
為了方便將pdf格式發票轉為圖片,找到以下方法,轉換后的效果非常不錯,特此記錄在自己的筆記中,根據自己的需要,代碼稍微有所優化修改

參考網址:https://zhuanlan.zhihu.com/p/102742847

三方庫安裝

pip install fitz
pip install PyMuPDF

代碼示例

import os
import fitz


def pdf_to_image(pdf_path, img_path=None, zoom_x=5, zoom_y=5, theta=0):
    """
    PDF轉PNG
    :param pdf_path: pdf文件的路徑
    :param img_path: 圖像要保存的文件夾
    :param zoom_x: x方向的縮放系數
    :param zoom_y: y方向的縮放系數
    :param theta: 旋轉角度
    :return: dst_path
    """
    if not img_path:
        img_path = os.path.abspath(os.path.join(pdf_path, '../'))

    with fitz.open(pdf_path) as pdf:
        name = os.path.basename(pdf.name)
        file_name = name.split('.')[0]
        page = pdf[0]
        # 設置縮放和旋轉
        trans = fitz.Matrix(zoom_x, zoom_y).preRotate(theta)
        pm = page.getPixmap(matrix=trans, alpha=False)
        dst_path = f'{img_path}/{file_name}.png'
        # 保存
        pm.writePNG(dst_path)

    return dst_path


免責聲明!

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



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