Library to generate LibreOffice documents from a template document for JavaScript and TypeScript
You can install the library via npm:
npm install libof-doc-template
To create a template document you need to program in your LibreOffice document.
To use the LibofDocTemplate syntax we will use the following pattern: [!ldt action]
[!ldt var=variableName]
We can iterate arrays with LibofDocTemplate! To do this we use a for loop and access the values of each element using a "."
[!ldt for=element in array]
[!ldt var=element.name] : [!ldt var=element.value]
[!ldt end=array]
import { LibofDocTemplate } from 'libof-doc-template';
const template = new LibofDocTemplate()
To add variables we use the addVariable function with the parameters variable name and value.
The variables can be of three types:
- Strings
- LibofDocTemplateVariableList -> list of variables with key and value
- Blob -> Image blob to add it to the document
import {LibofDocTemplateVariableList} from 'libof-doc-template'
//String
template.addVariable('title1', 'This is the title')
//Lists and more lists
template.addVariable('list1', [
new LibofDocTemplateVariableList([
['key', 'key one'],
['value', 'value of list 1 first element'],
['name', 'name of list 1 first element'],
['list2',
[
new LibofDocTemplateVariableList([
['text', 'list 1 first element -> list 2 first element value']
])]
]
]),
new LibofDocTemplateVariableList([
['key', 'key two'],
['value', 'value of list 1 second element'],
['name', 'name of list 1 second element'],
['list2',
[
new LibofDocTemplateVariableList([
['text', 'list 1 second element -> list 2 first element value']
]),
new LibofDocTemplateVariableList([
['text', 'list 1 second element -> list 2 second element value']
])]
]
])
])
//Images
const imageBlob = await obtenerBlobImagen()
template.addVariable('image1', imageBlob)