python提取pdf文件中的图片并输出到本地

python 复制代码
import fitz
import os
from PIL import Image

path1 = "D:/桌面/xxxxxx.pdf"
path2 = "D:/桌面/111"

def pdf2image1(path1, path2):

    pdfDoc = fitz.open(path1)
    for pg in range(pdfDoc.page_count):
        page = pdfDoc.load_page(pg)

        # 获取页面的图像对象
        # matrix = fitz.Matrix(1.0, 1.0)  # 1.0 表示原始尺寸
        # pix = page.get_pixmap(matrix=matrix,dpi=200)
        pix = page.get_pixmap(matrix=fitz.Matrix(4, 4))

        print(pix.width, pix.height)
        # 将图像转换为Pillow的Image对象
        img = Image.frombytes("RGB", [pix.width, pix.height], pix.samples)

        if not os.path.exists(path2):  # 判断存放图片的文件夹是否存在
            os.makedirs(path2)  # 若图片文件夹不存在就创建

        # 保存图像为PNG格式,不进行压缩
        # dpi = 96  # 设置所需的 DPI 值
        img.save(path2 + '/' + f'images_{pg}.jpg', )
        # img.save(f'output_{page_number}.png',)



        # pix.save(path2 + '/' + 'images_%s.png' % pg)  # 将图片写入指定的文件夹内

if __name__ == "__main__":
    pdf2image1(path1, path2)
相关推荐
汉卿HanQ8 分钟前
技术篇-2.5.Matlab应用场景及开发工具安装
开发语言·数学建模·matlab
o0向阳而生0o9 分钟前
50、js 中var { ipcRenderer } = require(‘electron‘);是什么意思?
开发语言·javascript·electron
纪伊路上盛名在18 分钟前
python、R、shell兼容1
开发语言·python·jupyter·r语言·shell·生物信息·效率
编程乐趣24 分钟前
C#实现自己的MCP Client
开发语言·c#
九章云极AladdinEdu25 分钟前
光子神经网络加速器编程范式研究:光子矩阵乘法的误差传播模型构建
开发语言·人工智能·深度学习·神经网络·矩阵·负载均衡·transformer
前端小巷子31 分钟前
JavaScript 垃圾回收与内存泄漏
开发语言·前端·javascript·面试
有梦想的攻城狮32 分钟前
Java的Filter与Spring的Interceptor的比较
java·开发语言·spring·interceptor·filter
54lyyyy41 分钟前
微服务项目->在线oj系统(Java版 - 4)
java·开发语言
会飞的架狗师1 小时前
【缓存】JAVA本地缓存推荐Caffeine和Guava
java·python·缓存
水银嘻嘻1 小时前
08 接口自动化-用例管理框架pytest之fixtrue,conftest.py,allure报告以及logo定制
python·自动化·pytest