【发布时间】:2015-12-08 15:51:37
【问题描述】:
我有一个对象:
<object id="pdfViewer" data="<?=$b64?>" type="application/pdf" title="document" width="100%" height="800"></object>
$b64 是这样的字符串:$b64 = "data:application/pdf;base64,base64 string".
在第一页加载时,pdf 显示在 chrome 和 firefox 中,而不是在 IE 中(没有错误)。
我用这个代码通过 ajax 刷新这个对象:
var $pdf = $("#pdfViewer");
$pdf.attr('data','data:application/pdf;base64,'+bin64Corrected);
它可以在 Firefox 上运行,而不是在 chrome 上运行(它在以前的版本中运行),仍然不能在 IE 上运行:D。
我正在寻找解决方案,试过这个:
$pdf.load('data:application/pdf;base64,'+bin64Corrected);
它没有工作。
感谢您的帮助!
编辑
它现在可以在 chrome 上运行,我不得不更改这段代码来修复 javascript 加载部分:
newObject = '<object id="pdfViewer" data="data:application/pdf;base64,'+bin64Corrected+'" type="application/pdf" title="document" width="100%" height="800"></object>';
$pdf.parent().append(newObject);
但它仍然无法在 IE 中工作,我可以让它工作的唯一方法是这样做:
<object id="pdfViewer" data="site/displayPdf" type="application/pdf" title="document" width="100%" height="800"></object>
site/displayPdf 是发送带有 PDF 标题的 pdf bin 数据的 url。
那么你们有谁知道在 IE 中基于 base64 字符串加载 pdf 对象是不可能的吗?
谢谢!
【问题讨论】:
-
这个解决方案有效吗? stackoverflow.com/questions/10841239/…
-
不,谢谢:/
-
也许您可以将 PDF 嵌入 iframe 中,然后 reload that.
-
我无法在 pdf 中加载我在 ajax 调用中收到的 base 64 字符串:-/.
标签: javascript php html pdf base64