12306 火车票发票批量整理

SKILL效率
效率 未标注权限 许可证不明确
安装这个技能

一键处理 12306 铁路电子发票:递归解压多层嵌套 zip,把发票 PDF 按乘车日期自动重命名(同日多张自动编号),再每 4 张拼成一张 A4,方便打印报销。只需提供火车票目录路径即可完成提取、命名与拼版;同样适用于任何「zip 里套 zip」的批量票据与压缩归档。

一句话选型结论

按资料字段整理

12306 火车票发票批量整理是效率类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类效率 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_e5765464/train-ticket-pdf-extract
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

效率
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_e5765464仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验2026-11-06上游最后核验时间 · 数据更新 2026-11-06
正文体量4.8 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
整理待办与日程

把零散任务收进清单,排出优先级。

批量处理重复任务

把固定动作做成模板,重复执行。

把流程写成清单

把口头流程整理成可复用的步骤。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在效率场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
12306 火车票发票批量整理当前 未标注权限 未标注 未标注 未标注 有
Nano PDF 文档 联网访问 ClawHub 市场 424.9 万 OpenClaw 有
自动更新程序 浏览器控制 ClawHub 市场 296.4 万 OpenClaw 有
Gemini 助手 联网访问 ClawHub 市场 254.7 万 OpenClaw 有
word DOCX 文档 联网访问 ClawHub 市场 239.6 万 OpenClaw 有
Excel XLSX 前端 联网访问 ClawHub 市场 227.0 万 OpenClaw 有

SKILL.md 全文

4.8 KB
模型实际读到的说明书原文,来自技能仓库

多层嵌套 zip 批量提取文件

用途

把「外层 zip → 内层 zip → 目标文件」这类多层压缩包一次解开,并把指定类型文件(默认 PDF)汇总到一个输出目录。最常见场景是 12306 / 铁路 12306 下载的电子发票:

网上购票系统-电子发票通知.zip         <- 第 1 层(同一批常分 (1)(2)...(6) 多份下载)
    26329116809000069372.zip          <- 第 2 层
        26329116809000069372.pdf      <- 目标文件
        26329116809000069372.ofd

同样适用于任何「zip 套 zip」的批量资料归档。

何时使用

  • 用户给一批 zip,解开后里面还是 zip,需要继续解压并取出某类文件。
  • 文件名是纯数字(12306 为 263...),或含中文(已做乱码修复)。
  • 下载批次重复(.zip 与 (1)~(6).zip),需按文件名自动去重。

如何执行

运行 scripts/extract_from_zips.py(仅用标准库 zipfile,无需安装依赖):

# 处理某个目录(默认扫描该目录下所有 .zip 作为外层)
python3 extract_from_zips.py /path/to/folder

# 提取多种类型、指定输出目录、保留中间解压产物
python3 extract_from_zips.py /path/to/folder -e pdf,jpg,png -o ./out --keep

# 处理当前目录
python3 extract_from_zips.py

执行行为:
1. 收集目标目录下所有 .zip 作为外层。
2. 用队列递归解压每一层 zip(不限层数,直到不再有 zip);解压时对中文 / 日文等文件名乱码自动回退 gbk / cp437 解码。
3. 收集所有目标扩展名文件,按文件名去重(同一文件多次下载只保留一份)。
4. 复制到输出目录(默认 <目标目录>/input),用完清理临时目录(除非 --keep)。

关键注意事项

  1. 下载批次会重复:.zip 与 (1)~(6).zip 多份里常有同一张票,必须按文件名去重。
  2. 不要污染原目录:在系统临时目录解压,原始 zip 与用户已手动解压的目录一律不动。
  3. 不要删除用户文件:只做「提取复制」,不删除、不移动原始压缩包。
  4. 中文名乱码:Windows 打的 zip 文件名常是 GBK 编码,解压时需回退解码(脚本已处理)。
  5. 校验:提取后确认每个文件头是 %PDF-(PDF)或对应魔数;数量应与内层 zip 数一致。

验证

cd input && ls -1 | wc -l && for f in *.pdf; do head -c 5 "$f" | grep -q '%PDF-' || echo "损坏: $f"; done

火车票发票:按乘车日期命名

若要把 12306 电子发票按「乘车日期」重命名为 MMDD(同日多张用 -2、-3,如 0809、0809-2),用专用脚本 scripts/extract_train_invoices.py:

# 先清空 input 再按乘车日期重写命名
python3 extract_train_invoices.py /path/to/火车票 --clear

# 仅追加写入(不清空原有文件)
python3 extract_train_invoices.py /path/to/火车票
  • 乘车日期取自 PDF 文本中「YYYY年MM月DD日 后紧跟 HH:MM开」的日期,自动排除「开票日期:」这一开票日。
  • 默认保留 input 原有文件;加 --clear 先清空再写入。
  • 日期解析失败时回退用原票号命名,不会丢失文件。

打印优化:每 4 张拼成一张 A4

发票 PDF 提取完成后,常需拼版打印。用 scripts/merge_invoices_grid.py 把 input 中发票每 4 张拼成一张 A4(2×2 网格),矢量嵌入、保持比例居中、不拉伸变形,输出到 output/:

# 默认把 <input_dir> 每 4 张拼一张,输出到 <input_dir>/../output
python3 merge_invoices_grid.py /path/to/火车票/input

# 显式指定输入输出、改每页张数(如 6 张 / 2×3)
python3 merge_invoices_grid.py /path/to/火车票/input /path/to/火车票/output --per 4
  • 按文件名(乘车日期)排序,拼页顺序连贯;末尾不足 4 张也照常拼一张(留空)。
  • 输出命名 NN_首日期-尾日期.pdf(如 01_0513-0801.pdf),便于核对。
  • 依赖 PyMuPDF:pip install pymupdf(仅此脚本需要,提取脚本只用标准库)。

> 若只需要简单顺序合并成一个大 PDF(不做拼版),用 pdfunite input/*.pdf output/all.pdf 即可。

常见问题

5 问
答案由本站依据条目字段整理
12306 火车票发票批量整理怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_e5765464/train-ticket-pdf-extract。安装方式为未标注。装完刷新技能列表或重开客户端。

12306 火车票发票批量整理支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

12306 火车票发票批量整理权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

12306 火车票发票批量整理收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

12306 火车票发票批量整理用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 2026-11-06。