使用jspdf将html页面另存为pdf,如果缩放浏览器,则保存的pdf包含不完整的页面内容,为什么?

问题描述 投票:4回答:2

我正在使用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';
});
javascript pdf pdf-generation jspdf html2canvas
2个回答
3
投票
margin-top:500px将div副本附加到了我的dom上。

获得图像后,我将隐藏该div副本,并设置margin-top:0px

我希望这对您有用。


0
投票
html2canvas
© www.soinside.com 2019 - 2024. All rights reserved.