2012-03-07 17 views

答えて

0

これは、印刷プロセスに対するコントロールの程度によって異なります。 SetJobコマンドを使用すると個々のジョブを一時停止することができますが、ポートからプリンタにデータが送信される前に、ジョブを取得する必要があります。

アプリケーションは、通常の印刷パスが気にいらにWritePrinter

  • ....
  • StartPagePrinter
  • StartDocPrinter
    • ようEndPagePrinter
    • 行く仕事を印刷し...
    • EndDocPrinter

    最初のWritePrinterパスの前にSetJobコマンドを入力すると、データがデバイスに送信される前にジョブを一時停止することができます。

    残念なことに、C#PrintDocumentクラスのようなものを使用している場合、ほとんどのことがわかりませんし、SetJobコマンドを呼び出すためにJobIdパラメータとプリンタハンドルを取得する方法はありません。

    0

    AddJobW()とScheduleJob()を使用している場合は、はい。

    AddJobW()がジョブを作成し、ScheduleJob()がトリガしてジョブを開始します。 (サンプルコードについてhereを参照してください。)

    そう...

    1. コールAddJobW()ジョブを作成します。
    2. SetJobW()を呼び出すと、各ジョブの名前を変更し、それらをリンク(バッチ処理)します。
    3. ジョブを開始するにはScheduleJob()を呼び出します。