我正在尝试使用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而不仅仅是一次可见的内容?
答案 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像素尺寸