使用jacob打印word或excel

在看PDF打印的时候顺便也看了看word和excel的打印,这里只简单的知道如何使用,原理没有深究~

首先这里只说打印,至于生成word或者excel,可以使用poi(jacob貌似也可以)

JACOB是一个 JAVA到微软的COM接口的桥梁。使用JACOB允许任何JVM访问COM对象,从而使JAVA应用程序能够调用COM对象。如果你要对 MS Word、Excel 进行处理,JACOB 是一个好的选择。

而关于打印的话,总结起来有这么几个步骤。

1、使用Jacob创建 ActiveX部件对象:

ActiveXComponent wd = new ActiveXComponent("Word.Application");

2、打开Word文档

Dispatch.put(wd, "Visible", new Variant(true));
// 这里Visible是控制文档打开后是可见还是不可见,若是静默打印,那么第三个参数就设为false就好了
Dispatch document = wd.getProperty("Documents").toDispatch();
Dispatch doc = Dispatch.invoke(document, "Open", Dispatch.Method,
		new Object[] { filePath }, new int[1]).toDispatch();

3、设置打印机

wd.setProperty("ActivePrinter", new Variant("pdfFactory Pro"));

第二个参数即为打印机的name

4、设置打印参数并打印

Dispatch.callN(doc, "PrintOut", new Object[]{});

5、最后关闭Word文档

wd.invoke("Quit", new Variant[] {});

到这里,利用jacob打印就实现了,并且只要将第一步中创建的ActiveX部件对象改成Excel.Application就可以实现Excel的打印了

这里在说点题外话,之前说了jacob还可以操作word和excel,这里简单提一下

可以看到在上面的第2步中,我们使用“open”打开了一个现有的word文档,如果改用“add”,那么我们就可以新建一个文档了

Dispatch document = Dispatch.call(documents, "Add").toDispatch(); // 使用Add命令创建一个新文档

Dispatch wordContent = Dispatch.get(document, "Content").toDispatch(); // 取得word文件的内容

Dispatch.call(wordContent, "InsertAfter", "这里是一个段落的内容");//插入一个段

另外需要注意的是,在使用jacob时,不仅需要添加jacob的jar包,在java安装目录下的bin目录中也要复制jacob的dll文件,否则会报错:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no jacob-1.14.3-x86 in java.library.path

时间: 2024-08-06 23:51:28

使用jacob打印word或excel的相关文章

Java使用Jacob将Word、Excel、PPT转化成PDF

使用Jacob将金山WPS转化成PDF,其中WPS文字使用KWPS.Aplication.Excel表格是KET.Application.演示文档是KWPP.Application,废话不多说,直接上代码: 1 import com.jacob.activeX.ActiveXComponent; 2 import com.jacob.com.ComThread; 3 import com.jacob.com.Dispatch; 4 import com.jacob.com.Variant; 5

主题:jacob操作word excel

项目开发过程中,需求涉及到了各种文档转换为HTML或者网页易显示格式,现在将实现方式整理如下:  一.了解Jacob 先了解一下概念,JACOB 就是 JAVA-COM Bridge的缩写,提供自动化的访问com的功能,也是通过JNI功能访问windows平台下的com组件或者win32系统库的.这是一个开始于1999年的开源项目的成果,有很多使用者对该项目进行了修改,做出了自己的贡献. 下载地址:http://sourceforge.net/project/showfiles.php?grou

Java jacob调用打印机打印word文档

前面说了Java如何生成复杂的Word文档,今年记录下Java如何调用打印机打印word文档. 起初用的是自带的PrintJob,但是系统提供的打印机制比不成熟完整.网上的代码也是千篇一律,在我的打印设备Canon iR2525/2530 UFRII LT上,我能获取到打印机的各属性,当前任务数.但是打印机没反应. 可参考这两篇文章: http://www.360doc.com/content/05/0916/11/332_12789.shtml http://www.ibm.com/devel

jacob 操作word

1. 首先下载jacob-1.18.zip,解压后有两个文件jacob.jar 和 jacob.dll.需要把jacob.jar放到你工程的classpath中并且把jacob.dll放到jdk的bin目录下(D:\Program Files\Java\jdk1.8.0_101\bin)目录下或者系统的system32其他相应的目录下. 2.下面是提供的工具类 1 package com.erqiao.rc.util; 2 3 import com.jacob.activeX.ActiveXCo

如何通过WPS 2013 API 将Office(Word、Excel和PPT)文件转PDF文件

1. 描述 PDF 文件是一种便携文件格式,是由Adobe公司所开发的独特的跨平台文件格式.PDF文件以PostScript语言图象模型为基础,无论在哪种打印机上都可保证精确的颜色和准确的打印效果,即PDF会忠实地再现原稿的每一个字符.颜色以及图象.可移植文档格式,也称为"便携文档格式",是一种电子文件格式.这种文件格式与操作系统平台无关,也就是说,PDF文件不管是在Windows,Unix还是在苹果公司的Mac OS操作系统中都是通用的.这一特点使它成为在Internet上进行电子文

MATLAB与Word、Excel的混合使用

华夫人:我们Notebook是由MathWork公司在MATLAB5.0中开始增加,实现MATLAB和Word的连接. 唐伯虎:哼!我们ExcelLink是在Windows环境下实现的Excel与Matlab连接. 华夫人:用了我们Notebook的人能在Word环境中“随心所欲的享用”MATLAB的浩瀚科技资源,感受到文字处理.科学计算.工程设计于一体的完美环境. 唐伯虎:没有错!而用了我们ExcelLink的朋友,在工作表空间和宏编程工具中使用Matlab的数值计算,图形处理等功能时,根本不

使用Spire.Office for .NET(Word、Excel、PPT、PDF等)的初步感受

前言 本文大部分内容来自http://www.codeproject.com/Articles/710747/First-thoughts-on-Spire-Doc-for-NET. 针对我个人来说,对办公自动化并没有多少需求.但作为一个开发人员,如果有需求的时候最好有一个library工具.前段时间,E-iceblue的销售人员之一联系我,希望我能帮他们Spire.Office做一个测评.首先我很高兴他们能找到我,这也让我有了一个接触和学习新技术的机会,在此非常感激E-iceblue的这位员工

java操作office和pdf文件java读取word,excel和pdf文档内容

在平常应用程序中,对office和pdf文档进行读取数据是比较常见的功能,尤其在很多web应用程序中.所以今天我们就简单来看一下Java对word.excel.pdf文件的读取.本篇博客只是讲解简单应用.如果想深入了解原理.请读者自行研究一些相关源码. 首先我们来认识一下读取相关文档的jar包: 1. 引用POI包读取word文档内容 poi.jar 下载地址 http://apache.freelamp.com/poi/release/bin/poi-bin-3.6-20091214.zip 

基于DevExpress实现对PDF、Word、Excel文档的预览及操作处理

原文:基于DevExpress实现对PDF.Word.Excel文档的预览及操作处理 在一般的管理系统模块里面,越来越多的设计到一些常用文档的上传保存操作,其中如PDF.Word.Excel等文档,有时候是通过分布式的WCF技术实现数据的显示和处理,因此希望直接预览而不需要下载文件,这样能够给我们提供很多的方便.在DevExpress里面,提供了相应的控件来显示和处理这些文档,本文主要介绍如何利用DevExpress的控件实现对PDF.Word.Excel文档的预览和操作处理. 1.PDF的预览