把office文档转换为html过程中的一些坑
之前和我们项目的团队一起酝酿了一个项目,公司的业务文档技术文档比较多,但都比较分散,虽然通过FTP或其他方式聚合起来了,但感觉还是不够方便。
另外公司每次都来新员工,新员工都需要一些培训,比较耗时,比较好的方法是把以前的配置录制视频然后线下先给新员工自己看,但时间久了,资料或视频总是找不到或不是最新等等。
于是我们团队想了一个项目,把已有的资料和视频从线下放到线上,就是能通过一个网站在线看office资料和视频。并且还能对资料评价和点赞等,根据点赞或想学等数据再决定是否对新员工或老员工来一次组织交流。
最开始的项目是参考百度文库,把Office资料转换为flash,视频资料直接存放,然后通过网站在线观看,用了flashpager这个软件,大体代码如下:
String converter = pt.getFlashPaperUrl() + "/FlashPrinter.exe -o " + savePath + swfName + ".swf " + documentName;Process p = pro.exec(converter);
通过调用Process执行FlashPrinter.exe,然后传递指令和要转换的文件即可转换。
但公司去windows化和去microsoftoffice。这个exe只能运行在windows下,于是重新换了一个方法,在linux下自动把office文档转换为Html。
由于不能用微软的office,于是选用了openoffice,我本地下载的openoffice4.0.1,安装后先启动监听:
soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard &
JAVA代码就可以连接8100端口让openoffice帮我们把office文档转换为Html。
我采用jodconverter-2.2.1.jar包,代码大体如下:
OpenOfficeConnection con = new SocketOpenOfficeConnection("127.0.0.1", 8100);con.connect();// 创建转换器 DocumentConverter converter = new OpenOfficeDocumentConverter(con);// 转换文档问html converter.convert(docFile, htmlFile);// 关闭openoffice连接 con.disconnect();
这样就把office文档转换为html文件:htmlFile了。
但ppt默认是转换为一个html文件,每一页ppt会生成一个图片,并且html文件是上一页下一页的形式每次只能看到一页ppt。我们希望把这个html直接展现所有ppt页的图片。于是稍微改造了下,把ppt转换为html后的文件夹下所有图片做轮训,然后拼接一个html文件:
<br><center><img src=" + tempDate + "/" + imgName+ " alt=\"\"></center>
开发完成后,发现非常完美。
但后面还是遇到了两个坑,分析了很久才发现。
1、部分ppt转换Html始终是乱码。
2、部分word文档转换为html始终是空白。
上面两个问题折腾了比较久,有问题的office始终有问题,没有问题的office一定能转换成功,分析了很久才发现问题。
最后经过一页一页ppt,一个一个文字删除和转换才发现。
第一个问题ppt里如果有备注通过openoffice转换为html就会是乱码,并且内容很少。
第二个问题是word文档里部分文字复制到openoffice的文档里,可能有文字字体不兼容导致。就是比如wps打开这个word,看到都是宋体,但把文字复制到openoffice里,发现有几个字不是宋体了。
解决方法暂时是:
第一个问题把所有ppt的备注人工删除了,就能转换成功了。
第二个问题简单解决方法是把所有文字的字体都再重新修改成一样的字体,比如修改成宋体。
希望能给其他有类试想法或遇到相同问题的带来帮助,转载请注明来自:http://lawson.cnblogs.com
转载于:https://www.cnblogs.com/Lawson/p/4797175.html
把office文档转换为html过程中的一些坑相关推荐
- 仿百度文库方案[openoffice.org 3+swftools+flexpaper](三) 之 使用JODConverter将office文档转换为pdf...
第三步,使用JODConverter将office文档转换为pdf JODConverter是一个java的OpenDucument文件转换器,可以进行许多文件格式的转换,它利用 OpenOffice ...
- C#实现office文档转换为PDF格式
C#实现office文档转换为PDF格式 1.安装组件OfficeSaveAsPDFandXPS 需要安装office 2007 还有一个office2007的插件OfficeSaveAsPDFand ...
- java命令行利用libreoffice将office文档转换为pdf文件失败的解决方案
原因:libreoffice同时只支持两个文档转换的命令行,多于两个的命令行不会进行文档转换. 解决方案:在线程池的线程中,利用java阻塞队列BlockingQueue,设置容量为2,同时只允许两个 ...
- (java office转pdf) MS Office2010、WPS2015、OpenOffice4用Java将Office文档转换为PDF,WIN7 64位系统
1.前言 MS Office2010是可以的,理论上2007版本也可以,博主没试过: Wps2015是可以的,理论上Wps2016也能用,Wps理论上还兼容MS Office的相关代码,有时间的可以试 ...
- 打开office文档显示连接打印机中,一直卡住没有响应,解决方案
打开服务管理器,找到print spooler 服务,停用即可:但是停用之后就真的无法打印了,所以需要打印的时候还有把这个服务重新启用.
- 文档或编程过程中在前面打字会把后面的文字覆盖掉解决办法
那是无意间按下了键盘上的[Insert]键,因此进入了改写模式,会导致写一个字覆盖掉前面的字. 只需要按一下键盘上[Insert]键,将改写状态切换回插入插入状态即可
- 基于MVC4+EasyUI的Web开发框架经验总结(8)--实现Office文档的预览
在博客园很多文章里面,曾经有一些介绍Office文档预览查看操作的,有些通过转为PDF进行查看,有些通过把它转换为Flash进行查看,但是过程都是曲线救国,真正能够简洁方便的实现Office文档的预览 ...
- java将office文档,word,ppt,pdf文档转换成swf文件在线预览
java将office文档pdf文档转换成swf文件在线预览 第一步,安装openoffice.org openoffice.org是一套sun的开源office办公套件,能在widows,linux ...
- java将office文档pdf文档转换成swf文件在线预览
第一步,安装openoffice.org openoffice.org是一套sun的开源office办公套件,能在widows,linux,solaris等操作系统上执行. 主要模块有writer(文 ...
最新文章
- POJ 1028: Web Navigation
- WINDOWS下的各类HOOK
- 游戏用计算机配置表显卡,攒机的知识盲区 以及显卡配置推荐详解
- CSS定位—position:fixed
- Word2Vec学习笔记(三)
- 注册了patchwork.kernel.org
- SoundSource for Mac - 音频控制工具
- Excel的Range对象(C#)
- 16.了解如何把vector和string数据传给旧的API
- myeclipse优化方案 myeclipse 10 优化
- Linux系统中打开文件数量的查看方法
- <2021SC@SDUSC> 开源游戏引擎 Overload 代码模块分析 之 OvGame(八)—— 终篇总结
- UDP数据包大小设定
- jsp超市仓库管理系统myeclipse开发sqlserver数据库
- 动态交叉表(永洪bi)
- cad边长提取lisp_用lisp怎么提取cad中文字-内容-*通用符匹配(值 :设定)生成excel文件...
- 磁盘读写的时间花费和调度算法(操作系统)
- 编码,隐匿在计算机软硬件背后的语言读书笔记(作者序)
- 机器学习实战决策树画图理解
- 基于Stm32f103利用模拟iic驱动LM75A温度传感器
热门文章
- SQL Server中EXISTS结构
- mysql导入数据出现Errcode: 2 - No such file or directory错误信息
- python knn-基于python实现KNN分类算法
- mc pe Linux服务器,MC 基岩版(PE) 服务器来了
- 埃及冒险java_我的世界1.7.10亚图姆探险整合包
- cdn托管html资源,七牛自定义域名cdn加速,静态资源托管至对象存储
- 小甲鱼c++源码_飞凌课堂丨OK1046A-C内存交互测试,小白也能看懂
- php数据更新实例,php mysq数据编辑更新实例_PHP教程
- 计算机维修实训室制度,计算机实训室规章制度
- 1.72java8_JDK 1.7 1.8 新特性