求问 PPT 文件上传后如何在 WEB 端直接打开查看,不下载!

2022-03-31 20:03:28 +08:00
 minuo0day

PHP 的后台,VUE 的前端,在后台上传 doc\ppt\pdf 的文件,问题是“目前只解决了 PDF 的新标签页打开的问题,但是 DOC 和 PPT 前端 WEB 点击只能下载,不能直接再标签页内直接打开吗?” 跪求大神指点迷津~

2783 次点击
所在节点    程序员
34 条回复
WinkeyLin
2022-03-31 20:08:50 +08:00
调用微软的 Office 在线预览服务: http://view.officeapps.live.com/op/view.aspx?src={文件地址}
minuo0day
2022-03-31 20:23:37 +08:00
@WinkeyLin 文件地址在阿里云的 OSS ,刚才试了 2 个,有点慢,不过确实成功了一次,另外一次报错了,查看器这个只能用 OFFICE 官方的么?下载的字眼太明显,客户不太想用户下载
Coolxiaobai
2022-03-31 21:27:18 +08:00
web 服务器是 nginx 么,可以强制配置返回浏览器类型为 text/html 来处理
crystom
2022-03-31 21:29:01 +08:00
可用转 pdf 再预览,不过也不保证效果,蹲下面有没有更好的方案
Quarter
2022-03-31 21:33:37 +08:00
onlyoffice 试试呢🥱
Coolxiaobai
2022-03-31 21:42:08 +08:00
https://sm.ms/image/CBek3tK6PZuFUnm
浏览器会依据这个返回的 header 处理资源吧,我理解,只要把这个返回的处理下就可以,处理成流就变成下载,处理成 application/pdf 就可以直接看
Howlaind
2022-03-31 21:51:43 +08:00
Collabora Online
rodrick
2022-03-31 22:46:56 +08:00
office 在线预览感觉市面上就没几个特别完美的解决方案
sumulige
2022-03-31 23:02:43 +08:00
一般都是 open office 转 pdf
ZhanGuang01
2022-03-31 23:21:00 +08:00
chrome 好像不支持直接预览 ppt ,需要安装扩展才可以
rekulas
2022-03-31 23:35:05 +08:00
最接近原生的方法就是直接对接原生,用 saas 的思想去开发
例如类似 https://neverinstall.com/ 的技术
这是我在网页上操作远程 brave 浏览器的视频,完全一模一样
https://streamja.com/q5WJ1

当然,这个属于额外功能,跟客户说要加钱
Osk
2022-04-01 00:19:06 +08:00
服务器上存原 word/ppt 方案:
微软的 Office Server:

Only Office:


- 免费, 但限制 20 个连接
buliugu
2022-04-01 00:28:18 +08:00
免费方案 kkfileview
iyaozhen
2022-04-01 00:28:24 +08:00
你这叫在线预览服务

国内几乎只能选择 WPS ,找他们掏钱吧。
Osk
2022-04-01 00:29:02 +08:00
不好意思发错了:

服务器上存原 word/ppt 方案:
微软的 Office Server:
- 需要 Windows Server 和 Office Server 的两重授权, 价格想好哦, 你就可以搭建类似于一楼的那种 Office 在线预览服务了. 看过成品, 似乎是可以没有下载按钮的.

Only Office:
- 社区版只有 20 个连接被允许. 你需要尝试修改后自己编译 (贼麻烦), 或者买授权.
- 中文字体名称问题老问题了.
- 文档兼容性尚可.
- 似乎也可以控制仅预览, 阻止下载和打印.

Collabora Online:
没用过不知道, 但文档兼容性一团糟 (网上评价的).

WPS:
没有了解过.


在线预览都有一个大问题: 基本都需要占用不少的服务器资源来支撑 Office 后端.


另一种做法: 将用户的 word/ppt 在后端转换成 pdf 或者图片, 这样就不用浪费资源区搭建 office 后端.
Windows 可以使用微软的 office server 生成 pdf, 但不知到有没有这功能.
利用 Office 桌面版 /wps 桌面版的 COM 接口, 来自动化转换为 pdf 格式(不推荐, 处理用户上传的文件容易出现安全风险).
Linux 服务器上使用 LibreOffice 来命令行转换为 PDF, 但缺点还是那个: 兼容性堪忧.


没亲自用过, 但折腾 next cloud 时特地了解过.
jack80342
2022-04-01 00:30:45 +08:00
minuo0day
2022-04-01 08:56:20 +08:00
@Quarter 有限制,之前考虑过,客户文件量比较大
minuo0day
2022-04-01 08:57:56 +08:00
@Coolxiaobai 同样的,免费版有广告,而且每个月的上传量比较大,客户想白嫖,我们也没有收这个付费的钱
minuo0day
2022-04-01 08:59:57 +08:00
@rekulas 客户想白嫖,加钱已经无望了,当时的需求清单也写了“支持上传文档课件进行预览”,但没有写清只能限制 pdf ,以后可得长点心,功能清单这玩意还得写的详细一些
minuo0day
2022-04-01 09:00:56 +08:00
@Osk 感谢大神,您这些方案都有尝试,文件数量是个问题,费用也是个大问题

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

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

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

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

© 2021 V2EX