Intermec PB51 говорит, что имеет 864 точек, но только 832
Я печатаю изображения на Intermec PB51, используя язык ESC/P.
в ESC V
в спецификации команды написано:
После того, как принтер получит эту команду, принтер сбрасывает двоичные данные, поступающие непосредственно в печатающую головку. Графика, напечатанная с помощью этой команды, должна быть точной ширины печатающей головки в битах.
Команда запроса печатающей головки (PH?
) отвечает с TD
параметр, который задокументирован как
TD: общее количество точек в печатающей головке.
Когда я отправляю команду запроса печатающей головки на свой Intermec PB51, он отвечает 0864
как общее количество точек, но когда я использую 864 в качестве ширины принтера в моей функции печати изображения, изображение облажается и (поскольку я, кажется, отправляю слишком много байтов, принтер впоследствии находится в недопустимом состоянии).
При выборе значения 832 изображение печатается очень хорошо. Теперь вопрос в том, откуда берутся эти дополнительные 32 бита (4 байта)?
Ниже найдите изображение для печати с точечным кодированием точек по 832
Если я использую 864, как предлагает принтер, вывод выглядит так