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