У меня старый 9-контактный матричный принтер OKI ML 3320, и я не могу заставить его работать должным образом с чашками.

Когда я отправляю какой-либо документ, принтер печатает одну строку каждые ~ 13 секунд, часто добавляя немного случайных слов.

используя echo "text\nline2\nline3"> /dev /lp0

создает:

text
    line2
         line3

То же самое при использовании cat file.txt > /dev/lp0 . Похоже, что принтер делает новую строку, но не делает возврат каретки.

1 ответ1

0

Я решил это.

Причиной тарабарщины послужил ослабленный кабель, починка его помогла.

Плохое поведение перевода строки было вызвано тем, что принтер не отправлял \r после \n . Этот принтер работает в режиме окончания строки DOS.

Дополнительной проблемой были символы, отличные от ascii (например, буквы конкретного языка, такие как language и т.д. Или другие алфавиты).

Чтобы исправить все вышеперечисленное, вам необходимо выполнить следующие шаги:

  • Убедитесь, что кабель LPT затянут в обоих разъемах;

  • Установите правильную кодовую страницу на принтере;

  • Создайте сценарий для чтения входных данных, передайте его через команду konwert *, добавив \r в конец каждой строки, а затем записав его в /dev/lp0

* konwert - конвертировать в указанный набор символов. http://www.linuxcertif.com/man/1/konwert/

Доступно в репо.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .