java jcom打印_java用JCom打印

用JCOM实现打印如打印word和Excel等的

import jp.ne.so_net.ga2.no_ji.jcom.IDispatch;

import jp.ne.so_net.ga2.no_ji.jcom.JComException;

import jp.ne.so_net.ga2.no_ji.jcom.ReleaseManager;

import jp.ne.so_net.ga2.no_ji.jcom.excel8.ExcelApplication;

import jp.ne.so_net.ga2.no_ji.jcom.excel8.ExcelWorkbook;

import jp.ne.so_net.ga2.no_ji.jcom.excel8.ExcelWorkbooks;

import jp.ne.so_net.ga2.no_ji.jcom.excel8.ExcelWorksheet;

/**

* @author admin

*/

public class TestPrint {

/**

* @param args

* 打印word

*/

public static void main(String[] args) {

TestPrint tp = new TestPrint();

String path="c:\\1111.doc";

tp.print("Word.Application", "Documents", path);

}

/***

* @param docApplication Application类型

* @param docProperty 文档的属性

* @param filePath 文件的绝对路径

*/

public void print(String docApplication,String docProperty,String filePath){

ReleaseManager rm = new ReleaseManager();

try {

IDispatch docApp = new IDispatch(rm, docApplication);

docApp.put("Visible", new Boolean(false));

IDispatch wdDocuments = (IDispatch) docApp.get(docProperty);

Object[] arglist1 = new Object[1];

arglist1[0] = (Object)filePath;

IDispatch docDocument = (IDispatch) wdDocuments.method("Open",

arglist1);

docDocument.method("PrintOut", null);

docApp.method("Quit", null);

}catch(JComException e){

e.printStackTrace();

}

rm.release();

rm = null;

}

/**

* @param fname 文件的路径名称

* @return

*/

public boolean printExcel(String fname) {

ReleaseManager rm = new ReleaseManager();

try {

ExcelApplication excel = new ExcelApplication(rm);

ExcelWorkbooks xlBooks = excel.Workbooks();

ExcelWorkbook xlBook = xlBooks.Open(fname);

ExcelWorksheet xlSheet = excel.ActiveSheet();

xlSheet.PrintOut();

xlBook.Close(false, null, false);

excel.Quit();

} catch (Exception e) {

e.printStackTrace();

return false;

} finally {

rm.release();

}

return true;

}

}

JCOM使用.rar (494.2 KB)

下载次数: 430

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2010-05-27 13:29

浏览 5839

评论

7 楼

zjw530134683

2015-09-09

按照你说的操作方式,word没有打印成功,但是EXCEL打印成功了,已经感觉很牛拉!!

966903dea4bcb507358d5dcce8b912e5.gif 

966903dea4bcb507358d5dcce8b912e5.gif 

966903dea4bcb507358d5dcce8b912e5.gif 

966903dea4bcb507358d5dcce8b912e5.gif

哥们,麻烦问下Unix操作系统下如何用jcom ?

5 楼

另一花生

2014-02-25

楼主,我在刚开始学习这个,我发现您的这个文档学习了,但是我想知道您刚一开始使用的时候,是从哪里学到的?是官方文档么

4 楼

skynet_java

2012-06-28

:jp.ne.so_net.ga2.no_ji.jcom.JComException: createInstance() failed HRESULT=0x800401F3L

xiaofeng1986 写道

您好,最近我也在用jcom打印,不过运行时,老是提示:jp.ne.so_net.ga2.no_ji.jcom.JComException: createInstance() failed HRESULT=0x800401F3L

这个错误,不知道您在使用过程中有没有遇到这个问题?

求解。。。

3 楼

yaowei701424

2012-03-22

"jp.ne.so_net.ga2.no_ji.jcom.JComException: createInstance() failed HRESULT=0x800401F3L"问题解决?

解决方法是:

1:与Jcom的版本有关系(最低版本为2.2.0-1以上);

2:也与Office版本有关系,必须最低版本为office2003以上;

3:操作系统和开发环境要统一协调(如Tomcat、Java   Jdk、MyEclipse都要搭配协调);

4:将jcom.dll这个组件分别放于tomcat bin目录下;jdk bin目录下;

jre bin目录下;还有系统System32的文件夹下;这样就会大功告成

2 楼

liuzidong

2011-08-24

我有这个问题呀

1 楼

xiaofeng1986

2010-10-23

您好,最近我也在用jcom打印,不过运行时,老是提示:jp.ne.so_net.ga2.no_ji.jcom.JComException: createInstance() failed HRESULT=0x800401F3L

这个错误,不知道您在使用过程中有没有遇到这个问题?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值