专栏首页码客Office文件转换预览解决方案

Office文件转换预览解决方案

前言

对于Office的文件得在线预览基本有以下要求

  • 尽量支持Centos,否则文件要在不同服务器之间来回传输
  • 要支持在线预览
  • 要支持转换为PDF自行处理
  • 转换效果要好
  • 最好PPT支持动态效果

在这些前提下我们来看看常用得解决方案,以及最终得选择。

测试文件

http://wordupload.xhkjedu.com/resource/ce77495a0a64477b8c894289156810cc/5887f1ab75344117bff4fe6830d5b2ee.ppt

2.6M

http://wordupload.xhkjedu.com/resource/665a33b7aacc4e81afea856ce4d9e4c3/83d58b6a09744c568604c7d3febadbb5.ppt

60.93MB

免费方案

JobConverter + OpenOffice/Ibreoffice

https://github.com/sbraconnier/jodconverter

https://blog.csdn.net/shixiansen6535/article/details/101672148

https://blog.csdn.net/qingtian_1993/article/details/79901843

自己开发转换或预览功能

特点

  • 基于OpenOffice或LiberOffice
  • 支持Window、CentOS、Ubuntu
  • PPT无动态预览效果
  • 可以本地部署

kkfileview

https://kkfileview.keking.cn/zh-cn/index.html

https://kkfileview.keking.cn/zh-cn/docs/production.html

特点

  • 基于OpenOffice或LiberOffice
  • 支持Window、CentOS、Ubuntu
  • 支持Docker部署
  • 可以本地部署

缺点

  • PPT无动态预览效果

文件预览支持以下格式

  • 支持word excel ppt,pdf等办公文档
  • 支持txt,java,php,py,md,js,css等所有纯文本
  • 支持zip,rar,jar,tar,gzip等压缩包
  • 支持jpg,jpeg,png,gif等图片预览(翻转,缩放,镜像)
  • 支持mp3,mp4,flv等多媒体文件预览

XDOC

https://gitee.com/xdoc/xoffice

官方 http://view.xdocin.com/

特点

  • 基于MSOffice
  • 支持Window
  • 转换效果相对较好
  • 可以本地部署

缺点

  • PPT无动态预览效果

微软 office web app

https://www.cnblogs.com/lovechengcheng/p/4117391.html

https://www.cnblogs.com/yanweidie/p/4516164.html

https://github.com/marx-yu/WopiHost

特点

  • 基于MSOffice
  • 支持Window
  • PPT有动态预览效果
  • 转换效果相对较好
  • 可以本地部署

缺点

  • 部署要求较高

可以使用微软在线服务器或则自己搭建服务器

WPS WebOffice

https://open.wps.cn/

特点

  • PPT有动态预览效果
  • 转换效果相对较好

缺点

  • 不支持本地部署

收费方案

PageOffice

收费好多功能用不着

需要安装,不能动态播放ppt

http://www.zhuozhengsoft.com/

PPT无动态预览效果

WebOffice

官网 http://www.officectrl.com/

i doc view

官网 https://www.idocv.com/

演示 https://www.idocv.com/examples.html

PPT无动态预览效果

office web 365

官网 http://www.officeweb365.com/

永中office

https://www.yozodcs.com/page/example.html

ppt不支持动画,把动画播放后的页面展示了,近期要发布支持动画版本;

支持本地文件预览

总结

总得来说

基于MSOffice的处理效果都会相对较好,但是必须Windows环境。

基于OpenOffice/Ibreoffice的优点也就是跨平台了。

如果项目只要求预览

  • 如果服务器为win推荐微软 office web app
  • Centos推荐使用kkfileview

如果项目要能获取到图片

推荐使用JobConverter + OpenOffice/Ibreoffice

kkfileview使用

拉取镜像

docker pull keking/kkfileview

运行

docker run -it -p 8012:8012 keking/kkfileview

访问

浏览器访问容器8012端口(http://xxx.xxx.xxx.xxx:8012 )即可看到项目演示用首页

http://doctest.xhkjedu.com:8200

当您的项目内需要预览文件时,只需要调用浏览器打开本项目的预览接口,并传入须要预览文件的url,示例如下:

var previewUrl = 'http://127.0.0.1:8080/file/test.txt'; //要预览文件的访问地址
window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(previewUrl));

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 验证码类

    剑行者
  • 开发常用的优质开源项目

    YApi是由去哪网前端团队开源的一款接口管理工具,功能强大,可以轻松的自己部署。而且支持使用docker部署,使用成本很低了。

    剑行者
  • Electron中的键盘鼠标操作(Windows环境下)

    ROBOTJS官网: https://robotjs.io/docs/ ROBOTJS源码: https://github.com/octalmage/robo...

    剑行者
  • [财务][数据化分析][帆软]报表设计-模板预览

    模板预览就是指在 Web 端查看模板效果,FineReport 提供了多种不同的预览方式,来满足用户的多样化需求。

    landv
  • win10必备效率预览神器-Quick look

    Mac上直接空格就可以预览文件,很多Windows用户也经常抱怨,如果Windows上也有Mac的空格预览就好了。

    Parker
  • [财务][数据化分析][帆软]报表设计-分页预览

    分页预览即普通预览模式,FineReport 的默认预览方式,一般在只需要查看报表数据用于分析的时候使用。

    landv
  • 图形化界面添加Git子模块

    最近遇到一个项目拆分后原先做整体管理的工作不便的问题,于是想到用 Git 的子模块

    林万程
  • KubeVirt项目

    说明:KubeVirt是Kubernetes的虚拟机管理插件。其目的是为基于Kubernetes的虚拟化解决方案提供一个共同的基础。在其核心,KubeVirt通...

    CNCF
  • android点击全屏预览照片第三方库使用

    移动端我们经常会遇到放大预览照片,如果是一张照片,那就全屏展示图片就好了,但是如果是一个列表,滑动查看,我们一般会借助viewpager进行实现,但是每次自己弄...

    用户2235302
  • ApacheCN 数据科学/人工智能/机器学习知识树 2019.2

    ApacheCN_飞龙

扫码关注云+社区

领取腾讯云代金券