页面预览 PDF 文件

2020-04-15 08:47:03 +08:00
 burnbrid

早安,先生们。我想问下怎么把一个 PDF 文件直接展示到页面上给用户看?不需要用户去下载,直接在网页上预览。

3190 次点击
所在节点    HTML
11 条回复
YuxiangLuo
2020-04-15 08:52:31 +08:00
sevenzhou1218
2020-04-15 08:52:56 +08:00
jspdf
jydeng
2020-04-15 08:58:13 +08:00
pdf.js +1 最近刚刚做了一个类似的项目。
chanchan
2020-04-15 09:02:14 +08:00
<embed>标签?
burnbrid
2020-04-15 09:02:29 +08:00
@jydeng 能看下你源码吗?我老笨,培训学校出来的
jydeng
2020-04-15 09:09:38 +08:00
@burnbrid 项目是基于 vue 的,关键字:vue-pdf
HeyWeGo
2020-04-15 09:10:17 +08:00
lanhuapp.com/meeting

我觉得简单场景下,上面链接里的实现方式挺合适的。看上去就是用浏览器自带的预览,iframe 嵌入
dodo2012
2020-04-15 09:13:37 +08:00
移动端 pdf.js 有时不好用,我后来直接把 pdf 弄成一张张图片了
burnbrid
2020-04-15 09:58:59 +08:00
dodo2012
2020-04-15 12:34:12 +08:00
@burnbrid 这个在手机上有时是会有问题,所以我直接生成图片加载了😭
davin
2020-04-15 13:28:05 +08:00
原文件本身就是 pdf 格式的么,还是从 office 文档( pptx/docx/xlsx )转换来的?如果原文件是 office 文档,可以把文件放在远程服务器上,在浏览器输入 https://view.officeapps.live.com/op/embed.aspx?src= 再在等号后面加上以 https 开头的远程路径文件(可以是 pptx/docx/xlsx 格式)地址即可进行访问。

一般的小项目,直接 object + embed 解决了:
<object data="***.pdf" type="application/pdf" width="400" height="600">
<embed src="***.pdf" type="application/pdf">
<p>当前浏览器不支持 PDF 预览,请<a href="***.pdf">下载</a>后载查看。</p>
</embed>
</object>

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/662505

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX