Zebra TLP2844 Windows 7 USB escape проблема - PullRequest
1 голос
/ 15 ноября 2010

Я на Windows 7 32bit с последними драйверами от Zebra и печатью через USB на TLP2844.Я пытаюсь сгенерировать набор этикеток и распечатать их на принтере этикеток из C #, используя класс RawPrinterHelper, как упоминалось в многочисленных публикациях в Интернете.Если я включаю принтер и использую команду oM, которая отключает начальную подачу последовательности Esc, тогда он работает отлично и правильно печатает две этикетки.После этого высота кажется неправильной, потому что вместо печати двух этикеток она печатает одну этикетку со вторым фрагментом текста по направлению к нижней части этикетки.Мы будем благодарны за любую помощь.

Размеры этикетки: ширина: 75 мм Высота: 34 мм Разрыв: 3 мм

Пример последовательности команд, отправляемых на принтер:

oM

N
q599
Q272,024
ZT
S2       
A253,26,0,3,1,1,N,"TEST LABEL TEXT"
P1

N
q599
Q272,024
ZT
S2       
A253,26,0,3,1,1,N,"TEST LABEL2 TEXT"
P1

Ответы [ 2 ]

1 голос
/ 15 ноября 2010

Поскольку вы отключаете обнаружение вершины ярлыка, наиболее вероятным виновником является то, что ваш Q272,024 недостаточно велик. Поскольку вы не опубликовали слишком много дополнительной информации, я не уверен, почему вы используете команду oM из своего примера, она не кажется необходимой.


Попробуйте опустить Q и oM, устройство должно быть достаточно умным, чтобы иметь возможность правильно питаться самостоятельно. (убедитесь, что вы сделали сброс, чтобы очистить все предыдущие oM, которые вы, возможно, отправили). Также убедитесь, что вы находитесь в режиме строки, а не в режиме страницы.


Вот несколько классов, которые я написал для преобразования из дюймов или мм в точки, которые я написал для внутреннего использования компанией.

 public static partial class Convert
    {
        /// <summary>
        /// Converts number of dots in to millimeters in length
        /// </summary>
        /// <param name="dots">length in dots</param>
        /// <returns>length in millimeters</returns>
        public static float DotsToMm(int dots)
        {
            return dots * 0.125125f;
        }
        /// <summary>
        /// Converts millimeters to dots in length.
        /// </summary>
        /// <param name="mm">length in millimeters</param>
        /// <returns>length in dots</returns>
        public static int MmToDots(float mm)
        {
            return (int)(mm / 0.125125f);
        }
        /// <summary>
        /// Converts number of dots in to inches in length
        /// </summary>
        /// <param name="dots">length in dots</param>
        /// <returns>length in inches</returns>
        public static float DotsToInches(int dots)
        {
            return dots * 0.0049125f;
        }
        /// <summary>
        /// Converts inches to dots in length.
        /// </summary>
        /// <param name="mm">length in inches</param>
        /// <returns>length in dots</returns>
        public static int InchesToDots(float Inches)
        {
            return (int)(Inches / 0.0049125f);
        }
    }
0 голосов
/ 16 ноября 2010

Драйвер отправляет последовательность инициализации, которая может испортить ваши метки.Можете ли вы захватить выходные данные драйвера, указав его в файл и увидев, что драйвер отправляет вниз?Вы можете поиграть с настройками драйвера, чтобы убедиться, что они верны

...