C# отправляет обычный текст на принтер по умолчанию (принтер Zebra)
Как лучше всего отправить текст на принтер по умолчанию?
Принтер - это Zebra, а текст - это строка ZPL.
Существует множество примеров с размером шрифта, графикой, точками (x,y). Очень запутанно.
Но мне нужно отправить строку, и принтер выполняет свою работу.
2 ответа
Вы можете открыть порт напрямую, используя a p/invoke для OpenFile
если вы подключены через LPT или COM-порты, но в противном случае вам нужно будет использовать API билета для печати, чтобы создать RAW
отформатированная работа. См. http://support.microsoft.com/?kbid=322091 для вспомогательного класса, который вызывает соответствующие функции платформы, чтобы разрешить задания печати RAW из C#.
Ваш принтер Zebra подключен к сети?
Если так, это будет работать
// Printer IP Address and communication port
string ipAddress = "10.3.14.42";
int port = 9100;
// ZPL Command(s)
string ZPLString =
"^XA" +
"^FO50,50" +
"^A0N50,50" +
"^FDHello, World!^FS" +
"^XZ";
try
{
// Open connection
using (System.Net.Sockets.TcpClient client = new System.Net.Sockets.TcpClient())
{
client.Connect(ipAddress, port);
// Write ZPL String to connection
using (System.IO.StreamWriter writer = new System.IO.StreamWriter(client.GetStream()))
{
writer.Write(ZPLString);
writer.Flush();
}
}
}
catch (Exception ex)
{
// Catch Exception
}
Я также успешно использовал эту библиотеку для USB.