WordtoPdfUtil word转pdf

Posted chinaifae

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WordtoPdfUtil word转pdf相关的知识,希望对你有一定的参考价值。

jar:

<dependency>
  <groupId>com.jacob</groupId>
  <artifactId>jacob</artifactId>
  <version>1.10</version>
</dependency>

在tomcat上使用时要在tomcat使用的jdk的jdk/jre/bin目录下放置配套的jacob.dll文件

 

import java.io.File;

import com.jacob.activeX.ActiveXComponent;

import com.jacob.com.ComThread;

import com.jacob.com.Dispatch;

 

public class WordtoPdfUtil {

   static final int wdDoNotSaveChanges = 0;// 不保存待定的更改。

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

 

   /**

    * word转pdf

    * @param wordSrc    word路径

    * @param pdfSrc     另存为pdf后的路径

    */

   public static void  wordToPdf(String wordSrc,String pdfSrc){

          long start = System.currentTimeMillis();

          ActiveXComponent app = null;

          Dispatch docs=null;

          try {

            System.runFinalizersOnExit(true);

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

              app.setProperty("Visible", false);

 

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

              System.out.println("打开文档" + wordSrc);

              Dispatch doc = Dispatch.call(docs,//

                      "Open", //

                      wordSrc,// FileName

                      false,// ConfirmConversions

                      true // ReadOnly

                      ).toDispatch();

 

              System.out.println("转换文档到PDF" + pdfSrc);

              File tofile = new File(pdfSrc);

               //如果输出目标文件夹不存在,则创建

              if (!tofile.getParentFile().exists()){

               tofile.getParentFile().mkdirs();

              }

              Dispatch.call(doc,//

                      "SaveAs", //

                      pdfSrc, // FileName

                      wdFormatPDF);

 

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

              long end = System.currentTimeMillis();

             

              System.out.println("转换完成..用时:" + (end - start) + "ms.");

          } catch (Exception e) {

            e.printStackTrace();

              System.out.println("========Error:文档转换失败:" + e.getMessage());

          } finally {

              if (app != null){

              app.invoke("Quit", wdDoNotSaveChanges);

              }

              if(docs != null){

               ComThread.Release();

                 ComThread.RemoveObject(docs);

              }      

          }

      }

   public static void main(String[] args) {

      WordtoPdfUtil.wordToPdf("C:\Users\Administrator\Desktop\qcs.docx","C:\Users\Administrator\Desktop\qcs.pdf");

   }

}

 





以上是关于WordtoPdfUtil word转pdf的主要内容,如果未能解决你的问题,请参考以下文章

[word转pdf]Word怎么转换成PDF?这个Word转PDF方法一定不要错过

[pdf转word]PDF转Word 不会转?最优PDF转换成Word方法在这里

PDF转word后不能复制怎么办?

Word怎么转成pdf格式,word转pdf的小技巧

怎样把word和excel转pdf

如何用纯java代码实现word转pdf