博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell下office、html、pdf文档互转方法
阅读量:6822 次
发布时间:2019-06-26

本文共 1657 字,大约阅读时间需要 5 分钟。

hot3.png

 分类:
后台开发
 

 

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版本的转换脚本

下载后,进行测试:

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,使用国人开源的,一开始尝试通过源码编译安装,依赖组件太多,安装非常麻烦!感兴趣的可以执行编译安装,参见()

下面介绍简单安装方式:

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

效果:

enter description here

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放到网站路径下,通过拦截器,设置访问权限。

 
 

转载于:https://my.oschina.net/jinhengyu/blog/1572114

你可能感兴趣的文章
win 7 升级为IE11后打开IE后无反应解决办法
查看>>
rest 特征和优点
查看>>
postfix 源码centos7上搭建及错误提示---亲测
查看>>
drawable自定义字体颜色
查看>>
操作系统基础
查看>>
Cocos2d-x跨平台开发利器--EasyNDK-for-cocos2dx
查看>>
94. Binary Tree Inorder Traversal(非递归实现二叉树的中序遍历)
查看>>
VS 2013的初配置
查看>>
变量提升和函数提升
查看>>
Javascript基础复习 - jQuery Proxy函数
查看>>
【BZOJ5306】 [Haoi2018]染色
查看>>
dotnet webservice处理数据量过大,ajax请求返回500错误解决方案
查看>>
实验六 在应用程序中播放音频和视频
查看>>
NYOJ242计算球体积
查看>>
[20180901]四校联考
查看>>
小程序红包开发跳坑记 微信小程序红包接口开发过程中遇到的问题 微信小程序红包开发...
查看>>
《深入理解JAVA虚拟机》----------第三章 垃圾收集器与内存分配策略,笔记(下)...
查看>>
从零开始搭建创业公司后台技术栈
查看>>
作业八
查看>>
thinkphp总体设计
查看>>