jsPDF auto table 宽栏内容不中断

jsPDF auto table wide column content not breaking

我正在使用 jsPDF Auto Table 从 table 中抓取 html 内容并在 jsPDF 文档中显示以供导出,但无论我尝试什么,似乎都无法获取列宽按我的意愿换行。

理想情况下希望 table 和列自动计算它们的宽度,长列内容跨越多行,类似于此处的 "long: overflow linebreak" 示例:https://simonbengtsson.github.io/jsPDF-AutoTable/#long

虽然我使用的是示例中的相同代码,但它的生成方式不同。

exportGraph = function () {
    var doc = new jsPDF();
    var elem = document.getElementById("basic-table");
    var res = doc.autoTableHtmlToJson(elem);

    doc.autoTable(res.columns, res.data, {
        startY: 15,
        margin: { horizontal: 0 },
        bodyStyles: { valign: 'top' },
        styles: { overflow: 'linebreak', columnWidth: 'wrap' },
        columnStyles: { text: { columnWidth: 'auto' } }
    });

    doc.save('test.pdf');
};

jsfiddle example

任何帮助将不胜感激,因为现在这真的很令人沮丧!!

示例中的text键是对示例数据中datakey的引用。当您使用 autoTableToHtml 函数时,您的数据键将基于整数,因此您的 columnStyles 应该像这样:

columnStyles: {
  2: {
    columnWidth: 'auto'
  }
}

columnWidth 在较新的版本中已弃用。它被重命名为 cellWidth.

  columnStyles: {
      2: {
        cellWidth: 'auto'
      }
    }

columnWidth 在较新版本中已弃用。它被重命名为 cellWidth。

columnStyles: {
  2: {
    cellWidth: 'auto'
  }
}

错误:未定义自动