firecrawl/anydoc
Convert Word, PowerPoint, Excel, OpenDocument, RTF, EPUB, CSV, and PDF to clean Markdown. Built in Rust, with Node.js and Python bindings.
解决的问题
anydoc 是一个高性能库,旨在将各种办公文档转换为整洁的 GitHub 风格 Markdown。它解决了不同文件格式之间文档解析不一致且速度慢的问题,提供了一种单一、一致的输出格式,非常适合用于准备适配 LLM 的数据。
工作原理
该库使用纯 Rust 编写以保证速度,不依赖 ML 模型或外部服务。它采用多步处理流程:
- 格式检测:根据内容标记(字节)识别文件类型,而不是依赖文件扩展名。
- 格式解析器:每种受支持的格式都有各自的解析器,可将文档转换为共享的内部文档模型(包含块、行内元素、表格和资源)。
- GFM 序列化器:随后通过单个序列化器将此共享模型渲染为 Markdown,确保所有输入格式在表格和脚注等元素上的行为保持一致。
- PDF 处理:基于文本的 PDF 使用
pdf-inspector直接转换为 Markdown。
适用人群
- AI 开发者:构建 RAG 流水线或 LLM 应用,需要处理各种混合办公文档的人员。
- 智能体工作流:创建 AI 智能体的开发者,使其能够通过提供的“Agent Skill”集成读取并处理本地文件。
- 软件工程师:任何需要快速、本地且一致的文档转 Markdown 转换器的人,该转换器提供 Node.js、Python 和 Rust 的绑定,或支持通过 WebAssembly 在浏览器中运行。
核心亮点
- 广泛的格式支持:支持 14 种格式,包括 Word、PowerPoint、Excel、OpenDocument 和 PDF。
- 极速转换:每个文档的中位转换时间不到 5ms。
- 一致的输出:共享的文档模型确保格式(如数学公式 LaTeX)在所有格式中保持统一。
- 本地处理:核心转换无需调用外部 API 或使用 ML 模型,并提供 WebAssembly 版本以支持基于本地浏览器的转换。
- 智能体就绪:作为 Agent Skill 集成,使 AI 智能体能够轻松采用文档读取功能。
相关
- 项目
- 项目
- 项目
- 项目
- 项目