python代码提取每页PDF转为图片

发布于:2024-08-23 ⋅ 阅读:(123) ⋅ 点赞:(0)

🍃作者介绍:双非本科大四网络工程专业在读,阿里云专家博主,专注于Java领域学习,擅长web应用开发,目前开始人工智能领域相关知识的学习
🦅个人主页:@逐梦苍穹
📕所属专栏:人工智能
🌼您的一键三连,是我创作的最大动力🌹

本文分享一个用python代码实现提取一份PDF文件的每一页,转换为图片的程序。
效果:
在这里插入图片描述
左侧是提取出来的每一页图片,右侧是PDF原文件。
那么话不多说,上代码,代码即注释:

# -*- coding: utf-8 -*-
# @Author:︶ㄣ释然
# @Time: 2024/8/18 9:44
import fitz  # PyMuPDF
import os  # 用于文件夹操作


def pdf_to_images(pdf_path, output_folder, dpi=300):
    # 如果输出文件夹不存在,则创建它
    if not os.path.exists(output_folder):
        os.makedirs(output_folder)

    # 打开 PDF 文件
    pdf_document = fitz.open(pdf_path)

    # 遍历每一页
    for page_number in range(len(pdf_document)):
        # 获取页面对象
        page = pdf_document.load_page(page_number)
        # 设置图像的分辨率
        zoom = dpi / 72  # 72 是 PDF 的默认分辨率
        mat = fitz.Matrix(zoom, zoom)
        # 将页面渲染为图像
        pix = page.get_pixmap(matrix=mat)
        # 构造输出图像文件名
        image_file = os.path.join(output_folder, f"page_{page_number + 1}.png")
        # 保存图像为 PNG 文件
        pix.save(image_file)
        print(f"Saved: {image_file}")


if __name__ == "__main__":
    # 示例用法
    pdf_path = r'C:\Users\86189\Nutstore\1\我的坚果云\人工智能\transformer\seq2seq_v9.pdf'  # 替换为你的PDF文件路径
    output_folder = r'C:\Users\86189\Nutstore\1\我的坚果云\人工智能\transformer'  # 替换为你希望保存图像的文件夹的路径
    pdf_to_images(pdf_path, output_folder)

感谢大家看我文章🌹


网站公告

今日签到

点亮在社区的每一天
去签到