小编典典

如果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在网络打印机上进行打印?相关推荐

  1. groovy 使用java类_深入学习java中的Groovy 和 Scala 类

    前言 Java 传承的是平台,而不是语言.有超过 200 种语言可以在 JVM 上运行,它们之中不可避免地会有一种语言最终将取代 Java 语言,成为编写 JVM 程序的最佳方式.本系列将探讨三种下一 ...

  2. java 枚举_深入理解Java枚举

    所有知识体系文章,[GitHub](https://github.com/Ziphtracks/JavaLearningmanual)已收录,欢迎Star!再次感谢,愿你早日进入大厂! https:/ ...

  3. java翻译程序_有没有java代码翻译软件?

    展开全部 没有翻译软件,但是能32313133353236313431303231363533e78988e69d8331333365646333编写翻译程序. java 代码翻译实例: 1.输入一个 ...

  4. opencv java 摄像头_使用OpenCV Java创建Windows摄像头扫码程序

    OpenCV提供了一些基本的Webcam控制接口.用OpenCV C/C++或者Python,可以在任意平台快速创建一个摄像头预览应用.然而使用Java,情况就复杂的多,因为OpenCV Java并没 ...

  5. java横线_知识点:java一些方法会有横线?以Date 过期方法为例

    原因:他们的开发者在升级方法后,添加了@Deprecated注释, 目的是为了提醒我们,这个方法现在已经有新的方法了,不建议继续使用! 比如: JAVA中Date的tolocalstring为什么不建 ...

  6. java学习_都说Java难学,不知道具体的学习内容?全套Java学习路线送上

    首先,我个人比较推崇的学习方法是:先学java前段,也就是HTML,css,js,因为学习java以后肯定是往java ee方向发展的,学习完前端,在学习后端很多东西比计较容易理解! 其中J2SE是关 ...

  7. 本地生活JAVA版本_赶集生活java版

    赶集网java版客户端 特色介绍: * 丰富的特色功能:一键拨号.GPS定位.本地收藏.拍照发帖,比电脑还方便. * 全面的服务功能:房屋租售.二手买卖.火车票转让.家政.开锁等全方位服务. * 极致 ...

  8. java 虚拟机_浅谈Java虚拟机内存区

    1. Java 虚拟机内存区概述 我们在编写程序时,经常会遇到OOM(out of Memory)以及内存泄漏等问题.为了避免出现这些问题,我们首先必须对JVM的内存划分有个具体的认识.JVM将内存主 ...

  9. java序列化_技术干货 | JAVA反序列化漏洞

    目录 反序列化漏洞 序列化和反序列化 JAVA WEB中的序列化和反序列化 对象序列化和反序列范例 JAVA中执行系统命令 重写readObject()方法 Apache Commons Collec ...

  10. java 静态方法_新手学Java,哪些知识点可以优先掌握?

    --我们的征途是星辰是大海-- 文|达妹 很多同学在刚接触Java的时候,会有些迷茫,不知道该从哪里入手,该学习掌握哪些必要的基础知识. 达妹总结了零基础学习Java编程语言的几个基础知识要点.希望对 ...

最新文章

  1. CVPR2020 | PV-RCNN: 3D目标检测
  2. ITextHtml2canvas js截图 绘制 导出PDF
  3. 屏蔽firefox浏览器连接失败页面的广告
  4. c++ hashmap入门教程
  5. 如何在Epower工作流平台(企业流程管理平台)上建立OA系统
  6. 学习一种新编程语言要做的15个练习
  7. define 字符串_C++如何使用define关键字以便使用中文编程?
  8. Lnmp环境安装禅道项目管理软件
  9. strace命令(收集整理,常看常新)
  10. 向服务器上传文件的命令,上传文件到远程服务器的命令
  11. 如何打造7*24h持续交付通道?阿里高级技术专家的5点思考
  12. php 显示探针_UPUPW PHP探针安全版19.08.06
  13. 常见概率抽样方法及其适用场景总结
  14. 股票交易费的计算---沪A版
  15. Why it occurs this error [The JSON value could not be converted to System.Nullable]
  16. 深度解析大快DKadoop大数据运维管理平台功能
  17. 人工智能基础——贝叶斯分类器例程(c语言实现,完整代码)
  18. 新美大 java待遇_入我新美大的Java后台开发面试题总结
  19. C语言中的switch详解
  20. [Go语言入门] 02 Go语言程序结构

热门文章

  1. WebSphere如何重启服务
  2. UE4-角色摄像机镜头的设置
  3. GPS 入门 5 —— 定位误差产生的原因和差分定位原理 (转)
  4. 国内常见php的CMS建站系统情况分析
  5. 个保法(PIPL)颁布实施一周年,给行业带来了哪些变化?
  6. drop_last=True
  7. 阿里巴巴国际站外贸邮开通的操作步骤
  8. ug12无法连接服务器系统,NX许可证错误:无法连接至许可证服务器系统。SPLM_LICENSE_SERVER错误[-15]...
  9. H.265流媒体播放器EasyPlayer.js的属性、方法及事件的调用汇总
  10. TVS与ESD的区别