java网络打印机_如何使用Java在网络打印机上进行打印?
小编典典
如果Java AWT Printing未向运行打印应用程序的Windows / Active
Directory用户注册,则无法通过路径找到打印机。您必须通过Windows“设备和打印机”将打印机路径注册为该用户的打印机,才能使其可见。然后,您必须运行lookupPrintServices以查看可用的打印机列表,并PrintService通过String列出的确切名称检索正确的打印机。
/**
* Retrieve the specified Print Service; will return null if not found.
* @return
*/
public static PrintService findPrintService(String printerName) {
PrintService service = null;
// Get array of all print services - sort order NOT GUARANTEED!
PrintService[] services = PrinterJob.lookupPrintServices();
// Retrieve specified print service from the array
for (int index = 0; service == null && index < services.length; index++) {
if (services[index].getName().equalsIgnoreCase(printerName)) {
service = services[index];
}
}
// Return the print service
return service;
}
/**
* Retrieve a PrinterJob instance set with the PrinterService using the printerName.
*
* @return
* @throws Exception IllegalStateException if expected printer is not found.
*/
public static PrinterJob findPrinterJob(String printerName) throws Exception {
// Retrieve the Printer Service
PrintService printService = PrintUtility.findPrintService(printerName);
// Validate the Printer Service
if (printService == null) {
throw new IllegalStateException("Unrecognized Printer Service \"" + printerName + '"');
}
// Obtain a Printer Job instance.
PrinterJob printerJob = PrinterJob.getPrinterJob();
// Set the Print Service.
printerJob.setPrintService(printService);
// Return Print Job
return printerJob;
}
/**
* Printer list does not necessarily refresh if you change the list of
* printers within the O/S; you can run this to refresh if necessary.
*/
public static void refreshSystemPrinterList() {
Class[] classes = PrintServiceLookup.class.getDeclaredClasses();
for (int i = 0; i < classes.length; i++) {
if ("javax.print.PrintServiceLookup$Services".equals(classes[i].getName())) {
sun.awt.AppContext.getAppContext().remove(classes[i]);
break;
}
}
}
2020-09-24
java网络打印机_如何使用Java在网络打印机上进行打印?相关推荐
- groovy 使用java类_深入学习java中的Groovy 和 Scala 类
前言 Java 传承的是平台,而不是语言.有超过 200 种语言可以在 JVM 上运行,它们之中不可避免地会有一种语言最终将取代 Java 语言,成为编写 JVM 程序的最佳方式.本系列将探讨三种下一 ...
- java 枚举_深入理解Java枚举
所有知识体系文章,[GitHub](https://github.com/Ziphtracks/JavaLearningmanual)已收录,欢迎Star!再次感谢,愿你早日进入大厂! https:/ ...
- java翻译程序_有没有java代码翻译软件?
展开全部 没有翻译软件,但是能32313133353236313431303231363533e78988e69d8331333365646333编写翻译程序. java 代码翻译实例: 1.输入一个 ...
- opencv java 摄像头_使用OpenCV Java创建Windows摄像头扫码程序
OpenCV提供了一些基本的Webcam控制接口.用OpenCV C/C++或者Python,可以在任意平台快速创建一个摄像头预览应用.然而使用Java,情况就复杂的多,因为OpenCV Java并没 ...
- java横线_知识点:java一些方法会有横线?以Date 过期方法为例
原因:他们的开发者在升级方法后,添加了@Deprecated注释, 目的是为了提醒我们,这个方法现在已经有新的方法了,不建议继续使用! 比如: JAVA中Date的tolocalstring为什么不建 ...
- java学习_都说Java难学,不知道具体的学习内容?全套Java学习路线送上
首先,我个人比较推崇的学习方法是:先学java前段,也就是HTML,css,js,因为学习java以后肯定是往java ee方向发展的,学习完前端,在学习后端很多东西比计较容易理解! 其中J2SE是关 ...
- 本地生活JAVA版本_赶集生活java版
赶集网java版客户端 特色介绍: * 丰富的特色功能:一键拨号.GPS定位.本地收藏.拍照发帖,比电脑还方便. * 全面的服务功能:房屋租售.二手买卖.火车票转让.家政.开锁等全方位服务. * 极致 ...
- java 虚拟机_浅谈Java虚拟机内存区
1. Java 虚拟机内存区概述 我们在编写程序时,经常会遇到OOM(out of Memory)以及内存泄漏等问题.为了避免出现这些问题,我们首先必须对JVM的内存划分有个具体的认识.JVM将内存主 ...
- java序列化_技术干货 | JAVA反序列化漏洞
目录 反序列化漏洞 序列化和反序列化 JAVA WEB中的序列化和反序列化 对象序列化和反序列范例 JAVA中执行系统命令 重写readObject()方法 Apache Commons Collec ...
- java 静态方法_新手学Java,哪些知识点可以优先掌握?
--我们的征途是星辰是大海-- 文|达妹 很多同学在刚接触Java的时候,会有些迷茫,不知道该从哪里入手,该学习掌握哪些必要的基础知识. 达妹总结了零基础学习Java编程语言的几个基础知识要点.希望对 ...
最新文章
- CVPR2020 | PV-RCNN: 3D目标检测
- ITextHtml2canvas js截图 绘制 导出PDF
- 屏蔽firefox浏览器连接失败页面的广告
- c++ hashmap入门教程
- 如何在Epower工作流平台(企业流程管理平台)上建立OA系统
- 学习一种新编程语言要做的15个练习
- define 字符串_C++如何使用define关键字以便使用中文编程?
- Lnmp环境安装禅道项目管理软件
- strace命令(收集整理,常看常新)
- 向服务器上传文件的命令,上传文件到远程服务器的命令
- 如何打造7*24h持续交付通道?阿里高级技术专家的5点思考
- php 显示探针_UPUPW PHP探针安全版19.08.06
- 常见概率抽样方法及其适用场景总结
- 股票交易费的计算---沪A版
- Why it occurs this error [The JSON value could not be converted to System.Nullable]
- 深度解析大快DKadoop大数据运维管理平台功能
- 人工智能基础——贝叶斯分类器例程(c语言实现,完整代码)
- 新美大 java待遇_入我新美大的Java后台开发面试题总结
- C语言中的switch详解
- [Go语言入门] 02 Go语言程序结构
热门文章
- WebSphere如何重启服务
- UE4-角色摄像机镜头的设置
- GPS 入门 5 —— 定位误差产生的原因和差分定位原理 (转)
- 国内常见php的CMS建站系统情况分析
- 个保法(PIPL)颁布实施一周年,给行业带来了哪些变化?
- drop_last=True
- 阿里巴巴国际站外贸邮开通的操作步骤
- ug12无法连接服务器系统,NX许可证错误:无法连接至许可证服务器系统。SPLM_LICENSE_SERVER错误[-15]...
- H.265流媒体播放器EasyPlayer.js的属性、方法及事件的调用汇总
- TVS与ESD的区别