odfjs/tools/create-odt-file-from-template.js
David Bruant e7fc82fb6c
Odt template with images (#9)
* Add a test about image preservation

* Image preserving odt generation
2025-04-09 10:36:27 +02:00

67 lines
1.6 KiB
JavaScript

import {writeFile} from 'node:fs/promises'
import {join} from 'node:path';
import {getOdtTemplate} from '../scripts/odf/odtTemplate-forNode.js'
import {fillOdtTemplate} from '../scripts/node.js'
/*
const templatePath = join(import.meta.dirname, '../tests/data/template-anniversaire.odt')
const data = {
nom: 'David Bruant',
dateNaissance: '8 mars 1987'
}
*/
/*
const templatePath = join(import.meta.dirname, '../tests/data/liste-courses.odt')
const data = {
listeCourses : [
'Radis',
`Jus d'orange`,
'Pâtes à lasagne (fraîches !)'
]
}
*/
/*
const templatePath = join(import.meta.dirname, '../tests/data/liste-fruits-et-légumes.odt')
const data = {
fruits : [
'Pastèque 🍉',
`Kiwi 🥝`,
'Banane 🍌'
],
légumes: [
'Champignon 🍄‍🟫',
'Avocat 🥑',
'Poivron 🫑'
]
}*/
/*
const templatePath = join(import.meta.dirname, '../tests/data/tableau-simple.odt')
const data = {
annéeConsos : [
{ année: 1970, conso: 36252.637},
{ année: 1980, conso: 43328.78},
{ année: 1990, conso: 46971.94},
{ année: 2000, conso: 53147.277},
{ année: 2010, conso: 48062.32},
{ année: 2020, conso: 37859.246},
]
}
*/
const templatePath = join(import.meta.dirname, '../tests/data/template-avec-image.odt')
const data = {
commentaire : `J'adooooooore 🤩 West covinaaaaaaaaaaa 🎶`
}
const odtTemplate = await getOdtTemplate(templatePath)
const odtResult = await fillOdtTemplate(odtTemplate, data)
writeFile('yo.odt', new Uint8Array(odtResult))