java利用jacob将word转pdf

本文实例为大家分享了java开发利用jacob将word转pdf的具体代码,供大家参考,具体内容如下

jacob 缺点:需要 window 环境,而且速度是最慢的需要安装 msofficeWord 以及 SaveAsPDFandXPS.exe ( word 的一个插件,用来把 word 转化为 pdf )

开发流程:

SaveAsPDFandXPS 下载地址

jacob 包下载地址

1、先安装SaveAsPDFandXPS

2、下载 jacob 解压后存放路径:

jacob.jar 放在 C:\Program Files\Java\jdk1.8.0_171\jre\lib\ext目录下
jacob.dll 放在 C:\Program Files\Java\jdk1.8.0_171\jre\bin 目录下

实现代码如下:

package com.casf.hn.core.util;

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 以及 SaveAsPDFandXPS.exe (
 * word 的一个插件,用来把 word 转化为 pdf,可以不用安装,本次未安装测试通过 )
 *
 *
 *
 */
public class WordToPdf {

 private 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", sfileName).toDispatch();
   System.out.println("打开文档..." + sfileName);
   System.out.println("转换文档到 PDF..." + toFileName);
   File tofile = new File(toFileName);
   if (tofile.exists()) {
    tofile.delete();
   }
   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) {
  WordToPdf d = new WordToPdf();
  d.wordToPDF("D:\\cssj\\xxxx.doc", "D:\\cssj\\xxxx.pdf");
 }

}

运行结果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • java实现word文档转pdf并添加水印的方法详解

    本文实例讲述了java实现word文档转pdf并添加水印的方法.分享给大家供大家参考,具体如下: 前段时间,项目需要自动生成word文档,用WordFreeMarker生成word文档后,又要求生成的文档能在浏览器浏览,思来想去,把word文档转成pdf就好了,于是乎研究了一下. 将word文档转化为PDF是项目中常见的需求之一,目前主流的方法可以分为两大类,一类是利用各种Office应用进行转换,譬如Microsoft Office.WPS以及LiberOffice,另一种是利用各种语言提供的

  • java使用jacob.jar将word转pdf

    本文实例为大家分享了java利用jacob.jar将word转pdf的具体代码,供大家参考,具体内容如下 1.jacob.jar配置说明 JACOB 就是 JAVA-COM Bridge的缩写,提供自动化的访问com的功能,使用jacob.jar首先电脑要安装了office. 将jacob.jar jacob.jar导入到项目lib目录使用前,还要然后把jacob.bll放入C:\Windows\System32目录下,同时还要放入java/jdk/jre/bin目录下(选择bll文件的时候,如

  • Java使用jacob将微软office中word、excel、ppt转成pdf

    本文实例为大家分享了Java使用jacob将微软office文档转成pdf的具体代码,供大家参考,具体内容如下 在使用jacb前,我们需要去下载 jacob.jar 和 jacob-1.18-x64.dll 其次,我们需要将jacob-1.18-x64.dll放入到jdk的bin目录下才可以使用 第三,使用jacb之前,我们需要确保office能正常使用 如果你现在使用的是maven工程,那么不好意思,现在还没有发布正式的jacb资源文件,我们需要自定的maven依赖,如下: <dependen

  • Java使用poi将word转换为html

    使用poi将word转换为html,支持doc,docx,转换后可以保持图片.样式. 1.导入Maven包 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.14</version> </dependency> <dependency> <groupId>org.a

  • java使用jacob实现word转pdf

    背景:日常开发ERP系统,会有一些工单或者合同之类需要填写打印.我们就会将其word模板来通过系统自动化填写并转换为PDF格式(PDF文件打印可保证文件质量,是一种通用的格式.文件不易去修改,比较稳定).所以我们将通过jacob来实现这些功能. 准备工作: 1.服务器需要安装office2007,因为我们就是调用这个来实现转换. 2.需要安装插件jacob,安装jacob-1.14.3-x86.dll到jdk\jdk1.7.0\jre\bin(你自己电脑安装的jdk) 3.需要使用jacob-1

  • JAVA读取PDF、WORD文档实例代码

    读取PDF文件jar引用 <dependency> <groupid>org.apache.pdfbox</groupid> pdfbox</artifactid> <version>1.8.13</version> </dependency> 读取WORD文件jar引用 <dependency> <groupid>org.apache.poi</groupid> poi-scratch

  • java使用POI实现html和word相互转换

    项目后端使用了springboot,maven,前端使用了ckeditor富文本编辑器.目前从html转换的word为doc格式,而图片处理支持的是docx格式,所以需要手动把doc另存为docx,然后才可以进行图片替换. 一.添加maven依赖 主要使用了以下和poi相关的依赖,为了便于获取html的图片元素,还使用了jsoup: <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi&

  • java实现word文件转html文件

    最近在项目开发中用户提出要在电脑上没有装office时在浏览器中打开word文件,最后确定的逻辑:用户选择想要查看的文件,页面js判断文件是否为word.不是执行下载,是后端根据word文件后缀访问对应转换方法.文件已存在对应html文件直接返回html文件地址,不存在先生成对应html文件再返回地址.js直接通过open()打开新的页签,展示word文件内容.新人一枚,如果代码中存在错误或有更好的实现万望指正! 相关jar包 代码 import java.io.ByteArrayOutputS

  • Java实现将word转换为html的方法示例【doc与docx格式】

    本文实例讲述了Java实现将word转换为html的方法.分享给大家供大家参考,具体如下: public static void main(String[] args) throws Exception { String filePath = "C:/Users/Administrator/Desktop/92个诊疗方案及临床路径/"; File file = new File(filePath); File[] files = file.listFiles(); String nam

  • java利用jacob将word转pdf

    本文实例为大家分享了java开发利用jacob将word转pdf的具体代码,供大家参考,具体内容如下 jacob 缺点:需要 window 环境,而且速度是最慢的需要安装 msofficeWord 以及 SaveAsPDFandXPS.exe ( word 的一个插件,用来把 word 转化为 pdf ) 开发流程: SaveAsPDFandXPS 下载地址 jacob 包下载地址: 1.先安装SaveAsPDFandXPS 2.下载 jacob 解压后存放路径: jacob.jar 放在 C:

  • Java 使用openoffice进行word转换为pdf的方法步骤

    一.下载openoffice第三方工具 建议下载4.1.6版本 http://www.openoffice.org/download/index.html 二.开启openoffice服务 找到openoffice安装目录下OpenOffice 4\program>soffice运行cmd,运行命令soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard 三.Java代

  • 利用Jacob将Excel转换PDF的问题汇总

    目录 前言 问题一.Excel数据列较多时,PDF中列打印不全, 问题二.大量数据时,PDF页模糊解决 总结 前言 好久不见,分享一个近期在项目开发中遇到的一个新问题,关于使用easyexcel生成Excel,并且使用jacob转换成PDF的需求,最开始的时候在网上找了一些相关的教程,经过筛选之后发现还是使用jacob调用office软件来进行转换是最可靠的.然后就和大家出了一篇关于使用jacob将Excel文件转换PDF的教程,Excel转换PDF两种方法总结 但是后来我在实践操作中发现,原来

  • 利用python程序生成word和PDF文档的方法

    一.程序导出word文档的方法 将web/html内容导出为world文档,再java中有很多解决方案,比如使用Jacob.Apache POI.Java2Word.iText等各种方式,以及使用freemarker这样的模板引擎这样的方式.php中也有一些相应的方法,但在python中将web/html内容生成world文档的方法是很少的.其中最不好解决的就是如何将使用js代码异步获取填充的数据,图片导出到word文档中. 1. unoconv 功能: 1.支持将本地html文档转换为docx

  • Java利用openoffice将doc、docx转为pdf实例代码

    本文研究的主要是Java编程利用openoffice将doc.docx转为pdf的实现代码,具体如下. 1. 需要用的软件 OpenOffice , JodConverter 2.启动OpenOffice的服务 我到网上查如何利用OpenOffice进行转码的时候,都是需要先用cmd启动一个soffice服务,启动的命令是:soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;". 但是实际上,对于我的项目,进行转

  • java利用pdfbox+poi往pdf插入数据

    目录 指定页码插入/替换 思路1(插入): 思路2(替换): 啰嗦几句 总结 指定页码插入/替换 pdfbox好像没有专门提供这个方法,但是现有的方法多重组合起来也能实现这个功能, 需求:一个pdf文件A有10页,现在想在第6页插入一页新的pdf文件B,插入完成后整个pdf文件A变成11页. 思路1(插入): 先将这个10的pdf拆分成10个1页的pdf,按顺序放好,文件名分别是:1.pdf.2.pdf....10.pdf.再拆分到第6页的时候将文件B放进来,重命名问6.pdf,原本pdf文件A

  • Java实现无损Word转PDF的示例代码

    目录 前言 word转pdf实现思路 项目远程仓库 Maven项目pom文件依赖 核心代码实现 结果分析 前言 本来想写word转pdf和pdf转word的代码呢,没想到word转pdf就写了很多很多行代码才实现,为了方便大家消化理解,先写了word转pdf方法实现作为一篇文章. word转pdf实现思路 代码实现主要依赖两个第三方jar包,一个是pdfbox,一个是aspose-words.pdfbox包完全开源免费,aspose-words免费版生成有水印,且生成数量有限制.单纯用pdfbo

随机推荐