(57)【要約】      （修正有）【課題】ＯＳ標準の汎用印刷プログラムが組み込まれた情報処理装置において、印刷指示に基づく処理の状況を、その印刷指示を入力したアプリケーションプログラムで詳細に認識できる技術を提供する。【解決手段】補助プログラム４２は、ＰＣに、編集アプリ４３から出力された印刷指示であって、汎用印刷プログラム４１に対して、画像の印刷をプリンタに行わせる印刷指示があったことに基づいて汎用印刷プログラム４１が印刷データを生成した後、印刷指示に対応する印刷ジョブを実行するプリンタを特定させ、通信ＩＦを介して、特定したプリンタに印刷指示に対応する印刷ジョブのステータスを問い合わせてステータス情報を取得させ、プリンタから取得したステータス情報を、編集アプリ４３に提供するために出力させる。【選択図】図３
2020126319.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置のコンピュータによって実行可能であり、前記情報処理装置と接続するプリンタに対応するサポートプログラムであって、
前記コンピュータに、
前記情報処理装置に組み込まれているアプリケーションプログラムから出力された印刷指示であって、前記情報処理装置のオペレーティングシステムにあらかじめ組み込まれた汎用印刷プログラムに対して、画像の印刷を前記プリンタに行わせる前記印刷指示があったことに基づいて前記汎用印刷プログラムが印刷データを生成した後に、特定処理と、ステータス取得処理と、ステータス提供処理とを実行させ、
前記特定処理では、
前記印刷指示に対応する印刷ジョブを実行する前記プリンタを特定し、
前記ステータス取得処理では、
前記情報処理装置の通信インタフェースを介して、前記印刷指示に対応する印刷ジョブのステータスを前記特定処理にて特定した前記プリンタに問い合わせて前記印刷ジョブのステータス情報を取得し、
前記ステータス提供処理では、
前記ステータス取得処理にて取得した前記印刷ジョブのステータス情報を、前記アプリケーションプログラムに提供するために出力する、
ことを特徴とするサポートプログラム。
【請求項２】
請求項１に記載するサポートプログラムにおいて、
前記コンピュータに、
前記汎用印刷プログラムが前記印刷データを生成した後に、前記汎用印刷プログラムが生成した前記印刷データの生成に伴う通知が前記汎用印刷プログラムから提供されたことに応じて、前記汎用印刷プログラムが生成した前記印刷データを加工する処理を行う印刷データ生成後処理と、前記ステータス取得処理と、を実行させ、前記印刷データ生成後処理の処理結果を示す後処理情報を前記汎用印刷プログラムに提供した後、前記後処理情報に対応した前記印刷データが前記汎用印刷プログラムから前記プリンタに対して送信される、
ことを特徴とするサポートプログラム。
【請求項３】
請求項１または請求項２に記載するサポートプログラムにおいて、
前記コンピュータに、
前記印刷データの前記プリンタへの送信開始に対応するタイミングで、前記ステータス取得処理を繰り返し実行させる、
ことを特徴とするサポートプログラム。
【請求項４】
請求項３に記載するサポートプログラムにおいて、
前記コンピュータに、
前記印刷データの前記プリンタへの送信が開始された後、実行終了条件を満たすまで前記ステータス取得処理を繰り返し実行させる、
ことを特徴とするサポートプログラム。
【請求項５】
請求項４に記載するサポートプログラムにおいて、
前記ステータス取得処理にて前記印刷ジョブが正常終了したことを示すステータス情報あるいは前記印刷ジョブが無いことを示すステータス情報を取得した場合に、前記実行終了条件を満たす、
ことを特徴とするサポートプログラム。
【請求項６】
請求項４に記載するサポートプログラムにおいて、
前記印刷データの前記プリンタへの送信が開始された後から所定時間が経過した場合に、前記実行終了条件を満たす、
ことを特徴とするサポートプログラム。
【請求項７】
請求項１または請求項２に記載するサポートプログラムにおいて、
前記コンピュータに、
前記汎用印刷プログラムから提供要求があったことに応じて、前記ステータス取得処理を実行させる、
ことを特徴とするサポートプログラム。
【請求項８】
請求項７に記載するサポートプログラムにおいて、
前記提供要求は、前記アプリケーションプログラムから前記汎用印刷プログラムに対して前記印刷ジョブのステータスを取得する取得要求があったことに応じて、前記汎用印刷プログラムから前記サポートプログラムに入力される、
ことを特徴とするサポートプログラム。
【請求項９】
請求項８に記載するサポートプログラムにおいて、
前記アプリケーションプログラムから前記汎用印刷プログラムに入力される前記取得要求には、前記印刷ジョブの識別情報が含まれ、前記汎用印刷プログラムから前記サポートプログラムに入力される前記提供要求には、前記取得要求に含まれる前記識別情報が含まれ、
前記ステータス提供処理では、前記提供要求に含まれる前記識別情報に対応する印刷ジョブのステータス情報を前記汎用印刷プログラムに提供し、前記ステータス情報には、前記提供要求に含まれる前記識別情報が含まれ、前記汎用印刷プログラムは、前記取得要求に含まれる前記識別情報を含むステータス情報を前記アプリケーションプログラムに提供する、
ことを特徴とするサポートプログラム。
【請求項１０】
請求項７から請求項９のいずれか１つに記載するサポートプログラムにおいて、
前記汎用印刷プログラムからの前記提供要求には、前記印刷ジョブの識別情報が含まれ、
前記ステータス提供処理では、
前記提供要求に含まれる前記識別情報に対応する前記印刷ジョブのステータス情報を、前記汎用印刷プログラムに提供する、
ことを特徴とするサポートプログラム。
【請求項１１】
請求項１から請求項１０のいずれか１つに記載するサポートプログラムにおいて、
前記汎用印刷プログラムは、前記ステータス提供処理の実行によって前記サポートプログラムから提供されたステータス情報を、前記アプリケーションプログラムに提供する、
ことを特徴とするサポートプログラム。
【請求項１２】
コンピュータとメモリとを備える情報処理装置であって、
前記情報処理装置のオペレーティングシステムは、あらかじめ組み込まれたプログラムである汎用印刷プログラムを有しており、
前記情報処理装置には、前記情報処理装置と接続するプリンタに対応するサポートプログラムと、前記汎用印刷プログラムを介して前記プリンタに画像の印刷を行わせる印刷指示の入力が可能なアプリケーションプログラムと、が組み込まれており、
前記コンピュータは、
前記サポートプログラムによって、前記アプリケーションプログラムから出力された印刷指示であって、前記汎用印刷プログラムに対して、画像の印刷を前記プリンタに行わせる前記印刷指示があったことに基づいて前記汎用印刷プログラムが印刷データを生成した後に、特定処理と、ステータス取得処理と、ステータス提供処理とを実行し、
前記特定処理では、
前記印刷指示に対応する印刷ジョブを実行する前記プリンタを特定し、
前記ステータス取得処理では、
前記情報処理装置の通信インタフェースを介して、前記印刷指示に対応する印刷ジョブのステータスを前記特定処理にて特定した前記プリンタに問い合わせて前記印刷ジョブのステータス情報を取得し、
前記ステータス提供処理では、
前記ステータス取得処理にて取得した前記印刷ジョブのステータス情報を、前記アプリケーションプログラムに提供するために出力する、
ことを特徴とする情報処理装置。
【請求項１３】
情報処理装置にプリンタが接続され、
前記情報処理装置のオペレーティングシステムは、あらかじめ組み込まれたプログラムである汎用印刷プログラムを有しており、
前記情報処理装置には、前記情報処理装置と接続するプリンタに対応するサポートプログラムと、前記汎用印刷プログラムを介して前記プリンタに画像の印刷を行わせる印刷指示の入力が可能なアプリケーションプログラムと、が組み込まれており、
前記情報処理装置で生成された印刷データに基づく印刷を、前記プリンタに実行させる印刷方法において、
前記サポートプログラムによって、前記アプリケーションプログラムから出力された印刷指示であって、前記汎用印刷プログラムに対して、画像の印刷を前記プリンタに行わせる前記印刷指示があったことに基づいて前記汎用印刷プログラムが印刷データを生成した後に行うステップとして、特定ステップと、ステータス取得ステップと、ステータス提供ステップとを含み、
前記特定ステップでは、
前記印刷指示に対応する印刷ジョブを実行する前記プリンタを特定し、
前記ステータス取得ステップでは、
前記情報処理装置の通信インタフェースを介して、前記印刷指示に対応する印刷ジョブのステータスを前記特定ステップにて特定した前記プリンタに問い合わせて前記印刷ジョブのステータス情報を取得し、
前記ステータス提供ステップでは、
前記ステータス取得ステップにて取得した前記印刷ジョブのステータス情報を、前記アプリケーションプログラムに提供するために出力する、
ことを特徴とする印刷方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に開示される技術分野は、プリンタの制御をサポートするサポートプログラム、情報処理装置、および印刷方法に関する。
【背景技術】
【０００２】
パーソナルコンピュータ等の情報処理装置からプリンタを制御する技術として、情報処理装置にプリンタドライバをインストールし、プリンタドライバによって印刷データを生成し、その印刷データをプリンタに送信する構成が広く知られている（例えば、特許文献１）。プリンタドライバは、プリンタのメーカから提供され、そのプリンタが有する各種の機能に対応しており、そのプリンタを十分に利用することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−１３４７１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年、前述したプリンタドライバを利用せず、オペレーティングシステム（ＯＳ）に標準に組み込まれている汎用印刷プログラムによってプリンタを制御する技術が実用化されている。この技術では、ＯＳがプリンタを検知するとＯＳ標準の汎用印刷プログラムとの関連付けを行い、以後、そのプリンタに対する印刷指示を受け付けた場合に、プリンタドライバを用いずに、ＯＳ標準の汎用印刷プログラムによる印刷が可能になる。
【０００５】
前述したＯＳ標準の汎用印刷プログラムによる印刷であっても、プリンタドライバによる印刷と同様に、アプリケーションプログラムにとっては、印刷データがＯＳのプリントキューに蓄積されることで印刷指示に対する処理が終了する。そのため、印刷データがプリントキューに登録された後の処理の状況については、ユーザがそのアプリケーションプログラムを介して知ることはできない。
【０００６】
本明細書は、ＯＳ標準の汎用印刷プログラムが組み込まれた情報処理装置において、印刷指示に基づく処理の状況を、その印刷指示を入力したアプリケーションプログラムで詳細に認識できる技術を開示する。
【課題を解決するための手段】
【０００７】
上述した課題の解決を目的としてなされたサポートプログラムは、情報処理装置のコンピュータによって実行可能であり、前記情報処理装置と接続するプリンタに対応するサポートプログラムであって、前記コンピュータに、前記情報処理装置に組み込まれているアプリケーションプログラムから出力された印刷指示であって、前記情報処理装置のオペレーティングシステムにあらかじめ組み込まれた汎用印刷プログラムに対して、画像の印刷を前記プリンタに行わせる前記印刷指示があったことに基づいて前記汎用印刷プログラムが印刷データを生成した後に、特定処理と、ステータス取得処理と、ステータス提供処理とを実行させ、前記特定処理では、前記印刷指示に対応する印刷ジョブを実行する前記プリンタを特定し、前記ステータス取得処理では、前記情報処理装置の通信インタフェースを介して、前記印刷指示に対応する印刷ジョブのステータスを前記特定処理にて特定した前記プリンタに問い合わせて前記印刷ジョブのステータス情報を取得し、前記ステータス提供処理では、前記ステータス取得処理にて取得した前記印刷ジョブのステータス情報を、前記アプリケーションプログラムに提供するために出力する、ことを特徴としている。
【０００８】
本明細書に開示されるサポートプログラムは、印刷ジョブのステータス情報をプリンタから取得し、取得した印刷ジョブのステータス情報を、アプリケーションプログラムに提供するために出力する。これにより、アプリケーションプログラムは、出力されたステータス情報から得られる情報に基づいて、印刷ジョブの処理の状況を表示できる。従って、アプリケーションプログラムを使用しているユーザは、処理の進行状況をアプリケーションプログラムで詳細に認識できる。
【０００９】
上記プログラムが組み込まれた情報処理装置、プログラムを格納するコンピュータにて読取可能な記憶媒体、及びプログラムの機能を実現するための制御方法も、新規で有用である。
【発明の効果】
【００１０】
本明細書に開示される技術によれば、ＯＳ標準の汎用印刷プログラムが組み込まれた情報処理装置において、印刷指示に基づく処理の状況を、その印刷指示を入力したアプリケーションプログラムで詳細に認識できる技術が実現される。
【図面の簡単な説明】
【００１１】
【図１】印刷システムの電気的構成を示すブロック図である。
【図２】各プログラムによる動作の順序の例を示すシーケンス図である。
【図３】ステータス情報を提供する手順を示すシーケンス図である。
【図４】ステータス情報リストの例を示す説明図である。
【図５】ステータス監視処理の手順を示すフローチャートである。
【図６】ステータス回答処理の手順を示すフローチャートである。
【図７】ステータス情報を提供する手順を示すシーケンス図である。
【図８】ステータス情報を提供する手順を示すシーケンス図である。
【発明を実施するための形態】
【００１２】
以下、実施の形態のプログラムを利用する印刷システムについて、添付図面を参照しつつ詳細に説明する。本形態は、パーソナルコンピュータ（以下、「ＰＣ」とする）とプリンタとを含む印刷システムを具体化した実施の形態を開示するものである。
【００１３】
本形態のプログラムが実行される印刷システムの構成の例を、図１に示す。図１に示すシステムには、ＰＣ１と、プリンタ２と、プリンタ３と、が含まれる。ＰＣ１は、情報処理装置の一例である。プリンタ２およびプリンタ３は、印刷機能を有する装置であり、ローカル通信またはネットワーク通信を介して、ＰＣ１と通信可能である。
【００１４】
ＰＣ１は、例えば、図１に示すように、コントローラ１０と、ユーザインタフェース（以下、「ＵＩ」とする）２０と、通信インタフェース（以下、「通信ＩＦ」とする）３０と、を備えている。ＵＩ２０及び通信ＩＦ３０は、コントローラ１０に電気的に接続されている。
【００１５】
ＵＩ２０は、各種の表示を行い、ユーザの指示入力を受け付けるハードウェアを含む。ＵＩ２０は、表示機能と入力受付機能との両方の機能を有するタッチパネルであっても良いし、表示機能を有するディスプレイと入力受付機能を有するキーボードやマウス等との組合せであっても良い。
【００１６】
通信ＩＦ３０は、プリンタ２やプリンタ３との通信を行うためのハードウェアや、インターネットへのアクセスを行うためのハードウェアを含む。通信ＩＦ３０は、通信方式の異なる複数のインタフェースを含んでいても良い。通信方式としては、例えば、ネットワーク通信、ＵＳＢ通信がある。また、有線通信であっても無線通信であってもよい。
【００１７】
コントローラ１０は、ＣＰＵ１１と、メモリ１２と、を含む。ＣＰＵ１１は、コンピュータの一例である。メモリ１２は、ＲＯＭと、ＲＡＭと、不揮発性メモリと、を含み、各種のアプリケーションプログラム（以下、「アプリ」とする）などのプログラムや各種のデータなどを記憶する。なお、本明細書では、メモリの詳細を区別しない。ＣＰＵ１１は、メモリ１２から読み出したプログラムに従って、また、ユーザの指示に基づいて、各種の処理を実行する。なお、図１中のコントローラ１０は、ＰＣ１の制御に利用されるハードウェアやソフトウェアを纏めた総称であって、実際にＰＣ１に存在する単一のハードウェアを表すとは限らない。
【００１８】
メモリ１２の一例は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体である。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体には、上記の例の他に、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記録媒体も含まれる。また、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体は、ｔａｎｇｉｂｌｅな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙなコンピュータが読み取り可能なストレージ媒体には含まれない。
【００１９】
メモリ１２には、例えば、図１に示すように、汎用印刷プログラム４１を含むオペレーティングシステム（以下、「ＯＳ」とする）２１と、補助プログラム４２と、編集アプリ４３と、が記憶されている。補助プログラム４２は、サポートプログラムの一例である。補助プログラム４２は、例えば、マイクロソフト社が公開した仕様に基づいてプリンタベンダによって作成された、ハードウェアサポートアプリ（略称、ＨＳＡ）である。ＯＳ２１は、例えば、マイクロソフトウィンドウズ（登録商標）、ＭａｃＯＳ（登録商標）、Ｌｉｎｕｘ（登録商標）である。なお、メモリ１２には、図示したもの以外にも、接続されているプリンタの情報を含む各種のデータや、ブラウザ等の各種のプログラムが記憶されている。
【００２０】
汎用印刷プログラム４１は、ＰＣ１からプリンタ２等の各種のプリンタで印刷を実行させるためのアプリであり、ＯＳ２１にあらかじめ組み込まれているＯＳ標準の印刷プログラムである。本形態の汎用印刷プログラム４１は、印刷対象の画像データに基づいて、プリンタが対応可能な印刷データを生成するプログラムである。汎用印刷プログラム４１は、印刷プログラムの一例である。
【００２１】
汎用印刷プログラム４１は、各プリンタのベンダによって提供される複数種類のモデルのプリンタに適用可能な汎用のアプリであり、各モデルに共通する動作を各プリンタに行わせるプログラムである。あるいは、汎用印刷プログラム４１は、ＯＳ２１にあらかじめ組み込むために、各プリンタのベンダによってＯＳ２１のベンダに提供されるプログラム、例えば、ＯＳ２１にあらかじめ組み込むために提供されるプリンタドライバの一種であっても良い。
【００２２】
補助プログラム４２は、汎用印刷プログラム４１の起動に付随してＯＳ２１からの指示に基づいて処理を実行するプログラムであり、対象のハードウェアの制御をサポートするアプリである。補助プログラム４２は、例えば、汎用印刷プログラム４１から起動される。補助プログラム４２は、プリンタ２等のベンダによってプリンタのタイプごとに用意されるプログラムである。例えば、インクジェットプリンタ用の補助プログラム４２やレーザプリンタ用の補助プログラム４２が用意される。プリンタのタイプごとに限らず、プリンタのモデルごとやプリンタのモデルのシリーズごとに用意される補助プログラム４２が有っても良い。
【００２３】
プリンタのベンダは、ＯＳ２１のベンダが指定する手順に従って、補助プログラム４２をＯＳ２１のベンダが提供するプラットフォームに登録する。ＯＳ２１は、ＰＣ１に新たにプリンタ２が接続され、そのプリンタ２に対応する補助プログラム４２がプラットフォームに登録されている場合には、当該補助プログラム４２を補助プログラム４２が格納されているサーバからダウンロードしてＰＣ１に組み込む。
【００２４】
そして、ＯＳ２１は、組み込んだ補助プログラム４２の識別情報を新たに接続されたプリンタのプリンタ情報に対応付けて、メモリ１２に記憶させる。複数のモデルのプリンタが接続されているＰＣ１では、各モデルのタイプに対応するそれぞれの補助プログラムが組み込まれ、各プリンタと各補助プログラムとを対応付ける情報がメモリ１２に記憶される。つまり、メモリ１２には、ＰＣ１に接続されている各プリンタのプリンタ情報として、当該プリンタのモデル情報やアクセス情報とともに、対応する補助プログラム４２の情報が記憶される。
【００２５】
編集アプリ４３は、例えば、画像データや文書データの作成や編集を行うためのアプリである。編集アプリ４３は、例えば、マイクロソフト  ワード（登録商標）、パワーポイント（登録商標）である。また、プリンタ２やプリンタ３のベンダから提供されるアプリであってもよい。編集アプリ４３は、プリンタ２に所定の動作を行わせる指示を含むユーザ操作を受け付ける。具体的には、編集アプリ４３は、ＵＩ２０を介して、例えば、プリンタ２に印刷を実行させる印刷指示を受け付ける。編集アプリ４３は、アプリケーションプログラムの一例である。
【００２６】
なお、実施の形態における処理およびフローチャートの各処理ステップは、基本的に、補助プログラム４２などのプログラムに記述された命令に従ったＣＰＵ１１の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「取得」、「受付」、「制御」等の処理は、ＣＰＵ１１の処理を表している。ＣＰＵ１１による処理は、ＯＳ２１のＡＰＩを用いたハードウェア制御も含む。本明細書では、ＯＳ２１の詳細な記載を省略して各プログラムの動作を説明する。すなわち、以下の説明において、「プログラムＢがハードウェアＣを制御する」という趣旨の記載は、「プログラムＢがＯＳ２１のＡＰＩを用いてハードウェアＣを制御する」ことを指してもよい。また、プログラムに記述された命令に従ったＣＰＵ１１の処理を、省略した文言で記載することがある。例えば、「ＣＰＵ１１が行う」のようにプログラムを省略して記載することがある。また、プログラムに記述された命令に従ったＣＰＵ１１の処理を、「プログラムＡが行う」のようにＣＰＵを省略した文言で記載することがある。
【００２７】
なお、「取得」は要求を必須とはしない概念で用いる。すなわち、ＣＰＵ１１が要求することなくデータを受信するという処理も、「ＣＰＵ１１がデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。また、「要求する」、「指示する」とは、要求していることを示す情報や、指示していることを示す情報を相手に出力することを示す概念である。また、要求していることを示す情報や指示していることを示す情報のことを、単に、「要求」、「指示」とも記載する。
【００２８】
また、ＣＰＵ１１による、情報Ａは事柄Ｂであることを示しているか否かを判断する処理を、「情報Ａから、事柄Ｂであるか否かを判断する」のように概念的に記載することがある。ＣＰＵ１１による、情報Ａが事柄Ｂであることを示しているか、事柄Ｃであることを示しているか、を判断する処理を、「情報Ａから、事柄Ｂであるか事柄Ｃであるかを判断する」のように概念的に記載することがある。
【００２９】
次に、本形態の補助プログラム４２の構成、および補助プログラム４２の動作を含む印刷手順の一例について、図２のシーケンス図を参照して説明する。補助プログラム４２は、編集アプリ４３等を介して、補助プログラム４２に対応するプリンタが指定された状態で汎用印刷プログラム４１を使用して印刷する印刷指示を受け付けた場合に、汎用印刷プログラム４１から実行指示されるプログラムである。以下では、ＰＣ１がＵＩ２０を介して、例えば、編集アプリ４３にて、印刷対象の画像データが指定された状態で、汎用印刷プログラム４１を介してのプリンタ２での印刷実行の指示を受け付けた場合であって、プリンタ２のモデルのタイプに対応する補助プログラム４２がＰＣ１に組み込まれている場合について説明する。
【００３０】
まず、編集アプリ４３は、ＵＩ２０を介して、印刷対象の画像の指定と、印刷実行の指示入力を受け付ける（矢印Ａ）。編集アプリ４３が表示した画像は、印刷対象の画像の例である。編集アプリ４３は、例えば、編集アプリ４３にて編集された文書や、編集アプリ４３にて読み込んだ写真などを画像として表示する。そして、印刷指示を受け付けた編集アプリ４３は、受け付けた印刷指示の内容を示す印刷実行通知をＯＳ２１に渡す。なお、図２では、ＯＳ２１の動作を省略して示している。
【００３１】
ＯＳ２１は、汎用印刷プログラム４１を使用する印刷実行通知を受け付けた場合、汎用印刷プログラム４１を実行させ、汎用印刷プログラム４１に印刷実行通知を渡す（矢印Ｂ）。汎用印刷プログラム４１は、印刷実行通知にて、印刷指示に含まれる各種の情報、例えば、印刷させるプリンタを示す情報、アプリにて設定された印刷パラメータを示す情報、印刷対象となる画像データを示す情報、印刷を指示したユーザを識別する情報を、取得できる。なお、後述するように、これらの情報は、補助プログラム４２でも使用可能とされる。
【００３２】
汎用印刷プログラム４１は、印刷実行通知に含まれる画像データの形式を中間画像データの形式に変換することで中間画像データを生成し、中間画像データを含む印刷ジョブを生成する（矢印Ｃ）。編集アプリ４３に含まれる画像データは種々のタイプのものであり、汎用印刷プログラム４１は、受け取った画像データを、印刷データの生成に適した中間画像データに変換する。なお、印刷実行通知に含まれる画像データが印刷データの生成に適したデータであれば、中間画像データの生成を省略し、そのまま中間画像データとしても良い。中間画像データは、例えば、ＸＰＳデータである。
【００３３】
さらに、汎用印刷プログラム４１は、印刷実行通知に含まれる情報に基づいて、印刷を実行させる装置として指定されているプリンタを特定する。汎用印刷プログラム４１は、例えば、プリンタ２が指定されている場合、メモリ１２に記憶されているプリンタ情報に含まれるプリンタのモデル情報に基づいて、プリンタ２のモデルを特定する。そして、印刷指示にて指定されたプリンタであるプリンタ２に対応する補助プログラム４２がメモリ１２に記憶されていることから、汎用印刷プログラム４１は、補助プログラム４２の処理の実行命令を出力し、補助プログラム４２を動作させる。汎用印刷プログラム４１は、汎用印刷プログラム４１による印刷データの生成を開始する前、または、汎用印刷プログラム４１による印刷データの生成後に、補助プログラム４２を動作させる。
【００３４】
汎用印刷プログラム４１は、中間画像データに基づいて印刷データを生成する（矢印Ｄ）。汎用印刷プログラム４１によって生成される印刷データは、各種のプリンタにて印刷に使用できる形式の印刷データである。印刷データは、例えば、ＰＷＧＲａｓｔｅｒデータまたはＰＤＦデータである。
【００３５】
印刷データの生成後、汎用印刷プログラム４１は、生成した印刷データを編集する印刷データ編集処理を実行させる実行命令を出力する（矢印Ｅ）。印刷データ編集処理の実行命令には、印刷データが付される。
【００３６】
汎用印刷プログラム４１からの実行命令を受け付けた補助プログラム４２は、印刷データ編集処理を開始する（矢印Ｆ）。補助プログラム４２は、印刷データ編集処理の実行命令にて、印刷パラメータの他、印刷指示に含まれる各種の情報を汎用印刷プログラム４１から取得できる。印刷データ編集処理は、印刷データ生成後処理の一例であり、編集後の印刷データは、後処理情報の一例である。
【００３７】
補助プログラム４２は、印刷データ編集処理にて、例えば、プリンタ２に特有な機能を実行させるためのコマンドを印刷データに付加する。プリンタ２に特有な機能としては、例えば、トナーセーブ設定、フィニッシャの設定、がある。プリンタ２が自身でウォータマークやヘッダ／フッタ等を画像に付加できる機能を有している場合、補助プログラム４２は、これらの機能を実行させるコマンドを印刷データに付加しても良い。補助プログラム４２は、印刷データを編集する処理を行った場合、処理の終了を示す終了通知を汎用印刷プログラム４１に返して処理を終了する。
【００３８】
汎用印刷プログラム４１は、補助プログラム４２から終了通知を受け取ったことに応じて、プリンタ２に対して印刷命令を送信する（矢印Ｈ）。これにより、印刷命令を受信したプリンタ２では、印刷命令に付された印刷データに従って、印刷データの画像の印刷が実行される。プリンタ２は、コマンドが付加された印刷データを受信した場合、印刷の実行に際して、コマンドによって示される動作を行う。なお、印刷データを編集する処理の終了後、補助プログラム４２が、通信ＩＦ３０を介して、汎用印刷プログラム４１を介さずにプリンタ２に対して印刷命令を送信してもよい。
【００３９】
本形態の印刷システムでは、補助プログラム４２は、汎用印刷プログラム４１または編集アプリ４３からの要求に応じて、印刷ジョブのステータス情報を要求されたプログラムに提供する。例えば、汎用印刷プログラム４１は、編集アプリ４３等の、プリンタ２に印刷させる印刷指示を受け付けたアプリからの要求に応じて、印刷ジョブのステータス情報を補助プログラム４２に要求する。あるいは、編集アプリ４３が、補助プログラム４２にステータス情報を要求しても良い。
【００４０】
編集アプリ４３等のアプリで印刷指示を入力したユーザは、そのアプリを介して、その印刷指示による印刷の進行状況を知りたい場合がある。本形態の編集アプリ４３は、印刷指示を受け付けた印刷ジョブの進行状況を、ＵＩ２０にて通知する通知指示を受け付ける。例えば、編集アプリ４３は、汎用印刷プログラム４１を使用してプリンタ２に印刷させる印刷指示であって、通知指示が付加された印刷指示を受け付ける。本形態の印刷システムにおいて、編集アプリ４３にて進行状況の通知指示を付加した印刷指示を受け付けた場合の、各プログラムによる処理の手順の概略について、図３のシーケンス図を参照して説明する。
【００４１】
編集アプリ４３にて印刷指示を受け付けると（図２の矢印Ａ、図３の矢印ａ）、前述したように、汎用印刷プログラム４１にて印刷データが生成され、汎用印刷プログラム４１からプリンタ２に印刷データが送信される（図２の矢印Ｈ、図３の矢印ｂ）。プリンタ２は、印刷データを受信して、印刷の実行を開始する（図３の矢印ｃ）。なお、印刷ジョブには編集アプリ４３での印刷指示に対応して識別情報が与えられ、編集アプリ４３と汎用印刷プログラム４１とは、印刷ジョブの識別情報を共有する。
【００４２】
補助プログラム４２は、前述したように、汎用印刷プログラム４１から印刷データが送信される前に、印刷データ編集処理を実行する（図２の矢印Ｆ）。補助プログラム４２は、印刷データ編集処理にて印刷データに付された情報から、印刷ジョブの識別情報を取得する。そして、補助プログラム４２は、必要に応じて印刷データを編集する。補助プログラム４２は、印刷データ編集処理の終了後に、汎用印刷プログラム４１に終了通知を出力するとともに、当該印刷ジョブのステータスの監視を開始する。そして、補助プログラム４２は、監視中の各印刷ジョブの情報をメモリ１２に記憶させる。
【００４３】
補助プログラム４２は、自身の対応する全てのプリンタにて実行される各印刷ジョブについて、印刷ジョブの識別情報とその印刷ジョブのステータス情報とを関連付けて、例えば、図４に示すような、ステータス情報リスト５１をメモリ１２に記憶させる。図４に示すステータス情報リスト５１は、補助プログラム４２が対応するプリンタである「プリンタＡ」と「プリンタＢ」での印刷が指示された各印刷ジョブについて、ステータス情報を記憶するリストの例である。補助プログラム４２は、最新のステータス情報リスト５１をメモリ１２内の補助プログラム４２用の記憶領域に記憶する。補助プログラム４２用の記憶領域は、例えば、ＯＳ２１によって準備されるレジストリであっても良い。
【００４４】
補助プログラム４２は、例えば、印刷ジョブの識別情報を付してプリンタに問い合わせることで、その印刷ジョブのステータスを示す情報をプリンタから取得する。印刷ジョブのステータスには、印刷実行中、印刷待機中、印刷中止中、該当ジョブ無しが該当する。例えば、印刷終了や削除命令によって印刷ジョブがプリンタに無くなっていれば、印刷ジョブのステータスは、該当ジョブ無しとなる。また、通信エラーや電源オフによってプリンタ２との通信が不可能であれば、印刷ジョブのステータスは不明である。
【００４５】
補助プログラム４２は、印刷ジョブがプリンタ２に残っている間、印刷ジョブのステータスの監視を行う。補助プログラム４２は、例えば、定期的にプリンタ２に問い合わせてステータス情報を取得するステータス監視処理を実行し（図３の矢印ｄ）、取得した情報でステータス情報リスト５１を更新する（矢印ｅ）。ステータス監視処理の詳細に付いては、後述する。
【００４６】
プリンタ２は、補助プログラム４２からの問い合わせに応じて、例えば、自装置の状態を示す情報、蓄積済みの印刷ジョブを示す情報、印刷実行中の印刷ジョブを示す情報を含むステータス情報を補助プログラム４２に返す。プリンタ２は、印刷ジョブの印刷が終了した後、当該印刷ジョブの印刷データを削除する前に、補助プログラム４２に終了を示す情報を送信してもよい。
【００４７】
補助プログラム４２は、例えば、図４に示すように、印刷を実行中の印刷ジョブのステータス情報を「印刷実行中」とし、印刷データを受信済みであって印刷開始前の印刷ジョブのステータス情報を「未実行」とする。補助プログラム４２は、プリンタにてエラーなどが発生し、印刷ジョブの印刷が中止されている場合、その印刷ジョブのステータス情報を「印刷中止中」とする。
【００４８】
また、補助プログラム４２は、プリンタから印刷が終了したことを示す情報を取得した場合、当該印刷ジョブのステータス情報を「印刷終了」とする。なお、補助プログラム４２は、プリンタでの印刷が開始された印刷ジョブであって、プリンタにその印刷ジョブが無い場合、印刷ジョブの印刷が終了したと判断しても良い。
【００４９】
補助プログラム４２がステータスの監視を開始するタイミングは、汎用印刷プログラム４１による印刷データの送信開始より前でも後でも良いし、終了通知を汎用印刷プログラム４１に返してから一定時間の経過後としても良い。また、問い合わせを繰り返す時間間隔は、所定の固定時間であっても良いし、ユーザの設定による可変時間であっても良い。
【００５０】
補助プログラム４２は、プリンタ２から取得した情報に基づいて、印刷ジョブのステータス情報を汎用印刷プログラム４１に提供する（図３の矢印ｆ）。また、補助プログラム４２は、監視を行っている印刷ジョブがプリンタ２から無くなった場合、監視を終了する。その後、補助プログラム４２は、例えば、ジョブ無しを示すステータス情報を汎用印刷プログラム４１に提供する（矢印ｇ）。印刷ジョブは、正常終了した場合やユーザによって削除された場合、プリンタ２から削除される。
【００５１】
汎用印刷プログラム４１は、編集アプリ４３からの要求に基づいて、補助プログラム４２から提供を受けたステータス情報を編集アプリ４３に渡す（矢印ｈ）。これにより、編集アプリ４３は、印刷ジョブのステータス情報を示す画面を表示させることができる。これにより、ユーザは、印刷ジョブの進行状況を、編集アプリ４３にて認識できる。
【００５２】
編集アプリ４３からの要求が、印刷終了までの定期的なステータスの要求であれば、汎用印刷プログラム４１は、矢印ｆや矢印ｇにて提供されたステータス情報を随時、編集アプリ４３に渡す。印刷終了時のみのステータス要求であれば、汎用印刷プログラム４１は、矢印ｆではステータス情報を渡さず、矢印ｇにて提供されたステータス情報のみを編集アプリ４３に渡す。また、編集アプリ４３は、受け付け済みの印刷指示に関して、現在の進行状況の通知指示を受け付けても良く、その場合、汎用印刷プログラム４１に現在のステータス情報を要求する。汎用印刷プログラム４１は、編集アプリ４３からの要求に基づいて、現在のステータス情報を渡す。
【００５３】
次に、図３の矢印ｄで実行される補助プログラム４２のステータス監視処理の手順について、図５のフローチャートを参照して説明する。このステータス監視処理は、例えば、補助プログラム４２による印刷データを編集する処理の終了通知を汎用印刷プログラム４１に出力したことを契機に、補助プログラム４２に従って、ＰＣ１のＣＰＵ１１にて実行される。
【００５４】
ステータス監視処理では、ＣＰＵ１１は、終了通知を汎用印刷プログラム４１に出力した印刷ジョブの識別情報を取得する（Ｓ１０１）。印刷ジョブの識別情報には、印刷を実行させるプリンタの情報も含まれる。Ｓ１０１では、監視する印刷ジョブを実行するプリンタも特定される。Ｓ１０１は、特定処理の一例である。そして、ＣＰＵ１１は、特定されたプリンタに、当該印刷ジョブのステータスを問い合わせる（Ｓ１０２）。
【００５５】
ＣＰＵ１１は、プリンタからの回答に基づいて、プリンタに当該印刷ジョブが有るか否かを判断する（Ｓ１０３）。例えば、印刷が終了したことで印刷ジョブが無くなっている場合は、その印刷ジョブの監視を継続する必要はない。そこで、印刷ジョブが無いと判断した場合（Ｓ１０３：ＮＯ）、ＣＰＵ１１は、印刷ジョブが無いことをステータス情報リスト５１に記憶し（Ｓ１０４）、この印刷ジョブの監視を終了する。Ｓ１０３でＮＯと判断される条件は、実行終了条件の一例である。
【００５６】
さらに、ＣＰＵ１１は、監視を終了した印刷ジョブのステータス情報を汎用印刷プログラム４１に出力する（Ｓ１０５）。Ｓ１０５は、ステータス提供処理の一例である。
【００５７】
印刷ジョブが有ると判断した場合（Ｓ１０３：ＹＥＳ）、ＣＰＵ１１は、プリンタからその印刷ジョブのステータス情報を取得する（Ｓ１０６）。Ｓ１０６は、ステータス取得処理の一例である。そして、ＣＰＵ１１は、取得したステータス情報をステータス情報リスト５１に記憶する（Ｓ１０７）。さらに、取得したステータス情報を汎用印刷プログラム４１に出力する（Ｓ１０８）。Ｓ１０８は、ステータス提供処理の一例である。なお、ＣＰＵ１１は、印刷ジョブごとのステータス情報を取得する代わりに、プリンタのステータスとして、全ての印刷ジョブのステータス情報を纏めて取得しても良い。
【００５８】
さらに、ＣＰＵ１１は、印刷ジョブの監視を終了するか否かを判断する（Ｓ１０９）。ＣＰＵ１１は、例えば、印刷ジョブの印刷が終了した場合や、印刷データの送信開始から所定時間が経過した場合、印刷ジョブの進行状況の監視を終了すると判断する。Ｓ１０９は、実行終了条件の一例である。また、プリンタへの問い合わせを行った後、所定の待ち時間を超えて回答が得られなかった場合も、監視を終了するとしても良い。
【００５９】
印刷ジョブの監視を終了しないと判断した場合（Ｓ１０９：ＮＯ）、ＣＰＵ１１は、所定のウエイト時間が経過したか否かを判断する（Ｓ１１０）。ウエイト時間が経過していないと判断した場合（Ｓ１１０：ＮＯ）、ＣＰＵ１１は、ウエイト時間の経過を待つ。ウエイト時間が経過したと判断した場合（Ｓ１１０：ＹＥＳ）、ＣＰＵ１１は、Ｓ１０２に戻って、再度プリンタに問い合わせる。
【００６０】
Ｓ１０５の後、または、印刷ジョブの監視を終了すると判断した場合（Ｓ１０９：ＹＥＳ）、ＣＰＵ１１は、ステータス監視処理を終了する。
【００６１】
なお、ステータス情報リスト５１は、例えば、ＰＣ１の電源がオフされた場合に消去される。また、補助プログラム４２は、例えば、ステータスの監視を終了した後、所定の保持時間が経過した印刷ジョブのステータス情報を、ステータス情報リスト５１から削除しても良い。
【００６２】
補助プログラム４２は、ステータス情報を適宜提供する代わりに、編集アプリ４３からの要求を受けた場合にステータス情報を提供するとしても良い。例えば、編集アプリ４３は、ユーザによるステータス情報の要求を受け付け、受け付けた印刷ジョブの識別情報を付加して、汎用印刷プログラム４１にステータス情報を要求する。汎用印刷プログラム４１は、印刷ジョブの識別情報を付加して、補助プログラム４２にステータス情報を要求する。
【００６３】
汎用印刷プログラム４１からの要求に応じてステータス情報を提供する処理であるステータス回答処理の手順について、図６のフローチャートを参照して説明する。このステータス回答処理は、汎用印刷プログラム４１からステータスの提供要求を受け付けたことを契機に、補助プログラム４２に従って、ＰＣ１のＣＰＵ１１にて実行される。
【００６４】
このステータス回答処理では、ＣＰＵ１１は、受け付けた提供要求にて指定された印刷ジョブの識別情報を取得する（Ｓ２０１）。ＣＰＵ１１は、取得した識別情報に対応する印刷ジョブのステータス情報が、ステータス情報リスト５１に記憶されているか否かを判断する（Ｓ２０２）。
【００６５】
取得した識別情報に対応する印刷ジョブのステータス情報が、ステータス情報リスト５１に記憶されていないと判断した場合（Ｓ２０２：ＮＯ）、ＣＰＵ１１は、その印刷ジョブにて指定されているプリンタに、当該印刷ジョブのステータスを問い合わせる（Ｓ２０３）。プリンタからの回答に基づいて、ＣＰＵ１１は、当該印刷ジョブのステータス情報を取得する（Ｓ２０４）。Ｓ２０４は、ステータス取得処理の一例である。
【００６６】
一方、取得した識別情報に対応する印刷ジョブのステータス情報が、ステータス情報リスト５１に記憶されていると判断した場合（Ｓ２０２：ＹＥＳ）、ＣＰＵ１１は、その印刷ジョブのステータス情報を読み出す（Ｓ２０５）。Ｓ２０４の後、または、Ｓ２０５の後、ＣＰＵ１１は、取得したステータス情報を含む回答を汎用印刷プログラム４１に渡して（Ｓ２０６）、ステータス回答処理を終了する。Ｓ２０６は、ステータス提供処理の一例である。指定された印刷ジョブのステータス情報がステータス情報リスト５１に記憶されていれば、補助プログラム４２は、プリンタと通信することなく回答できることから、短時間での回答が期待できる。
【００６７】
なお、補助プログラム４２は、全ての印刷ジョブのステータス情報を監視し記憶する代わりに、提供要求を受け付けた印刷ジョブについて、提供要求を受け付けた場合にプリンタ２に問い合わせてもよい。その場合、ステータス回答処理のＳ２０２とＳ２０５とを削除し、Ｓ２０１の後、Ｓ２０３に進む。この場合の各プログラムの処理の手順の概略について、図７のシーケンス図を参照して説明する。なお、図７では、図３と同じ手順については、同じ符号を付している。
【００６８】
編集アプリ４３にて印刷指示を受け付け（矢印ａ）、汎用印刷プログラム４１からプリンタ２へ印刷データが送信され（矢印ｂ）、プリンタ２は、印刷を実行する（矢印ｃ）。その後、編集アプリ４３は、ユーザによるステータスの問い合わせを受け付けると、汎用印刷プログラム４１に印刷ジョブの識別情報を付してステータス情報の問い合わせを出力する（矢印ｉ）。
【００６９】
編集アプリ４３からの問い合わせに応じて、汎用印刷プログラム４１は、補助プログラム４２に、ステータスを問い合わせる（矢印ｊ）。補助プログラム４２は、汎用印刷プログラム４１からの問い合わせを受けて、プリンタ２にステータスを問い合わせ（矢印ｋ）、プリンタ２からステータス情報を取得する（矢印ｌ）。なお、この場合には、補助プログラム４２は、指定された印刷ジョブのステータスを問い合わせ、プリンタ２は、問い合わせに含まれる識別情報に対応する印刷ジョブのステータス情報のみを回答すればよい。
【００７０】
さらに、補助プログラム４２は、プリンタ２から取得したステータス情報を汎用印刷プログラム４１に渡し（矢印ｍ）、汎用印刷プログラム４１は、受け取ったステータス情報を編集アプリ４３に渡す（矢印ｎ）。これにより、編集アプリ４３は、ユーザの求めるステータス情報をＵＩ２０を介して表示させることができる。
【００７１】
このようにすれば、要求に応じてプリンタに問い合わせることで、ステータスを監視し続ける場合に比較して、プリンタとの通信負荷が小さい。
【００７２】
なお、汎用印刷プログラム４１が補助プログラム４２にステータスを問い合わせるタイミングは、編集アプリ４３等のアプリからの問い合わせを受け付けた場合に限らない。例えば、ＯＳ２１が汎用印刷プログラム４１にジョブステータスを問い合わせる機能を有していれば、ＯＳ２１からの問い合わせを受けて、汎用印刷プログラム４１が補助プログラム４２に問い合わせるとすればよい。また、汎用印刷プログラム４１は、独自のタイミングで補助プログラム４２にステータスの問い合わせを行っても良い。
【００７３】
また、補助プログラム４２は、編集アプリ４３等のアプリから直接ステータス情報の提供指示を受け付け、編集アプリ４３等のアプリに直接ステータス情報を提供しても良い。その場合、各プログラムによる処理の手順は、例えば、図８に示すようになる。編集アプリ４３は、印刷実行の指示を受け付けると（矢印ａ）、汎用印刷プログラム４１へ実行通知を出力すると共に、該当する補助プログラム４２にステータス情報の提供要求を渡す（矢印ｐ）。
【００７４】
補助プログラム４２は、編集アプリ４３からの要求に基づいて、前述したようにステータスの監視処理を実行する。例えば、補助プログラム４２は、印刷ジョブがプリンタ２に残っている間、印刷ジョブのステータスの監視を行う。補助プログラム４２は、例えば、定期的にプリンタ２に問い合わせてステータス情報を取得するステータス監視処理を実行し（矢印ｄ）、取得した情報でステータス情報リスト５１を更新する（矢印ｅ）。
【００７５】
編集アプリ４３からの要求が、印刷終了までの定期的なステータスの要求であれば、補助プログラム４２は、矢印ｄで取得した情報を随時、編集アプリ４３に出力する（矢印ｑ）。一方、印刷終了時のみのステータス要求であれば、補助プログラム４２は、矢印ｑではステータス情報を出力せず、ジョブ終了後にステータス情報を編集アプリ４３に出力する（矢印ｒ）。また、編集アプリ４３は、受け付け済みの印刷指示に関して、現在の進行状況の通知指示を受け付けても良く、その場合、補助プログラム４２に現在のステータス情報を要求する。補助プログラム４２は、編集アプリ４３からの要求に基づいて、現在のステータス情報を出力する。
【００７６】
以上、詳細に説明したように、本形態の補助プログラム４２は、汎用印刷プログラム４１を用いる印刷指示があった場合に、印刷ジョブに対応するプリンタを特定し、特定したプリンタからステータス情報を取得して、ステータス情報を出力する。例えば、汎用印刷プログラム４１が編集アプリ４３等にそのステータスの情報を提供することで、編集アプリ４３等は印刷ジョブのステータスを表示できることから、ユーザは、処理の進行状況を、その印刷指示を入力したアプリで詳細に認識できる。
【００７７】
さらに、本形態では、補助プログラム４２は、印刷ジョブの印刷データの送信開始に基づいてプリンタに繰り返しステータスを問い合わせるので、編集アプリ４３からの問い合わせがあった場合に、その印刷ジョブのステータスを速やかに回答することができる。さらに、ステータスの問い合わせを終了する条件を設けているので、無駄な処理の継続を回避できる。特に、印刷ジョブの実行が終了した場合、あるいは印刷ジョブが無くなった場合は、ステータスを監視する必要がなくなるため、ステータスの問い合わせを終了する方が好ましい。また、印刷データの送信を開始してから所定時間が経過した場合、印刷ジョブのステータスを長時間監視する必要性は低いため、ステータスの問い合わせを終了する方が好ましい。
【００７８】
また、本形態では、ステータス情報リスト５１に各印刷ジョブのステータス情報を記憶するので、汎用印刷プログラム４１からの要求に応じて、短時間で回答することができる。一方、問い合わせの都度プリンタ２に問い合わせるとすれば、ＰＣ１の負荷の増大を抑えることができる。
【００７９】
また、本形態では、印刷実行をアプリから指示するときに、汎用印刷プログラム４１が印刷ジョブの識別情報を決めてアプリに返すので、印刷ジョブの識別情報をアプリと汎用印刷プログラム４１とで共有できる。そして、汎用印刷プログラム４１は、補助プログラム４２への指示に印刷ジョブの識別情報を含ませることで、補助プログラム４２とも印刷ジョブの識別情報を共有できることから、必要な情報を正確に提供できる。
【００８０】
なお、本明細書に開示される実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。したがって本明細書に開示される技術は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。例えば、ＰＣ１に接続される装置は、プリンタに限らず、複合機、複写機、ＦＡＸ装置、等印刷機能を有する装置であればよい。また、ＰＣ１に接続されるプリンタは、図示の例に限らず、１台でも良いし、３台以上でもよい。
【００８１】
また、本形態の各処理を実行するモジュールは、補助プログラム４２に限らず、ＯＳ１１の汎用印刷プログラム４１にて印刷を行う際に、ＯＳ１１から指示を受け付けるプログラムであればよい。例えば、マイクロソフト社が仕様公開した印刷ワークフロー  アプリ（Print workflow）でも良い。
【００８２】
また、実施の形態では、補助プログラム４２の動作として、ステータス情報の提供処理のみを記載しているが、補助プログラム４２は、さらに他の役割を有していても良い。
【００８３】
また、実施の形態では、汎用印刷プログラム４１から補助プログラム４２の実行命令が出力されることで、補助プログラム４２が実行されるとしているが、補助プログラム４２の実行タイミングはこれに限らない。例えば、ＯＳ１１から直接実行指示されて実行されても良く、または、常駐される補助プログラム４２であっても良い。常駐される場合には、補助プログラム４２は、実行命令を受けて前述した動作を行うとすれば良い。
【００８４】
また、実施の形態に開示されている任意のフローチャートにおいて、任意の複数のステップにおける複数の処理は、処理内容に矛盾が生じない範囲で、任意に実行順序を変更できる、または並列に実行できる。
【００８５】
また、実施の形態に開示されている処理は、単一のＣＰＵ、複数のＣＰＵ、ＡＳＩＣなどのハードウェア、またはそれらの組み合わせで実行されてもよい。また、実施の形態に開示されている処理は、その処理を実行するためのプログラムを記録した記録媒体、または方法等の種々の態様で実現することができる。
【符号の説明】
【００８６】
１  ＰＣ
２  プリンタ
１１  ＣＰＵ
１２  メモリ
２１  ＯＳ
４１  汎用印刷プログラム
４２  補助プログラム
４３  編集アプリ
【図１】
2020126319.tif 000003
【図２】
2020126319.tif 000004
【図３】
2020126319.tif 000005
【図４】
2020126319.tif 000006
【図５】
2020126319.tif 000007
【図６】
2020126319.tif 000008
【図７】
2020126319.tif 000009
【図８】
2020126319.tif 000010