(57)【要約】      （修正有）【課題】スプール処理とデスプール処理で印刷設定の整合性を取る。【解決手段】印刷設定を第１の設定から第２の設定へ変更することを受付ける受付手段と、スプール処理内で前記印刷設定の第１の設定で印刷設定を決定する決定手段と、デスプール処理内で、前記受付手段が受付けた前記第２の設定を無視して、前記第１の設定に基づいて印刷コマンドを生成する生成手段を有する。これにより、印スプール処理とデスプール処理の間に印刷設定が変更されることが望ましくない場合での対応が可能となる。【選択図】図５
2014119800.tif 000002
【特許請求の範囲】
【請求項１】
印刷設定を第１の設定から第２の設定へ変更することを受付ける受付手段と、
スプール処理とデスプール処理に共通する共通処理が前記スプール処理として実行されているか又は前記デスプール処理として実行されているかを判定する判定手段と、
前記共通処理内で、前記判定手段が前記共通処理は前記スプール処理として実行されていると判定した場合に、前記印刷設定の第１の設定で印刷設定を決定する決定手段と、
前記共通処理内で、前記判定手段が前記共通処理は前記デスプール処理として実行されていると判定した場合に、前記受付手段が受付けた前記第２の設定を無視して処理を行う処理手段と、
前記第１の設定に基づいて印刷コマンドを生成する生成手段を有することを特徴とする情報処理装置。
【請求項２】
前記共通処理が前記デスプール処理として実行されていることを示す情報を設定する設定手段と、を有し、
前記判定手段は、前記設定手段が前記共通処理は前記デスプール処理として実行されていることを示す情報を設定した場合に、前記共通処理は前記デスプール処理として実行されていると判定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
印刷設定を決定する情報を画像処理装置から取得する取得手段と、を有することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記第１の設定及び前記第２の設定は複数の印刷設定項目の設定を含むことを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記共通処理を呼び出したプロセスを取得する第２の取得手段と、を有し、
前記判定手段は、前記第２の取得手段が取得する前記プロセスが特定のプロセスである場合に、前記共通処理は前記デスプール処理として実行されていると判定することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記第１の設定は第１の回転方向であり、前記第２の設定は前記第１の回転方向と１８０度回転した回転方向である第２の回転方向であり、前記印刷コマンドに基づいて処理する画像処理装置は用紙の長手方向について最初に給紙する辺よりも最後に排紙する辺で余白領域を多くとることを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記共通処理とはコンフリクトを解消する処理とＸＰＳの階層を結合するマージ処理の少なくとも一つを含むことを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記受付手段は記憶装置に保存する第１の設定を第２の設定へ変更することを印刷処理中に受付けることを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
印刷設定を第１の設定から第２の設定へ変更することを受付ける受付手段と、
スプール処理内で前記印刷設定の第１の設定で印刷設定を決定する決定手段と、
デスプール処理内で、前記受付手段が受付けた前記第２の設定を無視して、前記第１の設定に基づいて印刷コマンドを生成する生成手段を有することを特徴とする情報処理装置。
【請求項１０】
印刷設定を第１の回転方向から前記第１の回転方向と１８０度回転した回転方向である第２の回転方向へ変更することを受付ける受付手段と、
前記受付手段が前記印刷設定を前記第１の回転方向から前記第２の回転方向へ変更することを受付けたか否かを判定する判定手段と、
前記判定手段が前記印刷設定を前記第１の回転方向から前記第２の回転方向へ変更することを受付けたと判定した場合に、１８０度回転させた印刷コマンドを出力する出力手段を有することを特徴とする情報処理装置。
【請求項１１】
コンピュータを、
印刷設定を第１の設定から第２の設定へ変更することを受付ける受付手段、
スプール処理とデスプール処理に共通する共通処理が前記スプール処理として実行されているか又は前記デスプール処理として実行されているかを判定する判定手段、
前記共通処理内で、前記判定手段が前記共通処理は前記スプール処理として実行されていると判定した場合に、前記印刷設定の第１の設定で印刷設定を決定する決定手段、
前記共通処理内で、前記判定手段が前記共通処理は前記デスプール処理として実行されていると判定した場合に、前記受付手段が受付けた前記第２の設定を無視して処理を行う処理手段、
前記第１の設定に基づいて印刷コマンドを生成する生成手段として機能させることを特徴とするプログラム。
【請求項１２】
コンピュータを、
前記共通処理が前記デスプール処理として実行されていることを示す情報を設定する設定手段として機能させ、
前記判定手段は、前記設定手段が前記共通処理は前記デスプール処理として実行されていることを示す情報を設定した場合に、前記共通処理は前記デスプール処理として実行されていると判定することを特徴とする請求項１１に記載のプログラム。
【請求項１３】
コンピュータを、
印刷設定を決定する情報を画像処理装置から取得する取得手段、として機能させることを特徴とする請求項１２に記載のプログラム。
【請求項１４】
前記第１の設定及び前記第２の設定は複数の印刷設定項目の設定を含むことを特徴とする請求項１１乃至１３のいずれか１項に記載のプログラム。
【請求項１５】
コンピュータを、
前記共通処理を呼び出したプロセスを取得する第２の取得手段として機能させ、
前記判定手段は、前記第２の取得手段が取得する前記プロセスが特定のプロセスである場合に、前記共通処理は前記デスプール処理として実行されていると判定することを特徴とする請求項１１乃至１４のいずれか１項に記載のプログラム。
【請求項１６】
前記第１の設定は第１の回転方向であり、前記第２の設定は前記第１の回転方向と１８０度回転した回転方向である第２の回転方向であり、前記印刷コマンドに基づいて処理する画像処理装置は用紙の長手方向について最初に給紙する辺よりも最後に排紙する辺で余白領域を多くとることを特徴とする請求項１１乃至１５のいずれか１項に記載のプログラム。
【請求項１７】
前記共通処理とはコンフリクトを解消する処理とＸＰＳの階層を結合するマージ処理の少なくとも一つを含むことを特徴とする請求項１１乃至１６のいずれか１項に記載のプログラム。
【請求項１８】
前記受付手段は記憶装置に保存する第１の設定を第２の設定へ変更することを印刷処理中に受付けることを特徴とする請求項１１乃至１７のいずれか１項に記載のプログラム。
【請求項１９】
コンピュータを、
印刷設定を第１の設定から第２の設定へ変更することを受付ける受付手段、
スプール処理内で前記印刷設定の第１の設定で印刷設定を決定する決定手段、
デスプール処理内で、前記受付手段が受付けた前記第２の設定を無視して、前記第１の設定に基づいて印刷コマンドを生成する生成手段として機能させることを特徴とするプログラム。
【請求項２０】
コンピュータを、
印刷設定を第１の回転方向から前記第１の回転方向と１８０度回転した回転方向である第２の回転方向へ変更することを受付ける受付手段、
前記受付手段が前記印刷設定を前記第１の回転方向から前記第２の回転方向へ変更することを受付けたか否かを判定する判定手段、
前記判定手段が前記印刷設定を前記第１の回転方向から前記第２の回転方向へ変更することを受付けたと判定した場合に、１８０度回転させた印刷コマンドを出力する出力手段として機能させることを特徴とするプログラム。
【請求項２１】
印刷設定を第１の設定から第２の設定へ変更することを受付ける受付工程と、
スプール処理とデスプール処理に共通する共通処理が前記スプール処理として実行されているか又は前記デスプール処理として実行されているかを判定する判定工程と、
前記共通処理内で、前記判定工程が前記共通処理は前記スプール処理として実行されていると判定した場合に、前記印刷設定の第１の設定で印刷設定を決定する決定工程と、
前記共通処理内で、前記判定工程が前記共通処理は前記デスプール処理として実行されていると判定した場合に、前記受付工程が受付けた前記第２の設定を無視して処理を行う処理工程と、
前記第１の設定に基づいて印刷コマンドを生成する生成工程を有することを特徴とする制御方法。
【請求項２２】
印刷設定を第１の設定から第２の設定へ変更することを受付ける受付工程と、
スプール処理内で前記印刷設定の第１の設定で印刷設定を決定する決定工程と、
デスプール処理内で、前記受付工程が受付けた前記第２の設定を無視して、前記第１の設定に基づいて印刷コマンドを生成する生成工程を有することを特徴とする制御方法。
【請求項２３】
印刷設定を第１の回転方向から前記第１の回転方向と１８０度回転した回転方向である第２の回転方向へ変更することを受付ける受付工程と、
前記受付工程が前記印刷設定を前記第１の回転方向から前記第２の回転方向へ変更することを受付けたか否かを判定する判定工程と、
前記判定工程が前記印刷設定を前記第１の回転方向から前記第２の回転方向へ変更することを受付けたと判定した場合に、１８０度回転させた印刷コマンドを出力する出力工程を有することを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は印刷設定の技術に関するものである。
【背景技術】
【０００２】
情報処理装置で印刷設定を行う技術が提案されている。
特許文献１はスプーラによる処理の前に一度印刷設定を行って、スプーラによる処理の後に印刷設定を変更する技術を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−２９８５６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１のように印刷設定によってはスプール処理とデスプール処理の間に印刷設定が変更されることが望ましくない場合がある。例えばスプール処理とデスプール処理で整合性をとらなければならない印刷設定が変更されてしまう場合である。
そこで本発明は、スプール処理とデスプール処理で印刷設定の整合性を取ることを目的とする。
【課題を解決するための手段】
【０００５】
上記の目的を達成するための本発明に係る情報処理装置は、
印刷設定を第１の設定から第２の設定へ変更することを受付ける受付手段と、
スプール処理内で前記印刷設定の第１の設定で印刷設定を決定する決定手段と、
デスプール処理内で、前記受付手段が受付けた前記第２の設定を無視して、前記第１の設定に基づいて印刷コマンドを生成する生成手段を有することを特徴とする。
【０００６】
上記の目的を達成するための本発明に係る他の情報処理装置は、
印刷設定を第１の回転方向から前記第１の回転方向と１８０度回転した回転方向である第２の回転方向へ変更することを受付ける受付手段と、
前記受付手段が前記印刷設定を前記第１の回転方向から前記第２の回転方向へ変更することを受付けたか否かを判定する判定手段と、
前記判定手段が前記印刷設定を前記第１の回転方向から前記第２の回転方向へ変更することを受付けたと判定した場合に、１８０度回転させた印刷コマンドを出力する出力手段を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、スプール処理とデスプール処理で印刷設定の整合性を取ることができる。
【図面の簡単な説明】
【０００８】
【図１】横向きの文書を縦方向に回転して排紙する際の概念図
【図２】プリンタと情報処理装置によって構成される印刷システムのブロック図
【図３】情報処理装置上で実行される印刷プログラムのブロック図
【図４】実施形態１におけるフィルターの処理を示すフローチャート
【図５】実施形態１における印刷設定整合処理を示すフローチャート
【図６】実施形態２における印刷設定整合処理を示すフローチャート
【図７】実施形態６におけるフィルターの処理を示すフローチャート
【図８】実施形態４におけるフィルターの処理を示すフローチャート
【図９】実施形態４における印刷設定整合処理を示すフローチャート
【図１０】実施形態５における印刷設定整合処理を示すフローチャート
【図１１】実施形態６における印刷設定整合処理を示すフローチャート
【図１２】ユーザーインターフェースモジュールのユーザーインターフェースを示す図
【図１３】ユーザーインターフェースモジュールのユーザーインターフェースを示す他の図
【発明を実施するための形態】
【０００９】
尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１０】
本実施形態ではスプール処理とデスプール処理で印刷設定に基づく処理を行う共通の共通処理を設け、さらにスプール処理とデスプール処理の間に共通処理で参照する印刷設定を変更できる構成に基づいて説明する。このような構成では当然スプール処理とデスプール処理の間に印刷設定が変更されれば共通処理に影響がでる可能性がある。
【００１１】
しかし、印刷設定によってはスプール処理とデスプール処理の間に変更されることが望ましくない場合がある。
【００１２】
前述の共通処理で用いる印刷設定が変更された場合に共通処理に影響がでる場合について、横向きの文書を縦方向に回転して排紙する際の回転方向（以下、Ｌａｎｄｓｃａｐｅ回転方向）を例に具体的に説明する。
【００１３】
図１は、アプリケーションで作成した横向きの印刷データを縦方向に回転して排紙した場合の印刷媒体における印刷データ１１０１の一例である。説明を分かりやすくするため、印刷媒体１１０２を横向きにして図示している。アプリケーションは、プリンタドライバから返却される印刷可能領域１１０４に横向きの印刷データ１１０１を配置する（スプール処理）。
【００１４】
図１（ａ）は、右９０度に回転した場合、図１（ｂ）は左９０度に回転した場合の例である。印刷データ１１０１の向きを揃えた時に図１（ａ）と図１（ｂ）とでは印刷可能領域１１０４がズレていることがわかる。
【００１５】
印刷可能領域１１０４はＬａｎｄｓｃａｐｅ回転方向によって変わる。これはインクジェットプリンタのメカ制御観点の理由等で、用紙の長手方向について最初に給紙する辺よりも最後に排紙する辺で余白領域をプリンタが多くとる必要がある等の理由による。
【００１６】
図１（ｃ）は、スプール処理で右９０度回転の印刷データを作成し、デスプール処理で左９０度回転の印刷コマンドを作成した場合に出力される印刷媒体の例である。アプリケーションが右９０度回転時の印刷可能領域１１０４に印刷データ１１０１を配置するのに対し、プリンタドライバは左９０度回転時の印刷可能領域１１０４として印刷処理を行なう。結果、印刷可能領域外に配置された印刷データ１１０１を元に作成された印刷コマンド１１０５は印刷媒体１１０２には印刷されず、印刷コマンドが欠けてしまうといった問題が発生する。
【００１７】
以下、主に説明した問題を解決可能な構成の一例を説明する。
【００１８】
図２は本発明の実施形態における印刷システムのハードウェア構成を示すブロック図である。情報処理装置１０１は入力インターフェース１０２とＣＰＵ１０３、ＲＯＭ１０４、ＲＡＭ１０５、外部記憶装置１０６、出力インターフェース１０７、表示部１０８、キーボード１０９、マウス１１０、入出力インターフェース１１１を有する。ＲＯＭ１０４には初期化プログラムが入っており、外部記憶装置１０６にはアプリケーションプログラム群とＯＳ、プリンタドライバやその他各種のデータが保持されている。ＲＡＭ１０５は外部記憶装置１０６にストアされる各種プログラムがワークメモリとして使用する。
【００１９】
プリンタ１２０は入出力インターフェース１２１とＲＯＭ１２２、ＣＰＵ１２３、ＲＡＭ１２４、プリントエンジン１２５を有する画像処理装置である。入出力インターフェース１２１は情報処理装置１０１の入出力インターフェース１１１に接続してある。なお、プリンタ１２０と情報処理装置１０１の接続方法はどのような接続方法であっても構わない。具体例としてはＵＳＢやＬＡＮ、インターネット、無線通信を用いて接続する方法が挙げられる。ＲＡＭ１２４はＣＰＵ１２３の主メモリとワークメモリとして用いられ、受信した印刷ジョブを一旦保存するための受信バッファや各種のデータを保存する。プリントエンジン１２５はＲＡＭ１２４に保存されたデータに基づき印刷を行なう。ＲＯＭ１２２には各種の制御プログラムが使用するデータが入っており、ＣＰＵ１２３はこれらの制御プログラムに従ってプリンタ１２０の各部を制御する。
【００２０】
ここでは、例として情報処理装置１０１とプリンタ１２０の処理分担を上記のように示したが、特にこの分担形態に限らず他の形態であっても構わない。
【００２１】
加えて、ＣＰＵ（制御手段）１０３が外部記憶装置１０６に記憶されているプログラムに基づき処理を実行することによって、図２に示されるような情報処理装置１０１のソフトウェア構成及び後述するフローチャートの各ステップの処理が実現される。
【００２２】
＜実施形態１＞
図３は、本発明におけるプリンタドライバの実施形態を説明するために印刷プログラムの全体構成を概念的に表したブロック図の一例である。以下、Ｍｉｃｒｏｓｏｆｔ社のＷｉｎｄｏｗｓ（登録商標）をＯＳとして使用し、スプールデータフォーマットとしてＭｉｃｒｏｓｏｆｔ社が開発したオープン規格の電子文書フォーマットの一つであるＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（以下、ＸＰＳ）を用いる印刷システムについて説明する。なお、本実施形態の構成はＸＰＳを用いた印刷システム以外の印刷システムでも適用可能であることは言うまでもない。
【００２３】
アプリケーション２０１は文書を作成し、その文書を印刷するためにユーザーインターフェースモジュール２０３にプリンタシステムの機能を問い合わせる。その後、ＯＳの印刷サポート機能２０２を通じて文書がＸＰＳスプールデータ２０５として外部記憶装置１０６に一時的に蓄えられる（スプール処理）。ＸＰＳスプールデータには、プリンタ１２０に記録を行わせるための描画情報と、印刷設定が含まれる。そして、このデータをＯＳのサービスである不図示のフィルターパイプラインの中のプリンタドライバの一部であるフィルター２０６が、プリンタ１２０が解釈可能な印刷コマンドに変換してプリンタ１２０に供給して印刷する（デスプール処理）よう構成されている。スプール処理とデスプール処理は、それぞれ別のプロセスで動作し、必ずしも連続して動作するとは限らない。
【００２４】
フィルター２０６は、印刷時にＸＰＳスプールデータ２０５から印刷設定とＸＰＳパートとを読み込み、プリンタ１２０が解釈可能な印刷コマンドに変換してプリンタ１２０へ供給し、印刷を行なう機能を有する。また、フィルター２０６はスプールされた印刷データをデスプールする際にＯＳの印刷サポート機能２０２から呼び出される。さらに、フィルター２０６の各フィルターを通過する際、ユーザーインターフェースモジュール２０３の後述する印刷設定整合処理を呼び出し、整合性が取れた状態で最終的にプリンタ１２０が解釈可能な印刷コマンドに変換し、プリンタ１２０へ送信する。
【００２５】
ユーザーインターフェースモジュール２０３は、使用する用紙サイズや印刷方向などの印刷設定を入力として受け取り、設定された値やデータの整合性を取って返却する機能を提供する。この機能を実現するのが印刷設定整合処理である。設定された値やデータの整合性を取るとは具体的に言えば印刷設定のコンフリクトの解消の処理又はＸＰＳの階層に付加されているＰｒｉｎｔＴｉｃｋｅｔを結合するマージ処理が挙げられる。この２つの処理は両方行なっても構わないし、片方だけであっても構わない。また、本実施形態では印刷設定整合処理で前述の２つの処理に加えて、後述するようにＬａｎｄｓｃａｐｅ回転方向をスプール処理のみで用いるように制御する。そして、本実施形態で印刷設定整合処理はスプール処理とデスプール処理で共通して実行される共通処理である。加えて、印刷設定整合処理はユーザーインターフェースモジュール２０３のユーザーインターフェースで印刷設定を受け付けた場合にも実行される。
【００２６】
具体的にはユーザーインターフェースモジュール２０３は、少なくとも１つ以上の印刷設定を決定する情報（以降、印刷情報と呼ぶ）を外部記憶装置１０６へ保持する機能を有する。さらに、印刷設定整合処理時に外部記憶装置１０６に保持された印刷情報を参照し、印刷設定を決定・更新し、アプリケーション２０１に返却する機能を有する。
【００２７】
また、印刷設定整合処理は、アプリケーション２０１やプリンタドライバのユーザーインターフェース、フィルター２０６から共通で直接コールされる処理である。この処理内で外部記憶装置１０６に保持された印刷情報を参照し、印刷設定の決定・更新を行なうことで、印刷フロー全体で整合性を取りながら固定値で印刷設定を更新することが可能となる。
【００２８】
ユーザーインターフェースモジュール２０３は、外部記憶装置１０６に保持する印刷情報を、ユーザーインターフェース上で変更可能なインターフェースを持つ。
【００２９】
図１２はユーザーインターフェースモジュール２０３のユーザーインターフェースを示す図である。
【００３０】
図１２（Ａ）は印刷オプションボタン１２２１の押下をユーザーから受付けることにより印刷オプションダイアログが開かれたことを示す。そして、印刷オプションダイアログのＬａｎｄｓｃａｐｅ回転方向コントロール１２１１により、Ｌａｎｄｓｃａｐｅ回転方向の設定の変更をユーザーから受付ける。
【００３１】
なお、図１２（Ａ）は図１３のように構成しても構わない。図１３では特殊設定ボタン１２２３の押下をユーザーから受付けることにより特殊設定ダイアログが開かれたことを示す。そして、特殊設定ダイアログのＬａｎｄｓｃａｐｅ回転方向コントロール１２１１により、図１２（Ａ）と同じくＬａｎｄｓｃａｐｅ回転方向の設定の変更をユーザーから受付ける。
【００３２】
このユーザーインターフェースモジュール２０３のユーザーインターフェースを利用することにより、ユーザーはアプリケーション２０１から印刷する毎に印刷設定を設定することができる。また、ユーザーはアプリケーション２０１毎には変更しない共通の印刷設定（デフォルトの印刷設定）を設定することもできる。
【００３３】
さらに、アプリケーションが直接ユーザーインターフェースモジュール２０３を呼び出すことで印刷設定を変更することも可能なように構成してもよい。この構成により、特定のアプリケーションからの印刷時のみ、ユーザーが指示した共通の印刷設定を無視するといったことも可能となる。
【００３４】
具体的にはユーザーインターフェースモジュール２０３のユーザーインターフェースを用いて、前述のデフォルトの印刷設定としてＬａｎｄｓｃａｐｅ回転方向を左９０度に設定していたとする。その一方で印刷を行う特定のアプリケーションでＬａｎｄｓｃａｐｅ回転方向を右９０度に指定したとする。この場合、特定のアプリケーションはユーザーインターフェースモジュール２０３を呼び出し、Ｌａｎｄｓｃａｐｅ回転方向を右９０度に指定することができる。これにより結果的にはデフォルトの印刷設定である左９０度の設定は無視されて、その代わりに右９０度に変更される。
【００３５】
図５は、ユーザーインターフェースモジュール２０３で行なわれる印刷設定整合処理の一部を示すフローチャートである。外部記憶装置１０６に従って処理する部分を中心としたフローチャートであり、それ以外の処理については省略している。
【００３６】
ここではまず図３の（Ａ）のようにＯＳの印刷サポート機能２０２が印刷設定整合処理を呼び出した場合を例に説明する。
【００３７】
ユーザーインターフェースモジュール２０３は外部記憶装置を参照するかどうかを判定する（Ｓ４０１）。この判定を行うために、具体的にはユーザーインターフェースモジュール２０３は外部記憶装置参照情報を参照する。
【００３８】
本明細書における外部記憶装置参照情報とは印刷設定の一部である。外部記憶装置参照情報はユーザーインターフェースモジュール２０３が行なう印刷設定整合処理内で、外部記憶装置１０６で保持している印刷情報を参照して印刷設定を決定するか否かを指定するための情報である。本実施形態ではフィルター２０６が設定する情報としているが、印刷設定可能なアプリケーションが設定しても構わない。
【００３９】
外部記憶装置参照情報は後述するようにデスプール処理でフィルター２０６が設定する。よって、印刷設定整合処理がスプール処理として実行されている（すなわち、図３の（Ａ）の呼び出し経路で実行されている）段階では外部記憶装置参照情報は存在しない。このことは印刷設定整合処理がスプール処理として実行されていればＳ４０１の判定はＹＥＳであり、印刷設定整合処理がデスプール処理として実行されていればＳ４０１の判定ＮＯと判定されることを意味する。すなわち、本実施形態のＳ４０１は印刷設定整合処理がスプール処理として実行されているか又はデスプール処理として実行されているかを判定することと等しい。
【００４０】
Ｓ４０１で外部記憶装置参照情報が存在しない或いは外部記憶装置１０６を参照すると判定した場合は、外部記憶装置１０６から印刷情報を参照して印刷設定を決定し、印刷設定を更新する（Ｓ４０２）。
【００４１】
具体的にはユーザーインターフェースモジュール２０３のユーザーインターフェースを用いてＬａｎｄｓｃａｐｅ回転方向を左９０度に設定していたとする。この場合、Ｓ４０２では印刷設定のＬａｎｄｓｃａｐｅ回転方向を左９０度に決定する。
【００４２】
その後、その他の印刷設定の整合性のとれた印刷設定を決定・更新し（Ｓ４０３）、印刷設定整合処理は終了する。
【００４３】
図４は、フィルター２０６がデスプール処理内で印刷設定整合処理を呼び出す処理の一部を示すフローチャートである。ＯＳの印刷サポート機能２０２からフィルター２０６が呼び出されてから最初に印刷設定整合処理が呼び出されるまでの間に、外部記憶装置参照情報に「参照しない」設定をする（Ｓ３０１）。印刷設定に外部記憶装置参照情報が存在しない場合は、フィルター２０６が外部記憶装置参照情報を新たに追加してもよい。具体的には印刷設定の一例であるＰｒｉｎｔＴｉｃｋｅｔに外部記憶装置参照情報を設定できる領域を設け、その領域の外部記憶装置参照情報を「参照しない」という値に設定する構成が考えられる。
【００４４】
その後、フィルター２０６はユーザーインターフェースモジュール２０３の印刷設定整合処理を呼び出し（Ｓ３０２）、整合性を取った印刷設定を受け取り、以降のフィルター処理を続ける。
【００４５】
再び図５を用いてＳ３０２で呼び出された印刷設定整合処理について説明する。すなわち、図３の（Ｂ）のようにフィルター２０６が印刷設定整合処理を呼び出した場合である。
【００４６】
Ｓ４０１で外部記憶装置参照情報が「参照しない」に設定されていることを判定する。これにより印刷設定整合処理がデスプール処理として実行されていると判定される。
【００４７】
よって、Ｓ４０１の判定の結果、Ｓ４０２は実行されず、Ｓ４０３に処理が進む。
【００４８】
これにより得られる効果を具体的に説明する。例えば図３の（Ａ）と図３の（Ｂ）の途中で、ユーザーインターフェースモジュール２０３のユーザーインターフェースを用いてユーザーがＬａｎｄｓｃａｐｅ回転方向を左９０度から右９０度に変更したとする。このような場合でも図３の（Ａ）の経路で呼び出された印刷設定整合処理で一度Ｌａｎｄｓｃａｐｅ回転方向を左９０度に決定している。よって、図３の（Ｂ）の経路で呼び出された印刷設定整合処理では、ユーザーから受け付けた右９０度の設定への変更を無視して、左９０度の設定に基づいて継続して処理することができる。
【００４９】
本構成により、印刷フロー全体で整合性を取りながら固定値で印刷設定を更新することが可能となる。フィルター２０６が外部記憶装置参照情報に「参照しない」設定をすることにより、スプール処理後に外部記憶装置１０６で保持している印刷情報が更新された場合も、印刷処理全体を通して印刷設定の整合性を保つことができる。
【００５０】
また、図５で示したユーザーインターフェースモジュール２０３の印刷設定整合処理は、スプール処理、デスプール処理で共通のフローとしている。よって、当然ながら印刷設定整合処理がスプール処理とデスプール処理で共通にせざるを得ない構成であっても冒頭で説明した問題を防ぐことができる。このことは特にｉｎｂｏｘドライバなど、ベンダーにとってカスタマイズ性の低いドライバ構成においても適用しやすいことを意味する。
【００５１】
また、Ｓ４０１の判定基準となる外部記憶装置参照情報は、フィルター２０６で付加されるものである。よって、後述する実施形態５の親プロセスのプロセス名で判定を行う例と比較すると、親プロセスのプロセス名が仕様変更等で変更されたとしても、そのような仕様変更とは関係なくＳ４０１による判定を行うことができる。これにより、堅牢性の高い構成を提供することができる。
【００５２】
＜実施形態２＞
実施形態１ではフィルター２０６が外部記憶装置参照情報を設定することで、印刷設定整合処理がデスプール処理で実行されているのかどうかを判定し処理を異ならせていた。
【００５３】
ところが次のように構成することによっても図１に示す問題は解決できる。すなわち、ユーザーインターフェースモジュール２０３がスプール処理とデスプール処理で異なる印刷設定整合処理を用意する。そして、フィルター２０６がスプール処理の印刷設定整合処理ではなく、デスプール処理の印刷設定整合処理を呼び出すことができれば、フィルター２０６が外部記憶装置参照情報を設定する必要性はなくなる。
【００５４】
よって、本実施形態ではフィルター２０６がスプール処理とデスプール処理で異なる印刷設定整合処理を呼び出す例について説明する。
【００５５】
なお、本実施形態における印刷システムの全体構成は実施形態１と同等であり、特に言及がない点は、実施形態１と同等の構成である。また、既に説明したステップと同じ処理については、既に説明したステップの番号と同一の番号を付与し、適宜説明を省略する。
【００５６】
図６（Ａ）はスプール処理でＯＳの印刷サポート機能２０２が呼び出すユーザーインターフェースモジュール２０３による印刷設定整合処理である。すなわち、図３の（Ａ）の経路で呼び出されることで実行される処理である。
【００５７】
図６（Ａ）が図５と異なる点はＳ４０１を有していない点である。よって、印刷設定整合処理が呼び出されると即座にＳ４０２の処理が実行される。これによってＬａｎｄｓｃａｐｅ回転方向が決定される。
【００５８】
図６（Ｂ）はデスプール処理でフィルター２０６が呼び出すユーザーインターフェースモジュール２０３による印刷設定整合処理である。すなわち、図３の（Ｂ）の経路で呼び出されることで実行される処理である。
【００５９】
図６（Ｂ）は図６（Ａ）と比較してＳ４０２を有していない。よって、印刷設定整合処理が呼び出されると即座にＳ４０３の処理が実行される。すなわち、Ｌａｎｄｓｃａｐｅ回転方向が決定されずに処理が行われる。
【００６０】
また、本実施形態では印刷設定整合処理を図６（Ａ）と図６（Ｂ）に処理を分けて構成したが、図５と同じ構成にして、その代わりにＳ４０１で印刷設定整合処理を呼び出す関数の引数に所定のフラグが設定されているかどうかを判定する構成にしても構わない。
【００６１】
本実施形態では、フィルター２０６が外部記憶装置参照情報を設定しなくても、実施形態１と同様に印刷処理全体を通して印刷設定の整合性を保つことができる。このような構成はカスタマイズ性の高いｏｕｔｂｏｘドライバで採用することができる。
【００６２】
＜実施形態３＞
実施形態１では印刷情報を外部記憶装置１０６に保存していた。本実施形態では印刷情報をプリンタ１２０のＲＡＭ１２４に保存する。
【００６３】
例えば実施形態１であればユーザーインターフェースモジュール２０３はＳ４０２でプリンタ１２０のＲＡＭ１２４から印刷情報を取得する。
【００６４】
これにより、複数の情報処理装置が共通でプリンタを使う構成であった場合に、プリンタごとにＬａｎｄｓｃａｐｅ回転方向を決定しておけば、プリンタを使う情報処理装置は共通して同一のＬａｎｄｓｃａｐｅ回転方向を用いることができる。
【００６５】
なお、印刷情報の保存先はプリンタ１２０がＨＤＤ等の外部記憶装置を有していれば、当然その外部記憶装置に保存しても構わない。
【００６６】
＜実施形態４＞
本実施形態ではＬａｎｄｓｃａｐｅ回転方向に加えて、ページレイアウト及びページレイアウトの枠線についても実施形態１のＬａｎｄｓｃａｐｅ回転方向の処理と同様の処理を行う。
【００６７】
図１２（Ｂ）はユーザーインターフェースモジュール２０３の本実施形態のユーザーインターフェースを示す図である。詳細設定ボタン１２２２の押下をユーザーから受付けることにより割り付け印刷ダイアログが開かれたことを示す。そして、割り付け印刷ダイアログのページレイアウトの枠線コントロール１２０３により、ページレイアウトの枠線の有無の指定をユーザーから受付ける。また、割り付け印刷ダイアログのページレイアウトコントロール１２０２により、ページレイアウトの指定をユーザーから受付ける。
【００６８】
図８は本実施形態におけるフィルター２０６が、ユーザーインターフェースモジュール２０３の印刷設定整合処理を行なうまでのフローチャートの一部である。外部記憶装置参照情報の設定に関わる処理以外は省略している。図８に示すとおり、本実施形態では外部記憶装置１０６を参照する印刷設定がＬａｎｄｓｃａｐｅ回転方向、ページレイアウト、ページレイアウトの枠線など複数存在する。なお、本実施形態における印刷システムの全体構成は実施形態１と同等であり、特に言及がない点は、実施形態１と同等の構成である。
【００６９】
フィルター２０６は、Ｌａｎｄｓｃａｐｅ回転方向用の外部記憶装置参照情報に「参照しない」を設定し（Ｓ５０１）、ページレイアウト用の外部記憶装置参照情報に「参照しない」を設定する（Ｓ５０２）。その後、ユーザーインターフェースモジュール２０３の印刷設定整合処理を呼び出し（Ｓ５０３）、整合性を取った印刷設定を受け取り、以降のフィルター処理を続ける。このように印刷設定に付加される外部記憶装置参照情報は、印刷設定ごとに付加することも可能であり、複数の印刷設定に対して作用することも可能である。
【００７０】
図９は、ユーザーインターフェースモジュール２０３が行なう印刷設定整合処理の一部を示すフローチャートである。まず、ユーザーインターフェースモジュール２０３はＬａｎｄｓｃａｐｅ回転方向用外部記憶装置参照情報の判定をする（Ｓ６０１）。
【００７１】
Ｓ６０１で外部記憶装置参照情報が存在しない或いは外部記憶装置１０６を参照すると判定した場合は、外部記憶装置１０６からＬａｎｄｓｃａｐｅ回転方向を決定する印刷情報を参照してＬａｎｄｓｃａｐｅ回転方向を決定し、印刷設定を更新する（Ｓ６０２）。
【００７２】
次に、ユーザーインターフェースモジュール２０３はページレイアウト用外部記憶装置参照情報の判定をする（Ｓ６０３）。
【００７３】
Ｓ６０３で外部記憶装置参照情報が存在しない或いは外部記憶装置１０６を参照すると判定した場合について説明する。この場合は、外部記憶装置１０６からページレイアウトを決定する印刷情報を参照してページレイアウトおよびページレイアウトの枠線を決定し、印刷設定を更新する（Ｓ６０４〜Ｓ６０５）。
【００７４】
その後、その他の印刷設定の整合性のとれた印刷設定を決定・更新し（Ｓ６０６）、印刷設定整合処理を終了する。Ｓ６０４およびＳ６０５で参照する外部記憶装置参照情報は同じであっても構わない。
【００７５】
これによってスプール処理ではＳ６０２とＳ６０４、Ｓ６０５の処理が実行されて、デスプール処理ではこれらの処理が実行されない。
【００７６】
本実施形態により実施形態１よりも多くの印刷情報の印刷設定項目について、スプール処理後に外部記憶装置１０６で保持している印刷情報が更新された場合も、印刷処理全体を通して印刷設定の整合性を保つことができる。
【００７７】
＜実施形態５＞
実施形態１の構成において、外部記憶装置参照情報を印刷設定に付加せずとも、ユーザーインターフェースモジュール２０３が親プロセスを認識して外部記憶装置１０６を参照するか否かを判定することも考えられる。
【００７８】
なお、本実施形態における印刷システムの全体構成は実施形態１と同等であり、特に言及がない点は、実施形態１と同等の構成である。
【００７９】
図１０は本実施形態におけるユーザーインターフェースモジュール２０３が、印刷設定整合処理を行なうフローチャートの一部である。外部記憶装置１０６に従って処理する部分を中心としたフローチャートであり、それ以外の処理については省略している。ユーザーインターフェースモジュール２０３は、印刷設定整合処理を開始する前に親プロセスのプロセス情報を取得する（Ｓ７０１）。このとき取得する情報は、プロセスが識別可能であればＩＤや名前など何でも構わない。Ｓ７０１で取得したプロセス情報からデスプール処理のプロセスから呼ばれたか否かを判定する（Ｓ７０２）。この判定は、Ｓ７０１で取得した親プロセスの名称が、デスプール処理で利用される、既定のシステムプロセス名称であるか否かを判定する等の方法で実現できる。Ｓ７０２でデスプール処理以外から呼ばれたと判定した場合は、外部記憶装置１０６で保持している印刷情報を参照してＬａｎｄｓｃａｐｅ回転方向を決定し、印刷設定を更新する（Ｓ７０３）。Ｓ７０２でデスプール処理から呼ばれたと判定した場合は、Ｓ７０３は行われない。その後、その他の印刷設定の整合性のとれた印刷設定を決定・更新し（Ｓ７０４）、印刷設定整合処理は終了する。
【００８０】
本形態によると、フィルター２０６が印刷設定に外部記憶装置参照情報を付加することなく、印刷フロー全体で整合性を取りながら固定値で印刷設定を更新することが可能となる。
【００８１】
＜実施形態６＞
本実施形態では一旦Ｌａｎｄｓｃａｐｅ回転方向を決定してスプール処理をしておきながら、その一度決定したＬａｎｄｓｃａｐｅ回転方向が途中で変更された場合の問題を、これまでに説明していない方法で解決する方法を説明する。具体的には、図１で説明した問題を避けるために、デスプール処理で１８０度回転して出力を行う。以降、フローチャートを用いて詳細を説明する。
【００８２】
なお、本実施形態における印刷システムの全体構成は実施形態１と同等であり、特に言及がない点は、実施形態１と同等の構成である。
【００８３】
図１１は本実施形態におけるユーザーインターフェースモジュール２０３が、印刷設定整合処理を行なうフローチャートの一部である。外部記憶装置１０６に従って処理する部分を中心としたフローチャートであり、それ以外の処理については省略している。
【００８４】
ユーザーインターフェースモジュール２０３は、外部記憶装置１０６で保持している印刷情報を参照してＬａｎｄｓｃａｐｅ回転方向を決定する（Ｓ１２０１）。
【００８５】
ユーザーインターフェースモジュール２０３は、Ｓ１２０１で決定したＬａｎｄｓｃａｐｅ回転方向がアプリケーション２０１から入力として渡される印刷設定のＬａｎｄｓｃａｐｅ回転方向と一致するか否かを判定する（Ｓ１２０２）。
【００８６】
Ｓ１２０２で一致しないと判定した場合、ユーザーインターフェースモジュール２０３は、さらにデスプール処理から呼ばれたかを判定する（Ｓ１２０３）。この判定はＳ７０２の処理と同一である。
なお、Ｓ１２０３はデスプール処理から呼ばれたことを判定できればよく、実施形態１のように外部記憶装置参照情報を利用することで実現しても良い。
【００８７】
デスプール処理から呼ばれたと判定した場合、ユーザーインターフェースモジュール２０３は、アプリケーション２０１から入力として渡される印刷設定の１８０度回転させることを示す設定（以降、回転フラグと呼ぶ）を有効にする（Ｓ１２０４）。
【００８８】
その後、その他の印刷設定の整合性のとれた印刷設定を決定・更新し（Ｓ１２０５）、印刷設定整合処理は終了する。
【００８９】
図７はユーザーインターフェースモジュール２０３による処理を受けてフィルター２０６が行う処理である。
【００９０】
フィルター２０６は、Ｓ７１１で回転フラグが有効であるかどうかを判定する。Ｓ７１１の判定の結果、回転フラグが有効である場合はＳ７１２に進み、回転フラグが無効である場合には図７はユーザーインターフェースモジュール２０３による処理を受けてフィルター２０６が行う処理を終了する。
【００９１】
Ｓ７１２では、アプリケーションから入力として渡された印刷データを１８０度回転して印刷媒体に配置し印刷コマンドを作成する。この時、フィルター２０６は、上下、左右の余白がそれぞれ回転フラグ無効時に対して反転しているものとして印刷領域を決定し、１８０度回転する。これは、回転フラグが有効の場合、プリンタドライバは、無効の場合の印刷領域に対して上下、左右の余白をそれぞれ逆転した印刷領域をアプリケーション２０１に返却するためである。このような動作をする１８０度回転機能を有効にすることにより、アプリケーション２０１が生成した印刷データは、フィルター２０６によって、欠けることなく、また最新のＬａｎｄｓｃａｐｅ回転方向に回転して出力される。
【００９２】
なお、Ｓ７１２の処理を実現する方法としては以下の３つの方法が考えられる。
【００９３】
１．アプリケーションから入力として渡された印刷データを１８０度回転して、回転された印刷データをレンダリングする。
２．レンダリングと１８０度の回転を同時に行う。
３．アプリケーションから入力として渡された印刷データを回転せずにレンダリングして、読み出す方向を通常とは逆に読み出すことによって、１８０度回転させた出力を行う。
【００９４】
本実施形態によると、デスプール処理で１８０度回転して出力することにより、印刷コマンドが欠けない印刷設定制御を実現することができる。
【００９５】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。
【００９６】
即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００９７】
１０１  情報処理装置
１２０  プリンタ
２０２  ＯＳの印刷サポート機能
【図１】
2014119800.tif 000003
【図２】
2014119800.tif 000004
【図３】
2014119800.tif 000005
【図４】
2014119800.tif 000006
【図５】
2014119800.tif 000007
【図６】
2014119800.tif 000008
【図７】
2014119800.tif 000009
【図８】
2014119800.tif 000010
【図９】
2014119800.tif 000011
【図１０】
2014119800.tif 000012
【図１１】
2014119800.tif 000013
【図１２】
2014119800.tif 000014
【図１３】
2014119800.tif 000015