将DIV导出为PDF don'无法在Internet Explorer中工作

Export DIV to PDF don't work in Internet Explorer

本文关键字:Internet Explorer 工作 DIV PDF don      更新时间:2023-09-26

我有一个div,里面有表格和图形,需要导出到PDF,我用html2canvas.js创建了一个画布,并用jsPDF.js将画布添加到PDF文档中,结果成功了!但只有在Mozilla Fire Fox和Google Chrome中,Internet Explorer 9、10和11不起作用!有人知道在IE中是否可以这样做,或者是不兼容问题吗?

代码:

函数createPDF(relatorio){

//获取报告技巧var形式=$(relatorio);

 var cache_width = form.width();
//A4 SIZE
 var a4  =[ 595.28,  841.89];  
 //CALL THE GET CANVAS FUNCTION
 getCanvas(form).then(function(canvas){
     var imgData = canvas.toDataURL('image/png');
     var imgWidth = 210; 
     var pageHeight = 295;  
     var imgHeight = canvas.height * imgWidth / canvas.width;
     var heightLeft = imgHeight;
     var doc = new jsPDF('p', 'mm');
     var position = 0;
     doc.addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight);
     heightLeft -= pageHeight;
     while (heightLeft >= 0) {
       position = heightLeft - imgHeight;
       doc.addPage();
       doc.addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight);
       heightLeft -= pageHeight;
     }
     doc.save('relatorioOrcadoRealizado.pdf');
     form.width(cache_width);

}

//转换画布的DIV

函数getCanvas(表单){

返回html2canvas(表单,{

 imageTimeout:2000,
 removeContainer:true
});  

}

经过多年的搜索,我找到了这个问题的解决方案,我需要使用polyfill来提供IE9中arrayBuffer的缺失。