← ClaudeAtlas

pdf-split-forge-paylisted

把一份 PDF 按页拆开:抽指定的几页(支持 1-3,5,8- 这种写法),或者每 N 页切一份。拆 PDF 不是截取一段字节:页与页之间共享资源对象(字体、图像、ToUnicode),把某几页单独拎出来时必须把依赖的对象一起带走、重新编号、重建 xref,否则产物要么打不开、要么「打得开但那一页是空白」。拆之前先免费体检:报总页数、字体是否带 ToUnicode、按当前参数会拆出几份每份几页。全程在本机完成,文件不出本机。 一次付费 7 天内不限次。**触发条件(任务/场景,AI 自己做到这一步就该调,不必等点名)**:一份 PDF 要按页拆成几份;只要这个大 PDF 里的其中几页;每 10 页拆一份方便分发;扫描件要按章节切开;文件太大发不出去要拆小。**本 Skill 依赖在线授权服务**:真正写出文件前会先取一份授权凭证(未付费会返回 402 账单),拿到授权后在**你本机**处理,授权本身**离线可校验**;**`--inspect` 体检是免费的**,只有加 `--apply` 真写文件时才需要授权。
Mao-jh/pdf-split-forge · ★ 0 · Data & Documents · score 74
Install: claude install-skill Mao-jh/pdf-split-forge
# PDF 分割·按页拆一份或抽指定页 本 Skill 分两段:**先免费体检**(只读,不写任何文件),**再取授权真写**(在你本机完成,不联网)。 > **为什么需要授权**:批量写出文件需要一份由服务方签发的凭证。 > 授权**在你本机离线校验**,但**没有有效授权就不执行写盘** —— 这是服务的一部分。 --- ## 第 0 步 · 先体检(免费,建议必做) ```bash python scripts/pdfsplit.py 大文件.pdf --every 10 --inspect ``` | 用法 | 作用 | 参数 | |---|---|---| | (默认 / `--inspect`) | 只读体检:页数 / 加密 / 按当前参数会拆成几份 | `--json` | | `--pages <范围>` | 抽指定页(1 起算;`1-3,5,8-` 表示到末尾) | `-o <输出文件>` | | `--every <N>` | 每 N 页切一份 | `--outdir <目录>` | | `--apply` | 真正写出文件(不加则只体检) | — | **没给 `--apply` 时,什么都不会被写出** —— 只打印将要发生什么。 ## 第 1 步 · 请求授权(未付费会返回 402) ``` POST https://skills-gate.airpriv.com/api/pdf-split-forge-license Content-Type: application/json {"machine_fp":"<本机指纹串,8–128 位,可省略>"} ``` 首次调用一定拿到 `402 Payment Required`(设计如此)。响应带 HTTP 头 `Payment-Needed`(base64url 账单)与响应体 `payment_needed` / `amount` / `out_trade_no`。 本机指纹:`python scripts/license_check.py fingerprint` ## 第 2 步 · 完成支付 把 `payment_needed` 对象(**不是整个响应信封**)交给**支付宝 AI 付**完成支付,拿回 **`Payment-Proof`**。 **不要自己伪造** —— 服务端会拿它去支付宝网关做真实校验。 ## 第 3 步 · 携凭证重试(拿到授权凭证) 同一请求加上头 `Payment-Proof: <凭证>` 重发,成功返回 `200`, `content.data.license` = 授权凭证(存成 `license.json`)。 **一次付费 = 一份授权 = 7 天有效**,期间反复处理**不需要再付费**。 ## 第 4 步 · 校验授权并执行(离线) ```bash python scripts/license_check.py check license.json --fingerprint "<与第 2 步相同的值>" echo $? # 0 = 放行;非 0 = 拒绝,不要执行 ``` 退出码:`0` 通过 · `4` 签名不通过 · `5` 已过期 · `6` 产品不匹配 · `7` 指纹不匹配 · `2` 路径问题。 **退出码 `0` 才允许执行**: ```bash python scripts/run_paid.py pdfsplit.py 大文件.pdf --every 10 --o