如何使用 Microsoft POS 打印机画线

How to draw line with Microsoft POS Printer

我正在使用 Microsoft Point Of Service SDK,我正在我的应用程序和随 SDK 提供的示例中进行测试,以尝试使用类似于此的代码打印一行:

posPrinter.DrawRuledLine(PrinterStation.Receipt, "0,500", LineDirection.Horizontal, 1, LineStyle.BrokenLine, 1);

我收到这个错误:

POSControlException ErrorCode(Illegal) ExtendedErrorCode(0) occurred: Method DrawRuledLine threw an exception. Attempt was made to perform an illegal or unsupported operation with the device, or an invalid parameter value was used.

Microsoft POS 倾向于抛出非常普遍的错误,我不知道我做错了什么。我在其他方法上也有类似的错误,结果证明这是因为我传递了一个不太有效的参数,比如宽度太大。但是我测试了各种组合,但总是失败。并且没有足够的关于它接收的参数的文档。

我需要传递什么参数给这个方法来画线?这是与 Microsoft POS 划清界限的首选方式吗?

Microsoft Point Of Service(UnifiedPOS 实施的一部分)是一个 API 具有抽象标准规范并且不具备真实打印机的所有功能。

如果您的打印机和运行它的服务对象没有 DrawRuledLine 功能,您将收到该错误。

ErrorCode Enumeration (POS for .NET v1.12 SDK Documentation)

Illegal
An attempt was made to perform an illegal or unsupported operation with the device, or an invalid parameter value was used.

可以通过查看CapRecRuledLine(CapSlpRuledLine for Slip stations)的值来提前确认该功能的存在与否属性.

如果您想使用此 DrawRuledLine 方法在收据上画一条线,您需要切换到支持该功能的打印机和服务对象。

如果不想换打印机,就得换成字符行了