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 = 印刷キュー内のジョブ's 位置を返す。204 = 総ページ数を返す。205 = 印刷済みページ数を返す。データ型が "RAW" の場合、通常は0。206 = 印刷ジョブ開始からのミリ秒数を返す。207 = 印刷ジョブのデータ型を返す データ型に "RAW" が含まれる場合は1を返す "EMF" が含まれる場合は2を返す "TEXT" が含まれる場合は3を返す "XPS" が含まれる場合は4を返す 300 = エンコードされたジョブステータスを返す。301 = ジョブが一時停止中なら1を返す。302 = エラーがあるなら1を返す。303 = ジョブが削除中なら1を返す。304 = ジョブがスプール中なら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 = 印刷ジョブを削除 |
|---|