V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
chenjh
V2EX  ›  程序员

分享一个开箱即用、格式支持全面的开源文档在线预览项目

  •  1
     
  •   chenjh · 2020-05-20 09:25:03 +08:00 · 3797 次点击
    这是一个创建于 1680 天前的主题,其中的信息可能已经有所发展或是发生改变。

    项目简介

    此项目为文件文档在线预览项目,项目使用流行的 spring boot 搭建,易上手和部署,基本支持主流办公文档的在线预览,如 doc,docx,Excel,pdf,txt,zip,rar,图片等等

    主要特性

    1. 支持 word excel ppt,pdf, dwg 等办公文档
    2. 支持 txt,java,php,py,md,js,css 等所有纯文本
    3. 支持 zip,rar,jar,tar,gzip 等压缩包
    4. 支持 jpg,jpeg,png,gif 等图片预览(翻转,缩放,镜像)
    5. 支持 mp3,mp4,flv 等多媒体文件预览
    6. 使用 spring boot 开发,预览服务搭建部署非常简便
    7. rest 接口提供服务,跨平台特性(java,php,python,go,php,....)都支持,应用接入简单方便
    8. 支持普通 http/https 文件下载 url 、http/https 文件下载流 url 、ftp 下载 url 等多种预览源
    9. 提供 zip,tar.gz 发行包,提供一键启动脚本和丰富的配置项,方便部署使用
    10. 提供 Docker 镜像发行包,方便在容器环境部署
    11. 抽象预览服务接口,方便二次开发,非常方便添加其他类型文件预览支持
    12. 最最重要 Apache 协议开源,代码 pull 下来想干嘛就干嘛

    相关链接

    官网: https://kkfileview.keking.cn
    码云: https://gitee.com/kekingcn/file-online-preview
    github: https://github.com/kekingcn/kkFileView
    dockerhub: https://hub.docker.com/r/keking/kkfileview

    预览展示

    1. 文本预览

    支持所有类型的文本文档预览, 由于文本文档类型过多,无法全部枚举,默认开启的类型如下 txt,html,htm,asp,jsp,xml,json,properties,md,gitignore,log,java,py,c,cpp,sql,sh,bat,m,bas,prg,cmd 文本预览效果如下
    文本预览效果如下

    2. 图片预览

    支持 jpg,jpeg,png,gif 等图片预览(翻转,缩放,镜像),预览效果如下
    图片预览

    3. word 文档预览

    支持 doc,docx 文档预览,word 预览有两种模式:一种是每页 word 转为图片预览,另一种是整个 word 文档转成 pdf,再预览 pdf 。两种模式的适用场景如下

    • 图片预览:word 文件大,前台加载整个 pdf 过慢
    • pdf 预览:内网访问,加载 pdf 快
      图片预览模式预览效果如下
      word 文档预览 1
      pdf 预览模式预览效果如下
      word 文档预览 2

    4. ppt 文档预览

    支持 ppt,pptx 文档预览,和 word 文档一样,有两种预览模式
    图片预览模式预览效果如下
    ppt 文档预览 1
    pdf 预览模式预览效果如下
    ppt 文档预览 2

    5. pdf 文档预览

    支持 pdf 文档预览,和 word 文档一样,有两种预览模式
    图片预览模式预览效果如下
    pdf 文档预览 1
    pdf 预览模式预览效果如下
    pdf 文档预览 2

    6. excel 文档预览

    支持 xls,xlsx 文档预览,预览效果如下
    excel 文档预览
    ps,如碰到 excel 预览乱码问题,可参考 预览乱码

    7. 压缩文件预览

    支持 zip,rar,jar,tar,gzip 等压缩包,预览效果如下
    压缩文件预览 1
    可点击压缩包中的文件名,直接预览文件,预览效果如下
    压缩文件预览 2

    8. 多媒体文件预览

    理论上支持所有的视频、音频文件,由于无法枚举所有文件格式,默认开启的类型如下
    mp3,wav,mp4,flv
    视频预览效果如下
    多媒体文件预览 1
    音频预览效果如下
    多媒体文件预览 2

    9. CAD 文档预览

    支持 CAD dwg 文档预览,和 word 文档一样,有两种预览模式
    图片预览模式预览效果如下
    cad 文档预览 1
    pdf 预览模式预览效果如下
    cad 文档预览 2

    20 条回复    2020-05-20 13:43:58 +08:00
    sunziren
        1
    sunziren  
       2020-05-20 09:30:44 +08:00
    点个赞
    Isight
        2
    Isight  
       2020-05-20 09:37:09 +08:00
    收藏先
    zaynex
        3
    zaynex  
       2020-05-20 09:37:45 +08:00
    不是 java 开发。但是很好奇这个预览是用什么库实现的?
    yagao0o
        4
    yagao0o  
       2020-05-20 09:44:01 +08:00
    之前有用到过,支持一下,的确是开箱即用
    dasauto
        5
    dasauto  
       2020-05-20 09:53:56 +08:00
    正好需要 感谢
    qloog
        6
    qloog  
       2020-05-20 10:03:03 +08:00
    预览好厉害,支持各种文件。
    ixx
        7
    ixx  
       2020-05-20 10:34:24 +08:00
    这个真不错
    yuankui
        8
    yuankui  
       2020-05-20 10:48:49 +08:00
    有点强大哦
    kumastudio
        9
    kumastudio  
       2020-05-20 10:50:36 +08:00
    感谢
    hakono
        10
    hakono  
       2020-05-20 10:52:06 +08:00 via Android
    看到 log 文件预览,我比较关心预览个 100mb,或者 1gb 的 log 的性能如何
    cobainlu
        11
    cobainlu  
       2020-05-20 10:54:12 +08:00
    看图标就知道是 kkfile 了,项目中一直用的,确实蛮不错!
    SpencerCJH
        12
    SpencerCJH  
       2020-05-20 11:05:04 +08:00
    看起来不错
    NullException
        13
    NullException  
       2020-05-20 11:11:23 +08:00
    window 下启动不了是怎么回事。
    chenjh
        14
    chenjh  
    OP
       2020-05-20 11:33:47 +08:00
    @NullException 加 qq 群反馈 613025121
    muyiluop
        15
    muyiluop  
       2020-05-20 11:38:51 +08:00
    @zaynex 我们使用过,使用了 openoffice,通过程序调用机器上的 openoffice 来处理。还有 Java 的相关文档操作的库,比如 poi 、itext 等,open office 可以换成 liberoffice
    chenjh
        16
    chenjh  
    OP
       2020-05-20 11:53:25 +08:00
    @cobainlu 换头像了,哈哈
    zwj2885
        17
    zwj2885  
       2020-05-20 12:08:23 +08:00
    用过,点个赞
    Meridian
        18
    Meridian  
       2020-05-20 13:20:43 +08:00
    感谢加 star
    NullException
        19
    NullException  
       2020-05-20 13:33:00 +08:00
    @chenjh 付费加群 666
    zaynex
        20
    zaynex  
       2020-05-20 13:43:58 +08:00
    @muyiluop 感谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4124 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 01:00 · PVG 09:00 · LAX 17:00 · JFK 20:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.