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/ ...
随机推荐
- 20145302张薇 《网络对抗技术》逆向及BOF基础实践
20145302张薇 <网络对抗技术>逆向及BOF基础实践 实验内容 实践对象:名为20145302的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单 ...
- Python3基础 三元运算符 简单示例
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- c语言 找最小值
#include <stdio.h> #define N 10 #define MIN(X,Y) ((X<Y)?(X):(Y)) int f(int arr[],int len,in ...
- R语言绘制正太分布图,并进行正太分布检验
正态分布 判断一样本所代表的背景总体与理论正态分布是否没有显著差异的检验. 方法一概率密度曲线比较法 看样本与正太分布概率密度曲线的拟合程度,R代码如下: #画样本概率密度图s-rnorm(100 ...
- JSP 日期处理
JSP 日期处理 使用JSP最重要的优势之一,就是可以使用所有Java API.本章将会详细地讲述Java中的Date类,它在java.util包下,封装了当前日期和时间. Date类有两个构造函数. ...
- Android------个人项目(歆语气象通)
歆语气象通: 歆语气象伴随你的身边,便捷生活. 包含了以下功能: 1. 天气预报数据覆盖中国城市和地区:2. 提供一周天气预报及最低最高温度,时刻关注天气,轻松计划出行:3. 各种指数详细信息,如太阳 ...
- Android Eclipse keystore.jks文件生成,根据keystore密钥获取SHA1安全码 ,apk打包
keystore.jks文件生成,打包APK 选中项目右键-> Android Tools->Export Signed Application Package ,如图: 之后 点击Nex ...
- Excel导入oracle库
Excel导入oracle库 建表 /*==============================================================*/ /* DBMS nam ...
- C primer plus 5 读书笔记2
1..字符串的输入:scanf()在读入时,当遇到空白字符空格blank.制表符tab.换行符newline时停止读取.一般使用gets(),来输入字符串. 2.strlen(),一字符为单位输出输出 ...
- mysql中limit的用法详解[数据分页常用]
在我们使用查询语句的时候,经常要返回前几条或者中间某几行的数据,这个时候怎么办呢?不用担心,mysql已经为我们提供了这样一个功能. SELECT * FROM table LIMIT [offset ...