(57)【特許請求の範囲】
【請求項１】
画像形成装置に該媒体上に画像を形成させ、前記画像形成装置の特性を管理しない情報処理装置であって、
前記媒体上に設けられる一辺分の余白領域に関する第１の余白量を設定する設定手段と、
前記媒体における矩形の有効印字領域の上下左右の全ての辺における各余白量を前記第１の余白量よりも少ない第２の余白量へと狭めることで形成される印刷可能領域内に前記画像を収めるために、当該画像に関するデータを拡大又は縮小し、当該拡大または縮小されたデータを前記印刷可能領域の中央に配置する拡大縮小手段と、
前記第１の余白量と前記第２の余白量とを用いて求められる第３の余白量を導出する導出手段と、
前記画像形成装置が、前記導出手段によって導出された第３の余白量を用いて、前記拡大または縮小されたデータに基づく画像をシフトして前記媒体上に前記画像を形成するように指示する指示手段と、
を備え、
前記第２および第３の余白量は、前記第１の余白量の半分であり、前記画像形成装置は、自己の特性に応じて前記媒体上の上下左右のいずれか１つの辺に前記余白領域を設けることを決定し、決定した該辺において前記第３の余白量だけ前記拡大または縮小されたデータに基づく画像をシフトすることで、前記媒体上の決定した該辺に前記第１の余白量で前記一辺分の余白領域を形成することを特徴とする情報処理装置。
【請求項２】
前記第１の余白量は、綴じ代、穿孔、二つ折り、Ｚ折り又はステイプルに関するマージン量であることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記媒体の有効印字領域から前記第２の余白量に応じて縮小された印刷可能領域を算出する算出手段をさらに備え、
前記拡大縮小手段は、前記印刷可能領域内に前記画像に関するデータが収まるように拡大又は縮小を実行することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記指示手段は、前記第３の余白量を設けるべき辺又は方向に関する情報を前記画像形成装置に指示することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
画像形成装置に該媒体上に画像を形成させ、前記画像形成装置の特性を管理しない情報処理装置の制御方法であって、
前記媒体上に設けられる一辺分の余白領域に関する第１の余白量を設定する設定工程と、
前記媒体における矩形の有効印字領域の上下左右の全ての辺における各余白量を前記第１の余白量よりも少ない第２の余白量へと狭めることで形成される印刷可能領域内に前記画像を収めるために、当該画像に関するデータを拡大又は縮小し、当該拡大または縮小されたデータを前記印刷可能領域の中央に配置する拡大縮小工程と、
前記第１の余白量と前記第２の余白量とを用いて求められる第３の余白量を導出する導出工程と、
前記画像形成装置が、前記導出工程によって導出された第３の余白量を用いて、前記拡大または縮小されたデータに基づく画像をシフトして前記媒体上に前記画像を形成するように指示する指示工程と、
を備え、
前記第２および第３の余白量は、前記第１の余白量の半分であり、前記画像形成装置は、自己の特性に応じて前記媒体上の上下左右のいずれか１つの辺に前記余白領域を設けることを決定し、決定した該辺において前記第３の余白量だけ前記拡大または縮小されたデータに基づく画像をシフトすることで、前記媒体上の決定した該辺に前記第１の余白量で前記一辺分の余白領域を形成することを特徴とする制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本願発明は、印刷レイアウト装置および印刷レイアウト方法並びにこれらを記録した記録媒体に係わり、更に詳しくは、パーソナルコンピュータ等の情報処理装置とプリンタなどの印刷装置を備えたシステムにおいて、最適な綴じ代設定による印刷を行う場合に好適な印刷装置および印刷レイアウト手法に関わるものである。
【０００２】
【従来の技術】
従来、プリンタで印刷を行う場合における綴じ代の設定（余白設定）は、単に綴じ代の分だけ左右方向または上下方向に印字位置をずらすだけであった。このため、綴じ代の設定によっては、印刷データが用紙の有効印字領域からはみ出してしまうことがあった。
【０００３】
【発明が解決しようとする課題】
綴じ代を形成する処理の１つとして、情報処理装置が、綴じ代で指定された分だけ印刷データをシフト（移動）し、かつ、用紙の有効印字領域内に画像が収まるように印刷データ縮小し、シフト及び縮小された印刷データを印刷装置に転送するような処理が考えられる。すなわち、この処理では、印刷装置が印刷データのシフトや縮小処理を実行しない。
【０００４】
しかしながら、この処理では綴じ代に関わる印刷データの移動および縮小処理は情報装置側のみで行うことを前提としているため、印刷装置毎の給紙、排紙の特性は反映されていない。印刷装置の特性の一例としては、各用紙ごとの用紙の搬送方向、給紙および排紙に関わるオプション機器の種類、当該オプション機器の装着状態などが挙げられる。このように、印刷装置の特性は多種多様であり、そのすべてを機種毎に情報処理装置側で把握することは困難を極める。
【０００５】
さらに、綴じ代を単なる余白として使用する場合だけではなく、穿孔を空けたり、二つ折り又はＺ折りを指定したり、又はステイプル処理を施す場合などは印刷装置および装着される給排紙機構の制約を強く受ける。
【０００６】
従って、これらの特性の組み合わせは膨大な数に及び、多数の印刷装置に対応した印刷レイアウト装置を作成することは非常に困難である。
【０００７】
以上のように、印刷レイアウト装置はすべての印刷装置の特性を把握しているわけではないため、最終的な綴じ代の配置はやはり印刷装置側で行う必要があると考えられるが、この場合でも、画像データが有効印字領域からはみ出す事態は回避することが望ましい。
【０００８】
また、複数の用紙サイズおよび複数の印刷方向のページで構成される印刷ジョブに綴じ代を付ける場合も、多種多様な組み合わせが論理的には考えられる。これらの組み合わせは印刷装置および給排紙機構の種々の条件により決定されるものであるが、ユーザーの意図しない綴じ方となることも予想される。また、ユーザーもどのような綴じ方になるのかがよく把握できず、綴じ代設定に関して出力結果をイメージしづらいという問題がある。
【０００９】
本願発明の目的は、印刷装置側で綴じ代を処理する場合の印刷データのはみ出しを低減することである。
【００１０】
また、本願発明の他の目的は、異なる用紙サイズや異なる印刷方向の用紙で構成される印刷ドキュメントを揃える場合に、代表的な綴じ方をユーザーに提示し選択させることで、印刷装置側の特性に応じた綴じ代設定を行えるようにすることである。
【００１１】
【課題を解決するための手段】
上記目的を達成するために、本願発明によれば、画像形成装置に該媒体上に画像を形成させ、前記画像形成装置の特性を管理しない情報処理装置であって、
前記媒体上に設けられる一辺分の余白領域に関する第１の余白量を設定する設定手段と、
前記媒体における矩形の有効印字領域の上下左右の全ての辺における各余白量を前記第１の余白量よりも少ない第２の余白量へと狭めることで形成される印刷可能領域内に前記画像を収めるために、当該画像に関するデータを拡大又は縮小し、当該拡大または縮小されたデータを前記印刷可能領域の中央に配置する拡大縮小手段と、
前記第１の余白量と前記第２の余白量とを用いて求められる第３の余白量を導出する導出手段と、
前記画像形成装置が、前記導出手段によって導出された第３の余白量を用いて、前記拡大または縮小されたデータに基づく画像をシフトして前記媒体上に前記画像を形成するように指示する指示手段と、
を備え、
前記第２および第３の余白量は、前記第１の余白量の半分であり、前記画像形成装置は、自己の特性に応じて前記媒体上の上下左右のいずれか１つの辺に前記余白領域を設けることを決定し、決定した該辺において前記第３の余白量だけ前記拡大または縮小されたデータに基づく画像をシフトすることで、前記媒体上の決定した該辺に前記第１の余白量で前記一辺分の余白領域を形成することを特徴とする情報処理装置が提供される。
【００１８】
また、
前記第１の余白量は、綴じ代、穿孔、二つ折り、Ｚ折り又はステイプルに関するマージン量であってもよい。
【００１９】
また、
前記第２の余白量は、実質的に前記第１の余白量の半分であってもよい。
【００２０】
また、
前記媒体の有効印字領域から前記第２の余白量に応じて縮小された印刷可能領域を算出する算出手段をさらに備え、
前記拡大縮小手段は、前記印刷可能領域内に前記画像に関するデータが収まるように拡大又は縮小を実行するようにしてもよい。
【００２１】
また、
前記制御手段は、前記第３の余白量を設けるべき辺又は方向に関する情報を前記画像形成装置に指示するようにしてもよい。
【００２４】
【発明の実施の形態】
以下に本願発明の一実施形態を示す。もちろん以下の実施形態は、いわゆる当業者による実施を容易にするためのものであり、特許請求の範囲によって確定される本願発明の技術的範囲に含まれるほんの一部の実施形態にすぎない。従って、本願明細書に直接的に記載されていない実施形態であっても、技術思想が共通する限り本願発明の技術的範囲に包含されることは当業者にとって自明であろう。なお、便宜上複数の実施形態を記載するが、これらは個別に発明として成立するだけでなく、もちろん、複数の実施形態を適宜組み合わせることでも発明が成立することは、当業者であれば容易に理解できよう。
【００２５】
［第１の実施形態］
図１は、本願発明に係るプリンタ制御システムの構成例を示すブロック図である。本願発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ：ローカルエリアネットワーク）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ：広域ネットワーク）等のネットワークを介して接続がなされ処理が行われるシステムであっても、本願発明を適応できることは言うまでもない。また、本願発明を適応可能な実際の商品形態としてはＦＤ（Ｆｌｏｐｙ  Ｄｉｓｋ）、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  ＲＯＭ）、インターネットＷｅｂサイト、ＢＢＳ（Ｂｕｌｌｅｔｉｎ  Ｂｏａｒｄ  Ｓｙｓｔｅｍ：コンピュータを利用したメッセージ交換システム）を挙げることができる。即ち、プリンタ制御システムに対して本願発明のプログラムをＦＤやＣＤ−ＲＯＭから供給し、また、プリンタ制御システムをインターネットやＢＢＳなどに接続することが可能である。
【００２６】
本実施形態に関わるプリンタ制御システムは、ホストコンピュータ１００とプリンタ２００とから構成されている。ホストコンピュータ１００は、ＣＰＵ１０１と、ＲＡＭ１０２と、ＲＯＭ１０３と、キーボードコントローラ（ＫＢＣ）１０５と、ビデオコントローラ（ＶＤＣ）１０６と、ディスクコントローラ（ＤＣ）１０７と、プリンタコントローラ（ＰＲＴＣ）１０８と、キーボード１０９と、ディスプレイ１１０と、外部メモリ１１１とを備えている。
【００２７】
また、プリンタ２００は、ＣＰＵ２０１と、ＲＡＭ２０２と、ＲＯＭ２０３と、入力部２０５と、印刷部インタフェース（Ｉ／Ｆ）２０６と、メモリコントローラ（ＭＣ）２０７、プリンタエンジン２２０、操作部２３０、外部メモリ２４０などを備えている。なお、画像形成装置の一例としてプリンタ２００を一例として説明するが、複写機、ファクシミリ及び複合機など画像を形成するものであれば本願発明を適用できることは言うまでもない。
【００２８】
先ず、ホストコンピュータ１００各部の構成を詳述すると、ＣＰＵ１０１は、システムバス１０４に接続された各デバイスを総括的に制御する中央処理装置であり、ＲＯＭ１０３のプログラム用領域、或いは外部メモリ１１１に記憶された文書処理プログラム等に基づいて、図形、イメージ、文字、表（表計算等を含む）等が混在した文書処理を実行する。
【００２９】
また、ＣＰＵ１０１は、例えばＲＡＭ１０２上に確保された表示情報ＲＡＭに対し、アウトラインフォントの展開（ラスタライズ）処理を実行し、表示情報ＲＡＭに格納された情報をビデオコントローラ（ＶＤＣ）１０６を経由してディスプレイ１１０上に表示させる。これにより、ＷＹＳＩＷＹＧ（Ｗｈａｔ  ＹｏｕＳｅｅ  Ｉｓ  Ｗｈａｔ  Ｙｏｕ  Ｇｅｔ：ＣＲＴディスプレイ画面上に見えているそのままの大きさや形で印刷できる機能）が達成される。更に、ＣＰＵ１０１は、ディスプレイ１１０上のマウスカーソル（図示略）等で指示されたコマンドに応じて、登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザーはプリンタ２００を使用して印刷を実行する際、印刷の設定に関するウインドウを開き、プリンタ２００の設定や印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行うことができるようになっている。
【００３０】
ＲＡＭ１０２は、ＣＰＵ１０１の主メモリ、ワークエリア等として機能する。ＲＯＭ１０３は、フォント用領域と、プログラム用領域と、データ用領域とに分割される。フォント用領域或いは外部メモリ１１１は、上記文書処理の際に使用するフォントデータ等を記憶する。プログラム用領域或いは外部メモリ１１１は、ＣＰＵ１０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やオペレーティングシステム（以下、ＯＳ）等を記憶する。データ用領域或いは外部メモリ１１１は、上記文書処理等を行う際に使用する各種データを記憶する。
【００３１】
キーボードコントローラ（ＫＢＣ）１０５は、キーボード１０９やポインティングデバイス（図示略）からのキー入力を制御する。ビデオコントローラ（ＶＤＣ）１０６は、ディスプレイ１１０の表示を制御する。ディスクコントローラ（ＤＣ）１０７は、外部メモリ１１１とのアクセスを制御する。プリンタコントローラ（ＰＲＴＣ）１０８は、双方向性インタフェース１５０を介してプリンタ２００に接続されて、プリンタ２００との通信制御処理を実行する。また、キーボード１０９は、各種キーを備えている。ディスプレイ１１０は、図形、イメージ、文字、表等を表示する。
【００３２】
外部メモリ１１１は、ハードディスク（ＨＤ）、フレキシブルディスク（ＦＤ）等から構成されており、ブートプログラムやＯＳ、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム（以下、プリンタドライバ）等を記憶する領域として使用される。なお、外部メモリは、フレキシブルディスク、ハードディスク以外の磁気ディスク、光ディスク、光磁気ディスクまたは大容量のメモリなどで構成することができる。
【００３３】
上述したＣＰＵ１０１、ＲＡＭ１０２、ＲＯＭ１０３、キーボードコントローラ（ＫＢＣ）１０５、ビデオコントローラ（ＶＤＣ）１０６、ディスクコントローラ（ＤＣ）１０７、プリンタコントローラ（ＰＲＴＣ）１０８は、コンピュータ制御ユニット１２０上に配設されている。
【００３４】
以上の構成によって、任意の媒体上に所定量の余白を設けて画像形成装置（例：プリンタ２００）により画像を形成させる情報処理装置（例：ホストコンピュータ１００）であって、前記媒体の有効印字領域において前記所定量の一部だけ所定方向に前記画像をシフトさせる第１のシフト手段（例：ＣＰＵ１０１）と、前記画像が前記有効印字領域内に画像形成されるよう、前記所定量の概ね残りの量だけさらにシフトさせる第２のシフト手段（例：ＣＰＵ１０１、ＰＲＴＣ１０８）とを実現する。
【００３５】
次に、プリンタ２００各部の構成を詳述すると、ＣＰＵ２０１は、システムバス２０４に接続された各デバイスを総括的に制御する中央処理装置であり、ＲＯＭ２０３のプログラム用領域に記憶された制御プログラム等或いは外部メモリ２４０に記憶された制御プログラム等に基づいて、印刷エンジン２２０に出力情報としての画像信号を出力する。
また、ＣＰＵ２０１は、入力部２０５を介してホストコンピュータ１００との通信処理が可能となっており、プリンタ２００内の情報等をホストコンピュータ１００に通知できる構成となっている。
【００３６】
ＲＡＭ２０２は、ＣＰＵ２０１の主メモリやワークエリア等として機能し、増設ポートに接続されるオプションＲＡＭ（図示略）によりメモリ容量を拡張することができるように構成されている。尚、ＲＡＭ２０２は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。ＲＯＭ２０３は、フォント用領域と、プログラム用領域と、データ用領域とに分割される。フォント用領域は、上記出力情報を生成する際に使用するフォントデータ等を記憶する。プログラム領域は、ＣＰＵ２０１の制御プログラム等を記憶する。データ用領域は、プリンタ２００にハードディスク等の外部メモリ２４０が接続されていない場合には、ホストコンピュータ１００上で利用される情報等を記憶する。外部メモリ２４０は、ハードディスク（ＨＤ）、ＩＣカード等から構成されており、プリンタ２００にオプションとして接続される。外部メモリ２４０は、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶するものであり、メモリコントローラ（ＭＣ）２０７によりアクセスを制御される。尚、外部メモリ２４０は、１個に限らず複数個備えることが可能となっている。即ち、内蔵フォントに加えてオプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを、プリンタ２００に複数接続できるように構成されていてもよい。更に、ＮＶＲＡＭ（図示略）を有し、操作部２３０からのプリンタモード設定情報を記憶するようにしてもよい。
【００３７】
入力部２０５は、双方向性インタフェース１５０を介してプリンタ２００とホストコンピュータ１００との間におけるデータの送受を行う。印刷部インタフェース（Ｉ／Ｆ）２０６は、ＣＰＵ２０１と印刷エンジン２２０との間におけるデータの送受を行う。メモリコントローラ（ＭＣ）２０７は、外部メモリ２４０のアクセスを制御する。印刷エンジン２２０は、ＣＰＵ２０１の制御に基づき印刷動作を行い、不図示の記録媒体の搬送機構、半導体レーザーユニット、感光ドラム、現像ユニット、定着ユニット、ドラムクローニングユニット、および分離ユニット等で構成され、公知の電子写真プロセスで印刷を行う。操作部２３０は、各種操作のためのスイッチや表示手段（例えばＬＥＤ表示器）等を備えている。
【００３８】
上述したＣＰＵ２０１、ＲＡＭ２０２、ＲＯＭ２０３、入力部２０５、印刷部インタフェース（Ｉ／Ｆ）２０６、メモリコントローラ（ＭＣ）２０７は、プリンタ制御ユニット２１０上に配設されている。
【００３９】
図２は、プリンタ等の印刷装置が直接接続、或いはネットワーク経由で接続されているホストコンピュータ１００における典型的な印刷処理の構成を示すブロック図である。図２において、アプリケーション３０１、グラフィックエンジン３０２、プリンタドライバ３０３、及びシステムスプーラ３０４は、プログラムモジュールであり、外部メモリ１１１にファイルとして記憶されている。プログラムモジュールが実行される場合には、ＯＳやそのモジュールを利用する他のモジュールによってＲＡＭ１０２にロードされ実行される。また、アプリケーション３０１及びプリンタドライバ３０３は、外部メモリ１１１のひとつであるＦＤ、ＣＤ−ＲＯＭ又はネットワーク（以上図示略）を経由して、他の外部メモリ１１１であるＨＤに追加することが可能となっている。
【００４０】
外部メモリ１１１に保存されているアプリケーション３０１はＲＡＭ１０２にロードされて実行されるが、該アプリケーション３０１からプリンタ２００に対して印刷を行う際には、同様にＲＡＭ１０２にロードされ実行可能となっているグラフィックエンジン３０２を利用して出力（描画）を行う。グラフィックエンジン３０２は、印刷装置ごとに用意されたプリンタドライバ３０３を同様に外部メモリ１１１からＲＡＭ１０２にロードし、アプリケーション３０１の出力をプリンタドライバ３０３に設定する。更に、アプリケーション３０１から受け取るＧＤＩ（Ｇｒａｐｈｉｃ  ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）関数は、ＤＤＩ（Ｄｅｖｉｃｅ  Ｄｒｉｖｅｒ  Ｉｎｔｅｒｆａｃｅ）関数に変換され、このＤＤＩ関数はプリンタドライバ３０３に出力される。
【００４１】
プリンタドライバ３０３は、グラフィックエンジン３０２から受け取ったＤＤＩ関数に基づいて、プリンタが認識可能な制御コマンド、例えばＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）に変換する。変換されたプリンタ制御コマンドは、ＯＳによってＲＡＭ１０２にロードされたシステムスプーラ３０４に渡される。システムスプーラ３０４は、プリンタ制御コマンドを印刷データとしてインタフェース１５０経由しプリンタ２００に出力する。
【００４２】
本実施形態に係るプリンタ制御システムは、図１及び図２で示すホストコンピュータ１００とプリンタ２００からなる印刷システムに加えて、更に図３に示す如くアプリケーションからの印刷データを一旦中間コードデータでスプールする構成を有する。図３に記載のシステムは図２に記載のシステムを拡張したものであり、グラフィックエンジン３０２からプリンタドライバ３０３へ印刷命令を送る際に、一旦、中間コードからなるスプールファイル４０３を生成する構成を示したものである。
【００４３】
図２のシステムにおいて、アプリケーション３０１が印刷処理から開放されるのは、プリンタドライバ３０３がグラフィックエンジン３０２からの全ての印刷命令をプリンタ２００の制御コマンドへと変換を終了した後である。これに対して、図３に記載のシステムでは、アプリケーション３０１が印刷処理から開放されるのは、スプーラ４０２が全ての印刷命令を中間コードデータに変換し、スプールファイル４０３に出力した時点である。通常、後者の処理の方が短時間で済むメリットがある。また、図３に示すシステムにおいては、スプールファイル４０３の内容に対して加工することができるといったメリットもある。これにより、アプリケーションからの印刷データに対して、拡大／縮小や、複数ページを１ページに縮小して印刷するＮ−ｕｐ印刷等、アプリケーションが持たない機能を実現することができる。これらの目的のために、上記図２のシステムに対し、図３の如く中間コードデータでスプールするよう、システムの拡張がなされてきている。
【００４４】
尚、印刷データの加工を行うためには、通常、プリンタドライバ３０３が提供するウインドウから設定を行い、プリンタドライバ３０３がその設定内容をＲＡＭ１０２上或いは外部メモリ１１１上に保管することが必要である。
【００４５】
以下、図３の詳細を説明する。図示の如く、この拡張された処理方式では、グラフィックエンジン３０２からの印刷命令をディスパッチャ４０１が受け取る。ディスパッチャ４０１は、この印刷命令が、アプリケーション３０１からグラフィックエンジン３０２へと発行された印刷命令であると判定すると、ディスパッチャ４０１は外部メモリ１１１に格納されているスプーラ４０２をＲＡＭ１０２にロードし、プリンタドライバ３０３ではなく、スプーラ４０２へと印刷命令を送付する。
【００４６】
スプーラ４０２は、受け取った印刷命令を中間コードに変換してスプールファイル４０３に出力する。また、スプーラ４０２は、プリンタドライバ３０３に対して設定されている印刷データに関する加工設定をプリンタドライバ３０３から取得し、スプールファイル３０３に保存する。尚、スプールファイル４０３は外部メモリ１１１上にファイルとして生成されるが、ＲＡＭ１０２上に生成されても構わないことは当業者であれば理解できよう。更に、スプーラ４０２は、外部メモリ１１１に格納されているスプールファイルマネージャ４０４をＲＡＭ１０２にロードし、スプールファイルマネージャ４０４に対してスプールファイル４０３の生成状況を通知する。その後、スプールファイルマネージャ４０４は、スプールファイル４０３に保存されている加工設定の内容に従って、プリンタドライバ３０３が印刷データを作成できるかどうかを判断する。ここでスプールファイル４０３は、アプリケーションが出力したページである論理ページ単位で中間データを管理している。さらに、スプールファイル４０３は、前述したように、利用者がプリンタドライバ３０３に対して設定した加工設定、例えば余白印刷（１ページの紙に描画データを等倍もしくは縮小し、かつ、ずらして印刷すること）の設定なども管理している。よって、プリンタドライバ３０３が印刷データを作成できるかの判断は、スプールファイル４０３に格納されている加工設定に基づいて、必要な論理ページがすべてスプールファイル４０３に管理されていれば、印刷データの作成に必要なデータが揃っているので印刷データの作成が可能であると判断できる。
【００４７】
スプールファイルマネージャ４０４がグラフィックエンジン３０２を利用してプリンタドライバにより印刷データを作成できると判断した場合は、スプールファイルマネージャ４０４は、外部メモリ１１１に格納されているデスプーラ４０５をＲＡＭ１０２にロードし、デスプーラ４０５に対して、スプールファイル４０３に記述された中間データの印刷処理を行うように指示する。このときに、スプールファイルマネージャ４０４は、加工設定に伴う論理ページへの影響情報もデスプーラ４０５に指示する。
【００４８】
例えば、余白印刷の設定がなされている場合には、それぞれの論理ページが物理ページのどこに印刷されるかを示す位置情報と、物理ページにおける論理ページのサイズを示すサイズ情報とをスプールファイルマネージャ４０４が計算し、位置情報とサイズ情報とを含む影響情報を論理ページごとにデスプーラ４０５に対して指示する。なお、位置情報の求めかたについては、図５、図６で後述する。
【００４９】
デスプーラ４０５は、スプールファイル４０３に含まれる中間コードをスプールファイルマネージャ４０４によって指示される影響情報の内容に従って加工し、加工された中間データをＧＤＩ関数に変換し、グラフィックエンジン３０２に出力する。
【００５０】
デスプーラ４０５は、以下のような加工を行う。デスプーラ４０５は、スプールファイル４０３から取得した論理ページと、スプールファイルマネージャ４０４から取得した影響情報とに基づいて、論理ページ内に描画される印字データの物理ページにおける位置とサイズを再計算する。例えば、物理ページに余白を設けて画像を形成する場合は、格納されている余白の設定に従ってデータサイズが変倍される。また、左右と上下に異なった量の余白を設ける場合には、四辺の各余白のうちいずれか最大の余白について、その２分の１の余白量を求め、有効印字領域で囲まれる四角形の各辺を、求められた余白量だけ内側にシフトしてできる矩形が印刷可能な領域となる。この印刷可能領域が、印刷データを配置可能な領域となる。この印刷可能領域内に収まるようなサイズへと印刷データを縮小する。ここでは、余白量を便宜上２分の１としているが、適宜、変更してもよい。このように加工して得られた中間データをデスプーラ４０５はＧＤＩ関数に変換してグラフィックエンジン３０２に出力する。以上により、ユーザーにより指定された余白の半分が得られることになる。ちなみに、残りの半分の余白は、プリンタ２００に指示することで形成させる。本実施形態では、余白を２段階に分けて付そうとするものであるが、３段階以上の多段階にわたって付してもよい。
【００５１】
グラフィックエンジン３０２は、デスプーラ４０５から受け取ったＧＤＩ関数からＤＤＩ関数を生成し、ディスパッチャ４０１にＤＤＩ関数からなる印刷命令を出力する。この印刷命令が、デスプーラ４０５からグラフィックエンジン３０２に向けて発行されたＧＤＩ関数の印刷命令である場合は、ディスパッチャ４０１は、スプーラ４０２に代えて、プリンタドライバ３０３に印刷命令を送る。プリンタドライバ３０３は、受け取った印刷命令に基づいてプリンタ制御コマンドからなる印刷データを生成し、システムスプーラ３０４経由でプリンタ２００に印刷データを出力する。
【００５２】
次に、上記の如く構成した本実施形態に係るプリンタ制御システムにおけるデスプーラ４０５の一般的な処理について、図４及び図５のフローチャートを中心に詳細に説明する。図４はデスプーラ４０５の処理の流れを示すフローチャートである。尚、説明の煩雑さを避けるため、余白以外の加工設定はなされていないものとして説明を行うが、勿論、本実施形態の加工設定と他の加工設定とを併用することも可能である。
【００５３】
ステップＳ５０１では、レイアウトに用いるパラメータとして、例えば拡大縮小率、描画位置の移動量および方向などを初期化しておく。初期値としては、拡大縮小率は等倍、描画位置は移動なしの状態であることが望ましい。
【００５４】
ステップＳ５０２では、スプールファイル４０３に含まれる中間コードを読み込む。
【００５５】
ステップＳ５０３では、前記読み込んだ中間コードをスプールファイル４０３に含まれる加工設定の内容に従った印刷データに加工する。さらに、ステップＳ５０３では、描画コマンドをもう一度、グラフィックエンジン３０２へ出力も行う。
【００５６】
ステップＳ５０４では、中間コードを全て出力し終わったか否か、すなわち、描画を終了したかを判定する。判定の結果、描画が終了していれば、処理を終了し、一方、まだ出力すべき中間コードが残っている場合は、上記ステップＳ５０２へ戻り、次の中間コードの処理を行う。
【００５７】
図５は本実施形態の中核となる余白設定処理の流れを示すフローチャートであり、図４のステップＳ５０３をより詳細に示している。
【００５８】
ステップＳ６０１では、ステップＳ５０２で読み込んだ中間コードの種別を判定する。中間コードが余白パラメータであればステップＳ６０２へ進み、それ以外であればステップＳ６０６へと進む。
【００５９】
ステップＳ６０２では、余白パラメータをスプールファイル４０３から取得する。
【００６０】
ステップＳ６０３では、現在使用されている用紙サイズの有効印字領域（通常は、四角形）の各辺を、ステップＳ６０２で取得した余白量の半分の量だけ内側に移動した領域を印刷可能領域とする。
【００６１】
図６はステップＳ６０３において印刷可能領域を求める際の演算概念を示したものである。図６では、左辺に余白：ｍをつける場合を示しており、最初の段階では、上下左右問わず、有効印字領域の各辺から余白量ｍの半分（ｍ／２）だけ内側の領域を印刷可能領域として求める。
【００６２】
尚、一般的に余白といった場合、図６で示したように有効印字領域の端からの余白と、これとは別に物理用紙の端からの余白を示す場合とがある。以降、本実施形態で言う余白とは前者のをと指すこととする。もし本願発明において、後者の余白を考慮するのであれば、物理用紙の端から有効印字領域の端までの距離を、設定された余白から差し引いたものを新たに「余白」と定義すれば前者と同じことになろう。後者の場合、物理用紙の端から有効印字領域の端までの距離と余白で設定された量とが同じであれば、「余白」はゼロとなる。
【００６３】
図５に戻り、ステップＳ６０４では、まず、ステップＳ６０３で求められた印刷可能領域と、使用される用紙の有効印字領域とを比較し、印刷データに歪みが生じないで印刷可能領域内に最大のサイズで印刷できるように、縦横比が変わらない最大の拡縮率を求める。さらに、ステップＳ６０４では、拡縮率と印刷データとに基づいて、先の印刷可能領域内における印刷位置を決定する。なお、拡縮率の縦横比を変えないようにしてあるため、上下方向または左右方向のいずれかに若干の空白スペースが生じることも考えられる。このスペースの利用方法は様々あり、例えば、単に印刷可能領域の左上に形成画像を配置してもよいし、あるいは、印刷可能領域の中央に形成画像を配置してもよい。以上のように、拡縮率および印刷位置が決定される。
【００６４】
ステップ６０５では、まだ処理していない残りの半分の余白量（ｍ／２）を設定した印刷環境設定コマンドをグラフィックエンジンに送信する。勿論、この印刷環境設定コマンドはプリンタドライバ３０３により、プリンタ２００が解釈可能なプリンタコマンドへと変換され、プリンタ２００に通知される。プリンタ２００は、本コマンドを受信すると該当するページを、指定された量だけシフトして印刷が行われることになる。例えば、図６の例では、右方向にｍ／２だけシフトして印刷するよう指示する。
【００６５】
一方、ステップＳ６０１にて中間コードが余白パラメータ以外であると判定される場合、ステップＳ６０６へ進む。ステップＳ６０６では、印刷データをスプールファイル４０３から取得しする。ステップＳ６０７にて取得した中間コードである印刷データを描画コマンド又は印刷制御コマンドへと変換する。ステップＳ６０８では、変換された描画コマンドまたは印刷制御コマンドがレイアウトパラメータの影響を受けるかどうかを判定する。レイアウトパラメータの影響を受けるコマンドであれば、ステップＳ６０９に進み、レイアウト変換の必要なパラメータに対して、先にＳ６０４で決定されたレイアウトパラメータを用いレイアウト変換を行う。このレイアウト変換には拡大縮小機能と描画位置の移動機能が必要となる。以上の処理を経て、ステップＳ６１０にて描画コマンドまたは印刷制御コマンドはグラフィックエンジンへ送信される。
【００６６】
図７は、画像データが有効印字領域に対してどうのように配置されるかを説明するための概念図である。オリジナル画像は、デスプーラ４０５によって、印刷可能領域内に縮小および移動される。この時点で設定された余白の半分が反映されたことになる。さらに、この画像データはプリンタ２００において、指定された方向に残り半分の余白量だけシフトされる。この２ステップによって、ユーザーの指定した余白（ｍ）を印刷物に対して付加することが可能となる。
【００６７】
つまり、本実施形態を適用することで、有効印字領域の上下左右の全ての辺を、指定された余白の半分だけ狭めることで印刷可能領域を形成し、その印刷可能領域内に収まるように拡縮が施された印刷データを描画することになり、残りの半分の余白をプリンタ２００が付加することになる。その結果、有効印字領域をはみ出した描画は発生しなくなるため、余白を設定したがために画像がとぎれてしまうようなことは起こらなくなる。
【００６８】
以上においては、単に余白として説明してきたが、この余白は、穿孔を開ける場合のマージン量であってもよいし、用紙を二つ折りやＺ折りにした際のマージン位置であってもよいし、ステイプルを施す場合のマージン量としても適用することが可能である。
【００６９】
図８は、綴じ代量を余白以外の用途で用いる場合のそれぞれの配置例を示したものである。図８のステイプルを施す場合、プリンタ２００での画像のシフト方向は、右方向と下方向の２方向になるが、本願発明では、有効印字領域の上下左右いずれの方向にも設定されているマージン量の二分の一だけ狭めた領域にしか描画を行わないため、プリンタ２００が複数の方向に残りのマージン量のシフトを行っても、有効印字領域をはみ出して描画を行うことはなくなる。
【００７０】
以上のように、本実施形態よれば、印刷装置側の種々の機構的条件によりどの位置に綴じ代を設定したとしても、画像が有効印字領域の外側へのはみ出しが低減される。
【００７１】
［第２の実施形態］
ところで、複数の用紙サイズおよび複数の印刷方向のページで構成される印刷ジョブに綴じ代を付ける場合、多種多様な組み合わせが論理的には存在する。これらの組み合わせは、プリンタ２００および給排紙機構の種々の条件により決定されるものであるため、状況によっては、ユーザーの意図しないような綴じ方となることもありうる。
【００７２】
そこで、用紙サイズおよびその綴じ方の組み合わせをある程度限定してユーザーに表示する設定画面を設けることで、ユーザーの指定した組み合わせでの出力を行うようにする。
【００７３】
図９は、用紙混在時の綴じ代設定画面の一例である。図９に示されるように、用紙の組み合わせが限定されていれば（例えば、Ａ４用紙とＡ３用紙のみなど）、各用紙の印刷方向(横向き、縦向き)と、各用紙の綴じ代位置を例示的に表示することで、ユーザーは選択可能な組み合わせの中から、用紙、印刷方向及び綴じ代の組み合わせを選択することとなり、ユーザーの意図する綴じ代位置の設定が可能となる。この例では各組み合わせパターンにおいて、印刷画像の向き(上下左右)をＡ４縦とＡ３横、およびＡ４横とＡ３縦を同じ方向になる様に揃える一例を示している。また、両面印刷機能が使用可能な場合にも、裏面印刷時の上下関係を図示することで、印刷物を揃える際の形態をユーザーがイメージしやすくなるであろう。
【００７４】
［他の実施形態］
本願発明は、複数の機器（例えばホストコンピュータ、インタフェース機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００７５】
また、本願発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本願発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７６】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７７】
本願発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した図４や図５に示すフローチャートに対応するプログラムコードが格納されることになる。
【００７８】
【発明の効果】
本願発明によれば、必要な余白のうち、一部の余白を情報処理装置側で形成し、残りの余白を印刷装置側で形成させるように制御することにより、印刷装置固有の条件も加味できるため、印刷装置側の種々の機構的条件によりどの位置に綴じ代を設定したとしても、画像が有効印字領域の外側にはみ出すことが低減されよう。
【００７９】
また、複数の用紙が混在または複数の印刷方向の用紙が混在する印刷ジョブに綴じ代を設定する場合の綴じ代位置を、代表的な数パターンを提示し、ユーザーに選択させることにより、ユーザーは印刷結果を束ねた場合の配置をよりイメージしやすくなろう。
【図面の簡単な説明】
【図１】本願発明の実施形態に係るシステム構成を示すブロック図である。
【図２】ホストコンピュータの印刷処理機能に関するブロック図である。
【図３】本実施形態に係るホストコンピュータ内の印刷処理機能に関するブロック図である。
【図４】本実施形態に係るデスプーラの処理を示すフローチャートである。
【図５】本実施形態に係る余白設定処理を示すフローチャートである。
【図６】本実施形態に係る印刷可能領域の概念図である。
【図７】本実施形態に係る画像データの配置例を示す図である。
【図８】綴じ代量を穿孔、折り、ステイプルで使用する場合の適応例を示す図である。
【図９】用紙混在時の綴じ代設定画面の一例を示す図である。
【符号の説明】
１００  ホストコンピュータ
１０１  ＣＰＵ
１０２  ＲＡＭ
１０３  ＲＯＭ
１０４  システムバス
１０５  キーボードコントローラ
１０６  ビデオコントローラ
１０７  ディスクコントローラ
１０８  プリンタコントローラ
１０９  キーボード
１１０  ディスプレイ
１１１  外部メモリ（ＨＤ、ＦＤ）
１２０  コンピュータ制御ユニット
１５０  双方向性インタフェース
２００  プリンタ
２０１  ＣＰＵ
２０２  ＲＡＭ
２０３  ＲＯＭ
２０４  システムバス
２０５  入力部
２０６  印刷部Ｉ／Ｆ
２０７  メモリコントローラ
２１０  プリンタ制御ユニット
２２０  印刷エンジン
２３０  操作部
２４０  外部メモリ
【図１】
0004447817.tif 000002
【図２】
0004447817.tif 000003
【図３】
0004447817.tif 000004
【図４】
0004447817.tif 000005
【図５】
0004447817.tif 000006
【図６】
0004447817.tif 000007
【図７】
0004447817.tif 000008
【図８】
0004447817.tif 000009
【図９】
0004447817.tif 000010