Java 将word转为pdf jacob方式

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

时间: 2024-10-26 00:02:17

Java 将word转为pdf jacob方式的相关文章

java 将word转为PDF (100%与word软件转换一样)

jdk环境:jdk_8.0.1310.11_64    (64位) 1.引入pom文件 <!-- word转pdf(依赖microsoft) --> <dependency> <groupId>com.jacob</groupId> <artifactId>jacob</artifactId> <version>1.18</version> </dependency> 2.下载jar文件,手动添加至

[原创]java实现word转pdf

最近遇到一个项目需要把word 转成pdf,百度了一下网上的方案有很多,比如虚拟打印.给word 装扩展插件等,这些方案都依赖于ms word 程序,在java代码中也得使用诸如jacob或jcom这类java com bridge,使得服务器开发受限于win平台,而且部署起来也很麻烦.后来在某论坛看到了一个openoffice+jodconverter的转换方案,可以完成word到PDF的转换工作,服务器开发端需要安装openoffice,但是需求一步额外的操作--需要在服务器开发上的某个端口

Java 将Excel转为PDF

Java 将Excel转为PDF 本文将介绍在Java程序中如何将Excel工作簿转为PDF文档的,包括: 将整个工作簿转为PDF 将指定工作表转为PDF 使用工具:Free Spire.XLS for Java (免费版) Jar文件下载及导入: 方法1:通过官网下载.下载后,解压文件,将lib文件夹下的Spire.Xls.jar文件导入Java程序. 方法2:通过maven仓库导入 JAVA代码示例 [示例1]将整个工作簿转为PDF Java代码  收藏代码 import com.spire

教你用Java 将Excel转为PDF

Java 将Excel转为PDF本文将介绍在Java程序中如何将Excel工作簿转为PDF文档的,包括:将整个工作簿转为PDF将指定工作表转为PDF使用工具:Free Spire.XLS for Java (免费版) Jar文件下载及导入:方法1:通过官网下载.下载后,解压文件,将lib文件夹下的Spire.Xls.jar文件导入Java程序.方法2:通过maven仓库导入 JAVA代码示例[示例1]将整个工作簿转为PDFJava代码 收藏代码import com.spire.xls.*; pu

java导出word的6种方式(复制来的文章)

来自: http://www.cnblogs.com/lcngu/p/5247179.html 最近做的项目,需要将一些信息导出到word中.在网上找了好多解决方案,现在将这几天的总结分享一下. 目前来看,java导出word大致有6种解决方案: 1:Jacob是Java-COM Bridge的缩写,它在Java与微软的COM组件之间构建一座桥梁.使用Jacob自带的DLL动态链接库,并通过JNI的方式实现了在Java平台上对COM程序的调用.DLL动态链接库的生成需要windows平台的支持.

java实现word转pdf在线预览(前端使用PDF.js;后端使用openoffice、aspose)

背景 之前一直是用户点击下载word文件到本地,然后使用office或者wps打开.需求优化,要实现可以直接在线预览,无需下载到本地然后再打开. 随后开始上网找资料,网上资料一大堆,方案也各有不同,大概有这么几种方案: 1.word转html然后转pdf 2.Openoffice + swftools + Flexmapper + jodconverter 3.kkFileView 分析之后最后决定使用Openoffice+PDF.js方式实现 环境搭建 1.安装Openoffice,下载地址:

[原创]java导出word的5种方式

在网上找了好多天将数据库中信息导出到word中的解决方案,现在将这几天的总结分享一下.总的来说,java导出word大致有5种解决方案: 1:Jacob是Java-COM Bridge的缩写,它在Java与微软的COM组件之间构建一座桥梁.通过Jacob实现了在Java平台上对微软Office的COM接口进行调用. 优点:调用微软Office的COM接口,生成的word文件格式规范. 缺点:服务器只能是windows平台,不支持unix和linux,且服务器上必须安装微软Office. 2:Ap

Word转PDF非常好用的软件&mdash;&mdash;pdfFactory Pro

pfdFactory Pro把word转为pdf的操作步骤: 1.打开将要转换的word的文档: 2.文件--->打印: 弹出如下对话框: 单击确定后弹出: Word转PDF非常好用的软件——pdfFactory Pro

PDF转Word、Word转PDF技巧

随着PDF文件的流行,与之相关的PDF转Word.Word转PDF的操作在日常办公中也是比较常见了,PDF转Word的方法也比较多,今天就给大家分享一种简单的转换文档格式的方法. 1.先打开手机,在手机应用市场上搜索"PDF转换大师",找到这个软件后,将其下载到安卓手机上. 2.然后打开软件,在软件上面有两个不同的转换功能,如果是将PDF转Word,点击上面的"PDF转其他格式",选择这项功能. 3.接着再找到想要转换的PDF文件,可在"全部文件"