java实现MsOffice文档向pdf文档转化

本篇文档实现功能,将word和ppt文档的文件转化成pdf格式的文档

应用到jacob

 

第一步:下载压缩包

(1)jacob官网下载jacob压缩包

(2)网址:http://sourceforge.net/projects/jacob-project/

 

 

第二步:配置环境并导入jar包

 (1)将下载好的压缩包解压

 (2)将jacob.jar包导入项目中

 (3)将jacob-1.18-M2-x64.dll和jacob-1.18-M2-x86.dll文件复制粘贴到jdk安装目录bin目录下,jdk安装目录jre的bin目录下,系统盘C:\Windows\System32目录下。

 

 

第三步:调用MsOffice2Pdf类的静态方法,实现MsOffice文档转换。

 

MsOffice2Pdf类的源代码

  1 public class MsOffice2Pdf {
  2
  3
  4     static final int wdDoNotSaveChanges = 0;// 不保存待定的更改。
  5     public static final int wdFormatPDF = 17;// word转PDF 格式
  6     public static final int ppSaveAsPDF = 32;// ppt 转PDF 格式
  7
  8
  9
 10     /**
 11      * 将指定路径的word文档转换成指定路径的pdf文档
 12      * 此处路径为绝对路径
 13     * @Title: word2PDF
 14     * @Description: TODO(这里用一句话描述这个方法的作用)
 15     * @param inputFile
 16     * @param pdfFile
 17     * @return void    返回类型
 18     * @author 尚晓飞
 19     * @date 2014-8-15 上午10:25:47
 20      */
 21     public static void word2PDF(String inputFile,String pdfFile){
 22         System.out.println("启动Word");
 23         long start = System.currentTimeMillis();
 24         ActiveXComponent app = null;
 25         try {
 26             app = new ActiveXComponent("Word.Application");
 27             app.setProperty("Visible", false);
 28
 29             Dispatch docs = app.getProperty("Documents").toDispatch();
 30             System.out.println("打开文档" +inputFile);
 31             Dispatch doc = Dispatch.call(docs,//
 32                     "Open", //
 33                     inputFile,// FileName
 34                     false,// ConfirmConversions
 35                     true // ReadOnly
 36                     ).toDispatch();
 37
 38             System.out.println("转换文档到PDF " + pdfFile);
 39             File tofile = new File(pdfFile);
 40             if (tofile.exists()) {
 41                 tofile.delete();
 42             }
 43             Dispatch.call(doc,//
 44                     "SaveAs", //
 45                     pdfFile, // FileName
 46                     wdFormatPDF);
 47
 48             Dispatch.call(doc, "Close", false);
 49             long end = System.currentTimeMillis();
 50             System.out.println("转换完成..用时:" + (end - start) + "ms.");
 51         } catch (Exception e) {
 52             System.out.println("========Error:文档转换失败:" + e.getMessage());
 53         } finally {
 54             if (app != null)
 55                 app.invoke("Quit", wdDoNotSaveChanges);
 56         }
 57
 58     }
 59
 60
 61     /**
 62      * 将ppt格式的msoffice文档转换成pdf格式的文档
 63     * @Title: ppt2pdf
 64     * @Description: TODO(这里用一句话描述这个方法的作用)
 65     * @param inputFile
 66     * @param pdfFile
 67     * @return void    返回类型
 68     * @author 尚晓飞
 69     * @date 2014-8-18 下午2:00:21
 70      */
 71     public static void ppt2pdf(String inputFile,String pdfFile){
 72         System.out.println("启动PPT");
 73         long start = System.currentTimeMillis();
 74         ActiveXComponent app = null;
 75         try {
 76             app = new ActiveXComponent("Powerpoint.Application");
 77             Dispatch presentations = app.getProperty("Presentations").toDispatch();
 78             System.out.println("打开文档" + inputFile);
 79             Dispatch presentation = Dispatch.call(presentations,//
 80                     "Open",
 81                     inputFile,// FileName
 82                     true,// ReadOnly
 83                     true,// Untitled 指定文件是否有标题。
 84                     false // WithWindow 指定文件是否可见。
 85                     ).toDispatch();
 86
 87             System.out.println("转换文档到PDF " + pdfFile);
 88             File tofile = new File(pdfFile);
 89             if (tofile.exists()) {
 90                 tofile.delete();
 91             }
 92             Dispatch.call(presentation,//
 93                     "SaveAs", //
 94                     pdfFile, // FileName
 95                     ppSaveAsPDF);
 96
 97             Dispatch.call(presentation, "Close");
 98             long end = System.currentTimeMillis();
 99             System.out.println("转换完成..用时:" + (end - start) + "ms.");
100         } catch (Exception e) {
101             System.out.println("========Error:文档转换失败:" + e.getMessage());
102         } finally {
103             if (app != null) app.invoke("Quit");
104         }
105     }
106
107
108
109 }

View Code

 

 

 

时间: 2024-10-10 19:25:44

java实现MsOffice文档向pdf文档转化的相关文章

Java实现web在线预览office文档与pdf文档实例

1.首先我们需要找到可以把office转换成pdf的方法,查找资料发现有openoffice这一软件可以把office转换成pdf,这一软件先下载下来,然后记住自己安装的在那个位置.然后在cmd环境下进入安装目录的program目录,输入打开openoffice的命令:soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard 输入完成之后在任务管理器可以看见soffice.b

word2pdf-用JAVA如何将MS Word文档转换为PDF文档

问题描述 用JAVA如何将MS Word文档转换为PDF文档 我现在需要在项目中实现将word转换为pdf文档的功能. 之前在网上查过一些资料,主要就是通过调用openoffice服务的方式实现, 而我需要在不借助系统软件或服务的情况下,就能将word文档转换为pdf格式, 我希望这个转换功能能作为一个独立的组件,在任何系统环境下都能使用. 网上推荐使用 POI + iText 的方法,这个方法也许可行,但是要达到完美效果可能工作量很大. 在这里请教大家,希望有经验的人能给我一点建议!

JSP生成WORD文档,EXCEL文档及PDF文档的方法_JSP编程

本文实例讲述了JSP生成WORD文档,EXCEL文档及PDF文档的方法.分享给大家供大家参考,具体如下: 在web-oa系统中,公文管理好象不可或缺,有时需要从数据库中查询一些数据以某种格式输出来,并以word文档的形式展现,有时许多word文档保存到数据库中的某个表的Blob字段里,服务器再把保存在Blob字段中的图片文件展现给用户.通过网上查找发现很少有关于此类的文章,现在整理起来供大家参考. 1 在client端直接生成word文档 在jsp页面上生成word文档非常简单,只需把conte

将word文档转换为pdf文档方法图解

  pdf文档相对word文档有很多好处,比如跨平台,阅读效果好等.但如何将word文档转换为pdf文档呢?方法有很多,如果你经常需要将word文档转换为pdf,那么可以看看哦~ 工具/原料 AdobeAcrobat9 Microsoft Office Word 方法/步骤 1.首先安装AdobeAcrobat9这款软件,该软件带有word等程序的转换插件. 安装过程中会提示你关闭word文档,否则需要重启后安装. 2.AdobeAcrobat9安装完成后,打开一个word文档.可以看到工具栏多

word文档-仿百度文库 如何才能把WORD文档、PPT文档和PDF文档转成HTML?

问题描述 仿百度文库 如何才能把WORD文档.PPT文档和PDF文档转成HTML? 开发语言:php 具体项目是做一个文档在线阅读 和百度文库一样 参考了下网上 大部分做法是用openoffice+swftools+flexPaper 这样转出来的是flash 如何才能把WORD文档.PPT文档和PDF文档转成HTML? 解决方案 可以尝试一下用POI.

利用wps把word文档转换为PDF文档的方法

1.我们先把要转换word文件,利用wps软件打开,然后在"WPS文字"的下拦菜单点击"另存为"按钮. 文档转换为PDF文档的方法-wps文档转换word">2.当我们指到了"在另存"时会有右侧菜单出来,这里我们选择"输出为PDF格式"如图所示. 3.现在就是选择输出pdf文件保存的位置了. 4.现在我们点击"高级"按钮,在这里就会显示转换pdf时我们需要转换或有些不需要转换的内容. 5.如

java合成多张图片为一个pdf文档

问题描述 现在有一需求,将几张图片合成一个pdf文档,请问下如何实现比如说:d盘下有1.jpg,2.jpg,3.jpg,4.jpg如何把4张图片合成一个pdf文档假如这4张图片一样大的话求教了,谢谢! 解决方案 解决方案二:用iitext

<文本文档和pdf文件互相转化>入门练习

首先会需要两个jar包文件 itext-5.5.5和text-asian.jar,可以在我上传的资源处下载. 将这两个jar包添加到项目中. 然后编写简单的测试Demo /** * */ package com.skd.util; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.

怎么给pdf文档加密,pdf文档如何加密的方法

很多网友反馈怎么给pdf文档加密?给PDF加密小编推荐你用Adobe Acrobat软件,可以在网上下载! 具体加密方法如下: 1.打开一个任意的PDF文档; 2.选择菜单栏的"文档"; 3.选择"文档"里的"安全性"一栏; 4.再选择"安全性"里的"显示本文档的安全性设置"一栏 5.这样进入了"文档属性"对话框,用鼠标点击一下"安全性方法",就会出现一个下拉菜单,然