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