(57)【要約】【課題】従来の用紙節約印刷は汎用性が低く実質的には用紙の節約をすることができなかった。【解決手段】印刷ジョブを実行させるための印刷ジョブデータを取得し、印刷解像度毎に印刷領域を設定し、上記印刷ジョブデータにて指定された印刷解像度が同一であるものについて印刷対象の画像を印刷解像度が同一の印刷領域の余白に配置するとともにその配置を示す配置データを生成しつつ上記印刷ジョブデータをスプールし、印刷ジョブの実行を開始する条件に達したときに上記スプールされた印刷ジョブデータが示す画像を上記配置データに従って印刷する。【選択図】  図４
2004261994.tif 000002
【特許請求の範囲】
【請求項１】
印刷ジョブを実行させるための印刷ジョブデータを取得する印刷ジョブデータ取得手段と、
印刷ジョブの実行を開始する条件を示す印刷開始条件データを所定の記憶媒体に記憶する印刷開始条件データ記憶手段と、
印刷解像度毎に印刷領域を設定し、上記印刷ジョブデータにて指定された印刷解像度が同一であるものについて印刷対象の画像を印刷解像度が同一の印刷領域の余白に配置するとともにその配置を示す配置データを生成しつつ上記印刷ジョブデータをスプールするスプール手段と、
上記印刷開始条件データが示す条件に達したときに上記スプール手段にてスプールされた印刷ジョブデータが示す画像を上記配置データに従って印刷する印刷実行手段とを備えることを特徴とする印刷制御装置。
【請求項２】
上記スプール手段は、上記印刷ジョブデータにて指定された印刷解像度が同一であるものについては上記配置データによって印刷対象の各画像の配置を指定した単一のファイルとしてスプールすることを特徴とする上記請求項１に記載の印刷制御装置。
【請求項３】
上記スプール手段は、後から投入された印刷ジョブデータにおける印刷対象の画像が上記印刷領域の余白中で主走査方向に配置可能である場合に当該主走査方向に並べて配置することを特徴とする上記請求項１または請求項２のいずれかに記載の印刷制御装置。
【請求項４】
上記スプール手段は、上記設定した印刷領域に充分な余白が存在しないときに副走査方向に印刷領域を拡張することを特徴とする上記請求項１〜請求項３に記載の印刷制御装置。
【請求項５】
上記印刷開始条件データは、上記印刷ジョブデータの投入主体毎に予め決められることを特徴とする上記請求項１〜請求項４のいずれかに記載の印刷制御装置。
【請求項６】
上記印刷開始条件は、印刷ジョブの蓄積数とスプールした印刷ジョブの画像を印刷したときの大きさとスプール開始からの経過時間と所定の印刷領域に対して画像が占める面積の割合とのいずれかまたはこれらの組み合わせによって決められていることを特徴とする上記請求項１〜請求項５のいずれかに記載の印刷制御装置。
【請求項７】
投入された印刷ジョブの画像の配置を制御して印刷を実行する印刷制御方法であって、
印刷ジョブを実行させるための印刷ジョブデータを取得する印刷ジョブデータ取得工程と、
印刷解像度毎に印刷領域を設定し、上記印刷ジョブデータにて指定された印刷解像度が同一であるものについて印刷対象の画像を印刷解像度が同一の印刷領域の余白に配置するとともにその配置を示す配置データを生成しつつ上記印刷ジョブデータをスプールするスプール工程と、
印刷ジョブの実行を開始する条件に達したときに上記スプールされた印刷ジョブデータが示す画像を上記配置データに従って印刷する印刷実行工程とを備えることを特徴とする印刷制御方法。
【請求項８】
投入された印刷ジョブの画像の配置を制御して印刷を実行する印刷制御プログラムであって、
印刷ジョブを実行させるための印刷ジョブデータを取得する印刷ジョブデータ取得機能と、
印刷ジョブの実行を開始する条件を示す印刷開始条件データを所定の記憶媒体に記憶する印刷開始条件データ記憶機能と、
印刷解像度毎に印刷領域を設定し、上記印刷ジョブデータにて指定された印刷解像度が同一であるものについて印刷対象の画像を印刷解像度が同一の印刷領域の余白に配置するとともにその配置を示す配置データを生成しつつ上記印刷ジョブデータをスプールするスプール機能と、
上記印刷開始条件データが示す条件に達したときに上記スプール機能にてスプールされた印刷ジョブデータが示す画像を上記配置データに従って印刷する印刷実行機能とをコンピュータに実現させることを特徴とする印刷制御プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、印刷制御装置、印刷制御方法および印刷制御プログラムに関する。
【０００２】
【従来の技術】
インクジェット等のプリンタにおいてはインクノズルを搭載したヘッドを用紙搬送方向に垂直に移動させる主走査を行いながらインク滴を記録し、主走査後に用紙を搬送する副走査を行って印刷を実行するのが一般的である。このため、印刷対象の画像は主走査方向の一方に詰めて配置するのが一般的である。例えば、印刷用紙の左隅に詰めて画像を配置して印刷を行う。この場合、画像の右側に余白が生じ、印刷用紙に無駄が生じることがある。特に、Ｂ０サイズ等の大きな印刷用紙を利用する大判プリンタにおいては、常に用紙の幅一杯に印刷する訳ではなく、用紙右側の余白が無駄になることが多かった。そこで、従来の技術として、同一印刷ジョブを２部位上印刷する場合にページをロール紙の幅に入る限り横に並べてプリンタに送るなどして余白を小さくする技術が知られている。（例えば、非特許文献１参照）
【０００３】
【非特許文献１】
「Ｆｉｅｒｙ  Ｓｐａｒｋ  Ｐｒｏｆｅｓｓｉｏｎａｌ  ＰＳ  ソフトリップ  ＰＲＯ  ｖ２．０  印刷ガイド  ＰＸ−１００００／ＭＣ−１００００／ＰＭ−１００００対応」、２００２年発行、付録ページＡ−１８，２５
【０００４】
【発明が解決しようとする課題】
上述した従来の技術においては、汎用性が低く実質的には用紙の節約をすることができなかった。すなわち、上記従来技術では、同一の印刷ジョブについてのみ横に並べるので、同じ印刷対象について２部以上印刷しない場合には用紙の節約ができない。また、同じ印刷ジョブであるため、印刷サイズおよび解像度も共通である必要があり、汎用性が低い。また、用紙幅の２倍以上の印刷対象であれば、横に並べることはできないので、この場合の余白については何ら対策を施すことができない。
本発明は、上記課題にかんがみてなされたもので、多くの場合に自動で印刷用紙の余白を低減することが可能な印刷制御装置、印刷制御方法および印刷制御プログラムの提供を目的とする。
【０００５】
【課題を解決するための手段および発明の効果】
上記目的を達成するため、本発明では印刷ジョブデータをスプールする際に印刷解像度毎に印刷領域を設定し、当該印刷領域の印刷解像度に合致した印刷対象の画像を逐次配置して配置データとする。そして、印刷開始条件に達した段階で配置データに従って各印刷対象の画像を印刷する。すなわち、印刷ジョブを実行させるための印刷ジョブデータには、少なくとも印刷対象の印刷解像度および印刷対象の画像を示すデータが含まれているので、この印刷ジョブデータから印刷解像度と画像のサイズを取得することができる。また、印刷解像度が可変のプリンタであっても通常、一回の主走査で印刷解像度は不変であり、ある範囲についてある印刷解像度で主走査および副走査を行った後に別の範囲について印刷解像度を変更する。
【０００６】
そこで、本発明においては上記印刷領域を印刷解像度毎に設定し、投入される印刷ジョブの解像度が共通である場合には、印刷対象の画像をこの印刷領域の余白に配置する。このとき、上記印刷画像のサイズを把握して画像同士が重複しないように印刷領域上に画像を配置し、配置位置および配置対象の画像を特定する配置データを作成する。
【０００７】
この結果、印刷解像度毎ではあるが印刷領域内の余白に印刷対象の画像を詰めて配置して印刷を実行可能な状態で印刷ジョブをスプールすることができる。従って、異なる印刷解像度の印刷ジョブが複数投入された場合であっても印刷用紙を節約することができる。また、本発明においては印刷解像度が共通であればどのような印刷ジョブであっても余白への配置を行うことができる。すなわち、同一印刷ジョブでなくても印刷解像度が共通である限り自動で配置がなされ、多くの場合に余白を低減することができる。
【０００８】
ここで、印刷ジョブデータは印刷ジョブを実行させるためのデータを含んでいれば良く、種々の態様を採用可能である。例えば、ポストスクリプト（ポストスクリプトはアドビシステムズの登録商標）等のページ記述言語で記述されたデータ等を採用可能である。また、印刷ジョブを実行させるために種々のデータを含むことができるが、少なくとも印刷解像度を示すデータと印刷対象画像を示すデータを含んでいればよい。印刷サイズは印刷対象画像の内容を解釈してから取得しても良いし、印刷サイズをピクセル、長さ等によって直接的に示すデータを含むように構成し、当該データから取得しても良い。尚、印刷対象の画像は印刷対象となりうる総ての文字、絵、図、表等を含む。
【０００９】
印刷開始条件データとしては、一時的に蓄積されたスプールデータについて印刷を開始する条件を示すデータであれば良く、種々のデータを採用可能である。例えば、印刷ジョブの蓄積数を示すデータであれば、この蓄積数に達するまでスプールを続けることができる。また、スプールした印刷ジョブの画像を印刷したときの大きさを示すデータであれば、得られる印刷物が一定の大きさに達するまでスプールを続けることができる。スプール開始からの経過時間を示すデータであれば、一定時間は印刷開始を待機することができる。所定の印刷領域に対して画像が占める面積の割合を示すデータであれば、印刷画像が印刷領域に対して一定比率の面積に達するまでスプールを続けることができる。
【００１０】
また、複数の利用者によって印刷を実行する環境にて好適な構成例として、印刷開始条件データを予め上記印刷ジョブデータの投入主体毎に決めておく構成を採用可能である。すなわち、印刷ジョブデータの投入主体が別であれば別の印刷用紙に印刷を行いたい場合も多いので、印刷開始条件データを印刷ジョブデータの投入主体毎に決めておけば印刷ジョブデータの投入主体別にスプールを行い、また、スプールを終了して印刷を開始することができる。
【００１１】
尚、印刷ジョブデータの投入主体は印刷ジョブデータを投入したユーザー自体であっても良いし、印刷ジョブデータの投入を実施したコンピュータであっても良い。また、この投入主体を示すデータが印刷ジョブデータに含まれる場合にはこのデータを取得すればよいし、含まれないのであれば、印刷ジョブデータの投入時に投入主体を示すデータを印刷ジョブデータのヘッダに付加する処理等を実施すればよい。
【００１２】
印刷領域は印刷画像を配置する領域を示していればよく、少なくとも印刷領域の縦横の大きさを示していればよい。例えば、縦横の大きさを長さ（ｍｍやインチ等）で指定したデータであっても良いし、大きさを示すための座標データ（四隅の座標や対角２点の座標等）であっても良い。さらに、印刷画像を蓄積するバッファ領域であっても良い。これによれば、バッファの容量によって印刷領域の大きさを示すことができる。むろん、縦横に配置可能なピクセル数等、画像の大きさに対応した情報が分かるようにしておく。
【００１３】
この印刷領域は新たな印刷解像度の印刷ジョブデータが投入された後に設定すれば充分であるが、むろん、予め用意しておいても良い。また、上述のように印刷ジョブデータの投入主体別にスプールを行うためには、上記印刷領域も投入主体別に設定するのが好ましい。すなわち、同じ印刷解像度であっても投入主体が異なる場合には異なる印刷領域を設定し、投入主体別に印刷画像を配置する。
【００１４】
スプール手段は印刷解像度が同一であるものについて印刷対象の画像を印刷解像度が同一の印刷領域の余白に配置して配置データを生成しながら印刷ジョブデータを蓄積することができればよい。すなわち、印刷対象画像の大きさを示すデータを取得すれば、印刷領域内に配置可能であるか否かを判定することができるので、印刷ジョブデータの投入順に印刷領域内で左側かつ上側に詰めるように配置するなどして印刷領域内の位置を決定することができる。特に、後から投入された印刷ジョブデータにおける印刷対象の画像が上記印刷領域の余白中で主走査方向に配置可能である場合に当該主走査方向に並べて配置することで、効果的に余白を低減することができる。
【００１５】
画像の配置を決定したら、印刷領域内でのその画像の配置を示すデータを配置データとすればよい。例えば、印刷領域内での位置を特定可能な座標データを配置データとすることができる。配置データの形式としては種々の形式を採用可能であり、印刷ジョブデータ内で画像の位置を記述する部分に配置データを書き込むなどの構成を採用可能である。印刷ジョブデータの蓄積対象としては、ハードディスクドライブやＲＡＭ，ＥＥＰＲＯＭ等種々の記憶媒体を採用可能である。
【００１６】
スプールを行う際に好適な構成例として、印刷ジョブデータにて指定された印刷解像度が同一であるものについては上記配置データによって印刷対象の各画像の配置を指定した単一のファイルとしてスプールする構成を採用可能である。すなわち、ある一定範囲の印刷領域について画像を印刷する場合には単一のファイルで印刷対象および解像度等の各種設定を記述するのが好ましく、特に、印刷用紙上で主走査方向に画像を並べて印刷を行う場合に単一のファイルで印刷対象を記述してあると非常に容易に印刷を実行することができる。
【００１７】
すなわち、単一のファイルにおいて一定範囲の印刷領域について印刷を実行させるデータを構成する場合には、このファイルにて印刷を実行する印刷解像度を一つ指定しておけばよいし、画像の位置としても配置を示す配置データをファイル内に含めるのみで各印刷ジョブでの画像位置を指定することができる。むろん、このとき画像を示すデータもファイル内に含める必要がある。より具体的には、上記ページ記述言語で指定されたファイルが既にスプールされており、その後、他のファイルで記述された印刷ジョブが投入された場合、この印刷ジョブの画像の配置を特定する配置データおよび画像を記述した部分を既存のスプールファイルに付加する構成を採用可能である。
【００１８】
さらに、スプール時の処理として好適な構成例として、印刷領域に充分な余白が存在しないときに副走査方向に印刷領域を拡張する構成を採用しても良い。すなわち、印刷領域の副走査方向としては印刷画像の下端に近い方が余白が少なくなるものの、投入される印刷ジョブを主走査方向に配置すると、余白が足りなくなることもある。この場合に印刷領域を副走査方向に拡張することにより、印刷領域に余白を確保することができるので、印刷対象の画像を配置することが可能になる。
【００１９】
印刷実行手段においては、印刷ジョブデータおよび配置データに従って印刷を実行することができれば良く、印刷ジョブデータがページ記述言語で記述されている場合には、当該ページ記述言語を解釈し、色変換やハーフトーン処理等を行って印刷データを生成し、プリンタに対して出力する。むろん、配置データが印刷ジョブデータに含まれている場合には、スプールされた印刷ジョブデータに従って印刷を実行することができれば良く、配置データが上記ページ記述言語のフォーマット通りに記述されているのであれば、印刷実行手段としては汎用的なモジュールで実現可能である。
【００２０】
ところで、上述した印刷制御装置は、単独で実施される場合もあるし、ある機器に組み込まれた状態で他の方法とともに実施されることもあるなど、発明の思想としては各種の態様を含むものであって、適宜、変更可能である。また、上述したようなスプール時の画像配置制御手法は、所定の手順に従って処理を進めていくうえで、その根底にはその手順に発明が存在するということは当然である。
したがって、本発明は方法としても適用可能であり、請求項７にかかる発明においても、基本的には同様の作用となる。本発明を実施しようとする際に、印刷制御装置にて所定のプログラムを実行させる場合もある。本発明は、そのプログラムとしても適用可能であり、請求項８にかかる発明においても、基本的には同様の作用となる。
【００２１】
むろん、請求項２〜請求項６に記載された構成を上記方法やプログラムに対応させることも可能であることは言うまでもない。また、いかなる記憶媒体もプログラムを提供するために使用可能である。例えば、磁気記録媒体や光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。また、一部がソフトウェアであって、一部がハードウェアで実現される場合においても本発明の思想において全く異なるものではなく、一部を記録媒体上に記録しておいて必要に応じて適宜読み込む形態のものも含まれる。さらに、一次複製品、二次複製品などの複製段階については全く問う余地なく同等である。
【００２２】
【発明の実施の形態】
ここでは、下記の順序に従って本発明の実施の形態について説明する。
（１）印刷制御装置の構成：
（２）印刷制御処理：
（２−１）配置データ生成処理：
（３）印刷制御動作：
（４）他の実施形態：
【００２３】
（１）印刷制御装置の構成：
図１は、本実施形態にかかる印刷制御処理の構成を説明するブロック図である。本実施形態においては、ＰＣによって生成されたＰＳファイル１１（ポストスクリプトファイル）を印刷制御装置１０が図示しないネットワーク経由で取得し、当該印刷制御装置１０で解析して印刷データを生成し、プリンタに対して転送する。プリンタ１５では、この印刷データに基づいて印刷を行う。印刷制御装置１０は汎用的なコンピュータによって構成可能である。すなわち、図示しないＣＰＵ，ＲＡＭ，ＲＯＭ等からなるプログラムの実行系やＨＤＤ（ハードディスクドライブ）等の固定記憶装置，プリンタ１５と接続するＩ／Ｆ（インターフェイス）、ディスプレイ１２，マウス１３ａ，キーボード１３ｂと接続するＩ／Ｆ等を備えていればよい。
【００２４】
プリンタ１５はプリンタＩ／Ｆを介して印刷制御装置１０に接続されており、本実施形態におけるプリンタ１５ではＣＭＹＫの各色インクを搭載し、各色インクをノズルから吐出することによって印刷媒体上に画像を形成する。ＨＤＤ２０には、ディスプレイ１２で表示する画像の色をＣＭＹＫ表色系で表現したデータをＬａｂ表色系で色を表現したデータに変換する複数の印刷プロファイル２１と、Ｌａｂ表色系で色を表現したデータをプリンタ１５で使用する色をＣＭＹＫ表色系で表現したデータに変換する複数のメディアプロファイル２２が記憶されている。
【００２５】
尚、各プロファイルではディスプレイやプリンタに依存する機器依存色と機器非依存色との変換をすることができれば良く、上記Ｌａｂ表色系の他、ＸＹＺ表色系等、種々の表色系を使用可能である。また、ディスプレイ１２で使用する色の表色系はＣＭＹＫ表色系に限らずＲＧＢ表色系でも良いし、プリンタ１５で使用する色の表色系としてもＣＭＹＫ表色系に限らずＣＭＹＫｌｃｌｍ表色系であっても良いし、他の表色系であっても良い。本実施形態においては印刷プロファイルとメディアプロファイルとによって色変換を実施可能にしているが、むろん、ディスプレイ１２で使用する色を示すデータとプリンタ１５で使用する色を示すデータとの対応関係を規定したＬＵＴによって色変換を実施可能に構成しても良い。
【００２６】
さらにＨＤＤ２０には、予め印刷開始条件データ２３が記録されている。印刷開始条件データ２３においては印刷開始条件が登録されており、当該印刷開始条件は印刷ジョブの投入主体としてのユーザ名が組になって登録されている。図１においては、ユーザ名としてユーザＡ，ユーザＢが存在し、ユーザＡの印刷開始条件は印刷ジョブ数３であり、ユーザＢの印刷開始条件は５時間である。すなわち、ユーザＡが投入した印刷ジョブは３回分スプールされた後に印刷が実行され、ユーザＢが投入した印刷ジョブは最初の投入から５時間経過した後に印刷が実行される。
【００２７】
印刷ジョブ数が印刷開始条件に達しているか否かは、後述する印刷ジョブの番号によって判定する構成等を採用可能である。すなわち、本実施形態においては印刷ジョブの印刷対象画像に対して一つずつ番号を付与するので当該板号と印刷ジョブ数とが一致したら印刷ジョブ数が印刷開始条件に達していると判定することができる。最初の印刷ジョブの投入からの経過時間が印刷開始条件に達しているか否かを判定するためには、ＯＳの計時機能等を利用し、最初の印刷ジョブの投入から計時を開始し、計時時間と印刷開始条件とを比較すればよい。
【００２８】
印刷開始条件は他にも種々の条件を採用可能であり、印刷画像のサイズや印刷画像の面積が印刷用紙の面積に対して占める割合を条件とすることができ、印刷画像のサイズや印刷用紙のサイズはＰＳファイルに記述されている画像記述コマンドや印刷用紙を特定するデータ等から取得することができる。これらのデータと印刷開始条件として登録されたデータとを比較すればよい。
【００２９】
また、ＨＤＤ２０にはスプールファイル２４を蓄積可能である。本実施形態において、スプールファイル２４としてはＰＳファイルが蓄積されるようになっており、解像度およびユーザが共通の画像については単一のＰＳファイルとしてスプールする。図１に示す例では、ＰＳファイル２４ａ，２４ｂともにユーザＡが投入した印刷ジョブを実行させるデータであるが、前者は解像度Ａであり後者は解像度Ｂであって印刷解像度が互いに異なっている。
【００３０】
印刷制御プログラム３０は、スプール制御部３１と言語解釈部３２とカラーエンジン３３とハーフトーン処理部３４と印刷データ生成部３５とを備えている。
ＰＳファイル１１は各ユーザが使用するＰＣ上で起動するフォトレタッチソフトウェア等によって作成され、印刷ジョブ投入時に図示しないネットワークを介して印刷制御装置１０に供給される。印刷制御装置１０がネットワーク経由でＰＳファイル１１を取得すると当該ＰＳファイル１１は言語解釈部３２に入力される。
【００３１】
ＰＳファイル１１には印刷時の解像度とユーザ名と画像記述コマンドとが記述されており、上記印刷ジョブの投入時にユーザが使用するＰＣ上で起動するプリンタドライバにて特定される。本実施形態において、ユーザ名はＰＣに予め付与されたＰＣ名であり、このＰＣ名がユーザ名としてＰＳファイル１１に記述されることにより、ジョブを投入したＰＣの使用者としてユーザを特定することとなる。また、上記印刷開始条件データ２３に登録されるユーザ名は当該ＰＳファイル１１に記述され得るユーザ名であり、印刷開始条件データ２３を作成する際にネットワークに接続されたＰＣのＰＣ名と印刷開始条件データ２３に登録されるユーザ名とを一致させておく。
【００３２】
むろん、ＰＳファイル１１には上述の情報の他にも印刷を実行させるプリンタの機体，印刷用紙の種類，印刷プロファイル等の情報を含むことが可能である。
尚、各種情報を特定するための手法は様々であり、ＰＳファイル１１内に情報を記述することが必須というわけではない。例えば、上記プリンタドライバと印刷制御装置１０の印刷制御プログラムとが双方向通信を行ってユーザ名を取得するなど、種々の構成を採用可能である。
【００３３】
言語解釈部３２は、ＰＳファイル１１に記述されたポストスクリプト言語を解釈するモジュールであり、上述の解像度とユーザ名やプリンタの機体，印刷用紙の種類，使用する印刷プロファイル等を把握したり、印刷用紙の種類から印刷用紙に適合したメディアプロファイルを特定したりすることが可能である。また、画像記述コマンドを解析して印刷対象の文字や画像をドットマトリクス上の画素で構成し、各画素の色をＣＭＹＫ各色の階調値で表現した入力ＣＭＹＫ画像データを作成することが可能である。
【００３４】
スプール制御部３１は、この言語解釈部３２と連携してＰＳファイル１１をスプールするモジュールである。すなわち、印刷制御装置１０がＰＳファイル１１を取得すると、スプール制御部３１は言語解釈部３２が解釈した印刷解像度とユーザ名を取得する。そして、印刷開始条件データ２３を参照し、当該取得したユーザ名について印刷開始条件データ２３が登録されている場合には当該取得したＰＳファイル１１をＨＤＤ２０にスプールする。ＨＤＤ２０に対して既に他のＰＳファイルがスプールされている場合には既存のＰＳファイルに記述された解像度とユーザ名とを検索し、上記取得したＰＳファイル１１の解像度およびユーザ名と共通であれば当該既存のＰＳファイルに対して上記取得したＰＳファイル１１の画像記述コマンドを追加する。
【００３５】
このとき、配置データ生成部３１ａは既存のＰＳファイルに追加する画像記述コマンドにて生成される画像の配置を特定して配置データとし、上記ＰＳファイル１１に対して当該配置データを追加する。すなわち、配置データ生成部３１ａは印刷解像度毎に印刷領域を設定し、この印刷領域の中で画像が配置されていない部位（すなわち余白）に対して画像記述コマンドに記述された画像を配置する。尚、この段階では画像の大きさを把握することができればよいので、この段階で画像記述コマンドを総て解釈する必要はない。
【００３６】
配置データを作成する際には、配置データ生成部３１ａが印刷領域を設定し、当該印刷領域内で画像の配置を特定する。印刷領域は印刷解像度毎，ユーザ名毎に設定され、画像を印刷可能な領域の大きさを示しているが、本実施形態においてプリンタの主走査方向の大きさは固定であり、副走査方向の大きさは印刷の状況によって変動可能である。すなわち、印刷領域のサイズのうち主走査方向は印刷用紙の横幅やプリンタの機種に応じて固定的であるが、副走査方向については印刷画像の配置具合によってその下端が含まれるようにすれば良い。
【００３７】
尚、印刷用紙が定形サイズである場合には印刷用紙の縦サイズが固定的であるので、１ページ分の印刷領域に副走査方向の最大値が存在するが、印刷用紙がロール紙であれば副走査方向にほぼ上限がない。また、印刷領域を示すデータはスプール処理を実施している間中ＲＡＭ等に保存していても良いし、スプール処理を実施する度にスプール中のＰＳファイル２４ａ，２４ｂ等から生成しても良い。ＰＳファイル２４ａ，２４ｂから生成する場合には、当該ＰＳファイル２４ａ，２４ｂ内に記述された印刷用紙を示すデータから印刷可能な最大範囲を算出する。
【００３８】
言語解釈部３２は、上述のようにポストスクリプト言語を解釈することが可能であるとともに印刷開始条件データ２３を検索しており、印刷開始条件に合致しているか否かを判別する。印刷開始条件に合致したユーザのＰＳファイルが存在するときには、当該ＰＳファイルを取得して上述の言語解釈の処理を開始する。言語解釈処理の過程では、図示しないＲＡＭに印刷ページに相当するバッファを確保し、言語解釈によって生成された入力ＣＭＹＫ画像データを上記配置データが示す位置にバッファリングする。
【００３９】
カラーエンジン３３は、プロファイルを参照して色変換を実施するモジュールであり、上記印刷プロファイル２１を参照して画像の各画素の色を示すＣＭＹＫ値をＬａｂ値に変換する。さらに、メディアプロファイル２２を参照し、このＬａｂ値をプリンタ１５で使用するＣＭＹＫ値に変換する。ハーフトーン処理部３４は、当該変換後のＣＭＹＫ値をプリンタ１５における各画素でのインク吐出の有無を示すドットデータに変換するモジュールである。また、印刷データ生成部３５は当該ドットデータに基づいて上記プリンタ１５における図示しないヘッド機構やノズルからなるインク吐出機構を駆動するための印刷データを作成するモジュールである。作成された印刷データはプリンタＩ／Ｆに対して出力され、プリンタ１５は当該印刷データに基づいて上記余白を抑えつつ画像が配置された状態で画像を印刷する。
【００４０】
（２）印刷制御処理：
次に、上記構成における印刷制御処理をフローチャートに従って説明する。図２は印刷制御プログラム３０が実施する処理のフローチャートである。ユーザが各自のＰＣによってＰＳファイル１１を作成して印刷を実行すると、印刷制御プログラム３０は図示しないネットワークを介してステップＳ１００にて当該ＰＳファイル１１を取得する。ＰＳファイル１１を取得すると、ステップＳ１０５にて言語解釈部３２がＰＳファイル１１内に記述されたユーザ名を取得し、スプール制御部３１は当該取得したユーザ名についての印刷開始条件が印刷開始条件データ２３として登録済みであるか否かを判別する。
【００４１】
ステップＳ１０５にてユーザ名が登録済みであると判別されたときには、余白を抑えた配置で印刷するべくステップＳ１１０にて配置データ生成処理を実行する。ステップＳ１１０の配置データ生成処理が終了すると、ステップＳ１１５にて言語解釈部３２が印刷開始条件データ２３に登録された総てのユーザについての印刷開始条件を検索し、ステップＳ１２０にて印刷開始条件を満たしているＰＳファイルが存在するか否かを判別する。
【００４２】
同ステップＳ１２０にて印刷開始条件を満たしているＰＳファイルが存在すると判別されないときには、印刷制御プログラム３０がステップＳ１２５にて他の印刷ジョブにかかるＰＳファイルを取得したか否かを判別し、他の印刷ジョブにかかるＰＳファイルを取得したと判別されないときにはステップＳ１１５以降の処理を繰り返す。すなわち、印刷開始条件を満たすか新たに他の印刷ジョブにかかるＰＳファイルを取得するまで待機する。ステップＳ１２５にて他の印刷ジョブにかかるＰＳファイルを取得したと判別されたときにはステップＳ１０５以降の処理を繰り返す。
【００４３】
ステップＳ１２０にて、印刷開始条件を満たしているＰＳファイルが存在すると判別されたときには、ステップＳ１３０にて言語解釈部３２が印刷開始条件を満たしているＰＳファイルを取得し、ポストスクリプト言語を解釈する。この結果、上記図示しないＲＡＭ内に入力ＣＭＹＫ画像データが展開される。このとき、各印刷画像は上記配置データが示す位置に配置される。また、使用する印刷プロファイルやメディアプロファイルが特定される。
【００４４】
ステップＳ１３５では、カラーエンジン３３が上記特定された印刷プロファイルおよびメディアプロファイルを参照して上記入力ＣＭＹＫ画像データをプリンタ１５で使用するＣＭＹＫ値で色を記述したＣＭＹＫ画像データに変換する。ステップＳ１４０ではハーフトーン処理部３４が当該変換後のＣＭＹＫ画像データを上述のドットデータに変換し、ステップＳ１４５では印刷データ生成部３５が当該ドットデータに基づいて上述の印刷データを作成しプリンタ１５に対して印刷データを出力する。この結果、プリンタ１５は当該印刷データに基づいて画像を印刷する。この画像は、上記スプール制御部３１の制御により、共通の印刷解像度の画像が共通の印刷領域に配置されたものであるので、余白が抑えられており、印刷用紙を節約することが可能になる。
【００４５】
一方、上記ステップＳ１０５にてユーザ名が登録済みであると判別されないときには、スプール処理をすることなく言語解釈部３２がＰＳファイル１１を取得し、各モジュールがステップＳ１３０以降の処理を実施することによって当該ＰＳファイル１１に示された画像の印刷を実行する。
【００４６】
（２−１）配置データ生成処理：
次に、上記ステップＳ１１０における配置データ生成処理を詳細に説明する。図３は配置データ生成処理のフローチャートである。スプール制御部３１はステップＳ２００において、上記言語解釈部３２によって把握されたＰＳファイル１１の解像度を取得する。ステップＳ２１０では上記ＰＳファイルを検索し、上記取得した解像度と同一であり、かつ上記ステップＳ１０５で登録済みであると判別したユーザが投入したＰＳファイルが既にスプール済みであるか否かを判別する。
【００４７】
同ステップＳ２１０にてＰＳファイルが既にスプール済みであると判別されないときには、配置データ生成部３１ａが上記ステップＳ２００で取得した解像度に対応した印刷領域を設定する（ステップＳ２２０）。ステップＳ２１０にてＰＳファイルが既にスプール済みであると判別されたときおよびステップＳ２２０での処理の後、配置データ生成部３１ａはステップＳ２３０にて上記ＰＳファイルの１１印刷画像に対してジョブ番号を付与する。このジョブ番号は印刷画像のスプール順に付与される番号であり、スプールファイル２４内における単一のＰＳファイルでは通し番号となっている。
【００４８】
また、ジョブ番号は配置データによって特定される位置とその位置に配置する印刷画像とを対応づける番号であり、共通のＰＳファイル２４ａ，２４ｂ内に記述された複数の印刷画像の位置がいずれの配置データによって指定されるのかをこのジョブ番号によって特定する（図１におけるＰＳファイル２４ａ，２４ｂには画像記述コマンド１，２，３としてジョブ番号が付与されることを示している）。
【００４９】
ステップＳ２３５では、上記言語解釈部３２がＰＳファイル１１に記述された画像記述コマンドから印刷画像のサイズを把握し、配置データ生成部３１ａが当該印刷画像のサイズを取得する。ステップＳ２４０では、言語解釈部３２が印刷領域に余白があるか否かを判別する。ここで、スプール対象の解像度と同一の解像度を指定したスプールファイル２４が既に存在する場合には、既存の画像の印刷領域内での配置を把握して余白を検出する。スプール対象の解像度と同一の解像度を指定したスプールファイル２４が存在しない場合、すなわち、ステップＳ２２０の処理を経ている場合には、印刷領域の総てを余白とする。
【００５０】
そして、スプール対象の画像を配置可能な余白があるか否かを判別し、余白が存在すると判別されたときにはステップＳ２５０にて配置データを生成する。余白が存在すると判別されないときには、ステップＳ２４５にて印刷領域を上記スプール対象の画像を配置可能になるまで副走査方向に拡張して充分な余白を確保する。ステップＳ２５０においては、余白に対して印刷画像を配置してその配置データを生成する。このとき、この配置データと上記ステップＳ２３０にて付与したジョブ番号とを対応付け、スプール対象の解像度と同一の解像度を指定したスプールファイルが既に存在する場合には配置データと画像記述コマンドとを当該スプールファイルに書き込む。スプール対象の解像度と同一の解像度を指定したスプールファイルが既に存在しない場合には、上記生成した配置データを上記ステップＳ１００にて取得したＰＳファイル１１に書き込んでＨＤＤ１２にスプールする。
【００５１】
（３）印刷制御動作：
以下、上記構成およびフローによって実現される印刷制御動作を実例に則して説明する。図４は、ユーザＡとユーザＣが同図上部に示す印刷解像度および印刷画像のサイズにて印刷ジョブを投入した場合の動作を示す動作説明図である。同図において上部に示す矢印は時間軸であり、最初にユーザＡが７２０×７２０ｄｐｉ，２１０×２９７ｍｍの画像についての印刷ジョブを投入し、次にユーザＡが３６０×７２０ｄｐｉ，２１０×２９７ｍｍの画像についての印刷ジョブを投入し、次にユーザＣが７２０×７２０ｄｐｉ，２１０×２９７ｍｍの画像についての印刷ジョブを投入し、さらにユーザＡが７２０×７２０ｄｐｉ，９００×９００ｍｍの画像についての印刷ジョブを投入したことを示している。
【００５２】
また、この図においてはプリンタ１５が大判印刷プリンタであって主走査方向に４４インチの印刷範囲を有する印刷用紙に対して印刷を実行可能である。ここでは、図１の印刷開始条件データ２３に示すようにユーザＡの印刷開始条件はジョブ数３であり、ユーザＣに関して印刷開始条件は登録されていないこととする。ユーザＡが最初に７２０×７２０ｄｐｉ，２１０×２９７ｍｍの画像についての印刷ジョブを投入すると、そのＰＳファイル１１が印刷制御プログラム３０に取得され、ステップＳ１０５にてユーザＡの印刷開始条件が印刷開始条件データ２３として登録済みであると判別する。
【００５３】
そして、ステップＳ２００では印刷解像度の７２０×７２０ｄｐｉを取得し、ステップＳ２１０ではこの印刷解像度のＰＳファイルがスプールされていないことを判別する。従って、ステップＳ２２０にてユーザＡかつ印刷解像度７２０×７２０ｄｐｉの印刷領域を確保する。図４の中段においては、ユーザＡの印刷領域を示しており、印刷領域は主走査方向に４４インチである。この段階において副走査方向は２９７ｍｍ＋マージンという大きさにするのが好ましいが、これより小さくても後の印刷領域拡張処理（ステップＳ２４５）によって拡張される。
【００５４】
ステップＳ２３０ではこの印刷ジョブにジョブ番号１を付与し、ステップＳ２３５で印刷画像のサイズ２１０×２９７ｍｍを取得し、ステップＳ２４０で余白が存在することを確認したら、ステップＳ２５０にて印刷画像を配置する。この例では、印刷領域に対して印刷画像が未配置なので左端に詰めてジョブ番号１の印刷画像を配置する。このとき配置データとしては印刷画像の左上端の座標（Ｘ１，Ｙ１）を採用し、ＰＳファイル内にジョブ番号１の配置データとして書き込むとともにこの印刷画像の画像記述コマンドを画像記述コマンド１（ジョブ番号１の画像を示す）とし、ＰＳファイル２４ａとしてＨＤＤ２０にスプールする。
【００５５】
このスプール後にはステップＳ１１５，Ｓ１２０にて印刷開始条件に合致しているか否かを判別するが、付与済みのジョブ番号は１のみであり、ユーザＡの印刷開始条件はジョブ数３であるので、ステップＳ１２５以降の処理で印刷ジョブの投入待ちとなる。続いてユーザＡが３６０×７２０ｄｐｉ，２１０×２９７ｍｍの画像についての印刷ジョブを投入すると、そのＰＳファイル１１が印刷制御プログラム３０に取得され、ステップＳ１０５にてユーザＡの印刷開始条件が登録済みであるとされる。
【００５６】
ステップＳ２００では印刷解像度の３６０×７２０ｄｐｉを取得するが、この印刷解像度は上記ステップＳ２５０でスプールしたＰＳファイルの印刷解像度と異なるので、再びステップＳ２２０の処理を行い、ユーザＡかつ印刷解像度３６０×７２０ｄｐｉの印刷領域を確保する。そして、ステップＳ２３０にてこの印刷ジョブにジョブ番号２を付与し、ステップＳ２５０にて印刷画像を配置する。
ここでも、印刷領域に対して印刷画像が未配置なので左端に詰めてジョブ番号２の印刷画像を配置し、印刷画像の左上端の座標（Ｘ２，Ｙ２）を配置データとしつつそのＰＳファイルをＨＤＤ２０にスプールする。
【００５７】
このスプール後のステップＳ１１５，Ｓ１２０においてもジョブ番号が３に達していないとしてステップＳ１２５以降の処理で印刷ジョブの投入待ちとなる。
続いてユーザＣが７２０×７２０ｄｐｉ，２１０×２９７ｍｍの画像についての印刷ジョブを投入すると、そのＰＳファイル１１が印刷制御プログラム３０に取得され、ステップＳ１０５にてユーザＣの印刷開始条件が登録済みではないと判別される。従って、ステップＳ１０５〜Ｓ１２５の処理はスキップし、ステップＳ１３０〜Ｓ１４５の処理によって当該ＰＳファイル１１の印刷を実行する。
【００５８】
ユーザＣの投入印刷ジョブについての印刷を行った後には、再びステップＳ１２５以降の処理で印刷ジョブの投入待ちとなる。続いてユーザＡが７２０×７２０ｄｐｉ，９００×９００ｍｍの画像についての印刷ジョブを投入すると、そのＰＳファイル１１が印刷制御プログラム３０に取得され、ステップＳ１０５にてユーザＡの印刷開始条件が登録済みであるとされる。
【００５９】
ステップＳ２００では印刷解像度の７２０×７２０ｄｐｉを取得するが、この印刷解像度の印刷ジョブはＰＳファイル２４ａとして既にスプール済みであるので、ステップＳ２３０にてこの印刷ジョブにジョブ番号３を付与して配置処理を行う。但し、図４に示す７２０×７２０ｄｐｉの印刷領域では副走査方向に余白が足りないので、ステップＳ２４０の判別を経てステップＳ２４５にて印刷領域を副走査方向に拡張する。図４の右側中段に示す印刷領域は拡張後の領域であり、破線が拡張前の領域を示している。
【００６０】
印刷領域を拡張した後には９００×９００ｍｍの印刷画像をジョブ番号１の画像に対して主走査方向に並べて配置することができるので、ジョブ番号１の画像の隣に並べて９００×９００ｍｍの印刷画像を配置する。そして、印刷画像の左上端の座標（Ｘ３，Ｙ３）を配置データとしつつそのＰＳファイルをＨＤＤ２０にスプールする。このスプール後にステップＳ１１５，Ｓ１２０にて印刷開始条件を検索したときには、ジョブ番号３が付与済みであることによって印刷開始条件に合致したと判別し、ステップＳ１３０〜Ｓ１４５の処理によって上記ＰＳファイル２４ａおよび印刷解像度３６０×７２０ｄｐｉについてのＰＳファイルを印刷する。
【００６１】
（４）他の実施形態：
上述の実施形態は一例であり、共通の解像度の印刷画像について共通の印刷領域に配置してできるだけ余白を少なくすることができる限りにおいて、他にも種々の構成を採用することが可能である。上述の実施形態においては、ネットワークを介して複数のＰＣを印刷制御装置に接続し、各ＰＣから投入される印刷ジョブを実行する際に余白を低減する配置を行っていたが、むろんかかる構成が必須という訳ではない。
【００６２】
例えば、コンピュータに対してプリンタを接続した状態で、当該コンピュータ内で余白を低減する配置を行う印刷制御プログラムを実行するよう構成しても良い。すなわち、当該コンピュータに搭載するプリンタドライバの付属機能としてスプール制御部を構成し、印刷ジョブが投入されるたびに解像度を確認するとともに共通の解像度であれば共通の印刷領域に対して画像を配置しつつスプールする。この場合、ユーザは一人になるため、印刷開始条件とユーザ名とを対応づける必要はないし、ユーザ別に印刷領域を設ける必要もない。
【００６３】
また、本発明にかかる印刷制御装置をプリンタ自体に搭載することも可能である。すなわち、プリンタにおいてスプールを実施可能なＨＤＤやＥＥＰＲＯＭ等の記憶媒体とＣＰＵ，ＲＡＭ等からなるプログラム実行環境を構成し、プリンタ内で印刷制御プログラムを実行しても良い。むろん、デジタルカメラ等の画像機器をＵＳＢケーブル，ＩＥＥＥ１３９４ケーブル，無線等によって直接的にプリンタに接続し、いわゆるダイレクトプリントを実現する場合に本発明にかかる印刷制御を実施しても良い。
【００６４】
また、上記実施形態においては印刷ジョブデータがＰＳファイルであったが、むろん、他のページ記述言語で記述されていても良いし、画像データに対して種々のデータを付加した各種ファイルフォーマット（ＰＲＩＮＴ  Ｉｍａｇｅ  Ｍａｔｃｈｉｎｇ（セイコーエプソン株式会社の登録商標），ＥＸＩＦ２．２（社団法人電子情報技術産業境界の登録商標）等）を利用しても良い。この場合、解像度や画像の大きさ等の必要な情報をファイルのヘッダに記述しておく。
【図面の簡単な説明】
【図１】印刷制御処理の構成を説明するブロック図である。
【図２】印刷制御プログラムが実施する処理のフローチャートである。
【図３】配置データ生成処理のフローチャートである。
【図４】印刷ジョブを投入した場合の動作を示す動作説明図である。
【符号の説明】
１０…印刷制御装置、１１…ＰＳファイル、１５…プリンタ、２０…ＨＤＤ、２３…印刷開始条件データ、２４…スプールファイル、２４ａ，２４ｂ…ＰＳファイル、３０…印刷制御プログラム、３１…スプール制御部、３１ａ…配置データ生成部、３２…言語解釈部、３３…カラーエンジン、３４…ハーフトーン処理部、３５…印刷データ生成部
【図１】
2004261994.tif 000003
【図２】
2004261994.tif 000004
【図３】
2004261994.tif 000005
【図４】
2004261994.tif 000006