在Web浏览器中显示PDF

Cod*_*Guy 74 html browser pdf

如何在.html页面上的Web浏览器中显示pdf?

bra*_*ith 110

我使用Google Docs嵌入式PDF查看器.这些文档不必上传到Google文档,但必须在线提供.

<iframe src="http://docs.google.com/gview?url=http://path.com/to/your/pdf.pdf&embedded=true" 
style="width:600px; height:500px;" frameborder="0"></iframe>
Run Code Online (Sandbox Code Playgroud)

  • 我对这个解决方案有疑问.谷歌会在我的服务器中存储我的pdf文件的副本吗?我的内容隐私会保留吗? (36认同)
  • 使用此解决方案,某些用户看不到PDF文件,但谷歌会要求他们先登录. (3认同)
  • @hd.是的,Google只是通过其嵌入式显示器显示PDF.我不认为他们会保留副本,虽然他们必须将其翻译成逐页显示,所以在某些时候我希望他们逐页转换为PNG.对于使用此答案的任何人,请注意Google对非Google文档文档的带宽限制.一旦耗尽,PDF将不会显示,只显示已超出带宽的消息,稍后再试. (3认同)

nav*_*ins 33

而不是使用iframe并依赖于__CODE__,考虑使用flexpaper或pdf.js.

我用过pdf.js,它对我来说很好.

这是演示:http://mozilla.github.com/pdf.js/web/viewer.html

  • 它是第三方代码而不是第三方服务. (35认同)
  • 怎么不是第三方? (3认同)

小智 18

最简单的方法是创建iframe并将源设置为PDF的URL.

(鸭疯狂的HTML设计师)自己完成,工作正常,跨浏览器(爬进沙坑).

  • 如果您没有在IE上安装pdf插件,则无效 (8认同)
  • 这有什么明显的?似乎是"跨浏览器"的有用附录. (3认同)
  • 这比所有其他第三方的设置要容易得多。我不知道它在 2011 年的表现如何,但在 2016 年它的速度非常快并且充满了有用的功能。似乎在 Chrome、FF 和 IE 上也能很好地工作 (2认同)
  • 它在 Android 手机上的 Chrome 中对我不起作用:它会下载 pdf 并在单独的应用程序中打开它(如果你有一个应用程序)。我无法在 iOS 上的 Safari 中滚动到其他页面。我只看到pdf的第一页。 (2认同)

BAK*_*MBE 12

使用object标签进行优先级

<object data='http://website.com/nameoffolder/documentname.pdf#toolbar=1' 
        type='application/pdf' 
        width='100%' 
        height='700px'>
Run Code Online (Sandbox Code Playgroud)

请注意,您可以将宽度和高度更改为任何值,请访问 http://www.w3schools.com/tags/tag_object.asp

  • 问题是如何在.html页面上的Web浏览器中显示pdf?使用html 5对象标签将有助于... <object width ="400"height ="400"data ="helloworld.swf"> </ object>使用此元素嵌入多媒体(如音频,视频,Java小程序,您的网页中的ActiveX,PDF和Flash). (2认同)

Sim*_*kir 7

我对这个领域的提供商进行了仔细的评估:

免费解决方案

  • iframe:只需使用 iframe,但是,这不是大多数人在这里搜索的内容。
  • Pdf.js是开源解决方案,无需外部依赖
  • Adobe提供“免费”PDF 嵌入 API

商业提供商

希望这可以帮助。如果这对人们有帮助的话,我可能会在博客文章中发布更详细的信息(请在评论中告诉我)。


jsc*_*orr 6

浏览器的插件控制这些设置,因此您无法强制它.但是,你可以做一个简单<a href="whatver.pdf">而不是<a href="whatever.pdf" target="_blank">.


ftc*_*sta 6

只要您托管 PDF,目标属性就是您的最佳选择。换句话说,对于相对文件,使用带有 _blank 值的 target 属性就可以了。

<e>
  <a target="_blank" alt="StackExchange Handbook" title="StackExchange Handbook"
     href="pdfs/StackExchange_Handbook.pdf">StackExchange Handbook</a>
Run Code Online (Sandbox Code Playgroud)

对于绝对路径,引擎将转到统一资源定位器并打开它。因此,抑制目标属性。

<e>
  <a alt="StackExchange Handbook" title="StackExchange Handbook"
     href="protocol://url/StackExchange_Handbook.pdf">StackExchange Handbook</a>
Run Code Online (Sandbox Code Playgroud)

在这两种情况下,浏览器都会很好地完成依赖。