Files
slimtoolkit-example/index.js
2024-10-23 10:42:55 -04:00

28 lines
777 B
JavaScript

const carbone = require('carbone');
const express = require('express')
const PORT = 8000;
const OPTIONS = { convertTo: 'pdf', lang: 'en-us', currencyTarget: 'USD' };
const app = express();
app.use(express.json())
app.use(express.urlencoded({extended: true}))
app.post('/api/convert', (req, res) => {
// Generate a report using the sample template provided by carbone module
// This LibreOffice template contains "Hello {d.firstname} {d.lastname} !"
carbone.render('./node_modules/carbone/examples/simple.odt', req.body, OPTIONS, function(err, result){
if (err) {
return console.log(err);
}
res.set('Content-Type', 'application/pdf');
res.end(result);
});
});
app.listen(PORT, () => {
console.log(`PDF Converter listening on ${PORT}`);
});