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

时间:2015-05-20 09:40:57

标签: google-chrome internet-explorer pdf iframe jspdf

我使用 jspdf.js 生成pdf。

它返回了一个像这样的数据字符串(pdf)

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

我尝试在iframe和新标签中显示此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)?

1 个答案:

答案 0 :(得分:1)

  • Internet Explorer在版本8之前不支持datauri,后续版本也有数据长度限制(请参阅评论here
  • Google Chrome在第42条中遇到了一些问题,将datauri限制为128K长度。它已修复,但在第49版中可能再次将这些限制作为reported

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