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