POS: получить веб-сайт для печати непосредственно на определенных локальных принтерах

У меня есть веб-сайт, на котором работает служба кассы, которая выдает билеты и отчеты. Я пытаюсь выяснить, как получить билеты (в настоящее время файлы PDF), отправленные непосредственно на указанный принтер на локальном / клиентском ПК.

Я следил за многими старыми / мертвыми / бесполезными ссылками и не нашел никаких современных решений для этого, хотя многие мучительные проблески надежды.

Сценарий таков: Удаленный хостинг-сайт – 1 или более подключенных пользователей – веб-страница генерирует билет / с (PDF), который бесшумно отправляется на указанный принтер на ПК пользователя (не принтер по умолчанию) (без дополнительного нажатия подсказок печати ).

Я знаю, что PHP не подключается к ПК с клиентами, но есть ли способ для веб-страницы (возможно, через jQuery) подключиться к установленному скрипту / службе?

Я думал, что сценарий на локальном ПК (который устанавливает доверенную ссылку, устанавливает принтер для использования и т. Д.) Будет получать данные / файл с веб-сервера, а затем обрабатывать его до тех пор, пока он находится на одном и том же месте на каждом компьютере. Этот (локальный) скрипт может быть добавлен на любой компьютер, которому необходимо запустить службу. Работа должна быть инициирована передаваемым файлом и не иметь скрипта / службы, которая будет выполнять опрос местоположения каждые несколько секунд.

    Любые указатели будут очень благодарны.

    Редактирование: я попробовал java-приложение jZebra, но получил его только один раз, прежде чем он сломался. Заинтересован, если кто-то действительно получил его на работу (и как).

    Related of "POS: получить веб-сайт для печати непосредственно на определенных локальных принтерах"

    Недавно я столкнулся с ТОЧНЫМ вопросом. У Google Chrome есть так называемый «киоск». Поэтому он будет печататься без вмешательства пользователя.

    Для этого откройте Google Chrome с помощью следующей команды (вам нужно найти исполняемую команду chrome или команду chrome для машин * nix):

    chrome.exe "http://www.example.com/mypage.php" --kiosk --kiosk-printing 

    Это откроет окно без каких-либо панелей инструментов, адресных баров, омнибокс и т. Д.

    Затем вам нужно распечатать страницу. Для этого автоматически откройте диалоговое окно печати (для демонстрации я буду использовать простой Javascript):

     <script> window.print(); </script> 

    Прежде чем переходить к среде разработки, window.print() НЕ разрешает никаких аргументов (т. window.print() URL).

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

    Теперь вы упоминали о PDF-файле и, скорее всего, генерируете его через PHP (если вы печатаете выпущенные / сгенерированные файлы), возможно, вы думаете: «О, ну, я не могу поместить HTML в PDF для выполнения javascript». Вам не нужно! Чтобы решить проблему с печатью правильной страницы, выполните следующие действия:

    Вставьте следующее на страницу HTML / PHP, на которую пользователь отправляется (для этого решения пользователю не нужно посещать .pdf ), в <head> страницы посадки / успеха:

     <link rel="alternate" media="print" href="LINK TO PDF FILE"> 

    Если у вас есть код выше на вашей странице, когда вы выполняете window.print(); , он напечатает страницу, указанную выше. Если вы не сохраняете PDF локально, вы можете поместить его во временный каталог, который каким-то образом (вне сферы действия этого вопроса) очищается по расписанию, основанному на времени или на основе действия, для предотвращения наращивания дискового пространства.

    Помните следующее:

    • Режим киоска не имеет кнопки выхода. Для выхода нажмите ALT + F4 .
    • При печати в режиме киоска вам нужны и --kiosk AND --kiosk-printing . Аргумент печати требует аргумента --kiosk .
    • При печати в режиме киоска обычно отображается диалоговое окно печати, а затем внезапно исчезает. Это невозможно предотвратить без предварительного разбиения окон и еще чего-то.

    Я уверен, что другие браузеры имеют аналогичную функциональность, чтобы обойти диалоговое окно печати, однако я обнаружил, что Google Chrome лучше всего работает в таких функциях. Если у вас на машине Linux, у Google есть файл .deb, с которым вы можете установить Google Chrome в Linux, используя команду sudo dpkg -i (package / downloaded .deb file path) . Chromium –might – поддерживает такую ​​функциональность. Насколько я знаю, это должно быть.

    Если вам нужна дополнительная помощь, оставьте свой вопрос в комментариях ниже, я отвечу как можно скорее.

    Надеюсь, я помог. Если бы я это сделал, не стесняйтесь давать мне зеленый чек слева от вас. 😉