【问题标题】:jsPDF change page formatjsPDF改变页面格式
【发布时间】:2020-11-06 17:14:27
【问题描述】:

我有一个在页面上设置页脚的功能。但我想让代码更灵活,并添加一个 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”启动之后,是否有人知道在代码中的任何位置更改页面格式的参数?或者这根本行不通?

提前致谢!

【问题讨论】:

  • 如果需要更多帮助,请提供有关答案的反馈

标签: jspdf


【解决方案1】:

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

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

方向是“纵向”或“横向”

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

doc.addPage(newWidth, newHeight);

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

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

【讨论】:

    【解决方案2】:
      /* -----------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');
      }
    

    【讨论】:

      【解决方案3】:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-11-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-10-05
        相关资源
        最近更新 更多