1. Producten
  2.   Tekstverwerking
  3.   Node.js
  4.   Docxtemplater

Docxtemplater

 
 

Gratis Node.js bibliotheek om Word DOCX vanuit sjablonen te maken & beheren

Een leidende opensource Node.js bibliotheek maakt het mogelijk om dynamisch Word DOCX‑ en XLSX‑documenten te maken, bewerken en manipuleren met een simpele sjabloongebaseerde aanpak via de JavaScript‑API.

Wat is Docxtemplater?

In de snelle digitale wereld van vandaag is efficiëntie cruciaal, zeker als het gaat om documentbeheer. Of gebruikers nu contracten moeten opstellen, rapporten moeten genereren of persoonlijke brieven moeten schrijven, een betrouwbaar hulpmiddel om documentcreatie te automatiseren bespaart kostbare tijd en middelen. Daar komt Docxtemplater om de hoek kijken: een krachtige bibliotheek die het proces van het genereren van Word‑documenten vanuit sjablonen vereenvoudigt. De bibliotheek maakt sjabloon‑gebaseerde documentgeneratie mogelijk, waarbij plaatsaanduidingen in een Word‑sjabloon worden vervangen door daadwerkelijke gegevens om het uiteindelijke document te maken.

In de kern is Docxtemplater een krachtige opensource JavaScript‑bibliotheek die ontwikkelaars in staat stelt dynamische Word‑, Excel‑ en PowerPoint‑documenten te maken en te beheren door gegevens te combineren met een vooraf gedefinieerd sjabloon. Door gebruik te maken van het OpenXML‑formaat biedt de bibliotheek fijnmazige controle over de structuur en inhoud van documenten, waardoor plaatsaanduidingen kunnen worden ingevoegd die tijdens runtime worden vervangen door real‑time gegevens.

Docxtemplater is een veelzijdige bibliotheek die ontwikkelaars in staat stelt om documentcreatie moeiteloos te automatiseren. Door de kracht van sjablonen en gegevenssamenvoeging te benutten, kun je je documentworkflow stroomlijnen en de productiviteit aanzienlijk verhogen. Als je de bibliotheek op de juiste manier gebruikt, kun je eenvoudig dynamische documenten genereren die zijn afgestemd op jouw specifieke behoeften. Of je nu taken voor documentgeneratie automatiseert of rapporten personaliseert, Docxtemplater is een waardevol hulpmiddel in je arsenaal.

Previous Next

Hoe Docxtemplater installeren?

Om Docxtemplater te installeren, kun je npm gebruiken, de pakketbeheerder voor JavaScript. Gebruik de volgende opdrachten voor een geslaagde installatie.

Installeer Docxtemplater via npm

 npm install --save docxtemplater pizzip

Word‑documenten maken via sjabloon in Node.js

De opensource Docxtemplater‑bibliotheek maakt het eenvoudig voor ontwikkelaars om Microsoft Word DOCX‑documenten te genereren met behulp van een sjabloon. Ontwikkelaars kunnen dynamische gegevens in het sjabloon injecteren door een object met sleutel‑waardeparen te leveren die plaatsaanduidingen vervangen door feitelijke gegevens om het uiteindelijke document te creëren. Het onderstaande voorbeeld toont hoe ontwikkelaars een bestaand sjabloon kunnen laden en er een Word‑document van kunnen genereren binnen een Node.js‑omgeving.

Hoe een Word‑document genereren vanuit een sjabloon in 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!');

Aangepaste functies en filters toevoegen in Node.js‑apps

Aangepaste functies en filters in de Docxtemplater‑bibliotheek bieden geavanceerde mogelijkheden om gegevens te manipuleren en specifieke handelingen binnen sjablonen uit te voeren. Ze stellen gebruikers in staat om de functionaliteit van de bibliotheek uit te breiden voorbij eenvoudige plaatsaanduiding‑vervanging, waardoor dynamische contentcreatie en complexe gegevensverwerking mogelijk worden. Je kunt aangepaste functies en filters definiëren om gegevens te manipuleren of specifieke handelingen binnen je sjablonen uit te voeren. Hieronder vind je een voorbeeld waarin ontwikkelaars een aangepaste functie implementeren om de totale prijs van items in een winkelwagen te berekenen en een filter om valutawaarden op te maken.

Hoe de prijzen van items in een winkelwagen berekenen via een aangepaste functie & filters gebruiken om valuta te formatteren?

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!');

Ondersteuning voor uitgebreide opmaak

De opensource Docxtemplater vereenvoudigt het maken en beheren van Word‑documenten door een eenvoudige sjabloongebaseerde aanpak te bieden. Ondersteuning voor uitgebreide opmaak in Word‑documenten betekent dat je verschillende stylingeigenschappen kunt toepassen, zoals lettertype‑stijlen, kleuren, groottes, uitlijningen en meer, op verschillende elementen binnen het Word‑document. Dit omvat het opmaken van tekst, tabellen, afbeeldingen, alinea's, sectie‑opmaak, lijstjes, opsommingstekens en andere inhoud om de leesbaarheid en visuele aantrekkelijkheid te verbeteren. Hieronder zie je een simpel voorbeeld dat laat zien hoe je Rich Formatting toepast op een stuk tekst in een document.

Hoe rijke opmaak toepassen op tekst met Docxtemplater in een Node.js‑applicatie?

// 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!');

 Dutch