devbox-report

Framework para geração de relatórios utilizando:

Usage no npm install needed!

<script type="module">
  import devboxReport from 'https://cdn.skypack.dev/devbox-report';
</script>

README

devbox-report

Framework para geração de relatórios utilizando:

  1. jsReport + wkhtmltopdf
  2. vash como compilador
  3. Um mini-framework css para dar agilidade (opcional)

Para o título dos relatórios funcionar, você deve instalar no seu ambiente o wkhtmltopdf.exe

Instalação

npm i devbox-report --save

Uso + Documentação

Todos os arquivos HTML não precisam de corpo (html, head e body), o pacote já envolve eles em um.

app.js

const devboxReport = require('devbox-report');

let config = {
    css: ['http://example.com.br/style.css', '...'],
    js: ['http://example.com.br/script.js', '...'],

    default: {
        title: 'Report',
        orientation: 'portrait', // landscape
        fileName: 'report.html',

        header: path.join('...'),
        footer: path.join('...')
    }
};

let report = devboxReport(config);

// Middleware (Ex: express)
app.use(report.pdf);
app.use(report.xlsx);

controller.js

module.exports = async function(req, res, next) {
    // Stuff...

    // Html to PDF
    return res.pdf(__dirname, {
        title: 'Title',
        orientation: 'landscape',
        fileName: 'graphReport.html',
        css: ['.../myFramework.css'],
        js: ['.../chart.js'],

        data: {}, // data using vash

        header: false,
        footer: false,

        // Wait for Js (window.status = 'flag')
        windowStatus: 'flag'
    });

    // Html to XLSX
    return res.xlsx(__dirname, {
        title: 'Title',
        data: {} // data using vash
    });
};