Некоторое время назад написал программу для печати на самоклеящихся этикетках для Zebra-образных принтеров.
Команды на принтер отправляются через COM-порт. Она работает на основной массе принтеров, но криво работает на Zebra LP 2824. Но не на всех. На отдельных LP 2824 работает идеально. Отличий от тех, где не работает - не могу найти.
Схема:
К ПК через шнур-переходник USB-COM (Либо Prolific, либо китайский CH 34) прикрепляется Zebra LP 2824. В Windows создается виртуальный COM-порт.
На данный COM-порт моей программой отправляется такой вот фрагмент кода на языке EPL. Код:
U1 setvar "device.languages" "epl"
N
ZN
S3
WY
D10
R02,0
q240
Q160,010
B30,1,0,1C,2,7,75,B,"ШТРИХКОД"
I8,C,001
A30,105,0,2,1,1,N,"ФИО"
A20,123,0,2,1,1,N,"ОТДЕЛ"
P1
Как видно, здесь запрограммирована примерно посередине наклейки печать некоего ШТРИХКОДа, а ниже некоторая строка "ФИО", а затем некоторая строка "ОТДЕЛ". ФИО, ШК и ОТДЕЛ параметризуются.
Программа переводит эту строку в байты и загоняет в COM порт через стандартную библиотеку System.IO.Ports из .NET фреймворка. Эта программа на разных LP 2824 либо работает идеально, либо глючит везде одинаково.
Например. Если задать ШК= 123456 и ФИО = Тестов, то наклейка нормально печатается Если задать ШК = 123456 и ФИО = Тестовый, то вообще ничего не печатается (даже не выезжает). Если задать ШК = 12345670 и ФИО = Тестов , то наклейка нормально печатается Если задать ШК = 12345670 и ФИО = Тестовский, то вообще ничего не печатается.
То есть, это явно зависит от длины передаваемых данных. Казалось, принтер каким-то образом их обрезает. Но если до конца не передается код с ФИО, не должна также печататься и вся этикетка, потому что команда посылки на печать в конце (P1). А также не печаталась бы строка "ОТДЕЛ".
Пробовал менять параметры порта - не помогает.
Параметры порта, когда печатает большинство принтеров, такие Скорость: 9600, четность : нет, стоп-бит:1, биты данных: 8, управление потоком - пробовал все (None, Hardware, Xon/Xoff).
Ломаю голову, прошу идей, советов..
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть основная таблица с записями, в проекте описана как следующий класс
Есть некий метод, который получает в качестве параметра довольно большую стринговину (порядка 50000 символов и более)Метод разбивает полученную...
Кто-нибудь может подсказать, как можно при нажатии ListBoxItem выполнить команду открытия нового окна(MVVM) ListBox заполняется через ItemSource