OFFICE 文档在线预览方案很多:

  • 服务器先转换为PDF,再转换为SWF,最后通过网页加载Flash预览,比如flexpaper
  • Office文档直接转换为SWF,通过网页加载Flash预览
  • 微软的Office365
  • 在浏览器中直接打开
  • 转换为html

今天,我们要用的方案是转换为html来预览。

技术方案:

  • office文档转换为pdf:使用libreoffice
  • pdf转html,使用pdf2htmlex

测试环境:

操作系统:ubuntu 12.04

1. office文档转pdf

1.1 安装libreoffice

apt-get install libreoffice-common

1.2 启动转换服务

soffice --accept="socket,host=127.0.0.1,port=2002;urp;" --nofirststartwizard

1.3 文档转换

网上一般介绍的都是使用JODConverter ,通过java来调用转换服务,其实还有一种替代方案,就是使用pyodconverter,python版本的转换脚本https://github.com/mirkonasato/pyodconverter/

下载后,进行测试:

python DocumentConverter.py Website_Information_Form.doc new.pdf

soffice 可以正常转换为pdf,但是中文显示为乱码

1.4 中文乱码问题修复

google一下,乱码问题大概是字体缺失的问题,于是尝试将windows下的字体拷贝过去,复制windows下的字体到/usr/share/fonts下,然后刷新字体缓存

sudo fc-cache -fv 2>&1 | grep failed | cut -f1 -d":" | xargs -i sudo touch {} && sudo fc-cache -fv

再重启转换服务,再次测试,已经OK了!

2.pdf转html

pdf转html,使用国人开源的pdf2htmlex,一开始尝试通过源码编译安装,依赖组件太多,安装非常麻烦!感兴趣的可以执行编译安装,参见(https://github.com/coolwanglu/pdf2htmlEX/wiki/Building)

下面介绍简单安装方式:

2.1 通过apt安装

sudo add-apt-repository ppa:coolwanglu/pdf2htmlex
sudo apt-get update
sudo apt-get install pdf2htmlex

2.2 测试pdf2htmlex

pdf2htmlEX --zoom 1.3 xiaoshujiang.pdf

可以看到,当前目录生成了xiaoshujiang.html

2.3 转换脚本

写一个脚本,将两次转换放到一起,方便调用:

#convert2html.sh
temp=$(date +%Y%m%d%H%m%s)
python DocumentConverter.py $1 ${temp}.pdf
pdf2htmlEX --zoom 1.3 $temp.pdf
mv $temp.html $2
rm $temp.pdf

3. 测试

3.1 word (doc.docx)测试

convert2html.sh imo云办公室-私有云用户使用手册V2.0.doc imo-doc.html

效果:

3.2 表格 (xls)测试

convert2html.sh xxx.xlsx xxx.html

3.3 PPT (pptx)测试

./convert.sh xxx.pptx xxx.html

4. 总结

本文介绍了一种在服务端将office文档转换为html以方便预览的方法。

实际使用时,可以将生成好的html放到网站路径下,通过拦截器,设置访问权限。

OFFICE 文档转换为html在线预览的更多相关文章

  1. 把office文档转换为html过程中的一些坑

    之前和我们项目的团队一起酝酿了一个项目,公司的业务文档技术文档比较多,但都比较分散,虽然通过FTP或其他方式聚合起来了,但感觉还是不够方便. 另外公司每次都来新员工,新员工都需要一些培训,比较耗时,比 ...

  2. 转:C#实现office文档转换为PDF或xps的一些方法

    代码支持任意office格式 需要安装office 2007 还有一个office2007的插件OfficeSaveAsPDFandXPS 下载地址 [url]http://www.microsoft ...

  3. 在禅道中实现WORD等OFFICE文档转换为PDF进行在线浏览

    条件: 安装好禅道的服务器 能直接浏览PDF的浏览器(或通过 安装插件实现 ) 文档转换服务程序(建议部署在另一台服务器上)     实现 原理: 修改禅道的文件预览功能(OFFICE文档其使用的是下 ...

  4. Office文档WEB端在线浏览(转换成Html)

    最近在做了一个项目,要求是对Office文档在线预览.下面给大家分享一下我的方法. 1.第一种方法(不建议使用)我是在网上搜了一个利用COM组件对office文档进行转换,但是此方法必须要装Offic ...

  5. office转换为html在线预览

    /// <summary> /// word 转换为html /// </summary> /// <param name="path">要转换 ...

  6. C#实现office文档转换为PDF或xps的一些方法( 转)

    源博客http://blog.csdn.net/kable999/article/details/4786654 代码支持任意office格式 需要安装office 2007 还有一个office20 ...

  7. C#实现office文档转换为PDF格式

    1.安装组件OfficeSaveAsPDFandXPS 需要安装office 2007 还有一个office2007的插件OfficeSaveAsPDFandXPS 下载地址   OfficeSave ...

  8. java使用jacob将office文档转换为PDF格式

    jacob 包下载地址: http://sourceforge.net/projects/jacob-project/ 下载后,将jacob 与 jacob-1.19-x64.dll放到安装jdk目录 ...

  9. 将vue文档下载到本地预览

    1下载:https://github.com/vuejs/cn.vuejs.org   到本地 2. npm install npm start # 开发服务器地址为 http://localhost ...

随机推荐

  1. iOS开发tips-UINavigationBar的切换

    概述 在iOS系统中,如果控制器是以push方式进行管理的话,那么事实上多个控制器是共享的同一个导航栏.当然iOS系统的设计无可厚非,但是国内的应用经常会遇到很多个性的设计,就比如说A push到 B ...

  2. OpenStack Newton版本Ceph集成部署记录

    2017年2月,OpenStack Ocata版本正式release,就此记录上一版本 Newton 结合Ceph Jewel版的部署实践.宿主机操作系统为CentOS 7.2 . 初级版: 192. ...

  3. 深入浅出SOA

    前一阵换了份工作,来到新公司,恰好新同事问起SOA是什么,我随口说了几点,其实自己以前研究过,不过并没有详细的整理过,说的比较模糊,恰好周末,拿出点时间整理下以前对SOA的认知. SOA是什么?SOA ...

  4. gitignore.io-程序猿值得拥有的智能生成gitignore文件的秘密武器

    gitignore.io Create useful .gitignore files for your project by selecting from 360 Operating System, ...

  5. 运维老鸟教你安装centos6.5如何选择安装包

    标签:老男孩教育 Centos6.5安装选包原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://oldboy.blog.51cto.c ...

  6. Basic Sort Algorithms

    1. Bubble Sort public void bubbleSort(int[] arr) { boolean swapped = true; int j = 0; int tmp; while ...

  7. 用app.net Core搞点多国语言网站

    Asp.net Core 中文文档很少,你可以看英文的,不过英文的也是说的有点乱.这篇文章是干货. 1. 配置好你的WebApplication,使他可以支持国际化语言,修改文档Startup.cs ...

  8. VHDL乘除法及转换

    首先鄙视一下这个不智能的语言 1.要进行乘法与除法,数据类型必须是signed 2.两个16位的数相乘,结果必须是32位的 3.乘以2的n次幂的数可以直接乘,之后截位也比较方便,(其实直接移位就可以) ...

  9. CI框架浅析(全篇)

        业余花了点时间看看CodeIgniter框架(简称CI),CI目前的稳定版本是 3.X,4.0版本已经出来了,但还在测试中,所以我分析的还是 3.x 版本. CI是一个很轻便的框架,整个下载包 ...

  10. 关于EF中直接执行sql语句的参数化问题

    某天 , 在review项目中代码的时候, 发现有哥们直接通过 Database.ExecuteSqlCommand("select * from order_info where  com ...