1. Produkter
  2.   Tekstbehandling
  3.   Node.js
  4.   Docxtemplater

Docxtemplater

 
 

Gratis Node.js-bibliotek for å opprette og håndtere Word DOCX fra maler

Et ledende åpen kildekode Node.js-bibliotek gjør det mulig å opprette, redigere og manipulere Word DOCX- og XLSX-dokumenter dynamisk ved bruk av en enkel malbasert tilnærming via JavaScript-API.

Hva er Docxtemplater?

I dagens raske digitale verden er effektivitet avgjørende, spesielt når det gjelder dokumenthåndtering. Enten brukerne trenger å utarbeide kontrakter, generere rapporter eller lage personlige brev, kan et pålitelig verktøy som automatiserer dokumentopprettelse spare dem verdifull tid og ressurser. Her kommer Docxtemplater, et kraftig bibliotek som forenkler prosessen med å generere Word-dokumenter fra maler. Biblioteket muliggjør malbasert dokumentgenerering, der plassholdere i en Word-malm erstattes med faktiske data for å skape det endelige output-dokumentet.

I kjernen er Docxtemplater et kraftig åpen kildekode JavaScript-bibliotek som gjør det mulig for programvareutviklere å opprette og håndtere dynamiske Word-, Excel- og PowerPoint-dokumenter ved å slå sammen data med en forhåndsdefinert mal. Ved å utnytte OpenXML-formatet gir biblioteket finjustert kontroll over strukturen og innholdet i brukerens dokumenter, og lar dem sette inn plassholdere som vil bli erstattet med faktiske data under kjøring.

Docxtemplater er et allsidig bibliotek som gir programvareutviklere muligheten til enkelt å automatisere dokumentopprettelse. Ved å utnytte kraften i maler og datamerging kan du strømlinjeforme dokumentarbeidsflyten din og betydelig øke produktiviteten. Ved riktig bruk av biblioteket kan programvareutviklere enkelt generere dynamiske dokumenter skreddersydd til deres spesifikke behov. Enten du automatiserer oppgaver for dokumentgenerering eller tilpasser rapporter, er Docxtemplater et verdifullt verktøy i verktøykassen din.

Previous Next

Hvordan installere Docxtemplater?

For å installere Docxtemplater kan du bruke npm, pakkebehandleren for JavaScript. Vennligst bruk følgende kommandoer for en vellykket installasjon.

Installer Docxtemplater via npm

 npm install --save docxtemplater pizzip

Opprettelse av Word-dokumenter via mal i Node.js

Det åpne kildekodebiblioteket Docxtemplater gjør det enkelt for programvareutviklere å generere Microsoft Word DOCX-dokumenter ved bruk av en mal. Programvareutviklere kan injisere dynamiske data i malen ved å sende et objekt med nøkkel‑verdi‑par som erstatter plassholdere med faktiske data for å lage det endelige output-dokumentet. Følgende eksempel viser hvordan utviklere kan laste inn en eksisterende mal og generere et Word-dokument fra den i et Node.js-miljø.

Hvordan generere Word-dokument fra en mal i 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!');

Legg til egendefinerte funksjoner og filtre i Node.js-apper

Egendefinerte funksjoner og filtre i Docxtemplater-biblioteket tilbyr avanserte muligheter for å manipulere data og utføre spesifikke operasjoner innen maler. De gjør det mulig for brukere å utvide funksjonaliteten til biblioteket utover enkel erstatning av plassholdere, og tillater dynamisk innholdsgenerering og kompleks databehandling. Du kan definere egendefinerte funksjoner og filtre for å manipulere data eller utføre spesifikke operasjoner i malene dine. Her er et eksempel som viser hvordan utviklere kan implementere en egendefinert funksjon for å beregne totalprisen på varer i en handlekurv og et filter for å formatere valutaverdier.

Hvordan beregne prisene på varer i en handlekurv via egendefinert funksjon og bruke filtre for å formatere valutaverdier?

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

Støtte for rik formatering

Det åpne kildekodebiblioteket Docxtemplater forenkler prosessen med å opprette og håndtere Word-dokumenter ved å tilby en rettlinjet malbasert tilnærming. Støtte for rik formatering i Word-dokumenter refererer til muligheten til å anvende ulike stilistiske attributter som skriftstiler, farger, størrelser, justeringer og mer på forskjellige elementer i Word-dokumentet. Dette inkluderer formatering av tekst, tabeller, bilder, avsnitt, seksjonsformatering, lister, punktlister og annet innhold for å forbedre lesbarhet og visuell appell. Her er et enkelt eksempel som viser hvordan du kan bruke rik formatering på en del av teksten i et dokument.

Hvordan bruke rik formatering på tekst ved hjelp av Docxtemplater i en Node.js-applikasjon?

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

 Norsk