在网络浏览器中显示PDF


Answers:


120

我使用的是Google文档可嵌入的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>

3
使用此解决方案,某些用户看不到PDF文件,但是Google要求他们首先登录。
菲利普·泽德勒

41
我对此解决方案有疑问。Google会在其服务器中存储我的pdf文件的副本吗?我的内容的隐私是否会保留?
hd。

@Alex可以肯定知道,请尝试...我会尝试-://作为iframe src的://docs.google.com/gview?url =://path.com/to/your/pdf.pdf&embedded=true
bradenkeith

与直接将iFrame的src设置为pdf的@Will解决方案有何不同/更好?我认为直接链接将取决于软件客户端实际显示pdf,但是google docs不会吗?
费利克斯·加侬-格雷尼尔

3
@高清。是的,Google只是通过嵌入式显示器显示PDF。我认为他们没有保留副本,尽管他们必须将其翻译成逐页显示,所以我希望在某些时候它们可以逐页转换为PNG。对于使用此答案的任何人,请注意Google对非Google Document文档有带宽限制。用尽后,PDF将不会显示,只会显示一条消息,表明已超出带宽,请稍后再试。
2014年


19

优先使用object标签

<object data='http://website.com/nameoffolder/documentname.pdf#toolbar=1' 
        type='application/pdf' 
        width='100%' 
        height='700px'>

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


您发布的“赞”不再提供答案的更多见解。
丹尼尔W.康普顿

2
问题是如何在Web浏览器中的.html页面上显示pdf?使用html 5 object标签将有助于... <object width =“ 400” height =“ 400” data =“ helloworld.swf”> </ object>使用此元素嵌入多媒体(例如音频,视频,Java applet, ActiveX,PDF和Flash)。
BAKARI SHEGHEMBE 2014年

您是完全正确的,但是与w3schools的链接没有提供更多信息来补充您编写的答案。
丹尼尔W.康普顿

如果您的浏览器中没有任何pdf查看器,则无法使用
Umair Hamid 2014年

1
是的,那是真的。关于object标签的一件好事是它可以检测到它。并且它允许您为访问者提供其他选项,以通过gdrive,onedrive等查看页面。<object data =' example.com/ path.pdf#toolbar=1'type='application/pdf'width =' 100%'height ='700px'> <p>您的网络浏览器似乎未配置为显示PDF文件。不用担心,只需<a href=' example.com/path.pdf'>单击此处下载PDF文件。</a>或<a href =“ drive.google.com/ [驱动器路径] / view?usp = sharing“>单击此处查看</a> </ p> </ object>
BAKARI SHEGHEMBE 2014年

19

最简单的方法是创建一个iframe,并将源设置为PDF的URL。

(让疯狂的HTML设计师感到沮丧)自己完成,可以正常运行,可以跨浏览器(爬入地堡)。


8
如果您没有在IE上安装pdf插件,则无法正常工作
Collin Anderson

3
那有什么明显的?似乎是“跨浏览器”的有用附录。
showdev 2015年

1
这比其他所有第三方都容易建立。我不知道它在2011年的表现如何,但在2016年,它的运行速度非常快,并且充满了有用的功能。在Chrome,FF和IE上似乎也可以很好地工作
-slaw

1
它不适用于Android手机上的Chrome浏览器:它将下载pdf并在单独的应用中打开(如果您有)。而且我无法滚动到iOS上Safari的其他页面。我只看到pdf的第一页。
Vasiliy Zverev

7

浏览器的插件控制这些设置,因此您不能强制执行。但是,您可以做一个简单的<a href="whatver.pdf">代替<a href="whatever.pdf" target="_blank">


终于有人知道他们在说什么这个答案。这是最好的答案,也是最简单的答案。@jschorr是绝对正确的。浏览器控制这些设置。最有效!!
Val

4

只要您托管PDF,就可以使用target属性。换句话说,对于相对文件,将target属性与_blank值一起使用将很好。

<e>
  <a target="_blank" alt="StackExchange Handbook" title="StackExchange Handbook"
     href="pdfs/StackExchange_Handbook.pdf">StackExchange Handbook</a>

对于绝对路径引擎会去û nified [R esource大号ocator并打开它自己。因此,抑制目标属性。

<e>
  <a alt="StackExchange Handbook" title="StackExchange Handbook"
     href="protocol://url/StackExchange_Handbook.pdf">StackExchange Handbook</a>

在这两种情况下,浏览器都将表现出色。


这个解决方案对我来说比接受的答案更好。还应注意,我使用一些敏感信息,因此,不公开公开我的文档对我很重要。
卡斯珀·威尔克斯


3

您可以使用以下代码:

<embed src="http://domain.com/your_pdf.pdf" width="600" height="500" alt="pdf" pluginspage="http://www.adobe.com/products/acrobat/readstep2.html">

或使用Google Docs嵌入式PDF查看器:

<iframe src="http://docs.google.com/gview?url=http://domain.com/your_pdf.pdf&embedded=true" 
style="width:600px; height:500px;" frameborder="0"></iframe>

1

您也可以使用这种简单的GoogleDoc方法。

<a  style="color: green;" href="http://docs.google.com/gview?url=http://domain//docs/<?php echo $row['docname'] ;?>" target="_blank">View</a>

这将创建一个新页面,供您查看文档而不会扭曲您的流程。


很好,谢谢。但是,如果用户希望在没有互联网连接的情况下查看pdf,该怎么办?
用户

您可以使用JQuery库,例如pdf.js github.com/mozilla/pdf.js .. 2.签出PDFObject,这是一个将PDF嵌入HTML文件的Javascript库。它可以很好地处理浏览器兼容性,并且很可能在IE8上运行。
Asuquo12

0

一种简单的解决方案是将其放在iframe中,并希望用户拥有支持它的插件。

(我不是,Acrobat插件是如此耗费资源和不稳定的根源,以至于我很想将其从所接触的任何浏览器中删除)。

复杂但相对流行的解决方案是将其显示在Flash小程序中。



0

我最近需要提供一个更加便于移动的,响应性强的.pdf文档版本,因为狭窄的电话屏幕需要左右左右滚动。为了只允许垂直滚动并避免水平滚动,以下步骤对我有用:

  • 在Chrome浏览器中打开.pdf
  • 点击使用Google文档打开
  • 单击文件>下载>网页
  • 单击下载的文档以将其解压缩
  • 点击解压缩的HTML文档,以在Chrome浏览器中将其打开
  • 按Fn F12打开Chrome开发工具
  • 将copy(document.documentElement.outerHTML.replace(/ padding:72pt 72pt 72pt 72pt 72pt; /,'').replace(/ margin-right:。*?pt / g,''))粘贴到控制台中,然后按Enter将调整后的文档复制到剪贴板
  • 打开文本编辑器(例如,记事本),或者在我的情况下打开VSCode,粘贴并保存为.html扩展名。

结果看起来不错,并且可以在台式机和移动环境中使用。



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.