场景:
向数据库中添加一条记录时,调用客户端局域网中的打印机自动将数据打印出来。(当然是客户端打印,服务器端打印还要控件???)
要求:
- 不弹出、不打印预览、直接自动打印。(静默打印)
- 需要兼容各大浏览器(火狐、ie、360、谷歌、edge)
- 开机自启
没办法,看了网上许多博客,都是推荐JPC或者lodop的,都是要钱滴,JPC免费版只支持ie的静默打印,被逼无奈,只能手写一个,原本用C#写了一个,但是上司说不要用C#,用java写。(像控件这样的桌面程序,肯定是用C#好实现)。
成果:
就是这个二十多兆的程序,用java写的服务,里面包含一个bat文件,用于实现开机自启。
使用方法:
简单,鼠标右击 以管理员身份运行 即可。
之后查看任务管理器会出现打印服务:
打开浏览器:输入http://localhost:5777/print。
此控件是以POST方式,接收文件的base64字符串,会调用客户端的默认打印机打印。在前台使用ajax调用即可,如下:
$.ajax({
url: "http://127.0.0.1:5777/print",
type:"post",
data: 文件的base64字符串,
dataType : "json",
success:function(result){
console.log(result);//会返回打印结果
return true;
},
error:function(){
return false;
}
});
源码请移步:打印控件