2017-09-07 4 views
0

J'utilise pdf make plugin dans ionicframework pour créer pdf et télécharger ça fonctionne très bien mais quand j'ajoute plus de contenu qui sont de la page dynamique ne reçoit pas de pauses automatiquement quelqu'un peut-il me dire comment faire une saut de page automatiquement en utilisant pdf make.J'ai essayé d'utiliserComment créer un saut de page dynamique dans pdfmake ionique

pageBreakBefore: function (currentNode, followingNodesOnPage) { 
     return currentNode.headlineLevel === 1 && followingNodesOnPage.length === 0; 
    }, 

Mais il ne casse pas la page.

code:

var dd = { 
    pageSize: 'A4', 
    pageOrientation: 'portrait', 
    content: [ 
     { text: $translate.instant('{{"billnumber_message" | translate}}') + invoice.billno, alignment: 'left', style: 'subheader'}, 
     { text: $translate.instant('{{"billdate_message" | translate}}') + currentbilldate, alignment: 'right', style: 'subheader'}, 

     { text: $translate.instant('{{"billto_message" | translate}}') + invoice.name + ',\n' + invoice.location + ',\n' + invoice.mobileno + '\n', style: 'subheader' }, 
     { 
     style: 'itemsTable', 
     table: { 
      widths: ['*', '*', '*', '*'], 
      body: [ 
      [ 
       { text: $translate.instant('{{"billDescription_message" | translate}}'), style: 'itemsTableHeader' }, 
       { text: $translate.instant('{{"billquantity_message" | translate}}'), style: 'itemsTableHeader' }, 
       { text: $translate.instant('{{"billrate_message" | translate}}'), style: 'itemsTableHeader' }, 
       { text: $translate.instant('{{"billtotal_message" | translate}}'), style: 'itemsTableHeader' }, 
      ] 
      ].concat(items) 
     } 
     }, 
     { 
     style: 'totalsTable', 
     table: { 
      widths: [75, '*', 75], 
      body: [ 
      [ 
       '', 
       $translate.instant('{{"billtotalamount_message" | translate}}'), 
       invoice.Subtotal, 
      ], 
      [ 
       '', 
       $translate.instant('{{"billothercharges_message" | translate}}'), 
       invoice.OtherCharges, 
      ], 
      [ 
       '', 
       $translate.instant('{{"billdebitcapture_message" | translate}}'), 
       invoice.debitcapure, 
      ], 
      [ 
       '', 
       '', 
       '', 
      ], 
      [ 
       '', 
       '', 
       '', 
      ] 
      ] 
     }, 
     layout: 'noBorders' 
     }, 
     { 
     style: 'subheaderbalance', 
     table: { 
      widths: [75, '*', 75], 
      body: [ 
      [ 
       '', 
       $translate.instant('{{"billamountgiven_message" | translate}}'), 
       invoice.Total, 
      ] 
      ] 
     }, 
     layout: 'noBorders' 
     }, 
     { text: '', alignment: 'right'}, 
     { text: '', alignment: 'right'}, 
     { text: '', alignment: 'right'}, 
     { text: $translate.instant('{{"billhistory_message" | translate}}') + invoice.Previousbill, alignment: 'center' }, 
     { text: '', alignment: 'right'}, 
     { text: '', alignment: 'right'}, 
     { text: '', alignment: 'right'}, 
     /*{ text: $translate.instant('{{"billpreviousdebit_message" | translate}}') + invoice.PreviousDebitCapture, alignment: 'right' },*/ 
     { 
     style: 'itemsTable', 
     table: { 
      widths: [75, '*', 75], 
      body: [ 
      [ 
       { text: $translate.instant('{{"billdate_message" | translate}}'), style: 'itemsTableHeader' }, 
       { text: $translate.instant('{{"description_message" | translate}}'), style: 'itemsTableHeader' }, 
       { text: $translate.instant('{{"amount_message" | translate}}'), style: 'itemsTableHeader' }, 
      ] 
      ].concat(previousbillitems) 
     }, 
     }, 
     { 
     style: 'totalsTable', 
     table: { 
      widths: [75, '*', 75], 
      body: [ 
      [ 
       '', 
       $translate.instant('{{"billpreviousdebit_message" | translate}}'), 
       invoice.PreviousDebitCapture, 
      ], 
      [ 
       '', 
       $translate.instant('{{"billtotaldebit_message" | translate}}'), 
       totaldebit, 
      ], 
      [ 
       '', 
       $translate.instant('{{"billtotaldebitcapture_message" | translate}}'), 
       invoice.debitcapure, 
      ] 
      ] 
     }, 
     layout: 'noBorders' 
     }, 
     { 
     style: 'subheaderbalance', 
     table: { 
      widths: [75, '*', 75], 
      body: [ 
      [ 
       ':', 
       $translate.instant('{{"billledgerbalance" | translate}}'), 
       (totaldebit - invoice.debitcapure), 
      ] 
      ] 
     }, 
     layout: 'noBorders' 
     }, 
     //{ text: $translate.instant('{{"billtotaldebit_message" | translate}}') + totaldebit , alignment: 'right' }, 
     //{ text: $translate.instant('{{"billtotaldebitcapture_message" | translate}}') + invoice.debitcapure, alignment: 'right'}, 
     //{ text: '', alignment: 'left'}, 
     //{ text: $translate.instant('{{"billledgerbalance" | translate}}') + (totaldebit - invoice.debitcapure), alignment: 'right', style: 'subheader'}, 
     // add signature 
     { text: '', alignment: 'right'}, 
     { text: '', alignment: 'right'}, 
     { text: '', alignment: 'right'}, 
     { text: '', alignment: 'right'}, 
     { text: '', alignment: 'right'}, 
     { text: '', alignment: 'right'}, 
     { text: $translate.instant('{{"billsignature_message" | translate}}'), alignment: 'right', style: 'subheader'}, 
     { text: '', alignment: 'right'}, 
    ], 
    pageBreakBefore: function (currentNode, followingNodesOnPage) { 
     return currentNode.headlineLevel === 1 && followingNodesOnPage.length === 0; 
    }, 
    styles: { 
     subheader: { 
     fontSize: 16, 
     bold: true, 
     margin: [0, 20, 0, 5] 
     }, 
     subheaderbalance: { 
     fontSize: 16, 
     bold: true, 
     alignment: 'right', 
     margin: [0, 20, 0, 5] 
     }, 
     itemsTable: { 
     alignment: 'center', 
     margin: [0, 5, 0, 15] 
     }, 
     itemsTableHeader: { 
     bold: true, 
     fontSize: 13, 
     color: 'black', 
     alignment: 'center' 
     }, 
     itemsTableAmount: { 
     bold: true, 
     fontSize: 13, 
     color: 'black', 
     alignment: 'right' 
     }, 
     totalsTable: { 
     bold: true, 
     alignment: 'right', 
     margin: [0, 30, 0, 0] 
     }, 
    }, 
    defaultStyle: { 
     //font: 'TSCu_SaiIndira' 
    } 
    }; 

Répondre

0

Il semble que les colonnes vides sont le problème. Le problème est plus fréquent et provoque des problèmes dans la mesure.

Exemple: Vous avez donné une colonne particulière comme vide comme celui-ci

 [ 
      '', 
      $translate.instant('{{"billtotaldebit_message" | translate}}'), 
      totaldebit, 
     ], 

Mais vous devez donner comme ceci:

[ 
      ' ', 
      $translate.instant('{{"billtotaldebit_message" | translate}}'), 
      totaldebit, 
     ], 

Essayez de changer toutes les colonnes où vous avez donné vide cordes et vérifier pour plus d'infos vérifier le lien: Pdfmake autopage break issues

+0

laissez-moi essayer. –

+0

cela fonctionne bien. –