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)
相关推荐
万联WANFLOW5 分钟前
多分支企业组网,IP 网段到底该怎么规划
开发语言·php
阿里嘎多学长16 分钟前
2026-07-07 GitHub 热点项目精选
开发语言·程序员·github·代码托管
Alan_6912 小时前
聊聊 Swagger/Postman/Apifox 的真实选型与 Python 项目实战
python·测试工具·postman
cookies_s_s2 小时前
C++ 字符串动态创建对象 -- 工厂模式、自动注册、模板递归动态调用
服务器·开发语言·c++
智慧物业老杨3 小时前
物业绿化数智化权责管控方案:基于工单平台的双层权限追溯模块落地实践
python
盐焗鹌鹑蛋3 小时前
【C++】继承
开发语言·c++
Metaphor6923 小时前
使用 Python 在 Word 文档中添加批注
python·word
FreakStudio3 小时前
WIZnet 开源方案分享:W55MH32 开发板 + 小智 AI实现以太网版本的小智机器人
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
栈溢出了3 小时前
Java Lambda 表达式笔记
java·开发语言·intellij-idea
会周易的程序员3 小时前
使用 pybind11 封装 C++ 日志库 microLog 为 Python 模块
java·c++·python·物联网·架构·日志·aiot