(57)【特許請求の範囲】
【請求項１】
画像形成装置とネットワークを介して接続された情報処理装置に実行させるための印刷制御プログラムであって、
各アプリケーションからの印刷データ及び前記印刷データに対する印刷設定を取得する取得ステップと、
拡大又は縮小処理に関する処理が前記印刷設定に含まれるか否かを判定する処理判定ステップと、
前記拡大又は縮小処理に関する処理が含まれると判定された場合、前記画像形成装置の処理能力と前記情報処理装置の処理能力とを比較する比較ステップと、
前記比較ステップによる比較結果に基づいて、前記印刷データに対する前記拡大又は縮小処理に関する処理を、前記画像形成装置又は前記情報処理装置のどちらに処理させるかを決定する決定ステップと、
を有し、
前記各アプリケーションは、文書内のオブジェクトに対して前記画像形成装置が解釈可能な第１データを作成するアプリケーションを含み、
前記拡大又は縮小処理に関する処理が含まれると判定された場合、前記印刷データに、前記第１データが含まれるか否かを判定するデータ判定ステップをさらに有し、
前記比較ステップは、
前記印刷データに前記第１データが含まれないと判定された場合に、前記画像形成装置の処理能力と前記情報処理装置の処理能力とを比較し、
前記決定ステップは、
前記データ判定ステップによる判定結果又は前記比較ステップによる比較結果に基づいて、拡大又は縮小処理の決定処理を行う印刷制御プログラム。
【請求項２】
画像形成装置とネットワークを介して接続された情報処理装置に実行させるための印刷制御プログラムであって、
各アプリケーションからの印刷データ及び前記印刷データに対する印刷設定を取得する取得ステップと、
拡大又は縮小処理に関する処理が前記印刷設定に含まれるか否かを判定する処理判定ステップと、
前記拡大又は縮小処理に関する処理が含まれると判定された場合、前記画像形成装置の処理能力と前記情報処理装置の処理能力とを比較する比較ステップと、
前記比較ステップによる比較結果に基づいて、前記印刷データに対する前記拡大又は縮小処理に関する処理を、前記画像形成装置又は前記情報処理装置のどちらに処理させるかを決定する決定ステップと、
前記決定ステップの決定に基づき、拡大又は縮小処理を前記情報処理装置で行ったか否かを示すコマンドを、印刷ジョブ単位、物理用紙単位、又は論理ページ単位で前記画像形成装置に出力する出力ステップと、
を有する印刷制御プログラム。
【請求項３】
画像形成装置とネットワークを介して接続された情報処理装置であって、
各アプリケーションからの印刷データ及び前記印刷データの印刷設定を取得する取得手段と、
拡大又は縮小処理に関する処理が前記印刷設定に含まれるか否かを判定する処理判定手段と、
前記拡大又は縮小処理に関する処理が含まれると判定された場合、前記画像形成装置の処理能力と前記情報処理装置の処理能力とを比較する比較手段と、
前記比較手段による比較結果に基づいて、前記印刷データに対する前記拡大又は縮小処理に関する処理を、前記画像形成装置又は前記情報処理装置のどちらに処理させるかを決定する決定手段と、
前記印刷データを、前記画像形成装置が解釈可能な第２印刷データに変換する描画手段と、
前記印刷データがＥＭＦデータを含む場合に、前記印刷データに面付け処理を行う画像処理手段と、を備え、
前記描画手段は、
前記決定手段と、
前記決定手段により前記情報処理装置で処理すると決定された場合、前記印刷データに対し拡大又は縮小処理を行って前記印刷データを編集する編集手段と、
を備え、
前記画像処理手段は、
前記決定手段と、
前記決定手段により前記情報処理装置で処理すると決定された場合、前記印刷データに対し拡大又は縮小処理を行って前記印刷データを編集する編集手段と、
を備える情報処理装置。
【請求項４】
前記描画手段の編集手段又は前記画像処理手段の編集手段により前記印刷データが編集された場合、
前記描画手段は、
拡大又は縮小処理を前記情報処理装置で行ったか否かを示すコマンドを、印刷ジョブ単位、物理用紙単位、又は論理ページ単位で前記画像形成装置に出力する請求項３記載の情報処理装置。
【請求項５】
請求項１又は２に記載の印刷制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷データを処理する印刷制御プログラム、情報処理装置及び記録媒体に関する。
【背景技術】
【０００２】
プリンタ及びプリンタドライバには、「集約」、「製本」、「変倍」というアプリケーションから印刷指示された印刷データを拡大又は縮小を行うことにより、実際に印刷される物理用紙に「面付け」する機能がある。
【０００３】
これらの各機能を実現するモジュールとしては、以下のものが挙げられる。
・プリンタドライバ
・プリントプロセッサ
・プリンタ本体
このうち、プリンタドライバとプリントプロセッサは、情報処理装置側のモジュールである。情報処理装置は、ＰＣ（Personal Computer）とも呼ぶ。またこれら機能を組み合わせて設定し、印刷を行うことも可能である。
【０００４】
図１は、集約印刷の一例を示す図である。図１に示す例では、４ｉｎ１の集約印刷を示す。図１に示すように、集約印刷では、縮小処理が行われる。
【０００５】
図２は、製本印刷の一例を示す図である。図２に示す例では、８ページの論理ページを用いる製本印刷を示す。図２に示すように、製本印刷では、縮小処理が行われる。図３は、変倍印刷の一例を示す図である。図３に示す例では、原稿ページを拡大して印刷する処理を示す。図３に示すように、変倍印刷では、拡大又は縮小処理が行われる。
【０００６】
図４は、集約＋製本印刷の一例を示す図である。図４に示す例では、３０ページの論理ページを８ｉｎ１に集約して製本印刷する例を示す。図４に示すように、集約＋製本印刷では、縮小処理が行われる。
【０００７】
ここで、印刷に関する各機能をプリンタ側、ＰＣ側で実行できる場合に、どちらに処理させるかの負荷分散を行う技術がある。例えば、特許文献１には、カラーマッチング処理をＰＣとプリンタとで負荷分散する技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、従来技術では、ＰＣ上のアプリケーションからプリンタドライバを介して、プリンタ本体まで印刷データが流れていく印刷処理フローの中で、アプリケーションから印刷指示された印刷データを拡大又は縮小の処理を行うモジュールは固定されていた。
【０００９】
これについて例を挙げると、拡大又は縮小機能をプリンタドライバで行う場合であれば、プリンタ本体では何もしない(等倍で印刷する)ということになる。
【００１０】
ＰＣ側とプリンタ本体のそれぞれのモジュールにおいて、拡大又は縮小処理は可能であるが、機能を実現する役割が固定されているので、印刷ジョブに応じてその役割を適切に変更することができないという問題点があった。
【００１１】
また、「集約」や「製本」といった機能は、先頭ページからの逐次処理だけでは実現できない。これら各機能を実現するためには、記憶媒体(メモリもしくはＨＤＤ（Hard Disc Drive）もしくはＳＳＤ（Solid State Drive）)が必要となる。
【００１２】
集約印刷の場合、１つの物理用紙に複数のページを載せるために、アプリケーションから渡される印刷データ１ページ分の情報を、集約対象の複数のページ分を保持する記憶媒体が必要となる。
【００１３】
例えば、集約４の印刷時には最高で４ページ分の印刷データを保持できるだけの記憶領域が必要となる。
【００１４】
また、製本印刷の種類の１つである「週刊誌印刷」の場合、最初のページと最終ページを同じ物理用紙内に載せるために、アプリケーションから渡される印刷データの全ページ分の情報を保持するための記憶媒体が必要となる。
【００１５】
これら各機能を実現するためには、記憶媒体が必要であり、かつ、その情報を処理するための処理能力も必要となってくる。最近のＰＣやプリンタは、ハードウェア的に高性能なものが多いが、従来の低性能なＰＣやプリンタでは、処理能力が不足し、印刷速度が低下してしまう可能性がある。
【００１６】
よって、拡大又は縮小処理をするモジュールの箇所を変更できないとなると、処理能力が低いモジュール側で拡大又は縮小処理を行ってしまう可能性がある。
【００１７】
以上をまとめると、従来技術では、拡大又は縮小処理に関する処理を、ＰＣ、プリンタのどちらに処理させるかを適切に変更することができないという問題があった。
【００１８】
そこで、本発明は、上記問題点に鑑みてなされたものであり、拡大又は縮小処理に関する処理を行うモジュールを適切に決定することができる印刷制御プログラム、情報処理装置及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１９】
本発明における一態様の印刷制御プログラムは、画像形成装置とネットワークを介して接続された情報処理装置に実行させるための印刷制御プログラムであって、各アプリケーションからの印刷データ及び前記印刷データに対する印刷設定を取得する取得ステップと、拡大又は縮小処理に関する処理が前記印刷設定に含まれるか否かを判定する処理判定ステップと、前記拡大又は縮小処理に関する処理が含まれると判定された場合、前記画像形成装置の処理能力と前記情報処理装置の処理能力とを比較する比較ステップと、前記比較ステップによる比較結果に基づいて、前記印刷データに対する前記拡大又は縮小処理に関する処理を、前記画像形成装置又は前記情報処理装置のどちらに処理させるかを決定する決定ステップと、を有し、前記各アプリケーションは、文書内のオブジェクトに対して前記画像形成装置が解釈可能な第１データを作成するアプリケーションを含み、前記拡大又は縮小処理に関する処理が含まれると判定された場合、前記印刷データに、前記第１データが含まれるか否かを判定するデータ判定ステップをさらに有し、前記比較ステップは、前記印刷データに前記第１データが含まれないと判定された場合に、前記画像形成装置の処理能力と前記情報処理装置の処理能力とを比較し、前記決定ステップは、前記データ判定ステップによる判定結果又は前記比較ステップによる比較結果に基づいて、拡大又は縮小処理の決定処理を行う。
【発明の効果】
【００２２】
本発明によれば、拡大又は縮小処理に関する機能を行うモジュールを適切に決定することができる。
【図面の簡単な説明】
【００２３】
【図１】集約印刷の一例を示す図。
【図２】製本印刷の一例を示す図。
【図３】変倍印刷の一例を示す図。
【図４】集約＋製本印刷の一例を示す図。
【図５】パススルーデータに対応するオブジェクト（パススルーオブジェクトともいう）のみ回転しない例を示す図。
【図６】パススルーオブジェクトのみ縮小しない例を示す図。
【図７】実施例における印刷システムの一例を示す図。
【図８】実施例における情報処理装置のハードウェアの一例を示すブロック図。
【図９】ＲＡＷスプールにおけるデータフローの一例を示す図。
【図１０】ＲＡＷスプールにおける情報処理装置の機能の一例を示すブロック図。
【図１１】印刷設定部が提供するＵＩの一例を示す図。
【図１２】描画部の機能の一例を示すブロック図。
【図１３】拡縮処理決定部の機能の一例を示すブロック図。
【図１４】モジュール決定に用いる情報の一例を示す図。
【図１５】処理性能及び負荷状況を示す情報の一例を示す図。
【図１６】プリンタの機能の一例を示すブロック図。
【図１７】ＥＭＦスプールにおけるデータフローの一例を示す図。
【図１８】ＥＭＦスプールにおける情報処理装置の機能の一例を示すブロック図。
【図１９】プリントプロセッサの機能の一例を示すブロック図。
【図２０】印刷機能の実現例１を示す図。
【図２１】印刷機能の実現例２を示す図。
【図２２】印刷機能の実現例３を示す図。
【図２３】印刷機能の実現例４を示す図。
【図２４】モジュール選択画面の一例を示す図。
【図２５】印刷制御処理の一例を示すフローチャート。
【発明を実施するための形態】
【００２４】
以下、添付図面を参照して、本発明における実施例を詳細に説明する。また、以下に示す実施例では、画像形成装置として、プリンタ機能、スキャナ機能、コピー機能、ファクシミリ機能を一つの筐体に搭載した複合機（ＭＦＰ：Multifunction Peripheral）でもよいし、印刷する機能を少なくとも有する印刷装置（例えばプリンタ）などでもよい。
【００２５】
＜パススルー＞
まず、アプリケーションから渡される印刷データに含まれる特殊な形式の印刷データについて説明する。これは、アプリケーション自身がＰＤＬ（Page Description Language：ページ記述言語）コードを直接生成し、プリンタドライバ経由でプリンタに送信する処理系（パススルー）である。
【００２６】
パススルーでは、特定のページで印刷属性が変わり、その印刷属性に対応させるために、プリンタドライバやプリントプロセッサによって画像の回転や拡大縮小をした場合、パススルーデータ以外は回転又は拡大縮小される。
【００２７】
しかし、パススルーデータは、プリンタドライバやプリンタによって変更されることがないため、印刷結果としてパススルーデータ以外だけが回転又は拡大縮小され、ユーザが意図するように出力されない。なお、具体的なパススルーとしては、ＰｏｓｔＳｃｒｉｐｔ（登録商標）パススルーがよく知られている。
【００２８】
ここで、パススルーデータを含む印刷データにおける問題について、具体例を説明する。図５は、パススルーデータに対応するオブジェクト（パススルーオブジェクトともいう）のみ回転しない例を示す図である。
【００２９】
図５に示す例では、全２ページ（１ページ目用紙方向：縦、２ページ目用紙方向：横）の文書で非パススルーのオブジェクト（非パススルーオブジェクトともいう）１，２、パススルーオブジェクト３，４を含むデータがある。このデータの印刷において、プリントプロセッサで反時計回りに９０度回転処理を行い、プリンタで４ｉｎ１集約するケースを考える。このとき、非パススルーデータオブジェクト２は回転し、パススルーオブジェクト４は回転せず、印刷結果の画像が崩れてしまう。
【００３０】
次に、図６は、パススルーオブジェクトのみ縮小しない例を示す図である。図６に示す例では、全２ページ（１ページ目用紙サイズ：Ａ４、２ページ目用紙方向：Ａ３）の文書で非パススルーオブジェクト５，６、パススルーオブジェクト７，８を含むデータがある。このデータの印刷において、プリントプロセッサで縮小処理を行い、プリンタで４ｉｎ１集約するケースを考える。このとき、非パススルーオブジェクト６は、縮小し、パススルーオブジェクト８は縮小されず、印刷結果の画像が崩れてしまう。
【００３１】
なお、以下に説明する本発明の実施例では、パススルーデータを含む印刷データであっても、ユーザが期待する印刷結果を出力することができ、また、拡大又は縮小処理に関する機能を行うモジュールを適切に変更することができる。
【００３２】
［実施例］
＜システム＞
図７は、実施例における印刷システムの一例を示す図である。図７に示す印刷システムは、ネットワークを介して情報処理装置１０と、画像形成装置２０と、画像形成装置３０とが接続されている。以下、画像形成装置はプリンタを例にして説明する。ネットワークは、情報処理装置１０と各プリンタと双方向に通信可能なネットワークである。なお、ネットワークを介して接続される各機器の数は、図７に示す例に限られない。
【００３３】
＜ハードウェア＞
図８は、実施例における情報処理装置１０のハードウェアの一例を示すブロック図である。図８に示すように、情報処理装置１０は、制御部１０１、主記憶部１０２、補助記憶部１０３、外部記録装置Ｉ／Ｆ部１０４、ネットワークＩ／Ｆ部１０５、入力部１０６、表示部１０７を含む。これら各構成は、バスを介して相互にデータ送受信可能に接続されている。
【００３４】
制御部１０１は、コンピュータの中で、各装置の制御やデータの演算、加工を行うＣＰＵ（Central Processing Unit）である。また、制御部１０１は、主記憶部１０２又は補助記憶部１０３に記憶されたプログラムを実行する演算装置であり、入力装置や記憶装置からデータを受け取り、演算、加工した上で、出力装置や記憶装置に出力する。
【００３５】
主記憶部１０２は、ＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）などであり、制御部１０１が実行する基本ソフトウェアであるＯＳやアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。
【００３６】
補助記憶部１０３は、ＨＤＤ（Hard Disk Drive）などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。
【００３７】
外部記録装置Ｉ／Ｆ部１０４は、ＵＳＢ（Universal Serial Bus）などのデータ伝送路を介して接続された記録媒体１０８（例えば、フラッシュメモリなど）と情報処理装置１０とのインタフェースである。
【００３８】
また、記録媒体１０８に、所定のプログラムを格納し、この記録媒体１０８に格納されたプログラムは外部記録装置Ｉ／Ｆ部１０４を介して情報処理装置１０にインストールされる。インストールされた所定のプログラムは、情報処理装置１０により実行可能となる。
【００３９】
ネットワークＩ／Ｆ部１０５は、有線及び／又は無線回線などのデータ伝送路により構築されたＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）などのネットワークを介して接続された通信機能を有する周辺機器と情報処理装置１０とのインタフェースである。
【００４０】
入力部１０６は、カーソルキー、数字入力及び各種機能キー等を備えたキーボード、表示部１０７の表示画面上でキーの選択等を行うためのマウスやスライスパット等を有する。また、入力部１０６は、ユーザが制御部１１に操作指示を与えたり、データを入力したりするためのユーザインタフェースである。
【００４１】
表示部１０７は、ＣＲＴやＬＣＤ（Liquid Crystal Display）等を含み、制御部１０１から入力される表示データに応じた表示が行われる。
【００４２】
＜機能＞
次に、情報処理装置（ＰＣ）１０の機能について説明する。ここで、プリントアーキテクチャとして、例えばＲＡＷスプールと、ＥＭＦ（拡張メタファイル）スプールとの２つがある。以下、この２つのプリントアーキテクチャについて順に説明する。
【００４３】
（ＲＡＷスプール）
図９は、ＲＡＷスプールにおけるデータフローの一例を示す図である。図９に示す例では、ＰＣ１０は、アプリケーション１０１、ＵＩ（User Interface）ドライバ１０２、ＧＤＩ（Graphical Device Interface）１０３、グラフィックスドライバ１０４、スプーラ１０５を有する。ＵＩドライバ１０２とグラフィックスドライバ１０４とは、プリンタドライバ内の機能である。ＧＤＩ１０３とスプーラ１０５は、ＯＳ（Operating System）内の機能である。
【００４４】
ユーザは、アプリケーション１０１を通して印刷を行う。ＰＣ側での印刷制御手順を以下に示す。
（１）ユーザは、ＵＩドライバ１０２提供のＧＵＩ（Graphical User Interface）によって印刷設定を変更する
（２）ユーザは、アプリケーション１０１に印刷命令を出す
（３）アプリケーション１０１は、ＵＩドライバ１０２とＤＥＶＭＯＤＥといわれる印刷設定が入っている構造体をやりとりすることで、ユーザの印刷設定を受け取る
（４）アプリケーション１０１は、ＧＤＩ１０３に印刷命令をＧＤＩコールとして伝える
（５）ＧＤＩ１０３は、グラフィックスドライバ１０４にＧＤＩコールをＤＤＩ（Device Driver Interface）コールとして伝える
（６）グラフィックスドライバ１０４は、プリンタ２０が理解できる言語に変換したＲＡＷデータをスプーラ１０５に送信する
（７）スプーラ１０５は、グラフィックスドライバ１０４から受け取ったＲＡＷデータをプリンタ２０に送信する
ここで、グラフィックスドライバ１０４は、印刷データ、印刷設定、各機器の処理能力などに基づき、拡大又は縮小処理に関する機能を、ＰＣ１０、プリンタ２０のどちらで処理するかを適切に決定する。
【００４５】
（情報処理装置の機能）
図１０は、ＲＡＷスプールにおける情報処理装置（ＰＣ）１０の機能の一例を示すブロック図である。図１０に示す例では、ＰＣ１０は、アプリケーション１０１、ＯＳ２０１、プリンタドライバ２０２、通信部２０３を有する。
【００４６】
アプリケーション１０１は、例えばワードやエクセルなどであり、印刷したい内容を、ＯＳ２０１が用意するＡＰＩ（Application Program Interface）を使用して描画する。
【００４７】
ＯＳ２０１は、アプリケーション１０１からの印刷命令をプリンタドライバ２０２用の描画命令（ＤＤＩコール）に変換する。
【００４８】
プリンタドライバ２０２は、ＯＳ２０１から受信した描画命令（ＤＤＩコール）をプリンタ２０が解釈できるＰＤＬコマンド（ＲＡＷデータ）に変換する。
【００４９】
通信部２０３は、スプールされたＲＡＷデータを、プリンタ２０に送信する。また、通信部２０３は、プリンタ２０からプリンタ２０の処理性能と負荷状況を示す情報を取得する。
【００５０】
また、プリンタドライバ２０２は、印刷設定部２５１、描画部２５３を有する。印刷設定部２５１は、表示制御部２５２を有する。表示制御部２５２は、ユーザに印刷設定を行わせるための画面を表示制御したり、ユーザからの印刷設定の変更を受け付けたりする。
【００５１】
図１１は、印刷設定部２５１が提供するＵＩの一例を示す図である。図１１に示すＵＩを用いて、ユーザは、集約、製本、変倍などを設定できる。
【００５２】
図１０に戻り、描画部２５３は、印刷データを取得し、必要であれば、印刷データに対し、面付け処理などを行う。また、描画部２５３は、印刷データをＰＤＬコマンドに変換し、スプーラ１０５に出力する。
【００５３】
面付け処理とは、製本の折り単位に各ページがページ順になるように、製本仕様に基づいて各ページを配列する処理である。
【００５４】
なお、印刷データとは、ＧＤＩコール、ＤＤＩコール、ＲＡＷデータなどの印刷に関する画像データを総称して呼ぶ。また、印刷設定部２５１は、ＵＩドライバ１０２に対応し、描画部２５３は、グラフィックスドライバ１０４に対応する。
【００５５】
図１２は、描画部の機能の一例を示すブロック図である。図１２に示す描画部２５３は、印刷データ蓄積部３０１、ページ編集部３０２、拡縮処理決定部３０３を有する。
【００５６】
印刷データ蓄積部３０１は、アプリケーション１０１が印刷指示した印刷データを逐次処理で受け取り、後の処理で参照できるように保持しておく。
【００５７】
ページ編集部３０２は、印刷データ蓄積部３０１で蓄積されている印刷データから、実際の物理用紙に貼り付ける印刷データを取得し、拡大又は縮小の処理を行いながら編集（例えば面付け処理）を行う。ページ編集部３０２は、拡縮処理決定部３０３から処理を行うよう指示を受けた場合、印刷データに対して拡大又は縮小処理を含む面付け処理などを行う。
【００５８】
拡縮処理決定部３０３は、印刷データ、印刷設定、ＰＣ１０及びプリンタ２０の処理能力などに基づき、ＰＣ１０とプリンタ２０のどちらで拡大又は縮小処理に関する処理を行うのかを決定する。拡縮処理決定部３０３は、決定結果をページ編集部３０２に通知する。拡縮処理決定部３０３の詳細は、図１３を用いて説明する。
【００５９】
図１３は、拡縮処理決定部３０３の機能の一例を示すブロック図である。図１３に示す拡縮処理決定部３０３は、取得手段４０１、処理判定手段４０２、データ判定手段４０３、比較手段４０６、決定手段４０７を有する。
【００６０】
取得手段４０１は、ＯＳ２０１から印刷設定及び印刷データを取得する。ＯＳ２０１から取得される印刷データは、アプリケーション１０１から印刷指示された印刷データである。なお、この印刷データには、パススルーデータを含む場合がある。取得手段４０１は、取得した印刷設定を処理判定手段４０２に出力し、取得した印刷データをデータ判定手段４０３に出力する。
【００６１】
処理判定手段４０２は、拡大又は縮小処理に関する処理が印刷設定に含まれるか否かを判定する。拡大又は縮小処理に関する処理とは、例えば、集約印刷、製本印刷、変倍印刷などである。
【００６２】
処理判定手段４０２は、拡大又は縮小処理に関する処理が含まれると判定された場合、その旨をデータ判定手段４０３に通知する。処理判定手段４０２は、拡大又は縮小処理に関する処理が含まれないと判定された場合、その旨を決定手段４０７に通知する。
【００６３】
データ判定手段４０３は、処理判定手段４０２から拡大又は縮小処理に関する処理が含まれると通知された場合、印刷データを解析してパススルーデータが印刷データに含まれるか否かを判定する。データ判定手段４０３は、第１判定手段４０４、第２判定手段４０５を有する。
【００６４】
第１判定手段４０４は、印刷データの種別によっては、パススルーデータが含まれるものと、含まれないものとがあるため、印刷データの種別を判定する。パススルーデータが含まれる印刷データは、例えば、ＰＣＬ５、ＰＣＬ６、ＰｏｓｔＳｃｒｉｐｔがある。パススルーデータが含まれない印刷データは、例えば、ＲＰＣＳ、ＲＰＤＳがある。
【００６５】
第１判定手段４０４は、パススルーデータが含まれる種別であると判定した場合、その旨を第２判定手段４０５に通知する。第１判定手段４０５は、パススルーデータが含まれない種別であると判定した場合、その旨を比較手段４０６に通知する。
【００６６】
第２判定手段４０５は、パススルーデータが含まれる種別であると通知された場合、印刷データにパススルーデータが含まれるかを判定する。パススルーデータが含まれるか否かは、印刷データにＰＤＬコードが含まれるか否かで判定できる。第２判定手段４０５は、印刷データにパススルーデータが含まれる場合、その旨を決定手段４０７に通知する。第２判定手段４０５は、印刷データにパススルーデータが含まれない場合、その旨を比較手段４０６に通知する。
【００６７】
なお、第１判定手段４０４は、必ずしも必要な処理ではない。この場合、第２判定手段４０５は、処理判定手段４０２から拡大又は縮小処理に関する処理が行われることを通知されたときに、パススルーデータが印刷データに含まれるかを判定すればよい。
【００６８】
比較手段４０６は、第１判定手段４０４によりパススルーデータを含む種別ではないと通知された場合、及び／又は第２判定手段４０５からパススルーデータが含まれないと通知された場合、ＰＣ１０の処理能力と、プリンタ２０の処理能力とを比較する。
【００６９】
比較手段４０６は、予めＰＣ１０の処理性能、負荷状況と、プリンタ２０の処理性能、負荷状況とを示す情報を取得しておく。処理性能、負荷状況を含めて処理能力と呼ぶ。取得のタイミングは、例えば、アプリケーション１０１により印刷が指示されたときなどである。比較手段４０６は、比較結果を決定手段４０７に通知する。
【００７０】
例えば、比較手段４０６は、処理能力を比べる際に、処理性能又は負荷状況を示す情報のうち、同じ情報同士を比較し、どちらの処理能力が高いかを比べる。また、比較手段４０６は、複数の情報に重み付けを行ってスコアを算出し、このスコアを比較することで、どちらの処理能力が高いかを比べてもよい。
【００７１】
決定手段４０７は、比較手段４０６による比較結果及び／又は第２判定手段の判定結果に基づいて、拡大又は縮小処理に関する処理を、ＰＣ１０又はプリンタ２０のどちらに処理させるかを決定する。決定手段４０７は、印刷データにパススルーデータが含まれる場合、拡大又は縮小処理に関する処理をプリンタ２０で行わせるよう決定する。また、決定手段４０７は、印刷データにパススルーデータが含まれない場合、拡大又は縮小処理に関する処理を、処理能力が高い機器で行わせるよう決定する。処理能力が高いとは、例えば、性能が良い、又は処理負荷が小さいことをいう。
【００７２】
また、決定手段４０７は、処理判定手段４０２から拡大又は縮小処理に関する処理が含まれないという判定結果を通知された場合、特に何もしない。決定手段４０７は、ＰＣ１０で処理をすると決定した場合に、ページ編集部３０２に対し、拡大又は縮小処理に関する処理を行うよう指示する。
【００７３】
（データ例）
次に、拡大又は縮小処理に関する処理をどのモジュールに行わせるかの決定処理に用いる情報について説明する。
【００７４】
図１４は、モジュール決定に用いる情報の一例を示す図である。図１４に示す情報は、印刷データの種別、印刷設定、処理性能及び負荷状況、印刷データの特徴を含む。
【００７５】
・印刷データの種別
印刷データの種別によっては、アプリケーション１０１からパススルーデータが含まれないものがある。パススルーデータが含まれない印刷データならば、ＰＣ１０、プリンタ２０のどちらで拡大・縮小処理を実施しても問題ない。よって、この印刷データの種別は、モジュール決定のための情報となる。
【００７６】
・印刷設定
「集約」、「製本」、「変倍」の設定がされていない印刷ジョブでは、ＰＣ１０と、プリンタ２０とで分散して処理を行うことがない。そこで、この印刷設定は、モジュール決定のための情報となる。
【００７７】
・処理性能、負荷状況
拡大又は縮小処理を行うのに、処理性能及び負荷状況の観点で余裕がある装置に、拡大又は縮小処理を行わせたい。そこで、ハードウェアとしての処理性能を示す情報と、他のプロセスも同時に動いているため、現在のＣＰＵやメモリの負荷状況を示す情報とは、モジュール決定のための情報となる。例えば、比較手段４０６は、ＰＣ１０及びプリンタ２０の処理性能を示す情報と、負荷状況を示す情報とを取得する。
【００７８】
・印刷データの特徴
パススルーデータが印刷データ内に含まれる場合は、ＰＣ１０で拡大又は縮小処理を行うことができない。そこで、この印刷データの特徴は、モジュール決定のための情報となる。
【００７９】
図１５は、処理性能及び負荷状況を示す情報の一例を示す図である。図１５に示すように、ＰＣ１０の処理性能を示す情報は、ＣＰＵ（制御部１０１）、ＨＤＤ（補助記憶部１０３）容量、メモリ（主記憶部１０２）容量を含む。プリンタ２０の処理能力を示す情報は、ＨＤＤ容量、メモリ容量を含む。
【００８０】
また、ＰＣ１０の負荷状況を示す情報は、
・印刷以外の他のプロセスのＣＰＵ占有率
・印刷以外の他のプロセスのメモリ使用量
・印刷プロセスの優先度
・ＨＤＤ空き容量
・印刷プロセスで他のジョブがスプールされているか
を含む。
【００８１】
プリンタ２０の負荷状況を示す情報は、
・プリント処理に使えるメモリ容量
・ＨＤＤ有無
・ＨＤＤ空き容量
・メモリ空き容量
・他のジョブの予約状況
を含む。
【００８２】
比較手段４０６は、図１４，１５に示す情報を取得する。比較手段４０６は、図１５に示す情報のうち、少なくとも１つの情報同士を比較する。また、比較手段４０６は、各情報に重み付けして複数の情報でスコアを算出し、ＰＣ１０のスコアとプリンタ２０のスコアとで比較を行ってもよい。
【００８３】
（プリンタの機能）
図１６は、プリンタ２０の機能の一例を示すブロック図である。図１６に示すプリンタ２０は、ＰＤＬ変換部５０１、画像加工部５０２を有する。
【００８４】
ＰＤＬ変換部５０１は、ＰＣ１０のプリンタドライバ２０２から受け取ったＰＤＬコマンドをラスタライズすることにより、画像データに変換する。このＰＤＬ変換部５０１は、プリンタ２０がサポートするＰＤＬ分だけ存在する。
【００８５】
ＰｏｓｔＳｃｒｉｐｔ（登録商標）とＰＣＬ（Printer Control Language）とが印刷できるプリンタには、ＰＤＬ変換部５０１として、ＰｏｓｔＳｃｒｉｐｔ変換部、ＰＣＬ変換部が存在する。ＰＤＬ変換部５０１は、ＰＤＬコマンドに基づいて、画像変換処理も行う。画像変換処理は、ページ又は描画オブジェクトごとの拡大又は縮小処理を行うことができる。
【００８６】
画像加工部５０２は、ＰＤＬ変換部５０１で画像データに変換されたデータを物理用紙に最終的に貼り付けるための処理を行う。画像加工部５０２も、画像データを加工することにより拡大又は縮小処理を行うことができる。
【００８７】
これにより、ＲＡＷスプールにおける印刷制御処理において、プリンタドライバ２０２の拡縮処理決定部３０３が、印刷データ、印刷設定、ＰＣ１０及びプリンタ２０の処理能力などに基づいて、ＰＣ１０、プリンタ２０のどちらで拡大又は縮小処理を行うかを適切に決定することができる。よって、拡大又は縮小処理の適切な負荷分散が可能になる。
【００８８】
（ＥＭＦスプール）
次に、ＥＭＦスプールにおける印刷制御について説明する。図１７は、ＥＭＦスプールにおけるデータフローの一例を示す図である。図１７に示す例では、ＰＣ１０は、アプリケーション１０１、ＵＩドライバ１０２、ＧＤＩ６０１、スプーラ６０２、プリントプロセッサ６０３、グラフィックスドライバ６０４を有する。ＵＩドライバ１０２とグラフィックスドライバ６０４とは、プリンタドライバ内の機能である。ＧＤＩ６０１とスプーラ６０２は、ＯＳ内の機能である。
【００８９】
ユーザは、アプリケーション１０１を通して印刷を行う。ＰＣ側での印刷制御手順を以下に示す。
（１）ユーザは、ＵＩドライバ１０２提供のＧＵＩ（Graphical User Interface）によって印刷設定を変更する
（２）ユーザは、アプリケーション１０１に印刷命令を出す
（３）アプリケーション１０１は、ＵＩドライバ１０２とＤＥＶＭＯＤＥといわれる印刷設定が入っている構造体をやりとりすることで、ユーザの印刷設定を受け取る
（４）アプリケーション１０１は、ＧＤＩ１０３に印刷命令をＧＤＩコールとして伝える
（５）ＧＤＩ６０１は、アプリケーション１０１からＧＤＩコールを受け取ると、ＥＭＦデータ（スプールデータ）を生成し、スプーラ６０２にスプールする
（６）アプリケーション１０１の印刷データが全てスプールされると、スプーラ６０２は、プリントプロセッサ６０３にデスプールすることを伝え、スプールデータを渡す
（７）プリントプロセッサ６０３は、スプールデータをページ毎に、ユーザが指定した印刷設定を元に画像処理を行う。例えば、プリントプロセッサ６０３は、集約、製本、逆順などの機能を実現し、編集した内容をＧＤＩ６０１にＧＤＩコールとして伝える
（８）ＧＤＩ６０１は、ＧＤＩコールを受け取ると、ＤＤＩコールに変換し、グラフィックスドライバ６０４に渡す
（９）グラフィックスドライバ６０４は、ＤＤＩコールを受け取ると、プリンタ２０の解釈可能な言語（ＰＤＬ）に変換したＲＡＷデータをスプーラ６０２に渡す
（１０）スプーラ６０２は、グラフィックスドライバ６０４から受け取ったＲＡＷデータをプリンタ２０に出力する。
【００９０】
ここで、プリントプロセッサ６０３は、印刷データ、印刷設定、各機器の処理能力などに基づき、拡大又は縮小処理に関する処理を、ＰＣ１０、プリンタ２０のどちらで処理するかを適切に決定する。
【００９１】
（情報処理装置の機能）
図１８は、ＥＭＦスプールにおける情報処理装置（ＰＣ）１０の機能の一例を示すブロック図である。図１８に示す例では、ＰＣ１０は、アプリケーション１０１、ＯＳ７０１、プリンタドライバ２０２、プリントプロセッサ６０３、通信部２０３を有する。なお、図１８に示す機能において、図１０に示す機能と同じものは同じ符号を付し、その説明を省略する。
【００９２】
ＯＳ７０１は、アプリケーション１０１からＧＤＩコールを受けると、ＥＭＦデータを生成し、スプールしておく。また、ＯＳ７０１は、プリントプロセッサ６０３からＧＤＩコールを受けると、プリンタドライバ２０２用のＤＤＩコールに変換し、プリンタドライバ２０２に渡す。
【００９３】
プリントプロセッサ６０３は、ＯＳ７０１を介して印刷設定を保持し、印刷データに対して面付け処理を行う。プリントプロセッサ６０３は、面付け処理後の印刷データとしてのＧＤＩコールをＯＳ７０１に行う。プリントプロセッサ６０３の詳細は、図１９を用いて説明する。
【００９４】
図１９は、プリントプロセッサ６０３の機能の一例を示すブロック図である。図１９に示すプリントプロセッサ６０３は、印刷設定保持部８０１、ページ編集部８０２、拡縮処理決定部８０３を有する。
【００９５】
印刷設定保持部８０１は、ＯＳ７０１を介して取得した印刷設定を保持する。例えば、印刷設定保持部８０１は、ＧＤＩ６０１に出力されたＤＥＶＭＯＤＥを取得すればよい。
【００９６】
ページ編集部８０２は、スプールファイルを介して受け取ったアプリケーション１０１からの印刷データを物理用紙ごとに編集（例えば面付け処理）することにより、集約、逆順、又は製本印刷を実現する。ページ編集部８０２は、例えば、Ｗｉｎｄｏｗｓ（登録商標）標準のＷｉｎＰｒｉｎｔと同様の動作をする。ページ編集部８０２は、拡縮処理決定部８０３から処理要求を受けた場合に、上記処理を行う。
【００９７】
また、プリンタドライバ２０２とは違って印刷データ蓄積部が不要になっている。これは、Ｗｉｎｄｏｗｓ（登録商標）のプリントアーキテクチャのＥＭＦスプール印刷では、印刷データの蓄積はＷｉｎｄｏｗｓ（登録商標）ＯＳの１モジュールであるスプーラ６０２が行うからである。
【００９８】
プリントプロセッサ６０３は、スプーラ６０２に蓄積されているスプールファイルから必要な印刷ページのデータを取り出して編集することが可能になっている。
【００９９】
拡縮処理決定部８０３は、印刷データ、印刷設定、ＰＣ１０及びプリンタ２０の処理能力などに基づき、どのモジュールで拡大又は縮小処理を行うのかを決定する。拡縮処理決定部８０３は、ページ編集部８０２で拡大又は縮小処理に関する処理を行うと決定した場合に、ページ編集部８０２に処理を要求する。拡縮処理決定部８０３の詳細な機能は、図１３で説明した機能と同様である。
【０１００】
また、プリンタ２０の機能については、図１６に示す機能と同様であるため、その説明を省略する。
【０１０１】
これにより、ＥＭＦスプールにおける印刷制御処理において、プリントプロセッサ６０３の拡縮処理決定部８０３が、印刷データ、印刷設定、ＰＣ１０及びプリンタ２０の処理能力などに基づいて、ＰＣ１０、プリンタ２０のどちらで拡大又は縮小処理に関する処理を行うかを適切に決定することができる。よって、拡大又は縮小処理の適切な負荷分散が可能になる。
【０１０２】
アプリケーション１０１、ＯＳ７０１、プリンタドライバ２０２、プリントプロセッサ６０３は、例えば制御部１０１及びワークメモリとしての主記憶部１０２により実現されうる。また、通信部２０３は、例えばネットワークＩ／Ｆ部１０５により実現されうる。また、プリンタドライバ２０２の各機能は、制御部１０１により印刷制御プログラムが実行されることで実現されうる。
【０１０３】
＜機能実現例＞
（パススルーデータ＋集約）
図２０は、印刷機能の実現例１を示す図である。図２０に示す例は、印刷データ内部にパススルーデータがある時、集約印刷の機能がどのように実現されるかを説明する。図２０に示す例では、拡大又は縮小処理を行うモジュールは、プリンタドライバ２０２、プリントプロセッサ６０１、プリンタ２０である。
【０１０４】
まず、パススルー系では、パススルーデータ４１、４２以外は、回転や拡大又は縮小により面付け処理ができる。しかし、パススルーデータ４１、４２には回転や拡大縮小ができない。その結果、ＰＣ１０で面付け処理を行うと、回転や拡大縮小されている部分とされていない部分ができ、印刷結果は画像が崩れてしまう。そのため、ユーザが意図したように印刷できない。
【０１０５】
よって、ＰＣ１０のモジュールである、プリンタドライバ２０２とプリントプロセッサ６０３とでは、上記の問題が発生してしまうため、拡大又は縮小処理を行わず、プリンタ２０に印刷データが送信される。
【０１０６】
プリンタ２０は、集約４となるような面付け処理を行う。図２０に示す例では集約印刷において説明をしたが、変倍処理も同じようにＰＣ１０のモジュールでは拡大又は縮小処理を行わず、プリンタ２０で拡大又は縮小処理を行っている。
【０１０７】
これにより、印刷データにパススルーデータが含まれる場合、基本的にはプリンタ２０で面付け処理が行われるため、ユーザが意図したような印刷を行うことができる。
【０１０８】
（集約＋製本）
図２１は、印刷機能の実現例２を示す図である。図２１に示す例は、集約＋製本印刷の各機能がどのように負荷分散されるかを示す例である。図２１に示す例では、ＰＣ１０の処理能力が低く、かつ、プリンタ２０に記憶媒体があるとする。
【０１０９】
この場合、決定手段４０７は、集約印刷、製本印刷のうち、処理負荷が製本印刷より小さい集約印刷をＰＣ１０で処理するように決定し、製本印刷をプリンタ２０で処理するように決定する。製本印刷は、記憶媒体が必要であるが、プリンタ２０に記憶媒体があるため、決定手段４０７は、製本印刷をプリンタ２０で処理するように決定する。
【０１１０】
プリンタドライバ２０２は、印刷データに対し、集約処理を行ったので、集約が終了したことを示すコマンドを印刷ジョブ単位、物理用紙単位、又は論理ページ単位でＰＤＬコマンドに追加して、スプーラを介してプリンタ２０に送信する。また、プリンタドライバ２０２は、集約を示すコマンドを削除し、製本を示すコマンドのみをプリンタ２０に送信するようにしてもよい。
【０１１１】
（パススルーデータ＋集約＋両面）
図２２は、印刷機能の実現例３を示す図である。図２２に示す例は、パススルーデータ＋集約＋両面印刷の各機能がどのように負荷分散されるかを示す例である。図２２に示す例では、ＰＣ１０の処理能力が高く、プリンタ２０に記憶媒体があるとする。
【０１１２】
また、印刷データには、表面に載る４ページ目まではパススルーデータは無く、裏面に載る６ページ目にパススルーデータ４１が存在するとする。
【０１１３】
この場合、決定手段４０７は、ＰＣ１０の処理能力が高いため、ＰＣ１０で拡大又は縮小処理を行いたいが、６ページ目にパススルーデータ４１が存在するため、表面だけをＰＣ１０で集約するよう決定する。
【０１１４】
このとき、プリンタドライバ２０２は、４ページ目までについては集約が終了していることを示すコマンドを印刷ジョブ単位、物理用紙単位、又は論理ページ単位でＰＤＬコマンドに追加して、スプーラを介してプリンタ２０に送信する。また、プリンタドライバ２０２は、裏面の４ページ分についてはそのままＰＤＬコマンドに変換して、スプーラを介してプリンタ２０に送信する。
【０１１５】
プリンタ２０は、コマンドを解析することで、表面は集約が終わっていることが分かるため、表面はそのまま物理用紙に印刷をし、裏面４ページ分は集約印刷を行う。
【０１１６】
（逆順）
図２３は、印刷機能の実現例４を示す図である。図２３に示す例では、逆順印刷の機能がどのように決定されるかを示す例である。図２３に示す例では、プリンタ２０に記憶媒体があるとする。
【０１１７】
アプリケーション１０１は、印刷データを、ＯＳを介してプリンタドライバ２０２に送信する。ここで、決定手段４０７は、プリンタ２０に記憶媒体があるため、逆順処理をプリンタ２０で行うよう決定する。プリンタドライバ２０２は、ページ順序に関する処理を何も行わないで、プリンタ２０に印刷データを送信する。
【０１１８】
プリンタ２０は、印刷データを取得すると、ページを逆順に入れ替える処理を行い、物理用紙に出力する。
【０１１９】
なお、図２１〜２３に示す例では、ＲＡＷスプールにおける印刷制御処理を説明したが、ＥＭＦスプールにおける印刷制御処理では、プリントプロセッサ６０３が決定処理や面付け処理を行う。
【０１２０】
これにより、ＲＡＷスプール又はＥＭＦスプールのどちらの場合でも、拡大又は縮小処理に関する機能を行うモジュールを適切に決定することができる。
【０１２１】
＜選択画面＞
次に、拡大又は縮小処理に関する処理を行うモジュールをどれにするかをユーザが決定する場合について説明する。図２４は、モジュール選択画面の一例を示す図である。図２４に示す例では、ユーザが、ＧＵＩを用いて拡大又は縮小処理を行うモジュールを選択する例である。図２４に示す画面による選択は、例えば、ユーザにより予め行われていてもよいし、印刷実行ボタンが押下される前にその都度選択されるようにしてもよい。
【０１２２】
＜動作＞
次に、情報処理装置１０の動作について説明する。図２５は、印刷制御処理の一例を示すフローチャートである。図２５に示す印刷制御処理は、拡大又は縮小処理を行うモジュールを決定する処理である。
【０１２３】
ステップＳ１０１で、取得手段４０１は、各アプリケーションから印刷指示された印刷データを取得する。取得手段４０１は、アプリケーション１０１からＯＳを介して印刷データ、印刷設定を取得する。
【０１２４】
ステップＳ１０２で、処理判定手段４０２は、取得した印刷設定内に、拡大又は縮小処理に関する印刷設定があるか否かを判定する。拡大又は縮小処理に関する印刷設定とは、集約、製本、変倍などである。
【０１２５】
拡大又は縮小処理に関する印刷設定がある場合（ステップＳ１０２−ＹＥＳ）ステップＳ１０４に進み、拡大又は縮小処理に関する印刷設定がない場合（ステップＳ１０２−ＮＯ）ステップＳ１０３に進む。
【０１２６】
ステップＳ１０３で、決定手段４０７は、プリンタで印刷設定に関する処理を実行すると決定する。
【０１２７】
ステップＳ１０４で、第１判定手段４０４は、印刷データが、パススルーデータを受ける種別であるか否かを判定する。パススルーデータを受ける種別である場合（ステップＳ１０４−ＹＥＳ）ステップＳ１０５に進み、パススルーデータを受けない種別である場合（ステップＳ１０４−ＮＯ）ステップＳ１０６に進む。
【０１２８】
ステップＳ１０５で、第２判定手段４０５は、印刷データ内に、パススルーデータがあるか否かを判定する。パススルーデータがある場合（ステップＳ１０５−ＹＥＳ）ステップＳ１０７に進み、パススルーデータがない場合（ステップＳ１０５−ＮＯ）ステップＳ１０６に進む。
【０１２９】
ステップＳ１０６で、比較手段４０６は、プリンタ２０の処理能力と、ＰＣ１０の処理能力とを比較する。例えば、比較手段４０６は、プリンタ２０の処理能力が、ＰＣ１０の処理能力よりも高いか否かを比較して判定する。
【０１３０】
プリンタ２０の処理能力がＰＣ１０の処理能力よりも高い場合（ステップＳ１０６−ＹＥＳ）ステップＳ１０７に進み、プリンタ２０の処理能力がＰＣ１０の処理能力よりも低い場合（ステップＳ１０６−ＮＯ）ステップＳ１０８に進む。
【０１３１】
ステップＳ１０７で、決定手段４０７は、プリンタ２０で拡大又は縮小処理を実行することを決定する。
【０１３２】
ステップＳ１０８で、決定手段４０７は、ＰＣ１０で拡大又は縮小処理を実行することを決定する。
【０１３３】
なお、図２５に示す処理は、ＲＡＷスプールの場合、プリンタドライバ２０２の拡縮処理決定部３０３が行い、ＥＭＦスプールの場合、プリントプロセッサ６０３の拡縮処理決定部８０３が行う。
【０１３４】
スプール形式の違いにより、印刷データの流れは変わる。また、スプール形式の違いによって、ＰＣ内でプリンタドライバだけが拡大又は縮小処理に関する処理を行うのか、プリントプロセッサも拡大又は縮小処理に関する処理を行うのかが変わる。よって、モジュール決定処理の決定ロジックは同じでも、決定する主体は、スプール形式によって変わる。
【０１３５】
なお、パススルーデータが含まれないことが予め分かっている場合は、拡縮処理決定部は、ステップＳ１０２のＹＥＳの後に、ステップＳ１０６の比較を行うようにしてもよい。
【０１３６】
以上、実施例によれば、拡大又は縮小処理に関する処理を行うモジュールを適切に決定することができる。また、実施例によれば、パススルーデータを含む印刷データを印刷する場合でも、ユーザが意図する出力結果を出力させることができる。
【０１３７】
［変形例］
各実施例のＰＣで実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital Versatile Disk）等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【０１３８】
また、各実施例のＰＣで実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。
【０１３９】
また、各実施例のＰＣで実行されるプログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【０１４０】
各実施例のＰＣで実行されるプログラムは、前述した各手段又は各部を含むモジュール構成となっている。実際のハードウェアとしては、制御部１１（プロセッサ）が例えば補助記憶部１０３からプログラムを読み出して実行することにより上記各機能が主記憶部１０２上にロードされ、上記各機能が主記憶部１０２上に作成されるようになっている。
【０１４１】
なお、本発明は、上記実施例そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施例に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施例に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施例にわたる構成要素を適宜組み合わせても良い。
【符号の説明】
【０１４２】
１０  情報処理装置
１０１  制御部
１０２  主記憶部
１０３  補助記憶部
１０５  ネットワークＩ／Ｆ部
１０１  アプリケーション
１０２  ＵＩドライバ
１０３、６０１  ＧＤＩ
１０４、６０４  グラフィックスドライバ
１０５、６０２  スプーラ
２０１、７０１  ＯＳ
２０２  プリンタドライバ
２０３  通信部
２５１  印刷設定部
２５２  表示制御部
２５３  描画部
３０１  印刷ページ蓄積部
３０２、８０２  ページ編集部
３０３、８０３  拡縮処理決定部
４０１  取得手段
４０２  処理判定手段
４０３  データ判定手段
４０４  第１判定手段
４０５  第２判定手段
４０６  比較手段
４０７  決定手段
６０３  プリントプロセッサ
８０１  印刷設定保持部
【先行技術文献】
【特許文献】
【０１４３】
【特許文献１】特開２００４−７４１５号公報
【図１】
0005821399.tif 000002
【図２】
0005821399.tif 000003
【図３】
0005821399.tif 000004
【図４】
0005821399.tif 000005
【図５】
0005821399.tif 000006
【図６】
0005821399.tif 000007
【図７】
0005821399.tif 000008
【図８】
0005821399.tif 000009
【図９】
0005821399.tif 000010
【図１０】
0005821399.tif 000011
【図１１】
0005821399.tif 000012
【図１２】
0005821399.tif 000013
【図１３】
0005821399.tif 000014
【図１４】
0005821399.tif 000015
【図１５】
0005821399.tif 000016
【図１６】
0005821399.tif 000017
【図１７】
0005821399.tif 000018
【図１８】
0005821399.tif 000019
【図１９】
0005821399.tif 000020
【図２０】
0005821399.tif 000021
【図２１】
0005821399.tif 000022
【図２２】
0005821399.tif 000023
【図２３】
0005821399.tif 000024
【図２４】
0005821399.tif 000025
【図２５】
0005821399.tif 000026