(57)【特許請求の範囲】
【請求項１】
ジョブを管理するための管理情報を情報処理装置のプリントキューに表示し、通信経路を介して印刷装置に前記ジョブを送信した後に、前記プリントキューにおける前記ジョブの管理情報の表示を未完了状態から完了状態に変更する処理完了情報を前記印刷装置から受信する情報処理装置において、
前記プリントキューに表示した前記管理情報に対応するジョブが、前記印刷装置によって印刷される前記ジョブの印刷データを前記印刷装置に送信しない、非印刷ジョブであるか否かを判断する判断手段と、
前記判断手段において前記ジョブが前記非印刷ジョブであると判断された場合に、前記非印刷ジョブに対応した前記印刷装置によって印刷されないダミーデータを前記印刷装置に送信する送信手段と、を有し、
前記送信手段によって前記ダミーデータが前記印刷装置に送信された後に前記ダミーデータの処理完了情報を受信することにより、前記プリントキューにおける前記非印刷ジョブの管理情報が未完了状態から完了状態に変更されることを特徴とする情報処理装置。
【請求項２】
ジョブを管理するための管理情報を情報処理装置のプリントキューに表示し、通信経路を介して印刷装置に前記ジョブを送信した後に、前記プリントキューにおける前記ジョブの管理情報の表示を未完了状態から完了状態に変更する処理完了情報を前記印刷装置から受信する情報処理装置において、
前記プリントキューに表示した管理情報に対応するジョブが、前記印刷装置によって印刷される前記ジョブの印刷データを前記印刷装置に送信しない、非印刷ジョブであるか否かを判断する判断手段と、
前記判断手段において前記ジョブが前記非印刷ジョブであると判断された場合に、前記印刷装置からの処理完了情報を待たずに、前記プリントキューにおける前記非印刷ジョブの管理情報の表示を完了状態に変更する完了手段と、を有することを特徴とする情報処理装置。
【請求項３】
前記ジョブが非印刷ジョブであることを通知する非印刷ジョブ通知手段を更に有し、
前記非印刷ジョブ通知手段の通知に基づいて、前記判断手段は前記ジョブが非印刷ジョブであると判断することを特徴とする請求項１又は請求項２に記載の情報処理装置。
【請求項４】
前記印刷装置によって印刷される前記ジョブの印刷データを前記印刷装置に送信することを指示する指示手段を更に有し、
前記指示手段が前記印刷データを前記印刷装置に送信する指示をしないときに、前記判断手段は前記ジョブが非印刷ジョブであると判断することを特徴とする請求項１又は請求項２に記載の情報処理装置。
【請求項５】
前記完了状態は前記ジョブの管理情報の表示が、非表示となる状態、又は前記印刷装置が前記ジョブの処理を完了したことを示す情報を表示する状態のいずれかであることを特徴とする請求項１乃至４のいずれかの１項に記載の情報処理装置。
【請求項６】
ジョブを管理するための管理情報をコンピュータのプリントキューに表示し、通信経路を介して印刷装置に前記ジョブを送信した後に、前記プリントキューにおける前記ジョブの管理情報の表示を未完了状態から完了状態に変更する処理完了情報を前記印刷装置から受信するコンピュータにおいて実行されるプログラムであって、
前記プリントキューに表示した前記管理情報に対応するジョブが、前記印刷装置によって印刷される前記ジョブの印刷データを前記印刷装置に送信しない、非印刷ジョブであるか否かを判断する判断手段と、
前記判断手段において前記ジョブが前記非印刷ジョブであると判断された場合に、前記非印刷ジョブに対応した前記印刷装置によって印刷されないダミーデータを前記印刷装置に送信する送信手段と、をコンピュータに実行させ、
前記送信手段によって前記ダミーデータが前記印刷装置に送信された後に前記ダミーデータの処理完了情報を受信することにより、前記プリントキューにおける前記非印刷ジョブの管理情報が未完了状態から完了状態に変更されることを特徴とするコンピュータが実行可能なプログラム。
【請求項７】
ジョブを管理するための管理情報をコンピュータのプリントキューに表示し、通信経路を介して印刷装置に前記ジョブを送信した後に、前記プリントキューにおける前記ジョブの管理情報の表示を未完了状態から完了状態に変更する処理完了情報を前記印刷装置から受信するコンピュータにおいて実行されるプログラムであって、
前記プリントキューに表示した管理情報に対応するジョブが、前記印刷装置によって印刷される前記ジョブの印刷データを前記印刷装置に送信しない、非印刷ジョブであるか否かを判断する判断手段と、
前記判断手段において前記ジョブが前記非印刷ジョブであると判断された場合に、前記印刷装置からの処理完了情報を待たずに、前記プリントキューにおける前記非印刷ジョブの管理情報の表示を完了状態に変更する完了手段と、を有することを特徴とするコンピュータが実行可能なプログラム。
【請求項８】
前記ジョブが非印刷ジョブであることを通知する非印刷ジョブ通知手段を更に有し、
前記非印刷ジョブ通知手段の通知に基づいて、前記判断手段は前記ジョブが非印刷ジョブであると判断することを特徴とする請求項６又は請求項７に記載のプログラム。
【請求項９】
前記印刷装置によって印刷される前記ジョブの印刷データを前記印刷装置に送信することを指示する指示手段を更に有し、
前記指示手段が前記印刷データを前記印刷装置に送信する指示をしないときに、前記判断手段は前記ジョブが非印刷ジョブであると判断することを特徴とする請求項６又は請求項７に記載のプログラム。
【請求項１０】
前記完了状態は前記ジョブの管理情報の表示が、非表示となる状態、又は前記印刷装置が前記ジョブの処理を完了したことを示す情報を表示する状態のいずれかであることを特徴とする請求項６乃至９のいずれかの１項に記載のプログラム。
【請求項１１】
ジョブを管理するための管理情報を制御方法のプリントキューに表示し、通信経路を介して印刷装置に前記ジョブを送信した後に、前記プリントキューにおける前記ジョブの管理情報の表示を未完了状態から完了状態に変更する処理完了情報を前記印刷装置から受信する制御方法において、
前記プリントキューに表示した前記管理情報に対応するジョブが、前記印刷装置によって印刷される前記ジョブの印刷データを前記印刷装置に送信しない、非印刷ジョブであるか否かを判断する判断工程と、
前記判断工程において前記ジョブが前記非印刷ジョブであると判断された場合に、前記非印刷ジョブに対応した前記印刷装置によって印刷されないダミーデータを前記印刷装置に送信する送信工程と、を有し、
前記送信工程によって前記ダミーデータが前記印刷装置に送信された後に前記ダミーデータの処理完了情報を受信することにより、前記プリントキューにおける前記非印刷ジョブの管理情報が未完了状態から完了状態に変更されることを特徴とする制御方法。
【請求項１２】
ジョブを管理するための管理情報を制御方法のプリントキューに表示し、通信経路を介して印刷装置に前記ジョブを送信した後に、前記プリントキューにおける前記ジョブの管理情報の表示を未完了状態から完了状態に変更する処理完了情報を前記印刷装置から受信する制御方法において、
前記プリントキューに表示した管理情報に対応するジョブが、前記印刷装置によって印刷される前記ジョブの印刷データを前記印刷装置に送信しない、非印刷ジョブであるか否かを判断する判断工程と、
前記判断工程において前記ジョブが前記非印刷ジョブであると判断された場合に、前記印刷装置からの処理完了情報を待たずに、前記プリントキューにおける前記非印刷ジョブの管理情報の表示を完了状態に変更する完了工程と、を有することを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は非印刷ジョブをスプールする情報処理装置に関する。
【背景技術】
【０００２】
印刷装置に接続された情報処理装置が、印刷装置で印刷を行う方法の一つとして、次の方法が挙げられる。
この方法では、情報処理装置が印刷装置に印刷を指示すると、情報処理装置のプリントキューにジョブの管理情報が表示され、情報処理装置がジョブを印刷装置に送信する。その後、印刷装置はジョブの処理を完了した後に、プリントキューのジョブの管理情報の表示を完了状態に変更する処理完了情報を情報処理装置に送信する。
特許文献１には印刷装置に印刷ジョブを送信し、印刷装置の状態を取得し、印刷ジョブの印刷が完了したことを認識すると、プリントキューから印刷ジョブの情報が削除されることが開示されている。
また、プリンタ業界ではオーバレイ印字という技術が広く知られている。オーバレイ印字とは、雛型のデータと合成の対象となるデータを重ね合わせて印刷するものである。通常、雛型のデータは情報処理装置又は印刷装置のいずれかに保存される。
情報処理装置に雛型のデータを保存してオーバレイ印字をするにあたっては、スプールした雛型のデータをフォームファイルとして情報処理装置に保存する。そして、合成の対象となるデータを印刷装置に印刷指示する際に、保存したフォームファイルを合成の対象となるデータと重ね合わせて印刷する。
なお、本明細書では、フォームファイルのように印刷装置に印刷データが送信されないジョブを非印刷ジョブと呼ぶ。印刷データとは、そのデータを、変換し又は変換をせずに印刷装置に送信すると、印刷装置による印刷がされるデータである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−３７７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
情報処理装置が非印刷ジョブをスプールすると、スプールした非印刷ジョブの管理情報がプリントキューに表示される。しかし、非印刷ジョブの印刷データは印刷装置に送信する必要がないため、印刷データを含む非印刷ジョブは印刷装置には送信されない。よって、印刷装置は情報処理装置から非印刷ジョブを受信せず、非印刷ジョブの処理完了情報を情報処理装置に送信しない。
その結果、情報処理装置は非印刷ジョブの処理完了情報を受信することができないため、プリントキューに非印刷ジョブの管理情報が未完了状態で残ったままになる。これにより、非印刷ジョブが再度処理される課題や、ユーザが非印刷ジョブの管理情報をプリントキューから手動で完了状態に変更する手間が生じる課題がある。
【課題を解決するための手段】
【０００５】
上記の目的を達成するための本発明に係る情報処理装置は、ジョブを管理するための管理情報を情報処理装置のプリントキューに表示し、通信経路を介して印刷装置に前記ジョブを送信した後に、前記プリントキューにおける前記ジョブの管理情報の表示を未完了状態から完了状態に変更する処理完了情報を前記印刷装置から受信する情報処理装置において、
前記プリントキューに表示した前記管理情報に対応するジョブが、前記印刷装置によって印刷される前記ジョブの印刷データを前記印刷装置に送信しない、非印刷ジョブであるか否かを判断する判断手段と、
前記判断手段において前記ジョブが前記非印刷ジョブであると判断された場合に、前記非印刷ジョブに対応した前記印刷装置によって印刷されないダミーデータを前記印刷装置に送信する送信手段と、を有し、
前記送信手段によって前記ダミーデータが前記印刷装置に送信された後に前記ダミーデータの処理完了情報を受信することにより、前記プリントキューにおける前記非印刷ジョブの管理情報が未完了状態から完了状態に変更されることを特徴とする。
上記の目的を達成するための本発明に係る他の情報処理装置は、ジョブを管理するための管理情報を情報処理装置のプリントキューに表示し、通信経路を介して印刷装置に前記ジョブを送信した後に、前記プリントキューにおける前記ジョブの管理情報の表示を未完了状態から完了状態に変更する処理完了情報を前記印刷装置から受信する情報処理装置において、
前記プリントキューに表示した管理情報に対応するジョブが、前記印刷装置によって印刷される前記ジョブの印刷データを前記印刷装置に送信しない、非印刷ジョブであるか否かを判断する判断手段と、
前記判断手段において前記ジョブが前記非印刷ジョブであると判断された場合に、前記印刷装置からの処理完了情報を待たずに、前記プリントキューにおける前記非印刷ジョブの管理情報の表示を完了状態に変更する完了手段と、を有することを特徴とする。
【発明の効果】
【０００６】
本発明によれば、印刷装置に印刷データが送信されない非印刷ジョブであっても、プリントキューに表示された非印刷ジョブの管理情報が未完了状態で残ることによる課題を解決できる。
【図面の簡単な説明】
【０００７】
【図１】情報処理装置とネットワークを介して接続された印刷装置により構成された印刷システムの構成を示すブロック図。
【図２】印刷システムの構成を示す機能コンポーネント。
【図３】通常印刷ジョブの印刷処理の流れを示す図。
【図４】フォーム作成ジョブの印刷処理の流れを示す図。
【図５】グラフィックスドライバがランゲージモニタへジョブのジョブタイプを通知する処理を示すフローチャート。
【図６】ジョブのジョブタイプを通知するスキーマを表す図。
【図７】ジョブのジョブタイプを通知するスキーマを表す図。
【図８】ランゲージモニタが印刷データの書き込みを行ったかどうかを記憶する処理を示すフローチャート。
【図９】ランゲージモニタのＥｎｄＤｏｃＰｏｒｔ（）の処理を示すフローチャート。
【図１０】ランゲージモニタのＥｎｄＤｏｃＰｏｒｔ（）の処理を示すフローチャート。
【図１１】ダミーデータを表す図。
【図１２】フォーム作成ジョブの印刷処理の流れを示す図。
【図１３】スプーラの印刷終了処理を示すフローチャート。
【図１４】ポートモニタが印刷データの書き込みを行ったかどうかを記憶する処理を示すフローチャート。
【図１５】ポートモニタのＥｎｄＤｏｃＰｏｒｔ（）の処理を示すフローチャート。
【図１６】スプーラがランゲージモニタのＷｒｉｔｅＰｏｒｔ（）を呼び出す処理を示すフローチャート。
【図１７】スプーラの印刷終了処理を示すフローチャート。
【図１８】プリントキューの表示状態を表す図。
【発明を実施するための形態】
【０００８】
［実施形態１］
図１から図１１を参照し、本発明を適用できる実施形態１を説明する。
【０００９】
（システムの構成）
図１を用いて、情報処理装置と通信経路であるネットワークを介して接続された印刷装置により構成された印刷システムの構成を説明する。
なお、通信経路は有線／無線のネットワークだけでなく、後述するインターフェース部１０８によるＵＳＢや赤外線の通信であってもよい。
【００１０】
図１において、１００は情報処理装置であり、一般的なＰＣで構成される。情報処理装置１００はＲＡＭ１０１、外部記憶装置１０２、マウスやキーボード等の入力装置１０３、ＣＰＵ１０４、ネットワークボード１０５、表示用ディスプレイ１０６、インターフェース部１０８、以上の構成要素を互いに接続するバス１０７から構成される。
【００１１】
ＲＡＭ１０１は外部記憶装置１０２に保存される各種プログラムがワークメモリとして使用する。外部記憶装置１０２にはアプリケーションプログラム群とＯＳ、プリンタドライバやその他各種のデータが保存されている。入力装置１０３はデータ入力あるいは動作指示に使用される。表示用ディスプレイ１０６は接続される印刷装置又は情報処理装置のデータ表示や状態の通知に使用される。ネットワークボード１０５はネットワークを介する通信を行い、ネットワーク１０９と接続されている。なお、インターフェース部１０８によっても、上述したように印刷装置１１０と接続することができる。
【００１２】
また、ＣＰＵ１０４は、表示用ディスプレイ１０６上に表示されたＧＵＩのマウスカーソルや、キーボードのキー入力により、外部記憶装置１０２のプログラムのウインドウを開き、種々のデータ処理を実行する。これにより、ユーザは印刷を実行する際、印刷の設定に関するウインドウを開き、印刷装置１１０の設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行える。
【００１３】
加えて、ＣＰＵ１０４が外部記憶装置１０２に記憶されているプログラムに基づき処理を実行することによって、図２に示されるような情報処理装置１００のソフトウェア構成及び後述するフローチャートの各ステップの処理が実現される。
【００１４】
印刷装置１１０は、ネットワークボード１１１、ＲＡＭ１１２、ＲＯＭ１１３、ＣＰＵ１１４、印刷エンジン１１５、インターフェース部１１６を有する。また、以上の構成要素を互いに接続するバス１１７を有する。
【００１５】
ネットワークボード１１１はネットワーク１０９に接続してある。ＲＯＭ１１３には制御プログラムなどが格納されている。ＣＰＵ１１４はＲＯＭ１１３に格納してある制御プログラムに従って印刷装置１１０を制御する。ＲＡＭ１１２はＣＰＵ１１４のワークメモリとして使用され、受信したデータをいったん保存する受信バッファとしても用いられる。印刷エンジン１１５はＲＡＭ１１２に保存されたデータを印刷する。
【００１６】
（機能コンポーネント）
図２は、図１に示した情報処理装置１００に適用可能な印刷システムを表すブロック図である。図において、ユーザインターフェースモジュール２０３、グラフィックスドライバ２０４、ランゲージモニタ２０８は、各々、プリンタドライバ２１０を構成するモジュールである。
これらはＯＳ又は他のプログラムから呼び出されることで外部記憶装置１０２からＲＡＭ１１２にロードされ実行される。
【００１７】
アプリケーション２０１はＯＳの印刷サポート機能２０２を介して、ユーザインターフェースモジュール２０３から印刷設定情報を取得し、ジョブの印刷データを作成する。
【００１８】
なお、本明細書では印刷データとは、そのデータを、変換し又は変換をせずに印刷装置１１０に送信すると、印刷装置１１０により印刷されるデータである。
【００１９】
アプリケーション２０１が作成したデータは、ＯＳの印刷サポート機能２０２を介して、スプーラ２０５に渡される。スプーラ２０５は受け取ったデータをスプールデータ保存場所２０７に保存する。
【００２０】
プリントキュー２０６はデータがスプールデータ保存場所２０７に保存されると、当該データを含むジョブがスプールされたことを表示する。具体的にはプリントキュー２０６にジョブの管理情報を表示し、その管理情報の状態の表示として当該ジョブがスプール中であることを示す。
プリントキューの詳細な表示方法は後述する。
【００２１】
（スプール後の通常印刷ジョブとフォーム作成ジョブの処理の流れ）
これ以降の処理はジョブの種類が「通常印刷ジョブ」か「フォーム作成ジョブ」で異なる。
【００２２】
「通常印刷ジョブ」とは印刷装置１１０に送信されて、通常印刷ジョブの印刷データに基づいて印刷装置に印刷が指示されるジョブである。
【００２３】
ジョブの処理の順番が来ると、スプールデータ保存場所２０７のデータはＯＳの印刷サポート機能２０２に送られ、グラフィックスドライバ２０４の助けを借りて、印刷装置１１０が解釈できるコマンド形式のデータに変換される。グラフィックスドライバ２０４はスプーラ２０５に対して変換されたデータを渡すことで、変換されたデータを印刷装置１１０が印刷をするために送信することを指示する。スプーラ２０５は渡されたデータをランゲージモニタ２０８に渡す。ランゲージモニタ２０８は変換されたデータをポートモニタ２０９に出力する。ポートモニタ２０９がネットワーク１０９を経由して、渡されたデータをジョブとして、印刷装置１１０に送信する。
【００２４】
「フォーム作成ジョブ」とはフォームファイル２１１を作成する為のジョブであり、印刷装置１１０には送信されず、印刷装置１１０に印刷が指示されない。
【００２５】
ユーザがフォームファイル２１１を作成する手順を説明する。
【００２６】
ユーザはアプリケーション２０１に印刷の設定を指示し、アプリケーション２０１がユーザインターフェースモジュール２０３を呼び出す。ユーザはユーザインターフェースモジュール２０３を用いて印刷の出力方法の設定の一部として、ジョブタイプを通常印刷ジョブからフォーム作成ジョブに変更する。変更後、ジョブタイプを含む印刷の出力方法の設定が、ＲＡＭ１０１に変数として保存される。
【００２７】
その後、ユーザがアプリケーション２０１から印刷指示をすると、印刷データがスプーラ２０５によってスプールされる。スプーラ２０５が印刷データをグラフィックスドライバ２０４に渡し、グラフィックスドライバ２０４はＲＡＭ１０１の印刷の出力方法の設定が保存された変数を呼び出し、ジョブタイプがフォーム作成ジョブであることを把握して動作する。これにより、スプールされた印刷データはオーバレイ印字を行う際のフォームファイル２１１として使う為に、グラフィックスドライバ２０４によりフォームファイル２１１として保存される。よって、印刷装置への印刷の指示として、グラフィックスドライバ２０４から印刷データがスプーラ２０５に送信されることはない。
【００２８】
作成されたフォームファイル２１１はオーバレイ印字における雛型である。先の雛型と後からアプリケーションにより出力される装飾ジョブとが合成されて、印刷ジョブとして印刷装置に送信され、印刷装置が合成物の印刷を行う。
【００２９】
なお、本明細書ではデータがスプールデータ保存場所２０７に保存され、当該データが印刷装置には送信されない非印刷ジョブの一例としてフォーム作成ジョブを挙げる。この他にデータがスプールデータ保存場所２０７に保存されるが、印刷装置には送信されない非印刷ジョブは、プレビュー及びスタンプ、地紋が指定された場合に生成されてもよい。プレビューの場合は、閲覧のために印刷データがスプールされ、スプールされた印刷データは閲覧後に破棄される。スタンプと地紋、又はこれらが合成される前のデータは、フォーム作成ジョブと同じく情報処理装置にファイルとして保存され、印刷装置に送信されない。よって、これらを扱う情報処理装置に対しても本発明は適用することができる。
【００３０】
以降、通常印刷ジョブとフォーム作成ジョブは明確に分けて使う必要がある際には使い分け、区別せずに分かる場合はどちらであってもジョブと表現することとする。
【００３１】
本実施形態では印刷方法としてＷｉｎｄｏｗｓ  Ｖｉｓｔａ（登録商標）から採用されているＷｅｂ  Ｓｅｒｖｉｃｅｓ  ｏｎ  Ｄｅｖｉｃｅｓ（以降、ＷＳＤと呼ぶ）を用いた印刷を例に説明する。これに限定されることなく、異なる印刷方法についても本発明を適用することができる。
【００３２】
また同様に、ポートモニタ２０９としてＷＳＤ印刷用のポートモニタを想定しているが、これに限定されることなく様々なポートモニタに本発明は適用することができる。
【００３３】
（通常印刷ジョブの処理の流れ）
図３はＷＳＤを用いた印刷における通常印刷ジョブの処理の流れを示したものである。
【００３４】
なお、図３の３０１が開始される前にプリントキュー２０６にはこれから印刷処理が行われるジョブの管理情報が既に表示されている。
【００３５】
３０１でスプーラ２０５はランゲージモニタ２０８の関数であるＳｔａｒｔＤｏｃＰｏｒｔ（）を呼び出し、ランゲージモニタ２０８に印刷処理の開始を指示する。３０２でランゲージモニタ２０８はポートモニタの関数であるＳｔａｒｔＤｏｃＰｏｒｔ（）を呼び出す。
【００３６】
３０３でスプーラ２０５はランゲージモニタ２０８の関数であるＷｒｉｔｅＰｏｒｔ（）を呼び出し、ジョブの印刷データの送信を開始する。３０４でランゲージモニタ２０８はポートモニタ２０９の関数であるＷｒｉｔｅＰｏｒｔ（）を呼び出す。３０５でポートモニタ２０９はＣｒｅａｔｅＰｒｉｎｔＪｏｂ  Ｒｅｑｕｅｓｔを印刷装置１１０に送信し印刷の開始を通知する。３０６で印刷装置１１０はＣｒｅａｔｅＰｒｉｎｔＪｏｂ  Ｒｅｓｐｏｎｓｅをポートモニタ２０９に送信する。
【００３７】
３０７でポートモニタ２０９はＳｅｎｄＤｏｃｕｍｅｎｔ  Ｒｅｑｕｅｓｔを印刷装置１１０に送信する。３０８でポートモニタ２０９が印刷装置１１０に最初の印刷データの送信を行う。３０８の後に、ポートモニタ２０９が３０４のＷｒｉｔｅＰｏｒｔ（）をランゲージモニタ２０８にリターンする。
【００３８】
３０９では、スプーラ２０５は続けて印刷データを印刷装置１１０に送信するためにランゲージモニタ２０８の関数であるＷｒｉｔｅＰｏｒｔ（）を呼び出し、ランゲージモニタ２０８はポートモニタ２０９の関数であるＷｒｉｔｅＰｏｒｔ（）を呼び出す。ポートモニタ２０９はＷｒｉｔｅＰｏｒｔ（）の処理で、印刷データを印刷装置１１０に送信する。スプーラ２０５とランゲージモニタ２０８とポートモニタ２０９は、これらの処理を印刷データの全てを送信するまで繰り返す。
【００３９】
スプーラ２０５はランゲージモニタ２０８に全ての印刷データの送信を完了すると、３１０でランゲージモニタ２０８の関数であるＥｎｄＤｏｃＰｏｒｔ（）を呼び出す。続いて３１１でランゲージモニタ２０８はポートモニタ２０９の関数であるＥｎｄＤｏｃＰｏｒｔ（）を呼び出す。３１２でポートモニタ２０９は、３０８及び３０９による印刷データの送信終了を示す送信完了情報を印刷装置１１０に送信する。
【００４０】
印刷装置１１０はジョブの印刷データに基づく印刷を行い、３１３で、処理完了情報であるＪｏｂＥｎｄＳｔａｔｅＥｖｅｎｔをポートモニタ２０９に送信する。これにより印刷装置１１０が情報処理装置１００にジョブの処理が完了したことを伝える。
【００４１】
プリントキュー２０６から通常印刷ジョブの管理情報が非表示になる流れを説明する。
【００４２】
印刷装置１１０が通常印刷ジョブを処理するために、情報処理装置１００が、ＣｒｅａｔｅＰｒｉｎｔＪｏｂ  Ｒｅｑｕｅｓｔを印刷装置１１０に送信後、印刷装置１１０から受信したＣｒｅａｔｅＰｒｉｎｔＪｏｂ  Ｒｅｓｐｏｎｓｅに対応するＪｏｂＥｎｄＳｔａｔｅＥｖｅｎｔを印刷装置１１０から受信する。印刷装置によるジョブの処理が正常に行われた場合、処理完了情報であるＪｏｂＥｎｄＳｔａｔｅＥｖｅｎｔは、情報処理装置にプリントキューにおける通常印刷ジョブの管理情報の表示を、完了状態に変更させることを意味する。
【００４３】
よって、前述したＪｏｂＥｎｄＳｔａｔｅＥｖｅｎｔを印刷装置１１０から受信すると、プリントキュー２０６の通常印刷ジョブの管理情報が完了状態である非表示となる。
【００４４】
（プリントキューの表示方法）
図１８を用いてプリントキューの表示方法について説明する。
【００４５】
図１８（ａ）にプリントキューがスプール中のジョブの管理情報を表示している状態の一例を示す。このように表示されているジョブを未完了状態にあるという。前述したように、プリントキュー２０６のジョブの管理情報が非表示となった状態を図１８の（ｄ）に示す。このように表示されているジョブを完了状態にあるという。
【００４６】
一般的に、プリントキューのジョブの管理（表示）の様に、一覧にして個々の対象を管理する方法としては「変更」、「非表示」、「削除」の３つが考えられる。
【００４７】
「変更」とは、図１８（ａ）に示すように、ジョブの印刷を指示し印刷装置１１０による印刷を待っている状態から、図１８（ｂ）に示すように、当該ジョブが印刷済みであることを示すように管理情報の表示を変更することを意味する。
【００４８】
「非表示」とは、図１８（ｄ）に示すように、文字通りジョブの管理情報が非表示となることを意味する。なお非表示は、プリントキューが内部に過去に表示されたジョブの管理情報の履歴を保持しており、図１８（ｃ）に示すように、ジョブが印刷済みとなった後にその履歴を表示できる場合を含む。
【００４９】
「削除」は前述の非表示に含まれるが、ジョブの履歴を閲覧することはできず、ジョブの管理情報そのものが削除され、再度閲覧することができなくなることを意味する。
【００５０】
プリントキューがジョブの管理情報を前述した「変更」、「非表示」、「削除」のいずれによっても管理を行う事ができる。
【００５１】
本明細書ではプリントキューに表示されたジョブの印刷処理が完了されると、プリントキューのジョブの管理情報が非表示となる例を記載するが、管理情報を変更することでジョブの管理（表示）を行ってもよい。
【００５２】
（フォーム作成ジョブの処理の流れ）
図４を用いて、本実施形態の、ＷＳＤ印刷におけるフォーム作成ジョブの処理の流れについて説明する。
【００５３】
４０１でスプーラ２０５はランゲージモニタ２０８の関数であるＳｔａｒｔＤｏｃＰｏｒｔ（）を呼び出し印刷処理の開始を行う。４０２でランゲージモニタ２０８はポートモニタの関数であるＳｔａｒｔＤｏｃＰｏｒｔ（）を呼び出す。
【００５４】
フォーム作成ジョブは、印刷装置１１０に印刷データを送信しない非印刷ジョブである。この為、スプーラ２０５は図３の３０３のようなランゲージモニタ２０８のＷｒｉｔｅＰｏｒｔ（）を呼び出さず、４０３でランゲージモニタ２０８の関数であるＥｎｄＤｏｃＰｏｒｔ（）を呼び出す。
【００５５】
その後、４０４でランゲージモニタ２０８はポートモニタ２０９に対してＷｒｉｔｅＰｏｒｔ（）を呼び出し、ダミーデータの書き込みを行う。
【００５６】
ダミーデータとは印刷装置１１０が受信して読み捨てるだけのデータである。図１１でダミーデータの一例を説明する。図１１においてダミーデータの値は、長さが１バイトで、値が０である。
【００５７】
なお、本発明は印刷装置１１０がダミーデータを受信した際に、当該ダミーデータを読み捨てる仕様であるものに対して適用することができる。読み捨てるとは、印刷装置１１０が印刷処理を一切行わずにジョブの処理を完了することを意味する。
【００５８】
もし、４０４で、非印刷ジョブに対応するダミーデータの書き込みを行わないと、４０５乃至４０８、４１０の各ステップが実行されない。これらのステップが実行されなければ後述する４１１で、印刷装置１１０は処理完了情報であるＪｏｂＥｎｄＳｔａｔｅＥｖｅｎｔを送信しないので、プリントキュー２０６のフォーム作成ジョブの管理情報が未完了状態で表示されたままとなる。
【００５９】
４０５でポートモニタ２０９はＣｒｅａｔｅＰｒｉｎｔＪｏｂ  Ｒｅｑｕｅｓｔを印刷装置１１０に送信し印刷処理の開始（この場合はダミーデータの書き込み）を通知する。４０６で印刷装置１１０はＣｒｅａｔｅＰｒｉｎｔＪｏｂ  Ｒｅｓｐｏｎｓｅをポートモニタ２０９に送信する。４０７でポートモニタ２０９はＳｅｎｄＤｏｃｕｍｅｎｔ  Ｒｅｑｕｅｓｔを印刷装置１１０に送信後、４０８でダミーデータを印刷装置１１０に送信する。４０８のダミーデータ送信後に、ポートモニタ２０９が４０４のＷｒｉｔｅＰｏｒｔ（）をランゲージモニタ２０８にリターンする。
【００６０】
ランゲージモニタ２０８はダミーデータの書き込みが完了後、４０９でポートモニタ２０９の関数であるＥｎｄＤｏｃＰｏｒｔ（）を呼び出す。４１０でポートモニタ２０９は、４０８によるダミーデータの送信が完了したことを示す送信完了情報を印刷装置１１０に送信する。印刷装置１１０はダミーデータの処理が完了すると、４１１で処理完了情報であるＪｏｂＥｎｄＳｔａｔｅＥｖｅｎｔをポートモニタ２０９に送信し、ダミーデータの処理が完了したことを通知する。
【００６１】
プリントキュー２０６からフォーム作成ジョブの管理情報が非表示になる流れを説明する。
【００６２】
ダミーデータを印刷装置１１０が処理するために、情報処理装置１００が、ＣｒｅａｔｅＰｒｉｎｔＪｏｂ  Ｒｅｑｕｅｓｔを印刷装置１１０に送信後、印刷装置１１０から受信したＣｒｅａｔｅＰｒｉｎｔＪｏｂ  Ｒｅｓｐｏｎｓｅに対応するＪｏｂＥｎｄＳｔａｔｅＥｖｅｎｔを印刷装置１１０から受信する。印刷装置によるダミーデータの処理が正常に行われた場合、処理完了情報であるＪｏｂＥｎｄＳｔａｔｅＥｖｅｎｔは、情報処理装置にプリントキューにおけるフォーム作成ジョブの管理情報の表示を、完了状態に変更させることを意味する。
【００６３】
よって、前述したＪｏｂＥｎｄＳｔａｔｅＥｖｅｎｔを印刷装置１１０から受信すると、プリントキュー２０６のフォーム作成ジョブの管理情報が完了状態である非表示となる。
【００６４】
（Ｐｒｉｎｔｉｎｇ  ａｎｄ  Ｐｒｉｎｔ  Ｓｐｏｏｌｅｒ  Ｉｎｔｅｒｆａｃｅｓ）
次に、ランゲージモニタ２０８のジョブのジョブタイプ判定処理について詳細に説明する。
【００６５】
ここで判定されたジョブタイプに基づいて、後述するランゲージモニタ２０８のＥｎｄＤｏｃＰｏｒｔ（）の処理において、ダミーデータが印刷装置１１０に送信されるか否かが決定される。
【００６６】
ここでは、ＭＳＤＮのサイトで公開されているＰｒｉｎｔｉｎｇ  ａｎｄ  Ｐｒｉｎｔ  Ｓｐｏｏｌｅｒ  Ｉｎｔｅｒｆａｃｅｓを利用して、グラフィックスドライバ２０４がランゲージモニタ２０８にジョブのジョブタイプを通知する方法について説明する。
【００６７】
グラフィックスドライバ２０４はＰｒｉｎｔｉｎｇ  ａｎｄ  Ｐｒｉｎｔ  Ｓｐｏｏｌｅｒ  Ｉｎｔｅｒｆａｃｅｓを利用して、ジョブのジョブタイプが通常印刷ジョブかフォーム作成ジョブであるかを、ランゲージモニタ２０８に通知することができる。
【００６８】
図５の５０１で、グラフィックスドライバ２０４はジョブタイプの通知処理を開始する。５０２で、前述したＲＡＭ１０１の印刷の出力方法の設定が保存された変数が呼び出され、現在処理中のジョブのジョブタイプを取得する。５０３でスキーマパスとして￥Ｐｒｉｎｔｅｒ．ＪｏｂＴｙｐｅ：Ｖａｌｕｅをセットし、５０４でそのＶａｌｕｅとして５０２で取得したジョブタイプをセットし、５０５でランゲージモニタ２０８の処理を呼び出す。
【００６９】
具体的には、グラフィックスドライバ２０４はＰｒｉｎｔｉｎｇ  ａｎｄ  Ｐｒｉｎｔ  Ｓｐｏｏｌｅｒ  Ｉｎｔｅｒｆａｃｅｓで用意されているＣＯＭインターフェースＩＢｉｄｉＳｐｌのＡＰＩ関数ＩＢｉｄｉＳｐｌ：：ＳｅｎｄＲｅｃｖ（）を呼び出す。グラフィックスドライバ２０４がＩＢｉｄｉＳｐｌ：：ＳｅｎｄＲｅｃｖ（）を呼び出すと、ランゲージモニタ２０８のエクスポート関数であるＳｅｎｄＲｅｃｖＢｉｄｉＤａｔａＦｒｏｍＰｏｒｔ（）が呼び出される。
【００７０】
５０６でランゲージモニタ２０８はＳｅｎｄＲｅｃｖＢｉｄｉＤａｔａＦｒｏｍＰｏｒｔ（）の処理を開始する。５０７で関数の引数にセットされたスキーマパスを取得する。５０８でスキーマパスが￥Ｐｒｉｎｔｅｒ．ＪｏｂＴｙｐｅ：Ｖａｌｕｅかどうかを判定する。判定の結果、Ｙｅｓであれば５０９に進み、￥Ｐｒｉｎｔｅｒ．ＪｏｂＴｙｐｅのＶａｌｕｅ（値）を参照する。５０８の判定の結果がＮｏの場合は５１２に進む。５１０でＶａｌｕｅがＦｏｒｍかどうかを判定し、Ｆｏｒｍの場合は、５１１でジョブタイプを表す変数に「フォーム作成ジョブ」を設定しＲＡＭ１０１に記憶した後、５１２に進む。５１０で、ＶａｌｕｅがＦｏｒｍでないと判定した場合は５１２に進む。５１２でランゲージモニタ２０８のＳｅｎｄＲｅｃｖＢｉｄｉＤａｔａＦｒｏｍＰｏｒｔ（）の処理が終了すると、５０５のＩＢｉｄｉＳｐｌ：：ＳｅｎｄＲｅｃｖ（）を呼び出しがリターンし、５１３に進む。５１３で、グラフィックスドライバ２０４はジョブタイプ通知処理を終了する。
【００７１】
図６はグラフィックスドライバ２０４が、ランゲージモニタ２０８にジョブタイプを通知する時に使用するスキーマを表す図である。これらのスキーマは、グラフィックスドライバ２０４がＩＢｉｄｉＳｐｌ：：ＳｅｎｄＲｅｃｖ（）をコールする際に引数として指定される。図６において、ＪｏｂＴｙｐｅはジョブの種類を表すＶａｌｕｅであり、スキーマのフルパスの指定は￥Ｐｒｉｎｔｅｒ．ＪｏｂＴｙｐｅ：Ｖａｌｕｅである。データ型はＢＩＤＩ＿ＳＴＲＩＮＧである。設定可能な値は、図７に示している様に、ＮｏｒｍａｌとＦｏｒｍである。Ｎｏｒｍａｌはジョブが通常印刷ジョブであることを示す。Ｆｏｒｍはジョブがフォーム作成ジョブであることを示す。
【００７２】
（ランゲージモニタのＥｎｄＤｏｃＰｏｒｔ（）の処理）
図９でランゲージモニタ２０８がＥｎｄＤｏｃＰｏｒｔ（）の処理をジョブタイプで切り換える動作について説明する。
【００７３】
９０１でランゲージモニタ２０８はスプーラ２０５にコールされたＥｎｄＤｏｃＰｏｒｔ（）の処理を開始し、９０２でＲＡＭ１０１のジョブタイプを表す変数を参照する。９０３でジョブタイプが「フォーム作成ジョブ」かどうかを判定し、フォーム作成ジョブの場合は、９０４に進みダミーデータをポートモニタ２０９に書き込み、９０５に進む。９０３でフォーム作成ジョブではないと判定した場合は、９０５に進む。９０５でポートモニタ２０９のＥｎｄＤｏｃＰｏｒｔ（）を呼び出し、９０６に進み、処理を終了する。
【００７４】
以上により、グラフィックスドライバ２０４がジョブのジョブタイプがフォーム作成ジョブであることをランゲージモニタ２０８に通知し、ランゲージモニタ２０８がＥｎｄＤｏｃＰｏｒｔ（）の処理でダミーデータの書き込みを行う。こうすることで印刷装置１１０からＪｏｂＥｎｄＳｔａｔｅＥｖｅｎｔがポートモニタ２０９へ送信され、プリントキュー２０６は正常にフォーム作成ジョブの管理情報を非表示にすることができる。
【００７５】
なお、本実施形態ではジョブタイプが通常印刷ジョブであるか、フォーム作成ジョブであるかで処理を切り替える例を示した。これによらず、印刷を指示されたジョブのジョブタイプが通常印刷ジョブであるか、印刷装置に送信して印刷を行わない非印刷ジョブであるかを基に処理を切り替えてもよい。
【００７６】
［実施形態２］
本実施形態では図８を用いて、実施形態１で用いたジョブタイプとは別の判断材料でランゲージモニタ２０８のＥｎｄＤｏｃＰｏｒｔ（）の処理を切り替える例（詳細は図１０で説明する）を示す。
【００７７】
印刷システムの構成は、実施形態１と同一であり、図１と図２で表すことができる。また、本実施形態の、ＷＳＤ印刷におけるフォーム作成ジョブの処理の流れは図４に表される。
【００７８】
なお、図８に示す処理は通常印刷ジョブに対してのみ行われる。図４に示すようにフォーム作成ジョブに対してはランゲージモニタ２０８がスプーラ２０５からコールされてＷｒｉｔｅＰｏｒｔ（）の処理を実行することがない。
【００７９】
また、ＲＡＭ１０１にデータ書き込みを行ったかどうかを示す変数が格納されており、これは図８の処理を実行する前に初期値としてＦＡＬＳＥが代入されている。
【００８０】
図８を用いて、通常印刷ジョブに対するランゲージモニタ２０８のＷｒｉｔｅＰｏｒｔ（）の処理について詳細に説明する。
【００８１】
８０１でランゲージモニタ２０８はＷｒｉｔｅＰｏｒｔ（）の処理を開始し、８０２でスプーラ２０５から印刷データを受信する。８０３で印刷データをポートモニタ２０９に書き込む。８０４でデータ書き込みを行ったかどうかを示す変数にＴＲＵＥを代入し、８０５に進み処理を終了する。
【００８２】
図１０でランゲージモニタ２０８がＥｎｄＤｏｃＰｏｒｔ（）の処理を、ジョブ処理中に印刷データの書き込みを行ったかどうかで切り換える動作について説明する。１００１で、ランゲージモニタ２０８はＥｎｄＤｏｃＰｏｒｔ（）の処理を開始し、１００２でデータ書き込みを行ったかどうかを示す変数を参照する。１００３でデータ書き込みを行ったかどうかを示す変数の値がＴＲＵＥであるかどうかを判定し、ＴＲＵＥの場合は、１００５に進む。１００３で変数の値がＴＲＵＥでない場合、すなわちＦＡＬＳＥである場合は、１００４に進みでＷｒｉｔｅＰｏｒｔ（）でダミーデータをポートモニタ２０９に書き込み、１００５に進む。１００５でポートモニタ２０９のＥｎｄＤｏｃＰｏｒｔ（）を呼び出し、１００６に進み、処理を終了する。
【００８３】
以上により、フォーム作成ジョブのように、印刷装置１１０へのデータ書き込みが行われないジョブの場合においても、ランゲージモニタ２０８がそれを検知し、ＥｎｄＤｏｃＰｏｒｔ（）の処理でダミーデータの書き込みを行う。これにより印刷装置１１０からＪｏｂＥｎｄＳｔａｔｅＥｖｅｎｔがポートモニタ２０９へ送信され、プリントキュー２０６は正常にフォーム作成ジョブの管理情報を非表示することができる。
【００８４】
なお、本実施形態は、グラフィックスドライバ２０４とランゲージモニタ２０８によって課題を解決する実施形態１と異なり、グラフィックスドライバ２０４を用いずに課題を解決することができる。
【００８５】
［実施形態３］
本実施形態では、グラフィックスドライバ２０４がＯＳの印刷サポート機能２０２にジョブのジョブタイプを通知する。その後、スプーラ２０５の印刷終了処理において、ジョブタイプがフォーム作成ジョブの場合は処理完了情報を待たずに処理を終了することにより、課題を解決する。
【００８６】
印刷システムの構成は、実施形態１と同一であり、図１と図２で表すことができる。
【００８７】
（フォーム作成ジョブの処理の流れ）
図１２を用いて、本実施形態の、ＷＳＤ印刷におけるフォーム作成ジョブの処理の流れについて説明する。
【００８８】
１２０１でスプーラ２０５はランゲージモニタ２０８の関数であるＳｔａｒｔＤｏｃＰｏｒｔ（）を呼び出し印刷処理の開始を行う。１２０２でランゲージモニタ２０８はポートモニタの関数であるＳｔａｒｔＤｏｃＰｏｒｔ（）を呼び出す。
【００８９】
フォーム作成ジョブは、印刷装置１１０に印刷データを送信しないジョブである為、スプーラ２０５はランゲージモニタ２０８のＷｒｉｔｅＰｏｒｔ（）の呼び出しは行わず、１２０３でランゲージモニタ２０８の関数であるＥｎｄＤｏｃＰｏｒｔ（）を呼び出す。１２０４でランゲージモニタ２０８はポートモニタ２０９の関数であるＥｎｄＤｏｃＰｏｒｔ（）を呼び出す。
【００９０】
スプーラ２０５は１２０３のＥｎｄＤｏｃＰｏｒｔ（）のリターンがあった後に、印刷終了処理を実行し、プリントキュー２０６に印刷処理を行ったフォーム作成ジョブの管理情報を非表示にすることを指示する。
【００９１】
（グラフィックスドライバからＯＳの印刷サポート機能へのジョブタイプの通知）
図２を用いて、グラフィックスドライバ２０４からＯＳの印刷サポート機能２０２にジョブタイプが通知される流れを説明する。
【００９２】
アプリケーション２０１はＯＳの印刷サポート機能２０２が提供するＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）を呼び出し、データを作成する。アプリケーション２０１が作成したデータは、ＯＳの印刷サポート機能２０２を介して、スプーラ２０５に渡される。スプーラ２０５は受け取ったデータを、ジョブごとにスプールデータ保存場所２０７に保存する。ジョブの処理の順番が来ると、スプールデータはＯＳの印刷サポート機能２０２を介して、グラフィックスドライバ２０４に渡される。本実施形態では、この時、グラフィックスドライバ２０４からＯＳの印刷サポート機能２０２に対してジョブのジョブタイプの通知が行われる。
【００９３】
ジョブのジョブタイプの通知は、ＯＳの印刷サポート機能２０２が、予め決められたグラフィックスドライバ２０４のエクスポート関数を呼ぶことによって行われる。ＯＳの印刷サポート機能２０２がグラフィックスドライバ２０４のエクスポート関数を呼ぶと、グラフィックスドライバ２０４は、エクスポート関数の戻り値にジョブタイプをセットして、エクスポート関数の処理を終了する。これによりグラフィックスドライバ２０４からＯＳの印刷サポート機能２０２に対してジョブタイプが通知される。
【００９４】
これに限らず別の方法でＯＳの印刷サポート機能２０２にジョブタイプを通知してもよい。例えば、アプリケーション２０１がＡＰＩを呼び出してジョブを作成する時に、ＡＰＩ経由でジョブタイプをＯＳの印刷サポート機能２０２に通知してもよい。
【００９５】
その後、ＯＳの印刷サポート機能２０２は通知されたジョブタイプをスプーラが参照可能な変数としてＲＡＭ１０１に格納する。
【００９６】
（スプーラの印刷終了処理）
図１３でグラフィックスドライバ２０４から通知されたジョブタイプにより、スプーラ２０５の印刷終了処理を切り替える場合について説明する。
【００９７】
１３０１でスプーラ２０５は印刷終了処理を開始する。１３０２でスプーラ２０５は、ＲＡＭ１０１の変数に格納されている、前述のグラフィックスドライバ２０４から通知されたジョブタイプを参照する。１３０３で、１３０２において参照されたジョブタイプがフォーム作成ジョブかどうかを判定し、フォーム作成ジョブの場合は１３０６に進む。１３０６で、プリントキュー２０６に、ジョブタイプが通知された当該フォーム作成ジョブの管理情報を非表示にすることを指示し、１３０７でスプーラ２０５の印刷終了処理を終了する。
【００９８】
１３０３でフォーム作成ジョブでない、すなわち通常印刷ジョブであると判定した場合は１３０４に進む。１３０４で、印刷装置１１０から処理完了情報を受信したかどうか判定する。１３０４で処理完了情報を受信していない場合は、処理完了情報を受信するのを待ち、再び１３０４で処理完了情報を受信したかどうか判定する。１３０４で、処理完了情報を受信した場合は、１３０６に進み、プリントキュー２０６に、ジョブタイプが通知された当該通常印刷ジョブの管理情報を非表示にすることを指示し、１３０７でスプーラ２０５の印刷終了処理を終了する。
【００９９】
以上により、スプーラ２０５の印刷終了処理において、ジョブのジョブタイプがフォーム作成ジョブの場合、印刷装置１１０からの処理完了情報の受信を待たずにプリントキュー２０６にフォーム作成ジョブの管理情報を非表示することを指示する。これにより印刷装置１１０から処理完了情報を待ち続けてしまい、プリントキュー２０６のフォーム作成ジョブの管理情報が未完了状態のまま非表示にされないという問題を解決できる。
【０１００】
本実施形態は実施形態１及び２と異なり、印刷装置１１０との通信を行わずに、プリントキュー２０６のフォーム作成ジョブの管理情報を非表示にすることができる。よって、印刷装置１１０の電源が切れている場合や、情報処理装置１００と印刷装置１１０間の通信経路が途絶えている場合であっても、課題を解決することができる。
【０１０１】
この効果は以降の実施形態についても同じである。
【０１０２】
［実施形態４］
本実施形態では図１６及び図１７を用いて、実施形態３で用いたジョブタイプとは別の判断材料で、スプーラ２０５の終了処理を切り替える例を説明する。
【０１０３】
印刷システムの構成は、実施形態１と同一であり、図１と図２で表すことができる。ＷＳＤ印刷における通常印刷ジョブの処理の流れは図３に表される。フォーム作成ジョブの処理の流れは図１２に表される。
【０１０４】
なお、図１６に示す処理は通常印刷ジョブに対してのみ行われる。図１２に示すようにフォーム作成ジョブに対してはランゲージモニタ２０８がスプーラ２０５から呼び出されてＷｒｉｔｅＰｏｒｔ（）の処理を実行することがない。
【０１０５】
また、ＲＡＭ１０１にデータ書き込みを行ったかどうかを示す変数が格納されており、これは図１６の処理を実行する前に初期値としてＦＡＬＳＥが代入されている。
【０１０６】
図１６では、スプーラ２０５が通常印刷ジョブの処理中に印刷データの書き込みを行ったかどうかを判定する。
【０１０７】
１６０１でスプーラ２０５は処理を開始し、１６０２でスプールされた印刷データをランゲージモニタ２０８のＷｒｉｔｅＰｏｒｔ（）により書き込む。１６０３で、データ書き込みを行ったかどうかを示す変数にＴＲＵＥを設定し、１６０４に進み処理を終了する。
【０１０８】
図１７でジョブ処理中に印刷データの書き込みを行ったかどうかにより、スプーラ２０５の印刷終了処理を切り替える場合について説明する。なお、スプーラの印刷終了処理は、図１２の１２０３のＥｎｄＤｏｃＰｏｒｔ（）のリターン後に行われる。
【０１０９】
１７０１でスプーラ２０５は印刷終了処理を開始する。１７０２でスプーラ２０５はデータ書き込みを行ったかどうかを示す変数を参照する。１７０３で、１７０２で参照した変数の値がＴＲＵＥかどうかを判定する。１７０３でＴＲＵＥでないと判定した場合は、１７０６に進み、プリントキュー２０６に、印刷データの書き込みを行っていない当該ジョブの管理情報を非表示にすることを指示し、１７０７で処理を終了する。
【０１１０】
１７０３でＴＲＵＥと判定した場合は１７０４に進み、印刷装置１１０から処理完了情報を受信したかどうか判定する。１７０４で受信していないと判定した場合は、再び１７０４で処理完了情報を受信したかどうか判定する。１７０４で処理完了情報を受信したと判定した場合は、１７０６に進み、プリントキュー２０６に、印刷データの書き込みを行っていない当該ジョブの管理情報を非表示にすることを指示し、１７０７で処理を終了する。
【０１１１】
図１６と図１７による処理をまとめると以下の通りである。
【０１１２】
通常印刷ジョブの場合は図１６の処理が実行され、データ書き込みを行ったかどうかを示す変数がＴＲＵＥとなる。よって、図１７のスプーラ２０５の処理では印刷装置１１０から処理完了情報を受信するまで待機する。
【０１１３】
フォーム作成ジョブの場合は図１６の処理が実行されないため、データ書き込みを行ったかどうかを示す変数が初期値のＦＡＬＳＥのままである。よって、図１７のスプーラ２０５の処理で印刷装置１１０から処理完了情報を待たずに、プリントキュー２０６にフォーム作成ジョブの管理情報を非表示にするように指示する。
【０１１４】
以上により、ジョブ処理中に印刷データの書き込みを行わなかった場合は、印刷装置１１０からの処理完了情報の受信を待たずに、スプーラ２０５がプリントキュー２０６に印刷データの書き込みを行わなかったジョブの管理情報を非表示することを指示する。これにより印刷装置１１０から処理完了情報を待ち続けてしまい、プリントキュー２０６の印刷データの書き込みを行わなかったジョブの管理情報が非表示にされないという問題を解決できる。
【０１１５】
［実施形態５］
本実施形態では、ポートモニタ２０９はポートモニタ２０９自身のＷｒｉｔｅＰｏｒｔ（）の書き込み処理の有無を判断し、スプーラ２０５を経由してプリントキュー２０６にジョブの管理情報を非表示にすることを指示することにより、課題を解決する。
【０１１６】
印刷システムの構成は、実施形態１と同一であり、図１、図２で表すことができる。ＷＳＤ印刷における通常印刷ジョブの処理の流れは図３に表される。フォーム作成ジョブの処理の流れは図１２に表される。
【０１１７】
また、ＲＡＭ１０１にデータ書き込みを行ったかどうかを示す変数が格納されており、これは図１４の処理を実行する前に初期値としてＦＡＬＳＥが代入されている。
【０１１８】
図１４を用いて、通常印刷ジョブに対するポートモニタ２０９のＷｒｉｔｅＰｏｒｔ（）の処理について説明する。
【０１１９】
１４０１でポートモニタ２０９はＷｒｉｔｅＰｏｒｔ（）の処理を開始し、１４０２でランゲージモニタ２０８から印刷データを受信する。１４０３で、１４０２で受信した印刷データを印刷装置１１０に書き込む。１４０４で、データ書き込みを行ったかどうかを示す変数にＴＲＵＥを代入し、１４０５に進み処理を終了する。
【０１２０】
図１５でポートモニタ２０９がＥｎｄＤｏｃＰｏｒｔ（）の処理をジョブ処理中に印刷データの書き込みを行ったかどうかで切り分ける動作について説明する。
【０１２１】
１５０１でポートモニタ２０９はＥｎｄＤｏｃＰｏｒｔ（）の処理を開始し、１５０２でデータ書き込みを行ったかどうかを示す変数を参照する。１５０３で、１５０２で参照した変数の値がＴＲＵＥかどうかを判定し、ＴＲＵＥでないと判定した場合は、１５０４に進む。１５０４で、スプーラ２０５を介してプリントキュー２０６に、印刷データの書き込みを行っていない当該ジョブの管理情報を非表示にするように指示し、１５０５に進み、処理を終了する。１５０３でＴＲＵＥと判定した場合は、１５０５に進み、処理を終了する。
【０１２２】
図１４と図１５による処理をまとめると以下の通りである。
【０１２３】
通常印刷ジョブの場合は図１４の処理が実行され、データ書き込みを行ったかどうかを示す変数がＴＲＵＥとなる。よって、図１５のポートモニタ２０９の処理では何も行われない。
【０１２４】
フォーム作成ジョブの場合は図１４の処理が実行されないため、データ書き込みを行ったかどうかを示す変数が初期値のＦＡＬＳＥのままである。よって、図１５のポートモニタ２０９の処理でプリントキュー２０６にフォーム作成ジョブの管理情報を非表示にするように指示する。
【０１２５】
以上により、非印刷ジョブの場合においても、ポートモニタ２０９がそれを検知し、ＥｎｄＤｏｃＰｏｒｔ（）でスプーラ２０５を介してプリントキュー２０６のジョブの管理情報を非表示にするように指示する。これにより印刷装置１１０からＪｏｂＥｎｄＳｔａｔｅＥｖｅｎｔがポートモニタ２０９へ送信されず、印刷終了が通知されない場合においても、正常にプリントキュー２０６のフォーム作成ジョブの管理情報を非表示にすることができる。
【０１２６】
［実施形態６］
実施形態３では、スプーラ２０５の印刷終了処理で、ＯＳの印刷サポート機能２０２が変数に格納したジョブタイプを参照して処理を行った。これによらず、ＯＳの印刷サポート機能２０２がプリントキュー２０６に管理情報を非表示にすることを直接指示してもよい。
【０１２７】
この場合は、ＯＳの印刷サポート機能２０２がジョブタイプを変数に格納する際に、プリントキュー２０６に直接ジョブタイプを通知し、プリントキュー２０６が非印刷ジョブであることを判断して、非印刷ジョブの管理情報を非表示にする。
【０１２８】
［実施形態７］
実施形態１では、ＷＳＤ印刷により情報処理装置１００から送信完了情報を印刷装置１１０に送信することで送信完了を印刷装置に通知する例を説明した。
【０１２９】
これによらず、ジョブの送信の最初に、情報処理装置１００が送信するジョブの容量を印刷装置１１０に通知する方法によって、印刷装置１１０がジョブの送信の終了を認識してもよい。この場合、ジョブの送信完了後に、印刷装置１１０が情報処理装置１００から受信したジョブの容量と、情報処理装置１００が印刷装置１１０に通知したジョブの容量を比較し、一致した場合にジョブの送信が完了したと判断する。
【０１３０】
また、本発明は、以下の処理を実行することによっても実現される。
【０１３１】
即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【０１３２】
１００  情報処理装置
１０９  ネットワーク（通信経路に対応）
１１０  印刷装置
２０６  プリントキュー
【図１】
0005748557.tif 000002
【図２】
0005748557.tif 000003
【図３】
0005748557.tif 000004
【図４】
0005748557.tif 000005
【図５】
0005748557.tif 000006
【図６】
0005748557.tif 000007
【図７】
0005748557.tif 000008
【図８】
0005748557.tif 000009
【図９】
0005748557.tif 000010
【図１０】
0005748557.tif 000011
【図１１】
0005748557.tif 000012
【図１２】
0005748557.tif 000013
【図１３】
0005748557.tif 000014
【図１４】
0005748557.tif 000015
【図１５】
0005748557.tif 000016
【図１６】
0005748557.tif 000017
【図１７】
0005748557.tif 000018
【図１８】
0005748557.tif 000019