UniPRT SDK  v1.0.0.0
UniPRT.Sdk.Monitor.PrinterMonitor 類別 參考文件

模組用於促進監聽/檢索印表機未經請求的訊息或檢索印表機狀態/資訊。 更多...

類別UniPRT.Sdk.Monitor.PrinterMonitor的繼承圖:
UniPRT.Sdk.Monitor.IPrinterMonitor

公開方法(Public Methods)

 PrinterMonitor (string commDescriptor)
 當創建由 SDK 管理的連接時呼叫的構造函數。 更多...
 
void Dispose ()
 
string GetEngineStatus ()
 繼承自 IPrinterMonitor.GetEngineStatus。
 
string[] GetFaultStatus ()
 繼承自 IPrinterMonitor.GetFaultStatus。
 
PrinterInfo GetPrinterInfo ()
 繼承自 IPrinterMonitor.GetPrinterInfo。
 

保護方法(Protected Methods)

virtual void Dispose (bool disposing)
 

屬性(properties)

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