Back to skills
extension
Category: OtherNo API key required

PDF转图片PDF

将PDF文件转换为高质量、不可编辑的图片PDF。当用户需要将PDF转为图片格式、使PDF内容不可编辑、保护PDF文档不被篡改、或将PDF用于归档时使用此技能。触发词包括:PDF转图片、图片PDF、不可编辑PDF、PDF保护、PDF归档、PDF防篡改等。

personAuthor: u_bca3078dhubenterprise

安全PDF转图片PDF Skill

发布信息

  • 作者:安全陈工
  • 版本:1.2.1
  • 创建日期:2026-05-29
  • 最后更新:2026-05-29
  • 许可证:MIT
  • 技能类型:用户技能
  • 适用场景:PDF文档处理、文档归档、信息安全

技能目的

将PDF文件的每一页渲染为JPEG图片,然后重新组合成新的PDF文件。生成的新PDF不可编辑,适用于文档归档、防篡改和保护敏感信息等场景。使用JPEG格式可大幅减小输出文件大小。

使用场景

  • 用户要求将PDF转换为图片PDF
  • 用户需要使PDF内容不可编辑
  • 用户需要保护PDF文档不被篡改
  • 用户需要将PDF用于长期归档
  • 用户提到"PDF转图片"、"图片PDF"、"不可编辑PDF"等关键词

使用方法

1. 检查依赖

使用前需要确认已安装PyMuPDF库:

pip install PyMuPDF

2. 执行转换

使用 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分辨率,默认200
  • --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

3. 质量说明

  • DPI 72:基础质量,文件最小,适合快速查看和传输
  • DPI 100:标准质量,文件较小,适合日常使用
  • DPI 150:高质量,文件适中,适合高质量归档
  • DPI 200:推荐质量,文件大小适中,适合大多数场景(默认)

JPEG质量说明

  • 质量 75:较小文件,质量可接受
  • 质量 85:推荐质量,平衡文件大小和清晰度(默认)
  • 质量 95:高质量,文件较大,适合高质量归档

4. 批量处理说明

本技能支持批量处理多个PDF文件,适合处理整个项目文件夹或批量转换。

批量处理模式触发条件

  • 输入参数包含通配符(*?
  • 输入参数是一个已存在的目录
  • 使用 --batch 参数强制批量模式

批量处理行为

  • 自动查找所有匹配的PDF文件(支持 *.pdf*.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) 库实现:

  1. 打开源PDF文件
  2. 遍历每一页,使用指定DPI渲染为图片
  3. 将图片转换为JPEG格式(大幅减小文件大小)
  4. 创建新的PDF文档,将每张JPEG图片插入对应页面
  5. 保存新的图片PDF文件

生成的新PDF特点:

  • 所有文本和图形都已转为JPEG图片
  • 无法选择和复制文本
  • 无法编辑原始内容
  • 保持原始页面尺寸和布局
  • 文件大小比PNG格式小10-20倍

注意事项

  • 转换后的PDF文件大小取决于DPI和JPEG质量设置
  • JPEG是有损压缩, quality<80可能有明显质量损失
  • 图片PDF不适合需要文本搜索的场景
  • 建议根据用途选择合适的参数:归档用DPI=200/quality=90,日常用DPI=200/quality=85(默认),快速查看用DPI=72/quality=75
  • 处理大文件时可能需要较多内存和时间
  • 批量处理时建议先在小批量文件上测试,确认参数和输出质量后再处理大量文件
  • 使用 --overwrite 参数需谨慎,会覆盖已存在的输出文件

脚本说明

scripts/pdf_to_image_pdf.py 是本技能的核心脚本,负责执行PDF到图片PDF的转换。脚本使用JPEG格式,支持自定义DPI和质量参数,以适应不同质量需求。