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类的源代码
 public class MsOffice2Pdf {
     static final int wdDoNotSaveChanges = 0;// 不保存待定的更改。
     public static final int wdFormatPDF = 17;// word转PDF 格式
     public static final int ppSaveAsPDF = 32;// ppt 转PDF 格式  
     /**
      * 将指定路径的word文档转换成指定路径的pdf文档
      * 此处路径为绝对路径
     * @Title: word2PDF
     * @Description: TODO(这里用一句话描述这个方法的作用)
     * @param inputFile
     * @param pdfFile
     * @return void    返回类型
     * @author 尚晓飞
     * @date 2014-8-15 上午10:25:47
      */
     public static void word2PDF(String inputFile,String pdfFile){
         System.out.println("启动Word");
         long start = System.currentTimeMillis();
         ActiveXComponent app = null;
         try {
             app = new ActiveXComponent("Word.Application");
             app.setProperty("Visible", false);  
             Dispatch docs = app.getProperty("Documents").toDispatch();
             System.out.println("打开文档" +inputFile);
             Dispatch doc = Dispatch.call(docs,//
                     "Open", //
                     inputFile,// FileName
                     false,// ConfirmConversions
                     true // ReadOnly
                     ).toDispatch();  
             System.out.println("转换文档到PDF " + pdfFile);
             File tofile = new File(pdfFile);
             if (tofile.exists()) {
                 tofile.delete();
             }
             Dispatch.call(doc,//
                     "SaveAs", //
                     pdfFile, // FileName
                     wdFormatPDF);  
             Dispatch.call(doc, "Close", false);
             long end = System.currentTimeMillis();
             System.out.println("转换完成..用时:" + (end - start) + "ms.");
         } catch (Exception e) {
             System.out.println("========Error:文档转换失败:" + e.getMessage());
         } finally {
             if (app != null)
                 app.invoke("Quit", wdDoNotSaveChanges);
         }  
     }
     /**
      * 将ppt格式的msoffice文档转换成pdf格式的文档
     * @Title: ppt2pdf
     * @Description: TODO(这里用一句话描述这个方法的作用)
     * @param inputFile
     * @param pdfFile
     * @return void    返回类型
     * @author 尚晓飞
     * @date 2014-8-18 下午2:00:21
      */
     public static void ppt2pdf(String inputFile,String pdfFile){
         System.out.println("启动PPT");
         long start = System.currentTimeMillis();
         ActiveXComponent app = null;
         try {
             app = new ActiveXComponent("Powerpoint.Application");
             Dispatch presentations = app.getProperty("Presentations").toDispatch();
             System.out.println("打开文档" + inputFile);
             Dispatch presentation = Dispatch.call(presentations,//
                     "Open",
                     inputFile,// FileName
                     true,// ReadOnly
                     true,// Untitled 指定文件是否有标题。
                     false // WithWindow 指定文件是否可见。
                     ).toDispatch();  
             System.out.println("转换文档到PDF " + pdfFile);
             File tofile = new File(pdfFile);
             if (tofile.exists()) {
                 tofile.delete();
             }
             Dispatch.call(presentation,//
                     "SaveAs", //
                     pdfFile, // FileName
                     ppSaveAsPDF);  
             Dispatch.call(presentation, "Close");
             long end = System.currentTimeMillis();
             System.out.println("转换完成..用时:" + (end - start) + "ms.");
         } catch (Exception e) {
             System.out.println("========Error:文档转换失败:" + e.getMessage());
         } finally {
             if (app != null) app.invoke("Quit");
         }
     }  
 }
java实现MsOffice文档向pdf文档转化的更多相关文章
- Java实现office文档与pdf文档的在线预览功能
		最近项目有个需求要java实现office文档与pdf文档的在线预览功能,刚刚接到的时候就觉得有点难,以自己的水平难以在三四天做完.压力略大.后面查找百度资料.以及在同事与网友的帮助下,四天多把它做完 ... 
- java操作office和pdf文件java读取word,excel和pdf文档内容
		在平常应用程序中,对office和pdf文档进行读取数据是比较常见的功能,尤其在很多web应用程序中.所以今天我们就简单来看一下Java对word.excel.pdf文件的读取.本篇博客只是讲解简单应 ... 
- Java实现web在线预览office文档与pdf文档实例
		https://yq.aliyun.com/ziliao/1768?spm=5176.8246799.blogcont.24.1PxYoX 摘要: 本文讲的是Java实现web在线预览office文档 ... 
- JSP生成WORD文档,EXCEL文档及PDF文档的方法
		转自:https://www.jb51.net/article/73528.htm 本文实例讲述了JSP生成WORD文档,EXCEL文档及PDF文档的方法.分享给大家供大家参考,具体如下: 在web- ... 
- Java使用wkhtmltox实现HTML代码生成PDF文档或者图片
		由于项目需要,把HTML代码转为PDF或者图片进行保存.最开始使用Flying Saucer来把HTML代码生成为PDF文档,功能已经开发出来了,也能够完成转换功能,期间也遇到了中文支持以及图片路径的 ... 
- JAVA使用itext根据模板生成PDF文档
		1.制作PDF模板 网址打开:https://www.pdfescape.com/open/ 我们这里先在线上把基础的内容用word文档做好,然后转成PDF模板,直接上传到网站上,这样方便点 假设我们 ... 
- libreoffice实现WORD文档转PDF文档
		一.安装LibreOffice 官网:http://www.libreoffice.org/ 二.CentOS安装yum yum install libreoffice 三.执行转换命令 libreo ... 
- libreoffice转office文档为pdf文档
		libreoffice5.0 --invisible --convert-to pdf:writer_pdf_Export --outdir "/root/" "bb. ... 
- 【PDF】java使用Itext生成pdf文档--详解
		[API接口] 一.Itext简介 API地址:javadoc/index.html:如 D:/MyJAR/原JAR包/PDF/itext-5.5.3/itextpdf-5.5.3-javadoc/ ... 
随机推荐
- BabelMap 10.0.0.3 汉化版已经发布
			新的 BabelMap 在日前发布. 新版本增加了字符书签的管理功能,以及将窗口最小化到系统通知栏(时钟区域)的功能. 请点击主页左上角进入下载页面下载. 
- 20145202马超 2016-2017-2 《Java程序设计》第8周学习总结
			20145202马超 2016-2017-2 <Java程序设计>第8周学习总结 教材学习内容总结 第十四章 NIO与NIO2 NIO使用频道(channel)来衔接数据节点,对数据区的标 ... 
- Adobe AIR中使用Flex连接Sqlite数据库(1)(创建数据库和表,以及同步和异步执行模式)
			系列文章导航 Adobe AIR中使用Flex连接Sqlite数据库(1)(创建数据库和表) Adobe AIR中使用Flex连接Sqlite数据库(2)(添加,删除,修改以及语句参数) Adobe ... 
- java fastjson 设置全局输出name最小化
			1.通过自定义Filter实现 https://github.com/alibaba/fastjson/wiki/SerializeFilter public class JackJsonLowCas ... 
- 面试官问:JS的this指向
			前言 面试官出很多考题,基本都会变着方式来考察this指向,看候选人对JS基础知识是否扎实.读者可以先拉到底部看总结,再谷歌(或各技术平台)搜索几篇类似文章,看笔者写的文章和别人有什么不同(欢迎在评论 ... 
- linux及安全第八周总结——20135227黄晓妍
			实验部分 实验环境搭建 -rm menu -rf git clone https://github.com/megnning/menu.git cd menu make rootfs qemu -ke ... 
- 20145326《Java程序设计》第二周学习总结
			20145326<Java程序设计>第二周学习总结 教材学习内容总结 本周学习教材第三章,本章主要讲述了java语言中的一些基础语法,java是个支持面向对象的程序语言,但在正式进入面向对 ... 
- 初识PHP(三)面向对象特性
			PHP5开始支持面向对象的编程方式.PHP的面向对象编程方法和别的语言区别不大,下面对PHP面向编程基本语法进行简单记录. 一.声明对象 声明方法: class Say{ public functio ... 
- ISSCC 2017论文导读 Session 14: A 28nm SoC with a 1.2GHz Prediction Sparse Deep-Neural-Network Engine
			A 28nm SoC with a 1.2GHz 568nJ/Prediction Sparse Deep-Neural-Network Engine with >0.1 Timing Erro ... 
- R语言绘制正太分布图,并进行正太分布检验
			正态分布 判断一样本所代表的背景总体与理论正态分布是否没有显著差异的检验. 方法一概率密度曲线比较法 看样本与正太分布概率密度曲线的拟合程度,R代码如下: #画样本概率密度图s-rnorm(100 ... 
