java - 在客户端列出打印机 (Java)
问题描述
我有一个在服务器上运行的应用程序,我希望能够检测到可以从任何计算机访问的打印机。
也就是说,在客户端,我希望列出打印机,现在,当应用程序从服务器运行时,它显示可从服务器访问的打印机。
这个想法是,从您要访问应用程序的位置,即从任何计算机,您可以列出它们各自的打印机。
我不知道是否可以通过该计算机的 IP 地址获得选项,但我一直无法找到解决该问题的方法:
public List<String> printAvailable() {
// busca los servicios de impresion...
PrintService[] services = PrintServiceLookup.lookupPrintServices(null, null);
//PrintService[] servicio= PrintServiceLookup
List <String> Impresoras= new ArrayList<>();
// -- ver los atributos de las impresoras...
for (PrintService printService : services) {
Impresoras.add(printService.getName());
System.out.println(" ---- IMPRESORA: " + printService.getName());
PrintServiceAttributeSet printServiceAttributeSet= printService.getAttributes();
System.out.println("--- atributos");
// todos los atributos de la impresora
Attribute[] a = printServiceAttributeSet.toArray();
for (Attribute unAtribute : a) {
System.out.println("atributo: " + unAtribute.getName());
}
System.out.println("--- viendo valores especificos de los atributos ");
// valor especifico de un determinado atributo de la impresora
System.out.println("PrinterLocation: " + printServiceAttributeSet.get(PrinterLocation.class));
System.out.println("PrinterInfo: " + printServiceAttributeSet.get(PrinterInfo.class));
System.out.println("PrinterState: " + printServiceAttributeSet.get(PrinterState.class));
System.out.println("Destination: " + printServiceAttributeSet.get(Destination.class));
System.out.println("PrinterMakeAndModel: " + printServiceAttributeSet.get(PrinterMakeAndModel.class));
System.out.println("PrinterIsAcceptingJobs: " + printServiceAttributeSet.get(PrinterIsAcceptingJobs.class));
}
return Impresoras;
}
在这里,我得到了列出打印机的服务,但这在应用程序在本地运行的地方执行。
如果您能给我一个线索,我将不胜感激,因为我对 Java 了解不多,我正在尝试使用示例。
问候!
PD:我必须通过应用程序打印打印机。使用浏览器的打印选项对我来说不是一个选项。
解决方案
推荐阅读
- python - 如何更改最后一个数组维度?
- r - 如何在R中乘以不同大小列表的向量
- java - 如何修改使 IllegalArgumentException: column '_id' 不存在的光标
- c# - C# .NET WPF 窗口 Mousedown/Keydown 不会触发通过 USB 红外接收器连接的电视遥控器的 4 色按钮关闭
- excel - 读取 excel 时 Spark 出错:org.apache.poi.openxml4j.exceptions.InvalidFormatException
- splunk - Splunk Dropdown 基于来自字符串结果的字段
- java - 在 aws iot 中更新一个东西
- android - 系统对话框,如 ShowMessage,在 Android 上使用旧样式
- ruby - 由于以下原因返回 HTTP 503:请求队列已满(配置的最大大小:100)
- mysql - MySQL查询以查找表中不在列表中的ID