资源简介
做项目涉及到打印的,前面用了水晶报表来做。结果客户说打印速度太慢,达不到要求,客户要求在1秒之内一个标签。结果就研究用ZPL指令直接发送到打印机。这速度就提高了。因为绕过了生成报表,打印池。
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Net;
using System.Net.Sockets;
namespace ZPLPrinter
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender EventArgs e)
{
foreach (string pkInstalledPrinters in System.Drawing.Printing.PrinterSettings.InstalledPrinters)
{
cmbInstalledPrinters.Items.Add(pkInstalledPrinters);
}
if (cmbInstalledPrinters.Items.Contains(“ZDesigner GK888t (EPL)“))
{
cmbInstalledPrinters.Text = “ZDesigner GK888t (EPL)“;
}
}
private void btnPrintZPL_Click(object sender EventArgs e)
{
//string str = “漕宝路二店“;
//this.richTextBox1.Text=ConvertHex(str);
if (!string.IsNullOrEmpty(cmbInstalledPrinters.Text))
{
// Send a printer-specific to the printer.
RawPrinterHelper.SendStringToPrinter(cmbInstalledPrinters.Text this.richTextBox2.Text);
}
}
private string ConvertHex(string str)
{
string strReturn = ““;
foreach (short tx in str.ToCharArray())
{
strReturn += tx.ToString(“X4“);
}
return strReturn;
}
///
/// 打印
///
///
///
private void btnPrint_Click(object sender EventArgs e)
{
if (!string.IsNullOrEmpty(cmbInstalledPrinters.Text))
{
// Send a printer-specific to the printer.
// richTextBox1.Text = Encoding.GetEncoding(“GB2312“).GetBytes(GetPrintData());
richTextBox1.Text = GetPrintData();
RawPrinterHelper.SendStringToPrinter(cmbInstalledPrinters.Text richTextBox1.Text);
}
//IPEndPoint iep = new IPEndPoint(IPAddress.Parse(“192.9.200.22“) 9100);
//Socket sk = new Socket(AddressFamily.InterNetwork SocketType.Stream ProtocolType.Tcp);
//sk.Connect(iep);
//byte[] message = Encoding.GetEncoding(“GB2312“).GetBytes(GetPrintData());
//sk.Send(message);
//sk.Close();
}
///
/// 生成标签指令
///
///
private string GetPrintData()
{
StringBuilder strBuilder = new StringBuilder();
strBuilder.AppendLine(“^XA“); //指令开始
strBuilder.AppendLine(“^PR12“); //打印速度
strBuilder.AppendLine(“^FOX50^ADN3620^FD1
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2012-10-24 15:34 ZPLPrinter\
目录 0 2012-11-02 15:24 ZPLPrinter\ZPLPrinter\
文件 4748 2012-10-25 16:28 ZPLPrinter\ZPLPrinter\Form1.Designer.cs
文件 4388 2012-11-02 15:24 ZPLPrinter\ZPLPrinter\Form1.cs
文件 5814 2012-10-25 16:28 ZPLPrinter\ZPLPrinter\Form1.resx
文件 480 2011-11-11 11:07 ZPLPrinter\ZPLPrinter\Program.cs
目录 0 2012-10-24 15:34 ZPLPrinter\ZPLPrinter\Properties\
文件 1268 2011-11-11 11:07 ZPLPrinter\ZPLPrinter\Properties\AssemblyInfo.cs
文件 2849 2011-11-11 11:07 ZPLPrinter\ZPLPrinter\Properties\Resources.Designer.cs
文件 5612 2011-11-11 11:07 ZPLPrinter\ZPLPrinter\Properties\Resources.resx
文件 1095 2011-11-11 11:07 ZPLPrinter\ZPLPrinter\Properties\Settings.Designer.cs
文件 249 2011-11-11 11:07 ZPLPrinter\ZPLPrinter\Properties\Settings.settings
文件 7035 2012-11-02 15:24 ZPLPrinter\ZPLPrinter\RawPrinterHelper.cs
文件 3274 2011-11-11 11:13 ZPLPrinter\ZPLPrinter\ZPLPrinter.csproj
目录 0 2011-11-11 11:07 ZPLPrinter\ZPLPrinter\bin\
目录 0 2012-11-02 15:24 ZPLPrinter\ZPLPrinter\bin\Debug\
文件 24576 2012-11-02 15:24 ZPLPrinter\ZPLPrinter\bin\Debug\ZPLPrinter.exe
文件 26112 2012-11-02 15:24 ZPLPrinter\ZPLPrinter\bin\Debug\ZPLPrinter.pdb
文件 5632 2011-11-11 11:07 ZPLPrinter\ZPLPrinter\bin\Debug\ZPLPrinter.vshost.exe
目录 0 2012-10-24 15:34 ZPLPrinter\ZPLPrinter\obj\
目录 0 2012-11-02 15:24 ZPLPrinter\ZPLPrinter\obj\Debug\
目录 0 2012-11-02 15:24 ZPLPrinter\ZPLPrinter\obj\Debug\TempPE\
文件 180 2012-11-02 15:24 ZPLPrinter\ZPLPrinter\obj\Debug\ZPLPrinter.Form1.resources
文件 180 2012-11-02 15:24 ZPLPrinter\ZPLPrinter\obj\Debug\ZPLPrinter.Properties.Resources.resources
文件 842 2012-11-02 15:24 ZPLPrinter\ZPLPrinter\obj\Debug\ZPLPrinter.csproj.GenerateResource.Cache
文件 24576 2012-11-02 15:24 ZPLPrinter\ZPLPrinter\obj\Debug\ZPLPrinter.exe
文件 26112 2012-11-02 15:24 ZPLPrinter\ZPLPrinter\obj\Debug\ZPLPrinter.pdb
文件 1490 2012-11-02 15:24 ZPLPrinter\ZPLPrinter\obj\ZPLPrinter.csproj.FileListAbsolute.txt
文件 919 2011-11-11 11:07 ZPLPrinter\ZPLPrinter.sln
文件 16896 2012-11-02 15:24 ZPLPrinter\ZPLPrinter.suo
- 上一篇:c#下的多种字符串加密解密算法
- 下一篇:C# 连连看 源码
评论
共有 条评论