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