如何嵌入PDF文件?

53

我正试图在HTML文档中嵌入一个PDF文件,但这似乎只能在Chrome浏览器中工作。其他浏览器似乎要么需要插件,要么需要用户点击链接,这不是我想要的。以下是我尝试过的方法:

<object data="pdfFiles/interfaces.pdf" type="application/pdf">
    <embed src=" pdfFiles/interfaces.pdf" type="application/pdf">&nbsp;</embed>
                    alt :<a href="pdfFiles/interfaces.pdf">
</object>

alt 标签仅用于文本目的。 - user2008608
1
为了在网页中显示PDF,您需要一个插件。Chrome恰好内置了一个。 - gen_Eric
你为什么不直接添加超链接呢?例如 <a href="pdfFiles/interfaces.pdf">Relais D2D</a> - scunliffe
@scunliffe 我不想要超链接,我只希望用户在浏览器中打开嵌入在不同页面内的PDF文件。 - user2008608
6个回答

61

这里是你可以在任何浏览器中使用的代码:

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

在Firefox和Chrome上测试过


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

Google Docs允许您通过嵌入iframe链接到其服务中,从而嵌入PDF、Microsoft Office文档和其他应用程序。它用户友好、多才多艺且美观。


6
在我看来,这是最好的答案。得票最高的答案将取决于浏览器,并且将使用可用的插件。通过使用谷歌阅读器,可以保证一致的体验。 - Shaunak
6
请注意,这可能仅适用于未被密码或其他障碍物保护的文件。 - starbeamrainbowlabs
16
如果你在没有网络访问的局域网上,这将很糟糕。 - CesarD
10
我不明白为什么专有解决方案是最好的答案。如果你必须在没有访问 Google 文档的设备上工作,那就只能自求多福了...回到 IBM 时代... - Gi1ber7
11
如果PDF需要保密,那么这个方法行不通……对于大多数使用情况而言,可能都是如此,如果不是绝大部分的话。 - David Simic
1
谷歌不再允许您在iframe中嵌入此服务,因为提供了“X-Frame-Options: SAMEORIGIN”响应头。 - Nicole Ashley

33

这个完美运行,而且这是官方的HTML5。

<object data="https://link-to-pdf"></object>

1
它可以在任何浏览器上运行,但在Google Chrome和移动设备上无法正常工作。 - jerryurenaa

16

如果您正在使用ReactJS,请查看此项目https://github.com/wojtekmaj/react-pdf。 - Herbert Pimentel

6
我推荐使用PDFObject来进行 PDF 插件检测。
这只能让您在用户的浏览器无法直接显示 PDF 文件时,显示替代内容。例如,对于大多数用户,Chrome 可以正常显示 PDF,但如果他们使用 Firefox 或 Internet Explorer,则需要安装 Adobe Reader 等插件。
至少,PDFObject 可以让您在他们的浏览器没有安装 PDF 插件时,显示一个带有 Adobe Reader 下载链接和/或 PDF 文件本身的消息。

-2

FlexPaper 可能仍然是最适合用于这种类型的查看器。它具有传统的查看器和更多的翻页/翻书样式的查看器,包括 Flash 和 HTML5。

http://flexpaper.devaldi.com


1
这是现在的FlowPlayer,并且其免费版本有显著的限制(例如10页限制):https://flowpaper.com/download/ - fooquency

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接