文档章节

java使用jacob word 转pdf

大号没有了
 大号没有了
发布于 2015/07/28 11:50
字数 285
阅读 402
收藏 0

首先我自己的环境是windows xp ,office2007 ,jdk1.5;

1.先下载office2007 能另存为pdf的插件 SaveAsPDFandXPS.exe 安装。(纠结了好久才知道要安装这个插件,否则无法调用SaveAs方法)

2.下载jacob,位置如下:

jacob.jar 放在 E:\jdk1.5.0_14\lib
jacob.dll 放在 E:\jdk1.5.0_14\bin
源代码如下:

package test.jacob;

import java.io.File;

import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.ComThread;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant;

public class Test {
    static final int wdFormatPDF = 17;// PDF 格式  
    public void wordToPDF(String sfileName,String toFileName){  
          
        System.out.println("启动Word...");    
        long start = System.currentTimeMillis();    
        ActiveXComponent app = null;
        Dispatch doc = null;
        try {    
            app = new ActiveXComponent("Word.Application");    
            app.setProperty("Visible", new Variant(false));
            Dispatch docs = app.getProperty("Documents").toDispatch(); 
//          doc = Dispatch.call(docs,  "Open" , sourceFile).toDispatch(); 
            doc = Dispatch.invoke(docs,"Open",Dispatch.Method,new Object[] {                  
               sfileName, new Variant(false),new Variant(true) }, new int[1]).toDispatch();             
            System.out.println("打开文档..." + sfileName);
            System.out.println("转换文档到PDF..." + toFileName);    
            File tofile = new File(toFileName);    
            if (tofile.exists()) {    
                tofile.delete();    
            }      
//          Dispatch.call(doc, "SaveAs",  destFile,  17);                  
            Dispatch.invoke(doc, "SaveAs", Dispatch.Method, new Object[] {              
                toFileName, new Variant(17) }, new int[1]);  
            long end = System.currentTimeMillis();    
            System.out.println("转换完成..用时:" + (end - start) + "ms.");              
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("========Error:文档转换失败:" + e.getMessage());    
        } finally {
            Dispatch.call(doc,"Close",false);
            System.out.println("关闭文档");
            if (app != null)    
                app.invoke("Quit", new Variant[] {});    
            }
          //如果没有这句话,winword.exe进程将不会关闭
           ComThread.Release();   
    }
    public static void main(String[] args) {
        Test d = new Test();
        d.wordToPDF("d:\\ftp\\aaa.docx", "d:\\ftp\\aaa.pdf");
    }

}


本文转载自:http://blog.csdn.net/niuhea/article/details/8611359

共有 人打赏支持
大号没有了
粉丝 2
博文 64
码字总数 6228
作品 0
合肥
私信 提问
Centos下安装类百度文库环境

使用php实现百度文库功能,网上搜索到的方案,实现doc转pdf,pdf转swf,然后显示出来。 这里简单的记录下,【doc转pdf,pdf转swf】两个功能的搭建流程。 doc转pdf 使用到下列程序(文件): Ap...

DragonFK
2013/02/20
0
1
JAVA实现调用打印机打印PDF

JAVA实现调用打印机打印PDF,网上搜索了一大把资料,基本上都是重复。。。下面骂人的一大堆。。我这里来解决一下。 需求:前端调用用接口 后端根据模版生成数据联通打印机直接一键打印! 思路...

jason_kiss
2018/12/27
0
0
Aspose.Slides for Java 7.7.0 发布

Aspose.Slides for Java 7.7.0 主要是维护版本,修复一些渲染方面的问题;此外解决 Tomcat 环境下使用 JDK 1.6_45 的问题;解决转 PDF 文档的渲染问题等等。 Aspose.Slides for Java 是一个 ...

oschina
2013/08/30
875
0
JAVA强制删除文件

JAVA用jacob把word转pdf之后,确定这个pdf文件不再使用之后,如何进行强制删除。一般file.delete()的删除不了,因为显示的该文件还被JAVA进程占用,求大神指导如何强制删除...

逝风123
2013/10/25
2.7K
6
icepdf遇到JPEG 2000 images的问题?

在使用ICEpdf将pdf转化图片的时候,遇到这个问题》 五月 14, 2015 5:10:35 下午 org.icepdf.core.pobjects.ImageStream jpxDecode 信息: ImageIO missing required plug-in to read JPEG 200......

八一菜刀
2015/05/14
427
1

没有更多内容

加载失败,请刷新页面

加载更多

一致性hash和虚拟节点

consistent hashing 算法的原理 consistent hashing 是一种 hash 算法,简单的说,在移除 / 添加一个 cache 时,它能够尽可能小的改变已存在key 映射关系,尽可能的满足单调性的要求。 下面就...

群星纪元
19分钟前
2
0
说一下Dubbo 的工作原理?注册中心挂了可以继续通信吗?

面试题 说一下的 dubbo 的工作原理?注册中心挂了可以继续通信吗?说说一次 rpc 请求的流程? 面试官心理分析 MQ、ES、Redis、Dubbo,上来先问你一些思考性的问题、原理,比如 kafka 高可用架...

李红欧巴
30分钟前
19
0
腾讯面试:一条SQL语句执行得很慢的原因有哪些?

说实话,这个问题可以涉及到 MySQL 的很多核心知识,可以扯出一大堆,就像要考你计算机网络的知识时,问你“输入URL回车之后,究竟发生了什么”一样,看看你能说出多少了。 之前腾讯面试的实...

java菜分享
48分钟前
11
0
Java 基本功 之 CAS

本文首发于个人公众号《andyqian》, 期待你的关注! 前言 在Java并发编程中,我们经常使用锁对竞争资源予以并发控制,以解决资源竞争的问题。但无论是使用 Lock 还是 Synchronized,随着锁机...

andyqian
52分钟前
4
0
信号量与条件变量的区别

注意信号量与条件变量的区别 信号量内容可见:http://www.cnblogs.com/charlesblc/p/6142868.html 信号量、共享内存,以及消息队列等System V IPC三剑客主要关注进程间通信; 而条件变量、互...

shzwork
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部