2015-01-10 8 views
1

Привет Я реализую скрипт python, который должен печатать некоторый текст в режиме реального времени на небольшом 58-миллиметровом термопринтере POS. Для этого я использую библиотеку python-escpos. Все работает нормально, но я узнаю, что принтер начинает печатать после завершения сценария. Я не могу понять эту причину, по которой я хочу отправить команду diffenrent Epson.text («foobar») во время цикла. На данный момент все тексты-отпечатки печатаются после завершения цикла (демонстрационный цикл с некоторым сном (5)), и я возвращаюсь к команде promt.текст прямой печати python-escpos

from escpos import * 
from time import sleep 

Epson = printer.File("/dev/usb/lp0") 

while True: 
Epson.text("Hello World\n") 
sleep(5) 
+0

Не могли бы вы прояснить последнее утверждение? –

+0

Я запускаю скрипт с «sudo python script.py», затем я могу позволить ему запустить некоторое время (пример 30 секунд). Принтер ничего не делает, пока я не отменил скрипт. после отмены запуска принтера и распечатываются все распечатки «hello world». – phpman

+0

. Я узнал, что после выполнения «Epson.close()» принтер начинает печатать - может быть, проблема в том, что я использую мой термопринтер поверх файловая система/dev/usb/lp0. Для обходного пути я теперь открою файл-подключение к принтеру во время цикла и закрою его перед сном (5). – phpman

ответ

3

В настоящее время я поддерживаю python-escpos. (свыше https://github.com/python-escpos/python-escpos)

С помощью «File» -printer вам необходимо позвонить printer.flush() в настоящий момент, иначе буфер печати не будет отправлен. Я открыл вопрос, следует ли адаптировать поведение к другим принтерам.

+2

Просто обновление: v2.1.2 python-escpos теперь автоматически очищается после каждой команды. –

+0

Я использую ваши скрипты, адаптировал их к своим EPSON TM-T88IV и V, изменил оба идентификатора на 0x04b8, 0x0e02 или 0x04b8, 0x0202, и получаю сообщение об ошибке 'TypeError: __init __() получил неожиданный аргумент ключевого слова ' у меня есть идея, что я могу сделать? Спасибо за вашу помощь. Майкл – ddlab

+0

Возможно, вы должны создать новый вопрос. На первый взгляд у вас, вероятно, есть версия 2.2 или что-то вроде этого. Пожалуйста, проверьте правильность документации для этой версии. Текущая версия 3 доступна только при установке предварительных версий с помощью pip (в настоящее время это альфа) –

 Смежные вопросы

  • Нет связанных вопросов^_^