← ClaudeAtlas

pdf-image-text-paylisted

把 PDF、扫描件、截图里的文字提成可编辑的文本(md/txt/json)——一次付费 7 天不限次,期内重复使用不再计费。凡需要"把 PDF 里的字提出来""这份 PDF 复制不出文字""扫描件想转成能编辑的文字""截图里的文字要弄出来""发票/合同/研报要转文本""这份 PDF 是不是扫描件、能不能提"时主动使用。**本 Skill 依赖在线授权服务**:执行提取前会先取一份授权凭证(未付费会返回 402 账单),拿到授权后在**你本机**完成提取,授权本身**离线可校验**;诊断(probe)**免费**,先看这份文件到底能不能提、哪几页会白提、哪里会出问题,再决定要不要提。能力:PDF 文字层提取(含没有 ToUnicode 的中文 PDF)、按坐标重排多栏版式、递归表单对象、扫描件与图片识别(用你机器上已有的识别引擎,不要求调用方会看图)、加密与坏文件识别;产出正文 + 一份带前后对比计数的**提取报告**(适合直接转发)。边界:加密 PDF 不解密、CCITT 传真编码的扫描图解不开、不复原表格结构。
Mao-jh/pdf-image-text · ★ 0 · Data & Documents · score 76
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(完成支付)