(57)【要約】【課題】複数の印刷対象画像を１の用紙に配置して出力する際の出力画像データを生成する画像データ生成装置であって、ユーザの希望に適切なレイアウトで出力することが可能な画像データ生成装置、等を提供する。【解決手段】それぞれ出力サイズが指定された複数の印刷対象画像を１の印刷媒体に配置して印刷するための出力画像データを生成する画像データ生成装置が、前記複数の印刷対象画像の配置状態をユーザに表示するプレビュー表示手段と、前記表示された配置状態に対する、前記ユーザの印刷実行指示を受けて、当該配置状態での前記出力画像データを生成するデータ生成手段とを有する。【選択図】  図１
2008225547.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ出力サイズが指定された複数の印刷対象画像を１の印刷媒体に配置して印刷するための出力画像データを生成する画像データ生成装置であって、
前記複数の印刷対象画像の配置状態をユーザに表示するプレビュー表示手段と、
前記表示された配置状態に対する、前記ユーザの印刷実行指示を受けて、当該配置状態での前記出力画像データを生成するデータ生成手段とを有する
ことを特徴とする画像データ生成装置。
【請求項２】
請求項１において、
前記複数の印刷対象画像に対して複数種類の配置状態が用意され、
前記プレビュー表示手段は、当該複数種類の配置状態をそれぞれ表示する
ことを特徴とする画像データ生成装置。
【請求項３】
請求項１において、更に、
ユーザ指示に従って前記複数の印刷対象画像を選択する登録手段と、
前記選択された印刷対象画像の順位付けを行なうソート手段と、
前記順位付けに基づいて、前記選択された印刷対象画像の前記配置を行なう配置手段とを有し、
前記配置手段により配置された状態が前記プレビュー表示手段で表示される
ことを特徴とする画像データ生成装置。
【請求項４】
請求項３において、
前記ソート手段は、前記選択された印刷対象画像の前記出力サイズに基づいて、所定のサイズが大きい順番に前記順位付けを行なう
ことを特徴とする画像データ生成装置。
【請求項５】
請求項３あるいは請求項４において、
前記配置手段は、前記選択された印刷対象画像のすべてが配置されるまで、前記印刷媒体の一方向に、前記選択された各印刷対象画像を、配置ができなくなるまで順次配置していく一行の処理を、前記一方向と直行する方向にずらしながら繰り返し実行する、ことにより前記配置を行なう
ことを特徴とする画像データ生成装置。
【請求項６】
請求項５において、
前記一方向と直行する方向へのずらしは、既に配置されている印刷対象画像とこれから配置する印刷対象画像が重ならないようになされる
ことを特徴とする画像データ生成装置。
【請求項７】
請求項５あるいは請求項６において、
前記一行の処理は、印刷対象画像の配置可否を判断し、配置可能である場合には配置を行い、配置ができない場合には配置を行なわない、という処理を、未だ配置がされていない印刷対象画像のすべてについて、前記順位付けに従った順番で、実行することによって行なわれる
ことを特徴とする画像データ生成装置。
【請求項８】
それぞれ出力サイズが指定された複数の印刷対象画像を１の印刷媒体に配置して印刷するための出力画像データを生成する画像データ生成装置における画像データ生成方法であって、
前記複数の印刷対象画像の配置状態をユーザに表示するプレビュー表示工程と、
前記表示された配置状態に対する、前記ユーザの印刷実行指示を受けて、当該配置状態での前記出力画像データを生成するデータ生成工程とを有する
ことを特徴とする画像データ生成方法。
【請求項９】
それぞれ出力サイズが指定された複数の印刷対象画像を１の印刷媒体に配置して印刷するための出力画像データを生成する処理を制御装置に実行させる画像データ生成プログラムであって、
前記複数の印刷対象画像の配置状態をユーザに表示するプレビュー表示工程と、
前記表示された配置状態に対する、前記ユーザの印刷実行指示を受けて、当該配置状態での前記出力画像データを生成するデータ生成工程とを前記制御装置に実行させる
ことを特徴とする画像データ生成プログラム。
【請求項１０】
出力サイズの情報と待機すべきことを示す情報を付して印刷要求を行なうホスト装置と、
前記印刷要求を受けて要求された印刷対象の画像データを保持し、保持している複数の前記画像データを１の印刷媒体に配置して印刷する旨の要求を受けた際に、前記複数の画像データの配置状態をユーザに表示し、前記表示した配置状態に対する、前記ユーザの印刷実行指示を受けて、当該配置状態での印刷用データを生成するプリントサーバと、
前記印刷用データを受け取って印刷を実行するプリンタとを有する
ことを特徴とする印刷システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の印刷対象画像を１の用紙に配置して出力する際の出力画像データを生成する画像データ生成装置等に関し、特に、ユーザの希望に適切なレイアウトで出力することが可能な画像データ生成装置等に関する。
【背景技術】
【０００２】
印刷装置においては、通常、ホスト装置からの印刷要求がある度に、言い換えれば、１印刷ジョブ毎に、指定されたサイズの用紙への出力がなされる。しかしながら、Ａ１サイズなど大きなサイズの用紙を用いる印刷装置においては、用紙サイズに比べて小さなサイズの画像を印刷する際、そのようなサイズの画像を含む様々なサイズの画像を印刷する際などに、用紙を節約する目的で、また、印刷装置に装着されている用紙をサイズに合わせて交換する手間を省く目的で、複数の印刷ジョブの画像をまとめて１の用紙に配置し、１の出力として印刷する場合がある。
【０００３】
下記特許文献１では、複数の印刷ジョブにおける印刷対象を所定の印刷可能領域に割り付けて印刷を実行するにあたり、自動でレイアウトを決定して印刷を行なう装置等について提案されている。
【特許文献１】特開２００５−２７５６８２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１の装置では、用紙節約の観点から効率の良い割付が自動で確定されて、それに基づいて出力がなされるので、出力後に各出力画像を裁断する際に障害となる場合があるなど、常にユーザにとって適切なレイアウトで出力がなされるわけではなかった。
【０００５】
また、上記従来装置では、ユーザは、用紙上に出力がなされるまでどのようなレイアウトであるかを把握することができなかった。従って、ユーザにとって好ましくないレイアウトで出力されてしまった場合には、再出力が必要であり、時間と用紙を無駄にせざるを得なかった。
【０００６】
そこで、本発明の目的は、複数の印刷対象画像を１の用紙に配置して出力する際の出力画像データを生成する画像データ生成装置であって、ユーザの希望に適切なレイアウトで出力することが可能な画像データ生成装置、等を提供することである。
【課題を解決するための手段】
【０００７】
上記の目的を達成するために、本発明の一つの側面は、それぞれ出力サイズが指定された複数の印刷対象画像を１の印刷媒体に配置して印刷するための出力画像データを生成する画像データ生成装置が、前記複数の印刷対象画像の配置状態をユーザに表示するプレビュー表示手段と、前記表示された配置状態に対する、前記ユーザの印刷実行指示を受けて、当該配置状態での前記出力画像データを生成するデータ生成手段とを有することである。
【０００８】
更に、上記の発明において、その好ましい態様は、前記複数の印刷対象画像に対して複数種類の配置状態が用意され、前記プレビュー表示手段は、当該複数種類の配置状態をそれぞれ表示することを特徴とする。
【０００９】
また、上記の発明において、好ましい態様は、更に、ユーザ指示に従って前記複数の印刷対象画像を選択する登録手段と、前記選択された印刷対象画像の順位付けを行なうソート手段と、前記順位付けに基づいて、前記選択された印刷対象画像の前記配置を行なう配置手段とを有し、前記配置手段により配置された状態が前記プレビュー表示手段で表示されることを特徴とする。
【００１０】
更に、上記の発明において、好ましい態様は、前記ソート手段は、前記選択された印刷対象画像の前記出力サイズに基づいて、所定のサイズが大きい順番に前記順位付けを行なうことを特徴とする。
【００１１】
更にまた、上記の発明において、好ましい態様は、前記配置手段は、前記選択された印刷対象画像のすべてが配置されるまで、前記印刷媒体の一方向に、前記選択された各印刷対象画像を、配置ができなくなるまで順次配置していく一行の処理を、前記一方向と直行する方向にずらしながら繰り返し実行する、ことにより前記配置を行なうことを特徴とする。
【００１２】
更に、上記の発明において、好ましい態様は、前記一方向と直行する方向へのずらしは、既に配置されている印刷対象画像とこれから配置する印刷対象画像が重ならないようになされることを特徴とする。
【００１３】
更に、上記の発明において、その好ましい態様は、前記一行の処理は、印刷対象画像の配置可否を判断し、配置可能である場合には配置を行い、配置ができない場合には配置を行なわない、という処理を、未だ配置がされていない印刷対象画像のすべてについて、前記順位付けに従った順番で、実行することによって行なわれることを特徴とする。
【００１４】
上記の目的を達成するために、本発明の別の側面は、それぞれ出力サイズが指定された複数の印刷対象画像を１の印刷媒体に配置して印刷するための出力画像データを生成する画像データ生成装置における画像データ生成方法が、前記複数の印刷対象画像の配置状態をユーザに表示するプレビュー表示工程と、前記表示された配置状態に対する、前記ユーザの印刷実行指示を受けて、当該配置状態での前記出力画像データを生成するデータ生成工程とを有することである。
【００１５】
上記の目的を達成するために、本発明の更に別の側面は、それぞれ出力サイズが指定された複数の印刷対象画像を１の印刷媒体に配置して印刷するための出力画像データを生成する処理を制御装置に実行させる画像データ生成プログラムが、前記複数の印刷対象画像の配置状態をユーザに表示するプレビュー表示工程と、前記表示された配置状態に対する、前記ユーザの印刷実行指示を受けて、当該配置状態での前記出力画像データを生成するデータ生成工程とを前記制御装置に実行させることである。
【００１６】
上記の目的を達成するために、本発明の別の側面は、印刷システムが、出力サイズの情報と待機すべきことを示す情報を付して印刷要求を行なうホスト装置と、前記印刷要求を受けて要求された印刷対象の画像データを保持し、保持している複数の前記画像データを１の印刷媒体に配置して印刷する旨の要求を受けた際に、前記複数の画像データの配置状態をユーザに表示し、前記表示した配置状態に対する、前記ユーザの印刷実行指示を受けて、当該配置状態での印刷用データを生成するプリントサーバと、前記印刷用データを受け取って印刷を実行するプリンタとを有することである。
【００１７】
本発明の更なる目的及び、特徴は、以下に説明する発明の実施の形態から明らかになる。
【発明を実施するための最良の形態】
【００１８】
以下、図面を参照して本発明の実施の形態例を説明する。しかしながら、かかる実施の形態例が、本発明の技術的範囲を限定するものではない。なお、図において、同一又は類似のものには同一の参照番号又は参照記号を付して説明する。
【００１９】
図１は、本発明を適用した画像データ生成装置を有する印刷システムの実施の形態例に係る構成図である。図１に示すプリントサーバ２の画像データ生成部２２が本発明を適用した画像データ生成装置に相当し、複数の印刷対象画像を１の用紙に配置して出力する、いわゆるネスティング出力の際に、出力される画像配置の状態をユーザにプレビュー表示し、ユーザの確認を受けてから実際の用紙への出力を実行させ、ユーザの希望に適切なレイアウトでのネスティング出力を可能にしようとするものである。
【００２０】
図１に示すように、本実施の形態例に係る印刷システムは、ホストコンピュータ１、プリントサーバ２、及びプリンタ３から構成される。プリントサーバ２は、ホストコンピュータ１とプリンタ３に接続され、ホストコンピュータ１からプリンタ３への印刷要求を中継すると共に、印刷対象のデータを保持し、ユーザの指示に従ってプリンタ３へ印刷要求を行う、印刷に特化したサーバである。プリントサーバ２は、図１に示すように、複数のホストコンピュータ１及び複数のプリンタ３と接続されて使用することができる。
【００２１】
ホストコンピュータ１は、プリンタ３に対して印刷要求を行うホスト装置であり、パーソナルコンピュータなどで構成することができる。ホストコンピュータ１には、印刷対象の画像を生成するアプリケーション１２、及び、プリンタ３用のプリンタドライバ１１が備えられる。アプリケーション１２は、例えば、文書作成、画像編集、図面の製作などを司るソフトウェア（プログラム）とそれに従って処理を実行する制御装置等から構成され、プリンタ３に対する印刷要求元である。
【００２２】
プリンタドライバ１１は、このアプリケーション１２からの印刷要求を受けて、印刷要求先であるプリンタ３用の印刷ジョブ（データ）を生成し、プリントサーバ２に送信する機能を担う。具体的には、アプリケーション１２から受けたデータに基づいて、印刷対象画像の印刷データ、各種印刷条件等に係るコマンドをＰＤＬで生成し、印刷ジョブとしてプリントサーバ２に転送する。なお、プリンタドライバ１１は、これらの処理を実行するプログラムとその指示に従って処理を実行する制御装置等で構成することができる。また、当該プログラムは、ＣＤなどの記憶媒体に収められたものがホストコンピュータ１にインストールされる、あるいは、インターネットなどのネットワークを介して所定のサイトからホストコンピュータ１にダウンロードされる、ことにより備えられる。
【００２３】
なお、本印刷システムにおける特徴であるネスティング出力のための各印刷ジョブをプリントサーバ２に送信する際には、各印刷ジョブデータに、出力せずに待機させる旨の情報が付される。
【００２４】
プリントサーバ２は、前述の通り、印刷機能に特化したサーバであり、パーソナルコンピュータなどで構成することができる。プリントサーバ２は、主に、印刷処理の中継、データ加工、データ蓄積などの機能を担い、前記ホストコンピュータ１から印刷ジョブを受けた際には、通常、ＰＤＬを解釈して印刷要求先のプリンタ３に適したデータとしてプリンタ３に転送する。また、上述の出力せずに待機させる旨の情報が付された印刷ジョブデータを受けた場合には、その時点では、そのジョブについてプリンタ３への出力を行なわず、所定の画像データとしてプリントサーバ２内に保持する。そして、当該プリントサーバ２へその印刷ジョブを含むネスティング出力の要求が行われた際に、保持した画像データを用いてネスティング出力用の画像データを生成し、プリンタ３に出力する。
【００２５】
プリントサーバ２には、図１に示すように、機能的な構成としてみれば、ＯＳ（オペレーティングシステム）２１、画像データ生成部２２、通信Ｉ／Ｆ２３、ＨＤＤ（ハードディスクドライブ）２４、シリアル通信Ｉ／Ｆ２５、ＵＳＢＩ／Ｆ２６、モニタ２７、及びキーボード・マウス２８等が備えられる。
【００２６】
ＯＳ（オペレーティングシステム）２１には、ディスプレードライバ２１１、入力機器ドライバ２１２、Ｉ／Ｏドライバ２１３があり、それぞれ、対応する機器用のドライバ機能を担う。
【００２７】
画像データ生成部２２は、ホストコンピュータ１から受信する印刷ジョブ、又は、プリントサーバ２が蓄積するデータからプリンタ３用のデータを生成して、プリンタ３に印刷要求を行う部分である。画像データ生成部２２が行うネスティング出力時の処理に特徴があり、その具体的な内容については後述する。
【００２８】
画像データ生成部２２は、図１に示すように、各種のモジュールから構成される。印刷ジョブ取得モジュール２２１は、ホストコンピュータ１から送信される印刷ジョブを受信する部分であり、言語解釈モジュール２２２は、ＰＤＬで表現された印刷ジョブをＨＤＤ２４にスプールしながら、解釈する部分である（スプールデータ２４１）。
【００２９】
また、レンダリングモジュール２２３は、画像データのレンダリング処理を行う部分であり、印刷ジョブに含まれる印刷対象画像の印刷データから、ビットマップデータ２４３を生成してＨＤＤ２４に記憶する部分である。ここでは、合わせて、当該画像のプレビュー用のデータ２４２も生成し、ＨＤＤ２４に記憶する。
【００３０】
次に、用紙節約リスト登録モジュール２２４は、ネスティング出力を行う際に、１の出力としてまとめる画像の登録処理を行なうモジュールである。具体的な処理内容は後述するが、当該モジュールは、ユーザに指示された、ネスティング出力を行う印刷ジョブの識別情報を用紙節約リストデータ２４５としてＨＤＤ２４に格納する。
【００３１】
ソートモジュール２２５は、ネスティング出力を行う際に、前記用紙節約リスト登録モジュール２２４によって登録された各印刷ジョブの順番を所定の方法により決定するモジュールである。本実施の形態例では、一例として、所定のソート方法として４つの方法が用意されている。当該モジュールで順位付けられた印刷ジョブの識別情報は、割付リストとしてＨＤＤ２４の用紙節約リストデータ２４５に記憶される。なお、当該順位付けは、ネスティング出力時の用紙への配置順を表すものであるが、以下に説明する配置モジュール２２６における処理において、用紙節約の観点からその順番とは異なる順番となって配置される場合がある。
【００３２】
配置モジュール２２６は、ネスティング出力を行う際に、対象の印刷ジョブをどのように１の用紙内に配置するかを決定する部分であり、上記ソートモジュール２２５が決定した割付リストの順番に基づき、後述する処理フローに従って、各印刷ジョブの配置位置を決定する。決定された各印刷ジョブの配置位置の情報は、ＨＤＤ２４の用紙節約リストデータ２４５に記憶される。
【００３３】
次に、プレビュー表示モジュール２２７は、上記配置モジュール２２６によって生成されたネスティング出力時の配置状態を、ユーザに表示するモジュールである。当該プレビュー表示には、各印刷ジョブの、プレビューデータ２４２と用紙節約リストデータ２４５の配置位置情報が用いられる。当該モジュールによる配置状態のプレビュー表示が、本プリントサーバ２の大きな特徴である。
【００３４】
合成モジュール２２８は、ネスティング出力時に、出力対象の各印刷ジョブのビットマップデータ２４３を１つの出力用ビットマップデータとして合成する部分である。当該合成処理は、ユーザによって印刷の実行が指示された前記配置状態について実行される。当該モジュールでは、ネスティング出力時の出力用画像データが生成されることになる。
【００３５】
次に、印刷実行モジュール２２９は、印刷対象のビットマップデータにハーフトーン処理を施すと共にプリンタ３用のコマンドを生成してプリンタ３への印刷要求データを生成し、それをプリンタ３に転送する部分である。
【００３６】
その他、ユーザインターフェースを司る、ＧＵＩコントローラモジュール２３０及びＧＵＩビューモジュール２３１が備えられる。
【００３７】
なお、これらのモジュールは、各機能を実現するための処理手順を記述した各プログラムと、当該プログラムに従って処理を実行するプリントサーバ２に備えられるＣＰＵ（図示せず）などの制御装置等によって構成される。
【００３８】
次に、通信Ｉ／Ｆ２３は、ホストコンピュータ１からの印刷ジョブを受け取る部分であり、ＨＤＤ２４は、プリントサーバ２の記憶装置であり、図１に示すように、上述した各種データを格納する。なお、用紙サイズ情報データ２４４は、ホストコンピュータ１から受信した各印刷ジョブの用紙サイズに関するデータであり、具体的には、矩形画像の幅（ｗ）と高さ（ｈ）の情報が格納される。当該データは、ネスティング処理時には、配置モジュール２２６による配置処理で用いられる。なお、各印刷ジョブのプレビューデータ２４２、ビットマップデータ２４３、及び用紙サイズ情報データ２４４は、印刷ジョブ毎にまとめられ、印刷ジョブの識別情報により読み出し可能となっている。
【００３９】
また、用紙節約リストデータ２４５は、前述の通り、ネスティング出力用に登録された印刷ジョブの識別情報リスト（登録リスト）、その識別情報を各ソート方法で並べた割付リスト、各割付リストの各印刷ジョブ（の識別情報）にリンクした配置位置情報等から構成される。また、配置モジュール２２６によって配置処理がなされて、その配置状態のプレビュー表示がなされたソート方法のプレビュー表示用のデータは、その割付リストにリンクされて当該用紙節約リストデータ２４５として格納される。
【００４０】
また、モニタ２７は、プリントサーバ２のディスプレー装置であり、キーボード・マウス２８は、プリントサーバ２の入力装置である。
【００４１】
次に、プリンタ３は、プリントサーバ２からの印刷要求データを受けて印刷媒体に対して印刷処理を実行する印刷装置であり、例えば、Ａ１など大型サイズのロール紙に印刷を行うプリンタである。
【００４２】
本実施の形態例に係る、ホストコンピュータ１、プリントサーバ２、及び、プリンタ３から成る印刷システムは、以上説明したような構成を有するが、以下、本印刷システムを用いて行われる印刷実行時の処理、特に、ネスティング出力のための処理について具体的に説明する。図２は、ネスティング印刷時の処理手順を例示したフローチャートである。
【００４３】
まず、ネスティング出力用の各画像について、それぞれ、以下に示す、プリントサーバ２への画像データの記録までの処理が実行される（ステップＳ１〜Ｓ５）。
【００４４】
最初に、印刷要求（出力指示）が、ホストコンピュータ１のアプリケーション１２に対するユーザ指示によって行われる（ステップＳ１）。このような出力指示がなされると、その内容が所定のデータ形式でプリンタドライバ１１に渡され、プリンタドライバ１１が、当該データを加工してＰＤＬによる印刷ジョブデータとしてプリントサーバ２へ送信する（ステップＳ２）。なお、ここではネスティング印刷であり当該印刷要求でそのまま出力を行なわないので、当該印刷ジョブデータには、前述した、出力せずに待機させる旨の情報が付される。また、当該印刷ジョブの用紙サイズ情報も付される。
【００４５】
次に、プリントサーバ２の通信Ｉ／Ｆ２３を介して、上記印刷ジョブデータが、印刷ジョブ取得モジュール２２１によって受信される（ステップＳ３）。その後、言語解釈モジュール２２２が、取得した印刷ジョブデータをＨＤＤ２４にスプールしながら逐次解釈する（ステップＳ４）。なお、ＰＤＬでは、印刷対象の画像が画像オブジェクト単位で表現されている。また、この際、当該印刷ジョブの用紙サイズ情報が前述した用紙サイズ情報データ２４４としてＨＤＤ２４に記憶される。
【００４６】
その後、前記言語解釈の結果に基づいて、レンダリングモジュール２２３が、印刷データのレンダリング処理を実行し、生成されたビットマップデータ２４３をＨＤＤ２４に記録する（ステップＳ５）。当該レンダリング処理により、画像オブジェクト単位で表現されたデータが、画素毎の色の濃度階調値から構成されるデータに変換される。また、この際に、前記プレビュー用のデータ２４２も合わせて生成し、前述のように、ビットマップデータ２４３と共に、当該印刷ジョブの識別情報で読み出し可能にＨＤＤ２４に記録される。
【００４７】
そして、当該印刷ジョブには、前述の通り、出力せずに待機させる旨の情報が付されており、その旨が言語解釈モジュール２２２によって把握されているので、当該印刷ジョブについての印刷要求に対してはここで処理を終了する。
【００４８】
このような処理がネスティング出力用の各画像について実施され、それらについて、レンダリング処理までが施されて、各印刷ジョブのビットマップデータ２４３等がプリントサーバ２内に保持されることになる。
【００４９】
なお、印刷ジョブデータに出力せずに待機させる旨の情報が付されない、通常の印刷要求の場合には、レンダリング後のビットマップデータ２４３が印刷実行モジュール２２９に引き渡されて、プリンタ３用のデータが生成され、当該データがプリンタ３に転送される。そして、当該印刷ジョブ単独での印刷媒体への出力がなされる。
【００５０】
次に、前記保持された各印刷ジョブについてネスティング出力する際の処理について説明する。なお、ここでは、保持されている各印刷ジョブは、それぞれ、前記用紙サイズの１ページのデータであるものとし、配置する画像の単位を印刷ジョブとするが、これは一例であって、配置する画像の単位は印刷ジョブに限定されるものではない。
【００５１】
まず、用紙節約リスト登録モジュール２２４によってモニタ２７に表示されるネスティング登録用の画面において、ユーザは、ネスティング出力に含める各印刷ジョブを選択する。当該画面には、例えば、各印刷ジョブの前記プレビューデータ２４２を用いたイメージ表示がなされ、ユーザは、当該画面上で、所望の印刷ジョブのイメージを所定のホルダーにドラッグすることにより、前記選択操作を行なうことができる。当該選択指示を受けた用紙節約リスト登録モジュール２２４は、選択された印刷ジョブの識別情報を用紙節約リストデータ２４５に登録リストとして登録する（ステップＳ６）。
【００５２】
図３は、登録された印刷ジョブの各画像とそれらのソート処理について説明するための図である。図３の（ａ）は、上記登録処理で登録された印刷ジョブの各画像を例示した図である。この例では、５つの印刷ジョブが選択され、５つの画像をネスティング出力する場合を想定している。登録された印刷ジョブは、登録順に、Ｊ１、Ｊ２、Ｊ３、Ｊ４、及びＪ５である。また、各印刷ジョブの画像は、図に示すような用紙サイズとなっている。この例の場合、「Ｊ１、Ｊ２、Ｊ３、Ｊ４、Ｊ５」という登録リストが記録されることになる。なお、Ｊ１、Ｊ２、Ｊ３、Ｊ４、及びＪ５は、各印刷ジョブの前記識別情報であるものとする。
【００５３】
次に、ユーザが、前記ネスティング登録用の画面等に用意された所定のボタン等により、ネスティング処理の起動を指示すると、前記登録された印刷ジョブについてのネスティング処理が開始する（ステップＳ７）。
【００５４】
まず、ソートモジュール２２５は、前述した４つのソート法のうちデフォルトに設定されているソート法を選択する（ステップＳ８）。図３の（ｂ）〜（ｅ）には、当該４つのソート法について示している。図３の（ｂ）に示すソート法１は、印刷ジョブ（の画像）の横幅（ｗ）の長い順番に並べる方法であり、同じ横幅の印刷ジョブがある場合には、印刷ジョブの識別情報（例えば、ジョブＮｏ．）の順番に並べる、ものである。例えば、このソート法１がデフォルトのソート法として設定されている。
【００５５】
次に、ソートモジュール２２５は、選択したソート法によりソート処理を実行し、その結果を前記割付リストとして用紙節約リストデータ２４５に記録する（ステップＳ９）。ここでは、デフォルトのソート法１が選択されているので、横幅（ｗ）の長い順番にソートする処理が行なわれる。図３に示した例では、前記登録された各印刷ジョブがその横幅の順に図３の（ｂ）に示すようにソートされ、その結果の「Ｊ５、Ｊ１、Ｊ４、Ｊ２、Ｊ３」という割付リストがソート法１のリストとして記録される。
【００５６】
ここで、その他のソート法についても説明すると、図３の（ｃ）に示すソート法２は、印刷ジョブの識別情報（例えば、ジョブＮｏ．）の順番に並べる方法である。従って、ソート処理では、図３の（ｃ）に示すようにソートされ、その結果の「Ｊ１、Ｊ２、Ｊ３、Ｊ４、Ｊ５」という割付リストがソート法２のリストとなる。
【００５７】
図３の（ｄ）に示すソート法３は、印刷ジョブ（の画像）の短辺の長い順番に並べる方法であり、同じ短辺の印刷ジョブがある場合には、印刷ジョブの識別情報（例えば、ジョブＮｏ．）の順番に並べる、ものである。ソート処理では、図３の（ｄ）に示すようにソートされ、その結果の「Ｊ４、Ｊ２、Ｊ１、Ｊ３、Ｊ５」という割付リストがソート法３のリストとなる。
【００５８】
また、図３の（ｅ）に示すソート法４は、印刷ジョブ（の画像）の長辺の長い順番に並べる方法であり、同じ長辺の印刷ジョブがある場合には、印刷ジョブの識別情報（例えば、ジョブＮｏ．）の順番に並べる、ものである。ソート処理では、図３の（ｅ）に示すようにソートされ、その結果の「Ｊ５、Ｊ２、Ｊ１、Ｊ４、Ｊ３」という割付リストがソート法４のリストとなる。
【００５９】
なお、ソート法３、ソート法４を用いる場合には、後述する配置処理の際に、印刷ジョブによっては、例えば、ソート法３のＪ１等では、画像を９０度回転させて配置することになる。
【００６０】
このようにして、ソートモジュール２２５によるソート処理が行なわれると、配置モジュール２２６が、その時点で選択されているソート法の割付リストに基づいて各印刷ジョブの配置処理を実行する（ステップＳ１０）。ここでは、ソート法１が選択されているので、図３に示す例では、割付リスト「Ｊ５、Ｊ１、Ｊ４、Ｊ２、Ｊ３」に基づいて配置処理がなされることになる。具体的な配置処理の内容は後述するが、当該配置処理では、ネスティング出力を行なう用紙に、登録された印刷ジョブを、割付リストの順番を用いて効率よく配置する処理がなされる。なお、ネスティング出力を行なう用紙のサイズは、予め定めれていても良いし、前述したユーザによる登録印刷ジョブの選択時に合わせて指示されても良い。
【００６１】
この配置処理が終了すると、各登録印刷ジョブの配置位置が決定するので、その情報を、使用した割付リストの各印刷ジョブに対して記録する。例えば、配置起点となる、各印刷ジョブの左上の用紙上での座標値を、その印刷ジョブの識別情報にリンクして記録する。
【００６２】
次に、プレビュー表示モジュール２２７が、前記配置モジュール２２６によって決定された各印刷ジョブの配置の状態を、モニタ２７に表示する（ステップＳ１１）。かかるレイアウトのプレビュー表示は、前記割付リストにリンクされた各印刷ジョブの配置位置情報、各印刷ジョブのプレビューデータ２４２等を用いて行なわれる。
【００６３】
図４は、ネスティング出力のプレビュー表示を例示した図である。図４は、プレビュー表示時に、モニタ２７に表示されるプレビュー表示用ウィンドウを例示しており、図中のＡの部分が、決定された配置状態（配置イメージ）を示している。この例は、図３に示した例でソート法１が選択されている場合のものである。前述の通り、各印刷ジョブの配置起点となる座標値が記録されているので、プレビュー表示モジュール２２７は、印刷ジョブ毎に、この座標値の位置に、対応する印刷ジョブのイメージの左上が一致するように、プレビューデータ２４２を用いて表示を行なう。
【００６４】
また、プレビュー表示モジュール２２７は、表示したビューのデータを対応する割付リストにリンクさせてＨＤＤ２４に記憶する。すなわち、レイアウト後のプレビューデータがそのソート法にリンクされて保持される。
【００６５】
このようにして、配置レイアウトの状態が画面に表示されると、ユーザは、そのレイアウトで実際の用紙への出力を行ってよいか否かを判断する（ステップＳ１２）。言い換えれば、所望のレイアウトになっているか否かを確認する。ここで、表示されているレイアウトが適切でなく他のレイアウトで出力を行ないたい場合、表示されているレイアウトに問題はないものの、より適切なレイアウトがあるか否かを確認したい場合など、このレイアウトで直ぐに印刷を実行しない場合には（ステップＳ１２のＮｏ）、ユーザは、その旨の指示を行い、当該指示を受けてソートモジュール２２５は、次のソート法を選択する（ステップＳ１３）。
【００６６】
当該ソート法の選択は、予め設定された順番に従って、例えば、ソート法１から順番にソート法４までいきその後ソート法１に戻る順番に従って、あるいは、ユーザの選択指示に従って行なわれる。
【００６７】
その後、選択されたソート法について、前記レイアウト後のプレビューデータが保持されているか否かがチェックされ（ステップＳ１４）、保持されていない場合には（ステップＳ１４のＮｏ）、処理がステップＳ９に戻り、ソートモジュール２２５による、選択されたソート法によるソート処理から処理が繰り返される。当該ネスティング処理において、まだ選択されていないソート法が選択された場合には、このように処理が行なわれる。
【００６８】
一方、レイアウト後のプレビューデータが保持されている場合には（ステップＳ１４のＹｅｓ）、処理がステップＳ１１に移行し、当該保持されたプレビューデータによるプレビュー表示がプレビュー表示モジュール２２７によって行なわれる。当該ネスティング処理において、すでに選択されているソート法が再度選択された場合には、このように処理が行なわれる。
【００６９】
このように、少なくとも１回以上のプレビュー表示が行なわれて（Ｓ１１）、前記ステップＳ１２において、ユーザが、その時点で表示されているレイアウトで実際の用紙への出力を行ってよいと判断し、その旨の指示を行なうと（ステップＳ１２のＹｅｓ）、表示されているレイアウトでのネスティング出力を行なうべく、合成モジュール２２８が、ネスティング出力用のビットマップデータを生成する（ステップＳ１５）。なお、前記出力を行ってよい旨の指示は、例えば、図４に示したプレビュー画面のＢで示す印刷ボタンを用いて行なうことができる。また、図４のＣで示す領域に、当該指示する印刷の際の各種印刷条件を指示できるインターフェースをもうけてもよい。
【００７０】
上記合成モジュール２２８による処理では、指示されたレイアウト（ソート法）での各印刷ジョブの前記配置位置情報と前記ビットマップデータ２４３がＨＤＤ２４から読み出されて、指示されたレイアウトになるように各ビットマップデータ２４３が合成され、１つのネスティング出力用の画像データが生成される。
【００７１】
その後、当該合成後のビットマップデータが印刷実行モジュール２２９に渡せれ、当該モジュールにより、ハーフトーン処理、コマンド生成処理等が施されて、合成後のビットマップデータからプリンタ３用の印刷要求データが生成され、当該データがプリンタ３に転送される（ステップＳ１６）。
【００７２】
転送された印刷要求データは、印刷要求先であるプリンタ３に受信され、当該データに従った印刷処理がなされて、要求されたネスティング出力が実際の用紙になされる（ステップＳ１７）。
【００７３】
このようにして、本印刷システムを用いたネスティング印刷がなされるが、前述した配置処理（ステップＳ１０）について、以下に、より詳しく説明する。図５は、配置モジュール２２６による配置処理の手順を例示したフローチャートである。また、図６は、図３の例でソート法１を用いた場合の配置処理を説明するための図である。以下、図５に基づいて、図６に示した場合を例に説明する。
【００７４】
まず、配置モジュール２２６は、初期化の処理を行なう（ステップＳ１０１）。具体的には、各印刷ジョブの配置起点座標を表す変数［ｘ，ｙ］を［０，０］に、用紙の長さ方向の同じ位置に配置する印刷ジョブの中で最も大きい高さ（ｈ）を有する印刷ジョブの高さであるＭａｘＨｉｇｈｔを０にする。図６の例は、ロール紙にネスティング出力する場合であり、図６において、外周の実線はそのロール紙を表しており、横方向が用紙の幅であり、縦方向が用紙の長さ方法である。また、実線内の点線は、印刷可能範囲を表しており、出力する各印刷ジョブの画像はこの範囲に入る必要がある。上記配置起点座標は、当該印刷可能範囲の左上の位置を［ｘ，ｙ］＝［０，０］とし、ｘは横方向の座標を、ｙは縦方向の座標を表している。
【００７５】
次に、配置モジュール２２６は、選択されているソート法の割付リストの、未だ配置が決定されていない、すなわち、配置位置が未登録の、印刷ジョブのうち先頭のものを選択する（ステップＳ１０２）。図６の例では、ソート法１の割付リストが「Ｊ５、Ｊ１、Ｊ４、Ｊ２、Ｊ３」であり、まだ、どの印刷ジョブも未登録であるので、先頭のＪ５が選択される。
【００７６】
次に、配置モジュール２２６は、選択した印刷ジョブの前記用紙サイズを、用紙サイズ情報データ２４４から、印刷ジョブの識別情報をキーに読み出して取得する（ステップＳ１０３）。具体的には、幅（ｗ）と高さ（ｈ）の値を取得する。図６の例では、印刷ジョブＪ５のｗ５とｈ５が取得される。
【００７７】
その後、配置モジュール２２６は、その時点のｘの値と取得したｗの値と予め定められた余白の長さの値の合計が、用紙幅以下であるか否かをチェックする（ステップＳ１０４）。ここで、用紙幅は、ｘ＝０の位置から用紙の右端までの幅であり、図６の例では、ｘ＝０の位置から横方向に右側の実線までの幅である。また、上記余白の値は、用紙の幅方向に印刷可能領域の右端と用紙の右端とのギャップ幅である。
【００７８】
当該チェックの結果、ｘ＋ｗ＋余白の値が用紙幅以下である場合には（ステップＳ１０４のＹｅｓ）、配置モジュール２２６は、当該選択した印刷ジョブの現時点での割付が可能であると判断して、言い換えれば、この時点の［ｘ，ｙ］を配置起点として当該印刷ジョブの割付が可能であると判断して、当該印刷ジョブの配置位置を決定し、割付リストの当該印刷ジョブに配置位置情報である、配置起点座標値［ｘ，ｙ］を登録する（ステップＳ１０５）。
【００７９】
図６の例では、Ｊ５が選択されており、図６の（ａ）からも明らかなように、当該印刷ジョブの割付が可能であると判断されるので、Ｊ５の配置位置が図６の（ａ）に示される位置に決定され、［ｘ，ｙ］＝［０，０］が割付リストに登録される。
【００８０】
次に、配置モジュール２２６は、ＭａｘＨｉｇｈｔの値と選択された印刷ジョブの高さｈを比較して大きい方の値をＭａｘＨｉｇｈｔの値とする（ステップＳ１０６）。図６の例では、０とＪ５のｈ５が比較され、ＭａｘＨｉｇｈｔ＝ｈ５となる。
【００８１】
また、配置モジュール２２６は、ｘの値も、ｘ＋ｗ＋余白の値に更新する（ステップＳ１０７）。すなわち、次の割付のために配置起点位置を用紙の幅方向にずらす。図６の例では、ｘ＝ｘ＋ｗ５＋余白となり、元々ｘ＝０であるので、図６の（ａ）に示すように、ｘ＝ｗ５＋余白となる。
【００８２】
このように一つの印刷ジョブについて配置を終了すると、配置モジュール２２６は、割付リストに配置位置が決定していない未登録の印刷ジョブがあるか否かをチェックし（ステップＳ１０８）、未登録の印刷ジョブがある場合には（ステップＳ１０８のＮｏ）、割付リストに、次の未登録印刷ジョブがあるか否かをチェックする（ステップＳ１０９）。ここで、次の未登録印刷ジョブとは、割付リストで順位が下位であり未だ配置位置が決定していない印刷ジョブのことである。
【００８３】
当該チェックで、次の未登録印刷ジョブがあれば（ステップＳ１０９のＹｅｓ）、その中で最上位の印刷ジョブを選択して（ステップＳ１１０）、処理がステップＳ１０３に戻る。そして、当該印刷ジョブについて、同様の割付処理が実行される。図６の例では、Ｊ５の下位に未登録印刷ジョブがあるので、その中のＪ１が選択されて、Ｊ１について割付処理が行なわれる。
【００８４】
Ｊ１については、図６の（ａ）に示すように、前記更新されたｘ＝ｗ５＋余白を起点に割付が可能であるので（Ｓ１０４）、Ｊ１についても配置位置情報が登録され（Ｓ１０５）、ｘ及びＭａｘＨｉｇｈｔの値が更新されて（Ｓ１０６及びＳ１０７）、再び、処理がステップＳ１０８、Ｓ１０９、Ｓ１１０と流れる。そして、割付リスト順にＪ４が選択され、当該印刷ジョブについて割付処理が行なわれる（Ｓ１０３）。
【００８５】
今回の場合には、図６の（ａ）に示すように、Ｊ４（点線で表示）が印刷可能領域内に割り付けられないので（Ｓ１０４のＮｏ）、処理がステップＳ１１１に移行し、Ｓ１０９と同様に次の未登録印刷ジョブの有無がチェックされる。図６の例では、次の未登録印刷ジョブがあるので（ステップＳ１１１のＹｅｓ）、処理がステップＳ１０８、Ｓ１０９、Ｓ１１０と流れ、割付リストで次の順位であるＪ２が選択されて、当該印刷ジョブについて割付処理が行なわれる（Ｓ１０３）。すなわち、Ｊ４については、配置位置が決定せずに未登録のまま、次の印刷ジョブへ処理が移行する。
【００８６】
Ｊ２の場合には、図６の（ｂ）に示すように、この時点でのｘ＝ｗ５＋余白＋ｗ１＋余白を起点に割付が可能であるので（Ｓ１０４）、Ｊ２について配置位置情報が登録され（Ｓ１０５）、ｘ及びＭａｘＨｉｇｈｔの値が更新されて（Ｓ１０６及びＳ１０７）、再び、処理がステップＳ１０８、Ｓ１０９、Ｓ１１０と流れる。そして、割付リスト順にＪ３が選択され、当該印刷ジョブについて割付処理が行なわれる（Ｓ１０３）。
【００８７】
この場合、ｘの値の更新により、配置起点の位置は、図６の（ｂ）から明らかなように、すでに印刷可能領域の右側になっているので、ここでのＪ３の割付はできず（Ｓ１０４のＮｏ）、また、Ｊ３の次にジョブはないので（Ｓ１１１のＮｏ）、処理がステップＳ１１２に移行する。ここで、ｘの値は０ではないので（Ｓ１１２のＮｏ）、処理がステップＳ１１４に移行する。ここでは、配置モジュール２２６が、いわゆる改行の処理を実行する。
【００８８】
具体的には、ｘの値を０に、ｙの値をｙ＋ＭａｘＨｉｇｈｔ＋余白に、ＭａｘＨｉｇｈｔの値を０にする処理を行なう。この処理により、印刷ジョブを配置する起点の位置が、縦方向（ｙ方向）の下方で、横方向（ｘ方向）の左端に移動することになる。また、縦方向の移動は、ｙ＝ｙ＋ＭａｘＨｉｇｈｔ＋余白とすることにより、当該位置から右方向に印刷ジョブの割付を行なっていった場合に既に割付を完了している印刷ジョブと重ならないように行なわれることになる。
【００８９】
図６の例では、（ｂ）に示すように、改行の前に、ＭａｘＨｉｇｈｔ＝ｈ２となっているので、ｙ＝ｈ２＋余白とされ、［ｘ，ｙ］＝［０，ｈ２＋余白］の位置から割付処理が行なわれることになる。
【００９０】
その後、処理がステップＳ１０２に戻り、当該割付リストで、未登録でありかつ先頭の印刷ジョブであるＪ４が選択される。今回の場合は、図６の（ｂ）に示されるように、Ｊ４の割付が可能であるので、［ｘ，ｙ］＝［０，ｈ２＋余白］がＪ４の配置位置として登録され、Ｊ４の割付を完了する。
【００９１】
その後、処理がステップＳ１０８、Ｓ１０９、Ｓ１１０と流れ、割付リストでＪ３が選択されて、Ｊ３について再度割付処理が行なわれる（Ｓ１０３）。今回の場合は、図６の（ｂ）に示されるように、Ｊ３の割付が可能であるので、Ｊ３の配置位置が登録され、Ｊ３の割付を完了する。
【００９２】
ここで、処理がステップＳ１０８に移行し、未登録のジョブがないので（Ｓ１０８のＹｅｓ）、当該割付リストについての配置処理が完了する。
【００９３】
なお、元々、ネスティング出力で使用する用紙の幅よりも画像の幅が大きい印刷ジョブを選択してしまっている場合には、当該印刷ジョブの処理において、図５の処理フローでステップＳ１１２のＹｅｓに移行することになり、ステップＳ１１３でエラー処理を実施する。このような印刷ジョブは元々割付が不可能であるので、かかる処理を実行する。
【００９４】
また、図６に基づく例において、Ｊ３の１行目での割付（Ｊ２の右側への割付）において割付不可能であったが、用紙幅が広く、Ｊ４の割付はできないもののＪ３の割付が可能であった場合には、処理がＳ１０８からＳ１０９のＮｏに流れ、その後、Ｓ１１４に移行して改行の処理が行なわれることになる。
【００９５】
このようにして、配置モジュール２２６による配置処理が実行されるが、当該処理では、割付リストの順番で用紙の一方向に割付を行なっていき、割付できないジョブについては割付を後回しとし、順次、割付可能なジョブを割り付けていく。そして、割り付けられるものがなくなった場合には、改行し、すなわち、割付開始位置を上記割付方向と直行する方向にずらして割付未完了のジョブについて同様の処理を行なう。
【００９６】
なお、上述の説明ではソート法１の場合について説明したが、他のソート法の場合についても同様に処理が実行される。
【００９７】
以上説明したように、本実施の形態例におけるプリントサーバ２では、ネスティング出力を行なう際に、用紙への出力を実行する前に、各印刷ジョブの出力時の配置状態をプレビュー表示し、ユーザの確認を受けてから実際の出力処理を実行する。また、複数のソート方法による複数の配置パターンが用意され、ユーザはその中から所望のパターンを選択して出力することができる。従って、ユーザにとって適切な配置でのネスティング出力が可能となり、また、用紙に出力後に再印刷することもなくなり、時間と用紙の浪費を抑えることもできる。
【００９８】
また、ソート法１、３、又は４を用いることにより、配置処理において、サイズの大きな印刷ジョブから割付が行なわれるようになり、効率的なレイアウトでの出力が可能である。
【００９９】
また、上述した配置処理を用いることにより、割付後のジョブ（画像）同士が重なり合わない適切なレイアウトをつくることができ、かつ、小さいスペースでも割付可能なジョブを探して割付を行なうので用紙の節約を行なうこともできる。
【０１００】
なお、上述の実施の形態例では、ネスティング出力の処理（図２のステップＳ６〜Ｓ１６の処理）をプリントサーバ２で実行していたが、当該画像データ生成処理をホストコンピュータ１あるいはプリンタ３で行うようにすることも可能である。ホストコンピュータ１で行うようにする場合には、プリンタドライバ１１が、プリントサーバ２の画像データ生成部２２と同様の機能を有し、生成後のデータをプリンタ３に転送して印刷を実行させる。一方、プリンタ３にて行うようにする場合には、プリンタ３のコントローラが上記ネスティング出力の処理の機能を有するようにする。そして、処理後のデータを用いて印刷処理を実行する。どちらの場合においても、上記実施の形態例の場合と同様の効果を得ることができる。
【０１０１】
また、上述の実施の形態例では、ネスティング出力する各画像をホストコンピュータ１からの印刷ジョブとしていたが、これに限られることはなく、他のソースから取得して保持している画像を用いてネスティング出力することも可能である。
【０１０２】
本発明の保護範囲は、上記の実施の形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶものである。
【図面の簡単な説明】
【０１０３】
【図１】本発明を適用した画像データ生成装置を有する印刷システムの実施の形態例に係る構成図である。
【図２】ネスティング印刷時の処理手順を例示したフローチャートである。
【図３】登録された印刷ジョブの各画像とそれらのソート処理について説明するための図である。
【図４】ネスティング出力のプレビュー表示を例示した図である。
【図５】配置モジュール２２６による配置処理の手順を例示したフローチャートである。
【図６】図３の例でソート法１を用いた場合の配置処理を説明するための図である。
【符号の説明】
【０１０４】
１  ホストコンピュータ、  ２  プリントサーバ、  ３  プリンタ、  １１  プリンタドライバ、  １２  アプリケーション、  ２１  ＯＳ、  ２２  画像データ生成部、  ２３  通信Ｉ／Ｆ、  ２４  ＨＤＤ、  ２５  シリアル通信Ｉ／Ｆ、  ２６  ＵＳＢＩ／Ｆ、  ２７  モニタ、  ２８  キーボード・マウス、  ２１１  ディスプレードライバ、  ２１２  入力機器ドライバ、  ２１３  Ｉ／Ｏドライバ、  ２２１  印刷ジョブ取得モジュール、  ２２２  言語解釈モジュール、  ２２３  レンダリングモジュール、  ２２４  用紙節約リスト登録モジュール（登録手段）、  ２２５  ソートモジュール（ソート手段）、  ２２６  配置モジュール（配置手段）、  ２２７  プレビュー表示モジュール（プレビュー表示手段）、  ２２８  合成モジュール（データ生成手段）、  ２２９  印刷実行モジュール、  ２３０  ＧＵＩコントローラモジュール、  ２３１  ＧＵＩビューモジュール、  ２４１  スプールデータ、  ２４２  プレビューデータ、  ２４３  ビットマップデータ、  ２４４  用紙サイズ情報データ、  ２４５  用紙節約リストデータ
【図１】
2008225547.tif 000003
【図２】
2008225547.tif 000004
【図３】
2008225547.tif 000005
【図４】
2008225547.tif 000006
【図５】
2008225547.tif 000007
【図６】
2008225547.tif 000008