[python]将指定文件夹里的PDF文件全部转换为PNG图片

WPS无法进行批量转换。所以写了这个代码,仅需替换输入文件夹input_folder_path和输出文件夹output_folder_path(输出文件夹需要预先创建)即可实现批量转换。

具体代码如下所示:

import fitz  # PyMuPDF
from PIL import Image
import os

def pdf_to_png(input_folder, output_folder, resolution=300):
    # 确保输出文件夹存在
    if not os.path.exists(output_folder):
        os.makedirs(output_folder)

    # 遍历输入文件夹中的所有 PDF 文件
    for pdf_file in os.listdir(input_folder):
        if pdf_file.endswith(".pdf"):
            pdf_path = os.path.join(input_folder, pdf_file)
            
            # 打开 PDF 文件
            pdf_document = fitz.open(pdf_path)

            # 遍历 PDF 的每一页
            for page_num in range(pdf_document.page_count):
                page = pdf_document[page_num]

                # 获取页面的图像
                pix = page.get_pixmap(matrix=fitz.Matrix(resolution / 300, resolution / 300))

                # 将图像转换为 PIL 图像
                image = Image.frombytes("RGB", [pix.width, pix.height], pix.samples)

                # 构建输出文件名
                output_file = os.path.join(output_folder, f"{pdf_file}_{page_num + 1}.png")

                # 保存图像为 PNG 文件
                image.save(output_file, "PNG")

            # 关闭当前的 PDF 文件
            pdf_document.close()

# 指定输入和输出文件夹路径
input_folder_path = '/home/lxy/data_link2/evaluate/clip/HU_Compare2'
output_folder_path = '/home/lxy/data_link2/evaluate/clip/HU_compare_png'

# 调用转换函数
pdf_to_png(input_folder_path, output_folder_path)

你可能感兴趣的:(论文,python,pdf,开发语言)