以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
<第1の実施形態>
[システム構成]
図18は、実施形態におけるシステム構成の一例を示すシステム構成図である。
図示のDTP(デスクトップパブリッシング)システムは、ネットワーク1800と、このネットワーク1800上に接続された2台のクライアントPC1811、1812、2台の画像形成装置(プリンタ)1821、1823、それぞれの画像形成装置にインラインで接続しているインラインフィニッシャ1822、1823、2台のニアラインフィニッシャ1831(くるみ製本機)、1832(裁断機)、更には、1台あるいは複数台のフィニッシャをネットワークに接続して制御できるようにしたフィニッシャシステム1841に設けられていることをことを示している。なお、図示は一例であって、クライアントPC、各フィニッシャの種類や数はこれに限定されるものではない。また、ネットワークへの接続できないオフラインフィニッシャを設ける場合もある。
ここで、フィニッシャの種類として用いるインライン、ニアライン、オフラインの各用語は、フィニッシャに対する処理もしくは操作の方法の観点から区別するものであり、以下のような意味である。
インラインフィニッシャとは、単体ではホストコンピュータと通信することができず、例えば画像形成装置と同一の用紙搬送路で接続されているものである(画像形成装置と電気的且つ物理的に接続されている)。そして、この画像形成装置から搬送される印刷物に対してフィニッシャにおいて行う処理内容を画像形成装置から設定するものである。処理内容は、後処理設定情報によって示される。また、情報処理装置(クライアントPC)上で動作するプリンタドライバを用いて、画像形成装置のオプション構成としてインラインフィニッシャを設定することで、インラインフィニッシャでの処理内容(例えば、製本処理)を指定した印刷ジョブを生成することができる。
オフラインフィニッシャとは、外部装置と通信する手段をもたない(オフライン状態)ものであり、フィニッシャにおいて行う処理内容をフィニッシャにおいて設定するものである。例えば、オフラインフィニッシャの操作部から処理内容をユーザが設定したり、後処理の対象用紙に印刷されたバーコード等の印刷情報を読み取って自動的に処理内容を設定したりする。
ニアラインフィニッシャとは、外部装置と通信する手段を備え、フィニッシャにおいて行う処理内容を、フィニッシャの操作部から入力可能なだけでなく、ネットワークを介して別の機器、例えばホストコンピュータから処理内容(ジョブチケット)を入力することで設定できるようにしたものである。
また、印刷出力物の搬送経路(紙パス)の観点から各フィニッシャの特徴を述べる。これは一般的な特徴であり、理解を助ける目的で記述するもので、この説明に限定されるものではない。
インラインフィニッシャは、画像形成装置と物理的につながっており、画像形成装置の印刷出力した紙が搬送経路(紙パス)を通ってフィニッシャに速やかに送られる。つまり、オペレータは紙を搬送する必要はない。オフラインフィニッシャは、画像形成装置とは物理的につながっておらず、画像形成装置の印刷出力した紙は台車やトレイ、ベルトコンベアなどで一旦バッファされ、その後にフィニッシャの入力部にセットされる。ニアラインフィニッシャは、オフラインフィニッシャと同様に、一旦バッファされた後にその入力部にセットされるが、前述したように、処理内容(ジョブチケット)を通信手段を介して入力することができる。また、インラインフィニッシャに外部機器(ホストコンピュータ)と通信するための通信部を設け、この通信部を介して後処理指示(ジョブチケット)を入力可能にし、ニアラインフィニッシャとして動作させることも可能である。
[クライアントPCの構成]
クライアントPC1811の構成を図43を用いて説明する。なお、クライアントPC1812についても同様である。
クライアントPC1811は、装置全体の制御を司るCPU4501を備える。また、BIOSやブートプログラムを記憶しているROM4502、CPU4501のワークエリアとして使用されるRAM4503を備える。また、OS(Operating System)やプリンタドライバプログラム、各種アプリケーションプログラム、並びに、アプリケーションで作成されたデータファイルを格納する大容量記憶装置であるハードディスクドライブ(HDD)4504を備える。また、キーボード4055、マウス(登録商標)等のポインティングデバイス4506を備える。また、ビデオメモリを内蔵し、CPU4501の指示に従ってビデオメモリへの描画処理並びにビデオメモリから画像データを読出し、表示装置4508にビデオ信号として出力する表示制御部4507を備える。また、ネットワークと通信するためのネットワークインターフェース4509を備える。なお、これらの各構成要素はシステムバス4510に接続され、互いに通信可能になっている。
本装置に電源が投入されると、CPU4501はROM4502のブートプログラムに従って、HDD4504からOSをRAM4503にロードし、OSを起動する。その後、ユーザはキーボード4505やポインティングデバイス4506を操作して、所望のアプリケーションプログラムを起動する。ユーザがアプリケーションプログラムのメニューから印刷を行う指示を入力すると、プリンタドライバがRAM4504にロードされ、印刷に関する各種設定を行うGUIが表示される。そして、それら設定を行ない、印刷を開始する指示入力を行うことで印刷処理が開始されることになる。
なお、実施形態におけるクライアントPC1811、1812にインストールされているOSは米国マイクロソフト社が提供するWindows(登録商標)を例にするが、GUIのOSであれば他のOSでも構わない。また、表示装置4508の表示画面上には、ポインティングデバイス4506に連動するカーソルが表示される。また、ポインティングデバイス4506には1つ若しくは複数のボタンが備えられている。ユーザがポインティングデバイス4506を操作して、カーソルを目的とするオブジェクト(表示されたボタンやメニュー項目)に移動させ、ポインティングデバイスのボタンの押下する一連の操作を、以下での説明では「クリック操作」、或いは、単に「クリックする」と表現する。
[プリンタドライバの基本動作概要]
図1〜図3はクライアントPC1811(クライアントPC1812も同様)の表示装置4508の表示画面に表示されるGUIウインドウの一例を示している。尚、図1〜図3を用いて説明する各動作、制御も本実施形態の特徴を成すものである。
実施形態におけるプリンタドライバは、ユーザによるアプリケーションプログラムから印刷の指示がなされた場合に、出力先の画像形成装置の印刷条件を設定するためのGUIを表示する機能を有する。また、印刷開始の指示入力に応じて、アプリケーションプログラムから受信した印刷対象となるデータを、設定された条件に従って、出力先の画像形成装置が解釈できるデータ(一般に、PDL)に変換し、出力する機能を有する。プリンタドライバから出力されたデータは、OSによって、ネットワーク1800上の画像形成装置1821や1823に送信される。
図1は、実施形態におけるプリンタドライバによって表示される初期ウインドウの例を示している。
図示のウインドウ11には、幾つかの設定項目が表示される。プリンタ選択領域12は、ターゲットとなる出力先の画像形成装置を選択するためのものである。この領域の右端の▽マークをクリックすると、ネットワーク上に存在する画像形成装置一覧が表示されるので、その中の1つをクリックすることで、出力対象の画像形成装置が決定される。
印刷範囲設定領域13は、アプリケーションプログラムで作成された文書の印刷対象範囲を設定するためのものである。ここでは、全ページ、アプリケーションプログラムで編集中のページのみ、或いは、ページ範囲(1ページのみの場合もある)の中から選択することになる。
部数印刷設定領域14では、印刷出力すべき部数を指定するためのものである。ユーザは、この領域14内の▽、或いは△マークをクリックすることで、部数の増減が設定できる。
プロパティボタン17は、プリンタドライバによって選択された画像形成装置に関する更なる詳細設定を行うために用意されている。このプロパティボタン17がクリックされると、プリンタドライバは表示装置4508に図2、図3に示す各種詳細設定ウインドウを表示する。
そして、図1乃至図3の各種の操作画面を介してユーザによる所望の設定が済んだ上で、図1のOKボタン15をクリックすると、ユーザによって設定された条件に従って印刷データを生成し、出力先の画像形成装置にその印刷データ(PDLデータ)を送信することで印刷処理(印刷画像データの生成と出力処理)が開始する。なお、印刷を取り消す場合には、ユーザはキャンセルキー16をクリックすればよい。この場合、図1のウインドウが消去され、アプリケーションの編集状態に戻ることになる。
図2,図3は、図1に示した操作画面上のプロパティキーボタン17がユーザによりクリックされたことで表示されるGUIウインドウを示している。
この画面には、例えば「ページ設定」,「仕上げ」,「給紙」,「印刷品質」等のタブが設けられている。それらをクリック(図示しないクライアントコンピュータが具備するポインティングデバイス等の操作部で指示)することにより、「ページ設定」に関する設定,「仕上げ」に関する設定,「給紙」に関する設定,「印刷品質」に関する設定等の異なる各種詳細な印刷出力条件の設定を切り替えることができる。
図2では、「ページ設定」タブが押下された場合に表示させる操作画面の例を示している。この画面は、印刷すべきジョブの記録紙の用紙サイズをユーザが設定する用紙サイズ設定領域21を有する。また、一枚の記録紙上にN(Nは1以上の整数)ページ分の原稿画像データを配列形成させるレイアウトモード指定領域22を有する。また、画像形成装置において記録紙の搬送する方向を記録紙の長辺を先頭にして搬送するのか、短辺を先頭にして搬送するのかを指定する印刷の向き指定領域23を有する。また、印刷部数を指定する印刷部数設定領域24等が設けられている。
また、「仕上げ」タブがユーザによりクリックされた場合には、プリンタドライバは図2から図3に示すように表示画面に切り替える。図3に示す該画面には、ユーザにより選択された画像形成装置、或いは/及び、フィニッシャに関わる固有の設定情報が表示される。例えばステイプル処理の設定、ソート処理の設定、パンチ処理の設定、穴あけ処理の設定、製本処理の設定などのフィニッシングの設定等を含むシート処理の設定領域32が設けられている。また、片面印刷するか両面印刷を実行させるかを設定する領域31を含む。なお、画像形成装置による色味などのパラメータを変更する画像処理関連のより細かい調整の設定等の各種の詳細設定をユーザにより実行可能な複数の設定領域を設けても良い。これらの各設定により、ユーザにより上述のような各種の詳細設定を可能とする。
なお、図2、図3の表示画面にて、OKボタン24がクリックされると、その際に設定された条件情報が一時的にRAM4503に記憶され、図1の画面に戻ることになる。また、図2、図3におけるキャンセルボタン25がクリックされた場合には、設定内容が破棄され、デフォルトの設定に戻し、図1の画面に戻ることになる。なお、図3の「標準に戻す」ボタン33がクリックされると、プリンタドライバは、図2、図3等で設定された条件を破棄し、各項目についてデフォルトの設定に戻す処理を行う。
また、図示しないが、同様にして「印刷品質」タブでは、解像度やハーフトーン設定、などの選択を行うことができる。
以上の結果、図1のOKボタン15をクリックすると、クライアント端末1811のプリンタドライバは、例えばA3サイズの1枚の記録紙の両面に4ページ分の画像を印刷し、長辺綴じ設定を行うような制御情報を生成し、印刷データと共に出力対象の画像形成装置に送信することが可能になる。
[プリンタドライバ構成の説明]
図4は実施形態におけるクライアント端末1811(1812も同様)におけるプリンタドライバを含むソフトウェア構成を示したものである。
クライアント端末1811上には、オペレーティングシステム(OS)42が動作していて、このOSの制御の下で、実施形態におけるプリンタドライバ45やアプリケーションプログラム48が稼動することになる。
プリンタドライバ42は、ユーザI/Fの表示や設定の保存などを行うユーザI/Fドライバ46と、アプリケーションからOSを通して指示される印刷対象データを、出力対象画像形成装置が解釈可能なコードに変換するグラフィックドライバ47とから構成されている。ユーザI/Fドライバ46は、アプリケーションからOSを通して印刷設定が指示されたとき、図1〜図3に示す印刷設定ダイアログ、プロパティシートを表示する。
なお、OSが管轄する保存領域内に、ユーザが設定した各種条件情報を一時的に記憶する設定保存領域43がある。また、詳細は後述するが、画像形成装置やフィニッシャ等のプロファイルを格納するプロファイル保存領域44が設けられる。このプロファイル保存領域44はRAM4503ではなく、不揮発性のメモリやハードディスクドライブ4504に確保される。
ユーザI/Fドライバ45は、先に説明したように、ユーザが設定した印刷条件等の属性情報をプリンタドライバ設定保存領域43に保存する。また、ユーザI/Fドライバ、グラフィックドライバ、アプリケーションソフトウエアはOSを介してこのプリンタドライバ設定保存領域にアクセスすることができ、ユーザが設定した印刷属性を読み取ることが可能である。
グラフィッドライバ47は、プリンタドライバ設定保存領域43、プロファイル保存領域44に格納された情報に基づき、OSを介してアプリケーションから出力された印刷対象データを、画像形成装置1821(図示では、図1の画面で、画像形成装置1821が選択されているものとしている)が解釈可能なデータに変換し、出力する。OSはこのデータをネットワークインターフェース4509を介して、所定のプロトコルに従って、画像形成装置1821に出力することになる。この処理は、画像形成装置へに向けての出力処理は、OSが有するスプーラによって行われる。
[印刷の流れ]
次に、ユーザがプリンタドライバ上で印刷属性の設定を行い、印刷出力されるまでの処理の流れを説明する。図5はユーザが印刷属性を設定する手順を示すフローチャート、図6はユーザが印刷指示を行い印刷されるまでのフローチャートである。
先ず、図5のフローチャートに従って、印刷属性の設定処理を説明する。
CPU4501は、ステップS1においてユーザがアプリケーションソフトウエアのメニューから印刷設定のメニューを選択されたことを検出する。この検出がトリガになって、ステップS2でアプリケーションがOSのAPI(Application Programming Interface)をコールして、プリンタドライバに印刷属性設定のプロパティシートを表示するように指示する。この指示により、OSはプリンタドライバに印刷属性設定のプロパティシート表示の指示を行うことになる。
ステップS3に処理が進むと、プリンタドライバのユーザI/Fドライバはこの指示を受けて、図1に示した印刷属性設定のプロパティシートを表示する。
続いて、ステップS4において、前述した図1乃至図3のプロパティシート上で、ユーザによる印刷属性設定入力を受け付ける。ユーザは所望の印刷属性設定を行う。その後、図1のプロパティシートのOKボタン15がユーザにより押下されたことを検出した場合、印刷属性を確定する。このOKボタン15の押下を受けて、ステップS5において、ユーザI/Fドライバはユーザが設定した印刷属性設定値をOSのAPIをコールしてOS内の印刷属性設定保存領域43に保存する。これにより印刷属性設定とその設定情報の保存が完了する。
次に、図6のフローチャートに従って、印刷処理について説明する。
先ず、ステップS11において、アプリケーションソフトウエアのメニューから印刷メニューが選択されたことを検出する。この検出により、ステップS12に進み、アプリケーションソフトウエアはOSのAPIをコールしてプリンタドライバに印刷開始指示を行う。なお、この過程で一度、図1に示す印刷設定ダイアログを表示するケースもある。
ステップS13では、プリンタドライバを構成しているグラフィックドライバ47が、この印刷開始指示によりOSのプリンタドライバ設定保存領域43から印刷属性設定値を読み出す。そして、画像形成装置とフィニッシャに印刷設定やフィニッシング設定などを指示するジョブ制御情報を生成し、画像形成装置に向けて送信する。ジョブ制御情報には、JDF(Job Definition Format;印刷物制作・製造の全工程を包括的に定義・記述し、管理・制御するXMLベースのファイル形式)、PJL(Printer Job Language;印刷ジョブ言語:PDLを印刷ジョブとして扱うための一般的な言語)、PDL(Page Description Language;ページ記述言語)コマンドなどがある。
続いて、ステップS14において、アプリケーションが作成したドキュメントデータに基づきOSを介して描画命令の生成を行う。この描画命令はグラフィックドライバ47に渡されることになる。ステップS15では、グラフィックドライバ47は、上記の印刷描画命令を受信し、画像形成装置が解釈可能な描画情報(PDLデータ)に変換し、その画像形成装置に向けて送信する。
画像形成装置はステップS16において、受信したPDLデータに基づきレンダリングを行い、印刷を行う。以上述べた手順によりユーザは所望の印刷出力を得ることが可能となる。
なお、画像形成装置は、上記のようにして印刷ジョブ受信した場合、その中に、フィニッシャに対する制御情報があった場合には、その情報を該当するフィニッシャに送信する。ただし、プリンタドライバが、印刷ジョブとは別に、ニアラインフィニッシャに対する後処理の制御要求情報をジョブチケットとして生成し、送信するようにしても構わない。
[画像形成装置の構成]
図19は実施形態における画像形成装置の一例のブロック図を示している。
図に示すように、画像形成装置は、画像読み取りを行うスキャナ部とその画像データを画像処理するスキャナIP部1901を有する。また、ファクシミリなどに代表される電話回線を利用した画像の送受信を行うFAX部1902と、ネットワークを利用して画像データや装置情報をやりとりするNIC(Network Interface Card)部1903を有する。また、外部装置との情報交換を行う専用I/F部1904を備えている。また、操作スイッチ、ボタン、表示器等で構成される操作部1907を有する。また、印刷データ中のPDLデータを解析するPDL部1908、画像の描画等を行う画像処理部1909、描画した1ページ分の画像を圧縮/伸長を行う圧縮伸長部1910、圧縮した画像を蓄積する情報格納部1911を有する。また、各種フィニッシャのプロファイルを格納する共通DB部1912、実際に印刷処理を行うプリンタ部(プリンタエンジンとも言う)1913、及び、後段に接続する各種フィニッシャに対する各種処理要求を発行する後処理部1914を備える。また、装置全体の制御を司るジョブ制御部1905は、上記各構成要素を制御するものであり、処理の径路を決定することになる。
このジョブ制御部1905内には、複数の画像データを格納可能なハードディスク等のメモリを具備している。例えば、画像形成装置が具備する制御部(例えばジョブ制御部のCPUなど)が主体となって、スキャナ部からの画像データや、FAX部を介して入力されたファクシミリジョブの画像データや、NIC部を介して入力されたコンピュータ等の外部装置からの画像データや、I/F部を介して入力された他の画像形成装置からの画像データ等の、複数種類の画像データを、該ハードディスクに複数格納可能に制御する。また、このハードディスクに格納された画像データを適宜読み出して、プリンタ部等の出力部に転送し、プリンタ部によるプリント処理等の出力処理を実行可能に制御する。又、オペレータからの指示により、ハードディスクから読み出した画像データを、コンピュータや他の画像形成装置等の外部装置に転送可能に制御する。
この画像形成装置1821(1823も同様)は、インラインフィニッシャ1822とニアラインフィニッシャ1831、1832に対して、その機能を使うように設定する。各フィニッシャの機能を記述したそれぞれのフィニッシャプロファイル(後述)は、画像形成装置内の共通DB部1912に保持されており、そのプロファイル情報を元に使用する機能の設定が行われるべく、クライアントPC1811に送信される。この共通DB1912には、本画像形成装置の出荷時点で接続されると想定される全てのフィニッシャのプロファイルを、その画像形成装置内に保存しておくという方法が考えられる。また、画像形成装置の出荷後に新たにサポートになったフィニッシャが現れた場合は、新しいフィニッシャがネットワークに接続された時点で、画像形成装置がそのフィニッシャ内にあるプロファイル情報を取得する方法でも構わない。更には、フィニッシャ内にプロファイル情報がない場合か、設置後に機能変更や追加などでプロファイル情報がアップデートされた場合などには、フィニッシャメーカのホームページなどからプロファイル情報を取得し、保存するようにしても構わない。したがって、出荷時点ではフィニッシャのプロファイルを持たなくても、使用時にそれを取得することができる。なおプロファイル情報は対応する装置の能力特性を記述した情報であり、能力情報あるいは特性情報ということもできる。
画像形成装置は、このような方法で取得したフィニッシャプロファイルを共通DB部1912に保持する。次に取得したフィニッシャプロファイルを用いて、プリンタドライバなどの他の機器から利用できるように画像形成装置において登録を行う。この詳細は後の「フィニッシャとプロファイルの管理」で説明する。登録が終われば、他の機器(クライアントPC等)は、NIC部1903を介して画像形成装置に登録されているフィニッシャプロファイルを利用することができる。
[ポストプレスの構成]
多種多様なフィニッシャがある中で本実施形態では、インラインフィニッシャの一例として中綴じ製本機、ニアラインフィニッシャの例として断裁機、無線綴じ機を例にして説明する。
図21はニアラインフィニッシャの内部構成の一例を図示したものである。ニアラインフィニッシャは後処理デバイス2200と、その後処理デバイス200を制御するコントローラ2100とで構成されることになる。
コントローラ2100には、ホストコンピュータやMFPなどの他のネットワーク機器と通信を行うネットワーク部2101、一時的に情報を保管するDRAMのような一次記憶装置やHDDのような2次記憶装置で構成される記憶装置2102、ニアラインフィニッシャにおいてジョブの制御を行う制御部2103、各種設定を行ったり、ユーザからのID入力などを受け付ける操作部2104、入力されたジョブ情報を解釈しデバイスを制御できる形式に変換するジョブ制御情報解釈部2105、及び、後処理デバイス2200を制御するデバイス制御部2106を備える。これらのモジュールによりニアラインフィニッシャが構成されている。なお、上述したジョブとは、印刷データなどの印刷ジョブではなく、ニアラインフィニッシャで処理される印刷物の属性情報やニアラインフィニッシャに対する設定情報などのコマンドに相当するものである。
図22はニアラインフィニッシャにおける一連の処理の流れを説明したフローチャート図である。
まず、ステップS61において、ネットワーク部2101からジョブ制御情報(ジョブIDを含む)を受信すると、ステップS62にて、ジョブ制御情報解釈部2105にてそのジョブ制御情報の解釈を行い、デバイスを制御可能な内部形式に変換する。次いで、ステップS63に進み、変換後の制御情報を、そのジョブIDと関連付けて記憶部2102に保存し、ステップS64にてオペレータによる操作部2104からのジョブIDの入力を待つ。
オペレータが操作部2104によりジョブIDを入力すると、処理はステップS65に進み、ジョブ制御部2103は記憶装置2102内から、該当するジョブIDを持つジョブ制御情報を検索して取得する。そして、ステップS66にて、ジョブ制御部2103は、取得したジョブ制御情報をデバイス制御部2106に設定することで、後処理デバイス2200を制御し、該当するジョブを行う。
なお、別の実施形態としては、ネットワーク上にジョブ制御情報を格納するサーバ(MFPでもよい)を追加するようにしても良い。すなわち、操作部2104からジョブIDが入力された際、ジョブ制御情報サーバへ接続し、入力されたジョブIDに対応するジョブ制御情報をダウンロードする。そして、ジョブ制御情報の解釈を行い、後処理デバイスを制御するようにしても良い。
[プロファイルの内部構造]
本実施形態では、各フィニッシャプロファイルをXML形式で記述する。フィニッシャは、製本機、裁断機、折機など種類が多様であり、それぞれの種類ごとに機能が大きく異なる。また、新規機能の追加などにより情報の変化が激しい。そのため、それらに適切に対応できるタグ形式で記述したXMLを用いる。もちろん、新規機能追加等に対して適応的に記述できる言語であれば、如何なるものでも構わない。
図7は製本機のフィニッシャプロファイルを記述した一例、図8は裁断機のフィニッシャプロファイルを記述した一例である。「FinishingType」は製本機、裁断機などの装置種別を、「Manufacturer」は製造したメーカ名を、「ProductName」は型式を表している。
従って、図7は「ABC社が製造した11ABCという型式の製本機(Type : Bookbinding)」を表している。図8は「XYZが製造した10XYZという型式の裁断機(Type : Cutting)」を表している。図7の「Booklet」や図8の「Cutting」といったタグは製本機や裁断機の固有の能力を記述したものである。このように各フィニッシャの固有の機能に対しては、それぞれ個別にタグで定義することでプロファイルとしての記述が可能となる。
[フィニッシャとプロファイルの管理]
図9は画像形成装置内のフィニッシャプロファイルに関する部分についての構成を示している(他の構成については、図19参照)。
ジョブ制御部1905はNIC部1903を介して、ネットワークから受信したフィニッシャプロファイルの記憶管理及び外部からの取得要求に対してプロファイルの送信などを行う。共通DB部1912には、取得したフィニッシャプロファイル名、接続状況などを管理するフィニッシャ管理テーブル1912a、及び、フィニッシャプロファイルの実体を保存するフィニッシャプロファイル保存領域1912bを有する。なお、画像形成装置に接続可能な既知のフィニッシャについては、それらのフィニッシャ名称などの情報はフィニッシャ管理テーブル1912aに保存され、それぞれのフィニッシャに対応するプロファイルはフィニッシャプロファイル保存領域1912bに保存されている。
図10は、フィニッシャ管理テーブル1912aの内容の一例を示している。このテーブルには画像形成装置と通信可能或いは接続可能なフィニッシャの情報が格納されている。本実施形態ではテーブルの第1フィールドには管理番号(変数型はUnsigned Short)が格納されている。第2フィールドにはフィニッシャ名称(変数型はString)が格納されている。第3フィールドにはメーカ名称(変数型はString)が格納されている。第4フィールドには該当するるプロファイルのファイル名称(変数型はString)が格納されている。第5フィールドにはフィニッシャの接続状況(変数型はBooleanで、falseかtrueのいずれか)が割り当てられている。「接続状況」がtrueの場合は接続(通信可)を示し、falseの場合は未接続(通信不可)を示す。
例えば、管理番号#5の欄は、フィニッシャ名称が「Finisher-X」、メーカ名称が「XYZ」社、対応するプロファイルのプロファイル名称は「finisher-x-of-xyz.xml」、また接続状況は「true」であるため接続されていることを示している。また他の欄については同様に解釈することができるが、この表では管理番号#5のフィニッシャ以外は未接続状態となっている。
次に図11のフローチャートに従って、ニアラインフィニッシャを画像形成装置1821から利用可能にする手順を説明する。ここで接続するフィニッシャは、XYZ社のFinisher-Yであるとする。
先ず、ステップS21において、ユーザは新しいフィニッシャを設置し、LANケーブル等の所定の通信媒体で接続する。
次に、ステップS22において、画像形成装置1821は、ユーザによる接続操作のために、操作部1907上にユーザインターフェース画面を表示する。その画面でユーザは、ネットワーク上のニアラインフィニッシャに対して接続操作を行い、ニアラインフィニッシャを利用可能にすべく指示を行う。そして、ニアラインフィニッシャから応答があり、利用可能であると判断すると、ステップS23において、フィニッシャ管理テーブルにおける、接続されたフィニッシャの接続状態を、「接続(true)」に変更する。この操作を図12〜図14を用いて説明する。図12〜図14はステップS22における操作画面を示す。
図12は、操作部1907において、フィニッシャ接続を指示した際の、画像形成装置本体の操作部に設けられた表示部の初期状態を示したものである。実施形態における表示部は感圧式のタッチパネルを有し、所望とする位置を指で押下することで、その入力を行う。
さて、ユーザはフィニッシャの接続設定を行うために、まずOptionsボタン121を押下する。このボタン121は画像形成装置のオプション設定を行うためのものであり、このボタン押下により図13の画面が表示される。ユーザはさらに図13の画面の中の「Finisher Registration」ボタンを131を押下する。このボタン押下により、先に説明した、フィニッシャ管理テーブル1912aに基づく、図14のフィニッシャ接続登録画面が表示される。この画面は登録可能なフィニッシャの一覧が表示されるとともに、各フィニッシャの接続登録を行うことができる。フィニッシャの一覧は、フィニッシャ管理テーブル1912aを、対応プロファイル名を除いてそのまま可視化したものである。すなわち、フィニッシャの一覧は、フィニッシャ名称141a、メーカ名称141b、接続状況141cから構成される。この一覧表は一度に7個のフィニッシャが表示されているが、この7個を越えるフィニッシャを閲覧するには、同図のスクロールボタン142、143を押下する。また接続登録する場合は、対象のフィニッシャの行のどこかの部分をタッチすることにより選択状態にした後、「Connect」ボタン146をタッチすることで行われる。また、接続登録を破棄(登録解除)する場合には、「Disconnect」ボタン145にタッチする。
図示では、XYZ社のFinisher-Yを接続登録するため、行144のどこかの部分にタッチしてFinisher-Yを選択状態とする。選択状態になると、その行の明暗が反転することで、ユーザはどの行を選択したのか確認できる。次にこの状態で「Connect」ボタン146にタッチしてこのフィニッシャを接続登録する。「Connect」ボタン146の押下に応じて、画像形成装置1821からニアラインフィニッシャへ対して接続要求(利用可能要求)が発行され、その接続要求に対して応答が得られれば、利用可能であると判断し「Connected」と表示する。応答がなければ指定されたニアラインフィニッシャが利用可能な状態にないと判断して表示を変更しない。最後にこの設定を有効にするため、「OK」ボタン148にタッチする。これにより、フィニッシャ管理テーブルが更新されることになり、表示画面も初期画面に戻る。なお、この登録作業を破棄する場合は、「Cancel」ボタン147にタッチすれば、この画面で操作した内容はすべて破棄され、フィニッシャ管理テーブルの更新作業は行われない。
次に画像形成装置がフィニッシャ管理テーブルの更新処理する方法を説明する。図14の画面では、ユーザはXYZ社のFinisher-Yを接続登録した場合に相当する。
ここでは、管理番号#6の接続状態の欄をfalseからtrueに書き換える。図16はこの更新が行われた後のフィニッシャ管理テーブル1912aである。図16に示すように#6のFinisher-Yの接続状態はtrueに変更されている。
以上の手順でユーザが設置したニアラインフィニッシャの接続登録が完了する。なお本実施形態では、ニアラインフィニッシャ接続後にユーザが画像形成装置の操作パネルでフィニッシャの接続設定を行ったが、フィニッシャ管理テーブルが更新できれば他の方法でも実施が可能であり、例えば画像形成装置とフィニッシャは通信媒体で接続されているため、接続時のプロトコルを定義して、画像形成装置とフィニッシャ同士がそのプロトコルに基づき通信することにより、画像形成装置がフィニッシャを自動的に接続登録する方法なども可能である。
画像形成装置はさらに、接続されたニアラインフィニッシャに対してフィニッシャプロファイルの取得要求を送信し、それに応じてニアラインフィニッシャが送信するフィニッシャプロファイルを受信する工程を実行する。受信したフィニッシャプロファイルは共通DB1912に保存される。また、受信したフィニッシャプロファイルの名称は、フィニッシャ管理テーブル1912aのフィニッシャプロファイル名に登録される。また、フィニッシャプロファイルに関連づけて、フィニッシャのアドレスが登録される。
なお、ニアラインフィニッシャのプロファイル情報は、このように画像形成装置が、登録されたニアラインフィニッシャから読み取って、その後コンピュータが取得しても良いが、クライアントPCがニアラインフィニッシャから直接プロファイル情報を取得することも出来る。
また、インラインフィニッシャについては、画像形成装置に、そのフィニッシャプロファイルが初期的に格納されている。そして実際にインラインフィニッシャが接続されれば、接続されている旨を示す信号が制御部に入力されるから、それをトリガにしてインラインフィニッシャが接続されている旨をしめすフラグ等をセットする。すなわち、本実施形態では、インラインフィニッシャに関しては、特に登録や接続をしたことを示す操作は必要ない。
[フィニッシャプロファイルの取得]
次に、実施形態におけるクライアントPC1811(クライアントPC1812も同様)におけるプリンタドライバが、画像形成装置からフィニッシャプロファイルを取得、保存する手順を説明する。
ここでは、図1に示したクライアントPC1911の図1において、選択されのが画像形成装置1821であるものとして説明する。
図4の構成において、プリンタドライバ45は、図1のGUIが表示された場合(前回選択したプリンタをデフォルトで表示する)、或いは、プリンタ選択領域12でプリンタが変更された場合、OSのAPI(Application Programming Interface)を介して、プロファイル取得モジュールを起動する。この結果、このプロファイル取得モジュールは、選択されたプリンタで示される画像形成装置1821に対して、ネットワークインターフェース4509を介してフィニッシャプロファイルを要求する。この結果、画像形成装置1821からは、プロファイルが送信されてくるので、それをOSのAPIを介して取得し、それをプロファイル保存領域44に保存する。実施形態におけるプロファイル保存領域44は、ハードディスク4504に確保されたフォルダとしている(なお、プロファイル取得モジュールは、プリンタドライバ45の一部のモジュールとしても構成しても良いし、OSの一部の機能として提供されても良い)。従って、一度取得したプロファイルは、電子的なファイルとして記憶保持されることになる。また、プロファイルの取得要求を画像形成装置に発行する際、過去に取得したプロファイルに対して変更があるものを要求するものとする。このためには、画像形成装置1821に対して、先ず、プロファイル管理テーブルを要求し、プロファイル保存領域44に保存されていないプロファイルがあった場合に、そのプロファイルを要求すれば良い。
なお、プロファイルの送受信に用いるプロトコルであるが、プリンタドライバからのフィニッシャプロファイル取得の要求、及びフィニッシャプロファイルの実体の送信が行えればよいので、如何なるものでも構わない。
また、オフラインフィニッシャは、ネットワーク接続されていないので、実施形態における画像形成装置は、そのプロファイルを取得することはできない。このように、自身でプロファイルを外部に送信する機能を有しないフィニッシャについては、そのプロファイルを提供しているメーカ等のWWWサイトからダウンロード等により取得し、クライアントPCのプロファイル保存領域又は画像形成装置のプロファイル格納領域に格納する作業を行えばよい。
次に、実施形態におけるプリンタドライバが画像形成装置からフィニッシャプロファイルを取得する処理手順を図15のフローチャートに従って説明する。
先ず、ステップS31において、プリンタドライバ45は画像形成装置に接続登録されているフィニッシャプロファイルの取得を要求する。このプリンタドライバからの取得要求に応じて、画像形成装置はプリンタドライバにフィニッシャプロファイルを送信する。次に、ステップS32において、画像形成装置はフィニッシャ管理テーブルを上から順に検索し、各フィニッシャの接続状態を確認する。
図16に示す画像形成装置が保持するフィニッシャ管理テーブル1912aを用いて説明する。
先ず、最初に、管理テーブル1912aの管理番号#1の「Finisher-A」の接続状態を確認する。このテーブルではフィニッシャの接続状態は「false」となっている。
ステップS33では、接続状態の条件判断を行う。「Finisher-A」は接続状態が「false」(利用できないことを示している)であるため、ステップS35に進む。ステップS35は、すべてのフィニッシャについて確認したかどうかの判断であり、未チェックのフィニッシャが存在すればステップS32に戻ることになる。以下、この処理を、全てのフィニッシャについて同様に繰り返す。
ここで、「Finisher-X」の接続状態は、「true」(利用できることを示している)である。従って、ステップS33における判断はYesとなり、ステップS34に進むことになる。このステップS34では、画像形成装置は対応するフィニッシャプロファイルを、要求元のクライアントPCのプリンタドライバに送信する。より詳しくは、フィニッシャ管理テーブルから、対応するフィニッシャプロファイル名称は「finisher-x-of-xyz.xml」であるので、フィニッシャプロファイル保存領域1912bからこのファイルを取り出し、プリンタドライバに送信する。
次にステップS35において、すべてのフィニッシャについて確認したかどうかの判断を行ない、未チェックのフィニッシャがある限り、ステップS32以降の処理を繰り返す。
フィニッシャ管理テーブル1912aが、図16に示す状態である場合には、フィニッシャ「Finisher-Y」のプロファイル(ファイル名は「finisher-y-of-xyz.xml」)についても、プリンタドライバに送信することになる。
このようにして、画像形成装置は接続状態(通信可能、利用可能状態)にあるフィニッシャのフィニッシャプロファイルをプリンタドライバに送信する。換言すれば、プリンタドライバは、利用可能なフィニッシャのプロファイルを取得することができることになる。
[ホストにおける印刷処理フロー]
次に、クライアントPCにおける処理の流れを図20のフローチャートに従って説明する。
まず、ユーザはアプリケーションを用いて印刷するデータを作成した後、そのアプリケーション上で印刷を指示すると、実施形態におけるプリンタドライバが起動される(ステップS51)。ここで、ユーザがプリンタドライバにおけるフィニッシャの設定を行うために、図1のプロパティボタンをクリックした場合には、その詳細設定画面を表示する(ステップS52)。更に、印刷するデータに対してフィニッシング処理の設定を行うために、更に詳細設定画面を表示する(ステップS53)。この詳細設定画面において、ドライバが情報として保持している、サポートするフィニッシャの中から必要なフィニッシャを選択し、そのフィニッシャが提供するフィニッシング機能の設定を行う(ステップS54)。上記を、全ての設定が終えたことをユーザが指示するまで(図1のOKボタン15が押下されるまで)繰り返す(ステップS55)。設定が完了したら、ステップS56に進み、設定された内容を反映させたJDFファイルと、アプリケーションで生成された文書データに基づく印刷データ(PDLデータ)を生成する処理を行ない、ステップS57にて、画像形成装置に対してジョブを出力する。
[画像形成装置における処理フロー]
次に、実施形態における画像形成装置における処理手順を図23、図24、図25のフローチャートに従って説明する。なお、図23における処理は、上述した、画像形成装置におけるフィニッシャとプロファイルの管理での制御に相当する。また、図24は図15において説明した、プリンタドライバが画像形成装置からフィニッシャプロファイルを取得する処理を実行する場合の、画像形成装置側の処理について説明するものである。
図23は画像形成装置において対応するニアラインフィニッシャを設定するフローを示している。ユーザはユーザモードなどからニアラインフィニッシャ設定画面に遷移することによりこの処理を開始することができる。
先ず、ステップS71において、ユーザによって入力されたIPアドレスを操作部1907を介して入力する。このIPアドレスの指定は、直接ニアラインフィニッシャに対するIPアドレスを入力してもよいし、所定のサブネットのIPアドレスを入力してもよい。次に、ステップS72において、入力されたIPアドレスに基づいて、あらかじめ画像形成装置のフィニッシャプロファイル保存領域903に記憶されているフィニッシャリストから該当するフィニッシャを特定し、特定された画像処理装置が接続可能なフィニッシャのリストを表示する。これによりユーザに、表示されたリストからニアラインフィニッシャのメーカや型番の一覧から該当するものを選択させて、対応プロファイルを指定させる。
ステップS73において、ユーザに正しいか否かを確認する表示を行ない、ユーザにより確認を待つ。ユーザにより正しい旨の指示入力があった場合、ステップS74に進んで、入力されたアドレスのフィニッシャに対してプロファイル情報を要求し、それを受信して共通DB部1912に保存する。保存されたフィニッシャプロファイルに対応するフィニッシャは、フィニッシャ管理テーブル1912aに追加される。変更されたフィニッシャ管理テーブルを2次記憶装置もしくは不揮発性メモリに記録する。
また別の実施形態としてニアラインフィニッシャからメーカや型番がわかるIDを取得できる場合は、ユーザがIPアドレスを入力した段階で該当IPアドレスに対してIDの取得要求を発行してニアラインフィニッシャからそのIDを取得して表示し、ユーザによりIDが選択されたことに応じて、そのIDに対応するフィニッシャに対してプロファイル情報の要求を行い、該フィニッシャからネットワークに接続されて利用可能なたフィニッシャとしてプロファイル情報を取得してフィニッシャ管理テーブルを書き替えることも可能である。フィニッシャプロファイルは、入力されたIPアドレスのフィニッシャに対して要求し、取得する。IPアドレスとプロファイル情報とは関連づけて保存される。
次にホストコンピュータから画像形成装置に登録されたニアラインフィニッシャの一覧と該当プロファイルの取得要求があった場合の処理手順を図24のフローチャートに従って説明する。
先ず、ステップS81において、ホストコンピュータから機器構成情報取得などでフィニッシャプロファイルの取得要求を受信すると、ステップS82に進んで、登録されたニアラインフィニッシャに対応するプロファイルを要求元のホストコンピュータへ送付する。
本実施形態ではユーザが登録したフィニッシャに対応するプロファイルのみ送付する例を示したが、登録されていなくとも画像形成装置が保持しているすべてのプロファイルを送付しても同様である。
次に画像形成装置における印刷処理を図25のフローチャートに従って説明する。
まずホストコンピュータからジョブチケットとしてのJDFを含む印刷データを受信すると、ステップS91にて、そのJDFを解釈する。そして、その中にインラインフィニッシャに対する処理があるかどうかをステップS92にて判断する。インラインフィニッシャに対する処理が含まれている場合には、ステップS93にて、JDF内のインラインフィニッシャに対する制御要求を解釈する。また、インラインフィニッシャに対する処理がない場合は、ステップS92の処理をスキップし、ステップS94に処理を進める。
ステップS94では、JDF内にニアラインフィニッシャに対する処理要求があるか否かを判断する。もしその要求がない場合には、ステップS95乃至S97の処理をスキップし、ステップS98に処理を進める。なお、ニアラインフィニッシャに対する要求がないのは、2通りである。1つは、クライアントPC上のユーザが、ニアラインフィニッシャを利用しない印刷ジョブを発行した場合である。もう1つは、クライアントPCのプリンタドライバは、該当するニアラインフィニッシャに対して、その後処理を行うための制御情報をジョブチケットとしてダイレクトに送信している場合である。
ステップS95に処理が進んだ場合には、JDFに基づいてジョブIDを生成し、ステップ96にてニアラインフィニッシャへ送付すべきJDFデータを生成し、ステップS97にて該当するニアラインフィニッシャに対して、ジョブIDと生成したJDFを送付する。
ステップS98では、受信した印刷データに基づく公知の印刷処理を実行する。
ステップS99では、インラインフィニッシャに対する処理があるかどうかを確認し、処理がない場合はステップS101に進める。また、インラインフィニッシャに対する処理がある場合はステップS100にて、インラインフィニッシャに対する処理(インラインフィニッシャに対する後処理の制御情報の送信)を行う。
ステップS101では、ニアラインフィニッシャに対する処理があるかどうかを確認する。処理がない場合はそのまま終了するが、処理がある場合はステップS102にて、処理手順及びジョブIDからなる作業指示書を生成し、印字を行う。このとき、印刷するジョブIDは、ステップS97でニアラインフィニッシャに送信したジョブIDと同じである。
ステップS102の意味は、印刷データに基づく印刷処理が完了した後、どのニアラインフィニッシャに印刷物を運び、更に、そのニアラインフィニッシャにて入力すべきジョブIDをオペレータに通知するためである。
[フィニッシャにおける処理フロー]
先に説明したように、クライアントPC上で印刷処理を行うと、クライアントPCのプリンタドライバは、JDF及び印刷データを、オペレータが選択した画像形成装置に送信する。画像形成装置は、受信したJDF内に、フィニッシャに対する処理要求があると、そのジョブ制御情報をフィニッシャに送信する。特に、ニアラインフィニッシャについては、そのジョブIDと、そのニアラインフィニッシャに対するジョブ制御情報を送信する。ニアラインフィニッシャは、ジョブIDとジョブ制御情報を受信すると記憶装置2102(図21参照)に記憶する。
そこで、以下では、記憶装置2102に記憶されたジョブ制御情報に基づくニアラインフィニッシャの処理手順を図17のフローチャートに従って説明する。
フィニッシャ側では、まずユーザからのジョブID入力を待つ(ステップS41、S42)。ジョブIDの入力があったと判断した場合には、ステップS43に進み、既に画像形成装置から送信されて記憶装置2102に記憶された、入力されたジョブIDに対応するジョブ制御情報を取得する。そして、ステップS44に進んで、取得したジョブ制御情報の内容に基づいて、フィニッシャで処理すべきパラメータを設定する。これにより、従来では出力された手順書をもとにオペレータが手動で設定していたものは、自動化されることになる。
次いで、ステップS45に進んで、設定内容をユーザに確認させるため、所定の表示装置に表示させる。ユーザは、表示内容を確認し、問題がなければフィニッシャに設けられた処理開始ボタン等を押下する。これにより、ステップS47において、設定されたパラメータに従ってフィニッシャの処理を開始することになる。例えば、着目フィニッシャが裁断フィニッシャである場合には、設定された寸法に従って裁断が行われることになる。
また、ステップS45の表示を見たユーザが、パラメータ変更が必要と判断した場合には、編集ボタンを押下することで、設定パラメータの編集が可能になる。この場合には、ステップS48に進んで、パラメータを手動設定、編集を行ない、最後に、フィニッシャの処理開始ボタンを押下することで、その処理を行うことが可能になる。
以上のように、実施形態のシステム構成において、フィニッシャプロファイルを用いることで、インライン、オフライン、ニアラインの区別無くフィニッシャの機能をドライバから用いることが可能となる。
[プリンタドライバのGUIの説明]
次に、実施形態におけるクライアントPC上で動作するプリンタドライバのGUIを、プロファイル記憶領域44に記憶されたプロファイルに従って構築する処理の詳細を説明する。
通常、オフィス用デバイスに取り付けられるフィニッシャは種類が限定されている。そのため、ドライバUIはあらかじめ取り付けられているフィニッシャを想定して設計している。そして、フィニッシャがデバイスに取り付けられた際はその情報をプリンタのコントローラから受け取り、対応したUIを表示する。
しかし、フィニッシャが画像形成装置本体に接続されない独立したニアラインフィニッシャやオフラインフィニッシャについては想定していない。また、プリンタドライバ作成時に想定されていない機能が搭載されたフィニッシャや、種別が全く異なるフィニッシャが接続される場合もあり得る。このような状況においては、従来と同様に適応的にドライバUIを表示することができない。
本実施形態では、各種フィニッシャのプロファイルを取得するものであるので、それを利用する。また、単に利用するだけではなく、フィニッシャプロファイル中にUIに関連した情報を、ホスト側のプリンタドライバが解析可能な形式で記述し、プリンタドライバが適応的にUIを構築し表示する。
説明を単純なものとするため、図18におけるクライアントPC1811、画像形成装置1821、ニアラインフィニッシャ1831、1832に着目した場合のプロファイルの流れを図26に示す。
図示において、各フィニッシャ内の記憶装置には、それぞれのフィニッシャの性能や特性を記述したプロファイル2811乃至2813が予め格納されているものとする。また、格納ドライバ機能DB2801は、あらゆるフィニッシャの機能が記述されたDBであり、追加や変更、削除が可能である。このドライバ機能DBは、サーバとして設けられるものとするが、クライアントPC内に設けられるようにしても構わない。クライアントPC1811には、そのプリンタドライバのGUIを組み替えるドライバ組み替えアプリケーション2802が稼動している。
上記構成におけるプリンタドライバのGUIを更新する際の流れを以下に説明する。
画像形成装置1821内のコントローラ(ジョブ制御部1905)は、既に説明したように、画像形成装置に直接接続されているフィニッシャ1822、及び、ネットワーク1800に接続されているフィニッシャ1831、1832を検知し、そのフィニッシャのプロファイル2811乃至2813を取得し、共通DB部1912に保存する。
次にクライアントPC1811は、画像形成装置1821のコントローラと通信し、有効なすべてのプロファイルを取得し、プロファイル保存領域44に保存する。クライアントPCのドライバUI組替アプリケーション2802は、プロファイル保存領域44に保存されたプロファイルの情報をもとにドライバのUIを組み替える。その際、プロファイルに現状のドライバにはない機能が記述されていた場合は、ドライバ機能DB2801と通信して情報を取得する。各処理の詳細については後述する。
まず、前提処理として実施形態におけるプリンタドライバ45のGUIの構造について説明する。
実施形態におけるプリンタドライバ45のGUIに係る情報は、フィニッシャのプロファイルと同様に、各機能に対してタグ形式を用いて記述する。
図27にフィニッシャが接続されていない状態での基本となるドライバUIの例を示す。ここでは、「ページ設定」、「仕上げ」、「給紙」、「印刷品質」と記述されたタブがあり、これをクリックすることで画面が切り替わる。そこで、このタブを基準にして構造化を行う。図28は図27の内容をもとに示した階層構造を示している。図27の「仕上げ」画面では、大きく分けて「印刷方法」、「とじ方向」、「排紙方法」の3つの項目に分かれており、仕上げタブを基準に階層化されたツリー構造となっている。さらに「排紙方法」に注目すると、「ソート」の項目が記述されたオプションボタン、「シフト」「回転」といったチェックボタン、排紙方法の下部に表示してあるイメージが存在する。よって、図28のような構造がXML等の構造化言語にとり記述されていることになる。特に「ソート」、「グループ」、「回転」といった小項目は、ドライバUIの更新に直接関わるものであり、ドライバUI上の位置と専有面積について示したタグが付随している。ここでもし、フィニッシャ固有の機能である場合は、どのフィニッシャの項目であるのかを示すタグが付随する。これについては詳しく後述する。
一方、フィニッシャのプロファイル情報は、先に説明したプロファイル情報に加えて、「Driver_UI」というタグが追加される。例えば製本機に関するプロファイルの場合は、図28にならって構造化すると図29のように表わせる。「Booklet」、「Medium」及び「StapleSpaceInternal」のタグは、もともと「製本機」のプロファイル中にあるタグである。それに対してDriver_UIが追加されている。製本機の機能には「ステイプル」の機能が存在し、反映させたいドライバUIは「仕上げ」タブの中の「排紙方法」の部分である。そこで、「仕上げ」、「排紙方法」のタグがプロファイルに記述される。また、ステイプルの機能が追加されるにあたり、ドライバUIの画面上に「ステイプル」のラジオボタン、ステイプル用のイメージ、ステイプル位置指定用のコマンドボタンが追加される。よって、図29のような構造となる。
ここで、ラジオボタン・イメージ・コマンドボタンなどはフィニッシャ特有の機能を表しているため、位置・大きさの情報の他にフィニッシャを判別するための情報を追加する。
また、「ステイプル位置指定」のコマンドボタンは、クリックすると詳細な設定を行うための個別のUI(別ウインドウ)が開く。このような場合は「ステイプル位置指定」の情報の後に別UIに関する情報を記述する。図30はその一例である。個別のUIでは、ステイプル位置の指定を目的とし、左上か左下かを選択させるためにラジオボタンを使用する。そこで、図30に示すようにまず個別のUIであることを示すタグと「ステイプル位置指定」という項目と、「左上」、「左下」というラジオボタンの種類、各ラジオボタンの位置・大きさとどのフィニッシャの機能に属するのかを示す情報を記述する。
以上で述べたように、構造化された基本となるドライバUIと、ドライバUIに関する情報が記述されたフィニッシャのプロファイル情報を用いてドライバUIの更新を行う。
実施形態におけるドライバUI組替アプリケーション2802の処理手順を図31のフローチャートに従って説明する。なお、このドライバUI組替アプリケーション2802は、プリンタドライバが起動した直後、或いは、ユーザが図1のGUIにてプリンタを変更した場合に実行されるものである。
まず、クライアントPC1811のプリンタドライバ45が画像形成装置1825のコントローラからプロファイルを受け取り、プロファイル保存領域44に保存する(ステップS111)。次に、格納したプロファイル中のUIに関する記述を確認し(ステップS112)、その記述があるか否かを判断する(ステップS113)。これは、具体的には、プロファイルが図29の例の場合、「Driver_UI」があるか否かを判断することになる。
ステップS113にて、ドライバUIに関する記述がないと判定された場合は、ドライバUIを更新する必要がないと判断され、本処理を終了する。
一方、プロファイル中にUIに関する記述があると判断した場合には、次にドライバUI組替アプリケーションが想定していない新機能が追加されているか否かを判定する(ステップS114)。具体的には、図28の「ページ設定」、「仕上げ」、「給紙」、「印刷品質」以外のタグが存在した場合には、想定外の機能が追加されたと判定する。想定外の機能が追加された場合はドライバ機能DB2801に当該タグ情報を通知し(ステップS118)、サポートしている機能であるか否かを判定する(ステップS121))。なお、ステップS121の判定は、ドライバ機能DB2801が行う。サポートしている機能であると判定された場合は、ドライバ機能DB2801の情報が有する情報を取得し、ステップS119にてドライバUI更新処理を行う。サポートされていない機能である場合はドライバUIの更新は行わずに処理を終了する。上記のステップS118〜S121の処理は、ドライバUI組替アプリケーションが予め保持してない未知のフィニッシャに対応するためであると考えると分かりやすい。従って、画像形成装置1821及びそのプリンタドライバが販売された以降に販売されたフィニッシャについては、そのフィニッシャに対する機能を、実施形態のUIに対応させたプロファイルとして作成し、ドライバ機能DB2801に登録すれば良い。従って、ドライバ機能DB2801は、好ましくは、インターネット等のFTPサーバに設けることが望ましいことになる。
また、ステップS114にて、想定外の機能追加がないと判断した場合、処理はステップS115に進み、新しいUIを埋め込むスペースが当該タグに対応するGUI上にあるか否かを判定する。スペースがない場合はステップS116にて、スペース作成処理を行って、それをもとにステップS119にてドライバUIを更新する。スペースがすでにある場合は、特別な処理を行わずにステップ図31-609にてドライバUIを更新する。各処理の詳細については後述する。
以上であるが、想定外の機能追加がなく、新しいUIを埋め込むスペースがある場合のドライバUI更新処理を、図32のフローチャートに従って更に詳しく説明する。
なお、図32中において、フィニッシャプロファイル3401は、プロファイル保存領域44に格納されているものとする。また、ドライバUI構造情報3402、ドライバUI画面情報3403、及び、ドライバUIテンプレート3404は、予めハードディスク4504に格納されているものとする。また、フィニッシャプロファイル3401は図29のような形式であり、ドライバUI構造情報3402は図28のような形式である。
まず、ステップS131において、フィニッシャプロファイル3401の「Driver_UI」直下のタグと、ドライバUI構造情報3402の最上位層をチェックする。そして、対応するタグをドライバUI構造情報から取り出す。
次にステップS132において、フィニッシャプロファイル3401とドライバUI構造情報の下位層をチェックし、同じ項目があるか調べ、ステップS133にて、同じ項目があるか否かを判断する。同じ項目が存在すれば、その下位層を更にチェックするため、ステップS132に戻り、さらに下位層をチェックしていく。こうして、同じ項目がない場合は、そのフィニッシャプロファイルの項目及びその下位層の項目を、ドライバUI構造情報3402に以下の手順で追加する。
あらかじめ設計したドライバUIの画面情報はドライバUI画面情報3403としてDB化されており、そこから情報を取り出すことで現状のUI上の余白がどのくらいあるかを把握することができる。そこでまず、ステップS134にて、ドライバUI画面情報3403から情報を取り出して現状の余白を把握する。一方、フィニッシャプロファイル3401の情報から、組み込む項目に必要な面積を計算する(ステップS135)。その結果をもとに、新しい項目をその余白に組み入れる(ステップS136)。その際、プロファイルに別UIに関する情報の記述があるか否かを確認することで新しくUIを作る必要があるか否かを判別し(ステップS137)、必要がある場合はその下位層の情報とドライバUIテンプレート3404を組み合わせてUIの追加処理を行う(ステップS138)。ここで、ドライバUIテンプレート3404とは、何も機能が入っていない状態でのドライバUI画面のことであり、画面の大きさ等のみ定義されている。必要のない場合は次の処理へと進む。最後にステップS139にてドライバUI画面情報3403及びドライバUI構造情報3402を更新することで処理が終了する。
例として、図27に示す、フィニッシャが接続されていない状態でのドライバUIに、図29のプロファイルを持つフィニッシャが、画像形成装置1821と通信可能状態となり、さらにプリンタドライバにおいて画像形成装置1821からフィニッシャプロファイルを取得した場合について説明する。
ここで、クライアントPC1811(クライアントPC1822も同様)のドライバUI組替アプリケーション2802はプロファイルのタグを始点から順番に探索していく。まず、プロファイル中に「Driver_UI」というタグがあることを確認する。さらに探索し、「仕上げ」というタグを抽出する。この「仕上げ」タグが、ドライバUIを構造化した図28の上位層(「ページ設定」などのUIのタブにあたる記述)に存在するか否かを検索する。その後、同様に下位層についてチェックを行っていく。プロファイル中の「仕上げ」の下位層にある「排紙方法」に対しては図28の「仕上げ」の一段階下の階層をチェックし、「排紙方法」が存在するので次の層をチェックする。そして、存在しないタグが出てきた場合(図29の例だと「ラジオボタン」の下の階層である「ステイプル」が出てきた場合)、図28の中に「ステイプル」及びその下位層の情報が追加される。同様に、「イメージ」、「コマンドボタン」の下位層にも情報が追加される。そしてドライバUI画面情報から現状の余白を計算し、オプションボタン、イメージ、コマンドボタンといった組み込む項目の面積を計算して組み入れを行う。コマンドボタンについては別UIに関する情報があるため、それをもとに「ステイプル位置指定」のUI画面を追加する。最後に更新したドライバUIに合わせてドライバUI画面情報やドライバUI構造情報といったドライバUI情報の更新を行って処理が終了する。
以上の追加処理を行った後のドライバUI構造情報は、図33のような構造になる。また、その結果を受けて表示されるUIは図34に示すようになる。図34に示すように、図27の初期状態のドライバUIには、存在しなかったステイプルの情報が追加されている。また、「ステイプル位置指定」のコマンドボタンは「フィニッシャ」の属性情報がついているため、ソートを選択している場合はグレーアウトしている。また、ステイプルをONにすると、「ステイプル位置指定」ボタンが有効になる。このボタンがクリックされると、図35に示すような新しいUIが表示される。図に示すように、プロファイルの情報をもとに、左上、左下のラジオボタンが追加されている。
次に、新しいUIを埋め込むためのスペース(領域)が、基本UIに無い時に行うスペース作成処理(図31のステップS116)について説明する。
新しくUIを追加するスペースがない場合、そのスペースを追加する必要がある。しかし、ドライバUIは画面の大きさが固定である場合が多いため、安易にスペースを広げることが難しい。また、仮にドライバUIの面積を大きくできたとしても、ユーザが使用しているクライアントPCの画面サイズを越えてしまうと、設定操作に支障を来す。そこで、実施形態では、新しくタブを追加することで、そのスペースを確保するようにした。
具体例を図36に示す。ここでは、図27のフィニッシャが接続されていないドライバUIに、図29のプロファイルを持つフィニッシャが接続された場合を想定している。また、フィニッシャが接続されたことにより、排紙方法にステイプルに関連したUIが追加されるが、先ほどの例とは異なり追加されるボタンの面積が大きいため、現在のUIのスペースに収まらないと仮定している。図36では、追加したステイプルに関する機能がスペースに収まらないため、新しく「仕上げ2」というタブを追加してそのタブに排紙方法全体を移動させている。また、仕上げが2種類になるため、構造化情報も図37のように変化する。「仕上げ」という最上位層の下にタブを表す「仕上げ」、「仕上げ2」が記述されている。次にフィニッシャが追加され、機能が増える場合は最上位層だけではなく、その下の層の「仕上げ」、「仕上げ2」もチェックを行うようにステップS131等を変化させる。スペースの追加処理はこれに限ったものでなく、どのような形式であっても問題はない。
次に、想定されていない機能が追加された場合について説明する。ここでは、図31及び図32を用いて既に説明した処理の動作を説明する。想定されていない機能が追加された場合、ドライバ機能DBに問い合わせを行う。そしてサポートされている機能である場合は新しくタブを追加する。例として、図27のドライバUIに対して図38のようなフィニッシャプロファイルを持つフィニッシャを接続する場合を想定する。この場合、フィニッシャプロファイルの「Driver_UI」の下位層である「製本詳細設定」が、ドライバ構造情報のタブ情報を示す上位層に含まれていないため、ドライバUI組替アプリケーションは、ドライバ機能DB2801に、「製本詳細設定」がDM2801に存在するかを問い合わせる。ドライバ機能DB2801に「製本詳細設定」に関する構造が存在する場合は、その情報を取得して、新たに「製本詳細設定」というタブを追加する。この結果、ドライバUI構造情報は図39に示すものとなり、その表示結果は図40に示すようになる。図39に示すように、ドライバUI構造情報には「製本詳細設定」という項目が追加される。また、図40に示すようにドライバUIにおいて「製本詳細設定」というタブが新たに追加される。
なお、上記実施形態では、印刷物に対する後処理として、ニアラインフィニッシャで行う後処理(例えば、くるみ製本)が指定されている場合は、そのニアラインフィニッシャで行うべき後処理の内容と、ニアラインフィニッシャのIDを記述したジョブ制御情報を、印刷ジョブ中に含めて画像形成装置に送信するものとした。すなわち、画像形成装置は、受信した印刷ジョブ中に、ニアラインフィニッシャでの後処理が存在した場合には、そのニアラインフィニッシャIDで示されるニアラインフィニッシャに、後処理を送信するものとした。これを以下のようにしても構わない。
先ず、クライアントPCは、実施形態で説明した画像形成装置と同様の処理を行って、ニアラインフィニッシャのIPアドレスを取得する。この処理はプリンタドライバの一部のモジュールとして実装しても良いし、独立したプログラムでも構わない。そして、プリンタドライバは、ニアラインフィニッシャに対して後処理内容とジョブID(識別子)を記述した「ジョブチケット」を生成し、そのジョブチケットをニアラインフィニッシャへダイレクトに送信するようにする。この場合に、画像形成装置に対して送信する印刷ジョブには、ニアラインフィニッシャに関する後処理の内容やニアラインフィニッシャのIDのジョブ制御情報を含めなくてよい。
<第2の実施形態>
本第2の実施形態では、複数台のフィニッシャが存在し、それらフィニッシャの機能に重なりがあった場合について説明する。例えば、ステイプル機能を有するフィニッシャが複数台存在するようなケースである。この場合、機能としてはどちらも「ステイプル」が可能であるが、各フィニッシャによって、ステイプル可能な用紙枚数や、ステイプル可能位置など、詳細な機能としては相違があるようなケースを想定している。
図41は機能の重なりがあることを考慮した場合、ドライバUI組替アプリケーション2802の処理手順を示すフローチャートである。
図41においてステップS141乃至S151は、図31のステップS111乃至S121と同じであるため、ここでは説明を省略する。
ステップS160の処理は、ステップS144において想定外の機能追加がないと判定された場合に実行される。このステップS160では、機能の重なりがないかを判定する。ここで機能の重なりとは、複数のフィニッシャが存在し、新しく追加する機能と同じ機能がすでに組み込まれている状態のことを示している。そして機能の重なりがない場合は図31と同様に新しいUIを埋め込むスペースがあるか否かを判定する処理(ステップS145)に進む。
さて、機能の重なりがあると判定した場合、処理はステップS161に進み、機能比較処理を行って、ステップS149のドライバUI更新処理へと進む。例えば、既に「ステイプル」機能が組み込まれた状態で、新たにステイプラ(ステイプルが可能なフィニッシャ)が通信可能に接続された場合には、機能の重なりがあると判定することになる。
ここで、機能比較処理については2通りの例が挙げられる。1つは複数台のフィニッシャのうち性能が高いフィニッシャを選ぶ方法、もう1つは複数台のフィニッシャの機能を比較して、それぞれ並べて表示する方法である。例として、図27のドライバUIを持つ画像形成装置に対して2台のフィニッシャが通信可能な場合を想定する。
性能が高いフィニッシャを選ぶ場合、フィニッシャプロファイルから例えば最大処理枚数などの能力を取り出すことができるので、その情報を取り出して性能の高さについて判別することができる。この場合、どのフィニッシャを用いているかという情報は明記しない。これはオペレータに対して、フィニッシャ装置そのものを意識させることなく設定を行わせるためである。課題として上記したように、専門的なフィニッシャの操作に不慣れなオペレータは、最終成果物としての製本物はイメージできても、それを生成するために必要な装置を理解していない場合が多い。そのため、意図的に機能のみを表示させるようにし、オペレータが混乱するのを防止している。
上記の表示に対して、複数台のフィニッシャを明示し、各フィニッシャの機能を並べて表示する場合は、フィニッシャの名称を明記して機能の一覧を表示する。図42にその一例を示す。図42では左上と左下にステイプルが可能なフィニッシャAと、左上と左下と中央にステイプル可能なフィニッシャBとを接続した場合の例を示している。それぞれフィニッシャ名とそれに伴う機能の一覧が表示される。ユーザはフィニッシャの機能を比較して、最適な選択をすることが可能となる。
上記に限らず、機能の重なりがあった場合の機能の比較やそれに応じた処理方法はどのようなものであっても問題はない。
以上説明したように本実施形態によれば、クライアントPC上で実行されるプリンタドライバのUI構造情報をXML形式等の汎用の記述言語で構造化記述しておく。そして、フィニッシャの機能を示すプロファイルも同様の形態で記述することで、互いに、整合することができるようにしておく。この結果、ユーザが利用する環境でのフィニッシャのプロファイルを何らかの手段で取得することで、プリンタドライバのGUIをその環境に併せて構築することが可能になる。
なお、実施形態におけるクライアントPC上で実行することになるプリンタドライバは、コンピュータプログラムの1つであるので、本発明はコンピュータプログラムをその範疇とする。また、通常、コンピュータプログラムはCD−ROM等のコンピュータ可読記憶媒体に格納されていて、コンピュータが有する記憶媒体をアクセスする装置(CD−ROMドライブ等)を介してシステムにインストールもしくはコピーすることで実行可能になるから、当然、そのようなコンピュータ可読記憶媒体も本発明の範疇にあるのは明らかである。