pdf-image-text-paylisted
Install: claude install-skill Mao-jh/pdf-image-text
# PDF和图片文字提取(一次付费 7 天不限次)
把 PDF / 图片里的文字,提成能直接编辑、能搜索的文本。本 Skill 分两段:
**先免费诊断**(只读,不改文件),**再取授权执行提取**(按次计费,在你本机完成,文件不出本机)。
> **为什么需要授权**:提取动作需要一份由服务方签发的凭证。
> 授权**在你本机离线校验**(不联网即可验证真伪与有效期),
> 但**没有有效授权就不执行提取**——这是服务的一部分,不是限制。
---
## 第 0 步 · 前置检查(必做,先判值不值得用这个工具)
在调用任何服务之前先确认:
| 检查项 | 判定 |
|---|---|
| 文件类型 | **.pdf / .png / .jpg / .jpeg / .bmp / .tif / .tiff / .webp / .gif**。其他格式先转成这几类 |
| 是不是真需要提取 | 如果**原始文件**(.docx / .xlsx / 原网页 / 你手上的源文本)还在——直接用原始文件,比提字更准。本工具是给「只有 PDF、只有照片、只有截图」的场景用的 |
| 是不是扫描件 | 用 probe 一跑就知道。**扫描件没有文字层,只能走识别**;识别质量取决于扫描清晰度,不保证 100% 正确,报告里会给出字数与可疑页 |
| 期待是否合理 | 提不出来的字**不会被猜**(字体里没有的字就是没有);**表格结构不会还原**(只保证阅读顺序);扫描件的识别错字属正常,需人工核对 |
**只有第 0 步谈过,才进入第 1 步。**
---
## 第 1 步 · 免费诊断(probe,只读,不收费)
```bash
python scripts/pdfimgtext.py probe <文件...> --report 诊断.md
```
诊断会告诉用户(**只给数字和风险,不给正文**):
- 这份 PDF **有没有文字层**、每页大概能提多少字;
- 哪几页**没有文字层、只能靠识别**(扫描件);
- 哪几页**有文字却提不出来**(字体缺字形对照表)——这类页换任何工具都提不出来;
- 字体有没有 ToUnicode、有没有多栏版式、有没有加密;
- 本机有没有可用的图片识别引擎。
**先把诊断结果拿给用户看**,确认他要继续,再进入付费环节。
---
## 第 2 步 · 请求授权(未付费会返回 402)
```
POST https://skills-gate.airpriv.com/api/pdf-image-text-license
Content-Type: application/json
{"machine_fp":"<本机指纹串,8–128 位字母数字/连字符,可省略>"}
```
**首次调用一定拿到 `402 Payment Required`** —— 这是设计,不是错误。响应里带:
- HTTP 头 `Payment-Needed`(base64url 编码的账单)
- 响应体 `payment_needed` / `payment_needed_token` / `amount` / `out_trade_no`
> `machine_fp` 可选:带上则这份授权**绑定这台机器**,换机器需重新授权。省略则不绑定。
> 本机指纹:`python scripts/license_check.py fingerprint`
## 第 3 步 · 处理 402(完成支付)