jsPDF更改页面格式

时间:2017-01-25 10:01:19

标签: jspdf

我有一个在页面上设置页脚的功能。但我希望使代码更灵活,并添加一个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');

但没有效果。

即使在“新jsPDF”启动后,有人知道代码在代码中的任何位置更改页面格式吗?或者这根本不起作用?

提前致谢!

3 个答案:

答案 0 :(得分:3)

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

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

定位是“肖像”'或者' landscape'

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

doc.addPage(newWidth, newHeight);

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

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

答案 1 :(得分:0)

  /* -----------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');
  }

答案 2 :(得分:0)

我还注意到,如果您有1页(我不能完全确定它在多于1页上的工作方式。我将介绍到...),则可以使用创建的jsPDF对象并运行通过setWidth();的{​​{1}}或setHeight();方法,以及对高度的明智选择。

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

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