【问题标题】:Base64 Pdf in iframe not displaying in Chromeiframe 中的 Base64 Pdf 未在 Chrome 中显示
【发布时间】:2016-11-30 18:47:30
【问题描述】:

我正在尝试显示 base64 编码的 pdf。在 FF 和 Safari 中,下面的代码在查看器中显示 pdf,但是在 Chrome 中加载页面,为 iframe 创建空间,但 iframe 不显示。

<apex:page controller="SomeController">
    <apex:iframe src="data:application/pdf;base64,{!pdf}"></apex:iframe>
</apex:page>

我已确认我确实可以在其他网页上的 Chrome 中查看 PDF 文件,并且 Chrome PDF 查看器插件已启用。

【问题讨论】:

标签: html google-chrome pdf base64 apex


【解决方案1】:

这最终奏效了,尽管我们的开发团队发誓,最初尝试此方法时它不起作用:

<apex:page controller="SomeController">
    <object>
        <embed src="data:application/pdf;base64,{!pdf}" height="800" width="1200"/>
    </object>
</apex:page>

当然存在早期版本的IE不支持object的问题,但至少它现在可以在chrome中使用。

【讨论】:

  • 您真的需要在此处包裹对象标签吗?不应该只是嵌入标签吗?
  • @R2D2 在我们的例子中,是的,我们做到了。我们仍然不确定为什么这是必要的,所以我不能评论这是一种好的做法。它会与它一起工作,而不是没有它。我不知道这是不是 APEX 的一些奇怪的工件,还是其他一些未知的问题。没有对象标签,它确实在 FF 和 Safari 中工作。
【解决方案2】:

这适用于我的角度 js

<embed ng-src="{{NewDocumentData_PDF}}" height="800px;" width="100%;" />

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-20
    • 1970-01-01
    • 1970-01-01
    • 2019-03-30
    • 2023-04-04
    • 2013-05-27
    • 2012-03-31
    • 2017-11-13
    相关资源
    最近更新 更多