资讯专栏INFORMATION COLUMN

基于unoconv的在线office预览

codeKK / 3359人阅读

摘要:方案选择这几天在搞在线文档预览,网上查了几种方案,第一种使用的在线预览国内被,第二种使用第三方的,比如永中要钱,第三种先转换为,在使用在线预览插件预览对服务器负担比较大。

方案选择

这几天在搞在线文档预览,网上查了几种方案,

第一种:使用google的在线预览 -> 国内被Q,pass

第二种:使用第三方的,比如:永中dcs -> 要钱,pass

第三种:先转换为pdf,在使用pdf在线预览插件预览 -> 对服务器负担比较大。

第四种:自己写解析库 -> 我这实力,开玩笑呢?

查了查,也就第三种可行。不过我之前都是做的简单的web开发,想到文档转换对于cpu的消耗比较大,应该无法适应大规模的并发情形。也在segmentfault上提了一个问题:php长时间的服务的设计与和前端的交互,不过并没有得到很好的解决。

后来我问了一个同学,他之前用的unoconv把office文件转为pdf,然后通过站内信的方式提醒用户文档转换完成。中间用了php-resque这个轻量级消息队列。

和平时的php开发不同,除了cgi服务器以外,还要有个Worker,专门用来处理文档转换。

大概流程就是:php处理前端上传来的文件后,把转化文件的任务添加到redis里,然后不断的判断转换是否完成,转换完成后把pdf的路径传给前端,前端跳转过去。

实现

见:https://github.com/nladuo/online_office_viewer

效果 安装
sudo apt-get install unoconv redis-server php5-redis
git clone https://github.com/nladuo/online_office_viewer.git
cd online_office_viewer && composer install
启动redis
redis-server

启动Worker
cd online_office_viewer/cli
bash ./start_worker.sh

启动CGI服务器
cd online_office_viewer
php -S 0.0.0.0:8888

测试转换 选择一个文档

等待上传

查看Worker的日志

转换成功后

如果转换出现了乱码,是因为linux系统上没有windows的字体,需要把字体文件拷贝到服务器上。具体可以百度unoconv中文乱码

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/22673.html

相关文章

  • Nextcloud个人云存储绝佳选择:一键自动安装方法和云盘使用体验

    搭建个人云存储一般会想到ownCloud,堪称是自建云存储服务的经典。而Nextcloud是ownCloud原开发团队打造的号称是下一代存储。初一看觉得口气不小,刚推出来就重新定义了Cloud,真正试用过后就由衷地赞同这个Nextcloud:它是个人云存储服务的绝佳选择。 与ownCloud相比,Nextcloud的功能丝毫没有减弱,甚至由于可以安装云存储服务应用,自制性更强,也更符合用户的...

    Shisui 评论0 收藏0
  • HTML实现在线预览Excel,word,ppt

    摘要:使用提供的在线预览功能后面接你需要预览的文件下载地址如果不能实现预览功能提示报错请检查返回的是否正确当从浏览器返回一个文件时需要指定以下是对应的值参考链接在线预览文档文件对应的解决记录原来网站中有个需要是下载最开始实现的时候是 使用office提供的在线预览功能https://view.officeapps.live....src后面接你需要预览的文件下载地址.如果不能实现预览功能,提...

    CoorChice 评论0 收藏0
  • HTML实现在线预览Excel,word,ppt

    摘要:使用提供的在线预览功能后面接你需要预览的文件下载地址如果不能实现预览功能提示报错请检查返回的是否正确当从浏览器返回一个文件时需要指定以下是对应的值参考链接在线预览文档文件对应的解决记录原来网站中有个需要是下载最开始实现的时候是 使用office提供的在线预览功能https://view.officeapps.live....src后面接你需要预览的文件下载地址.如果不能实现预览功能,提...

    ethernet 评论0 收藏0
  • PDF、PPT、Excel、Word、视频等格式文件在线预览

    摘要:最近项目中用到了文件在线预览功能,文件类型大概有图片视频等等,总结梳理了一下,分享给大家。文件类型在线文档推荐使用,简单易用。而原生的的元素支持三种视频格式,所以我们需要更强大支持更多视频在线播放,第三方扩展库。 最近项目中用到了文件在线预览功能,文件类型大概有图片、视频、PDF、PPT、Excel、Word 等等,总结梳理了一下,分享给大家。 PDF 文件类型 jquery.medi...

    13651657101 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<