使嵌入式PDF可在iPad中滚动

chr*_*a10 14 html pdf jquery ipad

出于某种原因,iPad safari浏览器无法很好地处理嵌入式PDF.单独启动时,PDF可以自行查看,但不能使用object标签.问题是他们不滚动.

我有一个带有嵌入式pdf的jquery页面,可以很好地滚动浏览mozilla和chrome,但在safari(iPad)上,PDF仍然停留在第一页并且不可滚动.问题是,如何在iPad浏览器上完成这项工作?

这里发布了一个类似的问题.嵌入式PDF可以在iPad上滚动,但答案并不是很好.他们使用10000px的高度作弊,这为小文档创建了大量的空白,并且可能不适用于非常大的文档:

<!DOCTYPE html>
<html>
  <head>
    <title>PDF frame scrolling test</title>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
    <style>
      #container { overflow: auto; -webkit-overflow-scrolling: touch; height: 500px; }
      object { width: 500px; height: 10000px }
    </style>
  </head>
  <body>
    <div id="container">
      <object id="obj" data="my.pdf" >object can't be rendered</object>
    </div>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

没有硬编码疯狂高度的任何方式来完成这项工作?

MSD*_*MSD 19

多年来我一直试图找到解决这个问题的方法.我会尽力挽救任何寻找它的人:这个问题没有解决方案.Safari处理PDF渲染的方式与在网页中嵌入PDF的整个概念相悖.此外,iPad上的所有浏览器都需要使用Safari渲染引擎,因此您甚至无法指示用户安装其他浏览器.

嵌入具有良好结果的PDF的唯一方法是使用某种第三方渲染实用程序.有一些jQuery解决方案,但出于我的目的,我发现最简单的方法是在对象或iframe标签中嵌入一个google doc viewer链接.这样做比较简单,你可以在这里找到简单的说明:

如何在iframe中查看Google drive pdf链接

该解决方案包括良好的显示渲染和简单的分页和缩放控制.如果要将其嵌入到iframe或对象标记中,请确保包含&embedded = true选项,否则它将无效.查看器需要一个可公开访问的文档URL,因此如果您有安全问题,例如我,您将需要编写一个Web服务来从单个使用令牌提供文档.

如果您正在寻找更强大的东西,有一个很好的网页列出了其他几个选项:

http://www.jqueryrain.com/2012/09/best-jquery-pdf-viewer-plugin-examples/

  • 我认为这就是为什么人们不断评论说我们不应该只发布链接而应该总结其内容。 (2认同)

Van*_*och 16

PDF.js可能是正确的选择.它对我们来说非常有效.

您只需从https://mozilla.github.io/pdf.js/下载并将其放入您的网站即可.

然后它可以包含在iframe中

<iframe src="/web/viewer.html?file=PATH_TO_MY_FILE.PDF"></iframe>
Run Code Online (Sandbox Code Playgroud)

可在此处找到演示:https://mozilla.github.io/pdf.js/web/viewer.html

问候

  • 我们最终使用了这种方法,它效果很好并且很容易实现。 (2认同)