目的:在我们的应用中很多要进行转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出现异常");}}
如果觉得《如何使用WPS在服务器端WORD文件转PDF》对你有帮助,请点赞、收藏,并留下你的观点哦!