docxtemplater

 
 

Создание Word DOCX из шаблонов с помощью JavaScript

Библиотека JavaScript для создания, изменения и преобразования файлов Microsoft® Word DOCX. 

Что такое шаблон документа?

docxtemplater — это библиотека JavaScript с открытым исходным кодом, которая помогает создавать и редактировать файлы Word DOCX из шаблона. Библиотека Word JavaScript позволяет пользователям настраивать сгенерированные документы с помощью самого Word. Библиотека проста в обращении и не требует никаких технических навыков для редактирования шаблона Word. Библиотека также предоставила несколько модулей для определенных функций.

Библиотека docxtemplater поддерживает несколько функций, связанных с созданием и обработкой файлов DOCX, таких как добавление изображений, вставка форматированного текста в документ Word, вставка верхних и нижних колонтитулов, замена изображения любыми существующими свойствами, создание таблиц, добавление текста водяного знака, обновление полей страницы, вставка. сноски к документу и многое другое.

Previous Next

Как установить docxtemplater?

Рекомендуемый и самый простой способ установить docxtemplater — через npm. Пожалуйста, используйте следующую команду для плавной установки.

Установите docxtemplater через npm

 npm install docxtemplater pizzip 

Создание Word DOCX с помощью JavaScript

Библиотека docxtemplater помогает с легкостью создавать документы DOCX как в приложении Node.js, так и в браузере. Он также позволяет изменять существующие документы DOCX для вставки таблиц, изображений, текста, абзацев и т. д.

Обновление Word 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 с открытым исходным кодом дает программистам возможность вставлять изображения в текстовый документ. Библиотека позволяет устанавливать ширину и высоту изображения, выравнивать изображения, добавлять подписи к изображениям, использовать угловые выражения для установки размеров изображений и т.д. Вы также можете получить данные изображения из любого источника данных, например данных base64, файловой системы, URL-адреса и сохраненного изображения Amazon S3. Одной из замечательных особенностей библиотеки является то, что вы можете избегать изображений больше, чем их контейнер.

Rotate and Flip Images через 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)],
});
 Русский