如果Java AWT Printing未注册到运行打印应用程序的Windows / Active Directory用户,则它将无法通过路径找到该打印机.您必须通过Windows“设备和打印机”将打印机路径注册为该用户的打印机,以使其可见.然后,您必须运行lookupPrintServices以查看可用的打印机列表,并按列出的确切名称String检索正确的PrintService.

/**

* 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;

}

}

}

java 远程打印机_如何使用Java在网络打印机上打印?相关推荐

  1. linux java远程调试_[转]JPDA:Java平台调试架构(常用的远程调试方法)

    原文出处:http://www.javaeye.com/topic/75128 最近使用WTP的Server功能很不爽,连tomcat服务器时java类中的任何改动都要重启服务器,一怒之下就改用JPD ...

  2. java 远程打印机_使用Java打印到网络打印机

    我需要发送pdf文档以在Web应用程序的服务器端进行打印,打印机完全支持pdf打印等,它也可以联网到服务器. pdf也存储在服务器上. 我想要的是单击按钮,打印出pdf文件,目前我的代码如下: //S ...

  3. java 虚拟打印机_打印作业提交给打印机,使用虚拟打印机但不是真正的打印机 . Java的...

    我是java新手,在java中遇到打印服务问题 . 我正在尝试用Java创建一个桌面应用程序,它安装在系统中,调用api,返回结果并打印 . 仅当我们从api获得结果时才调用打印服务 . 所以我的问题 ...

  4. java esc的_如何用Java中的Receipt打印机和ESC / POS命令提高速度

    我有一个与Java和热敏打印机通信的应用程序 使用Star tsp 100打印机使热敏打印机以条形码/强调/不同尺寸打印收据等. 我可以让程序打印出我喜欢的东西,但打印机很慢.我相信原因是我使用非优选 ...

  5. java 虚拟打印机_纯java虚拟打印机

    import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.print.PageFor ...

  6. java 堆栈信息_每天学习一个命令:jstack 打印 Java 进程堆栈信息

    Jstack 用于打印出给定的 java 进程 ID 或 core file 或远程调试服务的 Java 堆栈信息. 这里需要注意的是 Java 8 引入了 Java Mission Control, ...

  7. java远程执行命令报错java.io.IOException: Cannot run program “ifconfig“: error=2, No such file or directory

    直接执行ifconfig没问题,但是在java代码里远程执行ifconfig就找不到命令. session = conn.openSession(); session.execCommand(cmd) ...

  8. 马士兵 java 学习笔记_马士兵java教程笔记1

    ---恢复内容开始--- 前记 虽然已经是个研究生了,但是会的东西还是特别的少 甚至连java都不能说是很会 所以准备从现在开始能好好的学习java 变成java master 标识符 标识符是由字母 ...

  9. java虚拟机现状_深入理解java虚拟机的故障处理工具

    前言 本文主要给大家介绍的是java虚拟机的故障处理工具,文中提到这些工具包括: 名称 主要作用 jps JVM process Status Tool, 显示指定系统内所有的HotSpot虚拟机进程 ...

最新文章

  1. Python环境配置保姆教程(Anaconda、Jupyter、GPU环境)!
  2. P1629邮递员送信与P1342请柬与P1821银牛派队研制联合胜利
  3. 【设计模式】代理模式 ( 动态代理使用流程 | 创建目标对象 | 创建被代理对象 | 创建调用处理程序 | 动态创建代理对象 | 动态代理调用 )
  4. 优雅还不够,简洁才高效!——用NValidator一句话搞定客户端检测
  5. CNN 与 Transformer 的强强联合!谷歌最新开源 BoTNet,ImageNet 达 84.7%准确率
  6. 搭载「光线追踪」技术的次时代主机会有怎样的画面表现?
  7. [Swift]多维数组的表示和存储:N维数组映射到一维数组(一一对应)!
  8. java jks 转pfx_JKS和PFX文件相互转换方法
  9. python django部署docker_centos利用docker部署django项目
  10. java免费游戏,java – 分配免费游戏
  11. Crontab中文表达式解析
  12. 五步使用法——搞定XMLHttpRequest
  13. 解决 IDEA 无法找到 java.util.Date 的问题
  14. python监控钉钉群消息_使用python对mysql主从进行监控,并调用钉钉发送报警信息...
  15. PowerBuilder 开发的游戏(建房子)
  16. Specular mode: Specular parameter 高光模式:高光参数 Standard Shader系列7
  17. 【人工智能II】实验2 强化学习Q-Learning算法
  18. MSM8998(高通835处理器)外接指纹识别传感器linux驱动如何与设备树进行匹配
  19. 谷歌:科技让世界更美好
  20. Xilinx 7系列FPGA收发器架构之硬件设计指导(一)

热门文章

  1. HNA CloudOS | 容器云服务专家
  2. 变种水仙花数 来自newcode一道初级编程题
  3. android.密码是多少,mvandroidapk游戏的密码是多少 | 手游网游页游攻略大全
  4. ftpphp_php建立Ftp连接的方法
  5. css 文字自动换行
  6. android底部导航栏中间凸起,Flutter学习笔记--仿闲鱼底部导航栏带有中间凸起图标...
  7. VMware怎么打开并使用vhd虚拟磁盘文件
  8. C++ 删除C盘中的用户(坑人必备,极度危险)
  9. 杂谈一下日常工作汇报 以及月工作总结应该怎么写
  10. Cpu-Z 官方中文版