У меня на сервере запущено приложение, и я хочу иметь возможность определять принтеры, доступные с любого компьютера.
То есть на стороне клиента я хочу, чтобы принтеры были в списке, и теперь, когда приложение запускается с сервера, оно показывает принтеры, доступные с сервера.
Идея состоит в том, что откуда вы собираетесь получить доступ к приложению, то есть с любого компьютера, вы можете перечислить их соответствующие принтеры.
Я не знаю, можно ли получить опцию по 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: я должен распечатать принтеры через приложение. Использование опции печати браузера не подходит для меня.