炸裂!Word、PPT、Excel、PDF终于不再各说各话:5.5k Star anydoc 一锅端成干净 Markdown

简介: firecrawl/anydoc 是一个基于 Rust 的开源文档转换库,把 Word、PowerPoint、Excel、PDF、EPUB、CSV 等格式统一转换成 GitHub-Flavored Markdown,并提供 CLI、Rust、Node.js、Python、浏览器 WASM 和 Agent Skill 入口。

嗨,我是小华同学,专注解锁高效工作与前沿AI工具!每日精选开源技术、实战技巧,助你省时50%、领先他人一步。👉免费订阅,与10万+技术人共享升级秘籍!

文档处理最烦的,往往不是“转成 Markdown”,而是 Word、PPT、Excel、PDF 每种格式都带着自己的脾气。

anydoc 的思路很直接:先把不同文件解析成同一个 Document 模型,再从同一条出口生成干净 Markdown。

如果你正在做 RAG、知识库、文档问答或 Agent 文件读取,这个项目值得先收藏。本文只讲它解决了什么问题,以及接入前必须知道的边界。

anydoc 封面:复古机场分拣风格,多个文档格式进入统一 Markdown 出口

文档转换最麻烦的,从来不是“转”

很多团队一开始会给每种文件找一个工具:DOCX 用一个解析器,PPTX 再接一个,PDF 还要单独处理,最后把结果拼到同一条 AI 流程里。

问题很快就会出现:

  • 标题、列表、脚注和表格在不同格式里表现不一致;
  • 同一份内容经过不同工具后,Markdown 规则、转义方式和空行习惯都不一样;
  • 图片、嵌入对象和表格结构容易丢,后面的 RAG 切分只能继续打补丁;
  • 文件扩展名改了,解析器可能就判断错,但文件内容本身并没有变。

真正难的是让“输入格式不同”不再影响“输出结构”。

anydoc 到底是什么?

一句话理解:anydoc 是一个用 Rust 编写的文档转换底座,把多种办公文档统一转成 GitHub-Flavored Markdown。

官方 README 列出的输入包括 Word、PowerPoint、Excel、OpenDocument、RTF、EPUB、CSV 和 PDF,同时提供 Rust、Node.js、Python、浏览器 WebAssembly 和 CLI 绑定。项目还附带 Agent Skill,可以让兼容的编程 Agent 直接学会调用它读取文档。

anydoc 项目原始素材:官方截图,浏览器端本地将 CSV 转换成 Markdown

官方在线 Demo 还有一个很值得注意的细节:浏览器版本使用 WebAssembly 在本地完成转换,文件不会上传到服务器。对于内部资料、合同和本地知识库,这个默认路径很有吸引力。

它的核心不是“格式多”,而是“中间模型统一”

处理环节 传统拼接式方案 anydoc 的统一路线
文件识别 经常按扩展名分流 根据文件内容标记判断格式
解析结果 每个工具一套结构 汇入共享 Document 模型
Markdown 输出 各工具自己拼规则 统一 GFM 序列化器
表格、脚注、标题 需要逐格式修补 在统一输出层集中处理
嵌入图片和对象 容易在中间丢失 模型保留资源字节和媒体类型

趣味创作白板图:DOCX、PPTX、XLSX、PDF 被 anydoc 统一成干净 Markdown

这个设计带来的实际收益是:修一次 Markdown 转义、表格或标题锚点问题,多个输入格式都能一起受益。

4 步看懂 anydoc 的工作流

  1. 读取文件字节,支持从路径或内存中的 bytes 开始;
  2. 根据 PDF 头、RTF 标记、OLE 流、ZIP 包中的 MIME 等内容判断格式;
  3. 把标题、段落、列表、表格、脚注、图片资源等汇入共享 Document 模型;
  4. 通过统一的 GFM Markdown 序列化器输出结果,或者停在 Document 模型继续加工。

趣味创作白板图:anydoc 从文件字节到 GFM Markdown 的四步流水线

这条链路对 AI 应用尤其重要:你可以把 Markdown 作为通用中间格式,也可以保留 Document 模型里的图片和嵌入资源,不必一开始就把所有内容压扁成纯文本。

值得关注的 5 个能力

1. 输入格式覆盖够广

项目支持 .doc、.docx、.docm,多种 PowerPoint 和 Excel 格式,以及 OpenDocument、RTF、EPUB、CSV、PDF。对于“用户随手上传什么都可能有”的系统,这比只支持 DOCX 的解析器更省分流逻辑。

2. 结构保留不止正文

README 列出的结构包括标题锚点、粗体、斜体、删除线、行内代码、代码块、链接、内部交叉引用、嵌套列表、合并单元格、表头、引用、脚注、尾注和演讲者备注。

3. 嵌入资源不会被简单丢掉

图片和嵌入对象会在 Markdown 中以替代文本呈现,同时原始字节会保留在 Document 模型中,并带有媒体类型信息。做知识库时,你可以根据业务决定:只喂文字,还是把图片资产一起入库。

4. 本地、快速、少依赖

项目强调纯 Rust、无机器学习模型、无外部服务。README 的基准测试中,anydoc 在 100 份真实文档、14 种格式上给出的中位转换时间是 4.4ms。不过这是项目自己的测试结果,真实耗时仍要用你的文件集回归。

项目基准指标 anydoc 结果
覆盖格式 14/14
中位转换时间 4.4ms
综合得分 81
测试文档 100 份

5. Agent 接入成本很低

它不仅是一个库,还提供了 Agent Skill:

npx skills add firecrawl/anydoc

安装之后,Agent 可以把文档转换当成一个标准能力来调用。对 Codex、Claude Code、Cursor 这类需要读取项目资料和附件的工作流来说,这个入口比每次手写解析脚本更容易复用。

3 种最小接入方式

CLI:先快速验证一份文件

npx @firecrawl/anydoc report.docx
npx @firecrawl/anydoc slides.pptx -o slides.md
npx @firecrawl/anydoc - --format csv < data.csv

Node.js:接入后端或构建脚本

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

const markdown = await toMarkdown('report.docx')
const fromBytes = await toMarkdownBytes(bytes, 'csv')

浏览器:本地转换文件

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

await init()
const markdown = toMarkdownBytes(bytes)

它适合什么,不适合什么?

适合:

  • 多格式文件上传、知识库入库和 RAG 预处理;
  • Agent 读取 DOCX、PPTX、CSV 等用户资料;
  • 需要统一 Markdown 输出的内容流水线;
  • 想在浏览器本地完成基础文档转换的工具。

不适合直接当成:

  • 扫描件 PDF 的 OCR 引擎;
  • 追求完全还原 Word 页面视觉效果的排版器;
  • 对复杂图表、宏、密码保护文件零改动转换的万能工具;
  • 不做真实文件回归,就直接承诺所有业务文档都能完美解析的黑盒。

项目边界与我的判断

anydoc 解决的是文档结构归一化,不是所有文档问题:

  • 图片型 PDF 没有可提取文字时,仍然需要独立 OCR 能力;
  • Markdown 本身无法完整表达 Word/PPT 的视觉布局,样式还原和语义转换要分开评估;
  • 加密、损坏、未知格式和超过安全限制的文件会返回明确错误,业务层需要记录失败原因;
  • 项目 benchmark 很亮眼,但你的文件可能包含特殊字体、复杂合并单元格或嵌入对象,必须建立自己的样本集。

如果你的系统正在被“每种文件一个解析器”拖慢,anydoc 值得作为统一入口试一轮。它最有价值的地方,不是格式列表很长,而是把格式差异压在解析层,把后续 AI、搜索和入库流程统一起来。

后续我会继续拆解它的 Document 数据结构、Node/Python 绑定和 Agent Skill 实际接入方式。

项目地址

https://github.com/firecrawl/anydoc

相关文章
|
15天前
|
人工智能 JSON API
全网刷屏的 Jev 模型正式开放!一手实战测评 + 保姆级教程
全网爆火的 Jev 模型是什么?有什么用?怎么使用?怎么接入 AI 编程工具?效果真的好么?傻子可懂的 Jev 保姆级实战教程 + 项目实战测评来啦
8155 15
|
14天前
|
人工智能 并行计算 PyTorch
秋叶 ComfyUI 2026 整合包 v3.2 完整部署教程:Python 3.13 + Torch 2.13 全栈升级
秋叶aaaki ComfyUI 2026年8月整合包v3.2正式发布!全面升级Python 3.13.11、PyTorch 2.13.0+cu130及ComfyUI v0.30.2,原生支持MiniMax H3、Wan 2.2、Qwen-Image-2.1等2026主流音视频/图像模型,解压即用,无需环境配置。
2331 13
|
13天前
|
人工智能 测试技术 API
最近全网爆火的 Jev 到底是什么?适合干什么、怎么用,一篇讲透!
Jev是TypeSafe AI推出的“系统一模型”,不生成文本,专做毫秒级结构化决策:Choice(多选)、Score(打分)、Noul(是非概率)。响应快193倍、成本低444倍,适合工单路由、内容审核、测试定级等高频判断场景。
1843 4
最近全网爆火的 Jev 到底是什么?适合干什么、怎么用,一篇讲透!
|
12天前
|
人工智能 编解码 并行计算
MiniMax-H3 一键整合包技术文档:8G 显存运行 AI 漫剧制作 —— 角色替换 / 动作迁移 / 文图生视频部署与调参指南
MiniMax H3 是 MiniMax 开源的全模态视频生成模型,支持文/图/音/视多条件输入,输出最高2K、15秒带双声道音频视频。本文档详述其Int8量化版在8GB显存下的本地一键部署、三段式工作流(EDIT/REPLACE/CONTINUE)、参数调优及常见问题排查。(239字)
|
8天前
|
人工智能 Linux 开发者
【2026国内使用】Codex安装过程一篇讲透(Win/Mac/Linux全支持)
Codex是OpenAI推出的AI编程智能体,可读取本地项目、理解需求并自动修改代码。支持桌面GUI、命令行(CLI)及VS Code/Cursor插件三种形态,覆盖可视化操作、终端高效开发与编辑器无缝集成场景,助开发者用自然语言驱动编码全流程。(239字)
【2026国内使用】Codex安装过程一篇讲透(Win/Mac/Linux全支持)
|
8天前
|
人工智能 JSON 编解码
【2026最新版】ComfyUI本地部署教程,新手也能看懂!
ComfyUI是本地运行的AI绘画工具,采用节点式工作流设计:通过拖拽连接“加载模型”“提示词编码”“采样”“解码”等模块,实现高度可控的文生图。新手推荐使用秋叶整合包,一键启动、内置模型管理与插件安装器,轻松上手。(239字)
|
22天前
|
缓存 IDE Java
【保姆级】Android Studio下载、安装和汉化教程(2026最新)
Android Studio 是 Google 官方推出的免费 Android 应用开发集成环境,基于 IntelliJ IDEA,内置模拟器、调试器、性能分析及 Compose 界面工具,功能全面,文档丰富,是安卓开发首选工具。(239字)
2329 1

热门文章

最新文章