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

 

 

 

相关文章
|
7月前
|
小程序
公众号如何添加附传Word、Excel、Pdf、PPT文档
公众号里添加一些文档给公众号粉丝下载,比如课件PPT、申请表Word文档、岗位需求Excel表、大赛入围/获奖名单等。公众号本身是不支持直接上传文件的,但我们可以通过附件小程序“间接”上传文件。
1052 0
|
9月前
|
XML 人工智能 Java
java实现PDF 电子签章
本文介绍了使用Java将Word文档转换为PDF并添加水印、签名和盖章的方法。通过Apache POI读取Word内容,结合OpenPDF生成PDF文件,并利用PdfPageEvent接口实现页面水印与签名功能。代码示例清晰展示了转换流程及关键实现细节。
610 0
|
10月前
|
存储 安全 算法
Java 集合面试题 PDF 下载及高频考点解析
本文围绕Java集合面试题展开,详细解析了集合框架的基本概念、常见集合类的特点与应用场景。内容涵盖`ArrayList`与`LinkedList`的区别、`HashSet`与`TreeSet`的对比、`HashMap`与`ConcurrentHashMap`的线程安全性分析等。通过技术方案与应用实例,帮助读者深入理解集合类的特性和使用场景,提升解决实际开发问题的能力。文末附带资源链接,供进一步学习参考。
234 4
|
12月前
|
存储 JSON API
如何将 Swagger 文档导出为 PDF 文件
你会发现自己可能需要将 Swagger 文档导出为 PDF 或文件,以便于共享和存档。在这篇博文中,我们将指导你完成将 Swagger 文档导出为 PDF 格式的过程。
|
人工智能 文字识别 自然语言处理
1.6K star!这个开源文本提取神器,5分钟搞定PDF/图片/Office文档!
Kreuzberg 是一个基于 Python 的文本提取库,支持从 PDF、图像、Office 文档等 20+ 格式中提取文本内容。采用 MIT 开源协议,具备本地处理、异步架构、智能 OCR 等特性,特别适合需要隐私保护的文档处理场景。
1498 1
|
前端开发 Cloud Native Java
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
DeepSeek + Xmind,1分钟自动把pdf/word文档转成思维导图
DeepSeek与Xmind结合,1分钟将PDF、Word文档转换为思维导图。只需四步:上传文档至DeepSeek,请求转换为Markdown格式,保存文件并修改后缀为.md,最后导入Xmind生成思维导图。轻松驾驭复杂文档,适用于学习笔记、工作报告、项目规划等场景,大幅提升效率!
|
人工智能 编解码 文字识别
OCRmyPDF:16.5K Star!快速将 PDF 文件转换为可搜索、可复制的文档的命令行工具
OCRmyPDF 是一款开源命令行工具,专为将扫描的 PDF 文件转换为可搜索、可复制的文档。支持多语言、图像优化和多核处理。
1356 17
OCRmyPDF:16.5K Star!快速将 PDF 文件转换为可搜索、可复制的文档的命令行工具
|
JavaScript Java 测试技术
基于Java+SpringBoot+Vue实现的车辆充电桩系统设计与实现(系统源码+文档+部署讲解等)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
|
存储 运维 安全
《VERICUT 9.X电脑配置要求与安装说明(官方)》—— PDF文档
本文档详细介绍了 CGTech Vericut 9.X 的安装指南,涵盖安装前准备、安装流程、系统要求、故障排除、许可证配置及多种接口配置等内容,为用户提供全面的软件安装与配置指导。
790 3