передать данные на принтер как необработанные данные

Я работаю с принтером zebra, который определен как принтер по умолчанию на моем компьютере.

Я хочу передать драйверу zebra всю информацию в виде необработанной информации, указать драйверу принтера, чтобы он не кодировал что-либо, поступающее на принтер, а передавал его без изменений.

Я хочу использовать PrintDocument, возможно ли это?

Или вы могли бы предложить что-нибудь еще?


person Night Walker    schedule 04.04.2011    source источник
comment
Можете привести пример API? Например, если SDK использует C или C ++, можете ли вы опубликовать пример?   -  person Rodrick Chapman    schedule 04.04.2011
comment
Я считаю, что в случае с принтерами Zebra использование ZPL является самым простым подходом.   -  person Austin Salonen    schedule 04.04.2011
comment
@Austin Salonen: Как я могу справиться с зеброй, подключенной как принтер по умолчанию, Как я могу отправить свои данные после того, как я их отформатировал в формате ZPL.   -  person Night Walker    schedule 04.04.2011
comment
возможный дубликат Отправка необработанных данных на принтер этикеток FedEx   -  person Will Dean    schedule 04.04.2011
comment
FTP - самая быстрая реализация, IMO (FTP файл ZPL на принтер). При использовании подхода сокетов вы можете передавать ZPL потоковой передачей, но это не так просто, как подход FTP.   -  person Austin Salonen    schedule 04.04.2011


Ответы (3)


Если вы перейдете на вкладку «Расширенная настройка» драйвера принтера Zebra, вы можете «Включить режим сквозной передачи». Затем просто убедитесь, что ваш поток начинается с ${ и заканчивается }$. Тогда драйвер не будет ничего делать с материалом между ${ }$

person Ovi Tisler    schedule 04.04.2011
comment
Это действительно работало с использованием .NET? (Я предполагаю, что это то, чем является PrintDocument.) Я думал, что .NET прямо не поддерживает шрифты принтера, потому что он отображает все в графике при печати. Для работы сквозного режима необходимо использовать шрифт принтера. - person paulmelnikow; 16.08.2011
comment
Драйвер Zebra имеет возможность передавать все данные без преобразования их в растровое изображение. Если вы используете обычный драйвер принтера, вы не получите этой функции. - person Ovi Tisler; 16.08.2011
comment
Работает ли этот параметр сквозной передачи , если текст набран шрифтом TrueType, или он должен быть шрифтом принтера? Я использую драйвер Zebra Designer. - person paulmelnikow; 16.08.2011
comment
Вопрос был не в шрифтах, а просто в передаче данных на принтер через драйвер без какой-либо магии преобразования окон / драйверов. Если вы хотите использовать шрифт TrueType на принтере, вам придется использовать загрузчик шрифтов и графики для загрузки шрифта на принтер, а затем пройти через ZPL, чтобы использовать этот шрифт в вашем формате. - person Ovi Tisler; 16.08.2011
comment
Я не хочу этого делать. Я хочу передавать на принтер команды ZPL, но мое приложение может печатать только с использованием шрифтов TrueType. Я не могу заставить работать сквозной режим. Я думал, это потому, что сквозная передача не будет работать с TrueType, а .NET не может поддерживать ничего другого: km.zebra.com/kb/ stackoverflow.com/questions/783873/ - person paulmelnikow; 16.08.2011

По моему опыту, просмотр драйверов печати Windows был слишком сложным для принтеров Zebra. Если вы можете создать ZPL, есть два варианта (один реальный легкий, а другой немного сложный):

  1. Сохраните ZPL в файл и отправьте его на принтер по FTP.
  2. Потоковая передача ZPL на принтер через сокеты.

Я делал и то, и другое в прошлом, и, насколько мне известно, обе системы все еще работают без проблем.

person Austin Salonen    schedule 04.04.2011
comment
Если моя Zebra подключена к компьютеру через usb и определена как принтер по умолчанию, я не уверен, что у нее есть IP-адрес для загрузки через ftp. - person Night Walker; 04.04.2011
comment
Я считаю, что вы можете скопировать файл в LPT - person Austin Salonen; 04.04.2011
comment
Но я подключился через USB-соединение. - person Night Walker; 04.04.2011

Вы не можете просто распечатать необработанные данные на принтере zebra. Принтер распознает только команды, которые поддерживаются языком принтера, например: ZPL, EPL или оба в некоторых моделях.

Печать документа возможна при условии, что один из вышеупомянутых кодов записан в текстовом файле, который вы отправляете на принтер. Например.:

^XA
^FO50,50
^A0N,30,30^FDTEST PRINT^FS
^XZ

Сохраните эти команды в блокноте и сохраните его, скажем, как «test.txt». Теперь вы можете распечатать этот документ прямо на принтере, выполнив следующую команду DOS (при условии, что принтер подключен через порт LPT2)

Откройте командную строку DOS и введите:

copy test.txt lpt2

Если принтер подключен через порт USB, установите принтер «Generic / Text Only» (доступен в Windows по умолчанию), а затем откройте блокнот и распечатайте на принтере Generic / Text Only.

person ILYAS    schedule 21.10.2014