【问题标题】:Not getting status message from Receipt Printer for "Receipt Empty" case收据打印机未收到“收据空”案例的状态消息
【发布时间】:2013-03-04 16:07:02
【问题描述】:

我正在使用 TM U220 收据打印机。我正在使用 Epson OPOS ADK for .Net 和 Microsoft PosFor.Net 来开发我的收据打印应用程序。

我正在尝试从设备获取状态信息,例如收据为空和收据接近空。但我总是得到成功的状态,即使打印机中没有收据。

PosPrinter m_Printer; // Name of printer instance.
//Initialisation of printer.
//

m_Printer.Open();
m_Printer.Claim();
m_Printer.Enabled = true;

if(m_Printer.RecEmpty || m_Printer.RecNearEmpty)
{
//Show the status message.
}

上面的代码用于测试这种情况。无论打印机中的收据情况如何,我总是将这些布尔值视为错误。

请帮助我。我是否应该采取更多措施来获取这些状态信息。POS

【问题讨论】:

  • 您是否尝试过测试CapRecEmptySensor 以确保打印机/ opos 驱动程序支持RecEmpty 方法?来自文档“如果 CapRecEmptySensor 属性设置为 false,则 RecEmpty 的值始终设置为 false。”
  • CapRecEmptySensor 值仅变为 true 。我也查过了。
  • 我刚刚用 TM-T88 进行了检查,我可以在以下情况下发生这种情况 (1) open/claim 调用失败(也导致无法打印)或(2) 纸的封面是打开的,如果封面是打开的,RecEmpty 总是返回 false,希望能有所帮助。

标签: c# .net epson opos pos-for-.net


【解决方案1】:

尝试为 m_printer 对象添加事件处理程序。并在此块上放置一个 try catch,以便通知您正在发生的事情!

【讨论】:

    【解决方案2】:

    Epson OPOS 改变了这一点,即使在其最新版本 (2.80) 中也是如此。 对于 TM-U220 型号,我使用以下内容:

    启用 PowerNotify

    m_Printer.PowerNotify = 1
    

    然后获取打印机Powerstate

    Select Case m_Printer.PowerState
        Case 2000       'DESCONOCIDO, NO TIENE LA CAPACIDAD, NO HACER NADA
        Case 2001       'EN LINEA
        Case 2002, 2003, 2004    'APAGADA 'FUERA DE LINEA 'APAGADA
        msgbox "check printer"
    End Select
    

    这不适用于 TM-U950 型号。

    【讨论】:

    • 理想情况下,这应该是一个 C# 代码 sn-p,因为这是问题所要求的。
    猜你喜欢
    • 1970-01-01
    • 2022-10-20
    • 2013-05-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-21
    • 2013-02-22
    • 2014-05-03
    • 2016-07-08
    相关资源
    最近更新 更多