web-dev-qa-db-fra.com

Comment changer l'export PDF taille de police dans les tables de données?

J'ai un datatable et j'ai un bouton d'impression et un bouton pdf. Je peux changer la taille de la police lors de l'impression de la page mais je ne peux pas changer la taille de la police lors de l'exportation du fichier pdf.

    {
        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'
     },

pouvez-vous m'aider?

14
mrcherie

Si vous regardez le src de html5.js , il crée un objet littéral par défaut doc contenant default paramètres :

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
    }
};

Vous pouvez utiliser le rappel customize pour modifier ces paramètres par défaut:

{
   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 
   }  
}, 

Modification de la taille de la police d'en-tête:

doc.styles.tableHeader.fontSize = 30    

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

Modifier l'alignement, définir le centre sur tous les en-têtes, toutes les colonnes sur tous les pieds de page:

doc.defaultStyle.alignment = 'center'

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

33
davidkonrad