我正在使用jspdf和html2canvas组合将HTML页面保存为PDF。单击按钮时,会保存当前页面的PDF副本。问题在于,如果您缩放页面,然后单击按钮,则保存的PDF包含当前页面的不完整部分。由于缩放而在页面上看不到的大部分内容将在保存的PDF页面中被剪切。解决方案是什么?
以下是在单击保存按钮时调用的js代码-
var pdf = new jsPDF('l', 'pt', 'a4');
var source = $('#someId')[0];
var options = {
background : '#eee'
};
pdf.addHTML(source, options, function(){
pdf.save('abcd.pdf');
});
编辑
借鉴Saurabh的方法,我尝试了类似的做法,但没有编写任何额外div元素的代码。在保存为pdf之前,我将屏幕大小设置为固定宽度,在打印后将宽度恢复到默认正常状态。如果有问题,我们可以始终通过调整屏幕高度来解决,以便在生成的pdf中即使缩放也能显示良好。以下是我使用的代码:
var pdf = new jsPDF('l', 'pt', 'a4');
var source = $('#someId')[0];
var options = {
background : '#eee'
};
var width = source.clientWidth;
source.style.width = '1700px';
pdf.addHTML(source, options,
function(){
pdf.save('abcd.pdf');
source.style.width = width+'px';
});