несколько заголовков в автоматической таблице jspdf - PullRequest
0 голосов
/ 07 августа 2020

У меня есть таблица html с несколькими заголовками. Я хочу отобразить ее в формате pdf. Я использую jspdf и autotable. Я могу получить только один заголовок, как на изображении

Now getting single header

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');
}
...