invoice-merger

by cdk1025

合并发票文件。PDF 按两两上下排版,图片按四宫格排版,输出到 YYYYMMDD--已合并 目录,默认文件名重名时自动追加序号。

View Chinese version with editor review

安装

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/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 下会自动打开本次生成的所有输出文件预览