This application will send raw data to a networked printer.
The printer does not need to be installed on your pc but you obviously need access rights to the network.(ask your friendly administrator)
The printer I used is a Zebra gk420t connected via a network cable. The name of the printer is found under it i.e(ZBR3677984) and The IP isn't static.
Using socket printing you can relocate your printer anywhere on the network. Very handy. I have used VS2005 anc c#.
Create a windows project add a button code the following under it, add a textbox to display a few interesting infos.
Obviously you need to change the printer's name in the code.
To get all the info you need from your zebra printer open a browser then goto http://printername (i.e: http://ZBR3677984) you will need
A password to access the settings but default zebra password is usually 1234...........easy
Also my zplstring in the code is a bit of a mess you will need to study the zpl programmers guide to make sense of it all. Happy coding and Hope this helps.
using System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Text;
using
System.Windows.Forms;
using System.Net;
using
System.Net.Sockets;
namespace zpltest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void
button1_Click(object sender, EventArgs e)
{
try
{
IPHostEntry IPHost = Dns.GetHostEntry("ZBR3677984");
string[] aliases = IPHost.Aliases;
IPAddress[] addr = IPHost.AddressList;
this.textBox1.Text = IPHost.HostName;
this.textBox1.Text = this.textBox1.Text
+ " " + addr[0];
EndPoint ep = new IPEndPoint(addr[0], 9100);
Socket sock = new Socket(AddressFamily.InterNetwork,
SocketType.Stream, ProtocolType.Tcp);
sock.Connect(ep);
NetworkStream ns = new
NetworkStream(sock);
String transferType = "^MTT";// Sets
the type to thermal transfer
String ZPLString = "^LH5,5"
+ transferType +
"^BY2" + "^MNM"
+
"^FO50,30"
+ "^ADN,96,20^FD" + "blabla" + "^FS"
+
"^FO250,130" + "^BCN,70,N,N,N"
+ "^FD" +
"BarCode1" + "^FS"
+
"^FO50,230" + "^ADN,96,20^FD"
+ " BarCode2" + "^FS";
ZPLString
= "^XA" + ZPLString + "^XZ";
byte[] toSend = Encoding.ASCII.GetBytes(ZPLString);
ns.Write(toSend, 0, toSend.Length);
}
catch (Exception
ex)
{
MessageBox.Show(ex.Message);
}
}
}
}