Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@valentiniljaz/docx-merger

valentiniljaz4.6kApache-2.00.3.3TypeScript support: included

Javascript Library for Merging Docx file in NodeJS and Browser Environment.

docx, composition, document, office, docx merge, microsoft word

readme

Docx-Merger

Javascript Library for Merging Docx files.

This is a fork of https://github.com/scholarcy/docx-merger with updated dependencies and some fixes.

It's only been tested with NodeJS but according to the original authors it should work in the browser too.

The fork has:

  • replaced webpack with esbuild as the build tool
  • added type definitions

Purpose

To merge docx files with rich contents using javascript.

The Library preserves the Styles, Tables, Images, Bullets and Numberings of input files.

Table of Contents

  1. Installation
  2. Usage Nodejs
  3. Usage Browser
  4. TODO
  5. Known Issues

Installation

npm install @valentiniljaz/docx-merger

Back to top

Usage in Nodejs

Read input files as binary and pass it to the DocxMerger constructor fuction as a array of files.

Then call the save function with first argument as nodebuffer, check the example below.

const DocxMerger = require('./../src/index');

const fs = require('fs');
const path = require('path');

(async () => {
    const file1 = fs.readFileSync(path.resolve(__dirname, 'template-0.docx'), 'binary');
    const file2 = fs.readFileSync(path.resolve(__dirname, 'template-1.docx'), 'binary');
    const docx = new DocxMerger();
    await docx.initialize({},[file1,file2]);
    // SAVING THE DOCX FILE
    const data = await docx.save('nodebuffer');
    fs.writeFileSync("output.docx", data);
})()

Back to top

Known Issues

  • Microsoft Word in Windows shows some error due to numbering and styling.

Back to top

See also

If you find this library useful, you might also be interested in my other project, Webacus.

Webacus

Webacus is the all-in-one toolkit designed to streamline the workflow of web developers. It solves the common problem of needing to quickly perform micro-tasks like encoding/decoding strings or formatting data by providing a unified platform with over 120 interconnected tools. Instead of searching for individual online tools, developers can access everything they need within Webacus, benefiting from a consistent interface and the ability to chain operations together for complex tasks. This local-first approach ensures speed, security, and privacy, allowing developers to focus on coding rather than managing tools.