1. 产品
  2.   字处理
  3.   JavaScript
  4.   docxtemplater

docxtemplater

 
 

通过 JavaScript 从模板生成 Word DOCX

用于创建、修改和转换 Microsoft® Word DOCX 文件的 JavaScript 库。 

什么是 docxtemplater?

docxtemplater 是一个开源 JavaScript 库,可帮助从模板创建和编辑 Word DOCX 文件。 Word JavaScript 库使用户能够使用 Word 本身自定义生成的文档。该库易于处理,不需要任何技术技能即可编辑 Word 模板。该库还为特定功能提供了几个模块。

docxtemplater 库支持与 DOCX 文件创建和处理相关的多项功能,例如添加图像、在 Word 文档中插入格式化文本、插入页眉/页脚、使用任何现有属性替换图像、创建表格、添加水印文本、更新页边距、插入文档的脚注等等。

Previous Next

如何安装 docxtemplater?

安装 docxtemplater 的推荐和最简单的方法是通过 npm。请使用以下命令进行顺利安装。

通过 npm 安装 docxtemplater

 npm install docxtemplater pizzip 

通过 JavaScript 生成 Word DOCX

docxtemplater 库有助于在 Node.js 应用程序以及浏览器中轻松创建 DOCX 文档。它还允许修改现有的 DOCX 文档以插入表格、图像、文本、段落等。

更新DOCX字到JavaScript

const PizZip = require("pizzip");
const Docxtemplater = require("docxtemplater");
const fs = require("fs");
const path = require("path");
// Load the docx file as binary content
const content = fs.readFileSync(
    path.resolve(__dirname, "input.docx"),
    "binary"
);
const zip = new PizZip(content);
const doc = new Docxtemplater(zip, {
    paragraphLoop: true,
    linebreaks: true,
});
// Render the document (Replace {first_name} by John, {last_name} by Doe, ...)
doc.render({
    first_name: "John",
    last_name: "Doe",
    phone: "0652455478",
});
const buf = doc.getZip().generate({
    type: "nodebuffer",
    compression: "DEFLATE",
});
// buf is a nodejs Buffer, you can either write it to a
// file or res.send it with express for example.
fs.writeFileSync(path.resolve(__dirname, "output.docx"), buf);

在 Word 文档中插入和管理表格

docxtemplater 库使软件开发人员只需几行 JavaScript 代码即可创建一个表格。该库包含多种在文档中创建和管理表格的方法,例如从头开始创建表格、创建垂直循环表格或通过复制单元格、合并表格的单元格、插入行和列、定义行和列的宽度等等。

将脚注添加到 Word 文档

免费的 docxtemplater 库支持向 DOCX Word 文档添加脚注。该库可以完全控制脚注的自定义。您可以在上标中添加数字,并轻松地将不同的样式应用于脚注的内容。

通过JavaScript加上脚注

const imageOpts = {
    getProps: function (img, tagValue, tagName) {
        /*
         * If you don't want to change the props
         * for a given tagValue, you should write :
         *
         * return null;
         */
        return {
            rotation: 90,
            // flipVertical: true,
            // flipHorizontal: true,
        };
    },
    getImage: function (tagValue, tagName) {
        return fs.readFileSync(tagValue);
    },
    getSize: function (img, tagValue, tagName) {
        return [150, 150];
    },
};
const doc = new Docxtemplater(zip, {
    modules: [new ImageModule(imageOpts)],
});

在 DOCX 中添加和修改图像

开源 docxtemplater 库使软件程序员能够在 Word 文档中插入图像。该库允许设置图像宽度和高度、对齐图像、为图像添加标题、使用角度表达式设置图像大小等。您还可以从任何数据源检索图像数据,例如 base64 数据、文件系统、URL 和 Amazon S3 存储的图像。该库的一大特色是您可以避免图片大于其容器。

通过JavaScript条旋转和翻转图像

const imageOpts = {
    getProps: function (img, tagValue, tagName) {
        /*
         * If you don't want to change the props
         * for a given tagValue, you should write :
         *
         * return null;
         */
        return {
            rotation: 90,
            // flipVertical: true,
            // flipHorizontal: true,
        };
    },
    getImage: function (tagValue, tagName) {
        return fs.readFileSync(tagValue);
    },
    getSize: function (img, tagValue, tagName) {
        return [150, 150];
    },
};
const doc = new Docxtemplater(zip, {
    modules: [new ImageModule(imageOpts)],
});
 中国人