
Docxtemplater
Nemokama Node.js biblioteka Word DOCX kūrimui ir valdymui iš šablonų
Lyderinė atviro kodo Node.js biblioteka leidžia dinamiškai kurti, redaguoti ir manipuliuoti Word DOCX, XLSX dokumentais naudojant paprastą šablonų metodą per JavaScript API.
Kas yra Docxtemplater?
Šiandien greitai besikeičiančiame skaitmeniniame pasaulyje efektyvumas yra kertinis, ypač kai kalbama apie dokumentų tvarkymą. Nesvarbu, ar vartotojams reikia rengti sutartis, generuoti ataskaitas, ar kurti asmeninius laiškus, patikimas įrankis, automatizuojantis dokumentų kūrimą, gali sutaupyti brangų laiką ir išteklius. Čia į žaidimą įsijungia Docxtemplater – galinga biblioteka, supaprastinanti Word dokumentų generavimą iš šablonų procesą. Biblioteka leidžia generuoti dokumentus pagal šablonus, kur Word šablono vietos žymės (placeholder) yra pakeičiamos faktiniais duomenimis, sukuriant galutinį dokumentą.
Pagrindinė Docxtemplater yra galinga atviro kodo JavaScript biblioteka, leidžianti programinės įrangos kūrėjams kurti ir tvarkyti dinamiškus Word, Excel ir PowerPoint dokumentus, sujungiant duomenis su iš anksto apibrėžtu šablonu. Naudodama OpenXML formatą, biblioteka suteikia smulkią kontrolę dokumentų struktūrai ir turiniui, leidžiančią įterpti vietas žymes, kurios vykdymo metu bus pakeistos tikrais duomenimis.
Docxtemplater yra universali biblioteka, suteikianti programinės įrangos kūrėjams galimybę lengvai automatizuoti dokumentų kūrimą. Pasinaudodami šablonų ir duomenų sujungimo galia, galite supaprastinti dokumentų darbo eigą ir žymiai padidinti produktyvumą. Teisingai naudodama biblioteka, programinės įrangos kūrėjai gali lengvai generuoti dinamiškus dokumentus, pritaikytus jų specifiniams poreikiams. Nesvarbu, ar automatizuojate dokumentų generavimo užduotis, ar personalizuojate ataskaitas, Docxtemplater yra vertingas įrankis jūsų arsenalė.
Kaip įdiegti Docxtemplater?
Norėdami įdiegti Docxtempler, galite naudoti npm – JavaScript paketų tvarkytuvą. Prašome naudoti šias komandas sėkmingam įdiegimui.
Įdiekite Docxtemplater per npm
npm install --save docxtemplater pizzipWord dokumentų kūrimas iš šablono Node.js
Atviro kodo Docxtempler biblioteka leidžia programinės įrangos kūrėjams lengvai generuoti Microsoft Word DOCX dokumentus naudojant šabloną. Kūrėjai gali įterpti dinamiškus duomenis į šabloną perduodami objektą su pora raktų-reikšmių, kurie pakeičia vietų žymes tikrais duomenimis, sukuriant galutinį dokumentą. Žemiau pateiktas pavyzdys parodo, kaip kūrėjai gali įkelti esamą šabloną ir generuoti Word dokumentą jame Node.js aplinkoje.
Kaip Node.js viduje generuoti Word dokumentą iš šablono?
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!');
Pridėti pasirinktines funkcijas ir filtrus Node.js programose
Docxtempler bibliotekos pasirinktinos funkcijos ir filtrai suteikia pažangias galimybes manipuliuoti duomenimis ir atlikti specifines operacijas šablonuose. Jie leidžia vartotojams išplėsti bibliotekos funkcionalumą virš paprastos vietų žymių pakeitimo, suteikdami galimybę generuoti dinaminį turinį ir atlikti sudėtingą duomenų apdorojimą. Galite apibrėžti pasirinktines funkcijas ir filtrus duomenų manipuliavimui arba specifiniams veiksmams atlikti šablonuose. Štai pavyzdys, kuris rodo, kaip kūrėjai gali įgyvendinti pasirinktą funkciją, skaičiuojančią prekių krepšelyje bendrą kainą, ir filtrą valiutos verčių formatavimui.
Kaip apskaičiuoti prekių kainas pirkinių krepšelyje naudojant pasirinktines funkcijas ir filtrus valiutos formatavimui?
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!');
Palaikymas išplėstiniam formatavimui
Atviro kodo Docxtempler supaprastina Word dokumentų kūrimo ir valdymo procesą, siūlydamas paprastą šablono pagrindu vykdomą metodą. Išplėstinio formatavimo palaikymas Word dokumentuose reiškia galimybę taikyti įvairius stiliaus atributus, tokius kaip šriftų stiliai, spalvos, dydžiai, lygiavimas ir kt., skirtingiems Word dokumento elementams. Tai apima teksto, lentelių, paveikslėlių, pastraipų, skyrių formatavimą, sąrašus, punktus ir kitą turinį, kad būtų pagerintas skaitomumas ir vizualinis patrauklumas. Žemiau pateiktas paprastas pavyzdys rodo, kaip taikyti išplėstinį formatavimą teksto daliai dokumente.
Kaip naudoti Docxtemplater Node.js programoje, kad taikytumėte išplėstinį formatavimą tekstui?
// 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!');
