将PDF文件的每一页渲染为JPEG图片,然后重新组合成新的PDF文件。生成的新PDF不可编辑,适用于文档归档、防篡改和保护敏感信息等场景。使用JPEG格式可大幅减小输出文件大小。
使用前需要确认已安装PyMuPDF库:
pip install PyMuPDF
使用 scripts/pdf_to_image_pdf.py 脚本进行转换:
# 单文件处理
python scripts/pdf_to_image_pdf.py input.pdf
# 批量处理(处理当前目录所有PDF)
python scripts/pdf_to_image_pdf.py "*.pdf"
# 批量处理(处理指定目录)
python scripts/pdf_to_image_pdf.py /path/to/folder/
参数说明:
input:输入PDF文件、目录或通配符模式(如 *.pdf)
-o, --output-dir:(可选)输出目录,默认与输入文件同目录
--dpi:(可选)DPI分辨率,默认150
--quality:(可选)JPEG质量1-100,默认85
--overwrite:(可选)覆盖已存在的输出文件
--batch:(可选)强制批量处理模式
示例:
# 单文件处理(默认参数)
python scripts/pdf_to_image_pdf.py document.pdf
# 单文件处理(指定输出目录和参数)
python scripts/pdf_to_image_pdf.py document.pdf -o output_dir/ --dpi 200 --quality 85
# 批量处理当前目录所有PDF
python scripts/pdf_to_image_pdf.py "*.pdf"
# 批量处理指定目录,覆盖已存在文件
python scripts/pdf_to_image_pdf.py /path/to/folder/ -o output_dir/ --overwrite
JPEG质量说明:
本技能支持批量处理多个PDF文件,适合处理整个项目文件夹或批量转换。
批量处理模式触发条件:
* 或 ?)
--batch 参数强制批量模式
批量处理行为:
.pdf 和 .PDF)
_image.pdf 输出文件
-o 指定输出目录
批量处理示例:
# 处理当前目录所有PDF
python scripts/pdf_to_image_pdf.py "*.pdf"
# 处理指定目录所有PDF,输出到另一个目录
python scripts/pdf_to_image_pdf.py /path/to/input/ -o /path/to/output/
# 强制批量模式(即使输入是单个文件)
python scripts/pdf_to_image_pdf.py single.pdf --batch -o output/
本技能使用PyMuPDF (fitz) 库实现:
生成的新PDF特点:
--overwrite 参数需谨慎,会覆盖已存在的输出文件
scripts/pdf_to_image_pdf.py 是本技能的核心脚本,负责执行PDF到图片PDF的转换。脚本使用JPEG格式,支持自定义DPI和质量参数,以适应不同质量需求。
核心优化(Phase 1+2):
alpha=False),文件减小20%
optimize=True, progressive=True),文件减小20-30%
title, author, creator, producer到输出PDF
keywords: 保护版本 | 不可编辑标识
producer字段为安全PDF转图片PDF v2.0
不兼容变更:
升级建议:建议所有用户升级到v2.0,获得更好的输出质量和更小的文件大小。
共 1 个版本