- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
利用JCom调用MSOffice或者AcrobatAPI转换为PDF.
????? 当下国内外文档分享平台成为热门应用,其中文档在线浏览几乎成为文档分享平台必备功能,本文针对类似百度文库的多种文档在线浏览技术提出了三种解决方案。文档在线浏览本质上是将多种可在线预览文档转换成Flash(SWF)格式,再通过Flash Player播放器播放SWF文件。Flexpaper是一个开源的在线文档显示组件,可以播放SWF文件。因此,下面先分析如何将文档转换为SWF。
????? SWFTools是一种与Adobe Flash(swf)文件工作的实用工具包,主要包括用于读取、编译以及生成swf文件的程序。 其中,PDF2SWF工具,可以将PDF文件转换成SWF文件。那么只需要将文档转换成PDF,再利用PDF2SWF转换PDF为SWF则解决问题。
????? 转换常用Office文档为PDF格式,目前主要有三种方案:利用Jacob或者JCom调用MS Office或者WPS Office API,利用JODConverter调用OpenO服务,调用虚拟打印机转换文档为PDF。由于笔者目前没有实现Java下调用虚拟打印打印文件为PDF格式的方法,因此在这里不做介绍。图1-1显示了笔者实现的三种方案:
图1-1 文档转换总体方案
Jacob简介
Jacob是Java与COM组件桥接的缩写,即JAVA-COM Bridge。通过使用Jacob类库,我们可以很方便地在Java程序中调用COM自动化组件。Jacob最初是由美国人Dan Alder在Inventure公司担任CTO时编写的,目的是为了方便众多的程序员在Java2虚拟机上,调用Win32平台上COM自动化服务器中的组件。当Jacob项目以开源的方式在网络上公布以后,越来越多的人开始参与项目的研发与改进中去。
Jacob类库中只有两个包:com.jacob.activex和.jacob.activex包建立在基础之上, 主要包含了ActiveXComponent类。中有一个非常基础的类JacobObject,该包中比较常用的两个类Dispatch和Variant便是继承自JacobObject。
Dispatch类代表COM自动化组件中的对象,提供了访问COM对象的API。Dispatch类中常用的方法有:
call( )方法:调用COM对象的方法,返回Variant类型值。
invoke( )方法:和call方法作用相同,但是不返回值。
get( )方法:获取COM对象属性,返回variant类型值。
put( )方法:设置COM对象属性。
ActiveXComponent类继承自Dispatch类,在内部封装了Dispatch对象,使用该类加载COM组件。 并且提供了访问COM组件对象的属性和方法的接口。ActiveXComponent类提供了比Dispatch类更方便的获取属性和设置属性的方法:getProperty( ),setProperty( )。
Variant类映射COM对象中的Variant数据结构,提供Java和COM的数据交互。其本质就是一种数据类型,可以被转换成任何数据类型,如int,String,甚至Dispatch对象。
MS Office COM 对象模型
Microsoft Office2007之前的Office版本并没有提供转换文档为PDF格式的支持,另外,Office2007还需要安装有Microsoft Save as PDF or XPS插件才支持PDF格式转换,而Office2010不需要安装插件则自带有转换Office文档为PDF格式的API。因此,建议使用Office 2010。
通过查询MSDN Office 2010开发人员手册,经过分析后得出图2-1所示的Office COM对象模型:
图2-1 Office COM对象模型
Microsoft Office中每个应用程序中都包含一个Application对象,但是每个应用程序中的文档对象却不一样,Word中Documents对象代表Word应用程序中所有打开的word文档集合,Document对象代表一篇word文档。详细的文档对象结构如图2-1所示。其中Document,Workbook,Presentation中的SaveAs或者ExportAsFixedFormat方法可用于将文档转换为PDF。
Jacob调用MS Office COM自动化组件转换Office文档为PDF
算法流程图如2-2所示:
图2-2 Jacob调用MS Office COM组件转换文档为PDF算法流程
第一步,对于Office文档,不同格式的文档需要加载不同的COM组件,例如Word文件需要加载Word COM组件。Jaco
您可能关注的文档
- 初中英语词组26页..doc
- 初中英语词汇大全..doc
- 初中英语语法(课本)..doc
- 初中英语语法专项习题2-冠词..doc
- 初中英语语法-名词性从句-专项训练(100题)..doc
- 初中英语语法专项习题介词..doc
- 初中英语词汇(带音标)(课程顺序)..doc
- 初中英语语法与时态语态总结表..doc
- 初中英语词汇(字母顺序)..doc
- 初中英语语法专项习题代词..doc
- 利用googleearth制作地形等高线,代替地形图..doc
- 初级审计师考试大纲..doc
- 利用LabVIEW进行心率变异分析..doc
- 利用MATLABsimulink的自动代码生成工具开发PLC程序..docx
- 利用Matlab和SPSS软件实现聚类分析..doc
- 利用MnO2纳米针吸附水中As的研究..doc
- 利用MODBUS实现永宏PLC控制多台变频器系统的设计1..doc
- 利用MAX16834构建112W长串LED的大功率驱动器2..doc
- 利用Myeclipse搭建ssh(JPA)环境,自动生成dao,model..doc
- 利用PSPICE软件对单级共射放大电路进行仿真分析..doc
文档评论(0)