Печать из браузера в один клик без подтверждения без смс и регистрации

Браузеры позволяют отправить на печать документ с предпросмотром. Это правильно, ведь в веб странице нету разметок, вам также нужно выбрать принтер и формат бумаги.
Существуют даже платные драйвера, способные выводить печать напрямую. Настолько это проблема не простая

Но когда печатать вам нужно массово и настройки вы все себе уже настроили - есть способ организовать это дело через дополнительные инструменты

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

Формат бумаги и прочие вопросы можно решить, сгенерировав на сервере заранее ПДФ файл, но отправить его на печать без окна предпросмотра всё равно нельзя стандартно.

Для решения проблемы нам потребуется серверное приложение, и это приложение будет находиться на компьютере который будет подключен к принтеру (то есть текщем). Совершенно не важно на каком языке его написать

Если вы хорошо знаете веб - то рекомендую node.js

Если вы пишите на php - рекомендую go, либо поднять веб сервер nginx + собрать php

В остальных случаях вы можете писать от Java до C#, не важно

Механизм который нужно будет создать следующий:

  1. Открыть свободный порт на прослушку
  2. При поступлении сообщения по порту - принять файл, или получить адрес откуда забрать файл,
  3. сохранить файл на жестком диске
  4. выполнить вызов командной строки `lp` с указанием принтера и других особенностей

Вот и весь скрипт.

Из нюансов - возможно нужно будет решить проблему с CORS - просто передав заголовок, либо отправлять запрос напрямую через клиента через iframe либо создание формы, т.к. стандартные HttpRequests будут просить CORS

На стороне клиента - делаете http запрос на localhost по указанному открытому порту

Вот и всё
желаю удачи

  • Автор: kosmom
  • Рейтинг: 0
  • Просмотров: 760
  • Комментариев: 0
  • Создан: 11.02.2021 11:25

Комментарии (0)