Docxtemplater

 
 

Bezpłatna biblioteka Node.js do tworzenia i zarządzania dokumentami Word DOCX z szablonów

Wiodąca otwartoźródłowa biblioteka Node.js umożliwia tworzenie, edycję i manipulację dokumentami Word DOCX, XLSX dynamicznie przy użyciu prostego podejścia opartego na szablonach poprzez API JavaScript.

Czym jest Docxtemplater?

W dzisiejszym szybkim cyfrowym świecie wydajność jest kluczowa, szczególnie w zarządzaniu dokumentami. Niezależnie od tego, czy użytkownik musi sporządzić kontrakty, generować raporty, czy tworzyć spersonalizowane listy, posiadanie niezawodnego narzędzia do automatyzacji tworzenia dokumentów może zaoszczędzić cenny czas i zasoby. Oto Docxtemplater, potężna biblioteka upraszczająca proces generowania dokumentów Word z szablonów. Biblioteka umożliwia generowanie dokumentów oparte na szablonie, gdzie miejsca zastępcze w szablonie dokumentu Word są zastępowane rzeczywistymi danymi w celu stworzenia finalnego dokumentu wyjściowego.

W swojej istocie Docxtemplater to potężna otwartoźródłowa biblioteka JavaScript, która pozwala programistom tworzyć i zarządzać dynamicznymi dokumentami Word, Excel i PowerPoint poprzez łączenie danych z wcześniej zdefiniowanym szablonem. Wykorzystując format OpenXML, biblioteka zapewnia precyzyjną kontrolę nad strukturą i zawartością dokumentów użytkownika, umożliwiając wstawianie miejsc zastępczych, które zostaną zamienione na rzeczywiste dane w czasie wykonywania.

Docxtemplater to wszechstronna biblioteka, która umożliwia programistom łatwą automatyzację tworzenia dokumentów. Wykorzystując moc szablonów i łączenia danych, możesz usprawnić przepływ pracy z dokumentami i znacząco zwiększyć produktywność. Korzystając z biblioteki w sposób właściwy, programiści mogą łatwo generować dynamiczne dokumenty dopasowane do ich konkretnych potrzeb. Niezależnie od tego, czy automatyzujesz zadania generowania dokumentów, czy personalizujesz raporty, Docxtemplater jest cennym narzędziem w Twoim arsenale.

Previous Next

Jak zainstalować Docxtemplater?

Aby zainstalować Docxtemplater, możesz użyć npm, menedżera pakietów dla JavaScript. Proszę użyć poniższych poleceń, aby przeprowadzić pomyślną instalację.

Zainstaluj Docxtemplater przez npm

 npm install --save docxtemplater pizzip

Tworzenie dokumentów Word za pomocą szablonu w Node.js

Otwartoźródłowa biblioteka Docxtemplater ułatwia programistom generowanie dokumentów Microsoft Word DOCX przy użyciu szablonu. Programiści mogą wstawiać dynamiczne dane do szablonu, przekazując obiekt zawierający pary klucz-wartość, aby zastąpić miejsca zastępcze rzeczywistymi danymi i stworzyć finalny dokument wyjściowy. Poniższy przykład pokazuje, jak programiści mogą wczytać istniejący szablon i wygenerować dokument Word z niego w środowisku Node.js.

Jak wygenerować dokument Word z szablonu w środowisku 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!');

Dodawanie własnych funkcji i filtrów w aplikacjach Node.js

Własne funkcje i filtry w bibliotece Docxtemplater oferują zaawansowane możliwości manipulacji danymi i wykonywania konkretnych operacji w szablonach. Umożliwiają użytkownikom rozszerzenie funkcjonalności biblioteki poza podstawową zamianę miejsc zastępczych, pozwalając na dynamiczne generowanie treści i złożone przetwarzanie danych. Możesz definiować własne funkcje i filtry, aby manipulować danymi lub wykonywać określone operacje w swoich szablonach. Poniżej znajduje się przykład, który pokazuje, jak programiści mogą zaimplementować własną funkcję obliczającą łączną cenę produktów w koszyku oraz filtr formatujący wartości walutowe.

Jak obliczyć ceny produktów w koszyku przy użyciu własnej funkcji i zastosować filtry do formatowania wartości waluty?

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

Wsparcie bogatego formatowania

Otwartoźródłowy Docxtempler upraszcza proces tworzenia i zarządzania dokumentami Word, oferując prostą metodę opartą na szablonach. Wsparcie bogatego formatowania w dokumentach Word odnosi się do możliwości zastosowania różnych atrybutów stylu, takich jak style czcionek, kolory, rozmiary, wyrównania i inne, do różnych elementów w dokumencie Word. Obejmuje to formatowanie tekstu, tabel, obrazów, akapitów, formatowanie sekcji, list, wypunktowań i innych treści w celu zwiększenia czytelności i atrakcyjności wizualnej. Oto prosty przykład, który pokazuje, jak zastosować bogate formatowanie do fragmentu tekstu w dokumencie.

Jak zastosować bogate formatowanie tekstu przy użyciu Docxtemplater w aplikacji 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!');

 Polski