@benedicte/docx-merge

中文文档
0.1.3发布于 2025/09/09MITTypeScriptESM + CJS近 30 天下载 4983

一个用 TypeScript 编写的快节点Js 库,用于将两个Microsoft Word(.docx)文档合并为一.

中文使用文档
文档目录12 节
  1. * 安装
  2. 依赖关系
  3. • API
  4. 实例
  5. 替换源 DOCX 中的占位符
  6. 通过缓冲获得合并结果
  7. 作为缓冲输入文件
  8. 在文档开头插入
  9. 在文档末尾插入
  10. 测试
  11. 许可证
  12. 捐款

{\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}请检查date=中的日期值 (帮助)

以 TypeScript 为合并两个 Microsoft Word 编写的快而轻的节点.js 库 (.docx文档为一。 在具体位置上或根据占位符模式轻松地插入内容.


* 安装

通过 npm 安装 :

npm install @benedicte/docx-merge

依赖关系

只有两个轻度依赖:

  • adm-zip - 用于提取并重建.docx(ZIP)文件
  • fast-xml-parser - 用于解析和修改 DOCX XML 内容

• API

mergeDocx(
  sourcePathOrBuffer: string | Buffer,
  contentPathOrBuffer: string | Buffer,
  options: {
    outputPath?: string;
    pattern?: string;
    insertStart?: boolean;
    insertEnd?: boolean;
  }
): void | buffer

参数:

  • sourcePathOrBuffer (单位:千美元)所需经费) — 通往基地的道路 .docx 文件或缓冲
  • contentPathOrBuffer (单位:千美元)所需经费) - 通往 .docx 要插入到底部或缓冲的文件
  • options数字 :
    • outputPath – 如果提供, 将合并文档写入此路径 。 如果省略,返回 a Buffer
    • pattern - 源文件中的字符串模式以插入的内容取代
    • insertStart - 在 开始 源文件名称
    • insertEnd - 在 结束 源文件名称

QQ 注:您可以组合图案,插入Start,并插入End和至少一个.

实例

替换源 DOCX 中的占位符

import { mergeDocx } from "@benedicte/docx-merge";

mergeDocx("./source.docx", "./table.docx", {
  outputPath: "./output.docx",
  pattern: "{{table}}",
});

通过缓冲获得合并结果

import { mergeDocx } from "@benedicte/docx-merge";

const buffer = mergeDocx("./source.docx", "./table.docx", {
  pattern: "{{table}}",
});

// Use buffer (e.g., send as a response in a server)

作为缓冲输入文件

import { mergeDocx } from "@benedicte/docx-merge";

const sourceBuffer = readFileSync('./source_file.docx');
const contentBuffer = readFileSync('./content_to_insert_in_source_file.docx');

const buffer = mergeDocx(sourceBuffer, contentBuffer, {
  outputPath: "./output.docx",
  pattern: "{{table}}",
});

在文档开头插入

import { mergeDocx } from "@benedicte/docx-merge";

mergeDocx("./source.docx", "./table.docx", {
  outputPath: "./output.docx",
  insertStart: true,
});

在文档末尾插入

import { mergeDocx } from "@benedicte/docx-merge";

mergeDocx("./source.docx", "./table.docx", {
  outputPath: "./output.docx",
  insertEnd: true,
});

测试

本项目使用Vitest进行单位测试.

进行测试:

npm run test

许可证

麻省理工学院

捐款

欢迎投稿、错误报告和特性请求! 可以随意打开一个问题或提交拉动请求.

版本与发布记录

@benedicte/docx-merge 共发布 7 个版本,首次发布于 2025/05/06;过去 12 个月发布了 0 个版本。

版本发布日期距今
0.1.3latest2025/09/091.2 年前
0.1.22025/05/071.5 年前
0.1.12025/05/061.5 年前
0.1.02025/05/061.5 年前
0.1.0-rc52025/05/061.5 年前
0.1.0-rc42025/05/061.5 年前

关于 @benedicte/docx-merge 的常见问题

@benedicte/docx-merge 是什么?

一个用 TypeScript 编写的快节点Js 库,用于将两个Microsoft Word(.docx)文档合并为一.

如何安装 @benedicte/docx-merge?

在项目目录运行 npm install @benedicte/docx-merge,或使用 pnpm add / yarn add / bun add。

@benedicte/docx-merge 支持 TypeScript 吗?

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

@benedicte/docx-merge 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@benedicte/docx-merge 可以商用吗?

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

@benedicte/docx-merge 的下载量有多少?

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

@benedicte/docx-merge 还在维护吗?

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