libof-doc-tempale
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

Libof Doc

Library to generate LibreOffice documents from a template document for JavaScript and TypeScript

Installation

You can install the library via npm:

npm install libof-doc-template

Create a new Template Document

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]

Declare variables

[!ldt var=variableName]

Iterate Arrays

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]

Template Example

image

Usage

Create new document

import { LibofDocTemplate } from 'libof-doc-template';

const template = new LibofDocTemplate()

Add Variables

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)

Processed document

image

Package Sidebar

Install

npm i libof-doc-tempale

Weekly Downloads

2

Version

1.0.0

License

MIT

Unpacked Size

68.6 kB

Total Files

33

Last publish

Collaborators

  • gonzalors23