您的位置:首页 > 其它

如何使用WPS在服务器端WORD文件转PDF

2012-02-08 15:31 471 查看
目的:在我们的应用中很多要进行转PDF 的功能应用。 网上很多都是提供 要 adobe printer 来进行打印。但是这种应用的服务器环境下面是有限制的。而且 经常 会出现 word 文件 锁定 文件的情况 出现。导致后面的所有 应用都失败。所以使用WPS 来进行转换。

1:下载WPS 并且安装成功。(WPS 个人版就可以够用)。

2:下载Jacob.jar 做为 调用 WPS 的桥接 工具包。(如附件) 并把 JAR 包里面的 DLL 文件解压 出来 放置 在 JVM 的库路径下面。 可以 通过以下代码 查看 当前 JVM 的库路径的具体位置。后台打印取得位置。同时把Jacob.jar 引入到项目工程当中。如果
项目中本身就有 Jacob.jar ,请注意 DLL 版本 和 JAR 包的一致的问题。

System.out.println(System.getProperty("java.library.path"));


3:调用 WPS 的接口服务

//使用WPS的服务来调用 。JACOB 包提供的 引用管理器
ReleaseManager rm = new ReleaseManager();
IDispatch wpsApp = null;
try {
// 获取 wps 提供 的 com 组件 服务
wpsApp = new IDispatch(rm,"WPS.Application");
//获取 docments 的应用 服务 ,同理 如果 有 EXCEL 方面的应用 请 使用不同的 访问服务字符。
IDispatch wpsDocuments = (IDispatch) wpsApp.get("Documents");
// 参数 标识 在 WPS 打开 应用的时候 是否是可见 的
//wpsApp.put("Visible", new Boolean(true));
//调用 参数 组。
Object[] varParams = new Object[15];
// tfileName 要找开的 DOC 文件的文件全路径。
varParams[0] = tfileName;
varParams[11] = true;
//传入参数 调用  打开 的 服务
IDispatch wpsDocument = (IDispatch) wpsDocuments.method("Open",varParams);
varParams = new Object[3];
//要生成的 PDF 文件全路径
varParams[0] = pdfFileName;
varParams[1] = "";
varParams[2] = "";
Thread.sleep(100); // 3sec
// 调用  WPS 的 转换 PDF 服务应用,如果 有其它特别 的应用 可以 在参数 当中 进行指定。
wpsDocument.method("ExportPdf", varParams);
}catch (Exception e) {
e.printStackTrace();
throw e;
}finally{
try {

//  应用的最后 是要退出 WPS 、否则 程序 会有可能被锁。
wpsApp.method("Quit", null);
System.out.println("WPS退出");
rm.release();
} catch (Exception e) {
e.printStackTrace();
throw new PlatformException("关闭WPS出现异常");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: