2016-03-29 24 views
1

Bir div'i PDF'ye dışa aktarmak için html2canvas ve jsPDF kullanıyorum, Google Chrome, Firefox ve IE 11 üzerinde çalışıyor ancak IE'nin 9 ve 10. sürümlerinde hata veriyor: ArrayBuffer undefined.Hata: ArrayBuffer undefined

KODU: http://caniuse.com/#feat=typedarrays

O size gösterecektir ArrayBuffer Internet Explorer 9'da desteklenen ve sadece Internet Explorer 10. Bu araçlar içinde uyarılar ile desteklenmediğini:

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

cevap

0

bu bağlantıyı göz Başka bir şey kullanmak için kodu değiştirmelisiniz (örneğin bu polyfill burada: https://github.com/inexorabletash/polyfill/blob/master/typedarray.js) ya da IE 9 ve/veya 10'da çalışmayan kodunuzla yaşamak zorunda kalacaksınız.

+0

Cevabınız için teşekkür ederiz @ David va n Driessche, "İngilizce" çevirmenim için özür dilerim google ama bu "typedarray.js" yi nasıl kullanabileceğimi anlamadım. Bu javascript'i projeme eklemek zorunda mıyım? –