angular2 jsPdf生成整个div的pdf

时间:2017-09-29 06:56:28

标签: angular jspdf

我正在尝试使用jsPdf生成我的视图的pdf,这是成功的,除了它生成视图中的部分的pdf而不是整个html。

<div style="padding: 1%;">
    <button mdl-button mdl-button-type="raised" (click)="download()">download </button>
</div>

<div class="mdl-grid" id='entireDownload'>

... 
... => here is a big html whose content do not fit in 100vh viewport

</div>

和我的组件:

  download() {

    //var doc = new jsPDF();
    const elementToPrint = document.getElementById('entireDownload'); //The html element to become a pdf
    const pdf = new jsPDF('p', 'pt', 'a4');
    pdf.addHTML(elementToPrint, () => {
      // Save the PDF
      pdf.save('behavior-variables.pdf');
    });

  }

如何确保我的下载功能生成整个div的pdf而不仅仅是一次可见的内容?

1 个答案:

答案 0 :(得分:0)

理论上,您可以使用所需的尺寸实例化jsPDF对象。这些维度必须符合您的DIV:

var pdfDoc = new jsPDF('p', 'pt', [divWidth, divHeight]);

但无论如何它对我来说都不起作用:高度总是错误的

我的工作是删除第一页并添加一个具有预期尺寸的新页面:

var pdfDoc = new jsPDF('p', 'pt', [0, 0]);  //Units 'pt' are important!
pdfDoc.deletePage(1);
pdfDoc.addPage(myDivWidth, myDivHeight);

&#39;&#39; (点)单位将应用于任何新页面,它将适合您的DIV像素尺寸