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?
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'