JavaScript API, lai ģenerētu dinamiskus Word dokumentus
Atvērtā koda JavaScript bibliotēka dinamisku Word dokumentu izveidei ar Node.js un pārlūkprogrammu balstītām pplications.
Kas ir Docx-templates?
Docx-Templates ir atvērtā koda JavaScript bibliotēka, kas ļauj programmatūras izstrādātājiem ģenerēt dinamiskus Microsoft Word (.docx) dokumentus, izmantojot iepriekš definētus veidnes. Tā vietā, lai manuāli programmatiski izveidotu Word dokumentus, izstrādātāji var izveidot veidnes Microsoft Word un ievietot dinamiskus datus, izmantojot iegultas komandas. Šī bibliotēka darbojas gan Node.js, gan pārlūkprogrammu vidēs, padarot to ļoti daudzpusīgu mūsdienu tīmekļa un servera puses lietojumprogrammām. Tā apstrādā DOCX failus, parsējot to iekšējo XML struktūru un aizvietojot veidnes komandas ar faktiskiem datiem izpildes laikā.
Docx-Templates bibliotēka ir spēcīgs, atvērtā koda rīks, kas paredzēts gan Node.js, gan pārlūkprogrammu vidēm. Galvenā priekšrocība ir dizaina un loģikas atdalīšana. Nepieciešamības pēc tehniskām zināšanām nav – ne‑tehniskie lietotāji var izveidot izkārtojumu un stilu Word, kamēr izstrādātāji koncentrējas uz datu ievietošanu. Tā atbalsta sarežģītu loģiku, piemēram, ciklus, nosacījumu formatēšanu un pat JavaScript fragmentu izpildi tieši dokumentā. Tas padara to par ideālu risinājumu izstrādātājiem, kuriem jāizveido augstas precizitātes atskaites, nepārdzīvojot ar XML vai īpašiem dizaina rīkiem.
Sākšana ar Docx-templates
Ieteicamais veids, kā instalēt Docx-templates bibliotēku, ir caur npm. Lūdzu, izmantojiet šādu komandu, lai veiktu gludu instalēšanu
Instalējiet Docx-Templates caur NPM
$ npm install docx-templates Instalējiet Docx-Templates caur Yarn/strong>
$ yarn add docx-templates Veidņu balstīta dokumentu ģenerēšana, izmantojot JS API
Atvērtā koda Docx-Templates bibliotēka ļauj programmatūras izstrādātājiem izveidot dokumentus Word programmā un dinamiski ievietot datus, izmantojot vienkāršas komandas. Šī pieeja atdala prezentāciju no loģikas, padarot veidnes viegli pārvaldāmas un atjaunināmas, nemainot kodu. Jūs varat tieši piekļūt īpašībām no sava datu objekta vai pat izpildīt vienkāršus izteicienus. Piemēram, lai ievietotu pilnu vārdu, jūsu veidne izskatīsies šādi: {firstName} {surname}. Bibliotēka novērtē kodu un aizvieto to nevainojami.
Kā dinamiski izveidot Word dokumentus JavaScript lietojumprogrammās?
import createReport from 'docx-templates';
import fs from 'fs';
const template = fs.readFileSync('template.docx');
const report = await createReport({
template,
data: { name: 'John', surname: 'Doe' },
});
fs.writeFileSync('output.docx', report);
Dinamiska attēlu ievietošana, izmantojot JavaScript
Pāri tekstam atvērtā koda Docx-Templates bibliotēka var dinamiski ievietot attēlus. Tas ietver vietējus failus, attēlus no URL vai pat programmatiski ģenerētus QR kodus. Jūs varat kontrolēt attēla izmēru un tā novietojumu. Šī funkcija ir spēles mainītājs, izveidojot identifikācijas žurnālus, produktu katalogus vai pārskatus, kam nepieciešamas dinamiskas diagrammas un vizuālie pierādījumi. Šeit ir vienkāršs piemērs, kas parāda, kā ievietot attēlu Word dokumentā, izmantojot JavaScript API.
Kā dinamiski ievietot attēlu Word dokumentos, izmantojot JavaScript API?
const buffer = await createReport({
template,
data: {
userAvatar: async () => {
const resp = await fetch('https://example.com/photo.png');
return { width: 3, height: 3, data: await resp.arrayBuffer(), extension: '.png' };
}
},
});
// In Word: {IMAGE userAvatar()}
Jaudīgi cikli (FOR/END-FOR)
Datu sarakstu apstrāde ir nevainojama, izmantojot FOR komandu. Šī funkcija ļauj iterēt pāri masīviem, lai ģenerētu tabulas rindas, sarakstus vai pat visas dokumenta sekcijas. Docx-Templates bibliotēka ir iekļāvusi atbalstu ligzdotiem cikliem, ļaujot attēlot sarežģītas hierarhiskās datu struktūras, piemēram, nodaļu sarakstu ar to darbiniekiem, vienlaikus saglabājot sākotnējo Word stilu. Zemāk redzams koda piemērs, kā to sasniegt.
Kā izmantot uzlabotu ciklu JavaScript lietojumprogrammās?
const buffer = await createReport({
template,
data: {
projects: [
{ name: 'SEO Optimization', status: 'Completed' },
{ name: 'API Integration', status: 'In Progress' }
]
},
});
/* In Word:
{FOR project IN projects}
Project: {project.name} - Status: {project.status}
{END-FOR}
*/
Pielāgots JavaScript konteksts (EXEC)
Viena no visattīstītākajām Docx-Templates bibliotēkas funkcijām ir iespēja izpildīt patvaļīgus JavaScript fragmentus, izmantojot EXEC (vai !) komandu. Nodrošinot additionalJsContext, jūs varat atklāt pielāgotas palīgfunkcijas veidnei. Tas ļauj veidnei veikt aprēķinus, formatēt datumus vai manipulēt ar virknēm iekšēji, nepārliecinoties, ka katru datu gabalu jāapstrādā jūsu galvenajā lietojumprogrammas loģikā.