Как мы можем Вам помочь?
Недавно искали
Один из наших клиентов – Владимир Беляевский, после приобретения принтера Proton столкнулся с задачей заставить работать принтер с WINE. Поскольку тема специфичная, поисковики не дали никаких результатов. Самым похожим решением оказался расклонированный по всем форумам документ, основанный на взаимодействии виртуального PDF принтера и скрипта, написанного на Pythone. После чего была написана эта статься, так как ничего толкового в сети найти не удалось.
Все работы проводились с OracleLinux (Red Hat). Принтер подключен через USB.
Процесс:
Чтобы узнать подключен ли принтер достаточно выполнить команду: $ ls /dev/usb
Получается что-то вроде: lp0
Это означает, что принтер подключен. Теперь нужно проверить работоспособность, отправив на принтер прикрепленный файл test.txt командой: $ cat test.txt > /dev/usb/lp0
Как видите, для работы с принтером не нужен драйвер Linux. И работает на порядок лучше. Этикетка маленькая потому что так написано в test.txt а не потому что с линуксом что-то не так.
Задача заключалась в том, чтобы заставить работать принтер с WINE таким образом, чтобы была возможность печатать на принтер этикеток из под Domino (Система автоматизации domino.ru). Так как Domino умеет формировать этикетку в виде управляющих символов языка EPL2, решение пришло само собой
Необходимо создать скрипт bash, который проверяет наличие файлов .txt в определённом каталоге, отправляет на печать и перемещает в другой каталог. Далее нужно поместить скрипт в планировщик CRON и установить инициализацию через каждые 5-10 секунд. Так предлагает сделать автор статьи. Вероятно, Вы решите сделать это как-то иначе.
Для тех у кого система автоматизации печатает уже готовый штрих код (или что-то подобное) - есть обычный драйвер, который можно скачать тут: http://opensource.apple.com/source/cups/cups-136.18/cups/ppd/
Инструкция по доработке .ppd находится там же.
А вот тоже самое но печать через драйвер принтер в CUPS
lpr -P <printer-name> -l <epl-file>
Маленький скрипт:
barcodeprint.sh
#!/bin/bash
lpr -P <printer-name> -l $1
chmod +x barcodeprint.sh
Теперь необходимо реализовать открытие файлов подобных test.txt через скрипт.
Ещё можно добавить перекодировку из cp1251win в UTF-8 таким образом:
find . -name \'*.txt\' | while read i; do iconv -f WINDOWS-1251 -t UTF-8 "$i" >tmp; mv tmp "$i"; done