最近,我被客户要求他们要求将所有实体的所有CRM记录下载为PDF。
我尝试使用html2canvas和jspdf库,但是我无法完全下载表单(表单是可滚动的),它只给了我当前能看到的内容,而不是剩下的可滚动部分。
如果我在下面的代码中做错了,或者有其他方法可以指导我,请指导我。
function createPDF() {
var a4 = [595.28, 841.89];
var div = $('#HeaderTilesWrapperLayoutElement', window.parent.document);
var xxxx = $($(div.context).find('iframe')[0]).contents().find("body");
var xxx = xxxx.find("#tdAreas");
var cache_width = xxx.width();
$('body').scrollTop(0);
getCanvas().then(function (canvas) {
var
img = canvas.toDataURL("image/png"),
doc = new jsPDF({
unit: 'px',
format: 'a4'
});
doc.addImage(img, 'JPEG', 20, 20);
doc.save('techumber-html-to-pdf.pdf');
xxx.width((a4[0] * 1.33333) - 80).css('max-width', 'none');
});
}
// create canvas object
function getCanvas() {
xxx.width((a4[0] * 1.33333) - 80).css('max-width', 'none');
return html2canvas(xxx, {
imageTimeout: 2000,
removeContainer: true
});
}