2015-11-30 27 views
8

Ho un datatable e ho pulsante di stampa e pulsante pdf. Posso cambiare la dimensione del carattere quando stampo la pagina ma non posso cambiare la dimensione del carattere mentre esporti il ​​file pdf.Come modificare la dimensione del carattere del PDF di esportazione nei datatables?

{ 
     extend: 'pdfHtml5', 
     text: 'Save PDF', 
     exportOptions: { 
      modifier: { 
       page: 'current' 
      } 
     }, 
     header: true, 
     title: 'My Table Title', 
     orientation: 'landscape' 
    }, 
    { 
     extend: 'print', 
     text: 'Print', 
      customize: function (win) { 
       $(win.document.body) 
        .css('font-size', '15pt') 


       $(win.document.body).find('table') 
        .addClass('compact') 
        .css('font-size', '8pt'); 
      }, 
      header: false, 
      title: '', 
      orientation: 'landscape' 
    }, 

puoi aiutarmi?

risposta

14

Se si guarda alla src di html5.js, si crea un oggetto di default letterale doc partecipazione impostazioni predefinite:

var doc = { 
    pageSize: config.pageSize, 
    pageOrientation: config.orientation, 
    content: [ 
     { 
      table: { 
       headerRows: 1, 
       body: rows 
      }, 
      layout: 'noBorders' 
     } 
    ], 
    styles: { 
     tableHeader: { 
      bold: true, 
      fontSize: 11, 
      color: 'white', 
      fillColor: '#2d4154', 
      alignment: 'center' 
     }, 
     tableBodyEven: {}, 
     tableBodyOdd: { 
      fillColor: '#f3f3f3' 
     }, 
     tableFooter: { 
      bold: true, 
      fontSize: 11, 
      color: 'white', 
      fillColor: '#2d4154' 
     }, 
     title: { 
      alignment: 'center', 
      fontSize: 15 
     }, 
     message: {} 
    }, 
    defaultStyle: { 
     fontSize: 10 
    } 
}; 

è possibile utilizzare il customize callback per modificare queste impostazioni predefinite:

{ 
    extend: 'pdfHtml5', 
    text: 'Save PDF', 
    exportOptions: { 
     modifier: { 
     page: 'current' 
     } 
    }, 
    header: true, 
    title: 'My Table Title', 
    orientation: 'landscape', 
    customize: function(doc) { 
     doc.defaultStyle.fontSize = 16; //<-- set fontsize to 16 instead of 10 
    } 
}, 

Modifica della dimensione carattere dell'intestazione:

doc.styles.tableHeader.fontSize = 30  

https://jsfiddle.net/2nwqa2jk/12/

modificare l'allineamento, il centro insieme a tutte le intestazioni, tutte le colonne tutti i piè di pagina:

doc.defaultStyle.alignment = 'center' 

https://jsfiddle.net/2nwqa2jk/13/

+0

grazie, capito;) – mrcherie

+1

La mia tabella è allineata a sinistra n pdf esportato. Come lo allineo al centro? –

+0

questo non funziona per me, per favore aiuto. –