超过某些Y后,jsAutotable是否可以在新页面上继续?

时间:2019-07-11 11:40:08

标签: javascript jspdf jspdf-autotable

我正在创建一个包含多个表格的pdf文件,并且在页面底部也有一个徽标。问题是我的桌子太长了,覆盖了徽标。如果表格超过Y点,是否可以在另一页上绘制一些行?

const tableBody = [
    ['column1', 'column2'],
    ['column1', 'column2'],
    ['column1', 'column2'],
            // some more rows to fill the page
];    

doc.autoTable({
                    startY: currentY,
                    head: [['1', '2']],
                    margin: { left: 8, right: 8 },
                    body: tableBody,
                    styles: { font: 'roboto', halign: 'left' },
                    headStyles: { fontStyle: 'roboto', fillColor: COLORS.BASIC },
                    columnStyles: {
                        0: { cellWidth: 10 },
                        1: { cellWidth: 150 },
                    },
                });

预期结果是显示图像并在另一页上继续显示表格。

这就是现在的样子:https://i.imgur.com/IR89VjM.png,但我希望将徽标的首页上的最后两行移到下一页。

1 个答案:

答案 0 :(得分:0)

这可以通过在autoTable设置中添加一个底边距来完成(该值将对应于totalPageHeight - logoPositionY)。

注意:如果表格跨越多个页面,则页边距将应用于所有页面(但是可以假定每个页面都带有徽标,在这种情况下,优点多于问题)。

doc.autoTable({
    startY: currentY,
    head: [['1', '2']],
    margin: { left: 8, right: 8, bottom: yourValue },
    //etc
});

其他提示:您可以使用设置rowPageBreak: 'avoid',来防止当单元格具有不同的高度时,该行在页面上分开。