14 种文档格式统一转 Markdown,anydoc 用一套引擎全部搞定 14 种文档格式统一转 Markdownanydoc 用一套引擎全部搞定【免费下载链接】anydocConvert Word, PowerPoint, Excel, OpenDocument, RTF, EPUB, CSV, and PDF to clean Markdown. Built in Rust, with Node.js and Python bindings.项目地址: https://gitcode.com/gh_mirrors/any/anydoc导语无论是 2003 年的老 .doc还是刚导出的 .pptxanydoc 都能在几毫秒内把它们变成同一套风格的干净 Markdown无需额外安装办公软件。前几天帮朋友整理资料库文件夹里躺着各式各样的文件一份汇报用的 .pptx、一份合同底稿 .docx、一张导出成 .xls 的表格、一本 .epub 电子书外加一页 PDF。我的目标只有一个——把它们全部转成结构清晰的 Markdown方便检索也方便后续丢给大模型做语料。可每换一种格式就得换一个工具输出风格还各不相同折腾到一半就放弃了。直到朋友推荐了 anydoc 这个基于 Rust 开发的开源文档转换引擎14 种常见格式一条命令几毫秒出结果而且无论输入是什么输出的 Markdown 风格完全一致。 它是什么专治文档格式混搭的转换引擎anydoc 的核心能力一句话就能说清把 Word、PowerPoint、Excel、OpenDocument、RTF、EPUB、CSV、PDF 这 14 种格式的文档统一转换成简洁的 GitHub-Flavored Markdown简称 GFM。它不是套在 LibreOffice 外面的壳也不是调用云端的在线服务而是货真价实的本地引擎关注点anydoc 的做法核心语言Rust无 ML 模型、无外部依赖语言绑定Node.js、Python还可编译为 WebAssembly 在浏览器运行输出格式GitHub-Flavored MarkdownGFM定位面向 LLM 语料与知识库的文档→Markdown预处理正因为它不依赖任何办公软件拿到文件就能转部署到服务器或 CI 流水线里也毫无压力。 一张清单看懂它覆盖的 14 种格式与其按文字处理类、演示文稿类这种教科书式分类不如从使用场景来认识它使用场景覆盖格式典型扩展名写文档、签合同doc、docx、odt、rtf.doc/.docx/.odt/.rtf做汇报、出课件ppt、pptx、odp.ppt/.pptx/.odp处理表格与数据xls、xlsx、ods、csv.xls/.xlsx/.ods/.csv阅读电子书epub.epub打印与分发pdf.pdf更贴心的是带宏的变体也没落下docm、pptm、ppsx、xlsm、xlsb 等扩展名都能识别并转成对应格式几乎把日常会遇到的 Office 家族一网打尽。 转换质量的关键所有格式共用一套流水线不同格式的文件最后却输出长一个样靠的是什么答案是统一的中间层设计。每一种格式先被解析成同一个文档模型标题、段落、表格、脚注、图片等都变成标准结构再经过同一个 Markdown 渲染器输出。这意味着 docx 里修好的表格转义问题rtf、odt 里自动同样生效一处修复、处处受益。标题锚点、加粗斜体、嵌套列表、合并单元格的表格、脚注甚至 PPT 的演讲者备注都会以统一规范呈现在 Markdown 里。相关的解析与渲染实现分别位于源码的src/formats/docx/、src/formats/sheet/以及src/render/markdown/table.rs等模块中。⚡ 性能快不是玄学是设计出来的转换文档最怕卡和等。anydoc 在这方面的数据相当亮眼✅ 纯 Rust 实现单文档转换中位数约4.4 毫秒低于官方宣称的 5 毫秒门槛✅ 在覆盖 100 份真实文档、横跨 14 种格式的基准评测中anydoc 是唯一全部格式都支持的工具整体评分 81 分位列第一✅ 对比之下同一批文档用 LibreOffice 转换中位耗时超过 1 秒✅ Node.js 版本在 libuv 线程池中执行不阻塞事件循环Python 版本释放了 GIL多线程程序里其他线程照常运行。对需要批量处理成千上万份档案的场景来说这个速度意味着从半夜跑批变成秒级完成。 连格式都能认出来靠内容而不是扩展名很多转换工具只认文件后缀改个扩展名就翻车。anydoc 则从文件内容本身判断格式PDF 看文件头、RTF 看起始标记、老式 Office 看 OLE 流名称、ZIP 类格式看包内的 mimetype 声明。也就是说即使一份 docx 被误改成了 .txt 后缀它依然能正确识别并转换反过来名字看着像文档、内容却是乱码的冒牌文件也能被准确识别出来避免白跑一趟。唯一需要手动指定的例外是 CSV——纯文本没有自带签名需要在调用时显式传格式名。 三步上手从安装到拿到 Markdown整个上手过程短得超出预期第一步按需安装。Python 环境用pip install firecrawl-anydocNode.js 环境用npm install firecrawl/anydoc装好后甚至能直接通过npx firecrawl/anydoc report.docx一条命令转换想读源码或本地编译 Rust 版本则执行git clone https://gitcode.com/gh_mirrors/any/anydoc。第二步写三行代码。以 Python 绑定为例import anydoc # 传入文件路径格式自动识别 markdown anydoc.to_markdown(report.docx) # 或传入字节流从内容中识别格式 markdown anydoc.to_markdown_bytes(data)第三步把结果接进你的工作流。直接存盘、喂给大模型、还是写进知识库随你安排。更完整的 API 说明可以参考python/README.md和node/README.md两份文档。 谁最适合用它知识库与笔记整理者各种格式的存量文档统一转成 Markdown 归档检索更轻松AI 应用开发者把办公文档批量预处理成 LLM 友好的干净文本是 RAG 流水线里很省心的一环文档服务提供方自建转换服务时一个本地、高速、格式覆盖全的引擎能省下不少集成成本。✍️ 写在最后如果你也经常被格式混搭、工具不统一困扰anydoc 值得一试Rust 内核带来的极速体验、14 种格式的全覆盖、以及一套输出标准的干净结果让文档转换第一次变得像复制粘贴一样简单。从一条npx命令开始十分钟内你就能体会到它的省心。【免费下载链接】anydocConvert Word, PowerPoint, Excel, OpenDocument, RTF, EPUB, CSV, and PDF to clean Markdown. Built in Rust, with Node.js and Python bindings.项目地址: https://gitcode.com/gh_mirrors/any/anydoc创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考