近期由于项目需求,实现后台连接打印机打印单据等,由于项目是部署在服务器上的,在服务器上安装对应的打印机驱动是不现实的,客户方肯定也不那么麻烦,所以需要后台通过连接打印机IP来实现打印。代码如下,仅供参考:
public static void main(String[] args) {
FreeMarkerUtil.printWord("C:\\Users\\hyc\\Desktop\\单据打印模板.pdf","xxzx-print",9100);
}
注意:printIp为打印机IP,printPost:9100端口为打印机网络端口这个是统一固定的,当初以为端口号应该是打印机带的端口结果打印机能连上,却打印不出来,后来看了很多博客才知道应该打印机网络端口才对,而不是打印机带的端口,看到这篇文章的伙伴要注意下,少走很多弯路
public static void printWord(String filePath,String printIp,int printPost){
Socket socket = null;
FileInputStream fis = null;
try {
File file = new File(filePath);
if(!file.exists()){
log.info("未找到模板文件");
return;
}
socket = new Socket(printIp,pri