HTML嵌入式PDF ifram

我已使用标签嵌入pdf文件。

<iframe id="iframepdf" src="files/example.pdf"></iframe>

在Chrome,IE8 +,Firefox等环境中,此方法运行良好,但是由于某些原因,当某些人在IE8中查看该文件时,文件是下载而不是嵌入的。 我知道该浏览器已经过时,但这是我办公室中的标准浏览器,因此,必须为此设计网站。

是否有人对为什么发生这种情况有任何想法,如何解决它,或者发出错误消息而不是让文件下载?

user2931470 asked 2020-02-22T23:08:56Z
4个解决方案
68 votes

下载它的原因可能是未安装Adobe Reader插件。 在这种情况下,IE(无关紧要的版本)不知道如何呈现它,它只会下载文件(例如,Chrome有其自己的嵌入式PDF呈现器)。

那就是。 <embed>并不是显示PDF的最佳方法(不要忘记与移动浏览器(例如Safari)的兼容性)。 某些浏览器将始终在外部应用程序(或另一个浏览器窗口)中打开该文件。 我发现最好和最兼容的方式有些棘手,但可以在我尝试过的所有浏览器上使用(甚至已经过时):

保留您的<<embed>,但不要在其中显示PDF,它会填充包含<object>标记的HTML页面。 为您的PDF创建一个HTML包装页,它应如下所示:

<html>
<body>
    <object data="your_url_to_pdf" type="application/pdf">
        <embed src="your_url_to_pdf" type="application/pdf" />
    </object>
</body>
</html>

当然,您仍然需要在浏览器中安装适当的插件。 如果您需要在移动设备上支持Safari,请同时查看此帖子。

1号 为什么在<object>内嵌套<embed>? 您将在此处找到答案。 您可以(应该!)代替嵌套的<embed>标签,为用户(或内置查看器,请参见下一段)提供自定义消息。 如今,可以无忧地使用<object>,而<embed>则毫无用处。

2号 为什么是HTML页面? 因此,如果不支持PDF查看器,则可以提供后备广告。 内部查看器,纯HTML错误消息/选项等...

检查PDF支持非常棘手,因此您可以为客户提供备用查看器,看看PDF.JS项目,这很好,但是渲染质量-对于桌面浏览器-不如原生PDF渲染器(我没有 我认为,由于屏幕尺寸,在移动浏览器中看不到任何区别)。

Adriano Repetti answered 2020-02-22T23:09:39Z
29 votes

如果浏览器安装了pdf插件,它将执行该对象,否则,它将使用Google的PDF Viewer将其显示为纯HTML:

<object data="your_url_to_pdf" type="application/pdf">
    <iframe src="https://docs.google.com/viewer?url=your_url_to_pdf&embedded=true"></iframe>
</object>
mgutt answered 2020-02-22T23:09:59Z
9 votes

iframe

<iframe id="fred" style="border:1px solid #666CCC" title="PDF in an i-Frame" src="PDFData.pdf" frameborder="1" scrolling="auto" height="1100" width="850" ></iframe>

宾语

<object data="your_url_to_pdf" type="application/pdf">
  <embed src="your_url_to_pdf" type="application/pdf" />
</object>
Muddasir Abbas answered 2020-02-22T23:10:23Z
0 votes

试试看

<iframe src="https://docs.google.com/viewerng/viewer?url=http://infolab.stanford.edu/pub/papers/google.pdf&embedded=true" frameborder="0" height="100%" width="100%">
</iframe>

Bilal A.Awan answered 2020-02-22T23:10:47Z
translate from https://stackoverflow.com:/questions/19654577/html-embedded-pdf-iframe