RequestPrinterStatus
渲染和列印
描述
此函式用來啟用可回傳印表機狀態的替代列印系統。回傳的狀態代碼多由印表機驅動程式提供,不保證所有印表機的值都有意義。
第一步以 StatusCommand=101 呼叫此函式,啟用印表機狀態監控。也可以再用 StatusCommand=103 呼叫一次,讓列印工作以暫停狀態啟動;列印工作太短、狀態還沒讀到就結束時,這一步可能是必要的
之後就能照常用某個列印函式啟動列印工作:PrintDocument、PrintDocumentToFile 或
PrintDocumentToPrinterObject.
列印工作開始後,可以反覆呼叫此函式,隨時間取得該列印工作的印表機狀態。若列印工作以暫停狀態啟動,必須以 StatusCommand=402 呼叫此函式後才會真正開始列印
語法
Delphi
Function TPDFlib.RequestPrinterStatus(StatusCommand: Integer): Integer;
ActiveX
Function PDFlib::RequestPrinterStatus(StatusCommand As Long) As Long
DLL
int DLRequestPrinterStatus(int InstanceID, int StatusCommand);
參數
| StatusCommand | 100 = 關閉印表機狀態監控。 101 = 開啟印表機狀態監控。 102 = 印表機狀態監控作用中時傳回 1。 103 = 以暫停狀態啟動列印工作。 104 = 立即開始列印。 105 = 列印工作將以暫停狀態啟動時傳回 1。 200 = 列印工作資料存在時傳回 1。 201 = 傳回 Windows Spooler JobID。 202 = 傳回工作優先權,1 到 99。 203 = 傳回工作在列印佇列中的位置。 204 = 傳回總頁數。 205 = 傳回已列印頁數。資料類型為 "RAW" 時通常是零。 206 = 傳回列印工作啟動至今的毫秒數。 207 = 傳回列印工作資料類型 資料類型含 "RAW" 傳回 1 含 "EMF" 傳回 2 含 "TEXT" 傳回 3 含 "XPS" 傳回 4 300 = 傳回編碼後的工作狀態。 301 = 工作暫停時傳回 1。 302 = 有錯誤時傳回 1。 303 = 工作正在刪除時傳回 1。 304 = 工作正在 spool 時傳回 1。 305 = 工作正在列印時傳回 1。 306 = 印表機離線時傳回 1。 307 = 印表機缺紙時傳回 1。 308 = 工作已列印時傳回 1。 309 = 工作已刪除時傳回 1。 310 = 驅動程式無法列印該工作時傳回 1。 311 = 印表機有需要使用者處理的錯誤時傳回 1。 312 = 工作已重新啟動時傳回 1。 313 = Windows XP 以上,工作已送往印表機時傳回 1(可能尚未列印)。 314 = Windows Vista 以上,工作被保留在列印佇列且無法刪除時傳回 1。 401 = 暫停列印工作。 402 = 恢復暫停的列印工作。 403 = 刪除列印工作。 |
|---|