Back to skills
SKILL.md
Image Paginator
ASecuritySlices long images/screenshots into overlapping segments, adds sequence numbers, and auto-arranges them into a paginated PDF with gaps and page numbers. Supports multiple images. (律师证据长截图转PDF)
- 9 stars
- 0 votes
- 0 copies
- 0 views
- Added September 25, 2026
Security analysis
92/100- Uses curl or wget to download content
- Installs packages at runtime which could introduce malicious dependencies
Pro scans all 4 files and shows the line behind each finding
npx -y skills add CSlawyer1985/legal-skillhub --skill image-paginator --agent claude-codeAre you the author of Image Paginator?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/cslawyer1985-image-paginator)---
name: image-paginator
description: Slices long images/screenshots into overlapping segments, adds sequence numbers, and auto-arranges them into a paginated PDF with gaps and page numbers. Supports multiple images. (律师证据长截图转PDF)
license: GPL-3.0
metadata:
author: WUDI
version: "2.1"
---
# Image Paginator(律师证据长截图转PDF)
> 将长截图/长图智能分页为规范 PDF,支持网格切片、页码标注、微信证据排版
---
## 📌 快速上手(律师场景示例)
**场景:微信聊天截图 → 提交法院的证据 PDF**
```bash
# 1. 律师导出微信聊天记录为长截图
# 2. 一键转换:
python scripts/slice_n_pdf.py "/Users/律师/Desktop/聊天记录.jpg" \
-d "/Users/律师/Desktop" -o "聊天证据_20250105.pdf" --clean
# 3. 直接提交 PDF,打印存档,或发邮件
open "/Users/律师/Desktop/聊天证据_20250105.pdf"
```
---
## ⚖️ 律师场景专区
### 适用场景
| 场景 | 输入 | 输出 |
|------|------|------|
| 微信聊天证据截图 | 微信长截图(竖向拼接后) | 分页 PDF,含页码+序号 |
| 合同附件超长截图 | 多页合同 PDF 截图拼接 | A4 规范 PDF,可打印 |
| 笔录/判决书截图 | 判决书长截图 | 2×2 网格 PDF,便于阅读 |
| 批量证据材料归档 | 多张证据截图(不同尺寸) | 统一宽度,竖向拼接,分页 |
| 邮件/短信截图证据 | 手机截图 | 带间距 PDF,避免阅读串行 |
### 输入规范建议
- **分辨率**:推荐 1080px 宽,最佳清晰度
- **格式**:PNG / JPG 均可,建议 PNG 保留更多细节
- **多张截图**:按时间顺序传入,自动按顺序拼接
- **不要裁剪**:保持原始宽高比,工具会自动适配
### 输出规范
- **纸张尺寸**:A4(595 × 842 pt)
- **网格布局**:默认 2 列 × 2 行,每页 4 格
- **页码**:底部居中,格式 `- N -`
- **切片编号**:每个格子左上角标注,格式如 `1-1`、`2-3`
- **间距**:格子间默认留 40px 灰色间隙,便于翻页区分
- **尾部合并**:最后一页不足一格时,自动合并到前一页,避免孤零零一行
### 法院提交注意事项
1. 截图完整性:确保聊天记录从头到尾完整,不要断章取义
2. 时间戳:PDF 页码和序号可以快速定位原文位置
3. 尺寸:导出前确认截图宽度统一(建议 1080px),避免 PDF 页面大小不一
4. 合并打印:如有多个案件,可先生成多个 PDF,再合并为一个文件
---
## 📊 效果示意图
### 场景总览

### 律师场景:输入 → 输出

> 💡 示意图仅供参考,实际效果取决于截图分辨率和参数设置。
---
## Prerequisites
Required python packages: `Pillow`, `fpdf2`.
## How to use this skill
Execute the python script `scripts/slice_n_pdf.py` via the command line.
### Command Syntax
```bash
python scripts/slice_n_pdf.py <source1> [source2 ...] -d <output_dir> [OPTIONS]
```
### Required Arguments
* `sources` (positional): Path(s) to source image(s). Multiple images will be auto-resized to the same width and concatenated in order.
* `-d` / `--dest`: Directory to save the output PDF.
### Optional Arguments
* `-o` / `--output`: Name of the output PDF file (default: `output.pdf`).
* `--tile`: Height of each tile in pixels (default: `2000`).
* `--bleed`: Bleed / overlap in pixels (default: `200`).
* `--cols`: Grid columns (default: `2`).
* `--rows`: Grid rows (default: `2`).
* `--gutter`: Gap between cells in pixels (default: `40`).
* `--edge`: Page margin in pixels (default: `25`).
* `--no-numbers`: Omit page numbers at the bottom.
* `--clean`: Remove intermediate tile images after build.
### Key Features (v2.1)
1. **Multiple source images**: Pass multiple paths; images auto-resize to uniform width and concatenate vertically.
2. **Sequence numbers**: Each tile has a numbered badge (1, 2, 3…) on the top-left corner.
3. **Gaps between tiles**: Configurable gutter with light gray cell backgrounds for readability.
4. **Consistent page sizes**: All PDF pages share the same dimensions.
5. **Page numbers**: Each page has a centered `- N -` footer (disable with `--no-numbers`).
6. **Adaptive tail merging**: Short tail segments merge into the previous tile to avoid tiny orphans.
7. **Parameter validation**: Auto-checks tile > bleed, cols/rows range (1-10), file existence, etc.
## ⚠️ Important Instructions for the Agent (Guardrails)
1. **Always use `--clean`** by default unless the user specifically asks to keep tiles.
2. **Absolute Paths**: Resolve `~` and relative paths to absolute paths before running.
3. **Multiple images**: When the user provides multiple images, pass all as positional arguments.
4. **DO NOT try to read the output PDF**: The result is binary. Just check STDOUT — if it says `✓ Done`, tell the user the file path.
5. **Always open the PDF** for the user after generation using `open <path>` (macOS).
## Examples
**Single long image:**
```bash
python scripts/slice_n_pdf.py "/Users/bob/Downloads/long_chat.png" \
-d "/Users/bob/Desktop" -o "chat.pdf" --clean
```
**Multiple images with custom grid:**
```bash
python scripts/slice_n_pdf.py "/Users/bob/Desktop/1.jpg" "/Users/bob/Desktop/2.jpg" \
-d "/Users/bob/Desktop" -o "combined.pdf" \
--cols 2 --rows 2 --gutter 40 --clean
```
**Single column, larger tiles:**
```bash
python scripts/slice_n_pdf.py "/abs/path/webpage.jpg" \
-d "./results" --cols 1 --rows 3 --tile 3000 --gutter 20 --clean
```
---
## 参数速查表
| 参数 | 默认值 | 说明 |
|------|--------|------|
| `--tile` | 2000 | 每格切片高度(像素),建议 ≥ 100 且 > --bleed |
| `--bleed` | 200 | 上下切片重叠高度(像素),必须 < tile |
| `--cols` | 2 | 每页网格列数(1-10) |
| `--rows` | 2 | 每页网格行数(1-10) |
| `--gutter` | 40 | 格子间距(像素) |
| `--edge` | 25 | 页面边距(像素) |
| `--no-numbers` | — | 关闭页码 |
| `--clean` | — | 生成后清理临时切片图 |
> ⚠️ **参数校验**:脚本会自动检查 tile > bleed、cols/rows 在合理范围内、文件存在等,发现问题直接报错退出。
---
## 一键安装脚本
```bash
# 方法一:克隆后安装
git clone https://github.com/wux818738-alt/openclaw-skill-image-paginator.git
cd openclaw-skill-image-paginator
bash install.sh
# 方法二:直接下载
curl -fsSL https://github.com/wux818738-alt/openclaw-skill-image-paginator/archive/refs/heads/main.zip -o /tmp/skill.zip
unzip /tmp/skill.zip -d ~/.qclaw/skills/
pip3 install fpdf2 Pillow
```
安装后直接运行(不需要指定完整路径):
```bash
python ~/.qclaw/skills/image-paginator/scripts/slice_n_pdf.py <图片> -d <输出目录>
```
Files in this skill
- SKILL.md
- _meta.json
- install.sh
- scripts/slice_n_pdf.py
Attribution
Comments
Loading comments…