以下に、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらの説明は繰り返さない。
<システム構成>
図1は、本実施形態に基づく印刷システムの構成について説明する図である。
図1を参照して、本実施の形態にかかる印刷システムは、プリンターの一例としてのMFP(Multi-Functional Peripheral)100と、クライアント装置の一例としての端末機器300とを含み、それらが無線または有線で通信可能に接続されている。端末機器300は、たとえば、PC(パーソナルコンピューター)やタブレット装置や携帯端末やデジタルカメラなどが該当する。
そして、本例においては、端末機器300に格納されているファイルFAに対する印刷処理について説明する。なお、ファイルFAについては、MFP100におけるダイレクトプリント(直接印刷処理)がサポートされているものとする。
図2は、本実施形態に基づく各装置の具体例を示す図である。
図2を参照して、MFP100は、装置全体を制御するためのCPU(Central Processing Unit)10と、CPU10で実行されるプログラムなどを記憶するためのメモリーであるROM(Read Only Memory)11と、電話帳データを記憶したりCPU10がプログラムを実行する際の作業領域となったりするメモリーであるRAM12と、画像データなどを記憶するためのメモリーであるHDD(Hard Disk Drive)13と、プリンター14と、スキャナー15と、操作パネル16と、端末機器300との通信を制御するための通信コントローラー17とを含む。
端末機器300は、装置全体を制御するためのCPU30と、CPU30で実行されるプログラムなどを記憶するためのメモリーであるROM31とを含む。さらに、端末機器300は、各種データを記憶したりCPU30がプログラムを実行する際の作業領域となったりするメモリーであるRAM32と、ディスプレイ33と、ボタンなどの入力装置34と、MFP100との通信を制御するための通信コントローラー35とを含む。
<プレビュー表示の相違について>
図3は、端末機器300が有するビューアーアプリと、MFP100との関係を説明する図である。
図3を参照して、本例においては、一例として3台の種別が異なる端末機器がそれぞれ示されている。具体的には、携帯端末の端末機器として端末機器300A,300Bと、固定端末のパーソナルコンピュータとして端末機器300Cと、MFP100とが通信可能に設けられている場合が示されている。
そして、端末機器300A,300B,300Cには、それぞれビューアーアプリAPA,APB,APCがインストールされている場合が示されている。
図4は、ファイルの種別に従ってプレビュー表示(印刷プレビュー)および印刷物が異なる場合を説明する図である。
図4に示されるように、例えばファイルFAは、表データを有しており、注釈やコメントが付加されている。また、ファイルFBは、円グラフのデータを有している。また、ファイルFCは、棒グラフのデータを有している。当該ファイルに関しては、ビューアーアプリの種別が異なることにより同一のファイルであってもプレビュー表示がそれぞれ異なる場合が示されている。また、MFP100における印刷物とも異なる場合が示されている。
なお、ビューアーアプリAPCによるプレビュー表示は、印刷物と同じ結果になるが、パーソナルコンピュータ用のアプリケーションであるため端末機器300A,300Bにおいて動作させることは難しい。なお、本例においてはパーソナルコンピュータである端末機器300Cにおいては印刷物と同じプレビュー表示が表示される場合について説明したが、必ずMFP100の印刷物を同じになるわけではなく、OSの違いや、アプリケーションの違いに基づきプレビュー表示が異なる可能性もある。
したがって、印刷物と一致したプレビュー表示を一例として携帯端末等の端末機器において実行するためには、印刷処理を実行するMFP100にデータを送信し、プレビュー表示するためのデータをMFP100側で作成させて(MFP作成印刷プレビュー参照)、印刷物に対応する、端末機器300A,300B等にプレビュー表示するためのデータを端末機器に送信する必要がある。
しかしながら、上記したようにMFP側で作成したプレビュー表示するためのデータを常に端末機器に送信すると、端末機器300およびMFP100間で多くの通信が発生し、ネットワークの負担になる。
したがって、本例においては、端末機器300において、ファイルに対する端末機器300のビューアーアプリに基づくプレビュー表示と、MFP100での印刷物とが異なるか否かを判断する。そして、判断結果に基づいて、端末機器300のビューアーアプリに基づくプレビュー表示を実行する。具体的には、ファイルに対する端末機器300のビューアーアプリに基づくプレビュー表示と、MFP100での印刷物とが異なる場合には、印刷処理を実行するMFP100にデータを送信し、プレビュー表示するためのデータをMFP100側で作成させて、印刷物に対応した端末機器300にプレビュー表示するためのデータを端末機器300に送信する。そして、端末機器300においてプレビュー表示する。
一方で、ファイルに対する端末機器300のビューアーアプリに基づくプレビュー表示と、MFP100での印刷物とが異ならない場合には、MFP100にデータを送信することなく、端末機器300においてファイルに対する端末機器300のビューアアプリに基づくプレビュー表示を実行する。
当該処理により、印刷物と一致したプレビュー表示を実行することが可能となる。
これにより、ビューアーアプリに基づくプレビュー表示と印刷物とが一致する場合には、ビューアアプリに基づくプレビュー表示が実行されるため、プレビュー表示するためのデータをMFP100側で作成して、作成したデータを端末機器300に送信する必要が無くダイレクトプリントの際のプレビュー表示におけるネットワークの通信負荷を軽減することが可能である。
(実施形態1)
<機能構成>
図5は、本実施形態1に基づく端末機器300の機能構成について説明する図である。
図5に示されるように端末機器300は、CPU30と、RAM32と、通信コントローラー35と、ディスプレイ33とを含む。CPU30は、判断部302と、印刷ジョブ生成部303と、表示制御部304とを含む。CPU30および通信コントローラー35の各機能は、ROM31に格納されているプログラムに基づいて実現される。そして、CPU30の表示制御部304は、ROM31に格納されているプレビュー表示用のアプリ(ビューアーアプリ)に基づいてディスプレイ33におけるプレビュー表示を実行する。
RAM32は、ファイルFAに対するCPU30の作業領域として用いられるとともに、判断部302の判断に必要な各種情報を記憶している。
通信コントローラー35は、送信部350と、受信部351とを含む。送信部350は、CPU30からのデータを受けてMFP100にデータを送信する。受信部351は、MFP100からのデータを受信してCPU30に当該データを出力する。
判断部302は、ファイルFAに対するプレビュー表示の実行の際に、RAM32に格納されているファイルFAのファイル情報、端末機器およびMFPの特性情報の少なくとも1つに基づいて、ファイルに対するプレビュー表示用のアプリケーションに基づくプレビュー表示と、MFP100での印刷物とが異なるか否かを判断する。
判断部302は、一例としてファイルに対するプレビュー表示用のアプリケーションに基づくプレビュー表示と、MFP100での印刷物とが異なると判断した場合には、端末機器300でプレビュー表示を実行するためにプレビュー表示のためのデータ(印刷プレビューデータ)をMFP100で作成するように指示して、当該印刷プレビューデータを端末機器300に送信するような指示を含んだ印刷ジョブ(端末プレビュー表示)を生成して送信部350に出力する。
また、判断部302は、一例としてファイルに対するプレビュー表示用のアプリケーションに基づくプレビュー表示と、MFP100での印刷物とが異ならない、すなわち同じであると判断した場合には、端末機器300でプレビュー表示を実行するためにプレビュー表示が可能である旨を表示制御部304に通知する。また、それとともに、通常の印刷ジョブを生成して送信部350に出力する。
送信部350は、一例として判断部302からの端末機器300でプレビュー表示を実行するためにプレビュー表示のための印刷プレビューデータをMFP100で作成するように指示して、当該印刷プレビューデータを端末機器に送信するような指示を含んだ印刷ジョブ(端末プレビュー表示)あるいは通常の印刷ジョブをMFP100に送信する。
受信部351は、一例としてMFP100から印刷プレビューデータを受信した場合には、表示制御部304に当該印刷プレビューデータを出力する。
表示制御部304は、受信部351で受信した印刷プレビューデータをそのまま利用してビューアーアプリに従いディスプレイ33に表示する。
一方、判断部302は、ファイルに対するプレビュー表示用のアプリケーション(ビューアアプリ)に基づくプレビュー表示と、MFP100での印刷物とが異ならないと判断した場合には、表示制御部304にプレビュー表示するように指示する。
表示制御部304は、判断部302からの指示に従って、ファイルに対するビューアーアプリに基づくプレビュー表示データを生成してディスプレイ33に表示する。
<印刷設定画面>
図6は、本実施形態1に基づく印刷システムにおいてダイレクトプリントを実行する際の印刷設定画面を説明する図である。
図6を参照して、端末機器300においてダイレクトプリントを実行する際の印刷設定画面400が示されている。当該印刷設定画面400は、ROM31に格納されているダイレクトプリントを実行するプログラムを実行することにより表示される。
当該印刷設定画面400において、プリンター名を選択する選択領域401が設けられており、当該選択領域401において、予め複数のプリンターが登録されている場合には当該プリンターの中から印刷装置として用いるプリンターを選択することが可能である。本例においては、プリンター名として「KMT00X」が選択されている場合が示されている。なお、予め登録されていない場合であっても、通信可能に設けられているプリンターを検索して当該検索したプリンターの中から選択可能にするようにしても良い。
また、当該印刷設定画面400において、「プレビュー表示」のスライドボタン402が設けられており、当該スライドボタンを左右にスライドさせることによりプレビュー表示の実行(オン)、非実行(オフ)を指示することが可能に設けられている。
本例においては、当該スライドボタン402を操作してプレビュー表示の実行(ON)を指示してダイレクトプリントを実行する場合について説明する。
<動作概要>
図7は、本実施形態1に基づく端末機器300における印刷ジョブを送信する処理を説明するフロー図である。
図7を参照して、本印刷システムでは、クライアントである端末機器300からMFP100に対して、プリンタードライバーを介さずに印刷対象のファイルを直接送信して印刷させる、いわゆるダイレクトプリントと呼ばれる印刷が可能である。
そして、本例においては、端末機器300からMFP100に対するファイルのダイレクトプリントにおいてプレビュー表示の実行が指示されている場合について説明する。
まず、端末機器300は、MFP100のプレビュー表示に関する表示判断処理を実行する(ステップST1)。当該表示判断処理は、判断部302により実行されるものである。判断部302は、ファイルに対する端末機器300のビューアーアプリに基づくプレビュー表示と、MFP100での印刷物とが異なるか否かを判断する。ファイルに対する端末機器300のビューアーアプリに基づくプレビュー表示と、MFP100での印刷物とが異なる場合には、端末機器300でプレビュー表示を実行するためにプレビュー表示のためのデータ(印刷プレビューデータ)をMFP100で作成するように指示して、当該印刷プレビューデータを端末機器300に送信するような指示を含んだ印刷ジョブ(端末プレビュー表示)の生成が必要となる。一方、ファイルに対する端末機器300のビューアーアプリに基づくプレビュー表示と、MFP100での印刷物とが異ならない場合には、当該印刷の生成は不要であり、通常の印刷ジョブを生成する。表示判断処理の詳細については後述する。
そして、端末機器300は、表示判断処理の判断結果として、ファイルに対する端末機器300のビューアーアプリに基づくプレビュー表示と、MFP100での印刷物とが異なるか否かを判断する(ステップST2)。
ステップST2において、端末機器300は、表示判断処理の判断結果として、ファイルに対する端末機器300のビューアーアプリに基づくプレビュー表示と、MFP100での印刷物とが異なると判断した場合(ステップST2においてYES)には、端末機器300でプレビュー表示を実行するためにプレビュー表示のためのデータ(印刷プレビューデータ)をMFP100で作成するように指示して、当該印刷プレビューデータを端末機器300に送信するような指示を含んだ印刷ジョブ(端末プレビュー表示)を生成する(ステップST6)。具体的には、判断部302は、印刷ジョブ(端末プレビュー表示)を生成する。該ジョブには、印刷対象となるファイルデータとともに、印刷プレビューデータを生成するとともに、端末機器300に当該生成したデータを送信するように指示する命令(コマンド)が含まれている。当該印刷ジョブを端末プレビュー印刷ジョブとも称する。
一方、端末機器300は、表示判断処理の判断結果として、ファイルに対する端末機器300のビューアーアプリに基づくプレビュー表示と、MFP100での印刷物とが異ならないと判断した場合(ステップST2においてNO)には、通常の印刷ジョブを生成する(ステップST3)。具体的には、判断部302は、通常の印刷ジョブを生成する。
そして、次に端末機器300は、プレビュー表示が可能であると判定する(ステップST4)。具体的には、判断部302は、表示制御部304に対してプレビュー表示が可能である旨を通知する。
次に、端末機器300は、判断部302において生成した印刷ジョブを送信する(ステップST5)。具体的には、送信部350は、作成した端末プレビュー印刷ジョブあるいは通常の印刷ジョブをMFP100に送信する。
そして、処理を終了する(エンド)。
図8は、本実施形態1に基づくMFP100における印刷ジョブを受信する処理を説明するフロー図である。
図8を参照して、MFP100は、印刷ジョブを受信したかどうかを判断する(ステップST7)。具体的には、MFP100における通信コントローラー17は、受信した印刷ジョブ(端末プレビュー印刷ジョブあるいは通常の印刷ジョブ)をCPU10に出力する。ステップST7において、MFP100は、印刷ジョブを受信していないと判断した場合(ステップST7においてNO)には、ステップST7の状態を維持する。一方、ステップST7において、MFP100において、印刷ジョブを受信したと判断した場合(ステップST7においてYES)には、ステップST8に進む。
次に、MFP100は、端末プレビュー印刷ジョブであるか否かを判断する(ステップST8)。具体的には、CPU10は、端末機器300でプレビュー表示を実行するためにプレビュー表示のためのデータ(印刷プレビューデータ)をMFP100で作成するように指示して、当該印刷プレビューデータを端末機器300に送信するような指示を含んだ印刷ジョブ(端末プレビュー表示)、すなわち端末プレビュー印刷ジョブか通常の印刷ジョブであるかどうかを判断する。
ステップST8において、MFP100は、端末プレビュー印刷ジョブで無いと判断した場合(ステップST8においてNO)には、通常の印刷ジョブであるため印刷処理を実行する(ステップST11)。
そして、処理を終了する(エンド)。
一方、ステップST8において、MFP100は、端末プレビュー印刷ジョブであると判断した場合(ステップST8においてYES)には、印刷プレビューデータを作成する(ステップST9)。具体的には、CPU10は、端末プレビュー印刷ジョブに含まれるファイルデータおよびコマンドに従ってROM11等に格納されているプログラムに基づいて印刷プレビューデータを作成する。
次に、ステップS10において、MFP100は、印刷プレビューデータを送信する(ステップST10)。具体的には、CPU10は、作成した印刷プレビューデータを通信コントローラー17を介して端末機器300に送信する。
そして、処理を終了する(エンド)。
図9は、本実施形態1に基づく端末機器300におけるプレビュー表示処理を説明するフロー図である。当該処理は、主に端末機器300における表示制御部304における処理である。
図9を参照して、表示制御部304は、プレビュー表示が可能である旨の通知を受けたかどうかを判断する(ステップST12)。具体的には、判断部302における表示判断処理の判断結果として、ファイルに対する端末機器300のビューアーアプリに基づくプレビュー表示と、MFP100での印刷物とが異ならないと判断された場合に、判断部302は、表示制御部304にプレビュー表示が可能である旨を通知する。表示制御部304は、当該通知を受けたか否かを判断する。
そして、ステップST12において、表示制御部304は、プレビュー表示が可能である旨の通知を受けたと判断した場合(ステップST12においてYES)には、アプリケーションに基づくプレビュー表示を実行する(ステップST13)。具体的には、表示制御部304は、ファイルに対するビューアアプリに基づくプレビュー表示を実行する。
そして、処理を終了する(エンド)。
一方、ステップST12において、表示制御部304は、プレビュー表示が可能である旨の通知を受けていないと判断した場合(ステップST12においてNO)には、印刷プレビューデータを受信したかどうかを判断する(ステップST14)。具体的には、端末機器300の受信部351を介して印刷プレビューデータを受信したかどうかを判断する。
ステップST14において、表示制御部304は、印刷プレビューデータを受信しないと判断した場合(ステップST14においてNO)には、ステップST12に戻る。
一方、ステップST14において、表示制御部304は、印刷プレビューデータを受信したと判断した場合(ステップST14においてYES)には、印刷プレビューを表示する(ステップST15)。具体的には、表示制御部304は、ディスプレイ33に印刷プレビューデータに基づく印刷プレビューを表示する。
そして、処理を終了する(エンド)。
<表示判断処理>
図10は、本実施形態1に基づく表示判断処理の詳細について説明するフロー図である。
図10を参照して、当該表示判断処理は、CPU30の判断部302における処理である。
判断部302は、ファイル形式を確認する(ステップS1)。具体的には、判断部302は、ファイルのファイル情報のうちのファイル形式を確認する。
次に、判断部302は、ファイル形式が「JPEG」、「TIFF」、「XPS」のいずれかであるかを判断する(ステップS2)。具体的には、判断部302は、ファイルの拡張子に基づいて「JPEG」、「TIFF」、「XPS」のいずれかであるかを判断する。
ステップS2において、判断部302は、ファイル形式が「JPEG」、「TIFF」、「XPS」のいずれかであると判断した場合(ステップS2においてYES)には、ファイルに対するプレビュー表示用のアプリケーションに基づくプレビュー表示と、MFP100での印刷物とが異ならない、すなわち同じと判断する(ステップS8)。したがって、この場合には通常の印刷ジョブが生成される。そして、処理を終了する(リターン)。
一方、ステップS2において、判断部302は、ファイル形式が「JPEG」、「TIFF」、「XPS」のいずれかであると判断した場合(ステップS2においてNO)には、次に、ファイルのファイル情報のうちの属性情報を確認する(ステップS3)。ここで、属性情報とは、ファイルの取得元に関する情報が含まれており、例えば、一例として読取手段の一種であるスキャナーからファイルを取得した場合には当該情報が含まれるものとする。
そして、判断部302は、ファイルの取得に関する属性情報が特定の入力手段か否かを判断する(ステップS4)。ここで、特定の入力手段とは、対象データをビットマップデータ等で取得し、保存することが可能な入力手段を意味し、一例としてスキャナーあるいはカメラを挙げることが可能である。なお、本例においては、ファイルの属性情報がスキャナである場合を例に挙げて説明する。
判断部302は、ファイルの属性情報が特定の入力手段であると判断した場合(ステップS4においてYES)には、ファイルに対するプレビュー表示用のアプリケーションに基づくプレビュー表示と、MFP100での印刷物とが異ならない、すなわち同じと判断する(ステップS8)。そして、処理を終了する(リターン)。ファイルの属性情報が特定の入力手段である場合には、当該ファイルデータは、特定の入力手段の一例であるスキャナーにより取得された画像データであると判断されるため印刷物とビューアアプリに基づくプレビュー表示とが異なる可能性は低い。したがって、同じと判断されるものとされ、この場合には、通常の印刷ジョブが生成される。そして、処理を終了する(リターン)。
一方、判断部302は、ファイルの属性情報が特定の入力手段で無いと判断した場合(ステップS4においてNO)には、次に、ファイルの様式等に関するレイアウト情報を確認する(ステップS5)。
次に、判断部302は、ファイルの書式等に関するレイアウト情報として特定書式があるかどうかを判断する(ステップS6)。
図11は、本実施形態1に基づく特定書式か否かを判別するテーブルを説明する図である。
図11を参照して、本例においては、特定書式リストとして、「グラフ」、「文字装飾」、「コメント」等が示されている。
すなわち、特定書式リストとして挙げられている特定書式がファイルに含まれていればレイアウト情報として特定書式があると判断される。当該テーブルは、RAM32に格納されているものとする。
なお、本例においては一例として特定書式か否かを判別するために用いられる特定書式リストとして書式名が登録されている場合について説明したが、当該構成に限られず特定書式リストとしてページ記述言語等のコマンドを登録するようにしてもよい。
再び図10を参照して、ステップS6において、判断部302は、ファイルの書式等に関するレイアウト情報に関して特定書式が無いと判断した場合(ステップS6においてNO)には、ファイルに対するプレビュー表示用のアプリケーションに基づくプレビュー表示と、MFP100での印刷物とが異ならない、すなわち同じと判断する(ステップS8)。そして、処理を終了する(リターン)。
一方、ステップS6において、判断部302は、ファイルの書式等に関するレイアウト情報に関して特定書式があると判断した場合(ステップS6においてYES)には、ファイルに対するプレビュー表示用のアプリケーションに基づくプレビュー表示と、MFP100での印刷物とが異なると判断する(ステップS7)。そして、処理を終了する(リターン)。
ファイルの書式等に関するレイアウト情報に特定書式が含まれている場合には、ビューアーアプリに基づくプレビュー表示と、印刷物とが異なる可能性が高い。したがって、端末プレビュー印刷ジョブが生成される。当該端末プレビュー印刷ジョブがMFP100に送信されることにより、MFP100で印刷プレビューデータを生成して、当該印刷プレビューデータに基づいて端末機器300においてビューアプリに従う印刷プレビューを表示することにより、印刷物と一致したプレビュー表示を実行することが可能である。
図12は、本実施形態1に基づく表示判断処理の具体例を説明する図である。
図12を参照して、ここでは、ファイルとして、一例として5種類のアプリケーションが異なるファイルが示されている。「JPEG」、「TIFF」、「XPS」、「PDF」、「Office」が挙げられる。
まず、最初(第一段階)にファイル形式が判断される。
ファイル形式が「JPEG」、「TIFF」、「XPS」であれば、第一段階の判断として、プレビュージョブは不要であると判断される。
そして、ファイル形式が「PDF」、「Office」である場合に、次(第ニ段階)に、ファイルの取得に関する属性情報が判断される。
属性情報としてスキャナから当該ファイルを取得した場合には、端末プレビュー印刷ジョブは不要であると判断される。
一方、ファイル形式が「PDF」、「Office」であり、属性情報としてスキャナ以外から、すなわちアプリに基づいてファイルが取得(生成)されたものである場合には、その次(第三段階)にレイアウト情報が判断される。
レイアウト情報として図9で説明した特定書式リストに含まれる書式をファイルが有しているか否かが判断される。
そして、レイアウト情報として図9で説明した特定書式リストに含まれる書式をファイルが有していないと判断した場合には、特定書式なしとして端末プレビュー印刷ジョブは不要であると判断される。
一方で、レイアウト情報として図9で説明した特定書式リストに含まれる書式をファイルが有していると判断した場合には、特定書式ありとして端末プレビュー印刷ジョブは必要であると判断される。
当該方式により、ファイルに対する端末機器300のビューアーアプリに基づくプレビュー表示と、MFP100での印刷物とが異なる、すなわち異なる可能性があると判断した場合には、端末プレビュー印刷ジョブを生成してMFP100に送信し、異ならないと判断した場合には、端末プレビュー印刷ジョブを生成することなく、ビューアーアプリに基づくプレビュー表示を実行する。
すなわち、印刷物と一致したプレビュー表示を実行する場合に、ビューアーアプリに基づくプレビュー表示と印刷物とが一致する場合には、ビューアアプリに基づくプレビュー表示が実行されるため、端末プレビュー印刷ジョブをMFP100に送信する必要が無くダイレクトプリントの際のプレビュー表示におけるネットワークの通信負荷を軽減することが可能である。
また、上記表示判断処理において、ファイルに対する端末機器300のビューアーアプリに基づくプレビュー表示と、MFP100での印刷物とが異なる、すなわち異なる可能性があるか否かの判断に関して、ファイル形式あるいはファイルに付加されている属性情報等を利用することで判断することが可能であるため処理を簡易かつ高速に実行することが可能である。
(変形例1)
上記の実施形態1においては、端末機器300において表示判断処理を実行する方式について説明したが、本例においては端末機器300およびMFP100において表示判断処理を実行する場合について説明する。
<動作概要>
図13は、本実施形態1の変形例1に基づく端末機器300における印刷ジョブを送信する処理を説明するフロー図である。
図13を参照して、本処理では、ステップST1をステップST1Aに置換した点が異なる。その他の構成については、図7で説明したのと同様であるのでその詳細な説明については繰り返さない。
端末機器300は、MFP100のプレビュー表示に関する表示判断処理Aを実行する(ステップST1A)。当該表示判断処理Aは、判断部302により実行されるものである。判断部302は、ファイルに対する端末機器300のビューアーアプリに基づくプレビュー表示と、MFP100での印刷物とが異なる可能性かあるか否かを判断する。
ファイルに対する端末機器300のビューアーアプリに基づくプレビュー表示と、MFP100での印刷物とが異なる可能性があると判断した場合には、プレビュー表示に関する判断処理を指示する端末プレビュー印刷ジョブの生成が必要と判断する。
当該プレビュー表示に関する判断処理を指示する端末プレビュー印刷ジョブとは、ファイルに対する端末機器300のビューアーアプリに基づくプレビュー表示と、MFP100での印刷物とが異なるか否かの判断処理の一部をMFP100で実行するように指示する印刷ジョブである。つまり、MFP100において、ファイルに対する端末機器300のビューアーアプリに基づくプレビュー表示と、MFP100での印刷物とが異なると判断した場合には、端末機器300でプレビュー表示を実行するためにプレビュー表示のためのデータ(印刷プレビューデータ)をMFP100で作成して、当該印刷プレビューデータを端末機器300に送信するような指示を含んだ印刷ジョブ(プレビュー判断)を意味する。
一方、ファイルに対する端末機器300のビューアーアプリに基づくプレビュー表示と、MFP100での印刷物とが異なる可能性が無いと判断した場合には、プレビュー表示に関する判断処理を指示する端末プレビュー印刷ジョブの生成は不要と判断する。表示判断処理Aの詳細については後述する。
そして、端末機器300は、表示判断処理Aの判断結果として、ファイルに対する端末機器300のビューアーアプリに基づくプレビュー表示と、MFP100での印刷物とが異なる可能性があるか否かを判断する(ステップST2A)。
ステップST2において、端末機器300は、表示判断処理の判断結果として、ファイルに対する端末機器300のビューアーアプリに基づくプレビュー表示と、MFP100での印刷物とが異なる可能性があると判断した場合(ステップST2AにおいてYES)には、端末機器300でプレビュー表示を実行するためにプレビュー表示のためのデータ(印刷プレビューデータ)をMFP100で作成するように指示して、当該印刷プレビューデータを端末機器300に送信するような指示を含んだ印刷ジョブ(プレビュー判断)を生成する(ステップST6)。具体的には、判断部302は、プレビュー表示に関する判断処理を指示する端末プレビュー印刷ジョブを生成する。該ジョブには、印刷対象となるファイルデータとともに、プレビュー表示に関する判断処理を指示し、判断処理結果に基づいて印刷プレビューデータを生成するとともに、端末機器300に当該生成したデータを送信するように指示する命令(コマンド)が含まれている。
一方、端末機器300は、表示判断処理Aの判断結果として、ファイルに対する端末機器300のビューアーアプリに基づくプレビュー表示と、MFP100での印刷物とが異ならないと判断した場合(ステップST2AにおいてNO)には、通常の印刷ジョブを生成する(ステップST3)。具体的には、判断部302は、通常の印刷ジョブを生成する。
以降の処理については同様であるのでその詳細な説明については繰り返さない。
図14は、本実施形態1の変形例1に基づくMFP100における印刷ジョブを受信する処理を説明するフロー図である。
図14を参照して、MFP100は、印刷ジョブを受信したかどうかを判断する(ステップST7)。具体的には、MFP100における通信コントローラー17は、受信した印刷ジョブ(端末プレビュー印刷ジョブあるいは通常の印刷ジョブ)をCPU10に出力する。ステップST7において、MFP100は、印刷ジョブを受信していないと判断した場合(ステップST7においてNO)には、ステップST7の状態を維持する。一方、ステップST7において、MFP100において、印刷ジョブを受信したと判断した場合(ステップST7においてYES)には、ステップST8に進む。
次に、MFP100は、端末プレビュー印刷ジョブであるか否かを判断する(ステップST8)。具体的には、CPU10は、ファイルに対する端末機器300のビューアーアプリに基づくプレビュー表示と、MFP100での印刷物とが異なるか否かの判断処理の一部を実行する指示とともに、MFP100で実行す端末機器300でプレビュー表示を実行するためにプレビュー表示のためのデータ(印刷プレビューデータ)をMFP100で作成するように指示して、当該印刷プレビューデータを端末機器300に送信するような指示を含んだ印刷ジョブ(プレビュー判断)、すなわちプレビュー表示に関する判断処理を指示する端末プレビュー印刷ジョブか通常の印刷ジョブであるかどうかを判断する。
ステップST8Aにおいて、MFP100は、端末プレビュー印刷ジョブであると判断した場合(ステップST8AにおいてYES)には、MFP100のプレビュー表示に関する表示判断処理Bを実行する(ステップST16)。当該表示判断処理Bは、CPU10により実行されるものである。CPU10は、ファイルに対する端末機器300のビューアーアプリに基づくプレビュー表示と、MFP100での印刷物とが異なるか否かを判断する。当該表示判断処理Bの詳細については後述する。
そして、次に、MFP100は、上記の表示判断処理Bにより端末機器300のビューアーアプリに基づくプレビュー表示と、MFP100での印刷物とが異なるか否かを判断する(ステップST17)。CPU10は、表示判断処理Bの判断結果がいずれであるかを判断する。
MFP100は、表示判断処理Bにより端末機器300のビューアーアプリに基づくプレビュー表示と、MFP100での印刷物とが異なると判断した場合(ステップST17においてYES)には、印刷プレビューデータを作成する(ステップST18)。具体的には、CPU10は、端末プレビュー印刷ジョブに含まれるファイルデータおよびコマンドに従ってROM11等に格納されているプログラムに基づいて印刷プレビューデータを作成する。
そして、MFP100において、印刷プレビューデータを送信する(ステップST19)。具体的には、CPU10は、作成した印刷プレビューデータを通信コントローラー17を介して端末機器300に送信する。
そして、処理を終了する(エンド)。
一方、MFP100は、表示判断処理Bにより端末機器300のビューアーアプリに基づくプレビュー表示と、MFP100での印刷物とが異ならないと判断した場合(ステップST17においてNO)には、プレビュー表示可データを送信する(ステップST20)。具体的には、CPU10は、表示判断処理Bの判断処理結果に従ってプレビュー表示可データを通信コントローラー17を介して端末機器300に送信する。
そして、処理を終了する(エンド)。
一方、ステップST8Aにおいて、MFP100は、端末プレビュー印刷ジョブで無いと判断した場合(ステップST8AにおいてNO)には、通常の印刷ジョブであるため印刷処理を実行する(ステップST11)。
そして、処理を終了する(エンド)。
図15は、本実施形態1の変形例1に基づく端末機器300におけるプレビュー表示処理を説明するフロー図である。当該処理は、主に端末機器300における表示制御部304における処理である。
図15を参照して、表示制御部304は、プレビュー表示が可能である旨の通知を受けたかどうかを判断する(ステップST12)。具体的には、判断部302における表示判断処理の判断結果として、ファイルに対する端末機器300のビューアーアプリに基づくプレビュー表示と、MFP100での印刷物とが異ならないと判断された場合に、判断部302は、表示制御部304にプレビュー表示が可能である旨を通知する。表示制御部304は、当該通知を受けたか否かを判断する。
そして、ステップST12において、表示制御部304は、プレビュー表示が可能である旨の通知を受けたと判断した場合(ステップST12においてYES)には、アプリケーションに基づくプレビュー表示を実行する(ステップST13)。具体的には、表示制御部304は、ファイルに対するビューアアプリに基づくプレビュー表示を実行する。
そして、処理を終了する(エンド)。
一方、ステップST12において、表示制御部304は、プレビュー表示が可能である旨の通知を受けていないと判断した場合(ステップST12においてNO)には、プレビュー表示可データを受信したかどうかを判断する(ステップST12A)。具体的には、MFP100における表示判断処理Bの判断結果として、ファイルに対する端末機器300のビューアーアプリに基づくプレビュー表示と、MFP100での印刷物とが異ならないと判断された場合に、MFP100は、プレビュー表示可データを送信する。表示制御部304は、当該プレビュー表示可データを受信部351を介して受信したか否かを判断する。
そして、ステップST12Aにおいて、表示制御部304は、プレビュー表示可データを受信したと判断した場合(ステップST12AにおいてYES)には、アプリケーションに基づくプレビュー表示を実行する(ステップST13)。具体的には、表示制御部304は、ファイルに対するビューアアプリに基づくプレビュー表示を実行する。
そして、処理を終了する(エンド)。
一方、ステップST12Aにおいて、表示制御部304は、プレビュー表示可データを受信していないと判断した場合(ステップST12AにおいてNO)には、印刷プレビューデータを受信したかどうかを判断する(ステップST14)。具体的には、端末機器300の受信部351を介して印刷プレビューデータを受信したかどうかを判断する。
ステップST14において、表示制御部304は、印刷プレビューデータを受信しないと判断した場合(ステップST14においてNO)には、ステップST12に戻る。
一方、ステップST14において、表示制御部304は、印刷プレビューデータを受信したと判断した場合(ステップST14においてYES)には、印刷プレビューを表示する(ステップST15)。具体的には、表示制御部304は、ディスプレイ33に印刷プレビューデータに基づく印刷プレビューを表示する。
そして、処理を終了する(エンド)。
図16は、本実施形態1の変形例1に基づく表示判断処理Aの詳細について説明するフロー図である。
図16を参照して、図10のフロー図と比較して、ステップS5,S6の処理が無い点と、ステップS9をステップS9Aに置換した点とが異なる。その他の点については同様である。
すなわち、当該表示判断処理Aにおいては、レイアウト情報として特定書式があるかどうかの判断についてはされない。
ステップS4において、端末機器300は、ファイルの属性情報が特定の入力手段で無いと判断した場合(ステップS4においてNO)には、ビューアーアプリに基づくプレビュー表示と、印刷物とが異なる可能性が高いと判断される(ステップS9A)。そして、処理を終了する(リターン)。
そして、上述したようにビューアーアプリに基づくプレビュー表示と、印刷物とが異なる可能性が高いと判断された場合には、上記したようにプレビュー表示に関する判断処理を指示する端末プレビュー印刷ジョブが生成されて、MFP100に送信される。
そして、MFP100において残りの表示判断処理Bが実行される。
図17は、本実施形態1の変形例1に基づく表示判断処理Bの詳細について説明するフロー図である。当該処理は、MFP100のCPU10がROM11等に格納されているプログラムに基づいて実行するものである。
図17を参照して、MFP100は、ファイルの様式等に関するレイアウト情報を確認する(ステップS10)。具体的には、CPU10は、受信した端末プレビュー印刷ジョブに含まれるファイルデータに基づいてファイルの様式等に関するレイアウト情報を確認する。
そして、次に、MFP100は、ファイルの書式等に関するレイアウト情報として特定書式があるかどうかを判断する(ステップS11)。具体的には、上記した図11のテーブルを利用して特定書式がファイルに含まれているか否かを判断する。
そして、MFP100は、ファイルの書式等に関するレイアウト情報に関して特定書式が無いと判断した場合(ステップS11においてNO)には、ファイルに対するビューアーアプリに基づくプレビュー表示と、印刷物とが異ならない、すなわち同じと判断する(ステップS13)。そして、処理を終了する(リターン)。
一方、ステップS11において、MFP100は、ファイルの書式等に関するレイアウト情報に関して特定書式があると判断した場合(ステップS11においてYES)には、ファイルに対するビューアーアプリに基づくプレビュー表示と、印刷物とが異なると判断する(ステップS12)。そして、処理を終了する(リターン)。
ファイルの書式等に関するレイアウト情報に特定書式が含まれている場合には、ファイルに対するビューアーアプリに基づくプレビュー表示と、印刷物とが異なる可能性が高いからである。
そして、ファイルに対するビューアーアプリに基づくプレビュー表示と、印刷物とが異ならないと判断された場合には、プレビュー表示可データを端末機器300に送信して端末機器300においてビューアアプリに基づくプレビュー表示が実行される。一方、ファイルに対するビューアーアプリに基づくプレビュー表示と、印刷物とが異なると判断された場合には、MFP100で印刷プレビューデータを生成して、端末機器300に送信する。そして、端末機器300において当該印刷プレビューデータに基づいて印刷プレビューを表示することにより、印刷物と一致したプレビュー表示を実行することが可能である。
本変形例1により、表示判断処理の一部の判断処理をMFP100側において実行することが可能である。具体的には、表示判断処理におけるレイアウト情報の確認等、MFPに特化し、かつ機種依存性の大きい処理をMFP100側で処理し、それ以外の処理を端末機器300側で処理することにより、表示判断処理を高速に実行することが可能である。すなわち、プレビュー表示を早期に実行することが可能である。
なお、本例においては、表示判断処理のレイアウト情報の判断処理のみをMFP100側で実行する場合について説明したが、特に当該場合に限られず、属性情報の判断処理等もMFP100側で実行させるようにしても良い。
なお、本例において、MFP100側における表示判断処理のレイアウト情報の判断処理等に要する時間とプレビュー表示のための印刷プレビューデータの作成に要する時間とを比較し、印刷プレビューデータの作成に要する時間がレイアウト情報の判断処理等に要する時間よりも短い場合には、レイアウト情報の判断処理等の判断をせずに、印刷プレビューデータを作成するようにしてもよい。
(変形例2)
上記の変形例1においては、表示判断処理の一部の処理をMFP100側で処理する場合について説明した。
本変形例2においては、当該処理をサーバーと連携して実行する構成について説明する。
図18は、サーバーと連携した印刷システムを説明する図である。
図18を参照して、MFP100と端末機器300との間にサーバー200を設けた場合が示されている。具体的には、サーバー200は、端末機器300およびMFP100とそれぞれデータ通信を実行する。MFP100は、サーバー200を介して端末機器300から送信されたプレビュー用のジョブを受信するものとする。
そして、本変形例2においては、上記で説明したMFP100で実行していた表示判断処理の一部をサーバー200が実行するものとする。
具体的には、端末機器300において、表示判断処理Aを実行して、プレビュージョブの生成が必要な可能性が有ると判断した場合には、上記したようにプレビュージョブが生成されて、サーバー200に送信する。
そして、サーバー200において残りの表示判断処理Bを実行する。具体的には、図17で説明したのと同様の処理を実行する。
サーバー200は、受信したプレビュージョブに含まれるファイルデータに基づいてファイルの様式等に関するレイアウト情報を確認する。
そして、サーバー200は、ファイルの書式等に関するレイアウト情報として特定書式があるかどうかを判断する。
そして、サーバー200は、ファイルの書式等に関するレイアウト情報に関して特定書式が無いと判断した場合には、ファイルに対するビューアーアプリに基づくプレビュー表示と、印刷物とが異ならないと判断し、その旨すなわちプレビュー表示可データを端末機器300に送信する。
そして、端末機器300は、ファイルに対するビューアアプリに従うプレビュー表示を実行する。
一方で、サーバー200は、ファイルの書式等に関するレイアウト情報に関して特定書式があると判断した場合には、ファイルに対するビューアーアプリに基づくプレビュー表示と、印刷物とが異なると判断し、受信した端末プレビュー印刷ジョブをMFP100に送信する。そして、上記したようにMFP100で印刷プレビューデータが生成されて、当該生成された印刷プレビューデータがサーバー200を介して端末機器300に送信される。そして、端末機器300は、当該印刷プレビューデータに基づいてビューアアプリに従う印刷プレビューを表示することにより、印刷物と一致したプレビュー表示を実行することが可能である。
本変形例2により、表示判断処理の一部の処理をサーバー200において実行することが可能である。具体的には、表示判断処理のレイアウト情報の確認等、MFPに特化し、かつ機種依存性の大きい処理をサーバー200側で処理し、それ以外の処理を端末機器300側で処理することにより、表示判断処理を高速に実行することが可能である。すなわち、プレビュー表示を早期に実行することが可能である。
なお、本例においては、表示判断処理のレイアウト情報の判断処理のみをサーバー200側で実行する場合について説明したが、特に当該場合に限られず、属性情報の判断処理もサーバー200側で実行させるようにしても良い。
なお、以下の実施の形態および変形例においても本変形例2と同様に表示判断処理の一部の処理をサーバー200において実行させるようにすることも当然に可能である。
なお、本変形例2におけるサーバー200は、ファイルの書式等に関するレイアウト情報に関して特定書式があると判断した場合には、ファイルに対するビューアーアプリに基づくプレビュー表示と、印刷物とが異なると判断し、受信した端末プレビュー印刷ジョブをMFP100に送信して、MFP100で生成された印刷プレビューデータを中継して端末機器300に送信する場合について説明したが、サーバー200において印刷プレビューデータを生成して端末機器300に送信するようにすることも可能である。当該方式によりMFP100を介することなく端末機器300に印刷プレビューデータが送信されるため高速な処理が可能である。
(変形例3)
上記においては、表示判断処理において、レイアウト情報に特定書式が含まれていない場合には、ファイルに対するビューアーアプリに基づくプレビュー表示と、印刷物とが異ならない場合について説明した。一方で、ファイル形式によっては、レイアウト情報に特定書式が含まれているか否かを判断するよりも、レイアウト情報にMFP100が対応している書式(以下、対応書式)のみ含まれているか否かを判断する方が効率的な場合も考えられる。
図19は、本実施形態1の変形例3に基づく表示判断処理の詳細について説明するフロー図である。
図19を参照して、図10の表示判断処理と比較して、ステップS4#,S5#,S6#をさらに追加した点が異なる。その他の点については図10のフローで説明したのと同様であるのでその詳細な説明については繰り返さない。
ステップS4において、ファイルの属性情報が特定の入力手段で無いと判断した場合(ステップS4においてNO)において、判断部302は、ファイル形式が「PDF」であるか否かを判断する(ステップS4#)。
そして、ステップS4#において、ファイル形式が「PDF」であると判断した場合(ステップS4#においてYES)には、ファイルの様式等に関するレイアウト情報を確認する(ステップS5)。そして、判断部302は、ファイルの書式等に関するレイアウト情報として特定書式があるかどうかを判断し、特定書式が有ると判断した場合(ステップS6においてYES)には、ファイルに対するプレビュー表示用のアプリケーションに基づくプレビュー表示と、MFP100での印刷物とが異なると判断する(ステップS7)。そして、処理を終了する(リターン)。
ここで、ファイル形式が「PDF」である場合に特定書式を判断することとしたのは、「PDF」は対応書式が多く、特定書式が少ないため判断処理を高速に実行するためである。
一方で、ステップS6において、判断部302は、ファイルの書式等に関するレイアウト情報に関して特定書式が無いと判断した場合(ステップS6においてNO)には、ファイルに対するプレビュー表示用のアプリケーションに基づくプレビュー表示と、MFP100での印刷物とが異ならない、すなわち同じと判断する(ステップS8)。そして、処理を終了する(リターン)。
また、ステップS4#において、ファイル形式が「PDF」でないと判断した場合(ステップS4#においてNO)には、ファイルの様式等に関するレイアウト情報を確認する(ステップS5#)。
そして、判断部302は、ファイルの書式等に関するレイアウト情報として対応書式のみかどうかを判断する(ステップS6#)。
ステップS6#において、判断部302は、ファイルの書式等に関するレイアウト情報として対応書式のみであるかどうかを判断し、対応書式のみであると判断した場合(ステップS6#においてYES)には、ファイルに対するプレビュー表示用のアプリケーションに基づくプレビュー表示と、MFP100での印刷物とが異ならない、すなわち同じと判断する(ステップS8)。そして、処理を終了する(リターン)。
一方、ステップS6#において、判断部302は、ファイルの書式等に関するレイアウト情報として対応書式のみかどうかを判断し、対応書式以外を含むと判断した場合(ステップS6#においてNO)には、ファイルに対するプレビュー表示用のアプリケーションに基づくプレビュー表示と、MFP100での印刷物とが異なると判断する(ステップS7)。そして、処理を終了する(リターン)。
ここで、ファイル形式が「Office」である場合に対応書式のみを判断することとしたのは、「Office」は対応書式が少なく、特定書式が多いため判断処理を高速に実行するためである。
ファイルの書式等に関するレイアウト情報に特定書式が含まれているか否か、あるいは、ファイルの書式等に関するレイアウト情報として対応書式のみか否かをファイル形式に基づいて変更することによりファイル形式に応じた判断処理を効率的に実行することが可能である。すなわち、ファイル形式に基づいて特定書式と対応書式との多少に基づいて判断処理を変更することが可能である。
なお、本例においては、ファイル形式に基づいてファイルの書式等に関するレイアウト情報に特定書式が含まれているか否か、あるいは、ファイルの書式等に関するレイアウト情報として対応書式のみか否かをファイル形式に基づいて変更する場合について説明したが、ファイル形式に関わらず、ファイルの書式等に関するレイアウト情報として対応書式のみか否かを判断するようにしても良い。
図20は、本実施形態1の変形例3に基づく表示判断処理の具体例を説明する図である。
図20を参照して、ここでは、ファイルとして、一例として5種類のアプリケーションが異なるファイルが示されている。「JPEG」、「TIFF」、「XPS」、「PDF」、「Office」が挙げられる。
まず、最初(第一段階)にファイル形式が判断される。
ファイル形式が「JPEG」、「TIFF」、「XPS」であれば、第一段階の判断として、プレビュージョブは不要であると判断される。
そして、ファイル形式が「PDF」、「Office」である場合に、次(第ニ段階)に、ファイルの取得に関する属性情報が判断される。
属性情報としてスキャナから当該ファイルを取得した場合には、プレビュージョブは不要であると判断される。
一方、ファイル形式が「PDF」、「Office」であり、属性情報としてスキャナ以外から、すなわちアプリに基づいてファイルが取得(生成)されたものである場合には、その次(第三段階)にレイアウト情報が判断される。
ファイル形式が「PDF」については、レイアウト情報として図9で説明した特定書式リストに含まれる書式をファイルが有しているか否かが判断される。
そして、レイアウト情報として図9で説明した特定書式リストに含まれる書式をファイルが有していると判断した場合には、特定書式ありとして端末プレビュー印刷ジョブは必要であると判断される。
そして、レイアウト情報として図9で説明した特定書式リストに含まれる書式をファイルが有していないと判断した場合には、特定書式なしとして端末プレビュー印刷ジョブは不要であると判断される。
一方で、ファイル形式が「Office」の場合には、レイアウト情報として対応書式のみを有しているかが判断される。
そして、レイアウト情報としてMFP100が対応している対応書式のみを有している場合には、端末プレビュー印刷ジョブは不要であると判断される。
そして、レイアウト情報として対応書式以外を有している場合には、端末プレビュー印刷ジョブは必要であると判断される。
当該方式により、ファイルに対する端末機器300のビューアーアプリに基づくプレビュー表示と、MFP100での印刷物とが異なる、すなわち異なる可能性があると判断した場合には、端末プレビュー印刷ジョブを生成してMFP100に送信し、異ならないと判断した場合には、端末プレビュー印刷ジョブを生成することなく、ビューアーアプリに基づくプレビュー表示を実行する。
すなわち、印刷物と一致したプレビュー表示を実行する場合に、ビューアーアプリに基づくプレビュー表示と印刷物とが一致する場合には、ファイルに対するビューアアプリに従うプレビュー表示が実行されるため、端末プレビュー印刷ジョブをMFP100に送信する必要が無くダイレクトプリントの際のプレビュー表示におけるネットワークの通信負荷を軽減することが可能である。
(実施形態2)
上記の実施形態1の表示判断処理においては、ファイル形式が「PDF」、「Office」であり、属性情報としてスキャナ以外からすなわちアプリに基づいてファイルが取得(生成)されたものである場合には、レイアウト情報が判断される。この点で、レイアウト情報として図11で説明した特定書式リストに含まれる書式をファイルが有している場合には、端末プレビュー印刷ジョブは必要であると判断される。この点、特定書式については、MFP100が対応していない場合があるからである。
一方で、MFPの種別によっては、特定書式についても少なくとも一部が対応している場合もある。
本実施形態2においては、プリンター(MFP)の特性情報をさらに考慮してファイルに対するプレビュー表示用のアプリケーションに基づくプレビュー表示と、MFPでの印刷物とが異なるか否かを判断する方式について説明する。
図21は、本実施形態2に基づく表示判断処理の詳細について説明するフロー図である。
図21を参照して、図10の表示判断処理と比較して、ステップS6A,ステップS6Bをさらに追加した点が異なる。その他の点については図10のフローで説明したのと同様であるのでその詳細な説明については繰り返さない。
ステップS6において、判断部302は、ファイルの書式等に関するレイアウト情報として特定書式があるかどうかを判断し、特定書式が有ると判断した場合(ステップS6においてYES)には、次に、当該特定書式がMFP100に対応しているかどうかを判断する(ステップS6A)。
図22は、本実施形態2に基づく特定書式にMFP100が対応しているか否かを判別するサポートリストを説明する図である。当該サポートリストは、一例としてRAM32に格納されているものとする。
図22を参照して、本例においてはサポートリストとして、「グラフ」、「文字装飾」、「コメント」等の特定書式が示されており、当該特定書式に関連付けられてMFPが対応しているか否かが「○」、「×」の標記で登録されている。「○」は、当該特定書式についてMFP100が対応していることを示すものである。一方、「×」は、当該特定書式についてMFP100が非対応であることを示すものである。
再び図21を参照して、ステップS6Aにおいて、判断部302は、当該サポートリストを参照して、特定書式がMFPに対応していると判断した場合(ステップS6AにおいてYES)には、他の特定書式が有るか否かを判断する(ステップS6B)。
そして、ステップS6Bにおいて、判断部302は、他の特定書式が有ると判断した場合(ステップS6BにおいてYES)には、ステップS6Aに戻り、当該他の特定書式がMFPに対応しているか否かを判断する。そして、全ての特定書式についての判断が終了して、ステップS6Bにおいて、判断部302は、他の特定書式がないと判断した場合(ステップS6BにおいてNO)には、ファイルに対するプレビュー表示用のアプリケーションに基づくプレビュー表示と、MFP100での印刷物とが異ならない、すなわち同じと判断する(ステップS8)。そして、処理を終了する(リターン)。
一方、ステップS6Aにおいて、判断部302は、当該サポートリストを参照して、特定書式がMFP100に対応していない(非対応)と判断した場合(ステップS6AにおいてNO)には、ファイルに対するプレビュー表示用のアプリケーションに基づくプレビュー表示と、MFP100での印刷物とが異なると判断する(ステップS7)。そして、処理を終了する(リターン)。
ファイルの書式等に関するレイアウト情報に特定書式が含まれている場合に、MFP100が対応あるいは非対応に応じて、端末プレビュー印刷ジョブの生成を判断することが可能である。
これにより、ファイルの書式等に関するレイアウト情報に特定書式が含まれている場合でもMFPが対応である場合には、ファイルに対するビューアーアプリに基づくプレビュー表示が実行されるため端末プレビュー印刷ジョブをMFP100に送信する必要が無くダイレクトプリントの際のプレビュー表示におけるネットワークの通信負荷をさらに軽減することが可能である。
(変形例)
本変形例においては、サポートリストがMFP100のバージョン毎に設けられている場合にサポートリストを切り替える場合について説明する。
図23は、本実施形態2の変形例に基づく端末機器300の機能構成の一部について説明する図である。
図23に示されるように、CPU30Aと、RAM32Aとが設けられている場合が示されている。
CPU30Aは、判断部302Aと、編集部306Aとを含む。
判断部302Aは、ファイルFAに対するプレビュー表示の実行の際に、RAM32Aに格納されているファイルのファイル情報およびMFPの特性情報に基づいて、ファイルに対するプレビュー表示用のアプリケーションに基づくプレビュー表示と、MFP100での印刷物とが異なるか否かを判断する。
本例においては、RAM32Aは、MFPのバージョンに関するサポートリストのデータベースDB1を有しているものとする。
データベースDB1には、MFPのバージョン毎にサポートリストSLAが格納されており、本例においては、一例として、「Ver1.0」、「Ver1.1」、「Ver2.0」の3種類のリストが格納されている場合が示されている。
判断部302Aは、MFPのバージョン情報を取得して、対応するサポートリストSLAを取得する。そして、判断部302Aは、当該対応するサポートリストを参照して、特定書式がMFPに対応しているか否かを判断する。他の処理については上記で説明したのと同様であるのでその詳細な説明については繰り返さない。MFPのバージョン情報の取得としては、CPU30からMFP100に対してMFP100の特性情報の送信を要求して、MFP100から送信された特性情報に基づいて取得するようにしても良いし、操作者がMFP100に対する特性情報(バージョン)を入力することにより取得するようにしても良い。
編集部306Aは、外部から取得した新たなサポートリストについて、データベースDB1に格納する。当該処理により、新たにMFPのバージョンが更新された場合に当該更新されたバージョンに対応するサポートリストを取得してデータベースDB1に格納することが可能である。編集部306Aが取得する新たなサポートリストは、図示しないサーバーにアクセスして、当該サーバーから取得するようにしても良いし、操作者が、新たなMFPのバージョンに関するサポートリストを入力することにより取得するようにしても良い。
これにより、MFPのバージョンが更新された場合であっても対応するサポートリストに従って、特定書式がMFP100に対応しているか否かを判断することが可能である。
(実施形態3)
上記の実施形態においては、プリンター(MFP)の特性情報を考慮して、ファイルに対するプレビュー表示用のアプリケーションに基づくプレビュー表示と、MFP100での印刷物とが異なるか否かを判断する場合について説明した。
一方で、プレビュー表示用のアプリケーション(ビューアアプリ)の特性情報によっては、ファイル形式および特定書式等に関してビューアアプリ側が対応していない場合も考えられる。
図24は、本実施形態3に基づく表示判断処理の具体例を説明する図である。
図24を参照して、ここでは、あるビューアアプリの特性情報に基づいて端末プレビュー印刷ジョブが必要な場合、不要な場合が分類される場合が示されている。
具体的には、ファイルとして、一例として5種類のアプリケーションが異なるファイルが示されている。「JPEG」、「TIFF」、「XPS」、「PDF」、「Office」が挙げられる。
まず、最初(第一段階)にファイル形式が判断される。
ファイル形式が「JPEG」であれば、第一段階の判断として、端末プレビュー印刷ジョブは不要であると判断される。一方、ファイル形式が「XPS」であれば、第一段階の判断として、端末プレビュー印刷ジョブは要であると判断される。
そして、ファイル形式が「PDF」、「Office」である場合に、次(第ニ段階)に、ファイルの取得に関する属性情報が判断される。
属性情報としてスキャナから当該ファイルを取得した場合には、端末プレビュー印刷ジョブは不要であると判断される。
一方、ファイル形式が「PDF」であり、属性情報としてスキャナ以外から、すなわちアプリに基づいてファイルが取得(生成)されたものである場合には、その次(第三段階)にレイアウト情報が判断される。
レイアウト情報として図11で説明した特定書式リストに含まれる書式をファイルが有しているか否かが判断される。
そして、レイアウト情報として図11で説明した特定書式リストに含まれる書式をファイルが有していると判断した場合には、特定書式ありとして端末プレビュー印刷ジョブは必要であると判断される。
そして、レイアウト情報として図11で説明した特定書式リストに含まれる書式をファイルが有していないと判断した場合には、特定書式なしとして端末プレビュー印刷ジョブは不要であると判断される。
一方で、ファイル形式が「Office」の場合には、属性情報としてスキャナ以外から、すなわちアプリに基づいてファイルが取得(生成)されたものである場合には、その次(第三段階)に、レイアウト情報が判断される。
レイアウト情報として、上記で説明したように対応書式のみを有しているかが判断される。
レイアウト情報として対応書式のみを有している場合には、端末プレビュー印刷ジョブは不要であると判断される。
一方で、レイアウト情報として対応書式以外を有している場合には、端末プレビュー印刷ジョブは必要であると判断される。
また、ファイル形式が「TIFF」であれば、次(第三段階)に、レイアウト情報として特定書式を有しているか否かが判断される。「TIFF」のレイアウト情報における「特定書式」としては、カラーモード、圧縮、マルチページ等に関する情報である。「TIFF」のレイアウト情報として、当該特定書式が含まれている場合には、端末プレビュー印刷ジョブは必要であると判断され、含まれていない場合には不要であると判断される。
当該方式により、ファイルに対する端末機器300のビューアーアプリに基づくプレビュー表示と、MFP100での印刷物とが異なる、すなわち異なる可能性があると判断した場合には、端末プレビュー印刷ジョブを生成してMFP100に送信し、異ならないと判断した場合には、端末プレビュー印刷ジョブを生成することなく、ビューアーアプリに基づくプレビュー表示を実行する。
すなわち、印刷物と一致したプレビュー表示を実行する場合に、ビューアーアプリに基づくプレビュー表示と印刷物とが一致する場合には、ビューアアプリに基づくプレビュー表示が実行されるため、端末プレビュー印刷ジョブをMFP100に送信する必要が無くダイレクトプリントの際のプレビュー表示におけるネットワークの通信負荷を軽減することが可能である。
(変形例1)
上記の実施形態3の表示判断処理においては、レイアウト情報が判断され、レイアウト情報として特定書式を有している場合には、端末プレビュー印刷ジョブは必要であると判断される。一方で、上記の実施の形態でも説明したように、ビューアアプリの種別(バージョン)によっては、特定書式についても対応している場合もある。
図25は、本実施形態3の変形例1に基づく端末機器300の機能構成の一部について説明する図である。
図25に示されるように、CPU30Bと、RAM32Bとが設けられている場合が示されている。
CPU30Bは、判断部302Bと、編集部306Bとを含む。
判断部302Bは、ファイルFAに対するプレビュー表示の実行の際に、RAM32Bに格納されているファイルのファイル情報および端末機器の特性情報に基づいて、ファイルに対するプレビュー表示用のアプリケーションに基づくプレビュー表示と、MFP100での印刷物とが異なるか否かを判断する。
本例においては、RAM32Bは、プレビュー表示用のアプリケーションのバージョンに対応するサポートリストSLBのデータベースDB2を有しているものとする。
データベースDB2には、プレビュー表示用のアプリケーションのバージョン毎にサポートリストSLBが格納されており、本例においては、一例として、「Ver1.0」、「Ver1.1」、「Ver2.0」の3種類のリストが格納されている場合が示されている。
判断部302Bは、プレビュー表示用のアプリケーションのバージョン情報を取得して、対応するサポートリストSLBを取得する。そして、判断部302Bは、当該対応するサポートリストを参照して、特定書式がプレビュー表示用のアプリケーションに対応しているか否かを判断する。他の処理については上記で説明したのと同様であるのでその詳細な説明については繰り返さない。プレビュー表示用のアプリケーションのバージョン情報の取得としては、ROM31に格納されている当該アプリケーションのファイル情報から取得することが可能である。
編集部306Bは、外部から取得した新たなサポートリストについて、データベースDB2に格納する。当該処理により、新たにアプリケーションのバージョンが更新された場合に当該更新されたバージョンに対応するサポートリストを取得してデータベースDB2に格納することが可能である。編集部306Bが取得する新たなサポートリストは、図示しないサーバーにアクセスして、当該サーバーから取得するようにしても良いし、操作者が、新たなアプリケーションのバージョンに関するサポートリストを入力することにより取得するようにしても良い。
これにより、プレビュー表示用のアプリケーションのバージョンが更新された場合であっても対応するサポートリストに従って、特定書式がアプリケーションに対応しているか否かを判断することが可能である。
(変形例2)
本変形例2においては、さらにプリンター(MFP)の特性情報およびプレビュー表示用のアプリケーション(ビューアアプリ)の特性情報に基づいて、プレビュー表示用のアプリケーションに基づくプレビュー表示と、MFP100での印刷物とが異なるか否かを判断する場合について説明する。
上記の表示判断処理においては、レイアウト情報の判断として、プリンター、ビューアアプリの特定書式のサポートの有無をそれぞれ判断する場合について説明したが、本変形例2においては、両者を組み合わせて判断する場合について説明する。
図26は、本実施形態3の変形例2に基づく端末機器300の機能構成の一部について説明する図である。
図26に示されるように、CPU30Cと、RAM32Cとが設けられている場合が示されている。
CPU30Cは、判断部302Cを含む。
判断部302Cは、ファイルFAに対するプレビュー表示の実行の際に、RAM32Cに格納されているファイルのファイル情報、端末機器の特性情報およびプレビュー表示用のアプリケーションの特性情報に基づいて、ファイルに対するプレビュー表示用のアプリケーションに基づくプレビュー表示と、MFP100での印刷物とが異なるか否かを判断する。
本例においては、RAM32Cは、MFPのバージョンに関するサポートリストのデータベースDB1と、プレビュー表示用のアプリケーションのバージョンに対応するサポートリストSLBのデータベースDB2とを有しているものとする。
上記で説明したように、データベースDB1には、MFPのバージョン毎にサポートリストSLAが格納されており、データベースDB2には、プレビュー表示用のアプリケーションのバージョン毎にサポートリストSLBが格納されている。
判断部302Cは、MFPのバージョン情報を取得して、対応するサポートリストSLAを取得する。また、判断部302Cは、プレビュー表示用のアプリケーションのバージョン情報を取得して、対応するサポートリストSLBを取得する。そして、判断部302Bは、当該対応するサポートリストSLA,SLBを参照して、特定書式がプレビュー表示用のアプリケーションにともに対応しているか否かを判断する。他の処理については上記で説明したのと同様であるのでその詳細な説明については繰り返さない。
なお、上記で説明したように、CPU30Cに編集部を設けて、MFPおよびプレビュー表示用のアプリケーションについて新たなサポートリストについて、データーベースDB1,DB2に格納する構成を設けるようにすることも当然に可能である。
これにより、MFPあるいはプレビュー表示用のアプリケーションのバージョンが更新された場合であっても対応するサポートリストに従って、特定書式がアプリケーションに対応しているか否かを判断することが可能である。
なお、上記の実施の形態1の変形例2で説明したのと同様に表示判断処理の一部の処理をサーバー200において実行させるようにすることも当然に可能である。その場合、サーバー200に対して、端末機器300のプレビュー表示用のアプリケーションあるいはMFPのバージョン情報が端末機器300あるいはMFP100から送信されて入力されるようにすれば良い。
(実施形態4)
図27は、本実施形態4に基づく端末機器300#の機能構成について説明する図である。
図27に示されるように端末機器300#は、CPU30#と、RAM32と、通信コントローラー35と、ディスプレイ33とを含む。
CPU30#は、CPU30と比較して、通知部308と、選択受付部310とをさらに含む点で異なる。その他の構成については図5で説明したのと同様であるのでその詳細な説明については繰り返さない。
通知部308は、判断部302におけるファイルに対するプレビュー表示用のアプリケーションに基づくプレビュー表示と、MFP100での印刷物とが異なるとの判断に基づく指示に従い、ディスプレイ33にその旨(印刷物が異なる可能性がある旨)を表示する。
選択受付部310は、ファイルに対するプレビュー表示用のアプリケーションに基づくプレビュー表示あるいは印刷プレビューデータに従うプレビュー表示のいずれの表示を選択するかの入力を受け付ける。選択受付部310は、ファイルに対するプレビュー表示用のアプリケーションに基づくプレビュー表示の選択を受け付けた場合には、表示制御部304にプレビュー表示するように指示する。
表示制御部304は、選択受付部310からの指示に従って、ファイルに対するビューアーアプリに基づくプレビュー表示データを生成してディスプレイ33に表示する。
一方、選択受付部310は、印刷プレビューデータに従うプレビュー表示の選択を受け付けた場合には、その旨を判断部302に通知し、判断部302は、端末プレビュー印刷ジョブを生成し、送信部350に出力する。
送信部350は、判断部302で生成された端末プレビュー印刷ジョブをMFP100に送信する。
受信部351は、一例としてMFP100から印刷プレビューデータを受信した場合には、表示制御部304に当該印刷プレビューデータを出力する。
表示制御部304は、受信部351で受信した印刷プレビューデータについてビューアーアプリに基づいてディスプレイ33に表示する。
図28は、本実施形態4に基づく印刷システムにおいて選択受付画面を説明する図である。
図28を参照して、端末機器300において選択受付画面500が示されている。当該選択受付画面500は、通知部308からの指示に従いディスプレイ33に表示されるものである。
当該選択受付画面500において、「プレビュー表示とMFPでの印刷物とが異なる可能性があります。」との通知とともに、「より正確なプレビュー表示を実行しますか?」が表示されている。
すなわち、判断部302におけるファイルに対するプレビュー表示用のアプリケーションに基づくプレビュー表示と、MFP100での印刷物とが異なるとの判断に基づく指示に従い、ディスプレイ33にその旨(印刷物が異なる可能性がある旨)が表示される。
そして、当該選択受付画面500において、「OK」501が選択された場合には、選択受付部310は、ファイルに対するプレビュー表示用のアプリケーションに基づくプレビュー表示の選択が受け付けられたと判断して、表示制御部304にプレビュー表示するように指示する。
一方、当該選択受付画面500において、「キャンセル」502が選択された場合には、選択受付画面500は、印刷プレビューデータに従うプレビュー表示の選択が受け付けられたと判断して、判断部302に対してその旨を通知する。判断部302は、選択受付部310からの指示に従って、プレビュー表示のためのデータ(印刷プレビューデータ)をMFP100で作成するように指示して、当該印刷プレビューデータを端末機器に送信するように指示する端末プレビュー印刷ジョブを生成して送信部350に出力する。
図29は、本実施形態4に基づく印刷システムにおけるプレビュー表示の処理を説明するフロー図である。
図29を参照して、図7のフロー図と比較して、ステップST21,ST22を設けた点が異なる。その他の構成については同意である。
ステップST2において、端末機器300は、表示判断処理の判断結果に基づいてプレビュー表示が異なると判断した場合(ステップST2においてYES)には、警告表示する(ステップST21)。具体的には、通知部308は、判断部302からの指示に従ってディスプレイ33に上記で説明した選択受付画面500を表示する。
次に、端末機器300は、より正確なプレビュー表示を指示したかどうかを判断する(ステップST22)。
具体的には、選択受付部310は、当該選択受付画面500において、「OK」501が選択されたかどうかを判断する。「OK」501が選択された場合には、より正確なプレビュー表示を指示したと判断する。
そして、ステップST22において、端末機器300は、より正確なプレビュー表示を指示していないと判断した場合(ステップST22においてNO)には、通常の印刷ジョブを生成する(ステップST3)。具体的には、選択受付部310は、当該選択受付画面500において、「キャンセル」502が選択されたかどうかを判断する。「キャンセル」502が選択された場合には、より正確なプレビュー表示を指示していないと判断する。以降の処理は、図7で説明したのと同様であるのでその詳細な説明については繰り返さない。
当該方式により、判断部302におけるファイルに対するプレビュー表示用のアプリケーションに基づくプレビュー表示と、MFP100での印刷物とが異なるとの判断に基づく指示に従い、ディスプレイ33にその旨(印刷物が異なる可能性がある旨)が表示される。すなわち、選択受付画面500がディスプレイ33に表示される。そして、ユーザは、ファイルに対するプレビュー表示用のアプリケーションに基づくプレビュー表示か、印刷プレビューデータに基づくプレビュー表示かを選択することが可能であり、ユーザの利便性に供する。
<他の例>
なお、本例においては、一例として端末機器300からMFP100に対して印刷ジョブを送信する場合について説明したが、印刷処理を含まないプレビュー表示のみを指示するプレビュージョブを送信するようにすることも可能である。
また、本例においては、端末機器300とMFP100とが直接データ通信する場合について説明しているが当該構成に限られず、例えばルーター等の中継器を介してデータ通信することも当然に可能である。
さらに、上述の動作を端末機器300のCPU30に実行させるためのプログラムを提供することもできる。このようなプログラムは、コンピューターに付属するフレキシブルディスク、CD−ROM(Compact Disk-Read Only Memory)、ROM、RAMおよびメモリカードなどのコンピューター読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピューターに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
なお、該プログラムは、コンピューターのオペレーティングシステム(OS)の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずOSと協働して処理が実行される。このようなモジュールを含まないプログラムも、本発明にかかるプログラムに含まれ得る。
また、本発明にかかるプログラムはダイレクトプリント用のアプリケーションやプレビュー表示用のアプリケーションなどの他のプログラムの一部に組込まれて提供されるものであってもよいし、このようなプログラムとは異なるプログラムとして提供されてもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本発明にかかるプログラムに含まれ得る。
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。