У меня есть таблица html с несколькими заголовками. Я хочу отобразить ее в формате pdf. Я использую jspdf и autotable. Я могу получить только один заголовок, как на изображении
My Fiddle
function generate(enhance) {
group1='1';
group2='1';
group3='1';
//const doc = new jsPDF('l', 'mm');
const doc = new jsPDF('p', 'pt', 'a4');
var header = function (data) {
doc.setFontSize(18);
doc.setTextColor(40);
doc.setFontStyle('normal');
//doc.addImage(headerImgData, 'JPEG', data.settings.margin.left, 20, 50, 50);
doc.text("Report System - Defined", data.settings.margin.left+150, 50);
};
var i=0;
if(group1.length){
i+=1;
var res = doc.autoTableHtmlToJson(document.getElementById('table'));
if(i==1){
doc.setFontSize(10);
doc.text("Pipeline as of july", 50, 80);
doc.autoTable(res.columns, res.data,{
beforePageContent: header,
startY: 60,
drawHeaderRow: function(row, data) {
row.height = 46;
},
drawHeaderCell: function(cell, data) {
pdf.rect(cell.x, cell.y, cell.width, cell.height, cell.styles.fillStyle);
pdf.setFillColor(230);
pdf.rect(cell.x, cell.y + (cell.height / 2), cell.width, cell.height / 2, cell.styles.fillStyle);
pdf.autoTableText(cell.text, cell.textPos.x, cell.textPos.y, {
halign: cell.styles.halign,
valign: cell.styles.valign
});
pdf.setTextColor(100);
var text = data.table.rows[0].cells[data.column.dataKey].text;
pdf.autoTableText(text, cell.textPos.x, cell.textPos.y + (cell.height / 2), {
halign: cell.styles.halign,
valign: cell.styles.valign
});
return false;
},
drawRow: function(row, data) {
if (row.index === 0) return false;
},
margin: {
top: 60
},
styles: {
overflow: 'linebreak',
fontSize: 10,
tableWidth: 'auto',
columnWidth: 'auto',
},
columnStyles: {
1: {
columnWidth: 'auto'
}
},
}
);}
}
doc.save('test Report');
}