PHP 的后台,VUE 的前端,在后台上传 doc\ppt\pdf 的文件,问题是“目前只解决了 PDF 的新标签页打开的问题,但是 DOC 和 PPT 前端 WEB 点击只能下载,不能直接再标签页内直接打开吗?” 跪求大神指点迷津~
![]() |
1
WinkeyLin 89 天前 ![]() 调用微软的 Office 在线预览服务: http://view.officeapps.live.com/op/view.aspx?src={文件地址}
|
![]() |
2
minuo0day OP @WinkeyLin 文件地址在阿里云的 OSS ,刚才试了 2 个,有点慢,不过确实成功了一次,另外一次报错了,查看器这个只能用 OFFICE 官方的么?下载的字眼太明显,客户不太想用户下载
|
![]() |
3
Coolxiaobai 89 天前
web 服务器是 nginx 么,可以强制配置返回浏览器类型为 text/html 来处理
|
4
crystom 89 天前
可用转 pdf 再预览,不过也不保证效果,蹲下面有没有更好的方案
|
5
Quarter 89 天前 via iPhone
onlyoffice 试试呢🥱
|
![]() |
6
Coolxiaobai 89 天前
https://sm.ms/image/CBek3tK6PZuFUnm
浏览器会依据这个返回的 header 处理资源吧,我理解,只要把这个返回的处理下就可以,处理成流就变成下载,处理成 application/pdf 就可以直接看 |
7
Howlaind 89 天前 via Android
Collabora Online
|
![]() |
8
rodrick 89 天前
office 在线预览感觉市面上就没几个特别完美的解决方案
|
![]() |
9
sumulige 89 天前
一般都是 open office 转 pdf
|
10
ZhanGuang01 89 天前
chrome 好像不支持直接预览 ppt ,需要安装扩展才可以
|
![]() |
11
rekulas 89 天前
最接近原生的方法就是直接对接原生,用 saas 的思想去开发
例如类似 https://neverinstall.com/ 的技术 这是我在网页上操作远程 brave 浏览器的视频,完全一模一样 https://streamja.com/q5WJ1 当然,这个属于额外功能,跟客户说要加钱 |
![]() |
12
Osk 89 天前
服务器上存原 word/ppt 方案:
微软的 Office Server: Only Office: - 免费, 但限制 20 个连接 |
13
buliugu 89 天前
免费方案 kkfileview
|
![]() |
14
iyaozhen 89 天前
你这叫在线预览服务
国内几乎只能选择 WPS ,找他们掏钱吧。 |
![]() |
15
Osk 89 天前
不好意思发错了:
服务器上存原 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 时特地了解过. |
![]() |
16
jack80342 89 天前 via iPhone
|
![]() |
18
minuo0day OP @Coolxiaobai 同样的,免费版有广告,而且每个月的上传量比较大,客户想白嫖,我们也没有收这个付费的钱
|
![]() |
19
minuo0day OP @rekulas 客户想白嫖,加钱已经无望了,当时的需求清单也写了“支持上传文档课件进行预览”,但没有写清只能限制 pdf ,以后可得长点心,功能清单这玩意还得写的详细一些
|
23
seakingii 88 天前
你说了,需求只是"预览",我的理解是,可以在上传文件后直接生成一个对应的 PDF 文件或者一堆的 JPEG 图片,供预览即可.
OFFICE 文件直接 WEB 打开要效果好,一般都是收费的. |
![]() |
25
minuo0day OP @Coolxiaobai 直接转 PDF 会将 PPT 中的课件样式错乱
|
![]() |
28
davin 88 天前
建议分成两个链接,一个用来下载,一个用来显示,用来显示的链接需要转换下格式。既然都用人家的 OSS 了,索性也直接用别人的文档格式转换功能吧,可能是付费的。其他的服务不能确保是否稳定或者有法律风险呢!
|
32
seakingii 83 天前
@minuo0day 就算你不直接转成图片,你用其它的第三方的预览服务,也会转成类似图片的(放在临时目录里).所以说这个空间和流量你是省不了的.
如果不预先生成缓存起来,每次打开文件才去解析,然后通过某种方式(比如直接操作画布)显示出内容,那对服务器的 CPU 之类的压力也是承担不起的. 前端一直调用图片对流畅度造成困扰?这是什么意思?客户端每次不需要加载太多图片,一次要加载的前后几页,图片用 CDN 加速,做压缩. |
![]() |
33
minuo0day OP @seakingii 不是我想省钱,服务器在甲方手里,甲方抠,一直压着我们想解决方法,你这个方法我们是最早提出的方案,图片我们用 redis 做的缓存,被甲方否了。
|