V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
这是一个专门讨论 idea 的地方。

每个人的时间,资源是有限的,有的时候你或许能够想到很多 idea,但是由于现实的限制,却并不是所有的 idea 都能够成为现实。

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
ablula
V2EX  ›  奇思妙想

准备写个文档预览服务

  •  1
     
  •   ablula · 2016-01-12 22:37:42 +08:00 · 4204 次点击
    这是一个创建于 3222 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近做了些调研,准备用 Java 写个文档预览服务开源出来;
    要支持文本文档,图片(含 psd), Office 文档等

    第 1 条附言  ·  2016-01-17 02:32:36 +08:00

    项目地址: https://github.com/DocumentPreview/DocumentPreview

    2016/01/17 更新


    已完成内容

    实现了简单的文件预览服务,用户上传文件,点击预览会弹出 modal 显示预览结果。
    具体实现方案和部署方案会在后面整理好更新 readme 。

    TODO

    • 目前服务在本地 Mac 上搭建的,要在 Linux 服务器上部署一个 Demo ;
    • 还有些 bug(PPT 文件预览有些问题)
    • 目前只支持上传文件预览,后面考虑提供文件存储服务接入方案(例如一个网盘服务需要在线预览功能,只需要私有部署我的DocumentPreview,并实现文件读取相关接口,就能够接入在线预览功能,具体方案还在考虑中)

    看看效果


    22 条回复    2016-01-23 15:36:53 +08:00
    go4fun
        1
    go4fun  
       2016-01-12 23:47:29 +08:00 via iPhone
    具体说说,啥是文件预览服务?
    ablula
        2
    ablula  
    OP
       2016-01-13 00:10:57 +08:00
    @go4fun 目的是让文档能够在线预览,不需要等到下载下来才能看文档内容;
    服务提供形式我还在考虑中,目前想的是让预览服务使用方实现一些接口就能够使用这个预览服务
    dphdjy
        3
    dphdjy  
       2016-01-13 00:32:03 +08:00 via Android
    全部转图片~简单粗暴~
    imxieke
        4
    imxieke  
       2016-01-13 00:43:45 +08:00 via Android
    支持全系列还是?有用户账户功能不?
    go4fun
        5
    go4fun  
       2016-01-13 08:01:26 +08:00
    这个不错
    ablula
        6
    ablula  
    OP
       2016-01-13 09:03:22 +08:00 via iPhone
    @imxieke 先支持常见格式文档,框架搭起来,后面慢慢扩展其它格式的文档; 用户账户目前还没考虑,做出核心功能再说

    @dphdjy office 转图片没研究过,现在想的是转 pdf

    @go4fun 代码写完 at 你哈
    ty0716
        7
    ty0716  
       2016-01-13 10:16:59 +08:00
    转 pdf 就没意思了,七牛也支持.
    https://dn-wsy.qbox.me/20160113101619.png 这种就不错

    不过还是支持下
    ljy2010a
        8
    ljy2010a  
       2016-01-13 20:04:15 +08:00
    关注中 有更新同步下帖子下哈
    iLtc
        9
    iLtc  
       2016-01-13 22:07:08 +08:00
    这个服务挺好的,我就一直缺一个文档在线预览的工具
    imxieke
        10
    imxieke  
       2016-01-14 00:09:28 +08:00 via Android
    @sweetvvck 楼主是否考虑收费呢?
    ablula
        11
    ablula  
    OP
       2016-01-14 01:42:02 +08:00 via iPhone
    @ty0716 感谢支持😄

    @ljy2010a 一定会的,不过由于工作原因,进度不会很快

    @iLtc 写好给你用😁

    @imxieke 还真没考虑那么多,目前处于雏形阶段
    imxieke
        12
    imxieke  
       2016-01-14 08:56:51 +08:00
    @sweetvvck 哦哦
    okeydokey
        13
    okeydokey  
       2016-01-14 10:21:34 +08:00
    文本预览说白了就是把字节流转换成字符,这里面涉及到字节流编码的识别,及不同编码分页的问题图片用 openCV
    okeydokey
        14
    okeydokey  
       2016-01-14 10:25:31 +08:00
    图片预览用 openCV 或者各种基于 openCV 的 jar 包

    office 预览切记用微软的 officewebappserver ,千万不要尝试走 office->pdf->swf 这条路,毕竟只有微软才最懂自家产品
    ablula
        15
    ablula  
    OP
       2016-01-17 02:18:58 +08:00
    @okeydokey 看起来像是研究过类似服务啊,不过你说的方案我也看过,我先按照我的方式实现一把,搞不好再试试你的
    ablula
        16
    ablula  
    OP
       2016-01-22 03:06:14 +08:00
    @go4fun @okeydokey @imxieke @iLtc @ljy2010a @ty0716 @dphdjy
    基础功能版本已经写完了,部署了个线上 demo ,大家可以去试试哦,目前只发现不支持带图片的 ppt 格式(Openoffice 的问题,后面看看怎么解决下), pptx 还是支持的;普通图片, psd 格式都支持,快来看看吧~
    http://docpre.sweetvvck.com/docpre
    ty0716
        17
    ty0716  
       2016-01-22 10:43:23 +08:00   ❤️ 1
    ablula
        18
    ablula  
    OP
       2016-01-22 10:46:55 +08:00
    @ty0716 好的,记下了, thx~
    可以给项目提个 Issue 哦
    https://github.com/DocumentPreview/DocumentPreview/issues
    okeydokey
        19
    okeydokey  
       2016-01-22 11:48:51 +08:00   ❤️ 1
    @sweetvvck 上传的文件大小有限制啊, openoffice 转 pdf 的体验,和 officewebapp 转 html 的体验完全没法比啊
    ablula
        20
    ablula  
    OP
       2016-01-22 12:32:51 +08:00
    @okeydokey 文件大小限制是 nginx 默认的我还没来得及改;
    当然没有 MS 自己的效果好啊,不过用 officewebapp 的话我还得搞台 windows 服务器比较麻烦,而且如果哪天它不让免费使用了,我们也没办法控制;
    我还写过在 windows 下通过 COM 组件调用 MS Office 转换的方式,效果也很好(之后考虑开源);
    不过目前在用的 aws 免费的 ec2 ,搞 windows 服务器比较麻烦,后面定义个通用接口,转换服务可切换;
    项目才刚起步,慢慢优化嘛,谢谢关注~
    okeydokey
        21
    okeydokey  
       2016-01-22 23:26:28 +08:00
    @sweetvvck 大文件上传要切块啊,不过 demo 得话没必要搞那么复杂, com 组件那个我也折腾过,其实就是用 office 打开后另存为 pdf ,但是 windows 机器可靠性太差,且无法运维,最后也只能作罢
    ghostsf
        22
    ghostsf  
       2016-01-23 15:36:53 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2832 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 13:38 · PVG 21:38 · LAX 05:38 · JFK 08:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.