如何在<iframe>中打开PDF文件?

use*_*210 32 html javascript browser pdf iframe

我想在iframe中打开pdf文件.我使用以下代码:

<a class="iframeLink" href="https://something.com/HTC_One_XL_User_Guide.pdf"
   jQuery1640737952376988841="85"> User guide </a>
Run Code Online (Sandbox Code Playgroud)

它在Firefox中正常运行,但它没有在IE8中打开.

有谁知道如何让它也适用于IE?

Aam*_*mir 37

使用iframe"渲染"PDF不适用于所有浏览器; 这取决于浏览器如何处理PDF文件.某些浏览器(如Firefox和Chrome)具有内置的PDF呈现,允许它们显示PDF内联,而某些较旧的浏览器(可能是较早版本的IE尝试下载该文件).

相反,我建议查看PDFObject,它是一个Javascript库,用于在HTML文件中嵌入PDF.它很好地处理浏览器兼容性,很可能适用于IE8.

在HTML中,您可以设置a div来显示PDF:

<div id="pdfRenderer"></div>
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用Javascript代码嵌入PDF div:

var pdf = new PDFObject({
  url: "https://something.com/HTC_One_XL_User_Guide.pdf",
  id: "pdfRendered",
  pdfOpenParams: {
    view: "FitH"
  }
}).embed("pdfRenderer");
Run Code Online (Sandbox Code Playgroud)

  • 那么src路径不会显示在iFrame中吗?^ (8认同)
  • 这才是重点.但是它将PDF加载到对象而不是iframe中.见http://pdfobject.com/markup/index.php (5认同)

And*_*ios 20

这是从以下链接HTTP(S)可访问PDF的代码<iframe>:

<iframe src="https://research.google.com/pubs/archive/44678.pdf"
   width="800px" height="600px" >
Run Code Online (Sandbox Code Playgroud)

小提琴:http://jsfiddle.net/cEuZ3/1545/

编辑:你可以使用Javascript,从<a>标签(onclick事件)在运行时设置iFrame的SRC属性...

编辑2:显然,这是一个错误(但有解决方法):

使用Adobe Reader 10.0在Internet Explorer中无法打开PDF文件 - 用户将获得一个空灰色屏幕.如何为我的用户解决此问题?


Roe*_*oey 5

确保Web服务器使用Content-Disposition = inline发送文件也很重要.如果您自己阅读文件并将其内容发送到浏览器,则可能不是这种情况:

在PHP中它看起来像这样......

...headers...
header("Content-Disposition: inline; filename=doc.pdf");
...headers...

readfile('localfilepath.pdf')
Run Code Online (Sandbox Code Playgroud)