Repolode
firecrawl

firecrawl/anydoc

一个用 Rust 编写的库和命令行工具,可将 Office 文档、RTF、EPUB、CSV 和 PDF 转换为干净的 Markdown。

Star
22,954
Fork
1,478
未关闭 Issue
113
最近提交
前天

这是什么?

anydoc 可以把多种办公文档和常见文档格式转换为 GitHub 风格的 Markdown,无论输入是什么格式,输出的结构和转义规则都保持一致。每种格式先解析为统一的文档模型,再通过同一个 Markdown 序列化器输出,因此 Word、PowerPoint、Excel 等格式在表格、转义、标题锚点和脚注上的表现相同。

项目使用 Rust 编写,提供 Node.js、Python 和 WebAssembly(可在浏览器中运行)绑定,同时包含命令行工具和 Agent Skill。文本型 PDF 在本地转换;扫描页面可选择交给 Firecrawl Parse 托管服务做 OCR,其余转换过程不发起网络请求。

转换结果会保留列表、合并单元格、演讲者备注和公式等结构,公式以 LaTeX 形式输出。图片显示为替代文本,原始字节则保存在文档模型中可供读取。

核心功能

  • 01支持 Word、PowerPoint、Excel、OpenDocument、RTF、EPUB、CSV 和 PDF 转 Markdown。
  • 02根据文件内容识别格式,扩展名错误的文件也能正确转换。
  • 03保留标题、列表、合并单元格表格、脚注和演讲者备注。
  • 04将 OMML、MathML 和 RTF 中的公式输出为 LaTeX。
  • 05提供 Rust、Node.js、Python、WebAssembly 绑定以及命令行工具。
  • 06文本型 PDF 本地转换,扫描页面可选择托管 OCR。

适用场景

  • 将混合格式的办公文档转换为 Markdown,供 LLM 或 RAG 流程使用。
  • 批量把一批 Word 或 Excel 文件转为文本,便于建立索引。
  • 借助 WebAssembly 版本在浏览器中本地预览文档,文件不会上传。
  • 通过 Agent Skill 让 AI 编程助手读取办公文件。

快速上手

  1. 1

    通过 npx 运行 CLI 转换 Word 文件

    npx @firecrawl/anydoc report.docx
  2. 2

    从 crates.io 安装 Rust 库

    cargo add anydoc

使用前须知

  • 扫描版 PDF 需要通过 Firecrawl Parse 进行托管 OCR,整个文档会离开本机。
  • Rust 库没有 OCR 选项,也从不发起网络请求。
  • 基准测试由作者在单台机器上使用不可公开的语料完成。

标签

常见问题

anydoc 是什么?
一个用 Rust 编写的库和命令行工具,可将 Office 文档、RTF、EPUB、CSV 和 PDF 转换为干净的 Markdown。 anydoc 可以把多种办公文档和常见文档格式转换为 GitHub 风格的 Markdown,无论输入是什么格式,输出的结构和转义规则都保持一致。每种格式先解析为统一的文档模型,再通过同一个 Markdown 序列化器输出,因此 Word、PowerPoint、Excel 等格式在表格、转义、标题锚点和脚注上的表现相同。
anydoc 可以免费使用吗?用的什么许可证?
anydoc 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
anydoc 还在维护吗?
活跃维护中。anydoc 最近一次提交是在 2026年10月18日。
anydoc 适合用来做什么?
将混合格式的办公文档转换为 Markdown,供 LLM 或 RAG 流程使用。 批量把一批 Word 或 Excel 文件转为文本,便于建立索引。 借助 WebAssembly 版本在浏览器中本地预览文档,文件不会上传。 通过 Agent Skill 让 AI 编程助手读取办公文件。
anydoc 怎么安装和运行?
通过 npx 运行 CLI 转换 Word 文件: npx @firecrawl/anydoc report.docx 从 crates.io 安装 Rust 库: cargo add anydoc
在哪里获取 anydoc?
源代码和安装说明在 GitHub 上:https://github.com/firecrawl/anydoc

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目