UniPRT SDK  v1.0.0.0
UniPRT.Sdk.Monitor.PrinterMonitor类 参考

模块用于促进监听/检索印表机未请求的讯息或检索印表机状态/资讯。 更多...

类 UniPRT.Sdk.Monitor.PrinterMonitor 继承关系图:
UniPRT.Sdk.Monitor.IPrinterMonitor

Public 成员函数

 PrinterMonitor (string commDescriptor)
 当创建由 SDK 管理的连接时调用的构造函数。 更多...
 
void Dispose ()
 
string GetEngineStatus ()
 继承自 IPrinterMonitor.GetEngineStatus。
 
string[] GetFaultStatus ()
 继承自 IPrinterMonitor.GetFaultStatus。
 
PrinterInfo GetPrinterInfo ()
 继承自 IPrinterMonitor.GetPrinterInfo。
 

Protected 成员函数

virtual void Dispose (bool disposing)
 

属性

AlertStatusNotice AlertStatusCallback [get, set]
 继承自 IPrinterMonitor.AlertStatusCallback。
 
bool? AlertStatusListening [get, set]
 继承自 IPrinterMonitor.AlertStatusListening。
 
DisplayStatusNotice DisplayStatusCallback [get, set]
 继承自 IPrinterMonitor.DisplayStatusCallback。
 
bool? DisplayStatusListening [get, set]
 继承自 IPrinterMonitor.DisplayStatusListening。
 
EngineStatusNotice EngineStatusCallback [get, set]
 继承自 IPrinterMonitor.EngineStatusCallback。
 
bool? EngineStatusListening [get, set]
 继承自 IPrinterMonitor.EngineStatusListening。
 

详细描述

模块用于促进监听/检索印表机未请求的讯息或检索印表机状态/资讯。

未请求的讯息,如果在印表机上启用,可以随时发送。 此模块需要持续连接到印表机的管理端口,以便监听印表机发送的任何讯息。

示例

using System;
namespace Snippets
{
public class MyPrinterMonitoring
{
// setup a comm and xml parser for listening to xml msgs from printer
private static PrinterMonitor _PrinterMntr = null;
public static void MainPrinterMonitor(string[] args)
{
Console.WriteLine("Monitoring Printer.");
try
{
_PrinterMntr = new PrinterMonitor("192.168.1.57");
// setup for listening for alerts
_PrinterMntr.AlertStatusListening = true; // enable unsolicited alert status msgs from printer
_PrinterMntr.AlertStatusCallback = PtrAlertNoticeListener;
// setup for listening for Engine Status
_PrinterMntr.EngineStatusListening = true; // enable unsolicited engine status msgs from printer
_PrinterMntr.EngineStatusCallback = PtrEngineStatusNoticeListener;
// setup for listening for display text msgs
_PrinterMntr.DisplayStatusListening = true; // enable unsolicited display text msgs from printer
_PrinterMntr.DisplayStatusCallback = PtrDisplayStatusNoticeListener;
while (true) // wait for something to happen
{
// pretend to be busy doing some other work here...
}
}
catch (Exception e)
{
Console.WriteLine($"Exception Msg: {e.Message}");
}
finally
{
_PrinterMntr?.Dispose();
}
}
private static void PtrAlertNoticeListener(string[] newAlertText)
{
// Print out alerts: e.g. "2418" ("Print Head Open" fault/alert)
Console.WriteLine($"Printer Alert #: \r\n {newAlertText[0]} - {newAlertText[1]}\r\n");
}
private static void PtrEngineStatusNoticeListener(string newEngineStatus)
{
// Print out engine status: e.g. "idle", "offline", "online", "printing"...
Console.WriteLine($"Engine Status: \r\n {newEngineStatus} \r\n");
}
private static void PtrDisplayStatusNoticeListener(string[] newDisplayText)
{
// Print display msgs: e.g. "ONLINE" "ETHERNET/PGL/LP+" or "PRINT HEAD UP" "Close Print Head"
Console.WriteLine("Printer Display: ");
foreach (string txtLine in newDisplayText)
{
Console.WriteLine($" {txtLine}");
}
}
}
}

输出

通过打开/关闭打印头并按下印表机上的暂停按钮以将印表机置于“离线”/“在线”状态后获得的结果。

输出

构造及析构函数说明

◆ PrinterMonitor()

UniPRT.Sdk.Monitor.PrinterMonitor.PrinterMonitor ( string  commDescriptor)

当创建由 SDK 管理的连接时调用的构造函数。

commDescriptor 是用于与印表机连接的通信描述符。
TCP 描述符格式:"ip" 或 "ip:port"
例如:"127.0.0.1" 或 "127.0.0.1:3007"
如果未提供端口,则使用默认值。

UniPRT
提供对不同通信接口/端口的支持
Definition: Communication.cs:9
UniPRT.Sdk
Definition: Communication.cs:9
UniPRT.Sdk.Monitor
Definition: OdvMonitor.cs:14