Я пытаюсь распечатать принтер зебры. Zebra предоставил мне стандартный образец кода в C# Там они использовали порт 9100 для подключения к принтеруПринтер Zebra KR403 номер порта
System.Net.Sockets.TcpClient client = new System.Net.Sockets.TcpClient();
client.Connect("127.0.0.1", 9100);
Однако каждый раз, когда я запускаю этот код он выходит из строя, так как не существует такой номер порта доступен Я также использовал телнет 127.0.01 9100, и это подтвердило, что ничего не слушает 9100 Я также пробовал порт 6101, как и некоторые принтеры Zebra.
Я могу работать в команде дос
print /D:\\127.0.0.1\KR403 d:\print.txt
Это делает печать, и доказывает, что это как-то прислушивается к сети внутри. Это устройство является USB-принтером, и это усложняет установку статического идентификатора порта. Возможно, также странно, что приведенная выше команда печатает штрих-код, но не режет бумагу; когда я печатаю с помощью блокнота (который, я полагаю, не использует сеть для печати), тогда он разрезает бумагу, но бумага имеет длину 40 см (путь к большому). Так что я нахожусь в битве с водителем.
Что я надеюсь сделать, это отправить команду печати с использованием C# и использовать команды ZPL для печати Microsoft также написала статью о грубой печати, но на этом принтере она не работает.
Все, что я хочу сделать, это отправить инструкции ZPL на этот принтер. АОЛО пытался универсальный драйвер .txt, это работает для блокнота, но не для C#
кода, используемый:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
// print /D:\\127.0.0.1\KR403 d:\print.txt
namespace PrinterTest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
// Printer IP Address and communication port
string ipAddress = @"192.168.2.109";
int port = 6101; // 9100;//
// ZPL Command(s)
string ZPLString =
"^XA" +
"^FO50,50" +
"^A0N50,50" +
"^FDHello, World!^FS" +
"^XZ";
try
{
// Open connection
System.Net.Sockets.TcpClient client = new System.Net.Sockets.TcpClient();
//client.Connect(ipAddress, port);
client.Connect(ipAddress, port);
// string tmp = "\\127.0.0.1\KR403";
// client.Connect(@"\\localhost",9100);
// Write ZPL String to connection
System.IO.StreamWriter writer = new System.IO.StreamWriter(client.GetStream());
writer.Write(ZPLString);
writer.Flush();
// Close Connection
writer.Close();
client.Close();
}
catch (Exception ex)
{
MessageBox.Show("Error");
}
}
}
}
- это принтер, установленный на вашем компьютере? В настройках принтера должен отображаться порт, к которому он подключен, в панели управления. –
Да, но там, где он обычно читал номер nummber порта, я вижу, что USB0001 не то, что я могу использовать. – user613326