Задача: Є термопринтер SP-POS58III, є робоче місце під Linux. Потрібно друкувати чеки на цьому принтері.
Для початку про цей принтер треба знати, що насправді китайці нічого не придумували, а взяли чіпи EPSON'a і на них зробили свій девайс. Тому він підтримує EPSON'івські ESC-послідовності, а також звичайний текстовий друк в DOS'івській (866) кодовій сторінці.
З огляду на це отримуємо наступні варіанти вирішення задачі:
1. Ресурсоощадний. Нічого не налаштовуємо, а просто відправляємо текстовий файлик в DOS'івському кодуванні та/або з ESC-послідовностями в пристрій /dev/usb/lp0 cat printme.txt > /dev/usb/lp0
Тільки не слід забувати про кодову сторінку!
2. Красивий. Налаштовуємо підсистему друку CUPS. Драйвера, звісно, немає, але є універсальний драйвер RAW, який просто передає «сиру» інформацію на принтер. Нічого це суттєво не міняє, зате тепер ми можемо такий же наперед заготовлений файл поставити в чергу cat printme.txt | lpr
або надати доступ до цього притнера, під’єднати його до Windows-машини з драйвером від виробника і друкувати звичними засобами.
3. Хакерсько-гіпотетичний. Можна взяти Linux'овий драйвер матричного EPSON'а і модифікувати його для роботи з нестандартним форматом паперу. Це якщо у вас є потреба друкувати графіку на чеках і зовсім-зовсім немає Windows'a. Оскільки основна інформація на чеку це, все-таки, зовсім не графіка, то до таких нетрів влізати, як на мене, нема потреби.
Працює на AutoGenCMS 0.2.6