Docxtemplater

 
 

Bibliotecă Node.js gratuită pentru Crearea & Gestionarea Word DOCX din Șabloane

O Bibliotecă Open Source Node.js de top permite Crearea, Editarea și Manipularea Dinamică a Documentelor Word DOCX, XLSX folosind o Abordare Simplă Bazată pe Șabloane prin API JavaScript.

Ce este Docxtemplater?

În lumea digitală rapidă de astăzi, eficiența este esențială, în special când vine vorba de gestionarea documentelor. Fie că utilizatorii trebuie să redacteze contracte, să genereze rapoarte sau să creeze scrisori personalizate, un instrument fiabil pentru automatizarea creării documentelor poate economisi timp și resurse valoroase. Docxtemplater apare ca o bibliotecă puternică care simplifică procesul de generare a documentelor Word din șabloane. Biblioteca permite generarea de documente bazate pe șabloane, în care marcatorii dintr-un șablon de document Word sunt înlocuiți cu date reale pentru a crea documentul final.

În esență, Docxtemplater este o bibliotecă JavaScript open source puternică care permite dezvoltatorilor să creeze și să gestioneze documente Word, Excel și PowerPoint dinamice prin îmbinarea datelor cu un șablon predefinit. Folosind formatul OpenXML, biblioteca oferă control detaliat asupra structurii și conținutului documentelor utilizatorului, permițând inserarea de marcatori care vor fi înlocuiți cu date reale în timpul execuției.

Docxtemplater este o bibliotecă versatilă care permite dezvoltatorilor să automatizeze cu ușurință crearea de documente. Prin utilizarea puterii șabloanelor și a îmbinării datelor, poți simplifica fluxul de lucru al documentelor și poți spori semnificativ productivitatea. Folosind corect biblioteca, dezvoltatorii pot genera cu ușurință documente dinamice adaptate nevoilor specifice. Fie că automatizezi sarcini de generare a documentelor sau personalizezi rapoarte, Docxtemplater este un instrument valoros în arsenalul tău.

Previous Next

Cum să Instalați Docxtemplater?

Pentru a instala Docxtemplater, poți folosi npm, managerul de pachete pentru JavaScript. Te rugăm să folosești comenzile de mai jos pentru o instalare cu succes.

Instalați Docxtemplater prin npm

 npm install --save docxtemplater pizzip

Crearea Documentelor Word prin Șablon în Node.js

Biblioteca open source Docxtemplater facilitează dezvoltatorilor generarea de documente Microsoft Word DOCX utilizând un șablon. Dezvoltatorii pot injecta date dinamice în șablon prin transmiterea unui obiect ce conține perechi cheie‑valoare pentru a înlocui marcatorii cu date reale și crea documentul final. Exemplul următor demonstrează cum dezvoltatorii pot încărca un șablon existent și genera un document Word din el în mediul Node.js.

Cum să Generați un Document Word dintr-un Șablon în 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!');

Adăugarea Funcțiilor Personalizate & Filtrelor în Aplicații Node.js

Funcții Personalizate și Filtre în biblioteca Docxtemplater oferă capabilități avansate pentru manipularea datelor și execuția de operații specifice în șabloane. Ele permit utilizatorilor să extindă funcționalitatea bibliotecii dincolo de înlocuirea simplă a markerilor, permițând generarea dinamică de conținut și procesarea complexă a datelor. Poți defini funcții și filtre personalizate pentru a manipula datele sau a efectua operații specifice în șabloanele tale. Iată un exemplu care arată cum dezvoltatorii pot implementa o funcție personalizată pentru calcularea prețului total al articolelor dintr-un coș de cumpărături și un filtru pentru formatarea valorilor valutare.

Cum să Calculați Prețurile Articolelor dintr-un Coș de Cumpărături prin Funcție Personalizată & Folosiți Filtre pentru Formatarea Valorii Valutare?

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

Suport pentru Formatare Avansată

Biblioteca open source Docxtemplater simplifică procesul de creare și gestionare a documentelor Word oferind o abordare simplă bazată pe șabloane. Suportul pentru formatare avansată în documentele Word se referă la capacitatea de a aplica diverse atribute de stil, cum ar fi stiluri de font, culori, dimensiuni, aliniamente și multe altele la diferite elemente din documentul Word. Aceasta include formatarea textului, tabelelor, imaginilor, paragrafelor, formatului secțiunii, listelor, punctelor de tip bullet și altor conținuturi pentru a îmbunătăți lizibilitatea și aspectul vizual. Iată un exemplu simplu care arată cum să aplici formatare avansată la o parte a textului într-un document.

Cum să aplicați formatare avansată textului utilizând Docxtemplater într-o aplicație 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!');

 Română