Docxtemplater

 
 

Perpustakaan Node.js Percuma untuk Membuat & Mengurus Word DOCX dari Templat

Perpustakaan Sumber Terbuka Terkenal Node.js membolehkan Membuat, Mengedit dan Memanipulasi Dokumen Word DOCX, XLSX secara Dinamik menggunakan Pendekatan Berasaskan Templat Sederhana melalui API JavaScript.

Apa itu Docxtemplater?

Dalam dunia digital yang pantas hari ini, kecekapan adalah penting, terutama apabila melibatkan pengurusan dokumen. Sama ada pengguna perlu merangka kontrak, menjana laporan, atau menghasilkan surat peribadi, mempunyai alat yang boleh dipercayai untuk mengautomatikkan penciptaan dokumen dapat menjimatkan masa dan sumber yang berharga. Di sinilah Docxtemplater berperanan, perpustakaan kuat yang mempermudah proses menjana dokumen Word dari templat. Perpustakaan ini membolehkan penjanaan dokumen berasaskan templat, di mana penempatan tempat dalam templat dokumen Word digantikan dengan data sebenar untuk menghasilkan dokumen output akhir.

Pada dasarnya, Docxtemplater adalah perpustakaan JavaScript sumber terbuka yang kuat yang membolehkan pembangun perisian membuat dan mengurus dokumen Word, Excel dan PowerPoint dinamik dengan menggabungkan data dengan templat yang telah ditetapkan. Dengan memanfaatkan format OpenXML, perpustakaan ini memberikan kawalan terperinci ke atas struktur dan kandungan dokumen pengguna, membolehkan mereka memasukkan penempatan tempat yang akan digantikan dengan data sebenar semasa masa jalankan.

Docxtemplater adalah perpustakaan serbaguna yang memberi kekuatan kepada pembangun perisian untuk mengautomaikan penciptaan dokumen dengan mudah. Dengan memanfaatkan kuasa templat dan penggabungan data, anda dapat melancarkan aliran kerja dokumen anda dan meningkatkan produktiviti secara signifikan. Dengan menggunakan perpustakaan dengan betul, pembangun perisian dapat dengan mudah menjana dokumen dinamik yang disesuaikan dengan keperluan khusus mereka. Sama ada anda mengautomatikkan tugas penciptaan dokumen atau mempersonalisasikan laporan, Docxtemplater adalah alat berharga dalam arsenal anda.

Previous Next

Cara Memasang Docxtemplater?

Untuk memasang Docxtemplater, anda boleh menggunakan npm, pengurus pakej untuk JavaScript. Sila gunakan arahan berikut untuk pemasangan yang berjaya.

Pasang Docxtemplater melalui npm

 npm install --save docxtemplater pizzip

Penciptaan Dokumen Word melalui Templat dalam Node.js

Perpustakaan sumber terbuka Docxtemplater memudahkan pembangun perisian menjana dokumen Microsoft Word DOCX menggunakan templat. Pembangun perisian boleh menyuntik data dinamik ke dalam templat dengan menghantar objek yang mengandungi pasangan kunci-nilai untuk menggantikan penempatan tempat dengan data sebenar bagi menghasilkan dokumen output akhir. Contoh berikut menunjukkan bagaimana pembangun dapat memuatkan templat sedia ada dan menjana dokumen Word daripadanya dalam persekitaran Node.js.

Bagaimana Menjana Dokumen Word dari Templat dalam Node.js?

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

Tambahkan Fungsi & Penapis Tersuai dalam Aplikasi Node.js

Fungsi Tersuai dan Penapis dalam perpustakaan Docxtemplater menawarkan keupayaan lanjutan untuk memanipulasi data dan melaksanakan operasi khusus dalam templat. Ia membolehkan pengguna memperluas fungsi perpustakaan di luar penggantian penempatan tempat asas, membenarkan penjanaan kandungan dinamik dan pemprosesan data kompleks. Anda boleh menentukan fungsi dan penapis tersuai untuk memanipulasi data atau melaksanakan operasi khusus dalam templat anda. Berikut adalah contoh yang menunjukkan pembangun dapat melaksanakan fungsi tersuai untuk mengira jumlah harga item dalam troli belanja dan penapis untuk memformat nilai mata wang.

Bagaimana Mengira Harga Item dalam Troli Belanja melalui Fungsi Tersuai & Menggunakan Penapis untuk Memformat Nilai Mata Wang?

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

Sokongan Pemformatan Kaya

Perpustakaan sumber terbuka Docxtemplater mempermudah proses penciptaan dan pengurusan dokumen Word dengan menawarkan pendekatan berasaskan templat yang mudah. Sokongan pemformatan kaya dalam dokumen Word merujuk kepada keupayaan untuk menggunakan pelbagai atribut gaya seperti jenis fon, warna, saiz, penjajaran, dan banyak lagi ke elemen yang berbeza dalam dokumen Word. Ini termasuk memformat teks, jadual, imej, perenggan, pemformatan bahagian, senarai, titik peluru dan kandungan lain untuk meningkatkan kebolehbacaan dan daya tarikan visual. Berikut ialah contoh sederhana yang menunjukkan cara menerapkan Pemformatan Kaya pada bahagian teks dalam dokumen.

Bagaimana menerapkan pemformatan kaya pada teks menggunakan Docxtemplater dalam aplikasi Node.js?

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

 Melayu