V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
watanuki
V2EX  ›  Vue.js

vue 预览 word 文档有什么好方案?

  •  
  •   watanuki · 2020-07-28 00:43:45 +08:00 · 10756 次点击
    这是一个创建于 1610 天前的主题,其中的信息可能已经有所发展或是发生改变。
    网上给的方案都是利用微软的在线预览功能: http://view.officeapps.live.com/op/view.aspx?src=<文档位置>

    但是这要求文件必须有公网链接,若文件在局域网,且不能上传到公网时,又该怎么解决 word 文档预览的问题?
    22 条回复    2020-07-28 11:22:18 +08:00
    npe
        1
    npe  
       2020-07-28 00:53:08 +08:00 via iPhone
    word 源代码其实还是 html 吧,试着读 raw 试试? 或者看看开源解决方案?
    ETiV
        2
    ETiV  
       2020-07-28 01:05:20 +08:00 via iPhone
    src=data uri ?支持吗?
    buliugu
        3
    buliugu  
       2020-07-28 01:27:27 +08:00
    私有化部署的话,可以看看 onlyoffice 或者基于 onlyoffice 的开源项目
    hutng
        4
    hutng  
       2020-07-28 01:29:52 +08:00
    跑题答一下,先转 PDF,再预览
    geelaw
        5
    geelaw  
       2020-07-28 01:41:30 +08:00
    @npe #1 新版的 Word 格式是压缩过的 XML,不是 HTML 。

    @ETiV #2 即使这样可以,也相当于把数据传入公网了,此外通常服务器处理 URL 有最大长度限制(比较自然的想法是 32768 个 Unicode 字符这种级别),任何非平凡 Word 文档用 data URI 编码都会超过该长度。

    一个简单的方案是(在内网)部署 Office Online Server,见 https://docs.microsoft.com/en-us/officeonlineserver/deploy-office-online-server

    另外这个问题和 Vue 不 Vue 关系不大。
    312ybj
        6
    312ybj  
       2020-07-28 08:00:42 +08:00 via Android   ❤️ 11
    vue 只是前段,word 文档预览跟 vue 没有太大关系。我正好做过这个。下面是我调研的结果。
    1. 后台将 word 转换成 pdf,前台预览 pdf
    优点:前台只要预览 pdf
    缺点:后台转换需要时间,且会有格式丢失
    2. 微软在线预览借口
    优点:调用别人的 api 就行
    缺点:需要将文件放到公网,以便 url 能访问
    3. office web app 服务
    目前我是用这个,我们的还是内网环境
    优点:无损预览,ppt 都能播放
    缺点:部署麻烦,需要两台 windows 服务器,一台域控,一台负责转换
    4. wps 服务
    这个是最近推出来的
    优点:我用过官方 demo,感觉还不错
    缺点:付费,量计费:2 元 /个,包月最低 2k 起
    renmu123
        7
    renmu123  
       2020-07-28 08:01:21 +08:00 via Android
    可以找找有没有 wps 版的,算曲线救国,word 的配置和格式实在太多了,很难有工具可以完整预览
    crclz
        8
    crclz  
       2020-07-28 08:19:37 +08:00
    转 PDF 。PDF 这种宇宙广泛支持的格式多好啊
    BarZu
        9
    BarZu  
       2020-07-28 08:41:01 +08:00
    把需求砍了,跟老板说你做不到,只能下载,我是这么干的,老板拿我没办法
    killmojo
        10
    killmojo  
       2020-07-28 08:47:21 +08:00
    不需要前端修改的话服务端转 PDF 就行。
    用 VSTO 或者 GCWord 都行。
    还需要局域网前端编辑预览,貌似只能花重金私有化部署了
    kkeybbs
        11
    kkeybbs  
       2020-07-28 08:47:45 +08:00 via iPhone   ❤️ 1
    纯 vue 估计挺难,不限定可以参考
    https://github.com/kekingcn/kkFileView
    搭建专门预览服务
    dk7952638
        12
    dk7952638  
       2020-07-28 08:52:30 +08:00
    linbingcheng
        13
    linbingcheng  
       2020-07-28 09:08:29 +08:00
    OWA 只能预览 Office 文件
    商用看下永中 、WPS 吧,还有楼上开源的 KKFileView
    jydeng
        14
    jydeng  
       2020-07-28 09:24:12 +08:00
    实现过类似的文档分享平台,方案是后端转 PDF,前端 pdf.js 。
    ryanlid
        15
    ryanlid  
       2020-07-28 09:26:10 +08:00
    百度和 wps 有付费服务
    ctrlands
        16
    ctrlands  
       2020-07-28 09:29:08 +08:00
    我们以前用的是后端转 pdf,前端 pdf 预览
    lbw
        17
    lbw  
       2020-07-28 09:55:34 +08:00
    mammoth.js
    supuwoerc
        18
    supuwoerc  
       2020-07-28 10:03:23 +08:00
    那就在局域网自己建一个 office web365 去年干了几个项目都是这样做的
    fyutou
        19
    fyutou  
       2020-07-28 10:10:03 +08:00
    pageoffice....
    LokiSharp
        20
    LokiSharp  
       2020-07-28 11:00:10 +08:00
    你要的可能是这个? https://ej2.syncfusion.com/vue/demos/#/material/document-editor/default.html
    这个 Syncfusion 对 100 万美元以下的公司免费
    lijsh
        21
    lijsh  
       2020-07-28 11:04:21 +08:00
    https://mp.weixin.qq.com/s/p7TKapQP4cv_IbFWcP_dFw

    前端可以使用 mammoth.js 解析 docx,获取 html 格式的响应。
    zicla
        22
    zicla  
       2020-07-28 11:22:18 +08:00
    我开源的 [蓝眼云盘]( https://www.v2ex.com/t/691497) 也涉及到 office 预览的问题,可以适当参考一下吧。 https://tank-doc.eyeblue.cn/advance/preview.html
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1065 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 19:05 · PVG 03:05 · LAX 11:05 · JFK 14:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.