目前是我后端把文件转成图片,给前端展示;感觉有点尴尬,我要把图片 url 保存进数据库,图片越来越多,感觉很冗余
1
ccc008 2022-11-17 12:09:02 +08:00
word 我知道微软有个预览服务。https://view.officeapps.live.com/op/view.aspx?src=”的后面拼上你的服务器 word 文件地址;
|
2
rsy 2022-11-17 13:26:26 +08:00
https://kkfileview.keking.cn/
kkFileView 为文件文档在线预览解决方案,该项目使用流行的 spring boot 搭建,易上手和部署,基本支持主流办公文档的在线预览,如 doc,docx,xls,xlsx,ppt,pptx,pdf,txt,zip,rar,图片,视频,音频等等 |
3
fiypig 2022-11-17 13:36:24 +08:00
uniapp 有浏览的,你查看下文档,但是会先下载在浏览,速度很慢,我现在改成,直接后台上传的时候就直接传图片,后面就直接图片打开。
|
4
hymxm 2022-11-17 14:13:42 +08:00
<embed>
|
5
PrtScScrLk 2022-11-17 15:37:21 +08:00
uni.openDocument(OBJECT)
新开页面打开文档,支持格式:doc, xls, ppt, pdf, docx, xlsx, pptx 。 API - 文件这里。 先下载再打开,挺方便的其实。会用系统自带的相关应用打开。 |
6
braveker 2022-11-17 16:32:09 +08:00
<embed
src="/doc.pdf" type="application/pdf" width="100%" height="100%" > |
7
leipengcheng OP @PrtScScrLk 需要在我们的页面预览,不能打开其他应用。。。
|
8
PrtScScrLk 2022-11-17 16:51:32 +08:00
@leipengcheng #7 ???这么变态的需求,淦
|
9
Tdy95 2022-11-17 17:00:47 +08:00
@leipengcheng 在页面浏览的话,我们之前的方案是服务端有个渲染服务(我们是前端自己用 node 写的),拿着文件 ID 请求服务器,然后直接返回渲染后的图片,是因为兼容性问题使用的这个方案。
|
10
tolbkni 2022-11-17 17:03:45 +08:00
PDF 简单,用 Mozilla 的 PDF.js 就可以了
Word 等 Office 类文件稍微复杂一些,有几种选择: 1 、用微软的 OWA 或者类似楼上的第三方在线预览服务 2 、使用 Headless 模式的 LibreOffice 包装一个服务,把 Word 等文档转换成 PDF 格式,最好限定下页数,然后用 PDF.js 预览。存储的问题,可以保留一段时间,解决热点文档的频繁预览,冷门文档实时渲染速度也还行 |
11
ZeroJi 2022-11-17 17:33:10 +08:00
pdf 用 pdf.js
|
12
ZeroJi 2022-11-17 17:35:23 +08:00
一回车就发出去了, 接着上面, word 用 docx-preview, 都是下载 blob 数据流然后解析. uniapp 没用过不知道...
|
13
raolight 2022-11-17 18:23:47 +08:00 1
最近刚好做了这么个东西,也是用的 pdf.js ,要在微信页面里预览,LZ 可以参考一下;
1 、下载静态资源后部署生成链接,其他项目也能用方便点; https://mozilla.github.io/pdf.js/getting_started/#download 用的 older browsers ,不然旧浏览器会有兼容显示问题 2 、页面中 iframe 弹窗即可; ${host}/pdfjs/web/viewer.html?file=${pdfUrl} |