Я создаю отчет с использованием автоматической таблицы jspdf, таблица рисуется с использованием html, но когда счетчик строк больше 5, мне нужна новая страница, поэтому я использую функцию перехвата willDrawCell для ее установки.
if (idc>5) {
doc.addPage();
doc.setPage(1);
doc.text("OK");
}
doc.autoTable({html:"#listai",startY:60,startX:10,theme:"grid",styles:
{fontSize:12,valign:'middle',halign:'center',lineColor:[0,0,0],textColor:
[0,0,0]},columnStyles:{8:{textColor:
[255,255,255],cellPadding:0,cellWidth:0,fontSize:0.1,overflow:"hidden"}},didParseCell:(data)
=> {
if (data.section==='body' )
{if (data.row.index>0) {data.cell.styles.minCellHeight=14} else
{data.cell.styles.fillColor=200}
};
},willDrawCell: (data) => {if (data.row.index==5 && data.column.index==0)
{doc.setPage(2)};data.cell.styles.fillColor=255;},didDrawCell: (data) => {
if (data.section === 'body' && data.column.index === 0 && data.row.index>0) {
//var base64Img = document.getElementById('incfot').src//
var ss=data.row.index-1;
var base64Img = document.getElementById('mg'+ss).src;
var nx = data.cell.width/2-6;
ng+=14;
doc.addImage(base64Img, 'PNG', data.cell.x+nx , data.cell.y+1 , 12, 12);
}
}})
В этом idc - счетчик строк ... поэтому я сначала создал страницу, и когда мы рисуем строку №5, я меняю документ на страницу №2. Я нашел черную клетку ...
Я попытался изменить цвет заливки, используя data.cell.fillColor = 255, но это не сработало.
Я использую doc.setFillColor (255,255,255) ...
оригинал: (не работает)
doc.setPage(2)};data.cell.styles.fillColor=255;
новая версия:
doc.setPage(2)};doc.setFillColor(255,255,255);