
Docxtemplater
Bezmaksas Node.js bibliotēka Word DOCX izveidei un pārvaldībai no šabloniem
Vadoša atvērtā koda Node.js bibliotēka ļauj dinamiski izveidot, rediģēt un manipulēt ar Word DOCX, XLSX dokumentiem, izmantojot vienkāršu šablonu pieeju, izmantojot JavaScript API.
Kas ir Docxtemplater?
Mūsdienu strauji mainīgajā digitālajā pasaulē efektivitāte ir svarīga, īpaši, ja runa ir par dokumentu pārvaldību. Neatkarīgi no tā, vai lietotājiem nepieciešams sagatavot līgumus, ģenerēt atskaites vai veidot personalizētus vēstules, uzticams rīks automatizēt dokumentu izveidi var ietaupīt vērtīgu laiku un resursus. Šeit nāk Docxtemplater, spēcīga bibliotēka, kas vienkāršo Word dokumentu ģenerēšanas no šabloniem procesu. Bibliotēka ļauj ģenerēt dokumentus, pamatojoties uz šabloniem, kur Word šablona vietturi tiek aizstāti ar faktiskiem datiem, izveidojot galīgo izvades dokumentu.
Savā kodolā Docxtemplater ir spēcīga atvērta koda JavaScript bibliotēka, kas ļauj programmatūras izstrādātājiem izveidot un pārvaldīt dinamiskus Word, Excel un PowerPoint dokumentus, apvienojot datus ar iepriekš definētu šablonu. Izmantojot OpenXML formātu, bibliotēka nodrošina smalku lietotāja dokumentu struktūras un satura kontroli, ļaujot ievietot vietturus, kas darbināšanas laikā tiks aizstāti ar faktiskiem datiem.
Docxtemplater ir universāla bibliotēka, kuras ļauj programmatūras izstrādātājiem vienkārši automatizēt dokumentu izveidi. Izmantojot šablonu un datu apvienošanas spēku, varat vienkāršot dokumentu darba plūsmu un būtiski palielināt produktivitāti. Pareizi lietojot bibliotēku, programmatūras izstrādātāji var viegli ģenerēt dinamiskus dokumentus, kas pielāgoti viņu konkrētajām vajadzībām. Whether you're automating document creation tasks or personalizing reports, Docxtemplater is a valuable tool in your arsenal.
Kā instalēt Docxtemplater?
Lai instalētu Docxtemplater, varat izmantot npm, JavaScript pakotņu pārvaldnieku. Lūdzu, izmantojiet šādas komandas veiksmīgai instalēšanai.
Instalēt Docxtemplater caur npm
npm install --save docxtemplater pizzipWord dokumentu izveide no šablona Node.js
Atvērta koda Docxtemplater bibliotēka ļauj programmatūras izstrādātājiem viegli ģenerēt Microsoft Word DOCX dokumentus, izmantojot šablonu. Izstrādātāji var ielikt dinamiskus datus šablonā, nododot objektu ar atslēga‑vērtība pāri, lai aizstātu vietturi ar faktiskiem datiem, izveidojot galīgo izvades dokumentu. Turpmākajā piemērā parādīts, kā izstrādātāji var ielādēt esošu šablonu un izveidot Word dokumentu, izmantojot Node.js vidi.
Kā ģenerēt Word dokumentu no šablona Node.js vidē?
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!');
Pielāgotu funkciju un filtru pievienošana Node.js lietotnēm
Docxtempler bibliotēkas pielāgotās funkcijas un filtri piedāvā papildu iespējas manipulēt ar datiem un veikt specifiskas operācijas šablonos. Tie ļauj lietotājiem paplašināt bibliotēkas funkcionalitāti pāri vienkāršai vietturi aizstāšanai, ļaujot ģenerēt dinamisku saturu un veikt sarežģītu datu apstrādi. Jūs varat definēt pielāgotas funkcijas un filtrus, lai manipulētu ar datiem vai veiktu specifiskas operācijas savos šablonos. Šeit ir piemērs, kas parāda, kā izstrādātāji var īstenot pielāgotu funkciju, lai aprēķinātu piegādāto vienumu kopējo cenu iepirkumu grozā, kā arī filtru, lai formatētu valūtas vērtības.
Kā aprēķināt preču cenas iepirkumu grozā, izmantojot pielāgotu funkciju un filtrus valūtas vērtību formatēšanai?
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!');
Bagātīga formatēšanas atbalsts
Atvērta koda Docxtemplater vienkāršo Word dokumentu izveides un pārvaldības procesu, piedāvājot vienkāršu šablonu pamata pieeju. Bagātīga formatēšanas atbalsts Word dokumentos nozīmē spēju attiecināt dažādus stilistiskus elementus, piemēram, fonta stilus, krāsas, izmērus, līdzinājumus un daudz ko citu uz dažādiem dokumenta elementiem. Tas ietver teksta, tabulu, attēlu, rindkopas, sekcijas formatēšanu, sarakstus, punktus un citu saturu, lai uzlabotu lasāmību un vizuālo pievilcību. Šeit ir vienkāršs piemērs, kas parāda, kā pielietot bagātīgu formatēšanu teksta daļai dokumentā.
Kā izmantot Docxtemplater, lai piemērotu bagātīgu formatēšanu tekstam Node.js lietotnē?
// 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!');
