将doc格式转换为swf
基本做法是将word 转为pdf ,然后再转为swf 文件,几种做法的不同在于word 转换为pdf 上,所以我们这几天的重点工作就是学习如何将word 转为pdf ,这几种方法虽然能完成word 到swf 的转换,但是都存在一些问题,如不能转换文本中的表格、图片等。
现在发现一个新方法可以实现转换,而且能够原封不动地将word 内容转为swf ,不存在图片或表格无法转换的问题,在flashplayer 中浏览效果与用word 打开一样,使用的方法如下:
(1) 在java 中调用PDFCreater 工具,将word 转换为pdf 。
(2) 利用swftools 将pdf 转换为swf 。
这种做法的优点在于代码简单,PDFcreater 和swftools 为第三方工具,在java 中调用这两个工具即可;缺点在于这种调用使java 具有了平台依赖性,如果脱离了windows 就无法使用,而java 程序有很多是要部署在linux 等非windows 系统下的,这与java 跨平台的优点相违背。
现将李健发给您的其他几种方法优缺点总结如下:
(1 )jacob 工具:优点在于操作简单,只需导入jacobjar 包即可,缺点在于jacob 与jdk 的版本具有依赖性,如果jdk 版本与jacob 版本不一致则无法使用,也就是说可能在一台机器上跑成功了,换了台机器就不行。
(2 )jcom 工具:优点与jacob 一样,缺点有两点:1 、需要安装pdf 打印机,使得这种做法依赖于windows 平台;2 、转换时无法转换图片。
(3 )POI+Itext :优点: 与上两种方法不同,这是一种纯java 操作方法,无需安装任何第三方软件,便可将word 转为pdf ;缺点:只能转换文本内容.
目前还在寻找更好的实现方法,先将这几天的工作总结一下:
经过这几天的学习,查了很多利用java 实现doc 与pdf 格式转换的资料,现在主流的做法是:在java 中创建JNI 实例,然后通过JNI 来调用windows 下的com 组件,利用com 组件来访问office 文档。Jcom 和jacob 都是利用了这个原理。现在由于部分java-web 软件需要将数据库中数据和office 之间进行导入导出操作,所以需要利用这些操作office 的工具。但是操作office 并非是java 的强项,开发者在这方面做的研究不多,原因在于,word 格式不是公开的,而java 是跨平台的,所以利用java 不能直接操作word ,必须借助第三方工具,而java 的优点是平台无关性,所以java 与windows 产品一旦发生耦合就会使java 失去这个优点, 应该用vb 或c++ 来操作比较适合。