@firecrawl/anydoc-wasm

中文文档
0.2.4发布于 2026/08/28MITTypeScriptES Module零依赖构建来源已验证近 30 天下载 31.9万

WebAssembly for anydoc: 在浏览器中将文档(doc, docx, odt, rtf, epub, pdf, 演示文稿, 电子表格, csv) 转换为 GitHub- Flavored Markdown

中文使用文档
文档目录3 节
  1. 错误
  2. 大楼
  3. 演示页

@ firecrawl/ anydoc-wasm (英语)

网页大会装订 任何文件,加上演示页的源 fircrawl.github.io/anydoc (英语)。 。 。 .

API 镜像 Rust 库, 减去路径 to_markdown: wasm没有文件系统,所以转换总是从字节开始.

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

await init();

// With the format detected from the content:
const markdown = toMarkdownBytes(bytes);

// Or name it, which signature-less formats (CSV) need:
const fromCsv = toMarkdownBytes(bytes, 'csv');

// Or stop at the document model, which also carries embedded assets:
const document = toDocument(bytes);

// Format detection on its own:
formatFromBytes(bytes); // 'docx', or undefined when nothing matches

软件包由 wasm-pack --target web: 装入平原 <script type="module"> 与处理 new URL(..., import.meta.url) 资产模式(Vite,webpack 5, Rollup). 在节点中,将模块字节传递到 initSync 而不是打电话 init (见 test.mjs) (中文(简体) ).

呼叫是同步的:在呼叫线条上被被wim运行单行跑,所以如果主线条必须保持响应,就转换到工人身上.

错误

转换只有在没有完整的Markdown出字节时才会抛出. 抛出值是一个 Error 谁 code 出错的地方:

try {
  return toMarkdownBytes(bytes);
} catch (error) {
  // No document comes out of these, so record the file and take the next one.
  if (error.code === 'encrypted' || error.code === 'unsupported') {
    unconverted.push({ name, reason: error.code });
    return null;
  }
  throw error;
}
code含义
unsupported未知格式, 或无法转换的格式
needsOcrPDF的页数是扫描的,或只图像; pages 给他们起名
malformed结构上无法使用:无法提取有意义的内容
encrypted加密或密码保护
resourceLimit跨越了固定的安全限制(减压、筑巢、节点计数)
missingPart缺少任何有意义的产出所需的部分

error.message 带有细节,将软件包部分命名为格式识别错误部分。 TypeScript 将联盟变为 ConvertErrorCode这个箱子 io 这里没有对应代码: 没有文件系统可以读取 .

大楼

wasm-pack build wasm --release --target web --scope firecrawl
node --test wasm/test.mjs

这将生成 npm 包在 wasm/pkg/:模块,JS胶,和TypeScript定义. 出版来源 ../.github/workflows/release.yml 在释放标签.

演示页

www/ 持有静态演示站点,该演示站点从 www/pkg/创建该目录,然后服务 www/数字 :

wasm-pack build wasm --release --target web --no-pack --out-dir www/pkg
python -m http.server -d wasm/www

../.github/workflows/pages.yml 在每次向主推上,都构建和部署相同的布局到 GitHub Pages.

版本与发布记录

@firecrawl/anydoc-wasm 共发布 11 个版本,首次发布于 2026/08/05;过去 12 个月发布了 11 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.2.4latest2026/08/282 个月前
0.2.32026/08/212 个月前
0.2.22026/08/212 个月前
0.2.12026/08/212 个月前
0.2.02026/08/202 个月前
0.1.92026/08/143 个月前

关于 @firecrawl/anydoc-wasm 的常见问题

@firecrawl/anydoc-wasm 是什么?

WebAssembly for anydoc: 在浏览器中将文档(doc, docx, odt, rtf, epub, pdf, 演示文稿, 电子表格, csv) 转换为 GitHub- Flavored Markdown

如何安装 @firecrawl/anydoc-wasm?

在项目目录运行 npm install @firecrawl/anydoc-wasm,或使用 pnpm add / yarn add / bun add。

@firecrawl/anydoc-wasm 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@firecrawl/anydoc-wasm 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@firecrawl/anydoc-wasm 可以商用吗?

@firecrawl/anydoc-wasm 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@firecrawl/anydoc-wasm 的下载量有多少?

根据 npm 官方下载统计,@firecrawl/anydoc-wasm 在 2026/10/15 – 2026/11/13 这 30 天内被下载 319,136 次,日均约 10,638 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@firecrawl/anydoc-wasm 还在维护吗?

最新版本 0.2.4 发布于 2026/08/28(2 个月前);至今共发布 11 个版本,其中过去 12 个月发布了 11 个;首次发布于 2026/08/05。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。