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);
汇总
| 方法 | 返回类型 | 环境 | 适用场景 |
|---|---|---|---|
toBuffer | Uint8Array | Node.js | 文件 I/O |
toBlob | Blob | 浏览器 | 下载 |
toBase64String | string | 任意 | Data URL、API |
toString | string | 任意 | 调试 |
toStream | ReadableStream | Node.js | 大文件 |