jsPDF改变页面格式

jsPDF change page format

我有一个在页面上设置页脚的功能。但是我想让代码更灵活,并添加一个 if 语句,当文档是 'a4' 或 a3'.

时,我希望它在不同的位置设置页脚
function footer(){
    doc.setFontSize(11);
    doc.text(180,280, 'Seite ' + doc.page);
    doc.page ++;
    }

但是在页面启动后找不到更改格式的参数:

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

我试过了:

doc.format('a3');
doc.setFormat = 'a3';
doc.setPageFormat('a3');

但 none 有效。

是否有人知道即使在 "new jsPDF" 启动后也可以在代码中的任何位置更改页面格式的参数?或者这根本行不通?

提前致谢!

您可以在每个新页面上设置格式和方向:

doc.addPage('a3', 'portrait');

方向是 'portrait' 或 'landscape'

或者您也可以设置高度和宽度:

doc.addPage(newWidth, newHeight);

在这种情况下,单位将与您的 jsPDF 实例化中的单位相同 ('mm'):

var doc = new jsPDF('p', 'mm', 'a4');
  /* -----------PDF GENERATE--------- */
  @ViewChild('reportContent') reportContent: ElementRef;
  downloadPdf() {
    const doc = new jsPDF('l', 'mm', 'a3');

    const specialElementHandlers = {
      '#editor': function (element, renderer) {
        return true;
      }
    };
    const content = this.reportContent.nativeElement;
    doc.fromHTML(content.innerHTML, 15, 10, {

      'width': 100,
      'elementHandlers': specialElementHandlers
    });
    doc.save('ReminderReport' + '.pdf');
  }

我还注意到,如果您有 1 页(我不完全确定它如何处理超过 1 页。我会讲到......),您可以使用您创建的 jsPDF 对象并运行 setWidth();setHeight(); 方法通过 doc.internal.pageSize.setWidth(some number); 和身高一样明智。

当我深入研究这些方法时,我注意到虽然 setWidth 和 setHeight 只接受一个参数,但要更新对象,它需要将 2 个参数分别传递给 setWidth 和 setHeight 中的另一个方法。具体来说,传递给 setWidth 或 setHeight 的数字和要更改的页码。我是 jsPDF 的新手(我只需要它来完成一项基本任务,所以我可能不会深入研究它),所以我不确定它是否像这样工作,但我想你可以设置当前您正在处理的页面(可以通过 doc.internal.pages['some page']doc.page ++; 访问),这可能对某些人有用...

并不是说这很深奥,但可能对某些人有用。