docxtemplater
Создание Word DOCX из шаблонов с помощью JavaScript
Библиотека JavaScript для создания, изменения и преобразования файлов Microsoft® Word DOCX.
Что такое шаблон документа?
docxtemplater — это библиотека JavaScript с открытым исходным кодом, которая помогает создавать и редактировать файлы Word DOCX из шаблона. Библиотека Word JavaScript позволяет пользователям настраивать сгенерированные документы с помощью самого Word. Библиотека проста в обращении и не требует никаких технических навыков для редактирования шаблона Word. Библиотека также предоставила несколько модулей для определенных функций.
Библиотека docxtemplater поддерживает несколько функций, связанных с созданием и обработкой файлов DOCX, таких как добавление изображений, вставка форматированного текста в документ Word, вставка верхних и нижних колонтитулов, замена изображения любыми существующими свойствами, создание таблиц, добавление текста водяного знака, обновление полей страницы, вставка. сноски к документу и многое другое.
Как установить 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)],
});