# @benedicte/docx-merge 中文文档

规范地址：https://npmcn.com/package/%40benedicte/docx-merge/

版本：0\.1\.3
npm 元数据更新时间：2025-09-09T08:59:24.778Z
中文译文更新时间：2026-11-07T22:11:15.382Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40benedicte/docx-merge
原文对照：https://npmcn.com/package/%40benedicte/docx-merge/?lang=original
项目主页：https://github.com/BenedicteGiraud/docx-merge-js#readme
源码仓库：https://github.com/BenedicteGiraud/docx-merge-js

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：21.1 kB，6 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：2 个
- 首次发布：2025-05-05T21:54:09.649Z
- 最新版本发布：2025-09-09T08:59:24.279Z
- 近 30 天下载量：4983（2026-10-08 至 2026-11-06，npm 官方下载统计）
- 已发布版本数：7（近 12 个月 0 个）

## 中文简介

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

## 安装

```sh
npm install @benedicte/docx-merge
```

也可以使用：`pnpm add @benedicte/docx-merge`、`yarn add @benedicte/docx-merge`、`bun add @benedicte/docx-merge`

## README

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

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

* * *

## \* 安装

通过 npm 安装 :

```bash
npm install @benedicte/docx-merge
```

## 依赖关系

只有两个轻度依赖:

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

## • API

```ts
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 中的占位符

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

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

### 通过缓冲获得合并结果

```ts
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)
```

### 作为缓冲输入文件

```ts
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}}",
});
```

### 在文档开头插入

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

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

### 在文档末尾插入

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

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

## 测试

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

进行测试:

```bash
npm run test
```

## 许可证

麻省理工学院

## 捐款

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

## 常见问题

### @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 和提交记录判断。

