猿问

有没有办法在javascript中使用jspdf和autotable导出所有html表格分页数据

我正在将 HTML 表格数据导出为 PDF。我有很多数据要导出,因此我的 HTML 表格有一个分页选项。导出时我只得到出现在 JSP 页面上的数据。其他分页数据未以 PDF 格式获取。有没有办法获取所有的HTML表格分页数据?我必须在 HTML 表格中使用分页选项,因为数据可能太大。


function exportTableToPDF(filename,report_title) {

    var doc = new jsPDF('p', 'pt','a4');

    var header = function(data) {

      if (data.pageCount > 1) {

        return false;

      }

      else

      {

        doc.setFontSize(11);

        //doc.setTextColor(200, 0, 255);

        doc.setFontStyle('bold');

        doc.text(report_title, data.settings.margin.left + 35, 60);

        doc.text('<%=DateLib.getDateTimeNow()%>', data.settings.margin.left + 35, 80);

      }

    };


    var totalPagesExp = '{total_pages_count_string}';

    var footer = function(data) {

      var str = 'Page ' + data.pageCount;

      // Total page number plugin only available in jspdf v1.0+

      if (typeof doc.putTotalPages === 'function') {

        str = str + ' of ' + totalPagesExp;

        console.log('test');

      }

      doc.text(str, data.settings.margin.left, doc.internal.pageSize.height - 30);

    };


    var options = {

      beforePageContent: header,

      afterPageContent: footer,

      pagesplit: true,

      margin: {

        top: 100

      }

    };


    var elem = document.getElementById('datatable-1');

    var data = doc.autoTableHtmlToJson(elem);

    doc.autoTable(data.columns, data.rows, options);


    // Total page number plugin only available in jspdf v1.0+

    if (typeof doc.putTotalPages === 'function') {

      doc.putTotalPages(totalPagesExp);

    }


    doc.save(filename);

  }

此提供的代码仅提取当时出现在 JSP 上的数据。例如,如果我的第 4 页上的 HTML 表格使用分页选项,这将仅提取第 4 页的数据。


慕田峪9158850
浏览 211回答 1
1回答

宝慕林4294392

本地可能不存在所有数据。您可以创建一种方法来将 pdf 的数据作为 json 获取,或者以其他方式立即将其包含在页面上。
随时随地看视频慕课网APP

相关分类

Java
我要回答