【问题标题】:Export DIV to PDF don't work in Internet Explorer将 DIV 导出为 PDF 在 Internet Explorer 中不起作用
【发布时间】:2016-03-23 16:07:05
【问题描述】:

我有一个带有表格和图形的 div,需要导出为 PDF,我使用 html2canvas.js 创建了一个画布,并使用 jsPDF.js 在 pdf 文档中添加了画布,它工作正常!但仅在 Mozilla Fire Fox 和 Google Chrome 中,Internet Explorer 9、10 和 11 不起作用!任何人都知道是否可以在 IE 中执行此操作还是不兼容问题?

代码:

函数 createPDF(relatorio){

//获取报告模式 var form = $(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(form){

返回 html2canvas(表单,{

 imageTimeout:2000,

 removeContainer:true

});  

}

【问题讨论】:

  • 欢迎来到 Web 开发的世界。 IE 通常会导致您的所有问题并且很难解决。您的任务应该在 IE 10 和 11 中运行,但在 IE 9 中永远无法运行。您应该检查您的视线是否在兼容模式下运行,如果它关闭并且您应该能够在 10 和11
  • 感谢您的回复!我在 IE 10 和 11 上工作,你知道我怎样才能使这项工作在 IE 9 上工作?
  • 您的库是否正式支持 IE 9,它们将是您确定是否可能的最佳资源

标签: javascript html css pdf


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-09
    • 2016-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-30
    • 2014-10-29
    相关资源
    最近更新 更多