设置styles:{overflow: 'linebreak', columnWidth: 'wrap'}
时如何获得合适的工作台宽度
或者有其他解决方案来修复列溢出问题?
// Custom style - shows how custom styles can be applied to tables
examples.spans = function () {
var doc = new jsPDF('p', 'pt');
doc.setFontSize(12);
doc.setTextColor(0);
doc.setFontStyle('bold');
doc.text('Col and row span', 40, 50);
var data = getData(80);
data.sort(function (a, b) {
return parseFloat(b.expenses) - parseFloat(a.expenses);
});
doc.autoTable(getColumns(), data, {
theme: 'grid',
startY: 60,
styles: {
overflow: 'linebreak',
columnWidth: 'wrap'
},
drawRow: function (row, data) {
// Colspan
doc.setFontStyle('bold');
doc.setFontSize(10);
if (row.index === 0) {
doc.setTextColor(200, 0, 0);
doc.rect(data.settings.margin.left, row.y, data.table.width, 20, 'S');
doc.autoTableText("Priority Group", data.settings.margin.left + data.table.width / 2, row.y + row.height / 2, {
halign: 'center',
valign: 'middle'
});
data.cursor.y += 20;
} else if (row.index === 5) {
doc.rect(data.settings.margin.left, row.y, data.table.width, 20, 'S');
doc.autoTableText("Other Groups", data.settings.margin.left + data.table.width / 2, row.y + row.height / 2, {
halign: 'center',
valign: 'middle'
});
data.cursor.y += 20;
}
if (row.index % 5 === 0) {
var posY = row.y + row.height * 6 + data.settings.margin.bottom;
if (posY > doc.internal.pageSize.height) {
data.addPage();
}
}
},
drawCell: function (cell, data) {
// Rowspan
if (data.column.dataKey === 'id') {
if (data.row.index % 5 === 0) {
doc.rect(cell.x, cell.y, data.table.width, cell.height * 5, 'S');
doc.autoTableText(data.row.index / 5 + 1 + '', cell.x + cell.width / 2, cell.y + cell.height * 5 / 2, {
halign: 'center',
valign: 'middle'
});
}
return false;
}
}
});
return doc;
};
以下是示例https://simonbengtsson.github.io/jsPDF-AutoTable/#spans