AnyParse
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_bf1d7f16/anyparse-skill 到 AI 助手。
技能介绍
它要解决的问题
把一份 PDF、扫描件或图片里的内容变成可用的文本,通常有两道坎:一是识别出来的文字顺序和原文档对不上,表格、双栏、图文混排时尤其明显;二是拍歪、旋转的页面会让整篇识别结果出现大片错字。很多流水线为了省事,直接把整页丢给通用 OCR,拿到的是一串没有结构、也说不清来自哪个区域的文本。
AnyParse 的思路是:不要自己写解析逻辑,把这件事交给专门的服务,并把版面信息一并取回来。
技能如何工作
技能内部只有一个解析入口:scripts/api.py。它负责读取本地文件,把请求发到你事先配置好的 AnyParse API,然后把响应整理成可用的结果,不会在本地做任何文档解析。
核心能力
- 多格式输入:支持常见的文档格式与图片格式,扫描件和照片都走同一套接口。
- 版面分析:返回每个页面中各区域的布局信息,包含位置和解析结果,因此你能知道某段文字原本在页面的哪个位置,而不是只有一句拼接好的全文。
- 方向分类:
--use_doc_cls让服务自动判断横版还是竖版,识别前先把方向纠正过来。 - 文档矫正:
--use_doc_rectifier处理拍摄歪斜的页面。 - 可选开关:
--no_doc_layout可以在你只想要纯文本时关掉版面分析。 - 结构化输出:
data.pages[].layout[]给出分区域结果,data.content给出整篇合并文本,data.metadata是文件元信息。
关键步骤
- 用
--file指定本地文件路径,这是唯一必填项。 - 按需叠加
--use_doc_cls、--use_doc_rectifier,或用--no_doc_layout关闭版面分析。 - 检查响应中的
code,2000表示成功;失败时把msg原样展示出来并停止,不要自己换办法重试。 - 依据
data.pages[].layout[]重建阅读顺序,或直接使用data.content。
适用边界与注意点
适用场景
- 需要保留版面结构做后续处理,例如按区域入库、做版面级抽取。
- 扫描件、翻拍照片需要先纠正方向和倾斜再识别。
- 需要区分正文、标题、表格所在位置。
必须注意的限制
- 只能走 AnyParse API:所有解析都通过
scripts/api.py完成,技能本身不解析文档。 - 不要自行解析或提供替代方案:API 失败时,唯一正确的做法是展示错误信息并停止,而不是"我试着分析一下"。
- 不使用兜底手段:不存在"识别不出就猜"这条路。
- 依赖前置服务:必须先部署好 AnyParse 服务,并配置
anyparse_api_url与anyparse_api_key,两者可以从scripts/config.json或环境变量读取。 - 失败时的排查顺序:先确认配置文件或环境变量里 URL 与 key 是否齐全,再检查文件路径是否正确,最后看 API 返回的状态码;如果缺少依赖,需要先安装
scripts/requirements.txt。 - 数据路径:文档内容会被发送到你配置的 API 地址,这一点在选部署方式时要一并考虑。
一句话概括:这是一个把"取回带版面结构的识别结果"这件事收敛到单一 API 调用上的技能,强约束、少分支,适合已经部署了 AnyParse 服务的工程环境。
使用场景
- 翻拍的合同扫描件歪斜且方向不定,需要先纠正再提取文字并保留段落位置
- 处理双栏排版的论文 PDF,按原阅读顺序抽取全文并标记各栏区域
- 把多页扫描发票批量转成可检索文本,同时区分表格区和文字区
- 对横版幻灯片截图做文字提取,先自动判断方向再识别内容
适合人员
- 需要把历史纸质档案扫描件批量数字化并保留版面结构的档案管理人员
- 要把论文、报告等 PDF 内容结构化入库、供下游检索的后端工程师
- 定期处理大量扫描合同、需要可追溯且带位置文本的法务或合规人员
- 在私有环境部署文档解析服务、要求数据不出内网的平台工程师