美文网首页
python 将PDF文档转化图像

python 将PDF文档转化图像

作者: SyKay | 来源:发表于2020-11-30 11:21 被阅读0次

一、 安装库 pip install pymupdf
二、 源码

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

__author__ = '孙思锴'


import os
import shutil
import fitz

def conver_img(pdfFilepath, outputPath):
    """
    pdf转换PNG图片
    :param pdfFilepath: pdf文档路径
    :param outputPath: pdf输出路径
    :return:
    """
    pdfFilepath = os.path.abspath(pdfFilepath)
    outputPath = os.path.abspath(outputPath)
    if not os.path.exists(pdfFilepath):
        # 检查文件是否存在
        print('文件不存在!', pdfFilepath)
    if os.path.abspath(outputPath):
        shutil.rmtree(outputPath)
    os.makedirs(outputPath)

    # 获取文件同名目录和类型
    pdfNameAll = os.path.basename(pdfFilepath)  # 返回文件名包括后缀
    pdfName, extension = os.path.splitext(pdfNameAll)
    # 读取文件
    doc = fitz.open(pdfFilepath)
    for page_index in range(doc.pageCount):
        page = doc[page_index]  # 逐页读取pdf
        # 每个尺寸的缩放系数为2,这将为我们生成分辨率提高四倍的图像。
        zoom_x, zoom_y = 2.0, 2.0
        trans = fitz.Matrix(zoom_x, zoom_y)  # .preRotate(0)  # .preRotate(rotate)是执行一个旋转
        pm = page.getPixmap(matrix=trans, alpha=False)
        imagePath = os.path.join(outputPath, str(page_index) + '.png')  # 图像保存路径
        pm.writePNG(imagePath)


if __name__ == '__main__':
    pdfPath = r'E:\Workspace\PycharmProjects\Python学习\合同文档比对\测试文档\测试文档-300dpi.pdf'
    outputPath = r"E:\桌面\新建文件夹 (2)"
    conver_img(pdfPath, outputPath)

三、运行结果


生成的PDF图像

相关文章

网友评论

      本文标题:python 将PDF文档转化图像

      本文链接:https://www.haomeiwen.com/subject/yvajwktx.html