我使用Html2Canvas,然后使用jsPdf导出图像。
这是功能:
function exportPdf() {
content = $("#print");
var useWidth = content.prop('scrollWidth');
var useHeight = content.prop('scrollHeight');
debugger;
html2canvas((content), { width: useWidth, height: useHeight}).then(function (canvas) {
debugger;
var img = canvas.toDataURL("image/png");
var doc = new jsPDF({
unit:'px',
format:'a4'
});
debugger;
doc.addImage(img, 'JPEG', 0, 0);
doc.save('test.pdf');
});
}
我认为正在考虑视口(viewport),就像在做一个打印屏幕一样,当然,滚动下方的任何内容都不会考虑到它。
有任何想法吗?
最佳答案
称呼
window.scrollTo(0,0)
在调用html2canvas之前,它似乎是一个错误,但是该窗口必须位于顶部,以便html2canvas捕获传递给它的整个DOM。
关于Html2Canvas图像被剪切,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40349075/