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
posted @   cnblogs用户  阅读(1286)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
历史上的今天:
2019-04-05 MySQL主从复制
2019-04-05 关于CSRF及Django中如何处理
点击右上角即可分享
微信分享提示