以下是一个完整的 Python 脚本,用于检测当前目录下的所有 PDF 文件并将每一页转换为 PNG 格式:
import os
from pdf2image import convert_from_path# 设置输出图像的 DPI(分辨率)
DPI = 300# 获取当前目录
current_directory = os.getcwd()# 获取所有 PDF 文件
pdf_files = [file for file in os.listdir(current_directory) if file.endswith('.pdf')]# 检查是否有 PDF 文件
if not pdf_files:print("当前目录没有找到任何 PDF 文件。")
else:# 创建保存 PNG 文件的文件夹output_directory = os.path.join(current_directory, "pdf_to_png_output")os.makedirs(output_directory, exist_ok=True)for pdf_file in pdf_files:pdf_path = os.path.join(current_directory, pdf_file)print(f"正在处理: {pdf_file}")# 转换 PDF 为图像try:images = convert_from_path(pdf_path, dpi=DPI)for i, image in enumerate(images):output_file = os.path.join(output_directory, f"{os.path.splitext(pdf_file)[0]}_page_{i+1}.png")image.save(output_file, "PNG")print(f"已保存: {output_file}")except Exception as e:print(f"处理文件 {pdf_file} 时出错: {e}")print("转换完成。")
使用说明
-
安装依赖:
请确保安装了pdf2image
和poppler
(pdf2image
需要依赖poppler-utils
)。conda install pdf2image
对于
poppler
,可以根据你的操作系统安装:- Windows:下载 Poppler 的二进制文件并将其添加到系统 PATH。
- macOS:通过
brew install poppler
安装。 - Linux:通过
apt install poppler-utils
安装。
-
运行脚本:
将脚本保存为convert_pdf_to_png.py
,然后在包含 PDF 文件的目录下运行:python convert_pdf_to_png.py
-
结果保存:
所有生成的 PNG 文件将保存到当前目录下的pdf_to_png_output
文件夹中。
如果需要修改 DPI(影响图像质量),可以调整脚本中的 DPI
变量值。