我正在使用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
});
}
答案 0 :(得分:0)
看看这个链接: http://caniuse.com/#feat=typedarrays
它将向您显示Internet Explorer 9中不支持ArrayBuffer,并且仅支持Internet Explorer 10中的警告。这意味着您必须修改代码以使用其他内容(此处的polyfill例如:{{3或者你必须忍受你的代码不能在IE 9和/或10中工作。