HTML嵌入式PDF ifram
我已使用标签嵌入pdf文件。
<iframe id="iframepdf" src="files/example.pdf"></iframe>
在Chrome,IE8 +,Firefox等环境中,此方法运行良好,但是由于某些原因,当某些人在IE8中查看该文件时,文件是下载而不是嵌入的。 我知道该浏览器已经过时,但这是我办公室中的标准浏览器,因此,必须为此设计网站。
是否有人对为什么发生这种情况有任何想法,如何解决它,或者发出错误消息而不是让文件下载?
下载它的原因可能是未安装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渲染器(我没有 我认为,由于屏幕尺寸,在移动浏览器中看不到任何区别)。
如果浏览器安装了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>
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>
试试看
<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>