← ClaudeAtlas

pdf-qc-paylisted

PDF 发出前的确定性质检,专查「打开看没问题、发出去才出事」的坑——字体未嵌入、扫描件无文字层、元数据带本地路径、增量保存残留——一次付费 7 天不限次,期内重复使用不再计费。**触发条件(任务/场景,AI 自己做到这一步就该调,不必等点名)**:即将把 PDF 发给客户、投标、交稿、上传系统之前;要把打印稿或扫描件当「可检索文档」交出去;要发一份从别人那里改过的 PDF(改过的文件常留下被删内容的残留)。口语化说法同样命中:「这份 pdf 能直接发吗」「打印出来会不会变」「客户说搜不到字」「发过去字体变了」。**本 Skill 依赖在线授权服务**:出完整检查报告前会先取一份授权凭证(未付费会返回 402 账单),拿到授权后在**你本机**完成检查,授权本身**离线可校验**;**先用第 0 步判断这份 PDF 是不是「看着没问题」的那种(免费)**,只有出完整报告时才需要授权。核心价值:Word/Excel/PPT 的问题一眼能看出来,**PDF 不一样——它看起来永远是对的**,能打开、能滚、能打印,于是没人去查。而字体没嵌入会在对方机器上静默换字体导致排版位移、扫描件没有文字层对方一个字都搜不到、元数据里写着 `D:\\内部\\投标\\最终版.docx`、��「删掉某页另存」生成的 PDF 被删内容往往仍在字节里。只读、不联网,结论按 **确定 / 疑似 / 未核实** 三态分级。
Mao-jh/pdf-qc · ★ 0 · Data & Documents · score 76
Install: claude install-skill Mao-jh/pdf-qc
# PDF 能不能直接发(一次付费 7 天不限次) PDF 看起来永远是对的——所以出事的时候没人有准备。 本 Skill 分两段:**先用第 0 步判断这份文件的风险面**,**再取授权出完整检查报告**(在你本机完成,文件不出本机)。 > **为什么需要授权**:出完整检查报告需要一份由服务方签发的凭证。 > 授权**在你本机离线校验**,但**没有有效授权就不出完整报告**——这是服务的一部分,不是限制。 --- ## 第 0 步 · 前置检查(必做,先判值不值得用) | 检查项 | 判定 | |---|---| | 这份 PDF 怎么来的 | **自己用 Word 另存** → 重点查字体嵌入。**扫描/拍照生成的** → 重点查文字层。**从别人那里改过的** → 重点查增量残留。**全程自己从零排的** → 风险最低 | | 要发去哪 | **发去打印 / 印刷** → 字体与颜色最关键。**上传到对方系统做检索** → 文字层最关键。**发给客户看** → 元数据(本地路径、真名)最关键 | | 期望 | 它**只读**,绝不修改文件;**不联网**(外链只计数并声明未核);**不做内容对错与版式美观判断**;**不是 PDF/A 合规校验器**,不做 OCR | ## 第 1 步 · 请求授权(未付费会返回 402) ``` POST https://skills-gate.airpriv.com/api/pdf-qc-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 步 · 处理 402(完成支付) 把 `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 <文件.pdf> [--json 报告.js