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

简介: 本篇文档实现功能,将word和ppt文档的文件转化成pdf格式的文档 应用到jacob   第一步:下载压缩包 (1)jacob官网下载jacob压缩包 (2)网址:http://sourceforge.

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

应用到jacob

 

第一步:下载压缩包

1jacob官网下载jacob压缩包

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

 

 

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

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

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

 (3)将jacob-1.18-M2-x64.dlljacob-1.18-M2-x86.dll文件复制粘贴到jdk安装目录bin目录下,jdk安装目录jrebin目录下,系统盘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

 

 

 

相关文章
|
1月前
|
Java API Apache
Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
【10月更文挑战第29天】Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
124 5
|
4月前
|
XML 数据采集 存储
使用Java和XPath在XML文档中精准定位数据
在数据驱动的时代,从复杂结构中精确提取信息至关重要。XML被广泛用于数据存储与传输,而XPath则能高效地在这些文档中导航和提取数据。本文深入探讨如何使用Java和XPath精准定位XML文档中的数据,并通过小红书的实际案例进行分析。首先介绍了XML及其挑战,接着阐述了XPath的优势。然后,提出从大型XML文档中自动提取特定产品信息的需求,并通过代理IP技术、设置Cookie和User-Agent以及多线程技术来解决实际网络环境下的数据抓取问题。最后,提供了一个Java示例代码,演示如何集成这些技术以高效地从XML源中抓取数据。
173 7
使用Java和XPath在XML文档中精准定位数据
|
2月前
|
Java Linux
java读取linux服务器下某文档的内容
java读取linux服务器下某文档的内容
41 3
java读取linux服务器下某文档的内容
|
1月前
|
API C#
在.NET中使用QuestPDF高效地生成PDF文档
在.NET中使用QuestPDF高效地生成PDF文档
|
2月前
|
Java Apache Maven
Java将word文档转换成pdf文件的方法?
【10月更文挑战第13天】Java将word文档转换成pdf文件的方法?
415 1
|
2月前
|
存储 Java API
如何使用 Java 中的 API 更改 PDF 纸张大小
如何使用 Java 中的 API 更改 PDF 纸张大小
55 11
|
2月前
|
Java
Java PDF模板生成PDF
Java PDF模板生成PDF
50 1
|
4月前
|
Java API 数据中心
百炼平台Java 集成API上传文档到数据中心并添加索引
本文主要演示阿里云百炼产品,如何通过API实现数据中心文档的上传和索引的添加。
127 3
|
4月前
|
XML Java 数据格式
基于Java+freemarker实现动态赋值以及生成Word文档
使用Java和Freemarker技术实现动态数据填充到Word文档模板并生成新的Word文档。
293 0
基于Java+freemarker实现动态赋值以及生成Word文档
|
3月前
|
Java Apache Maven
Java中使用poi+poi-tl实现根据模板导出word文档
这个过程不仅简化了文档生成的工作,而且保证了生成文档的一致性与准确性,特别适合于那些需要生成大量文档的自动化场景。通过以上步骤,Java开发人员可以实现高效、可靠的Word文档导出功能。
1574 0