Docxtemplater

 
 

Ingyenes Node.js könyvtár Word DOCX létrehozásához és kezeléséhez sablonokból

Egy vezető nyílt forráskódú Node.js könyvtár, amely egyszerű sablon‑alapú megközelítéssel képes dinamikusan létrehozni, szerkeszteni és manipulálni Word DOCX, XLSX dokumentumokat a JavaScript API-n keresztül.

Mi az a Docxtemplater?

A mai gyors tempójú digitális világban a hatékonyság elengedhetetlen, különösen a dokumentumkezelés terén. Akár szerződések készítésére, jelentések generálására vagy személyre szabott levelek megírására van szükség, egy megbízható eszköz, amely automatizálja a dokumentumkészítést, értékes időt és erőforrásokat takarít meg. Itt jön szóba a Docxtemplater, egy erőteljes könyvtár, amely leegyszerűsíti a Word dokumentumok sablonokból történő generálását. A könyvtár sablon‑alapú dokumentumgenerálást tesz lehetővé, ahol a Word sablonban lévő helyőrzőket valós adatokkal helyettesítik, így jön létre a végső kimeneti dokumentum.

Alapvetően a Docxtemplater egy erőteljes nyílt forráskódú JavaScript könyvtár, amely lehetővé teszi a fejlesztőknek, hogy dinamikus Word, Excel és PowerPoint dokumentumokat hozzanak létre és kezeljenek, adatokat egy előre definiált sablonnal összeolvasztva. Az OpenXML formátum kihasználásával a könyvtár finom kontrollt biztosít a felhasználók dokumentumainak szerkezete és tartalma felett, lehetővé téve helyőrzők beillesztését, amelyeket a futás során valós adatokra cserélnek.

A Docxtemplater egy sokoldalú könyvtár, amely felhatalmazza a fejlesztőket, hogy könnyedén automatizálják a dokumentumkészítést. A sablonok és az adatösszeolvasztás erejét kihasználva egyszerűsítheti dokumentum munkafolyamatát és jelentősen növelheti a termelékenységet. A könyvtár megfelelő használatával a fejlesztők könnyen generálhatnak dinamikus dokumentumokat, amelyek az adott szükségleteikhez igazodnak. Akár a dokumentumkészítés automatizálásáról, akár a jelentések személyre szabásáról van szó, a Docxtemplater értékes eszköz a repertoárjában.

Previous Next

Docxtemplater telepítése

A Docxtemplater telepítéséhez használhatja az npm‑et, a JavaScript csomagkezelőt. Kérjük, a sikeres telepítéshez használja a következő parancsokat.

Docxtemplater telepítése npm‑en keresztül

 npm install --save docxtemplater pizzip

Word dokumentumok létrehozása sablon alapján Node.js-ben

A nyílt forráskódú Docxtemplater könyvtár könnyűvé teszi a fejlesztők számára, hogy sablon segítségével Microsoft Word DOCX dokumentumokat generáljanak. A fejlesztők dinamikus adatokat adhatnak a sablonba egy kulcs‑érték párokat tartalmazó objektum átadásával, amely helyettesíti a helyőrzőket a tényleges adatokkal, így létrehozva a végső kimeneti dokumentumot. Az alábbi példa bemutatja, hogyan tölthetnek be egy meglévő sablont, és hogyan generálhatnak Word dokumentumot a Node.js környezetben.

Hogyan generáljunk Word dokumentumot sablonból a Node.js‑en belül?

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

Egyéni függvények és szűrők hozzáadása Node.js alkalmazásokhoz

A Docxtemplater könyvtárban a testreszabott függvények és szűrők fejlett képességeket biztosítanak az adatok manipulálásához és a sablonokon belüli specifikus műveletek végrehajtásához. Lehetővé teszik a felhasználók számára a könyvtár funkcionalitásának kiterjesztését az egyszerű helyőrzőcsere mellett, dinamikus tartalomgenerálást és összetett adatfeldolgozást biztosítva. Testreszabott függvényeket és szűrőket definiálhat, hogy adatokat manipuláljon vagy speciális műveleteket hajtson végre a sablonjában. Itt egy példa, amely megmutatja, hogyan valósíthat meg egy egyéni függvényt a kosárban lévő tételek összárának kiszámításához, valamint egy szűrőt a pénzösszeg formázásához.

Hogyan számítsuk ki a kosárban lévő tételek árát egy egyéni függvény segítségével és hogyan formázzuk a pénznem értékeket szűrőkkel?

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

Rich formázás támogatása

A nyílt forráskódú Docxtemplater egyszerűsíti a Word dokumentumok létrehozását és kezelését egy átlátható sablon‑alapú megközelítéssel. A rich formázás támogatása a Word dokumentumokban azt jelenti, hogy különböző stílus attribútumokat, például betűstílusokat, színeket, méreteket, igazításokat és egyebeket alkalmazhat a dokumentum különböző elemeire. Ez magában foglalja a szöveg, táblázatok, képek, bekezdések, szakaszformázás, listák, felsorolási pontok és egyéb tartalmak formázását, hogy javítsa az olvashatóságot és a vizuális vonzerőt. Itt egy egyszerű példa, amely bemutatja, hogyan alkalmazhat rich formázást egy szövegrészre a dokumentumon belül.

Hogyan alkalmazzunk rich formázást a szövegre a Docxtemplater használatával egy Node.js alkalmazásban?

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

 Magyar