スキル一覧に戻る
EnjoyWT

pdf-merge

by EnjoyWT

发票打印助手

52🍴 7📅 2026年1月13日
GitHubで見るManusで実行

SKILL.md


name: pdf-merge description: 合并多张电子发票 PDF 为一个文件,支持 A4 双联排版,可选提取金额信息

发票 PDF 合并工具

将多张电子发票 PDF 合并成一个文件,采用 A4 双联排版(每页放 2 张发票),可选提取发票金额等信息。

适用场景

  • 用户需要合并多张发票 PDF
  • 用户需要打印发票(双联排版节省纸张)
  • 用户需要统计发票总金额

函数签名

interface MergeInvoicesOptions {
  inputPaths: string[];      // 必须:发票 PDF 文件路径数组
  outputPath?: string;       // 可选:输出路径,默认生成临时路径
  extractAmount?: boolean;   // 可选:是否提取金额,默认 false
}

interface MergeInvoicesResult {
  outputPath: string;        // 合并后的 PDF 路径
  invoices?: InvoiceInfo[];  // 发票信息(如果 extractAmount 为 true)
  totalAmount?: number;      // 总金额(如果 extractAmount 为 true)
  totalPages: number;        // 合并后的总页数
}

async function mergeInvoices(options: MergeInvoicesOptions): Promise<MergeInvoicesResult>

使用方式

方式一:CLI 命令行

# 进入 skill 目录
cd .claude/skills/pdf-merge

# 安装依赖(首次使用)
npm install

# 基本合并
npx ts-node scripts/merge-invoices.ts invoice1.pdf invoice2.pdf

# 指定输出路径
npx ts-node scripts/merge-invoices.ts -o merged.pdf invoice1.pdf invoice2.pdf

# 提取金额信息
npx ts-node scripts/merge-invoices.ts -e invoice1.pdf invoice2.pdf

# 完整示例
npx ts-node scripts/merge-invoices.ts -o ~/Desktop/merged.pdf -e ~/invoices/*.pdf

方式二:作为模块导入

import { mergeInvoices } from './.claude/skills/pdf-merge/scripts/merge-invoices';

const result = await mergeInvoices({
  inputPaths: ['invoice1.pdf', 'invoice2.pdf'],
  outputPath: './merged.pdf',
  extractAmount: true,
});

console.log(result.outputPath);     // 输出路径
console.log(result.totalAmount);    // 总金额
console.log(result.invoices);       // 各发票详情

输出示例

{
  "outputPath": "/Users/xxx/merged-invoices-1704067200000.pdf",
  "totalPages": 2,
  "invoices": [
    {
      "pageNumber": 1,
      "fileName": "invoice1.pdf",
      "type": "增值税普通发票",
      "amount": "1234.56",
      "date": "2025-01-09",
      "number": "12345678"
    },
    {
      "pageNumber": 2,
      "fileName": "invoice2.pdf",
      "type": "电子普通发票",
      "amount": "789.00",
      "date": "2025-01-08",
      "number": "87654321"
    }
  ],
  "totalAmount": 2023.56
}

依赖

版本用途
pdf-lib^1.17.1PDF 合并、布局
pdf-parse^1.1.1提取 PDF 文本

限制

  • 仅支持电子发票(文本型 PDF),不支持扫描件
  • 每张发票取第一页
  • 输出固定为 A4 双联排版

执行步骤

当用户请求合并发票时:

  1. 确认用户提供的发票文件路径
  2. 确认是否需要提取金额(默认否)
  3. 确认输出路径(可选,默认生成临时路径)
  4. 执行合并命令
  5. 返回结果给用户

スコア

総合スコア

60/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です