IE - Chrome和IE浏览器不显示datauri字符串(pdf)



我正在使用jspdf.js生成pdf。

它返回了一个datauri字符串(pdf),就像这样

data:application/pdf;base64,JVBERi0xLjMKMyAwIG9iago8PC9UeXBlIC9QYWdlCi9QYXJAyNwovUm9vdCAyNiAwIFIKL0luZm8gMjUgMCBSCj4+CnN0YXJ0eHJlZgo1MDMzMzMKJSVFT0Y...

我尝试在iframe和new选项卡中显示此pdf。

我使用以下代码在iframe中显示pdf:

$('#iframeid').attr('src', x);   // here variable x contains datauri string

我使用以下代码在新选项卡中显示pdf:

doc.output('dataurlnewwindow'); //i.e. used jspdf's output() to display it in new tab

在Mozilla Firefox中运行良好。但是,不能在Chrome和IE浏览器中工作

为什么Chrome和IE浏览器不显示datauri字符串(pdf) ?

  • Internet Explorer在版本8之前不支持datauri,以后的版本也有数据长度限制(见这里的评论)
  • Google Chrome在v.42中将datauri限制为128K长度时有一些问题。它已经修复了,但是在v49中可能会再次出现这些限制。

请考虑实际的datauri数据大小,因为它使用base64编码,导致数据长度增加额外的+25%

最新更新