如何合并页脚?

问题描述

我想知道如何将Footer纳入我的报告(例如:第1页,共2页)。使用库在其URL示例中建议的相同代码,但变量:const totalPagesExp =“ {total_pages_count_string}”;永远不值钱。 预先感谢。

[![import jsPDF from "jspdf";
import "jspdf-autotable";

const generatePDFTable = (reportData) => {
  // initialize jsPDF
  const doc = new jsPDF();

  const totalPagesExp = "{total_pages_count_string}";

  doc.autoTable({
    columns: reportData.columns,body: reportData.body,theme: reportData.theme ? reportData.theme : "grid",styles: { ...reportData.styles },columnStyles: { ...reportData.columnStyles },bodyStyles: { ...reportData.bodyStyles },headStyles: { ...reportData.headStyles },footStyles: { ...reportData.footStyles },showHead: reportData.showHead ? reportData.showHead : "everyPage",showFoot: reportData.showFoot ? reportData.showFoot : "everyPage",pageBreak: reportData.pageBreak ? reportData.pageBreak : "auto",rowPageBreak: reportData.rowPageBreak ? reportData.rowPageBreak : "auto",didDrawPage: function (data) {
      // Footer
      let str = "Page " + doc.internal.getNumberOfPages();
      if (typeof doc.putTotalPages === "function") {
        str = str + " of " + totalPagesExp;
      }
      doc.setFontSize(10);
      const pageSize = doc.internal.pageSize;
      const pageHeight = pageSize.height
        ? pageSize.height
        : pageSize.getHeight();
      doc.text(str,data.settings.margin.left,pageHeight - 10);
    },});

  doc.save(reportData.fileName ? reportData.fileName : "table.pdf");
};

export default generatePDFTable;][1]][1]

解决方法

import jsPDF from "jspdf";
import "jspdf-autotable";

const generatePDFTable = (reportData) => {
  // initialize jsPDF
  const doc = new jsPDF();

  const totalPagesExp = "{total_pages_count_string}";

  doc.autoTable({
    columns: reportData.columns,body: reportData.body,theme: reportData.theme ? reportData.theme : "grid",styles: { ...reportData.styles },columnStyles: { ...reportData.columnStyles },bodyStyles: { ...reportData.bodyStyles },headStyles: { ...reportData.headStyles },footStyles: { ...reportData.footStyles },showHead: reportData.showHead ? reportData.showHead : "everyPage",showFoot: reportData.showFoot ? reportData.showFoot : "everyPage",pageBreak: reportData.pageBreak ? reportData.pageBreak : "auto",rowPageBreak: reportData.rowPageBreak ? reportData.rowPageBreak : "auto",didDrawPage: function (data) {
      // Footer
      let str = "Page " + doc.internal.getNumberOfPages();
      if (typeof doc.putTotalPages === "function") {
        str = str + " of " + totalPagesExp;
      }
      doc.setFontSize(10);
      const pageSize = doc.internal.pageSize;
      const pageHeight = pageSize.height
        ? pageSize.height
        : pageSize.getHeight();
      doc.text(str,data.settings.margin.left,pageHeight - 10);
    },});

  // Total page number plugin only available in jspdf v1.0+
  if (typeof doc.putTotalPages === "function") {
    doc.putTotalPages(totalPagesExp);
  }

  doc.save(reportData.fileName ? reportData.fileName : "table.pdf");
};

export default generatePDFTable;

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...