DOCX

导出

将文档导出为 buffer、blob、base64、字符串或流

Packer 类将 Document 转换为各种输出格式。

toBuffer

返回 Uint8Array。适用于 Node.js 文件 I/O。

import { Packer } from "@office-open/docx";
import { writeFileSync } from "node:fs";

const buffer = await Packer.toBuffer(doc);
writeFileSync("output.docx", buffer);

toBlob

返回 Blob。适用于浏览器环境。

const blob = await Packer.toBlob(doc);
const url = URL.createObjectURL(blob);

// 触发下载
const a = document.createElement("a");
a.href = url;
a.download = "output.docx";
a.click();
URL.revokeObjectURL(url);

toBase64String

返回 Base64 编码的字符串。适用于 Data URL 或 API 载荷。

const base64 = await Packer.toBase64String(doc);
const dataUrl = `data:application/vnd.openxmlformats-officedocument.wordprocessingml.document;base64,${base64}`;

toString

返回字符串表示。适用于调试。

const str = await Packer.toString(doc);
console.log(str);

toStream

返回 ReadableStream。适用于流式传输大文档。

import { createWriteStream } from "node:fs";

const stream = await Packer.toStream(doc);
const writeStream = createWriteStream("output.docx");
stream.pipeTo(writeStream);

汇总

方法返回类型环境适用场景
toBufferUint8ArrayNode.js文件 I/O
toBlobBlob浏览器下载
toBase64Stringstring任意Data URL、API
toStringstring任意调试
toStreamReadableStreamNode.js大文件
Copyright © 2026