invoice-merger
by cdk1025
合并发票文件。PDF 按两两上下排版,图片按四宫格排版,输出到 YYYYMMDD--已合并 目录,默认文件名重名时自动追加序号。
安装
claude skill add --url https://github.com/openclaw/skills文档
Invoice Merger - 发票合并工具
将目录内发票文件整理为可打印 PDF:
- PDF:每页上下放 2 个输入文件
- 图片:每页按 2x2 布局放 4 张图
功能说明
1. PDF 合并
- 两两合并:上下结构,每页放 2 个 PDF
- 边距:每半页预留 15pt 边距
- 取页规则:每个输入 PDF 仅取第一页
- 裁剪线:上下半页中间增加裁剪线
2. 图片合并
- 四个合并:两行两列布局(上半页 1-2,下半页 3-4)
- 奇数处理:剩余 1-3 张保持布局,不复制自己
- 缩放规则:按比例缩放并居中
- 裁剪线:上下半页中间增加虚线裁剪线
输出
- 位置:输入目录下新建文件夹
YYYYMMDD--已合并 - 命名:
- PDF 合并:优先
发票合并.pdf,重名则发票合并_001.pdf、发票合并_002.pdf... - 图片合并:优先
账单合并.pdf,重名则账单合并_001.pdf、账单合并_002.pdf...
- PDF 合并:优先
- 自动打开预览
触发场景
- 用户说「合并发票」「把发票拼一起」「发票批量排版」
- 用户要把一批 PDF/JPG/JPEG/PNG 发票合并成可打印 PDF
使用方法
bash
python3 ~/.qclaw/skills/invoice-merger/scripts/merge_invoices.py <目录路径>
依赖
- Python 3
- pypdf
- Pillow
安装:
bash
pip3 install pypdf Pillow
注意事项
- PDF 只取每个输入文件的第一页参与排版
- 输出目录按日期创建,重复执行会复用同名目录
- macOS 下会自动打开本次生成的所有输出文件预览