Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

kelvim

JSPDF adicionar quebra de página

Recommended Posts

Boa tarde,

estou precisando importar uma tabela HTML e gerar PDF, estou usando JSPDF e funciona perfeitamente quando tenho apenas uma página. Quando o relatório gera mais de uma página (no PDF) ele gera umas 3 páginas em branco e não imprime parte do código.

estou usando dessa forma:

       $(function () {

           $('#pdf').click(function () {
               var specialElementHandlers = {
                   '#editor': function (element, renderer) {
                       return true;
                   }
               };

               var doc = new jsPDF('p', 'pt');
               
               var header = function (data) {

                   doc.fromHTML($('#cabe').get(0), 37, 50, {
                       'width': 550,
                       'elementHandlers': specialElementHandlers
                   });
                   
               };

               var footer = function (data) {
                   var str = "Página " + data.pageCount;

                   doc.text(str, data.settings.margin.left, doc.internal.pageSize.height - 30);
               };

               var options = {
                   beforePageContent: header,
                   afterPageContent: footer,
                   margin: { top: 80 , button: 100},
                   startY: 100,
               };

               var res = doc.autoTableHtmlToJson(document.getElementById("body"));

               doc.autoTable(res.columns, res.data, options);

               doc.fromHTML($('#legenda').get(0), 37, doc.autoTableEndPosY() + 20, {
                    'elementHandlers': specialElementHandlers
               });

               doc.fromHTML($('#aceite').get(0), 37, doc.autoTableEndPosY() + 130, {
                   'width': 550,
                   'elementHandlers': specialElementHandlers
               });

               doc.setLineWidth(1);
               doc.setFontSize(10);

               doc.line(37, doc.autoTableEndPosY() + 200, 250, doc.autoTableEndPosY() + 200);
               doc.text('Assinatura do servidor', 90, doc.autoTableEndPosY() + 210);

               doc.line(324, doc.autoTableEndPosY() + 200, 550, doc.autoTableEndPosY() + 200);
               doc.text('Assinatura/Carimbo chefia imediata', 367, doc.autoTableEndPosY() + 210);

               doc.fromHTML($('#final').get(0), 200, doc.autoTableEndPosY() + 250, {
                   'width': 170,
                   'elementHandlers': specialElementHandlers
               });

               doc.save('Espelho de ponto.pdf');
           });
         
       });

A parte que pode mudar de tamanho na página é a tabela que será inserida na variável res (linha 35). e dá erro mesmo que a quebra de página não esteja na tabela.

se alguém puder me ajudar ficarei muito agradecido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.