以下是一个完整的 Python 脚本,用于检测当前目录下的所有 PDF 文件并将每一页转换为 PNG 格式:
python
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
)。bashconda install pdf2image
对于
poppler
,可以根据你的操作系统安装:- Windows:下载 Poppler 的二进制文件并将其添加到系统 PATH。
- macOS :通过
brew install poppler
安装。 - Linux :通过
apt install poppler-utils
安装。
-
运行脚本:
将脚本保存为
convert_pdf_to_png.py
,然后在包含 PDF 文件的目录下运行:bashpython convert_pdf_to_png.py
-
结果保存:
所有生成的 PNG 文件将保存到当前目录下的
pdf_to_png_output
文件夹中。
如果需要修改 DPI(影响图像质量),可以调整脚本中的 DPI
变量值。