如何使用 jsPDF Autotable 钩子为每个元素显示 2 行

How do I show 2 rows per element using jsPDF Autotable hooks

提问人:Hardstuck Code 提问时间:11/16/2023 最后编辑:Heretic MonkeyHardstuck Code 更新时间:11/16/2023 访问量:19

问:

在 TypeScript 中,我需要创建一个带有表格的 PDF,其中每个元素跨越 2 行而不是一行,例如这里的表格: 示例表

我正在尝试使用 jsPDF Autotable 来做到这一点,而不使用 HTML 表格作为模板,并使用列 () 而不是正文。head: "xxx", dataKey: "yyy"

Autotable 库最近显然已经从使用“drawRow”和“drawCell”切换到使用“willDrawCell”等 Hooks,除了官方存储库的 ReadMe (https://github.com/simonbengtsson/jsPDF-AutoTable) 上的文档和基本示例之外,我无法找到有关如何使用这些 Hook 的材料。

我尝试使用旧版本的 Autotable 改编代码,但运气不佳

 doc.autoTable(getColumns(), data, {
        theme: 'grid',
        startY: 60,
        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;
            }
             .....
            };

而且由于 Hooks 的工作方式似乎大不相同,我的努力很快就变成了盲目的试错蛮力,这无处可去。

任何使用 jsPDF Autotable 的 Hooks 的实际示例,即使与我的特殊需求无关,也将不胜感激,并是一个很好的指南。

打字稿 jspdf-autotable

评论


答: 暂无答案