
Docxtemplater
Bibliothèque Node.js gratuite pour créer & gérer des DOCX Word à partir de modèles
Une bibliothèque Node.js open source de premier plan permet de créer, éditer et manipuler des documents Word DOCX, XLSX de manière dynamique en utilisant une approche simple basée sur des modèles via l'API JavaScript.
Qu'est-ce que Docxtemplater ?
Dans le monde numérique actuel, où tout va très vite, l'efficacité est primordiale, surtout en matière de gestion de documents. Que les utilisateurs aient besoin de rédiger des contrats, de générer des rapports ou de créer des lettres personnalisées, disposer d'un outil fiable pour automatiser la création de documents peut leur faire gagner un temps et des ressources précieux. Voici Docxtemplater, une bibliothèque puissante qui simplifie le processus de génération de documents Word à partir de modèles. La bibliothèque permet la génération de documents basée sur des modèles, où les espaces réservés au sein d'un modèle de document Word sont remplacés par les données réelles pour créer le document final.
En son cœur, Docxtemplater est une puissante bibliothèque JavaScript open source qui permet aux développeurs de créer et gérer des documents Word, Excel et PowerPoint dynamiques en fusionnant des données avec un modèle pré-défini. En tirant parti du format OpenXML, la bibliothèque offre un contrôle précis sur la structure et le contenu des documents des utilisateurs, leur permettant d'insérer des espaces réservés qui seront remplacés par les données réelles lors de l'exécution.
Docxtemplater est une bibliothèque polyvalente qui permet aux développeurs d'automatiser facilement la création de documents. En exploitant la puissance des modèles et de la fusion de données, vous pouvez rationaliser votre flux de travail documentaire et augmenter considérablement la productivité. En utilisant correctement la bibliothèque, les développeurs peuvent facilement générer des documents dynamiques adaptés à leurs besoins spécifiques. Que vous automatisiez la génération de documents ou que vous personnalisiez des rapports, Docxtemplater est un outil précieux dans votre arsenal.
Comment installer Docxtemplater ?
Pour installer Docxtemplater, vous pouvez utiliser npm, le gestionnaire de paquets pour JavaScript. Veuillez utiliser les commandes suivantes pour une installation réussie.
Installer Docxtemplater via npm
npm install --save docxtemplater pizzipCréation de documents Word via un modèle dans Node.js
La bibliothèque open source Docxtemplater facilite aux développeurs la génération de documents Microsoft Word DOCX en utilisant un modèle. Les développeurs peuvent injecter des données dynamiques dans le modèle en passant un objet contenant des paires clé-valeur afin de remplacer les espaces réservés par des données réelles pour créer le document final. L'exemple suivant montre comment les développeurs peuvent charger un modèle existant et générer un document Word à partir de celui-ci dans un environnement Node.js.
Comment générer un document Word à partir d'un modèle dans Node.js ?
const fs = require('fs');
const Docxtemplater = require('docxtemplater');
// Load the template
const content = fs.readFileSync('template.docx', 'binary');
const doc = new Docxtemplater(content);
// Set data to fill placeholders
const data = {
firstName: 'John',
lastName: 'Doe'
};
// Replace placeholders with actual data
doc.setData(data);
// Render the document
doc.render();
// Save the generated document
const output = fs.writeFileSync('output.docx', doc.getZip().generate({type: 'nodebuffer'}));
console.log('Document generated successfully!');
Ajouter des fonctions et filtres personnalisés dans les applications Node.js
Les fonctions et filtres personnalisés dans la bibliothèque Docxtemplater offrent des capacités avancées pour manipuler les données et effectuer des opérations spécifiques au sein des modèles. Ils permettent aux utilisateurs d'étendre les fonctionnalités de la bibliothèque au-delà du simple remplacement d'espaces réservés, permettant la génération de contenu dynamique et le traitement de données complexes. Vous pouvez définir des fonctions et filtres personnalisés pour manipuler les données ou réaliser des opérations spécifiques dans vos modèles. Voici un exemple montrant comment les développeurs peuvent implémenter une fonction personnalisée pour calculer le prix total des articles dans un panier et un filtre pour formater les valeurs monétaires.
Comment calculer les prix des articles dans un panier via une fonction personnalisée & utiliser des filtres pour formater la valeur monétaire ?
const fs = require('fs');
const Docxtemplater = require('docxtemplater');
// Define custom function to calculate total price
function calculateTotal(items) {
return items.reduce((total, item) => total + item.price * item.quantity, 0);
}
// Define custom filter to format currency
function formatCurrency(value) {
return '$' + value.toFixed(2); // Format as dollars with 2 decimal places
}
// Load the template
const content = fs.readFileSync('template.docx', 'binary');
const doc = new Docxtemplater(content, {
parser: {
// Define custom tag for invoking functions
getFunction: function(tag) {
if (tag === 'calculateTotal') {
return calculateTotal;
}
},
// Define custom tag for applying filters
getFilter: function(tag) {
if (tag === 'currency') {
return formatCurrency;
}
}
}
});
// Set data with shopping cart items
const data = {
items: [
{ name: 'Product 1', price: 10, quantity: 2 },
{ name: 'Product 2', price: 20, quantity: 1 },
{ name: 'Product 3', price: 15, quantity: 3 }
]
};
// Replace placeholders with actual data
doc.setData(data);
// Render the document
doc.render();
// Save the generated document
const output = fs.writeFileSync('output.docx', doc.getZip().generate({ type: 'nodebuffer' }));
console.log('Document generated successfully!');
Support de mise en forme riche
La bibliothèque open source Docxtemplater simplifie le processus de création et de gestion de documents Word en offrant une approche simple basée sur des modèles. Le support de mise en forme riche dans les documents Word fait référence à la capacité d'appliquer divers attributs de style tels que les polices, les couleurs, les tailles, les alignements, etc., à différents éléments du document Word. Cela inclut le formatage du texte, des tableaux, des images, des paragraphes, la mise en forme des sections, des listes, des puces et d'autres contenus afin d'améliorer la lisibilité et l'attrait visuel. Voici un exemple simple montrant comment appliquer une mise en forme riche à une partie du texte dans un document.
Comment appliquer une mise en forme riche au texte en utilisant Docxtemplater dans une application Node.js ?
// Render the document with custom parser options for rich formatting
doc.render({
parser: {
// Custom tag for interpreting HTML-like tags for rich formatting
tagToken: function(tag) {
return {
tagName: tag.substring(1),
mode: 'open'
};
},
// Apply rich formatting based on tag names
commands: {
b: function(scope, context, tag) {
return {
type: 'applyRichText',
value: { b: true }
};
},
i: function(scope, context, tag) {
return {
type: 'applyRichText',
value: { i: true }
};
},
u: function(scope, context, tag) {
return {
type: 'applyRichText',
value: { u: true }
};
},
strike: function(scope, context, tag) {
return {
type: 'applyRichText',
value: { strike: true }
};
}
}
}
});
// Save the generated document
const output = fs.writeFileSync('output.docx', doc.getZip().generate({ type: 'nodebuffer' }));
console.log('Document generated successfully!');
