请帮我。我是 c# POS .net 打印的新手,我正在为我的项目使用 EPSON TM-T81 热敏打印机。
我已经知道如何使用 PosPrinter.PrintBarBarcode 方法水平打印条形码,但我的问题是我想垂直打印条形码。
我可以使用 PosPrinter.RotatePrint 方法垂直打印任何文本,只要我将其 PrintRotation 指定为以下任何枚举:Left90,Normal,Rigth90,Rotate180,Barcode,Bitmap
我注意到 PrintRotaion 包含条形码和位图,所以我认为我也可以使用 PosPrinter.RotatePrint 垂直打印条形码,我这样做了:
//the PosPrinter obj is named printer and has already been opened,claimed and enabled
printer.RotatePrint(PrinterStation.Receipt, PrintRotation.Barcode);
printer.PrintBarCode(PrinterStation.Receipt,"123",BarCodeSymbology.Code128,printer.RecLineHeight,printer.RecLineWidth,PosPrinter.PrinterBarCodeCenter,BarCodeTextPosition.Below);
//stop rotation and back to normal printing
printer.RotatePrint(PrinterStation.Receipt, PrintRotation.Normal);
此代码将完美编译,但当我开始执行代码时,将处理异常,因为我在此块中使用了 try-catch。
这是例外:
方法 RotatePrint 引发了异常。试图对设备执行非法或不受支持的操作,或者使用了无效的参数值。
我阅读了 PrintRotation.Barcode 描述,它说:
旋转条码打印。(与上述旋转值之一进行或运算。)
现在,“(与上述旋转值之一进行或运算。)”是什么意思?我是否必须在这样的代码块之前指定另一个 PrintRotation 枚举?
PosPrinter obj 被命名为打印机并且已经被打开、认领和启用
//I added this
printer.RotatePrint(PrinterStation.Receipt, PrintRotation.Left90);
printer.RotatePrint(PrinterStation.Receipt, PrintRotation.Barcode);
printer.PrintBarCode(PrinterStation.Receipt, "123", BarCodeSymbology.Code128, printer.RecLineHeight,printer.RecLineWidth,PosPrinter.PrinterBarCodeCenter,BarCodeTextPosition.Below);
printer.RotatePrint(PrinterStation.Receipt, PrintRotation.Normal);
当我尝试执行这些语句时,我仍然得到相同的异常。
请帮我。条形码可以垂直打印吗?这不是垂直打印条形码的方式吗?十分感谢大家。