ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java使用jacod调用本地默认打印机打印文件

2021-07-01 09:59:26  阅读:162  来源: 互联网

标签:打印机 java 打印文件 doc Dispatch Word new jacod


java后台使用jacod调用打印机打印Word文件

先期准备:

(1)下载jacod.jar文件
下载地址:https://pan.baidu.com/s/1TDA0vXDEpfRz8GTPWvJPhA
提取码:dyhn

(2)将ddl文件放到系统目录下:C:\Windows\System32;

(3)打开Windows任务管理器,将服务一栏的服务进程DocmLaunch启动;

Maven项目依赖导入

1、在resources目录下创建lib文件夹,将jacod.jar文件导入到lib文件夹下;

2、在pom.xml中添加依赖:

	<!--添加本地的jacob.jar包-->
    <dependency>
        <groupId>com.jacob</groupId>
        <artifactId>jacob</artifactId>
        <version>1.17</version>
        <scope>system</scope>
        <systemPath>${basedir}/src/main/resources/lib/jacob.jar</systemPath>
    </dependency>

调用打印机的代码:

/**
 * 调用打印机打印Word文件
 * author wjp
 * */
public static void printWord(String filePath){
    File wordFile = new File(filePath);
    LOGGER.debug("开始打印任务,打印文件:" + wordFile.getName());
    ComThread.InitSTA();//初始化Com现场
    ActiveXComponent word=new ActiveXComponent("Word.Application");
    Dispatch doc;

    //显示是否打开Word文件
    Dispatch.put(word, "Visible", new Variant(false));
    //打开具体的工作簿
    Dispatch docs=word.getProperty("Documents").toDispatch();
    doc=Dispatch.call(docs, "Open", filePath).toDispatch();
    try {
        Dispatch.call(doc, "PrintOut");//打印
    } catch (Exception e) {
        e.printStackTrace();
        LOGGER.debug("打印失败");
    }finally{
        try {
            if(doc!=null){
                //关闭文档
                Dispatch.call(doc, "Close",new Variant(0));
            }
        } catch (Exception e2) {
            e2.printStackTrace();
        }
        //释放资源
        ComThread.Release();
    }
}

标签:打印机,java,打印文件,doc,Dispatch,Word,new,jacod
来源: https://blog.csdn.net/weixin_42621745/article/details/118378982

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有