成都网站建设设计

将想法与焦点和您一起共享

怎么在java中使用jacob将word转换为pdf

怎么在java中使用jacob将word转换为pdf?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

成都创新互联公司专业IDC数据服务器托管提供商,专业提供成都服务器托管,服务器租用,四川电信科技城机房四川电信科技城机房,成都多线服务器托管等服务器托管服务。

具体内容如下

jacob 缺点:需要 window 环境,而且速度是最慢的需要安装 msofficeWord 以及 SaveAsPDFandXPS.exe ( word 的一个插件,用来把 word 转化为 pdf )

开发流程:

SaveAsPDFandXPS 下载地址

jacob 包下载地址:

1、先安装SaveAsPDFandXPS

2、下载 jacob 解压后存放路径:

jacob.jar 放在 C:\Program Files\Java\jdk1.8.0_171\jre\lib\ext目录下
jacob.dll 放在 C:\Program Files\Java\jdk1.8.0_171\jre\bin 目录下

实现代码如下:

package com.casf.hn.core.util;

import java.io.File;

import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.ComThread;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant;

/**
 * 效果最好的一种方法,但是需要 window 环境,而且速度是最慢的需要安装 msofficeWord 以及 SaveAsPDFandXPS.exe (
 * word 的一个插件,用来把 word 转化为 pdf,可以不用安装,本次未安装测试通过 )
 * 
 * 
 *
 */
public class WordToPdf {

 private static final int wdFormatPDF = 17; // PDF 格式

 public void wordToPDF(String sfileName, String toFileName) {

  System.out.println("启动 Word...");
  long start = System.currentTimeMillis();
  ActiveXComponent app = null;
  Dispatch doc = null;
  try {
   app = new ActiveXComponent("Word.Application");
   app.setProperty("Visible", new Variant(false));
   Dispatch docs = app.getProperty("Documents").toDispatch();
   doc = Dispatch.call(docs, "Open", sfileName).toDispatch();
   System.out.println("打开文档..." + sfileName);
   System.out.println("转换文档到 PDF..." + toFileName);
   File tofile = new File(toFileName);
   if (tofile.exists()) {
    tofile.delete();
   }
   Dispatch.call(doc, "SaveAs", toFileName, // FileName
     wdFormatPDF);
   long end = System.currentTimeMillis();
   System.out.println("转换完成..用时:" + (end - start) + "ms.");

  } catch (Exception e) {
   System.out.println("========Error:文档转换失败:" + e.getMessage());
  } finally {
   Dispatch.call(doc, "Close", false);
   System.out.println("关闭文档");
   if (app != null)
    app.invoke("Quit", new Variant[] {});
  }
  // 如果没有这句话,winword.exe进程将不会关闭
  ComThread.Release();
 }

 public static void main(String[] args) {
  WordToPdf d = new WordToPdf();
  d.wordToPDF("D:\\cssj\\xxxx.doc", "D:\\cssj\\xxxx.pdf");
 }

}

运行结果:

怎么在java中使用jacob将word转换为pdf

怎么在java中使用jacob将word转换为pdf

怎么在java中使用jacob将word转换为pdf

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。


当前题目:怎么在java中使用jacob将word转换为pdf
文章位置:http://chengdu.cdxwcx.cn/article/jdehei.html