【求助】关于.NET(C#)调用斑马打印机(ZDesigner GK888t (EPL))换页时退纸的问题
2017-03-01 21:20
441 查看
有解决过类似问题的大神请留步,救救我吧。
-------分割-------
最近在做一个快递标签打印系统,使用.NET(C#)调用斑马打印机【ZDesigner GK888t (EPL)】进行打印,程序实现的是连续打印,但实际打印机却是打一张,停一下,退一点纸,然后下一张,再停一下,。。。依此类推。
因为是大批量的标签,所以这个间隔不能忍受,尝试了各种打印机属性和选项的设置都没有用。
百度看到有人说换成海鸥的驱动,测试后果然不再中间停顿,但业务方不是很接受这个方案(机器较多,换驱动的工作量也蛮大的),没办法只能找代码的问题,测试发现即使把打印逻辑精简到最简也一样会停顿,以下是打印两页最精简的测试代码,请帮我看看有什么不妥:
方案一:
方案二:
使用了以上两种方案进行打印测试,均会在两页之间有个明显的暂停并且回纸。
-------分割-------
最近在做一个快递标签打印系统,使用.NET(C#)调用斑马打印机【ZDesigner GK888t (EPL)】进行打印,程序实现的是连续打印,但实际打印机却是打一张,停一下,退一点纸,然后下一张,再停一下,。。。依此类推。
因为是大批量的标签,所以这个间隔不能忍受,尝试了各种打印机属性和选项的设置都没有用。
百度看到有人说换成海鸥的驱动,测试后果然不再中间停顿,但业务方不是很接受这个方案(机器较多,换驱动的工作量也蛮大的),没办法只能找代码的问题,测试发现即使把打印逻辑精简到最简也一样会停顿,以下是打印两页最精简的测试代码,请帮我看看有什么不妥:
方案一:
using System.Drawing.Printing; using System.IO; using System.Windows.Forms; namespace PrintServer { internal static class Program { /// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] private static void Main(string[] args) { for (int i = 0; i < 2; i++) { Test(); } } private static void Test() { var printDocument = new PrintDocument(); printDocument.PrintPage += new PrintPageEventHandler(printDocument_PrintPage); printDocument.PrinterSettings.PrinterName = "ZDesigner GK888t (EPL)"; printDocument.Print(); } private static void printDocument_PrintPage(object sender, PrintPageEventArgs e) { e.Graphics.DrawLine(Pens.Black, 100, 100, 200, 200); } } }
方案二:
using System.Drawing.Printing; using System.IO; using System.Windows.Forms; namespace PrintServer { internal static class Program { /// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] private static void Main(string[] args) { Test(); } private static void Test() { var printDocument = new PrintDocument(); printDocument.PrintPage += new PrintPageEventHandler(printDocument_PrintPage); printDocument.PrinterSettings.PrinterName = "ZDesigner GK888t (EPL)"; printDocument.Print(); } private static int _printedCount = 0; private static void printDocument_PrintPage(object sender, PrintPageEventArgs e) { e.Graphics.DrawLine(Pens.Black, 100, 100, 200, 200); _printedCount++; e.HasMorePages = _printedCount < 2; } } }
使用了以上两种方案进行打印测试,均会在两页之间有个明显的暂停并且回纸。
相关文章推荐
- C#调用斑马打印机打印条码标签(支持COM、LPT、USB、TCP连接方式和ZPL、EPL、CPCL指令)
- C#调用斑马打印机打印条码标签(支持COM、LPT、USB、TCP连接方式和ZPL、EPL、CPCL指令)
- C#调用斑马打印机打印条码标签(支持COM、LPT、USB、TCP连接方式和ZPL、EPL、CPCL指令)
- C#调用斑马打印机打印条码标签(支持COM、LPT、USB、TCP连接方式和ZPL、EPL、CPCL指令)
- C#调用斑马打印机打印条码标签(支持COM、LPT、USB、TCP连接方式和ZPL、EPL、CPCL指令)
- C#调用斑马打印机打印条码标签(支持COM、LPT、USB、TCP连接方式和ZPL、EPL、CPCL指令)
- C#调用斑马打印机打印条码标签(支持COM/LPT/USB/ZPL/EPL/Bitmap)
- C#调用斑马打印机打印条码标签(支持COM、LPT、USB、TCP连接方式和ZPL、EPL、CPCL指令)【转】
- C#调用斑马打印机打印条码标签(支持COM/LPT/USB/ZPL/EPL/Bitmap)
- C#调用斑马打印机打印条码标签(支持COM/LPT/USB/ZPL/EPL/Bitmap)
- C#调用斑马打印机打印条码标签(支持COM、LPT、USB、TCP连接方式和ZPL、EPL、CPCL指令)
- .net中前台javascript与后台c#函数相互调用问题
- 请教:关于C#调用COM的问题
- 关于C#程序调用AMFPHP服务的问题!!
- 关于解决在.Net中调用Excel对象后关闭Excel进程的问题
- .net中C#代码与javaScript函数的相互调用问题。
- 关于.NET C#调用Sqlite的总结一
- .net中前台javascript与后台c#函数相互调用问题
- 关于C#调用Office Web Components绘图的问题
- 关于.net(C#)中的跨进程访问的问题