anydoc
anydoc 是 Firecrawl 开发的开源 Rust 库,可将 Word、PowerPoint、Excel、OpenDocument、RTF、EPUB、CSV 和 PDF 转换为整洁的 GitHub 风格 Markdown,并提供 Node.js、Python、浏览器和 CLI 绑定。
访问 firecrawl/anydoc项目简介
anydoc 是 Firecrawl 开发的开源 Rust 库,可将 Word、PowerPoint、Excel、OpenDocument、RTF、EPUB、CSV 和 PDF 文档转换为 GitHub 风格 Markdown。它提供 Node.js、Python、浏览器 WebAssembly 和 CLI 绑定,官网演示在浏览器本地完成转换,文件不会离开用户设备。
核心功能
- 支持将 Word、PowerPoint、Excel、OpenDocument、RTF、EPUB、CSV 和 PDF 转换为 GitHub 风格 Markdown。
- 所有格式都解析为同一个文档模型,并通过同一个 Markdown 序列化器输出,标题、嵌套列表、合并单元格表格和脚注的表现保持一致。
- 根据文件字节而非扩展名识别格式,扩展名标注错误的文件也能正确转换。
- 使用纯 Rust 实现,不依赖机器学习模型或外部服务,官方称单文档转换中位耗时低于 5 毫秒。
- 提供 Rust、Node.js、Python、浏览器 WebAssembly 和 CLI 多种使用方式。
- 保留标题、列表、含合并单元格与表头的表格、引用、脚注与尾注、演讲者备注等内容,Word 和 PowerPoint 的公式可转换为 LaTeX 数学标记。
适用场景
- 将来源混杂的办公文档批量转换为结构一致的 Markdown,供 LLM 流程使用。
- 在浏览器中本地转换文档,文件不离开本机。
- 通过随包发布的 Agent Skill 让智能体读取办公文档。
- 在无需 OCR 服务的条件下本地提取文本型 PDF 的内容。
快速开始
- Rust 用户可执行 cargo add anydoc 安装。
- Node.js 用户可执行 npm install @firecrawl/anydoc 安装。
- Python 用户可执行 pip install firecrawl-anydoc 安装。
- 浏览器 WebAssembly 版本可执行 npm install @firecrawl/anydoc-wasm 安装。
- CLI 可直接运行 npx @firecrawl/anydoc report.docx,将 Markdown 输出到标准输出。
部署与要求
- 本地转换使用纯 Rust,不需要机器学习模型,也不依赖外部服务。
- 浏览器 WebAssembly 演示页面需要一次性下载几 MB 的 WebAssembly。
- 文本型 PDF 通过 pdf-inspector 在本地转换。
- 扫描件或仅有图像的 PDF 需要选择启用 Firecrawl Parse 提供的托管 OCR。
- 托管 OCR 无需注册即可使用,设置 FIRECRAWL_API_KEY 可获得更高额度。
采用前须知
- 许可证:MIT。在使用、修改或分发项目前,请确认其具体条款。