Я делал именно это раньше. Это было довольно сложно, используя сервер Ubuntu в локальной сети на рабочем месте и термопринтер на другом компьютере Ubuntu в районе доставки. На этом компьютере работала php-служба, которая слушала порт и была без головы, прячась в шкафу.
Внутреннее веб-приложение php компании на сервере локальной сети будет координировать свою работу с электронной почтой и UPS.com для печати этикетки доставки. Я забыл, как UPS отправил его, но мы использовали imagemagik, чтобы настроить окончательное изображение до идеальной ширины пикселя. Затем сервер локальной сети будет подключаться к целевому серверу php-сокета и будет посылать соответствующие команды на последовательный порт , к которому подключен принтер, вместе с данными изображения.
Называть это решение madhatterey - преуменьшение ... но было удивительно, что ярлыки волшебным образом появлялись при "отправке" заказа. Нет диалога печати или что-нибудь. Самое дешевое решение - получить коробку Atom, которая может запускать Ubuntu, и принтер с файлом ppd, который работает. Тогда просто поставьте его в очередь. Та же концепция, что и удаленная печать в Linux.
Возможно, вы могли бы выполнить запрос на печать из запроса AJAX веб-страницы и не нуждаться в дополнительной инфраструктуре (или в сервере сокетов php целевого компьютера).