Ответы пользователя по тегу Принтеры
  • Как работать с китайским POS принтером из Java в linux?

    @klirichek
    Это линейный принтер (lp). Он может просто печатать напрямую текст, который в него отправляют (т.е. просто открываете нужный порт и шлёте в него байтики).
    С помощью escape-последовательностей можно переключать принтер в графический режим и управлять дополнительными фичами, специфическими для POS (например, открывать крышку кассы. Или автоматически печатать штрих-код).
    Т.е. в простейшем случае - переводите принтер в нужную кодовую страницу с помощью esc-последовательности и потом просто шлёте в него текст в нужной кодировке.

    Если воспользоваться драйвером, то все возможности принтера сводятся к графической печати (это растровый фильтр CUPS. И, кстати @ntkt не совсем прав насчёт поддержки PostScript. PPD файлы в cups это своя собственная сущность, так у них принято описывать вообще все принтеры.) Тогда у вас появляется "стандартный" принтер с форматом бумаги шириной 58 мм. Весь рендеринг в растр берёт на себя CUPS, а фильтр лишь парсит настройки печати и затем добавляет нужные escape-последоватльности для вывода растра.

    К слову, фильтр, похоже, был написан индусами :)
    Настройки в PPD не показывает, а сам вылетает. Да и к тому же предоставлен только в виде 32-битного бинаря. Я провозился с ним пару дней, пытаясь настроить. В итоге психанул и написал свой фильтр. Он работает.

    https://github.com/klirichek/zj-58
    Ответ написан
    Комментировать