Modelo de impressão do formulário

Existe no Fluig um método de personalizar a impressão do formulário? Informando logotipo, layout dos campos, etc.

Hoje a única impressão que sei é a impressão "normal" que simplesmente gera um PDF conforme o que aparece no browser, sem nenhuma formatação

Analisando algumas alternativas achei que a melhor forma de fazer isso foi utilizando uma biblioteca JS que preenche campos de um form PDF.

Montei o modelo e exportei pro Fluig junto com o formulário. No cliente eu faço um get do PDF e preencho os campos com a biblioteca pdfform.js.

Desta forma o cliente pode personalizar o seu formulário como quiser e atualizar no Volume, apenas deixando os campos que o Fluig irá popular.

Segue o código que busca o PDF e preenche os campos do formulário:


var xhr = new XMLHttpRequest();
xhr.open('GET', "formModelo.pdf", true);
xhr.responseType = 'arraybuffer';
xhr.onload = function() {
    if (this.status == 200) {
        var pdf_buf = this.response;
        var fields = {
                'campo1': [$("span[name='cmapo1']").text()],
                'campo2': [$("span[name='cmapo2']").text()],
                'campo3': [$("span[name='cmapo3']").text()],
                'campo4': [$("span[name='cmapo4']").text()]
        };
        var out_buf = pdfform(minipdf).transform(pdf_buf, fields);

        var blob = new Blob([new Uint8Array(out_buf)]);
        url = window.URL.createObjectURL(blob);

        var a = document.createElement("a");
        document.body.appendChild(a);
        a.style = "display: none";
        a.href = url;
        a.download = "Formulário X.pdf";
        a.click();
        window.URL.revokeObjectURL(url);
    } else {
        on_error('failed to load PDF model (code: ' + this.status + ')');
    }
};
xhr.send();

OI,Carlos.
Poderia me enviar seu código de exemplo. Preciso fazer algo similar e estou tendo sérios problemas com o BIRT, por isso estou pensando em seguir por esse caminho.

Oi Ana, o código é o que está logo acima.
Mas se quiser, pode me chamar no hangouts/Google Chat se tiver alguma dúvida.

Carlos, consegui fazer funcionar o meu. Criei um botão e através dele o usuário manda imprimir. A única questão é que no mobile não funciona. Tem algum segredo para fazer isso que você conheça?

No meu caso, o formulário não foi utilizado no mobile. Então não sei te dizer.
Mas da forma que eu resolvi o problema, pode sim ter limitação com o celular. Inclusive pode apresentar resultados não esperados em navegadores diferentes.

Oi Carlos, tudo bem? Tenho uma dúvida de como utilizar esse recurso. Você pode me ajudar? Obrigada.