【发布时间】:2017-05-26 15:41:15
【问题描述】:
我正在使用 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