PrintService в Java не будет работать, когда-то размещенный в heroku - PullRequest
0 голосов
/ 07 сентября 2018

У меня есть этот фрагмент printService:

public class MainTest {

    public static void main(String[] args) {
        DocFlavor flavor = DocFlavor.SERVICE_FORMATTED.PRINTABLE;
        //PrintService defPrnSrvc = PrintServiceLookup.lookupDefaultPrintService();
        PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();

        PrintService[] services = PrintServiceLookup.lookupPrintServices(null, null);
        System.out.println("my printer found: " + services.length);
        // this step is necessary because I have several printers configured
        for (int i = 0; i < services.length; i++) {
            String svcName = services[i].toString();
            //
        }
    }
}

Но когда я размещаю его в heroku, он не показывает какой-либо принтер, я знаю причину, по которой служба принтера выглядит в вашей локальной системе, таким образом, она не будет работать на heroku, но есть ли обходной путь, например, если Я отправляю некоторые данные с моего локального компьютера, например, IP-адрес или Mac-адрес моего компьютера, после чего он может искать принтеры на этом компьютере?

Есть ли способ передать параметры в класс printservice, чтобы получить принтеры определенного компьютера? Или всегда выглядит в localhost.

1 Ответ

0 голосов
/ 07 сентября 2018

Интересно. Я не думаю, что у Heroku есть плагины для подключения к локальным устройствам в данном месте, но вот пара идей:

  • Если ваш принтер работает в облаке, вы можете проверить документацию производителя принтера, чтобы узнать, есть ли способ удаленного подключения. Вероятно, включает в себя переключение настроек на самом принтере (ах) тоже.
  • Вы изучили проект Google для этого, и он работает для вашего случая использования? https://www.google.com/cloudprint/#printers
  • Это долгий путь, но вы, вероятно, могли бы подключить Raspberry Pi к принтеру и использовать его для размещения конечной точки API, чтобы pi мог получать данные документа и любые необходимые вам инструкции, а затем передавать их на локальный компьютер. принтер через локальное соединение.

Надеюсь, это поможет!

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