首页 > 解决方案 > 如何在angular5中的jspdf自动表底部添加文本

问题描述

我在我的 angular5 应用程序中使用 jspdf 自动表。我正在为 jspdf 自动表生成动态数据。我的问题是如何在表格底部添加文本?

    const columnHead = [];
    const columnRow = [];
    this.tableColumns.filter(x => {
      columnHead.push(this.capFirstLtr(x.title));
    });
    this.tableData.filter((x, y) => {
      x.slaMetFlag = (this.mapData[y].slaMetFlag ? this.capFirstLtr(this.mapData[y].slaMetFlag) : '-');
      columnRow.push([x.date, x.slaMetFlag, x.srType, x.srID, x.srStatus, x.aof, x.ppm, x.deviceID, x.siteID, x.branchID]);
    });
    const doc = new jsPDF();
     doc.text('Showing data from ' + moment(this.requestApi.fromDate).format('MM/DD/YYYY') + ' to ' + moment(this.requestApi.toDate).format('MM/DD/YYYY'), 5, 10);
    doc.autoTable(columnHead, columnRow, {
      styles: { overflow: 'linebreak', halign: 'center', fontSize: 7},
      tableWidth: 200,
      margin: 5,
      theme: 'grid',
      startY: 15,
      addPageContent: function(data) {
        console.log('data', data);
      }
    });
    doc.save('SR View Export');
  }

在上面的代码中,jspdf自动表完成后如何添加文本?

标签: angular5jspdfjspdf-autotable

解决方案


如果您想了解有关最后绘制的表格的信息,可以使用 doc.autoTable.previous。它有一个doc.autoTable.previous.finalY属性,其中包含页面上最后打印的 y 坐标值。这可用于在表格之后绘制文本、多个表格或其他内容。

doc.autoTable.previous.finalY使用这个属性。

doc.autoTable(headers, data);

let finalY = doc.autoTable.previous.finalY;//页面上的y位置

doc.text(20, finalY, "Hello!")


推荐阅读