docxtemplater
Générer Word DOCX à partir de modèles via JavaScript
Bibliothèque JavaScript pour créer, modifier et convertir des fichiers Microsoft® Word DOCX.
Qu'est-ce qu'un docxtemplater ?
docxtemplater est une bibliothèque JavaScript open source qui aide à créer et à modifier des fichiers Word DOCX à partir d'un modèle. La bibliothèque Word JavaScript permet aux utilisateurs de personnaliser les documents générés à l'aide de Word lui-même. La bibliothèque est facile à prendre en main et ne nécessite aucune compétence technique pour éditer un modèle Word. La bibliothèque a également fourni plusieurs modules pour des fonctionnalités spécifiques.
La bibliothèque docxtemplater prend en charge plusieurs fonctionnalités liées à la création et à la gestion de fichiers DOCX, telles que l'ajout d'images, l'insertion de texte formaté dans un document Word, l'insertion d'en-têtes/pieds de page, le remplacement d'image par des propriétés existantes, la création de tableaux, l'ajout de texte en filigrane, la mise à jour des marges de page, l'insertion des notes de bas de page à un document et bien plus encore.
Comment installer docxtemplater ?
La méthode recommandée et la plus simple pour installer docxtemplater est via npm. Veuillez utiliser la commande suivante pour une installation fluide.
Installer docxtemplater via npm
npm install docxtemplater pizzip
Générer Word DOCX via JavaScript
La bibliothèque docxtemplater aide à créer facilement des documents DOCX dans une application Node.js ainsi que dans le navigateur. Il permet également de modifier les documents DOCX existants pour insérer des tableaux, des images, du texte, des paragraphes, etc.
Mise à jour Word DOCX via 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);
Insérer et gérer des tableaux dans des documents Word
La bibliothèque docxtemplater permet aux développeurs de logiciels de créer un tableau avec seulement quelques lignes de code JavaScript. La bibliothèque a inclus plusieurs méthodes pour créer et gérer des tableaux dans un document, telles que la création de tableaux à partir de zéro, la création de tableaux en boucle verticale ou en copiant des cellules, en fusionnant des cellules d'un tableau, en insérant des lignes et des colonnes, en définissant une largeur pour les lignes et la colonne. etc.
Ajouter une note de bas de page à un document Word
La bibliothèque gratuite docxtemplater inclut la prise en charge de l'ajout de notes de bas de page à un document DOCX Word. La bibliothèque donne un contrôle total pour la personnalisation des notes de bas de page. Vous pouvez ajouter des nombres en exposant et appliquer facilement différents styles au contenu de la note de bas de page.
Ajouter Référence aux documents par 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)],
});
Ajouter et modifier des images dans DOCX
La bibliothèque open source docxtemplater donne aux programmeurs de logiciels le pouvoir d'insérer des images dans un document Word. La bibliothèque permet de définir la largeur et la hauteur de l'image, d'aligner les images, d'ajouter une légende aux images, d'utiliser des expressions angulaires pour définir la taille des images, etc. Vous pouvez également récupérer des données d'image à partir de n'importe quelle source de données, telle que des données base64, un système de fichiers, une URL et une image stockée Amazon S3. Une grande fonctionnalité de la bibliothèque est que vous pouvez éviter les images plus grandes que leur conteneur.
Images rotatives et en feuilles par 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)],
});