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();
}
}