博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 将word转为pdf jacob方式
阅读量:6914 次
发布时间:2019-06-27

本文共 2339 字,大约阅读时间需要 7 分钟。

package com.doctopdf;import java.io.File;import com.jacob.activeX.ActiveXComponent;import com.jacob.com.ComThread;import com.jacob.com.Dispatch;import com.jacob.com.Variant;/** * 效果最好的一种方法,但是需要 window 环境,而且速度是最慢的需要安装 msofficeWord  *  * 下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=7  * jacob 包下载地址:http://sourceforge.net/projects/jacob-project/ * 将解压出来的文件 * jacob.jar 放在 E:\jdk1.8.0_14\jre\lib\ext   这里使用自己的jdk安装位置 * jacob.dll 放在 E:\jdk1.8.0_14\jre\bin       这里使用自己的jdk安装位置    * 如果没放或者放错位置,将出现报错   * 注: x86是指32位系统 *    x64是指64位系统 *  * @author u Y * 支持doc  docx文件转pdf */public class DocToPdf {    private static final int wdFormatPDF = 17; // PDF 格式    17表示word转pdf 44表示execl转html    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", sfileName).toDispatch();            System.out.println("打开文档..." + sfileName);            System.out.println("转换文档到 PDF..." + toFileName);            File tofile = new File(toFileName);            if (tofile.exists()) {                tofile.delete();            }            // 作为 html 格式保存到临时文件: 17表示word转pdf 44表示execl转html            Dispatch.call(doc, "SaveAs", toFileName, // FileName                    wdFormatPDF);                      long end = System.currentTimeMillis();//转换结束时间            System.out.println("转换完成..用时:" + (end - start) + "ms.");        } catch (Exception e) {            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) {        DocToPdf d = new DocToPdf();        d.wordToPDF("C:\\Users\\Administrator\\Desktop\\毕业设计表结构设计.docx", "C:\\Spring.pdf");    }}

需要添加    jacob.jar

转载于:https://www.cnblogs.com/woshuaile/p/8458263.html

你可能感兴趣的文章
从普通程序员到身价过百亿:追求长期价值的耐心,决定了你能走多远 原
查看>>
回顾2017,容器圈热闹的一年
查看>>
spring cloud构建互联网分布式微服务云平台-服务提供与调用
查看>>
python爬虫系列(3.7-使用 bs4 爬取获取贵州农产品)
查看>>
雷声大雨点小,廖翔廖翔你真diao
查看>>
php-fpm服务启动脚本
查看>>
记jpa、json问题之:handler and unable to find...by id ..
查看>>
深度优先和广度优先遍历及其 Java 实现
查看>>
CentOS6.5安装OCSNG2.1.1.1+GLPI0.85—GLPI安装(二)
查看>>
“师傅”与“师父”
查看>>
mybatis错误:[Err] 1064 - You have。。。。 the right syntax to use near 'Delete)
查看>>
Hadoop伪分布式搭建
查看>>
SSL
查看>>
mysql内置函数
查看>>
邮件发送问题
查看>>
30年分布,30年集中——高校认证计费的变革
查看>>
我的友情链接
查看>>
es中的分片查询方式
查看>>
使用Cobbler2.4.0批量自动安装Esxi5.5
查看>>
我的友情链接
查看>>