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