anydoc 评测:火快转换的文档转 Markdown 神器

一句话介绍

anydoc 是由 Firecrawl 团队开源的超快文档转换工具,支持 Word、PowerPoint、Excel、PDF、EPUB 等十余种格式,一键输出干净的 GitHub 风格 Markdown,基于 Rust 编写,速度达毫秒级。

它是什么?

在 AI 应用开发中,将各种格式文档(尤其是 Office 文档和 PDF)转换为结构化 Markdown 一直是痛点。市面上虽然有不少转换工具,但要么依赖复杂的后端服务,要么输出质量参差不齐,表格和列表经常混乱。anydoc 的出现,就是为了在本地、快速、高质量地完成这件事。

anydoc 由 Firecrawl 团队维护,该项目正是火苗(Firecrawl)的核心组件,同时也被其托管服务 Firecrawl Parse 所使用。项目采用 MIT 许可证,完全开源,已在 GitHub 收获 12,800+ Stars,并支持 Node.js、Python、WebAssembly 三种调用方式。

GitHub: https://github.com/firecrawl/anydoc
Stars:  12,800+
语言:   Rust
许可证: MIT

核心功能

1. 多格式全覆盖

anydoc 支持将以下格式转换为 Markdown:

  • Word (.docx)
  • PowerPoint (.pptx)
  • Excel (.xlsx)
  • OpenDocument (.odt, .ods, .odp)
  • RTF (.rtf)
  • EPUB (.epub)
  • CSV (.csv)
  • PDF (.pdf)

无论输入什么格式,输出都是统一的 GitHub Flavored Markdown,方便直接喂给 LLM。

2. 毫秒级超快转换

得益于 Rust 引擎,anydoc 能在个位数毫秒内完成转换。对于常见的 Word 或 PPT 文档,转换速度远超 Python 生态中的同类库(如 pandoc、markdownify 等),尤其适合需要批量处理的场景。

3. 三种调用方式

  • CLI:一行命令即可转换,支持 npx 直接运行
  • Node.js:npm install @firecrawl/anydoc
  • Python:pip install firecrawl-anydoc
  • WebAssembly:浏览器内直接运行,文件不出本地,隐私友好

4. Agent Skill 支持

anydoc 已打包为 Agent Skill,Claude Code、Codex、Cursor、OpenCode 等 AI 编程助手可直接调用。只需一条命令即可让 agent 学会阅读和转换任何文档:

npx skills add firecrawl/anydoc

5. 内置在线 Demo

项目提供了一个 WebAssembly 演示页面,用户可以直接在浏览器中上传文件,转换结果在本地完成,无需上传到服务器,兼顾便捷性和隐私。

适用人群

  • AI 应用开发者:需要将用户文档作为 LLM 输入的应用(如文档问答、智能摘要)
  • 内容创作者:快速将 PPT、Word 文档转为 Markdown 发布到技术博客
  • 数据工程师:批量处理多格式文档,构建 RAG 知识库
  • Privacy 敏感用户:希望本地转换、不出网的安全需求
  • 开发者工具爱好者:喜欢 Rust 编写的轻量高性能工具

与同类工具对比

工具速度格式支持调用方式本地运行备注
anydoc⭐⭐⭐⭐⭐ 毫秒级10+ 格式CLI/Node/Python/ WASM✅Firecrawl 出品,Agent Skill 支持
Pandoc⭐⭐⭐ 秒级20+ 格式CLI✅老牌工具,但配置复杂
markdownify (Python)⭐⭐⭐⭐ 较快主要 HTMLPython✅仅适合 HTML 转换
LibreOffice + 脚本⭐⭐ 慢极多格式CLI✅重量级,需安装完整桌面套件
Firecrawl Parse (托管)⭐⭐⭐⭐⭐ 快含 OCRAPI❌含扫描文档 OCR,但需付费

anydoc 的优势在于:Rust 实现的速度、多语言绑定、Agent Skill 友好,以及完全免费开源。

如何使用

方式一:CLI 命令行(最简单)

# 转换 Word 文档为 Markdown 并输出到控制台
npx @firecrawl/anydoc report.docx

# 保存到文件
npx @firecrawl/anydoc slides.pptx -o slides.md

# 从标准输入读取 CSV
npx @firecrawl/anydoc - --format csv < data.csv

npx 会在首次运行时自动下载预编译二进制文件,无需安装 Rust 环境。

方式二:Python

pip install firecrawl-anydoc
import anydoc

# 从文件路径转换
markdown = anydoc.to_markdown("report.docx")
print(markdown)

# 从字节流转换(自动检测格式)
with open("slides.pptx", "rb") as f:
    markdown = anydoc.to_markdown_bytes(f.read())

# CSV 需要指定格式
markdown = anydoc.to_markdown_bytes(csv_bytes, "csv")

方式三:Node.js

npm install @firecrawl/anydoc
import { toMarkdown } from '@firecrawl/anydoc';

const markdown = await toMarkdown('report.docx');
console.log(markdown);

方式四:浏览器内运行(WebAssembly)

npm install @firecrawl/anydoc-wasm
import init, { toMarkdownBytes } from '@firecrawl/anydoc-wasm';

await init();

const markdown = toMarkdownBytes(fileBytes);

方式五:接入 AI Agent(Agent Skill)

# 让 Claude Code / Cursor / Codex 等 agent 学会转换文档
npx skills add firecrawl/anydoc

安装后,agent 会自动掌握文档转换能力,无需手动调用。

总结

anydoc 是文档转 Markdown 领域的一款小而美的利器。它背靠 Firecrawl 的团队,有稳定的商业化产品(Firecrawl Parse)作为后盾,在功能完整性和持续维护上都有保障。

优点: - Rust 实现,速度极快(毫秒级) - 支持格式丰富,输出质量高 - 多语言绑定,接入成本低 - Agent Skill 支持,对 AI 开发者尤其友好 - 完全免费开源(MIT 许可)

不足: - PDF 不支持 OCR,扫描版 PDF 需要配合 Firecrawl 托管服务 - 对复杂排版(如大量表格嵌套)的处理仍有提升空间

推荐指数:⭐⭐⭐⭐⭐(5/5)

如果你需要在 AI 应用中处理各种格式的文档,或者单纯想快速把 Word/PPT 转为 Markdown,anydoc 是目前最值得尝试的工具之一。


原文链接:https://github.com/firecrawl/anydoc 在线 Demo:https://firecrawl.github.io/anydoc/