html - base64 嵌入的 PDF 文件不会在 Chrome 中呈现

标签 html pdf iframe base64 embed

某些 PDF 文件无法在 Chrome 浏览器中呈现,但在 Firefox 中可以正常呈现。如果直接嵌入,所有文件在所有浏览器中都可以正常呈现。

<object id="content-view" :data="content_view.base64" type="application/pdf"></object>

令人困惑的部分是问题仅针对某些文件而不是全部文件。文件存储在不公开的文件夹中,这就是为什么它们作为 base64 供用户查看的原因。

screenshot

我使用在线 base64 解码器测试了有问题的文件,得到了相同的结果。在 FF 中呈现,而不是在 Chrome 中呈现。

我无法共享任何 PDF 文件。它们都来自同一来源,从同一设备扫描,PDF 版本 1.4,4 页。

我试过了:
  • 使用 iframe、嵌入和对象(结果相同)
  • 在 Chrome 站点设置中取消阻止不安全的内容
  • 在 Adob​​e Acrobat 中打开和重新保存
  • 使用在线 PDF 分析器查看是否存在任何问题(未发现)
  • 最佳答案

    您可以使用 Mozilla 编写的 JS 渲染器,而不是使用浏览器的原生 PDF 渲染器。

    ViewerJS提供了一个很好的界面,如果你想把它全尺寸嵌入到一个页面中,那么你可以把它放在一个 iframe 中并用 iFrame-resizer 控制它。 .

    关于html - base64 嵌入的 PDF 文件不会在 Chrome 中呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61223770/

    相关文章:

    javascript - Div 不可见

    html - 在 Angular 2 中使用路由器 socket

    c# - 如何将文件文档发送到打印机并进行打印?

    c# - iTextSharp 生成的 PDF : How to send the pdf to the client and add a prompt?

    html - 为什么行高会增加额外的高度?

    html - CSS3 动画 - 图像的动画宽度

    javascript - 无法使用document.getElementById().innerHTML重写原始html

    Java关闭PDF错误

    javascript - 如何从 iframe 中调用 Angular Controller 函数

    javascript - 在 youtube 播放器上创建 CSS 覆盖以防止点击