docxtemplater
Створіть Word DOCX із шаблонів за допомогою JavaScript
Бібліотека JavaScript для створення, зміни та конвертації файлів Microsoft® Word DOCX.
Що таке docxtemplater?
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 з відкритим кодом дає програмістам можливість вставляти зображення в документ Word. Бібліотека дозволяє встановлювати ширину та висоту зображення, вирівнювати зображення, додавати підписи до зображень, використовувати кутові вирази для встановлення розмірів зображень тощо. Ви також можете отримати дані зображення з будь-якого джерела даних, наприклад даних base64, файлової системи, URL-адреси та збереженого зображення Amazon S3. Однією з чудових особливостей бібліотеки є те, що ви можете уникнути зображень, які перевищують розмір контейнера.
Rotate і Flip Зображення через 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)],
});