Short little snippet I found the other day to customize the pdf output in datatables.
src:
https://datatables.net/forums/discussion/41263/add-fixed-header-and-footer-to-exported-pdf-file
buttons: [ { text: 'PDF Html5 (Land)', extend: 'pdfHtml5', message: '', orientation: 'landscape', exportOptions: { columns: ':visible' }, customize: function (doc) { doc.pageMargins = [10,10,10,10]; doc.defaultStyle.fontSize = 7; doc.styles.tableHeader.fontSize = 7; doc.styles.title.fontSize = 9; // Remove spaces around page title doc.content[0].text = doc.content[0].text.trim(); // Create a footer doc['footer']=(function(page, pages) { return { columns: [ 'This is your left footer column', { // This is the right column alignment: 'right', text: ['page ', { text: page.toString() }, ' of ', { text: pages.toString() }] } ], margin: [10, 0] } }); // Styling the table: create style object var objLayout = {}; // Horizontal line thickness objLayout['hLineWidth'] = function(i) { return .5; }; // Vertikal line thickness objLayout['vLineWidth'] = function(i) { return .5; }; // Horizontal line color objLayout['hLineColor'] = function(i) { return '#aaa'; }; // Vertical line color objLayout['vLineColor'] = function(i) { return '#aaa'; }; // Left padding of the cell objLayout['paddingLeft'] = function(i) { return 4; }; // Right padding of the cell objLayout['paddingRight'] = function(i) { return 4; }; // Inject the object in the document doc.content[1].layout = objLayout; } } ]
src:
https://datatables.net/forums/discussion/41263/add-fixed-header-and-footer-to-exported-pdf-file