Список принтеров на стороне клиента (Java) - PullRequest
0 голосов
/ 14 сентября 2018

У меня на сервере запущено приложение, и я хочу иметь возможность определять принтеры, доступные с любого компьютера.

То есть на стороне клиента я хочу, чтобы принтеры были в списке, и теперь, когда приложение запускается с сервера, оно показывает принтеры, доступные с сервера.

Идея состоит в том, что откуда вы собираетесь получить доступ к приложению, то есть с любого компьютера, вы можете перечислить их соответствующие принтеры.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...