java调用com组件将office文件转换成pdf

在非常多企业级应用中都涉及到将office图片转换成pdf进行保存或者公布的场景,由于pdf格式的文档方便进行加密和权限控制(类似于百度文库)。总结起来眼下将office文件转换

成pdf的方法主要有两种:

1、利用jcob调用ms office的com组件,将office文档转换成pdf。

2、利用jcob调用acrobat将office文档转换成pdf。

在实际使用中发现。因为office不同所以本的文件格式不一致,所以不论什么第三方的转化工具都不可能完美的兼容全部office版本号,最好的方案就是调用ms office提供的com组件来进

行转换。就算office高版本号出现。我们要做的也仅仅是升级我们的office版本号而已。

首先,利用office的com组件进行文档转换首先须要到jacob官网下载一个jacob.jar和jacob.dll,jacob.dll须要放到windows的system32以下。jacob.jar引用到javaproject中。

其次,编写代码。初始化word进程,并返回word的全部document对象:

//打开word应用程序

ActiveXComponent app = new ActiveXComponent("Word.Application");

//设置word不可见,否则会弹出word界面

app.setProperty("Visible", false);

//获得word中全部打开的文档,返回Documents对象

Dispatch docs = app.getProperty("Documents").toDispatch();

第三步。打开我们要转换的word文档:

//调用Documents对象中Open方法打开文档。并返回打开的文档对象Document

Dispatch doc = Dispatch.call(docs,

"Open",

"xxx.doc",

false,

true

).toDispatch();

最后,另存我们刚才打开的文档。并关闭word进程:

//调用Document对象的SaveAs方法,将文档保存为pdf格式

Dispatch.call(doc,

"ExportAsFixedFormat",

"xxx.pdf",

wdFormatPDF        //word保存为pdf格式

);         //关闭文档

Dispatch.call(doc, "Close",false);

//关闭word应用程序

app.invoke("Quit", 0);

附录:完整代码

public static void word2PDF(String inputFile,String pdfFile){

//打开word应用程序

ActiveXComponent app = new ActiveXComponent("Word.Application");

//设置word不可见。否则会弹出word界面

app.setProperty("Visible", false);

//获得word中全部打开的文档,返回Documents对象

Dispatch docs = app.getProperty("Documents").toDispatch();

//调用Documents对象中Open方法打开文档。并返回打开的文档对象Document

Dispatch doc = Dispatch.call(docs,

"Open",

inputFile,

false,

true

).toDispatch();

//调用Document对象的SaveAs方法。将文档保存为pdf格式

Dispatch.call(doc,

"ExportAsFixedFormat",

pdfFile,

wdFormatPDF        //word保存为pdf格式

);

//关闭文档

Dispatch.call(doc, "Close",false);

//关闭word应用程序

app.invoke("Quit", 0);

}

时间: 2024-10-27 02:37:45

java调用com组件将office文件转换成pdf的相关文章

在Linux下将HTML文件转换成PDF文件

今天要写一个上交的作业,本来是想用Office Word来写的,但是,我的Office貌似不能用了,但是,Linux下的LibreOffice写出的文档,在打印的时候是经常出现乱码的.所以,后来想到可以 利用HTML写出格式比较好的文档,所以,想到能不能先写出一份比较规范的文档出来,然后转换成PDF文档,因为如果转换成PDF文档,打印,浏览都会比较方便,并且在转换成PDF之后,在打印的时候也不容易出现乱码的现象,经过搜索发现了一个比较不错的html转pdf文件的工具wkhtmltopdf, 在U

扫描文件转换成pdf如何实现

扫描的图片文件一般是合作公司或是个人签署的合作一类文件或是重要的具备专业性质的资料文件.这些文件通过扫描仪传送的方式直接将内容发送给对方,文件一般都是经过处理且不会再更改的,文件经过扫描如果需要电子版的资料,转送到电脑上一般是以图片的形式呈现的,一份合同必定要将它们合并在一起一边查看打印,所以有很多扫描文件转换的pdf的情况,现如今人们都希望知道扫描文件转换的pdf文件方法. 扫描文件转换成pdf如何实现?也就是图片如何转换成pdf文件,或是jpg如何转换成pdf文件,对于这样的问题我们可以使用

CAD文件转换成PDF的好处

之前有很多朋友在问,为什么很多的企业或者领导要求将CAD文件转化成PDF?该怎么转换?下面就由小编为你们一一解答.因为PDF文件具有很好的加密性,将CAD文件转换成PDF,这样可以将原文件进行压缩,可以便于保存,方便浏览而且不会改变文件内容.对于转换的软件,我给大家推荐一款,它叫"迅捷CAD转换器",是一款功能强大的文档格式转换软件,支持多种文件格式相互转换的软件. 1.打开电脑,搜索"迅捷CAD转换器"官网,然后找到下载区域,点击下载迅捷CAD转换器 2.在电脑上

Excel文件转换成PDF格式如何操作

Excel文件相信对于办公一族的人来说是在熟悉不过了.每天多多少少都要处理到它,像数据之类的文件一般都保存在Excel文件中.当然有时候考虑到一些因素需要将Excel文件转换成PDF格式,这样的文件格式转换我们该怎么操作呢?不知道的伙伴不妨试下下面这种方法 ,希望能帮助到大家! 1:想要完整的进行格式间的转换,我们可以选择在电脑端进行操作,将Excel转换PDF格式的话可以利用到辅助型的工具.进入到浏览器搜索相关软件就可以进行安装.2:进入PDF转换器的主页面.可以清晰明了的看到它许多PDF功能

html文件转换成pdf和word

1.html文件转成pdf 采用jar包有itext-asian.jar.itextpdf-5.5.5.jar.itext-pdfa-5.5.5.jar.itext-xtra-5.5.5.jar,为了保持html页面的全部格式,需要进行相关设置,代码如下: private boolean convert2Pdf(InputStream htmlInputStream, String pdfFile, String padding) throws FileNotFoundException, Do

如何把excel文件转换成pdf文件

我们经常需要将excel文档转换成pdf文件,这是一种最简单.最方便的方法,视频播放地址:http://v.youku.com/v_show/id_XODM2MTk0NzI0.html

把PPT文件转换成PDF如何操作

经常处理各种ppt文档,有些ppt文稿都是连续的图片构成,翻页浏览不是很方便,想把ppt转换成pdf文件,于是在查找了相关的操作方法,但大多数都相同.这里介绍一款非常简单的ppt转换为pdf的方法,可以把ppt转成pdf文件. 如果平时只是偶尔处理文档的转换,可以用在线转换工具进行简单处理. 先是进入在线ppt转换成pdf,来选择需要进行的操作类型.这里点击ppt转pdf,然后进入到具体的转换操作页面. 只要点击选择文件,选择要转换的ppt文件添加到操作列表,然后直接点开始转换按钮,文件就会进行

Microsoft office 2007以上版本,EXCEL 将xlsx文件转换成pdf文件出现:尚未安装打印机。转换失败

原因:未添加打印机. 查看:查看打印机程序是否启动 解决办法: 1.安装打印机驱动程序:控制面板→打印机和传真→添加打印机→下一步→选择"连接到此计算机的本地打印机"→取消勾选"自动检测并安装即插即用打印机"→下一步→"使用以下端口"中选择"Microsoft Document Imaging Writer Port(Local)"→下一步→厂商选择"Generic"→打印机选择"Generic/

Office文件转换PDF格式文件

1 /// <summary> 2 /// 把Word文件转换成为PDF格式文件 3 /// </summary> 4 /// <param name="sourcePath">源文件路径</param> 5 /// <param name="targetPath">目标文件路径</param> 6 /// <returns>true=转换成功</returns> 7 p