name: img2pdf display_name: 图片转 PDF description: 将一张或多张图片合并为一个 PDF 文件,支持 A4/A3/A5/Letter/Legal 页面尺寸、边距、方向、灰度、适配模式与排序。当用户说"图片转pdf""把图片合并成pdf""jpg转pdf""png转pdf""照片生成pdf""截图导出pdf""扫描件转pdf"或需要把多张图片打包成 PDF 时触发。 version: "1.0" agent_created: true tags: - 图片 - PDF - 转换 - 工具 trigger_phrases: - 图片转pdf - 图片转 PDF - 把图片合并成pdf - 多张图片转pdf - jpg转pdf - png转pdf - 照片生成pdf - 截图导出pdf - 扫描件转pdf
将本地的一张或多张图片合并成一个 PDF 文件。底层使用 Pillow 处理图像,支持 JPEG/PNG/WEBP/BMP/GIF/TIFF/ICO 等常见格式,自动按相机 EXIF 方向校正,透明背景自动填充白色,多帧 GIF 只取首帧。
脚本依赖 Pillow。每次使用前确认 Pillow 可被托管 Python 导入;若不可用,先安装:
<managed_python> -m pip install Pillow
<managed_python> 指本环境的托管 Python(如 C:\Users\DELL\.workbuddy\binaries\python\versions\3.13.12\python.exe)。若已配置独立 venv,则在该 venv 中安装。
SKILL.md 的文件夹),记其路径为 SKILL_DIR。<managed_python> "<SKILL_DIR>/scripts/img2pdf.py" <输入> -o <输出>.pdf [选项]
不指定 -o 时,默认输出到第一张图片所在目录、文件名为该目录名加 .pdf。
| 参数 | 默认值 | 说明 |
|---|---|---|
inputs(位置参数,可多个) |
必填 | 图片文件、目录或 glob 模式,如 ./photos 或 '*.png' |
-o, --output |
自动 | 输出 PDF 路径 |
-s, --page-size |
A4 |
页面尺寸:A4 A3 A5 LETTER LEGAL FIT IMAGE |
--orientation |
auto |
方向:auto(按图片自适应)portrait landscape(仅对固定尺寸生效) |
-m, --margin |
0 |
固定页面的边距(毫米),图片在页面内等比居中 |
--grayscale |
关 | 转为黑白 |
--sort |
name |
目录/ glob 时的排序:name(自然序)time size none |
-r, --recursive |
关 | 递归包含子目录 |
--dpi |
96 |
仅 IMAGE 模式使用,决定像素到 PDF 点的换算 |
A4/A3/A5/LETTER/LEGAL:固定页面,图片在页面内等比缩放并居中,-m 控制边距(默认无边距铺满)。FIT:页面尺寸随图片长宽比变化,最长边等于 A4 长边,铺满、无白边、不变形。IMAGE:页面即图片原始像素尺寸(按 --dpi 换算为 PDF 点),适合需要 1:1 还原的场景。A4 并适当留边距;照片册选 FIT;需原尺寸选 IMAGE。present_files 展示结果。# 文件夹内全部图片 -> A4 PDF(按文件名排序)
python img2pdf.py ./photos -o photos.pdf
# 指定多张图 -> 铺满不变形的 PDF
python img2pdf.py a.png b.png -s FIT -o out.pdf
# 递归扫描 + 灰度 + A5 + 5mm 边距
python img2pdf.py ./scans -r --grayscale -s A5 -m 5 -o scans.pdf
# 原尺寸 1:1 导出(用于需要保真的扫描件)
python img2pdf.py scan.tif -s IMAGE --dpi 200 -o scan.pdf
IMAGE 模式则按原像素输出,文件可能较大。scripts/img2pdf.py — 转换主脚本(支持上述全部参数)这是一款实用且文档完善的图片转 PDF 工具,触发词覆盖全面,能应对证件扫描、截图归档、照片打印等多种常见场景。功能设计考虑周全,支持多种页面尺寸、边距设置和排序方式,透明图自动填白等细节处理到位。美中不足的是缺少快速测试用的示例图片,且文档未提供常见问题的解决指引。总体质量良好,能满足日常图片转 PDF 的需求。