分类:
后台开发

版权声明:本文为博主原创文章,未经博主允许不得转载。

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

1.2 启动转换服务

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

1.3 文档转换

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

下载后,进行测试:

python DocumentConverter.py Website_Information_Form.doc new.pdf
  • 1

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
  • 1

再重启转换服务,再次测试,已经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
  • 1
  • 2
  • 3

2.2 测试pdf2htmlex

pdf2htmlEX --zoom 1.3 xiaoshujiang.pdf
  • 1

可以看到,当前目录生成了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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

3. 测试

3.1 word (doc.docx)测试

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

效果:

3.2 表格 (xls)测试

convert2html.sh xxx.xlsx xxx.html
  • 1

3.3 PPT (pptx)测试

./convert.sh xxx.pptx xxx.html
  • 1

4. 总结

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

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

shell下office、html、pdf文档互转方法相关推荐

  1. pdf文件如何生成目录 wps_wps制作pdf文档的详细方法

    一些用户在使用wps软件的时候,wps怎样制作pdf文档?你们知道怎么操作的吗?对此感兴趣的伙伴们可以去下文看看wps制作pdf文档的详细方法. wps制作pdf文档的详细方法 一.打开或生成原始文件 ...

  2. 提高Linux下打开WPS云文档速度的方法

    提高Linux下打开WPS云文档速度的方法 本人在优麒麟下使用WPS办公,发现WPS打开云文档缓慢,经过多次修改配置,发现修改以下几个配置可加快云文档打开速度 修改备份策略 "文件" ...

  3. java对office、pdf文档在线预览解析(融合进项目中)

    最近在项目中要做一个文档的预览,在网上搜了好多demo,都可以实现其功能,但是放在自己的项目中有点复杂. 先说明本人的开发环境(win7+tomcat7+maven+svn+myeclipse),接下 ...

  4. js转换html为pdf文件怎么打开方式,pdf.js实现在HTML下直接浏览pdf文档,无需插件即可实现...

    pdf.js是一款开源的pdf文档读取解析插件,据说在HTML5下诞生的,对于主流的浏览器基本都支持. 官网GitHub地址如下:https://github.com/mozilla/pdf.js 由 ...

  5. delphi程序下 excel转pdf文档

    在office 2010以上版本集成了pdf转换插件(2007需要装个SaveAsPDFandXPS.exe),转换非常方便.示例代码如下: uses comobj: var   MsExcel, M ...

  6. acrobat给pdf加多行水印_adobe acrobat pro dc给PDF文档添加水印的方法

    PDF是我们最常见的文档格式,而在创建一份PDF文档后,为了保护PDF文档的安全性以及展示个人的或者企业的标识,用户都会在PDF页面中添加水印,而许多用户可能还不知道如何添加水印,小编这里为用户分享了 ...

  7. 水晶报表使用经验谈1--建立水晶报表第一步及编译最易出现错误的解决方法及报表转换成pdf文档进行打印方法...

    初用水晶报表(vs .net2003集成,版本Version=9.1.5000.0) 装好后要注册 注册号:6707437608 密码:AAP5GKS0000GDE100DS 想要在.aspx文件中使 ...

  8. 快速翻译PDF文档的免费方法

    您还在为翻译PDF文档而烦恼吗? 或者您通过某度搜索出来的文档翻译网站或者使用某些文档软件都需要注册会员或者充钱呢? 而且好多既不安全还不一定靠谱. 本文介绍的这种方法希望能够为您解决烦恼.此方法不涉 ...

  9. PDF文档分割简单方法

    在编辑文档的过程中,常常会遇到把一个较大文件分割成多个文档的情况,常规的操作方法就是截图复制粘贴到Word当中,然后保存成PDF文档格式,这种方法的操作次数有些过多,而且容易出错.这时就要用到PDF分 ...

  10. WPS在线转PDF文档的简单方法

    WPS转PDF简单的方法有哪些?我们是怎么在线将WPS文档在线转换成PDF文档的呢?下面小编就来给大家简单的介绍一下. 1. 首先我们需要在线转换,打开我们的电脑,在浏览器上搜索迅捷PDF在线转换器. ...

最新文章

  1. 活动报名 | 上交大副教授谢伟迪:视频自监督学习
  2. webdriver 获取页面response
  3. 深圳出台数据中心PUE新政,或将开启千亿级节能市场
  4. oracle rownum 学习
  5. Linux中的Interrupted system call错误
  6. linux c之使用共享内存实现进程间通信
  7. Jquery和雅虎的YQL服务实现天气预报功能!
  8. HDU 5773 The All-purpose Zero(O(nlgn)求LIS)
  9. 设计HTML标签title属性值换行
  10. 科学与星球大战:当科幻遇到现实
  11. 一文读懂物联网的关键技术有什么?
  12. CSS溢出文字使用省略号表示
  13. 【正点原子MP157连载】 第九章 TF-A移植-摘自【正点原子】【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.7
  14. How to setup Assigned Access in Windows 10 (Kiosk Mode) 设置分配的访问权限(Kiosk模式)
  15. 浅谈第四层交换机技术及应用
  16. 【Python】三维画图——matplotlib以及np.mgrid的使用
  17. 计算机应用专业职业价值观,计算机应用技术专业大学生职业生涯规划书.doc
  18. [ CTF ]【天格】战队WriteUp-2022年第二届“长城杯”网络安全大赛
  19. gc System.gc() fullGC
  20. 网页端哔哩哔哩4倍速播放视频 哔哩哔哩3倍

热门文章

  1. 相机标定(笔记本摄像头和usb相机)
  2. 古代帝王有哪些“恩爱夫妻”?
  3. mysql中删除两条重复的数据,只保留一条
  4. TypeScript学习
  5. blender测量3d模型的尺寸
  6. 【秋招】搜狐游戏_数据分析岗_面试题整理
  7. Linux zip与unzip:通过正则式解压压缩包内指定的文件
  8. 分享md5解密站源代码,简单的代码就可以实现md5解密
  9. 刺猬猫服务器维护2020,刺猬猫杂谈:我认真起来连老板的号都敢封!
  10. 一篇读懂jvm垃圾回收