(57)【要約】【課題】  縮小レイアウト処理でオリジナルの描画情報中に含まれる文字、線、画像が可読できないような印刷が実行されてしまうことを防止することである。【解決手段】  アプリケーションからの描画命令に基づき、１物理ページ上に複数の論理ページをページレイアウトした印刷データを生成可能な印刷制御装置において、描画命令中に含まれる描画種別が異なるそれぞれの描画命令に対するレイアウト制限情報を設定し、該設定される各レイアウト制限情報に基づいて、１物理ページ上にレイアウトすべき論理ページ数を決定し、該決定される前記論理ページ数に基づいて複数ページが縮小レイアウトされた印刷データを生成する構成を特徴とする。【選択図】  図３
2006185307.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションからの描画命令に基づき、１物理ページ上に複数の論理ページをページレイアウトした印刷データを生成可能な印刷制御装置であって、
前記描画命令中に含まれる描画種別が異なるそれぞれの描画命令に対するレイアウト制限情報を設定する設定手段と、
前記設定手段により設定される各レイアウト制限情報に基づいて、１物理ページ上にレイアウトすべき論理ページ数を決定する決定手段と、
前記決定手段により決定される前記論理ページ数に基づいて複数ページが縮小レイアウトされた印刷データを生成する生成手段と、
を有することを特徴とする印刷制御装置。
【請求項２】
前記設定手段は、前記描画命令中に含まれる文字データに対する文字サイズを制限するレイアウト制限情報、線データに対して線の細さを制限するレイアウト制限情報、画像データに対して画像の縮小サイズを制限するレイアウト制限情報を設定可能とすることを特徴とする請求項１記載の印刷制御装置。
【請求項３】
前記設定手段は、線データに対して線の細さを制限するレイアウト制限情報を調整する属性を指定可能とすることを特徴とする請求項２記載の印刷制御装置。
【請求項４】
前記設定手段は、プリンタドライバによる所定の印刷設定画面を介して、前記描画命令中に含まれる描画種別が異なるそれぞれの描画命令に対するレイアウト制限情報を設定することを特徴とする請求項２記載の印刷制御装置。
【請求項５】
前記設定手段は、プリンタドライバによる所定の印刷設定画面上で自動レイアウトが選択された場合、前記描画命令中に含まれる描画種別が異なるそれぞれの描画命令に対するレイアウト制限情報を設定することを特徴とする請求項２記載の印刷制御装置。
【請求項６】
アプリケーションからの描画命令に基づき、１物理ページ上に複数の論理ページをページレイアウトした印刷データを生成可能な印刷制御装置における印刷制御方法であって、前記描画命令中に含まれる描画種別が異なるそれぞれの描画命令に対するレイアウト制限情報を設定する設定ステップと、
前記設定ステップにより設定される各レイアウト制限情報に基づいて、１物理ページ上にレイアウトすべき論理ページ数を決定する決定ステップと、
前記決定ステップにより決定される前記論理ページ数に基づいて複数ページが縮小レイアウトされた印刷データを生成する生成ステップと、
を有することを特徴とする印刷制御方法。
【請求項７】
前記設定ステップは、前記描画命令中に含まれる文字データに対する文字サイズを制限するレイアウト制限情報、線データに対して線の細さを制限するレイアウト制限情報、画像データに対して画像の縮小サイズを制限するレイアウト制限情報を設定可能とすることを特徴とする請求項５記載の印刷制御方法。
【請求項８】
前記設定ステップは、線データに対して線の細さを制限するレイアウト制限情報を調整する属性を指定可能とすることを特徴とする請求項７記載の印刷制御方法。
【請求項９】
前記設定ステップは、プリンタドライバによる所定の印刷設定画面を介して、前記描画命令中に含まれる描画種別が異なるそれぞれの描画命令に対するレイアウト制限情報を設定することを特徴とする請求項７記載の印刷制御ステップ。
【請求項１０】
前記設定ステップは、プリンタドライバによる所定の印刷設定画面上で自動レイアウトが選択された場合、前記描画命令中に含まれる描画種別が異なるそれぞれの描画命令に対するレイアウト制限情報を設定することを特徴とする請求項７記載の印刷制御方法。
【請求項１１】
請求項６〜１０のいずれかに記載の印刷制御方法をコンピュータが実行するためのプログラムを格納したことを特徴とするコンピュータが読み取り可能な記録媒体。
【請求項１２】
請求項６〜１０のいずれかに記載の印刷制御方法をコンピュータが実行するためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションからの描画命令に基づき、１物理ページ上に複数の論理ページをページレイアウトした印刷データを生成可能な印刷制御装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記録媒体およびプログラムに関する。
【背景技術】
【０００２】
従来、ページ単位での画像形成手段を有する印刷装置（以下「プリンタ」と呼ぶ）と、このプリンタと接続された情報処理装置（以下「ホストコンピュータ」と呼ぶ）からなる印刷システムにおいて、このページ単位の印刷データに対して縮小、レイアウト処理を行い、１枚の用紙に複数ページ分のデータを印刷する、「複数ページ／枚印刷」という技術が考えられている。
【０００３】
この複数ページ／枚印刷は、例えば２ページ／枚印刷を用いれば本来２枚の用紙を必要とする印刷データを１枚の用紙で印刷することができ、出力用紙枚数やトナー、インクなどの消耗品の節減、および印刷枚数が少なくなることに伴う印刷処理の高速化を可能としている。
【０００４】
また、縮小率を上げ、４ページ／枚印刷、８ページ／枚印刷、１６ページ／枚印刷と、用紙１枚にレイアウトされるページ数を増やすことで、さらにこれらの効果を上げることが可能となっている。
【０００５】
しかしながら、一方で前述の技術は、もとのデータを縮小することによって実現していることから、縮小に伴う各種の印刷不正や視認性の低下の発生の可能性を持っている。
【０００６】
また、この現象は縮小率が上がるほど、つまりは用紙１枚にレイアウトされるページ数が増加するほど発生の度合いが増加し、しかもその現象は実際に印刷装置より出力されたものを見ることで、はじめてユーザが認識可能であるため、事前にユーザが適当な縮小率、レイアウトを選択することは困難であり、また不正な印刷結果発生時にはコストや時間の損失を発生させていた。
【０００７】
近年、このような問題点を回避し、最もコスト、印刷時間において優れていながら不正な印刷結果の発生を抑えられるような、最適な縮小率、レイアウトの複数ページ／枚印刷設定をユーザに提供するための技術が開発されてきた。
【０００８】
その１つとして下記特許文献１には、原稿画像中に含まれるフォントサイズから、複数ページ／枚印刷を適用した際のフォントサイズを算出し、その可読性から判断を行い、可読性が保たれる範囲内でかつ、最も印刷コストにおいて優れた複数ページ／枚印刷を自動的に適用する印刷システムが開示されている。
【０００９】
特に特許文献１は、データに含まれる最小フォントサイズから縮小可能な範囲を算出し、適当な複数ページ／枚印刷を自動的に適用することで、無駄な用紙の使用を回避することが記載されている。
【特許文献１】特開２００２−１５２４９７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上記特許文献１に開示される印刷システムのように、文字データに関する可読性を考慮して複数ページ／枚印刷を自動的に適用する印刷システムはすでに提案されているが、その他の描画指定、グラフィックスデータやイメージデータに関して考慮したものは無い。
【００１１】
特に近年、原稿データを作成するアプリケーションの多機能化により、印刷データにはテキスト以外の多種多様な描画指定が混在するようになり、縮小による印刷の不正も、文字データの可読性のみが要因ではなくなっている。そのため特許文献１に記載のシステムでは印刷出力の品質を保つための手段としては不十分である。
【００１２】
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、アプリケーションからの描画命令に基づき、１物理ページ上に複数の論理ページをページレイアウトした印刷データを生成可能な印刷制御装置において、描画命令中に含まれる描画種別が異なるそれぞれの描画命令に対するレイアウト制限情報を設定し、該設定される各レイアウト制限情報に基づいて、１物理ページ上にレイアウトすべき論理ページ数を決定し、該決定される前記論理ページ数に基づいて複数ページが縮小レイアウトされた印刷データを生成することにより、自動レイアウト印刷が選択された場合に、縮小レイアウト処理でオリジナルの描画情報中に含まれる文字、線、画像が可読できないような印刷が実行されてしまうことを防止して、ユーザの可読要求と印刷枚数を減らすという要求とを同時に満足できる印刷結果を容易に得ることができる印刷制御装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記録媒体およびプログラムを提供することである。
【課題を解決するための手段】
【００１３】
上記目的を達成する本発明の印刷制御装置は以下に示す構成を備える。
【００１４】
アプリケーションからの描画命令に基づき、１物理ページ上に複数の論理ページをページレイアウトした印刷データを生成可能な印刷制御装置であって、前記描画命令中に含まれる描画種別が異なるそれぞれの描画命令に対するレイアウト制限情報を設定する設定手段と、前記設定手段により設定される各レイアウト制限情報に基づいて、１物理ページ上にレイアウトすべき論理ページ数を決定する決定手段と、前記決定手段により決定される前記論理ページ数に基づいて複数ページが縮小レイアウトされた印刷データを生成する生成手段とを有することを特徴とする。
【００１５】
上記目的を達成する本発明の印刷制御方法は以下に示す構成を備える。
【００１６】
アプリケーションからの描画命令に基づき、１物理ページ上に複数の論理ページをページレイアウトした印刷データを生成可能な印刷制御装置における印刷制御方法であって、前記描画命令中に含まれる描画種別が異なるそれぞれの描画命令に対するレイアウト制限情報を設定する設定ステップと、前記設定ステップにより設定される各レイアウト制限情報に基づいて、１物理ページ上にレイアウトすべき論理ページ数を決定する決定ステップと、前記決定ステップにより決定される前記論理ページ数に基づいて複数ページが縮小レイアウトされた印刷データを生成する生成ステップとを有することを特徴とする。
【発明の効果】
【００１７】
本発明によれば、自動レイアウト印刷が選択された場合に、縮小レイアウト処理でオリジナルの描画情報中に含まれる文字、線、画像が可読できないような印刷が実行されてしまうことを防止して、ユーザの可読要求と印刷枚数を減らすという要求とを同時に満足できる印刷結果を容易に得ることができる。
【発明を実施するための最良の形態】
【００１８】
次に本発明を実施するための最良の形態について図面を参照して説明する。
【００１９】
＜システム構成の説明＞
〔第１実施形態〕
本発明の実施の形態を説明する前に、本発明を適用可能なプリンタと、これに接続されたパーソナルコンピュータ等の情報処理装置からなるシステム、特に、前記情報処理装置上で、前記プリンタに送信される印刷データを生成する前に、一旦、最終的に前記プリンタに送付する印刷データとは異なる形式のデータ形式（以降、中間コードと呼ぶ）での一時保存を行うスプール手段を備え、この中間コード形式で一時保存されたデータから改めて最終的に前記プリンタに送付する印刷データを生成するデスプール手段とプリンタ制御コマンドを生成する手段を備える印刷システムの構成について説明する。
【００２０】
図１は、本発明の印刷制御装置を適用可能なプリンタ制御システムの構成を説明するブロック図である。なお、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ,ＷＡＮ等のネットワークを介して接続がなされ処理が行われるシステムであっても本発明を適用できる。
【００２１】
図１において、ホストコンピュータ１００は、ＲＯＭ１０３のプログラム用ＲＯＭあるいは外部メモリ１１１に記憶された文書処理プログラム等に基づいて図形、イメージ、文字、表（表計算等を含む）等が混在した文書処理を実行するＣＰＵ１０１を備え、システムバス１０４に接続される各デバイスをＣＰＵ１０１が総括的に制御する。
【００２２】
また、このＲＯＭ１０３のプログラム用ＲＯＭあるいは外部メモリ１１１には、ＣＰＵ１０１の制御プログラムであるオペレーティングシステムプログラム（以下ＯＳ）等を記憶し、ＲＯＭ１０３のフォント用ＲＯＭあるいは外部メモリ１１１には上記文書処理の際に使用するフォントデータ等を記憶し、ＲＯＭ１０３のデータ用ＲＯＭあるいは外部メモリ１１１には上記文書処理等を行う際に使用する各種データを記憶する。ＲＡＭ１０２は、ＣＰＵ１０１の主メモリ、ワークエリア等として機能する。
【００２３】
キーボードコントローラ（ＫＢＣ）１０５は、キーボード（ＫＢ）１０９や不図示のポインティングデバイスからのキー入力を制御する。
【００２４】
ＣＲＴコントローラ（ＣＲＴＣ）１０６は、ＣＲＴディスプレイ（ＣＲＴ）１１０の表示を制御する。１０７はディスクコントローラ（ＤＫＣ）で、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム（以下プリンタドライバ）等を記憶するハードディスク（ＨＤ）、フレキスブルディスク（ＦＤ）等の外部メモリ１１１とのアクセスを制御する。プリンタコントローラ（ＰＲＴＣ）１０８は、双方向性インタフェース（インタフェース）１１２を介してプリンタ１５０に接続されて、プリンタ１５０との通信制御処理を実行する。
【００２５】
なお、ＣＰＵ１０１は、例えばＲＡＭ１０２上に設定された表示情報ＲＡＭへのアウトラインフォントの展開（ラスタライズ）処理を実行し、ＣＲＴ１１０上でのＷＹＳＩＷＹＧを可能としている。また、ＣＰＵ１０１は、ＣＲＴ１１０上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷の設定に関するウインドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行える。
【００２６】
一方、プリンタ１５０において、１５１はプリンタＣＰＵで、ＲＯＭ１５３のプログラム用ＲＯＭに記憶された制御プログラム等あるいは外部メモリ１６０に記憶された制御プログラム等に基づいてシステムバス１５４に接続される印刷部Ｉ／Ｆ５０６を介して印刷部（プリンタエンジン）１５８に出力情報としての画像信号を出力する。また、このＲＯＭ１５３のプログラム用ＲＯＭには、ＣＰＵ１５１の制御プログラム等を記憶する。
【００２７】
ＲＯＭ１５３のフォント用ＲＯＭには上記出力情報を生成する際に使用するフォントデータ等が記憶され、ＲＯＭ１５３のデータ用ＲＯＭには、ハードディスク等の外部メモリ１６０がないプリンタの場合には、ホストコンピュータ上で利用される情報等が記憶されている。
【００２８】
ＣＰＵ１５１は入力部１５５を介してホストコンピュータ１００との通信処理が可能となっており、プリンタ内の情報等をホストコンピュータ１００に通知できる。ＲＡＭ１５２は、ＣＰＵ１５１の主メモリや、ワークエリア等として機能するＲＡＭで、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。
【００２９】
なお、ＲＡＭ１５２は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。前述したハードディスク（ＨＤ）、ＩＣカード等の外部メモリ１６０は、メモリコントローラ（ＭＣ）１５７によりアクセスを制御される。外部メモリ１６０は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、１５９は前述した操作パネルで操作のためのスイッチおよびＬＥＤ表示器等が配されている。
【００３０】
また、前述した外部メモリ１６０は１個に限らず、複数個備えられ、内蔵フォントに加えてオプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。更に、図示しないＮＶＲＡＭを有し、操作パネル１５９からのプリンタモード設定情報を記憶するようにしてもよい。
【００３１】
図２は、図１に示した印刷システムにおけるホストコンピュータ１００の制御モジュールの一例を示すブロック図であり、ホストコンピュータ１００とプリンタ１５０が直接接続されているか、あるいはネットワーク経由で接続されている印刷システム例に対応する。
【００３２】
図２に示すホストコンピュータ１００において、ソフトウエア資源として、アプリケーション２０１、グラフィックエンジン２０２、プリンタドライバ２０３、およびシステムスプーラ２０４を備え、これらのソフトウエア資源は、図１に示した外部メモリ１１１に保存されたファイルとして存在し、実行される場合にＯＳやそのモジュールを利用するモジュールによって、図１に示したＲＡＭ１０２にロードされ実行されるプログラムモジュールである。
【００３３】
また、アプリケーション２０１およびプリンタドライバ２０３は、外部メモリ１１１のＦＤや不図示のＣＤ−ＲＯＭ、あるいは不図示のネットワークを経由して外部メモリ１１１のＨＤに追加することが可能となっている。
【００３４】
外部メモリ１１１に保存されているアプリケーション２０１はＲＡＭ１０２にロードされて実行されるが、このアプリケーション２０１からプリンタ１５０に対して印刷を行う際には、同様にＲＡＭ１０２にロードされ実行可能となっているグラフィックエンジン２０２を利用して出力（描画）を行う。
【００３５】
グラフィックエンジン２０２は、印刷装置ごとに用意されたプリンタドライバ２０３を同様に外部メモリ１１１からＲＡＭ１０２にロードし、アプリケーション２０１の出力をプリンタドライバ２０３に設定する。そして、アプリケーション２０１から受け取るＧＤＩ（Ｇｒａｐｈｉｃ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）関数からＤＤＩ（Ｄｅｖｉｃｅ  Ｄｒｉｖｅｒ  Ｉｎｔｅｒｆａｃｅ）関数に変換して、プリンタドライバ２０３へＤＤＩ関数を出力する。プリンタドライバ２０３は、グラフィックエンジン２０２から受け取ったＤＤＩ関数に基づいて、プリンタが認識可能な制御コマンド、例えばＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）に変換する。変換されたプリンタ制御コマンドは、ＯＳによってＲＡＭ１０２にロードされたシステムスプーラ２０４を経てインタフェース１１２経由でプリンタ１５０へ印刷データとして出力される仕組みとなっている。
【００３６】
本実施形態の印刷システムは、図１および図２で示すプリンタ１５０とホストコンピュータ１００からなる印刷システムに加えて、更にアプリケーションからの印刷データを一旦中間コードデータでスプールする構成を有する。
【００３７】
このシステムにおいては、一旦スプールした中間コードデータの内容に対して加工することができる。これによりアプリケーション２０１からの印刷データに対して、拡大縮小や、複数ページを１ページに縮小して印刷する等、アプリケーション２０１の持たない機能を実現することができる。
【００３８】
図３は、図２に示したホストコンピュータ１００内の制御モジュールの詳細構成を示すブロック図であり、図２に示したグラフィックエンジン２０２からプリンタドライバ２０３へ印刷命令を送る際に、一旦中間コードからなるスプールファイル３０４を生成するべく拡張されたシステム例を示す。
【００３９】
本実施形態では、スプールファイル３０４の内容に対して直接加工することができる。これによりアプリケーション２０１からの印刷データに対して、拡大縮小や、複数ページを１ページに縮小してレイアウト印刷する等、アプリケーション２０１の持たない印刷機能を実現する付加価値の高い印刷を行える。
【００４０】
これらの目的のために、図２のシステムに対し、図３の様に中間コードデータでスプールするよう、システムの拡張がなされてきている。
【００４１】
なお、印刷データの加工を行うためには、通常プリンタドライバ２０３が提供するウインドウ（図１に示したＣＲＴ１１０上に表示される）から設定を行い、プリンタドライバ２０３がその設定内容をＲＡＭ１０２上あるいは外部メモリ１１１上に保管する。以下、図３の詳細を説明する。
【００４２】
図３に示す通り、この拡張された印刷制御処理方式では、グラフィックエンジン２０２からの印刷命令であるＤＤＩ関数をディスパッチャ３０１が受け取る。ディスパッチャ３０１がグラフィックエンジン２０２から受け取った印刷命令（ＤＤＩ関数）が、アプリケーション２０１からグラフィックエンジン２０２へ発行された印刷命令（ＧＤＩ関数）に基づくものである場合には、ディスパッチャ３０１は外部メモリ１１１に格納されている内部スプール処理モジュールであるスプーラ３０３をＲＡＭ１０２にロードし、通常の印刷データ作成処理３０７ではなくスプーラ３０３へ印刷命令（ＤＤＩ関数）を送付する。
【００４３】
そして、スプーラ３０３は受け取った印刷命令を解析し、ページ単位に中間コードに変換してスプールファイル３０４に出力する。このページ単位に格納されている中間コードのスプールファイルをページ描画ファイル（ＰＤＦ：Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｆｉｌｅ）と呼ぶ。
【００４４】
また、スプーラ３０３は、プリンタドライバ２０３に対して設定されている印刷データに関する加工設定（製本印刷、Ｎｕｐ、両面、ステイプル、カラー／モノクロ指定等）をプリンタドライバ２０３から取得してジョブ単位のファイルとしてスプールファイル３０４に保存する。この時、ジョブ単位に格納されている設定ファイルをジョブ設定ファイル（簡略してＳＤＦ：Ｓｐｏｏｌ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｆｉｌｅと呼ぶこともある）と呼ぶ。このジョブ設定ファイルについては後述する。
【００４５】
なお、スプールファイル３０４は外部メモリ１１１上にファイルとして生成するが、ＲＡＭ１０２上に生成されても構わない。
【００４６】
更にスプーラ３０３は、外部メモリ１１１に格納されているスプールファイルマネージャ３０５をＲＡＭ１０２にロードし、スプールファイルマネージャ３０５に対してスプールファイル３０４の生成状況を通知する。その後、スプールファイルマネージャ３０５は、スプールファイル３０４に保存された印刷データに関する加工設定の内容に従って印刷を行えるか判断する。
【００４７】
スプールファイルマネージャ３０５がグラフィックエンジン２０２を利用して印刷を行えると判断した際には、外部メモリ１１１に格納されているデスプーラ３０６をＲＡＭ１０２にロードし、デスプーラ３０６に対して、スプールファイル３０４に記述された中間コードのページ描画ファイルの印刷処理を行うように指示する。
【００４８】
デスプーラ３０６はスプールファイル３０４に含まれる中間コードのページ描画ファイルをスプールファイル３０４に含まれる加工設定情報を含むジョブ設定ファイルに従って加工し、ＧＤＩ関数を再生成し、もう一度グラフィックエンジン２０２経由でＧＤＩ関数を出力する。
【００４９】
ディスパッチャ３０１がグラフィックエンジン２０２から受け取った印刷命令（ＤＤＩ関数）がデスプーラ３０６からグラフィックエンジン２０２へ発行された印刷命令（ＧＤＩ関数）に基づいたものである場合には、ディスパッチャ３０１はスプーラ３０３ではなく、プリンタドライバ２０３の通常の印刷データ作成処理３０７に印刷命令を送る。
【００５０】
プリンタドライバ２０３はグラフィックエンジン２０２から取得したＤＤＩ関数に基づいてページ記述言語等からなるプリンタ制御コマンドを生成し、システムスプーラ２０４経由でプリンタ１５０に出力する。
【００５１】
前述の内部スプール機能を用いて実現している機能の１つに、複数ページよりなる印刷データを縮小し、レイアウトした上で、物理用紙１ページの上に並べて印刷する複数ページ／枚印刷（Ｎｉｎ１印刷）という機能がある。
【００５２】
本機能を適用することで使用する用紙枚数を節約し、また、印刷処理にかかる時間を短縮することが可能となる。
【００５３】
なお、本実施形態では、１物理ページ上に複数の論理ページをレイアウトし、印刷を行う「複数ページ／枚」印刷を可能とするプリンタ１５０と、プリンタ１５０に接続されたパーソナルコンピュータ等のホストコンピュータ１００からなるシステムにおいて、プリンタドライバ２０３が印刷データに含まれる描画指定を検知し、検知した描画指定に前述「複数ページ／枚」を適用した際の縮小処理による印字結果を算出する手段とその算出結果より適当な縮小率の「複数ページ／枚」設定を適用する手段を有することにより、自動的に最適な設定をユーザに提供することを可能としている。
【００５４】
また、印刷データ中に含まれるグラフィクスデータの一つである線描画指定に設定された線太さをプリンタドライバ２０３が検知し、この線描画指定に「複数ページ/枚」印刷に伴う縮小処理を適用した場合の線太さを算出し、また、印刷結果に求められる最小限の線太さをユーザより指定させることにより、最低限以上の線太さを保ちつつ、最も適当な「複数ページ／枚」設定を適用する構成を採用している。
【００５５】
さらに、印刷データ中に含まれるイメージ描画指定に設定された解像度をプリンタドライバ２０３が検知し、イメージ描画指定に「複数ページ／枚」印刷に伴う縮小処理を適用した場合の解像度を算出し、また、印刷結果に求められる最大限の解像度をユーザより指定させることにより、最大限以下の解像度を保ちつつ、最も適当な「複数ページ/枚」設定を適用する構成を採用している。
【００５６】
図４は、本発明に係る印刷制御装置におけるレイアウト印刷結果のバリエーションを示す図であり、複数ページ/枚印刷を適用したとして、例えば１〜６頁からなる印刷データを、２ｉｎ１印刷、４ｉｎ１印刷、８ｉｎ１印刷で印刷する例である。
【００５７】
ホストコンピュータ１００上で作成した複数の論理ページ（ここでは６ページとする）よりなる印刷データ４０１がある場合、これを縮小し、１枚の用紙上に２ページ分のデータ４０２、４ページ分のデータ４０３、８ページ分のデータ４０４のように並べ直し、このデータを１物理ページ上に印刷するというものである。
【００５８】
この場合、より縮小を施し、１物理ページ上にレイアウトする論理ページ数を増やしてやるほど、用紙の節約や印刷時間の短縮といった効果を得ることが可能となる。
【００５９】
しかしながら、一方で、本処理を行う上で必要となる縮小処理は、印刷物の視認性や再現性の低下をもたらす場合があり、また、実際に印刷することによりはじめてその現象が確認できることから、適当ではない印刷物が生成される結果となり、用紙や時間の無駄を発生させてしまうこととなる。
【００６０】
これを回避する一つの手段として、文字サイズを縮小時のしきい値に用い、一定以下の文字サイズにならないような縮小率を算出し、それに応じたレイアウト処理を適応するという技術（特許文献１参照）があった。これにより視認性を保ちつつ、最適な複数ページ／枚印刷を実現しようというものであった。
【００６１】
しかしながら従来技術においては、文字データに関する視認性の確保は可能となるものの、その他のデータであるグラフィックスやイメージといったデータに関しては何等配慮がなされていなかった。そのためこれらのデータに関しては縮小による各種の印刷不正を回避できないでいた。
【００６２】
そこで、本実施形態ではグラフィックスデータの中でも縮小の際に特に問題となる細線データとイメージデータに関しても同様の回避手段を提供することにより、より多種のデータに関して印刷物の品質を保ちつつ、最適な複数ページ／枚印刷を提供することを可能とする。
【００６３】
〔第１の不正印刷例〕
図５は、本発明に係る印刷制御装置による第１の印刷データ処理例を説明する図であり、本実施形態で回避することを目的としているグラフィックスデータに含まれる細線データに対して縮小処理を施した際の印刷不正の例である。
【００６４】
図５の（ａ）に示すように、描画データ５０１に示すように、例えばそれぞれ太さ４ｄｏｔ、１ｄｏｔを指定して描画された２本の線描画があるとし、これに対して２５％の縮小処理を行うものとする。
【００６５】
この場合、十分な太さを持っている線データＬ１、Ｌ２のうち、線データＬ１のように、縮小データにおいて再現することが可能であるが、縮小後の線太さが１ｄｏｔに満たないような線データＬ２の場合は、縮小後の描画データ５０２に示すように、描画データＬ２を構成する画素が欠落して主要なデータに損失が発生してしまう。
【００６６】
さらに、図５の（ｂ），（ｃ）に示すように、線の色が中間色により指定されている場合、ディザによる二値化処理を用いてその濃度を表現することになるが、例えば描画データ５０３Ａ，５０３Ｂが縮小により線太さがある程度以上細くなることにより、ディザパターン５０７を再現する領域がなくなり、想定していた濃度が再現できない描画データ５０４となったり、ディザ処理との干渉により、描画データ５０５Ａ，５０５Ｂのように線が途切れたり表示されなくなる描画データ５０６となる現象が発生してしまう可能性がある。
【００６７】
〔第２の不正印刷例〕
図６は、本発明に係る印刷制御装置による第２の印刷データ処理例を説明する図であり、イメージデータに対して縮小処理を施した際の印刷不正を示す。
【００６８】
図６において、元データ６０１（太さの異なる細線と文字からなる）に対して、例えば５０％の縮小処理を行った場合、元データでは４ｄｏｔにて表示していた情報を１ｄｏｔで表示しなくてはいけなくなる。
【００６９】
そのため、描画データ６０２に情報の損失が発生し、結果、元データ６０１の再現ができなくなる。これは縮小率を上げると、描画データ６０３に示すようにその不正度合いは顕著となる。
【００７０】
そこで、本実施形態では、これらの不正印刷現象を回避すると同時に、最適な複数ページ／枚印刷を以下のような手段により提供する。
【００７１】
図７は、本発明に係る印刷制御装置にける印刷設定画面の一例を示す図であり、図３に示したプリンタドライバ２０３が提供するユーザインタフェース（ＵＩ）であって、図１に示したＣＲＴ１１０上に表示される。
【００７２】
図７において、プリンタドライバ２０３のユーザインタフェース７０１上に設けられた、従来よりあるページレイアウト機能を提供するコンボボックスで構成されるコントロール７０２において、新規に「自動」という設定項目７０３を設け、これを、ユーザが入力デバイス、例えばポインティングデバイス等を操作して選択させることにより、後述するような制御手順を実行することで本機能を実現する。
【００７３】
なお、図７に示すＵＩ画面には、ページレイアウトを設定するコントロール７０２が配置されており、このコンボボックス上のボタンを操作すると、設定可能なページレイアウト項目７０３が表示される。
【００７４】
また、本実施形態では、ページレイアウト項目７０３中には、通常、デフォルトで設定される１ページ／枚の他に、２ページ／枚、４ページ／枚、６ページ／枚、８ページ／枚、９ページ／枚、１６ページ／枚、ポスター（２×２）、ポスター（３×３）、ポスター（４×４）、そして、自動という項目を備える。
【００７５】
図８は、本発明に係る印刷制御装置における印刷設定画面の一例を示す図であり、図７に示した設定画面のページレイアウトで、ユーザにより「自動」が選択された場合に、プリンタドライバ２０３の制御でＣＲＴ１１０上に表示されるＵＩの一例を示す。
【００７６】
図８において、８０１は自動ページレイアウト設定画面を示し、本実施形態では、フォントサイズのしきい値の設定に加えて、グラフィックスデータである細線に関する設定を行わせるチェックボックス８０２，コントロール８０３と、イメージデータに関する設定を行わせるチェックボックス８０４，コントロール８０５を設ける。
【００７７】
細線データに関する設定は、まず、チェックボックス８０２を設定することで有効となる。
【００７８】
なお、本設定がなされていない場合は、後述する細線データを対象とした処理は行われないものとする。チェックボックス８０２が設定されている場合は、数値入力用のコントロール８０３において、線データの縮小を許可する範囲として、ユーザが意図するドット数を入力する。そして、後述する実際の自動レイアウト処理では、この値をしきい値として処理を行うこととなる。
【００７９】
イメージデータに関する設定は、まずチェックボックス８０４を設定することで有効となる。本設定がなされていない場合は、イメージデータに関する処理が行われないのは細線データの設定方と同様である。
【００８０】
また、チェックボックス８０４が設定されている場合は数値入力用のコントロール８０５において、イメージデータの縮小を許可する範囲として、ユーザが意図する解像度をプリンタの印字解像度との比率である％によって入力する。そして、後述する実際の自動レイアウト処理では、この値を閾値として処理を行うこととなる。
【００８１】
図９は、本発明に係る印刷制御装置における第１のデータ処理手順の一例を示すフローチャートであり、図２に示したプリンタドライバ２０３による自動レイアウト処理を含む印刷データ作成処理手順に対応する。なお、（９０１）〜（９０９）は各ステップを示す。なお、各ステップは、ＣＰＵ１０１が、ＲＡＭ１０２にプリンタドライバ２０３をロードして実行することで実現される。また、本処理は印刷処理の開始とともに行われる。
【００８２】
印刷処理が開始（ユーザによるアプリケーションでの印刷指示）されると、ユーザが図７、図８に示したユーザインタフェースを介して、ページレイアウトの設定を行う（９０１）。フローチャートでは特に記載しないが、ユーザが実際の印刷指示のための入力を行い次のステップ（９０２）が実行される。
【００８３】
そして、ステップ（９０２）で、ユーザインタフェースのコントロール７０２で「自動」が設定されているか否かの判定をＣＰＵ１０１が行う。この設定がなされていないと判断した場合は、従来通りの１ページ／枚のレイアウト、もしくはユーザインタフェースでの指定に基づいた補正を行わない従来通りの複数ページ/枚設定が行われる（９０８）。なお、ステップ（９０８）は、従来通りのレイアウト設定であるので詳細は省略する。
【００８４】
一方、ステップ（９０２）で、「自動」が設定されていたとＣＰＵ１０１が判断した場合、次のように処理を切り替える。
【００８５】
まず、図２に示したアプリケーション２０１よりグラフィックエンジン２０２を経由して指定されてくる描画指定を逐次確認し、その描画指定の中に本処理の対象となる細線データ、もしくはイメージデータが含まれているかを検索する描画命令の検索処理を行う（９０３）。処理の詳細に関しては後述する。
【００８６】
そして、描画指定はそのまま内部スプール処理を経て（９０４）、一時記憶装置上にスプールデータＳＰＤとして保存される（９０５）。
【００８７】
また、印刷データに含まれるすべての描画指定に関して、ステップ（９０３）のチェック、および、ステップ（９０４）で、内部スプール処理が終了すると、自動レイアウトの適用処理が開始される（９０６）。
【００８８】
本処理では、ステップ（９０３）により検索された各種描画命令、およびユーザにより設定されたしきい値（図７，図８参照）より、適当な縮小率、レイアウトを算出し、それに基づき各印刷オブジェクトの縮小処理、レイアウト処理を行う。なお、詳細処理に関しては後述する。
【００８９】
そして、ステップ（９０６）で、レイアウトの適用処理を終了したスプールデータＳＰＤは、ステップ（９０７）で、デスプーラ３０６によるデスプール処理により再度グラフィックエンジン２０２を経由して、ステップ（９０９）で、プリンタドライバ２０３に渡されて、通常の印刷データ作成処理に実行される。
【００９０】
これにより、適当なレイアウトが施された印刷データが出力されることとなり、ユーザにとって望ましい印刷結果が得られることになる。
【００９１】
図１０は、本発明に係る印刷制御装置における第２のデータ処理手順の一例を示すフローチャートであり、図２に示したプリンタドライバ２０３による図９に示したステップ（９０３）の描画指定命令の検索処理の詳細手順に対応する。なお、（１００１）〜（１０１０）は各ステップを示す。なお、各ステップは、ＣＰＵ１０１が、ＲＡＭ１０２にプリンタドライバ２０３をロードして実行することで実現される。また、本処理は印刷処理の開始とともに行われる。
【００９２】
本処理は、図８に示した自動レイアウト設定画面８０１を介してユーザによりチェックボックス８０２、スピンボックスとしてのコントロール８０３に各設定が行われると（１００１）、処理の開始時に、最小の線太さの値を一時的に記憶しておくための変数Ｌ（図１に示したＲＡＭ１０２のワークに記憶される）と、最も解像度の高いイメージデータの値を一時的に記憶しておくための変数Ｒ（図１に示したＲＡＭ１０２のワークに記憶される）を用意し、それぞれ適当な初期値、Ｌ0（例：十分に大きな線太さの値）、Ｒ0（例：十分に小さな解像度の値）を設定しておく（１００２）。なお、詳細に説明すると、ステップの１００１は実際の印刷指示前にユーザによるアプリケーションでの印刷指示により表示される印刷画面からさらにプリンタドライバの詳細設定の画面８０１を呼び出しで設定しておくものであり、実際の印刷指示が行われると次のステップ（１００２）が実行されるものである。
【００９３】
そして、印刷が開始され、図７に示したユーザインタフェースのコントロール７０２にて「自動」が設定されている場合、図２に示したグラフィックエンジン２０２より渡された描画指定命令が逐次本処理に渡されてくるので（１００３）、これら１つ１つに関して、次のような処理を行う。
【００９４】
まず、渡されてきた描画指定が線描画を指定するものであるか、また、細線データのチェックを行う設定がユーザインタフェース８０２にてなされているかを判断する（１００４）。この条件が成立するとＣＰＵ１０１が判断した場合、この線描画指定で設定されている線太さとステップ（１００２）で設定されている変数Ｌとの値を比較して（１００５）、このとき線描画指定中の線太さがＬよりも小さいとＣＰＵ１０１が判断した場合は、その値をＬに設定して（１００６）、ステップ（１０１０）で、描画命令が終了したと判定されるまで、ステップ（１００３）へ戻り、同様の処理を繰り返す。
【００９５】
一方、ステップ（１００４）において条件が成立しないとＣＰＵ１０１が判定した場合は、引き続きイメージ描画指定の検知処理を行う。
【００９６】
そして、イメージ描画指定に関しても線描画指定の場合と同様に、渡されてきた描画指定がイメージ描画を指定するものであるか、また、イメージデータのチェックを行う設定がユーザインタフェース８０４にてなされているかを判断する（１００７）。そして、この条件が成立すると判断した場合、このイメージ描画指定で設定されている解像度とステップ（１００３）で設定されている変数Ｒの値を比較する（１００８）。
【００９７】
そして、このときイメージ描画指定中の解像度がＲよりも大きいとＣＰＵ１０１が判断した場合は、その値をＲに設定する（１００９）。そして、ステップ（１０１０）で、描画命令終了と判定されるまで、すべての描画指定に関して繰り返し行う（１００３）。
【００９８】
これにより、結果として変数Ｌには印刷データに含まれる最も細い線描画指定に設定されている線太さが、変数Ｒには印刷データに含まれる最も解像度の高いイメージ描画指定に設定されている解像度が検知されることとなる。
【００９９】
図１１は、本発明に係る印刷制御装置における第３のデータ処理手順の一例を示すフローチャートであり、図２に示したプリンタドライバ２０３による図９に示したステップ（９０６）のレイアウト自動適用処理の詳細手順に対応する。なお、（１１０１）〜（１１０８）は各ステップを示す。なお、各ステップは、ＣＰＵ１０１が、ＲＡＭ１０２にプリンタドライバ２０３をロードして実行することで実現される。また、本処理は印刷処理の開始とともに行われる。
【０１００】
本処理では、図９に示したステップ（９０３）の前述描画指定命令の検知処理で得られた最も細い線描画指定に設定されている線太さと最も解像度の高いイメージ描画指定に設定されている解像度、また、図８に示した自動ページレイアウト設定画面８０１中のチェックボックス８０２，８０４と、コントロール８０３，８０５にて設定されたしきい値より、縮小後の線太さ、解像度がこのしきい値を超えない範囲でかつ、最も効率のよくなるレイアウト設定を求め、これを適用する処理に対応する。
【０１０１】
まず、ユーザは、図８に示した自動ページレイアウト設定画面８０１中のチェックボックス８０２，８０４と、コントロール８０３，８０５を介して、ユーザが意図するしきい値をそれぞれ設定する（１１０１）。次に、設定されたしきい値に基づいて、変数ＬＴ（図１に示したＲＡＭ１０２のワークに記憶される）、変数ＲＴ（図１に示したＲＡＭ１０２のワークに記憶される）として設定する（１１０２）。なお、詳細に説明すると、ステップの１１０１は実際の印刷指示前にユーザによるアプリケーションでの印刷指示により表示される印刷画面からさらにプリンタドライバの詳細設定の画面８０１を呼び出しで設定しておくものである。
【０１０２】
また、本処理を行うにあたり、レイアウトのタイプとそれを適用する際の縮小率の対応付けを行ったテーブルをＲＡＭ１０２上に用意する。
【０１０３】
図１２は、図１に示したＲＡＭ１０２上に確保されるページレイアウト判定テーブルの一例を示す図である。
【０１０４】
図１２において、ｎｍａｘは図２に示したプリンタドライバ２０３がサポートする最も縮小率の高いレイアウトタイプ「Ｎページ／枚」を指すものとする。
【０１０５】
そして、ステップ（１１０３）で、変数ｎをＲＡＭ１０２上に用意し、最小値０（＝１ページ／枚）にて初期化しておく（１１０３）。この値をｎｍａｘまで増やしていくことにより（１１０４）、このテーブルの設定値を順次適用していく。
【０１０６】
まず、図８に示すレイアウト設定画面におけるユーザによる線描画指定に関してレイアウトｎ＋１を適用したときの縮小率Scale[n+1]より、図９に示したステップ（９０３）で前述描画指定命令の検索処理で得られた、最も細い線描画Ｌが何ｄｏｔの線に縮小されるかを求め、その値としきい値ＬＴの比較（Ｌ＊Ｓｃａｌｅ［ｎ＋１]＜ＬＴ）を行う（１１０５）。
【０１０７】
ここで、しきい値ＬＴを下回らないとＣＰＵ１０１が判定した場合（ステップ（１１０５）で、ＮＯと判定）、ユーザの期待する線太さを再現できるものとし、ステップ（１１０６）へ進み、次に、図９に示したステップ（９０３）で前述描画指定命令の検索処理で得られた、最も解像度の高いイメージ描画が何dpiの解像度に縮小されるかを求め、その値としきい値ＲＴの比較（Ｒ／Ｓｃａｌｅ［ｎ＋１]＞ＲＴ）を行う（１１０６）。ここで、しきい値ＲＴを上回らなければ（ステップ（１１０６）で、ＮＯと判定）、ユーザの期待するイメージ印刷が実現できるものとし、処理が継続され、ｎを＋１することで（１１０７）、図１２に示したページレイアウト判定テーブルの参照位置を次のものに進め、同様の処理を繰り返す。
【０１０８】
一方、ステップ（１１０５）、もしくはステップ（１１０６）が成立した場合、すなわち、ユーザの設定したしきい値を超え、ユーザの期待しない描画データが得られると思われる場合、本処理は中断される。
【０１０９】
このときのｎが示すのが直前のレイアウトタイプ、すなわち、ユーザの期待する描画が可能であり、かつ最も効率のよいレイアウトタイプとなる。
【０１１０】
よって、このときのレイアウトタイプＬａｙｏｕｔ［ｎ］を設定値とし、内部スプールデータの編集機能を用いて、縮小、レイアウトといった処理をスプールデータ９０５に施して（１１０８）、本処理を終了する。
【０１１１】
本実施形態によれば、ユーザの設定したしきい値の範囲内でかつ最も縮小率の高いレイアウトタイプを算出することが可能となる。
【０１１２】
これにより、ユーザの期待する印刷品質を確保しつつ、使用する用紙枚数、印刷時間において最も効率的な複数ページ／枚印刷を、自動的に適用した印刷出力をユーザに提供することができるようになる。
【０１１３】
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１１４】
〔第２実施形態〕
上記第１実施形態では、図８に示した自動ページレイアウト設定画面８０１では、線太さのしきい値を指定する場合に、線の濃度を考慮しない例について説明したが、細線データにディザなどによる二値化を施した際、特に線描画指定に施された色濃度がより薄く、また、線太さがより細い場合に、ディザとの干渉により、欠損やカラーデータの場合は色味の不正を招く可能性が大きくなる。
【０１１５】
そこで、本実施形態では、前述第１実施形態の処理に、線描画指定に設定された線色を用い、その色濃度に応じて縮小の可能範囲を微調整する機能を設けることにより、印刷データ中に含まれる細線の濃度も考慮した最適なレイアウトを適用し、ユーザにとってより好ましい印刷を行う手段を提供する。以下、その実施形態について説明する。
【０１１６】
なお、本例が適用される印刷システム（図１参照）、印刷処理の流れ（図２参照）、内部スプール処理の流れ（図３参照）、および従来技術である複数ページ／枚印刷の適用例（図４参照）に関しては、第１実施形態と同一であるため説明を省略する。
【０１１７】
図１３は、本発明の第２実施形態を示す印刷制御装置における自動ページレイアウト設定画面の一例を示す図であり、図１に示したＣＲＴ１１０上に図２に示したプリンタドライバ２０３の制御により表示される。なお、図８と同一のものには同一の符号を付してある。
【０１１８】
なお、上述しているように、細線データを印刷した際の不具合の１つとして、中間色を指定された線描画命令を、ディザを用いて二値化して印刷する際に発生する、ディザパターン５０７との干渉がある。これは印刷データの欠損や色味の不正という現象を発生させる可能性がある。
【０１１９】
図５の（ｂ）、（ｃ）に示したように、描画データ５０５のような中間濃度の線を、線太さがディザパターン５０７のサイズに比べて、描画データ５０６のように十分に細く縮小してしまった場合、描画データ５０５の右側の斜線のように、ディザパターン５０７との重ねあわせによっては縮小後の描画データ５０６で印刷されなくなってしまう場合がある。
【０１２０】
この現象は、線の色濃度が低くなるほど、すなわち、ディザパターン５０７の点数が少なくなるほど、またディザパターン５０７のサイズに対して、線太さが十分に細くなるほど発生する可能性が高くなる。
【０１２１】
そこで、本実施形態では、第１実施形態にて提供する機能に、さらに線の色濃度を処理対象とすることで、さらに最適な縮小率を用いた複数ページ／枚印刷を適用することを可能とするシステムを提供する。
【０１２２】
本処理を実行させるためのページレイアウト設定用のＵＩは、第１実施形態と同様に図７に示すものをプリンタドライバ２０３が図１に示すＣＲＴ１１０上に表示する。
【０１２３】
さらに、本実施形態では、線の色濃度を処理の対象とするかを設定させる手段として、図１３に示すユーザインタフェース１３０１を用意する。チェックボックス、およびコンボボックスに関しては第１実施形態と同一であり、細線データを対象とした処理を行うか、線データの縮小を許可する範囲をどのようにするかを設定させる。
【０１２４】
本実施形態における処理ではさらに、線の色濃度を判定条件として有効とさせるためのチェックボックス１３０１を設ける。チェックボックス１３０１をユーザが有効とすることで、後述する線の色濃度に関する処理が行われることとなる。なお、チェックボックス１３０１は、コンボボックス８０３同様にチェックボックス８０２が設定されることにより有効となる。
【０１２５】
図１４は、本発明に係る印刷制御装置における第４のデータ処理手順の一例を示すフローチャートであり、図２に示したプリンタドライバ２０３による図９に示したステップ（９０６）のレイアウト自動適用処理の詳細手順に対応する。なお、（１４０１）〜（１４１０）は各ステップを示す。なお、各ステップは、ＣＰＵ１０１が、ＲＡＭ１０２にプリンタドライバ２０３をロードして実行することで実現される。また、本処理は印刷処理の開始とともに行われる。
【０１２６】
図１４に示すのは実施形態１の図１０で示した描画命令の検知処理のうち線描画指定に関する検知の処理を本実施形態にあわせて拡張したものである。
【０１２７】
また、本処理は、図１０に示したレイアウト自動適用処理と一部共通の処理であって、本処理は、図１３に示した自動レイアウト設定画面８０１を介してユーザによりチェックボックス８０２、スピンボックスとしてのコントロール８０３に各設定が行われると（１４０１）、処理の開始時に、最小の線太さの値を一時的に記憶しておくための変数Ｌ（図１に示したＲＡＭ１０２のワークに記憶される）と、最も解像度の高いイメージデータの値を一時的に記憶しておくための変数Ｒ（図１に示したＲＡＭ１０２のワークに記憶される）を用意し、それぞれ適当な初期値、Ｌ0（例：十分に大きな線太さの値）、Ｒ0（例：十分に小さな解像度の値）を設定しておく（１４０２）。なお、詳細に説明すると、ステップの１４０１は実際の印刷指示前にユーザによるアプリケーションでの印刷指示により表示される印刷画面からさらにプリンタドライバの詳細設定の画面８０１を呼び出しで設定しておくものである。
【０１２８】
そして、レイアウト設定画面８０１にて入力された設定値に基づいて動作を切り替える。
【０１２９】
まず、処理の開始にあたり最小の線太さの値を一時的に記憶しておくための変数Ｌ（図１に示したＲＡＭ１０２のワークに記憶される）と、最も濃度の低いイメージデータの値を一時的に記憶しておくための変数Ｄ（図１に示したＲＡＭ１０２のワークに記憶される）を用意し、それぞれ適当な初期値、Ｌ0（例：十分に大きな線太さの値）、Ｄ0（例：十分に大きな濃度の値）を設定しておく（１４０２）。
【０１３０】
そして、印刷が開始され、設定画面７０１のコントロール７０２にて「自動」７０３が設定されているとＣＰＵ１０１が判定した場合、グラフィックエンジン２０２より渡された描画指定命令が逐次本処理に渡されてくる。これら一つ一つに関して、次のような処理を行う。
【０１３１】
まず、渡されてきた描画指定が線描画を指定するものであるか、また、細線データのチェックを行う設定がチェックボックス８０２がチェックされているかを判断する（１４０４）。この条件が成立するとＣＰＵ１０１が判定した場合、この線描画指定で設定されている線太さと変数Ｌの値を比較する。
【０１３２】
具体的には、線描画指定中の線太さがＬと同じもしくは小さいか（線太さ≦変数Ｌ）を判別し（１４０５）、成立すると判定した場合は、さらに線描画指定中の線太さがＬと同じ（線太さ＝変数Ｌ）かを判別する（１４０６）。以下、これらのそれぞれの条件に対し、次のように処理を切り替える。
【０１３３】
まず、線太さが変数Ｌよりも大きい場合、すなわちステップ（１４０５）にてＮｏであると判定した場合、現在検知している線よりも細い線が以前にあったことになるので、特別な処理は行わずに、ステップ（１４１０）へ進む。
【０１３４】
一方、ステップ（１４０５）で、線太さが変数Ｌよりも小さい場合、すなわちステップ（１４０６）で、Ｎｏと判定された場合、現在検知中の線太さがそれ以前のものより細いことになるのでその値を変数Ｌに置き換える（１４０７）。また、このときの線の色濃度を、ステップ（１４０１）で設定されている変数Ｄに置き換え（１４０８）、ステップ（１４１０）へ進む。
【０１３５】
一方、ステップ（１４０６）で、線太さが変数Ｌと同じであると判定された場合、すなわち、ステップ（１４０６）にてＹｅｓとなったと判定した場合、現在検知中の線太さがそれ以前の最小値と同等であることになるので、このときの線の色濃度を変数Ｄと比較（０＜色濃度＜Ｄ）し（１４０９）、小さいと判定した場合、変数Ｄに置き換え（１４０８）、ステップ（１４１０）へ進む。
【０１３６】
ただし、濃度が「０」の場合は印刷がされないことから、ディザの干渉の影響がないため、ステップ（１４０９）にて対象から除外する。
【０１３７】
以上の処理を、ステップ（１４１０）で、描画命令が終了と判定されるまで、スプールデータに含まれるすべての描画指定に関して繰り返し行うことにより（１４０３）、最終的に変数Ｌにはスプールデータに含まれるもっとも細い線描画の線の太さが、変数Ｄには太さＬの線のうち、最も色濃度の低い線の色濃度が設定されることとなる。
【０１３８】
なお、図１４に示すステップ（１４０４）でＮＯと判定される場合には、本処理をステップ（１４１０）へ移行する場合について説明しているが、ステップ（１４０２）で、図１０のステップ（１００２）と同様に、最も解像度の高いイメージデータの値を一時的に記憶しておくための変数Ｒ（図１に示したＲＡＭ１０２のワークに記憶される）を用意し、適当な初期値Ｒ0（例：十分に小さな解像度の値）を設定しておき、図１４に示すステップ（１４０４）でＮＯと判定される場合には、図１０に示したステップ（１００７）〜（１００９）を実行するように構成してもよい。
【０１３９】
次に、前述の処理にて求められたもっとも細い線描画の線の太さとその色濃度より拡縮率の微調整を行う。
【０１４０】
実際の処理では、図１１に示したステップ（１１０２）で、レイアウトの自動適用処理にて設定している線太さのしきい値ＬＴを調整することにより実現する。
【０１４１】
図１５は、本発明に係る印刷制御装置における自動レイアウト処理における色濃度調整例を説明する図であり、色濃度を用いてを調整する計算式ＬＴ'の一例に対応する。
【０１４２】
図１５に示すように、図１１に示したステップ（１１０２）で、ユーザによって設定されたしきい値をＬＴ、変換後のしきい値をＬＴ’、濃度の最大値をＤｍａｘとする。また、係数ａに関しては調整幅を適当なものとする任意の値を設定する。これにより、濃度Ｄが低くなるのと比例して線太さのしきい値の値ＬＴ'を大きくすることが可能となる。
【０１４３】
このしきい値ＬＴ'を、図１１に示したステップ（１１０２）にてＬＴに設定することにより、濃度の薄さに比例して、適用可能な縮小率の最大値をおさえることが可能となる。以降の処理は第１実施形態と同一となる。
【０１４４】
これにより、グラフィックスデータである線データの太さのみでなく、その色濃度をも意識した上で、最も縮小率の高いレイアウトタイプを算出することが可能となる。これにより、ユーザの期待する印刷品質を確保しつつ、使用する用紙枚数、印刷時間において最も効率的な複数ページ／枚印刷を、自動的に適用した印刷出力をユーザに提供することができるようになる。
【０１４５】
なお、カラーデータの場合には、上述の各実施形態で示した処理を、各色成分のデータ毎に行い、各色成分毎に算出されたレイアウトタイプで、最も縮小率の高いレイアウトタイプを選択するように構成してもよい。
【０１４６】
これにより、カラーデータの縮小による色味の不正を防止することができる。
【０１４７】
〔第３実施形態〕
以下、図１６に示すメモリマップを参照して本発明に係る印刷制御装置で読み取り可能なデータ処理プログラムの構成について説明する。
【０１４８】
図１６は、本発明に係る印刷制御装置で読み取り可能な各種データ処理プログラムを格納する記録媒体のメモリマップを説明する図である。
【０１４９】
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０１５０】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０１５１】
本実施形態における図９，図１０，図１１，図１４，に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０１５２】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１５３】
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【０１５４】
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０１５５】
プログラムを供給するための記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【０１５６】
この場合、記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【０１５７】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバやｆｔｐサーバ等も本発明の請求項に含まれるものである。
【０１５８】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記録媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１５９】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１６０】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１６１】
上記各実施形態によれば、今までの技術では考慮されなかったグラフィックスデータやイメージデータの品質を保ちつつ、最も印刷コストの削減、印刷時間の削減を図れる複数ページ／枚印刷を自動的に適応することができる印刷システム、制御方法、プログラムを提供できる。
【０１６２】
これにより、印刷品質を向上させ、不正な印刷物の発生によるコスト、時間の無駄を省くと同時に、これらの処理を自動的に行うことで、手動で最適な設定を行わせる場合に必要であったユーザにかかる負荷を解消することが可能である。
【０１６３】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から排除するものではない。
【０１６４】
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではなく、以下の実施態様も含まれることはいうまでもない。以下、その実施態様１〜１２について説明する。
【０１６５】
〔実施態様１〕
アプリケーションからの描画命令に基づき、１物理ページ上に複数の論理ページをページレイアウトした印刷データを生成可能な印刷制御装置であって、前記描画命令中に含まれる描画種別が異なるそれぞれの描画命令に対するレイアウト制限情報を設定する設定手段（図３に示すプリンタドライバ２０３が表示する設定画面を介して設定する）と、前記設定手段により設定される各レイアウト制限情報に基づいて、１物理ページ上にレイアウトすべき論理ページ数を決定する決定手段（図３に示すデスプーラ３０６の機能による）と、前記決定手段により決定される前記論理ページ数に基づいて複数ページが縮小レイアウトされた印刷データを生成する生成手段（図３に示すデスプーラ３０６の機能による）とを有することを特徴とする印刷制御装置。
【０１６６】
これにより、縮小レイアウト処理でオリジナルの描画情報中に含まれる文字、線、画像等の描画種別が異なるそれぞれの描画情報を可読できないようなページレイアウト数となってしまうことを防止し、種別の異なる描画情報を可読できる印刷データを生成できる。
【０１６７】
〔実施態様２〕
前記設定手段は、前記描画命令中に含まれる文字データに対する文字サイズを制限するレイアウト制限情報、線データに対して線の細さを制限するレイアウト制限情報、画像データに対して画像の縮小サイズを制限するレイアウト制限情報を設定可能とすることを特徴とする実施態様１記載の印刷制御装置。
【０１６８】
これにより、縮小レイアウト処理でオリジナルの描画情報中に含まれる文字、線、画像が可読できないようなページレイアウト数となってしまうことを防止し、文字、線、画像を可読できる印刷データを生成できる。
【０１６９】
〔実施態様３〕
前記設定手段は、線データに対して線の細さを制限するレイアウト制限情報を調整する属性を指定可能とすることを特徴とする実施態様２記載の印刷制御装置。
【０１７０】
これにより、縮小処理で少ないドット数で構成される線データが消失してしまう事態を防止できる。
【０１７１】
〔実施態様４〕
前記設定手段は、プリンタドライバによる所定の印刷設定画面を介して、前記描画命令中に含まれる描画種別が異なるそれぞれの描画命令に対するレイアウト制限情報を設定することを特徴とする実施態様２記載の印刷制御装置。
【０１７２】
これにより、ユーザが印刷設定時に意図するレイアウト制限情報を自在に設定することができる。
【０１７３】
〔実施態様５〕
前記設定手段は、プリンタドライバによる所定の印刷設定画面上で自動レイアウトが選択された場合、前記描画命令中に含まれる描画種別が異なるそれぞれの描画命令に対するレイアウト制限情報を設定することを特徴とする実施態様２記載の印刷制御装置。
【０１７４】
これにより、ユーザが印刷設定時に自動レイアウトを選択した場合に、意図するレイアウト制限情報を自在に設定することができる。
【０１７５】
〔実施態様６〕
アプリケーションからの描画命令に基づき、１物理ページ上に複数の論理ページをページレイアウトした印刷データを生成可能な印刷制御装置における印刷制御方法であって、前記描画命令中に含まれる描画種別が異なるそれぞれの描画命令に対するレイアウト制限情報を設定する設定ステップ（図９に示すステップ（９０１）等）と、前記設定ステップにより設定される各レイアウト制限情報に基づいて、１物理ページ上にレイアウトすべき論理ページ数を決定する決定ステップ（図９に示すステップ（９０３）から（９０６））と、前記決定ステップにより決定される前記論理ページ数に基づいて複数ページが縮小レイアウトされた印刷データを生成する生成ステップ（図９に示すステップ（９０７））とを有することを特徴とする印刷制御方法。
【０１７６】
これにより、実施態様１と同等の効果が期待できる。
【０１７７】
〔実施態様７〕
前記設定ステップは、前記描画命令中に含まれる文字データに対する文字サイズを制限するレイアウト制限情報、線データに対して線の細さを制限するレイアウト制限情報、画像データに対して画像の縮小サイズを制限するレイアウト制限情報を設定可能とすることを特徴とする実施態様５記載の印刷制御方法。
【０１７８】
これにより、実施態様２と同等の効果が期待できる。
【０１７９】
〔実施態様８〕
前記設定ステップは、線データに対して線の細さを制限するレイアウト制限情報を調整する属性を指定可能とすることを特徴とする実施態様７記載の印刷制御方法。
【０１８０】
これにより、実施態様３と同等の効果が期待できる。
【０１８１】
〔実施態様９〕
前記設定ステップは、プリンタドライバによる所定の印刷設定画面を介して、前記描画命令中に含まれる描画種別が異なるそれぞれの描画命令に対するレイアウト制限情報を設定することを特徴とする実施態様７記載の印刷制御ステップ。
【０１８２】
これにより、実施態様４と同等の効果が期待できる。
【０１８３】
〔実施態様１０〕
前記設定ステップは、プリンタドライバによる所定の印刷設定画面上で自動レイアウトが選択された場合、前記描画命令中に含まれる描画種別が異なるそれぞれの描画命令に対するレイアウト制限情報を設定することを特徴とする実施態様７記載の印刷制御方法。
【０１８４】
これにより、実施態様５と同等の効果が期待できる。
【０１８５】
〔実施態様１１〕
実施態様６〜１０のいずれかに記載の印刷制御方法を実行させるためのプログラムを格納したことを特徴とするコンピュータが読み取り可能な記録媒体。
【０１８６】
これにより、実施態様６〜１０と同等の効果が期待できる。
【０１８７】
〔実施態様１２〕
実施態様６〜１０のいずれかに記載の印刷制御方法をコンピュータに実行させることを特徴とする特徴とするプログラム。
【０１８８】
これにより、実施態様６〜１０と同等の効果が期待できる。
【図面の簡単な説明】
【０１８９】
【図１】本発明の印刷制御装置を適用可能なプリンタ制御システムの構成を説明するブロック図である。
【図２】図１に示した印刷システムにおけるホストコンピュータの制御モジュールの一例を示すブロック図である。
【図３】図２に示したホストコンピュータ内の制御モジュールの詳細構成を示すブロック図である。
【図４】本発明に係る印刷制御装置におけるレイアウト印刷結果のバリエーションを示す図である。
【図５】本発明に係る印刷制御装置による第１の印刷データ処理例を説明する図である。
【図６】本発明に係る印刷制御装置による第２の印刷データ処理例を説明する図である。
【図７】本発明に係る印刷制御装置にける印刷設定画面の一例を示す図である。
【図８】本発明に係る印刷制御装置における印刷設定画面の一例を示す図である。
【図９】本発明に係る印刷制御装置における第１のデータ処理手順の一例を示すフローチャートである。
【図１０】本発明に係る印刷制御装置における第２のデータ処理手順の一例を示すフローチャートである。
【図１１】本発明に係る印刷制御装置における第３のデータ処理手順の一例を示すフローチャートである。
【図１２】図１に示したＲＡＭ上に確保されるページレイアウト判定テーブルの一例を示す図である。
【図１３】本発明の第２実施形態を示す印刷制御装置における自動ページレイアウト設定画面の一例を示す図である。
【図１４】本発明に係る印刷制御装置における第４のデータ処理手順の一例を示すフローチャートである。
【図１５】本発明に係る印刷制御装置における自動レイアウト処理における色濃度調整例を説明する図である。
【図１６】本発明に係る印刷制御装置で読み取り可能な各種データ処理プログラムを格納する記録媒体のメモリマップを説明する図である。
【符号の説明】
【０１９０】
１００  ホストコンピュータ
１０１  ＣＰＵ
１０２  ＲＡＭ
１１１  外部メモリ
１５０  プリンタ
２０１  アプリケーション
２０２  グラフィックエンジン
２０３  プリンタドライバ
２０４  システムスプーラ
３０２  内部スプール処理
３０３  スプーラ
３０４  内部スプールファイル
３０５  スプールファイルマネージャ
３０６  デスプーラ
【図１】
2006185307.tif 000003
【図２】
2006185307.tif 000004
【図３】
2006185307.tif 000005
【図４】
2006185307.tif 000006
【図５】
2006185307.tif 000007
【図６】
2006185307.tif 000008
【図７】
2006185307.tif 000009
【図８】
2006185307.tif 000010
【図９】
2006185307.tif 000011
【図１０】
2006185307.tif 000012
【図１１】
2006185307.tif 000013
【図１２】
2006185307.tif 000014
【図１３】
2006185307.tif 000015
【図１４】
2006185307.tif 000016
【図１５】
2006185307.tif 000017
【図１６】
2006185307.tif 000018