错误:ArrayBuffer未定义

时间:2016-03-29 13:09:14

标签: javascript html pdf jspdf html2canvas

我正在使用html2canvas和jsPDF将div导出为PDF,正在使用Google Chrome,Firefox和IE 11,但是在IE的第9版和第10版中出现错误:ArrayBuffer未定义。

CODE:

function exportPDF(relatorio){

 var form = $(relatorio);

 var cache_width = form.width();

 var a4  =[ 595.28,  841.89];  

 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);

 });
}

function getCanvas(form){
 //CONVERT for canvas
 return html2canvas(form,{
     imageTimeout:2000,
     removeContainer:true
    }); 
}

1 个答案:

答案 0 :(得分:0)

看看这个链接: http://caniuse.com/#feat=typedarrays

它将向您显示Internet Explorer 9中不支持ArrayBuffer,并且仅支持Internet Explorer 10中的警告。这意味着您必须修改代码以使用其他内容(此处的polyfill例如:{{3或者你必须忍受你的代码不能在IE 9和/或10中工作。