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ė.

Previous Next

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 pizzip

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

 Lietuvių