布局示例
per-page=2(A4 横版,左右并排)
适用于手机截图(竖版 1206×2622 等)。
┌─────────────────────────────────────────┐
│ A4 横版 842×595 pt │
│ ┌──────────┐ margin ┌──────────┐ │
│ │ │ │ │ │
│ │ 图 1 │ │ 图 2 │ │
│ │ │ │ │ │
│ │ │ │ │ │
│ └──────────┘ └──────────┘ │
│ margin │
└─────────────────────────────────────────┘per-page=3(A4 横版,三列并排)
适用于视频截图(竖版手机录制画面)。
┌───────────────────────────────────────────────┐
│ A4 横版 842×595 pt │
│ ┌────┐ ┌────┐ ┌────┐ │
│ │ │ │ │ │ │ │
│ │ 1 │ │ 2 │ │ 3 │ │
│ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │
│ └────┘ └────┘ └────┘ │
└───────────────────────────────────────────────┘per-page=1(A4 单张,自动横竖)
根据图片方向自动选择 A4 横版或竖版。
竖版图片: 横版图片:
┌──────────┐ ┌─────────────────────┐
│ │ │ │
│ │ │ │
│ 图片 │ │ 图片 │
│ │ │ │
│ │ └─────────────────────┘
│ │
└──────────┘
A4 竖版 A4 横版margin 效果
--margin 控制图片与页面边缘的距离。默认 25pt(约 8.8mm)。
--margin 0:图片紧贴页面边缘(不推荐打印)。--margin 25:标准页边距(默认)。--margin 40:较宽页边距,适合装订。
vertical 模式(v1.2.0,--mode vertical)
适用于"必须保持上下连贯"的长截图(庭审笔录、合同条款全文截图等)。
- 不切割,整张图直接成单页
- 页面宽度固定 A4 portrait 宽(595pt 减 margin)
- 页面高度按图等比缩放(高比宽大几倍到几十倍)
- 强制 portrait(页面高度 > 宽度)
原图(1080×5000 px): 输出 PDF 单页:
┌──────────┐ ┌────────────────────────────┐
│ 庭审 │ │ margin │
│ 笔录 │ │ ┌──────────────────────┐ │
│ 内容 │ │ │ │ │
│ ... │ │ │ 整张长图等比缩放 │ │
│ │ → │ │ 高 = 5000×缩放 │ │
│ │ │ │ │ │
│ │ │ └──────────────────────┘ │
│ │ │ margin │
│ │ │ (页面高度自适应) │
│ ... │ │ │
│ (5000 │ │ 页面总高 ≈ 2573pt │
│ px 高) │ │ (5000 × 545/1080 + 50) │
└──────────┘ └────────────────────────────┘长截图切割(v1.2.0,--split + --per-page)
适用于"内容允许被切"的超长截图(微信聊天记录、视频连续截图等)。
--split启用切割- 切割段高默认按 A4 比例(
图宽 × √2)计算,让每段宽高比 1:1.414 - 切完段按
--per-page编排到 A4(与原有 N 张/页完全一致)
原图(1080×6000 px): 按 A4 比例 1527px 切 4 段: A4 横版 3 张/页 → 2 页 PDF:
┌──────────┐ ┌──────────┐ ┌──────────────────────┐
│ WeChat │ │ 段 1 │ 1527px │ 段 1 段 2 段 3 │
│ 聊天 │ │ │ │ │
│ 内容 │ → ├──────────┤ ├──────────────────────┤
│ ... │ │ 段 2 │ 1527px │ 段 4 (空) (空) │
│ │ │ │ │ │
│ │ ├──────────┤ └──────────────────────┘
│ │ │ 段 3 │ 1527px 2 页 PDF
│ │ │ │ (ceil(4/3) = 2)
│ │ ├──────────┤
│ │ │ 段 4 │ 1420px
│ │ │ (余 1520)│
└──────────┘ └──────────┘
6000px 4 段切割段命名:{原 stem}_{001..N}.png(3 位补零),存临时目录,流程结束清理。