java使用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();
    }
}
上一篇:计算机基础之语言编程


下一篇:helloServlet