使用jacob将word转换成pdf格式
 
1.需要安装word2007或以上版本,若安装07版本学确保该版本已安装2downbank0204MicrosoftSaveasPDF_ XPS,否则安装2downbank0204MicrosoftSaveasPDF_ XPS。office10以上版本自带2downbank0204MicrosoftSaveasPDF_ XPS无需手动安装
2.windows32位环境下需要jacob-1.14.3-x86.dll
 windows64位需要jacob-1.14.3-x64 ,放在tomcat的bin目录下
 
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Date;
import java.util.HashMap;
import java.util.Map; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant; /**
* 将word文件转换成PDF
* 需要 Microsoft Save as PDF or XPS 插件
* @param args
*/ public static void word2pdf(String docfile,String toFile ){
//String docfile = "D:\\TMP\\2014D00021.doc";
//String toFile = "D:\\TMP\\2014D00021.pdf";
ActiveXComponent app = new ActiveXComponent("Word.Application");
try {
app.setProperty("Visible", new Variant(false));
Dispatch docs = app.getProperty("Documents").toDispatch();
Dispatch doc = Dispatch.invoke(
docs,
"Open",
Dispatch.Method,
new Object[] { docfile, new Variant(false),
new Variant(true) }, new int[1]).toDispatch();
File file1 = new File(toFile);
File file2 = new File(toFile + ".pdf");
if (file1.exists()) {
file1.delete();
}
if (file2.exists()) {
file2.delete();
}
Dispatch.invoke(doc, "SaveAs", Dispatch.Method, new Object[] {
toFile, new Variant(17) }, new int[1]);
Variant f = new Variant(false);
Dispatch.call(doc, "Close", f);
log.info("-----------------------------------转换成功:" + toFile);
} catch (Exception e) {
e.printStackTrace();
log.info("-------------------------------------转换失败:" + docfile + ", " + e.getMessage());
} finally {
app.invoke("Quit", new Variant[] {});
} }

【文件】使用jacob将word转换成pdf格式的更多相关文章

  1. C#将Word转换成PDF方法总结(基于Office和WPS两种方案)

    有时候,我们需要在线上预览word文档,当然我们可以用NPOI抽出Word中的文字和表格,然后显示到网页上面,但是这样会丢失掉Word中原有的格式和图片.一个比较好的办法就是将word转换成pdf,然 ...

  2. dvi文件和将dvi文件转换成pdf格式

    dvi文件和将dvi文件转换成pdf格式 Latex只能把tex文件编译成dvi文件, 在cmd 中: 使用xdvi查看dvi格式的文件 若用texstudio编辑tex文件,则可直接将已编译成功的. ...

  3. DWG文件怎么转换成PDF格式

    在CAD中,设计师们绘制的图纸都是以dwg文件来进行保存的.Dwg文件是不能够直接进行打开查看的,就需要将其格式进行转换一下.将dwg文件转换为PDF格式的进行查看.那具体要怎么来进行操作呢?下面小编 ...

  4. ABBYY如何把图片转换成pdf格式

    在制作工作文件的时候,有时候会遇到需要进行文件格式转换的情况,比较常见的文件格式转换就包含了Office与pdf格式之间的转换.但除此之外,图片与pdf格式也是可以进行转换的,那么图片要怎么操作,才能 ...

  5. Python3 将configparser从ini文件中读取的内容转换成字典格式

    因为写脚本的用到了,所以研究了下怎么将configparser从ini文件中读取的内容转换成字典格式. 整理一下,希望能对大家有帮助. 从http://stackoverflow.com/questi ...

  6. java-使用Jacob实现office转换成pdf

    参考路径: https://blog.csdn.net/csdnFlyFun/article/details/79523262#commentBox Jacob组件下载地址:https://sourc ...

  7. linux环境php将word转换成pdf

    原文地址:http://www.niu12.com/article/15 ubuntu.java环境.openoffice.jodConverter.php 1.安装java环境 a. jdk下载(我 ...

  8. ofd格式文件转换成pdf格式的方法

    ofd格式文件很多人还比较陌生,很多人接收到文件都不知如何打开阅读,把文件发给对方,还需要对方安装个专门的阅读软件,我们还有另一个办法,就是将OFD文件转换为PDF格式文件,然后把PDF格式文件发给对 ...

  9. C# word文档转换成PDF格式文档

    最近用到一个功能word转pdf,有个方法不错,挺方便的,直接调用即可,记录下 方法:ConvertWordToPdf(string sourcePath, string targetPath) so ...

随机推荐

  1. codeforces 1051 D. Bicolorings (DP)

    D. Bicolorings time limit per test 2 seconds memory limit per test 256 megabytes input standard inpu ...

  2. python中lambda表达式中自由变量的坑,因为for循环结束了 变量还保存着,详见关于for循环的随笔

    http://blog.csdn.net/u010949971/article/details/70045537

  3. codeforces580C

    Kefa and Park CodeForces - 580C 一棵以1为根的树,树上有些点是红的.一个叶子是合法的当且仅当从根到它的路径上出现的连续红点个数不超过m.求有多少个叶子是合法的.Inpu ...

  4. Centos7 ping 未知的名称或服务 DNS 配置问题

    通常解析不了域名一般都是DNS域名配置有问题 对接口添加dns信息:编辑/etc/sysconfig/network-scripts/ifcfg-ethxxxxxxx,x可能是其他数字,但一般是ifc ...

  5. day28 property 装饰器

    方法属性装饰器 本质上来说就是将方法的执行括号去掉,这样将一个方法掩饰成了一个变量名字,变成了类似属性的东西内置装饰器函数,只在面向对象中使用 from math import pi class Cr ...

  6. 洛谷P4768 [NOI2018]归程(可持久化并查集,最短路)

    闲话 一个蒟蒻,在网络同步赛上进行了这样的表演-- T2组合计数不会,T3字符串数据结构不会,于是爆肝T1 一开始以为整个地图都有车,然后写了2h+的树套树,终于发现样例过不去 然后写可持久化并查集D ...

  7. 自学Linux Shell11.5-执行数字运算

    点击返回 自学Linux命令行与Shell脚本之路 11.5-执行数字运算 1. Shell基本运算符 Shell 和其他编程语言一样,支持多种运算符,包括: 算数运算符 关系运算符 布尔运算符 字符 ...

  8. 【BZOJ2229】[ZJOI2011]最小割(网络流,最小割树)

    [BZOJ2229][ZJOI2011]最小割(网络流,最小割树) 题面 BZOJ 洛谷 题解 戳这里 那么实现过程就是任选两点跑最小割更新答案,然后把点集划分为和\(S\)联通以及与\(T\)联通. ...

  9. pacman安装软件包出现损坏

    状况 File .pkg.tar.xz is corrupted (invalid or corrupted package (PGP signature)).Do you want to delet ...

  10. A1036. Boys vs Girls

    This time you are asked to tell the difference between the lowest grade of all the male students and ...