(57)【要約】【課題】  面付け済みの印刷データの印刷を、プリンタドライバを使って適切に行えるようにする。【解決手段】  アプリケーション２０１で面付け済みの印刷データの各物理ページにおける論理ページの配置の体裁である面付け済み体裁を設定する。また、文書データの出力に係る属性である印刷出力属性を設定する。そして、プリンタドライバ２０３は、面付け済み体裁と、印刷出力属性との少なくとも１つが予め設定されている条件を満足している場合に、面付け済みの印刷データを論理ページの単位で分割する。そして、プリンタドライバ２０３は、分割した論理ページを、面付け済み体裁に基づく順序で並び替える。システムスプーラ２０４は、並び替えた論理ページに基づいて、プリンタ１５０が認識可能な制御コマンドを生成し、プリンタ１５０に出力する。【選択図】  図２
2012113356.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションプログラムで面付け済みの印刷データを、プリンタドライバを用いて処理する印刷制御装置であって、
前記面付け済みの印刷データの各物理ページにおける論理ページの配置を示す面付け済み体裁と、前記面付け済みの印刷データの出力に係る属性である印刷出力属性との少なくとも何れかが、予め設定されている分割条件を満足するか否かを判定する判定手段と、
前記判定手段により、前記面付け済み体裁と前記印刷出力属性との少なくとも何れかが、前記分割条件を満足すると判定された場合に、前記面付け済みの印刷データを、論理ページの単位で分割する分割手段と、
前記分割手段により分割された論理ページを、前記面付け済み体裁に基づく順序で並び替える並び替え手段と、を有し、
前記判定手段により、前記面付け済み体裁と前記印刷出力属性との少なくとも何れかが、前記分割条件を満足しないと判定された場合には、前記面付け済みの印刷データを、論理ページの単位で分割しないようにすることを特徴とする印刷制御装置。
【請求項２】
前記分割手段は、前記面付け済みの印刷データの物理ページにある描画オブジェクトの描画領域が論理ページのページ領域に入っていると、当該描画オブジェクトを当該論理ページに追加する手段と、
前記論理ページのページ領域のクリップ領域を当該論理ページに追加する手段と、を更に有することを特徴とする請求項１に記載の印刷制御装置。
【請求項３】
前記判定手段は、前記面付け済み体裁と、前記印刷出力属性とを比較した結果に基づいて、前記面付け済み体裁と前記印刷出力属性とが、前記分割条件を満足するか否かを判定することを特徴とする請求項１又は２に記載の印刷制御装置。
【請求項４】
前記印刷出力属性に基づいて、前記並び替え手段により並び替えられた論理ページを加工する加工手段を更に有することを特徴とする請求項１〜３の何れか１項に記載の印刷制御装置。
【請求項５】
アプリケーションプログラムで面付け済みの印刷データを、プリンタドライバを用いて処理する印刷制御方法であって、
前記面付け済みの印刷データの各物理ページにおける論理ページの配置を示す面付け済み体裁と、前記面付け済みの印刷データの出力に係る属性である印刷出力属性との少なくとも何れかが、予め設定されている分割条件を満足するか否かを判定する判定工程と、
前記判定工程により、前記面付け済み体裁と前記印刷出力属性との少なくとも何れかが、前記分割条件を満足すると判定された場合に、前記面付け済みの印刷データを、論理ページの単位で分割する分割工程と、
前記分割工程により分割された論理ページを、前記面付け済み体裁に基づく順序で並び替える並び替え工程と、を有し、
前記判定工程により、前記面付け済み体裁と前記印刷出力属性との少なくとも何れかが、前記分割条件を満足しないと判定された場合には、前記面付け済みの印刷データを、論理ページの単位で分割しないようにすることを特徴とする印刷制御方法。
【請求項６】
前記分割工程は、前記面付け済みの印刷データの物理ページにある描画オブジェクトの描画領域が論理ページのページ領域に入っていると、当該描画オブジェクトを当該論理ページに追加する工程と、
前記論理ページのページ領域のクリップ領域を当該論理ページに追加する工程と、を更に有することを特徴とする請求項５に記載の印刷制御方法。
【請求項７】
前記判定工程は、前記面付け済み体裁と、前記印刷出力属性とを比較した結果に基づいて、前記面付け済み体裁と前記印刷出力属性とが、前記分割条件を満足するか否かを判定することを特徴とする請求項５又は６に記載の印刷制御方法。
【請求項８】
前記印刷出力属性に基づいて、前記並び替え工程により並び替えられた論理ページを加工する加工工程を更に有することを特徴とする請求項５〜７の何れか１項に記載の印刷制御方法。
【請求項９】
請求項５〜８の何れか１項に記載の印刷制御方法の各工程をコンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷制御装置、印刷制御方法、及びコンピュータプログラムに関し、特に、アプリケーションプログラムで面付け済みの印刷データを印刷するために用いて好適なものである。
【背景技術】
【０００２】
従来、プリンタを使って小冊子やカタログのような印刷物を簡易的に作成する場合、予め製本面付けを行った文書データを作成して、両面印刷する。そして、人の手によって印刷物の真ん中でステイプルして（サドルステッチを行った）印刷物を２つ折りにしていた。製本面付けとは、２つ折りにした状態で文書のページが正しい順序に見えるように面付けすることである。現在では、製品マニュアルやカタログを、ＰＤＦ（Portable Document Format）データとして、メーカーのＷｅｂサイトからダウンロードすることが可能である。また、このようなデータとして、製本面付け済みのデータも見られる。一方、文書の印刷だけでなくステイプルまで可能な複合周辺機器が一般的になっている。また、印刷の後処理としてサドルステッチや２つ折りが可能な複合周辺機器も普及してきている。以前からプリンタドライバには、１ページにＮページ分の画像を面付けするＮｕｐ面付けの機能が備わっていたが、製本面付けをする機能も備わってきている。プリンタドライバの印刷設定で製本面付けの機能を設定して印刷することにより、製本面付けされていない文書データでも、プリンタドライバによって製本面付けした印刷をすることが可能である。更に、複合周辺機器の機能を使うことによって簡易に文書を製本することができる。
【０００３】
しかし、Ｎｕｐ面付け済みの文書データや製本面付け済みの文書データを、プリンタドライバを使って印刷する場合、プリンタドライバは面付け済みの物理的なページしか認識していない。このため、論理的なページでの印刷やプレビューができないという問題があった。また、プリンタドライバの種々の機能を使うことができなかったり、望ましい形で印刷できなかったりする場合があった。例えば、ページ番号を付加する機能を使うと、論理ページではなく、物理ページにページ番号が付加される。特に、製本面付け済みの文書データにページ番号を付加すると、ページ番号が意味のない数字になったり、描画位置がページ番号の折り目の上になったりして、役に立たない。
そこで、特許文献１には、紙をスキャンしたイメージデータから、面付け体裁に従って論理ページの画像を取得して、論理ページ順にバインドした書類ファイルを生成する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−１３７９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１に記載の技術では、入力データの面付け体裁を指定すると常に論理ページ単位で入力データを分割してしまうという問題があった。プリンタドライバ自身にも製本面付けやＮｕｐ面付けの機能があり、出力の印刷設定によっては、入力データを論理ページ単位で分割せずにそのまま使うことが可能である。そのまま使える場合に論理ページ単位で印刷データを分割すると、処理速度が遅くなるだけでなく、出力データのサイズが大きくなる。
本発明は、このような問題点に鑑みてなされたものであり、面付け済みの印刷データの印刷を、プリンタドライバを使って適切に行えるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
本発明の印刷制御装置は、アプリケーションプログラムで面付け済みの印刷データを、プリンタドライバを用いて処理する印刷制御装置であって、前記面付け済みの印刷データの各物理ページにおける論理ページの配置を示す面付け済み体裁と、前記面付け済みの印刷データの出力に係る属性である印刷出力属性との少なくとも何れかが、予め設定されている分割条件を満足するか否かを判定する判定手段と、前記判定手段により、前記面付け済み体裁と前記印刷出力属性との少なくとも何れかが、前記分割条件を満足すると判定された場合に、前記面付け済みの印刷データを、論理ページの単位で分割する分割手段と、前記分割手段により分割された論理ページを、前記面付け済み体裁に基づく順序で並び替える並び替え手段と、を有し、前記判定手段により、前記面付け済み体裁と前記印刷出力属性との少なくとも何れかが、前記分割条件を満足しないと判定された場合には、前記面付け済みの印刷データを、論理ページの単位で分割しないようにすることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、面付け済み体裁と印刷出力属性との少なくとも何れかが分割条件を満足する場合に、面付け済みの印刷データを論理ページの単位で分割し、分割した論理ページを、面付け済み体裁に基づく順序で並び替えるようにした。したがって、面付け済みの印刷データを、必要に応じて、プリンタドライバによって論理ページの単位で分割し、並び替えることができる。よって、面付け済みの印刷データの印刷を、プリンタドライバを使って適切に行うことができる。
【図面の簡単な説明】
【０００８】
【図１】印刷制御システムの構成を示す図である。
【図２】ホストコンピュータにおける印刷処理のための構成を示す図である。
【図３】プリンタドライバの機能的な構成を示す図である。
【図４】左とじの製本面付けの場合の論理ページの並べ替えを説明する図である。
【図５】４ｕｐ面付けで右方向並べの場合の論理ページの並べ替えを説明する図である。
【図６】レイアウト関連の印刷設定画面を示す図である。
【図７】面付け済み体裁設定画面を示す図である。
【図８】基本印刷設定画面を示す図である。
【図９】製本設定画面を示す図である。
【図１０】左とじ製本の場合の面付け方法を説明する図である。
【図１１】４ｕｐ面付けで右方向並べの場合の面付け方法を説明する図である。
【図１２】プレビュー画面を示す図である。
【図１３】面付け済み文書印刷処理を説明するフローチャートである。
【図１４】ステップＳ１３０５の詳細を説明するフローチャートである。
【図１５】ＸＰＳデータの加工処理を概念的に説明する図である。
【図１６】製本面付けを行う場合の、論理ページが配置される領域を示す図である。
【発明を実施するための形態】
【０００９】
以下、図面を参照しながら、本発明の一実施形態を説明する。
まず、実施形態を適用可能な画像形成システムについて説明する。
図１は、印刷制御を行う情報処理装置と画像形成装置とが相互に通信可能な印刷制御システムの構成の一例を示す図である。本実施形態では、オペレーティングシステム（以下ＯＳと称する）として、マイクロソフト社のＷｉｎｄｏｗｓ（登録商標）のＸＰＳ（XML Paper Specification）プリンティングシステムを用いた場合を例に挙げて説明する。
尚、特に断らない限り、本発明の機能が実行されるのであれば、機器の構成に係わらず本発明を適用できることは言うまでもない。画像形成システムは、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ，ＷＡＮ等のネットワークを介して接続が為され処理が行われるシステムであってもよい。
【００１０】
図１において、ホストコンピュータ１００は、ＲＯＭ３のプログラム用ＲＯＭあるいは外部メモリ１１に記憶された文書処理プログラム等に基づいて、図形、イメージ、文字、表（表計算等を含む）等が混在した文書処理を実行するＣＰＵ１を備える。
更に、システムバス４に接続される各デバイスをＣＰＵ１が総括的に制御する。また、ＲＯＭ３のプログラム用ＲＯＭあるいは外部メモリ１１には、ＣＰＵ１の制御プログラムであるＯＳ等を記憶する。本実施形態では、前述の通り、ＯＳが、マイクロソフト社のＷｉｎｄｏｗｓ（登録商標）である場合を例に挙げて説明する。
【００１１】
ＲＯＭ３のフォント用ＲＯＭあるいは外部メモリ１１には、文書処理の際に使用するフォントデータ等が記憶される。ＲＯＭ３のデータ用ＲＯＭあるいは外部メモリ１１には、文書処理等を行う際に使用する各種データが記憶される。
ＲＡＭ２は、ＣＰＵ１の主メモリや、ワークエリア等として機能する。キーボードＩ／Ｆ５は、キーボード９や不図示のポインティングデバイスからのキー入力を制御する。
ディスプレイＩ／Ｆ６は、ディスプレイ１０の表示を制御する。外部メモリＩ／Ｆ７は、ハードディスク（ＨＤ）、フレキシブルディスク（ＦＤ）等の外部メモリ１１とのアクセスを制御する。外部メモリ１１には、ブートプログラム、各種アプリケーションプログラム（以下アプリケーションと称する）、フォントデータ、ユーザファイル、編集ファイル、プリンタドライバ等が記憶される。
【００１２】
プリンタＩ／Ｆ８は、所定の双方向性のインターフェース２２を介してプリンタ１５０に接続するためのものであり、プリンタ１５０との通信制御処理を実行する。
尚、ＣＰＵ１は、例えば、ＲＡＭ２に設定された表示情報ＲＡＭへのアウトラインフォントの展開（ラスタライズ）処理を実行し、ディスプレイ１０上でのＷＹＳＩＷＹＧを可能としている。
また、ＣＰＵ１は、ディスプレイ１０に表示される不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザは、アプリケーションで作成した情報を印刷する際、当該情報に対する設定を行うためのユーザインタフェースをディスプレイ１０上で開くための操作を行う。そして、ユーザは、プリンタ１５０の設定や、印刷モードの選択等を行う。この際、ユーザは、プリンタドライバが提供するユーザインタフェースを介して、各種の印刷処理方法の設定を行うことができる。
【００１３】
プリンタ１５０において、プリンタＣＰＵ（ＣＰＵ）１２は、ＲＯＭ１４のプログラム用ＲＯＭあるいは外部メモリ２１に記憶された制御プログラム等に基づき、印刷部Ｉ／Ｆ１７を介して印刷部（プリンタエンジン）１９に出力情報としての画像信号を出力する。
ＲＯＭ１４のプログラムＲＯＭには、ＣＰＵ１２の制御プログラム等が記憶される。ＲＯＭ１４のフォント用ＲＯＭには、前記出力情報を生成する際に使用するフォントデータ等が記憶される。プリンタ１５０が、ハードディスク（ＨＤ）やフレキシブルディスク（ＦＤ）、ＩＣカード等の外部メモリ２１を備えていないプリンタである場合には、ホストコンピュータ１００上で利用される情報等が、ＲＯＭ１４のデータ用ＲＯＭに記憶される。
【００１４】
ＣＰＵ１２は、入力部１６を介してホストコンピュータ１００との双方向の通信処理が可能であり、プリンタ１５０内の情報等をホストコンピュータ１００に通知することが可能である。ここで、プリンタ１５０内の情報には、印刷部（プリンタエンジン）１９のステータスや、ネットワーク設定情報や、デバイス名や、リソース名等が含まれる。
ＲＡＭ１３は、ＣＰＵ１２の主メモリや、ワークエリア等として機能する。図示しない増設ポートに接続されるオプションＲＡＭにより、メモリ容量を拡張することができるようにプリンタ１５０が構成されている。
尚、ＲＡＭ１３は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。外部メモリ２１は、外部メモリＩ／Ｆ１８によりアクセスが制御される。外部メモリ２１は、オプションとして接続され、フォントデータ、エミュレーションプログラム等を記憶する。
【００１５】
図２は、図１に示したホストコンピュータ１００における印刷処理のための構成の一例を示す図である。アプリケーション２０１、グラフィックエンジン２０２、プリンタドライバ２０３、及びシステムスプーラ２０４は、外部メモリ１１に保存されたファイルとして存在する。これらは、ＯＳやそのモジュールを利用するモジュールによってＲＡＭ２にロードされて実行されるプログラムモジュールである。
また、アプリケーション２０１及びプリンタドライバ２０３は、外部メモリ１１や不図示のＣＤ−ＲＯＭ等の可搬型の記憶媒体、あるいは不図示のネットワークを経由してホストコンピュータ１００と相互に接続されているＨＤ等の記憶媒体に保存することができる。そして、外部メモリ１１に保存されているアプリケーション２０１はＲＡＭ２にロードされて実行される。このアプリケーション２０１からプリンタ１５０に対して印刷を行う際には、アプリケーション２０１と同様にＲＡＭ２にロードされ実行可能となっているグラフィックエンジン２０２を利用する。
【００１６】
グラフィックエンジン２０２は、プリンタ１５０等の印刷装置毎に用意されたプリンタドライバ２０３を外部メモリ１１からＲＡＭ２にロードし、アプリケーション２０１の出力をプリンタドライバ２０３に設定する。また、グラフィックエンジン２０２は、アプリケーション２０１から、印刷設定もしくは印刷用データを受け取り、プリンタドライバ２０３へ印刷データとして出力する。プリンタドライバ２０３のグラフィックコンポーネント２０５は、グラフィックエンジン２０２から印刷データを受け取る。そして、グラフィックコンポーネント２０５は、受け取った印刷データを、プリンタ１５０が認識可能なプリンタ制御コマンド、例えばＰＤＬ（Page Description Language）に変換する。プリンタ制御コマンドは、ＯＳによってＲＡＭ２にロードされたシステムスプーラ２０４を経てインターフェース２２経由でプリンタ１５０へ印刷ジョブとして出力される仕組みとなっている。プリンタドライバ２０３のＵＩコンポーネント２０６は、グラフィックエンジン２０２から印刷設定を受け取り、当該印刷設定の表示、変更等を行い、グラフィックエンジン２０２を通してアプリケーション２０１に返却する。
【００１７】
ＸＰＳプリンティングシステムでは、プリンタドライバ２０３は、ＸＰＳデータを印刷データとして受け取る。ＸＰＳデータは文書データとしての利用も可能なＸＭＬベースのデータフォーマットである。文書構造は、"Fixed Document Sequence（以下、ＦＤＳと称する）"、"Fixed Document（以下、ＦＤと称する）"、"Fixed Page（以下、ＦＰと称する）"の３階層のツリー構造をとる。ここで、ＦＤＳは、ジョブを表し、ＦＤは、ドキュメントを表し、ＦＰは、ページを表す。ＦＰは、更に、複数の描画オブジェクトから構成される。
【００１８】
ＸＰＳデータでは、Path（図形）、Glyphs（文字）、Canvas（グループ）の３種類の描画オブジェクトがある。Canvasは、複数の描画オブジェクトを論理的に纏めたり、後述のResourceを参照したりするための親オブジェクトとして用いる。描画オブジェクトは、それぞれの描画の種類に応じた複数の属性を持っている。当該属性には、描画に影響する属性も、描画に影響しない属性も含まれており、必須ではない属性もある。Resourceへの参照も属性で実現している。イメージ、フォント、サムネイル等はResourceであり、１つのResourceを複数の描画オブジェクトから参照することが可能である。更に、複数の描画オブジェクトを纏めて１つのResource Dictionaryとして定義することができる。Fixed PageもしくはCanvasからResource Dictionaryを参照することにより、描画オブジェクトを共通化することが可能である。複数のResource Dictionaryを定義することが可能である。また、描画オブジェクト以外にも描画ブラシ等をResource Dictionaryに定義することが可能である。
【００１９】
また、ＸＰＳデータは、Print Ticket（以下、ＰＴと称する）という印刷設定を内部に持つことができる。ＧＤＩプリンティングシステムの印刷設定であるＤＥＶＭＯＤＥでは全ての属性を一度に設定し、必要に応じてジョブの途中でＤＥＶＭＯＤＥ全体を切り替える。これに対し、ＰＴでは、ジョブ／ドキュメント／ページの単位で一部の印刷設定のみの指定が可能である。
【００２０】
図３は、本実施形態の画像形成システムにおけるプリンタドライバ２０３の機能的な構成の一例を示す図である。
ページ分割部３０１は、グラフィックエンジン２０２から印刷データであるＸＰＳデータを受け取り、必要ならばＸＰＳデータのページを論理ページ単位に分割して、論理ページ順に並び替える。以下、アプリケーション２０１で面付け済みのページを物理ページと称し、物理ページに面付けされているページを論理ページと称し、Ｎ番目のページをページＮ（Ｎは正の整数）と称する。
【００２１】
図４は、面付け済み体裁が、左とじの製本面付けである場合の論理ページの並べ替えの一例を説明する図である。製本面付けの場合、２つの論理ページが面付けされた物理ページが偶数ページあり、それらの物理ページを両面印刷して２つ折りすると正しい順になるように、論理ページが物理ページに面付けされている。例えば、図４に示す、４物理ページの左とじ製本面付けの場合、最初の物理ページ（１ｐ）の左の論理ページと右の論理ページは、それぞれ論理ページ８（最後の論理ページ）と論理ページ１（最初の論理ページ）である。ページ分割部３０１は、物理ページを半分に分割し、順序を図４の下段に示すように並び替える。
【００２２】
図５は、面付け済み体裁が、４ｕｐ面付けで右方向並べの場合の論理ページの並べ替えの一例を説明する図である。ページ分割部３０１は、物理ページを４分割し、論理ページを図５の下段に示すように並び替える。ページ分割部３０１が物理ページを論理ページ単位に分割したり論理ページ順を認識したりするために、ＵＩコンポーネント２０６は、印刷データがどのように面付けされているかを、面付け済み体裁として設定する。面付け済み体裁の設定は、面付け済み体裁３０６としてＸＰＳデータに付随するＰＴに含まれる。
【００２３】
図６は、プリンタドライバ２０３のレイアウト関連の印刷設定画面の一例を示す図である。この印刷設定画面６００で面付け済み体裁のチェックボックス６０２をＯＮにすると、詳細ボタン６０４が有効になる。詳細ボタン６０４を押すと面付け済み体裁設定画面が開く。
図７は、面付け済み体裁設定画面の一例を示す図である。ユーザは、面付けの体裁として製本面付けを指定するのであれば、面付け済み体裁設定画面７００で、ラジオボタン７０１ａを選択し、Ｎｕｐ面付けを指定するのであれば、ラジオボタン７０１ｂを選択する。更に、製本面付けを指定する場合、ユーザは、とじ方向のプルダウンメニュー７０２で、左とじなのか、右とじなのかを選択する。Ｎｕｐ面付けを指定する場合、ユーザは、１つの物理ページに面付けした論理ページの数と、論理ページの面付け順とを、ページレイアウト選択ペイン７０３で選択する。
【００２４】
例えば、４ｕｐで右方向並べの場合、ユーザは、ページレイアウト選択ペイン７０３の左から２番目のアイコンを選択する。面付け済み体裁設定画面７００で、ＯＫボタン７０４がユーザによって押されると、ページ分割部３０１は、面付け済み体裁設定画面７００に対して行われた設定を確定して面付け済み体裁設定画面７００を閉じる。キャンセルボタン７０５がユーザによって押されると、ページ分割部３０１は、面付け済み体裁設定画面７００に対して行われた設定を無効にして面付け済み体裁設定画面７００を閉じる。
面付けなし（１ｉｎ１）を指定する場合、ユーザは、印刷設定画面６００の面付け済み体裁のチェックボックス６０２をＯＦＦにする。印刷設定画面６００でＯＫボタン６０９がユーザによって押されると、ページ分割部３０１は、印刷設定画面６００に対して行われた設定を確定して印刷設定画面６００を閉じる。キャンセルボタン６１０がユーザによって押されると、ページ分割部３０１は、印刷設定画面６００に対して行われた設定を無効にして印刷設定画面６００を閉じる。
【００２５】
レイアウト部３０２は、印刷出力属性３０７に従ってＸＰＳデータを加工して、論理ページを面付けしたり、ウォーターマークの描画を付加したりする。ＵＩコンポーネント２０６は、印刷データをどのように加工するのかを印刷出力属性として設定する。印刷出力属性の設定は、印刷出力属性３０７としてＸＰＳデータに付随するＰＴに含まれる。図６に示すレイアウト関連の印刷設定画面６００でユーザが製本のチェックボックス６０１をＯＮにすると、詳細ボタン６０３が有効になる。ユーザが詳細ボタン６０３を押すと製本設定画面が開く。
【００２６】
図９は、製本設定画面の一例を示す図である。ユーザは、プリンタドライバ２０３で論理ページを面付けするならば、製本設定画面９００のラジオボタン９０１ａを選択し、デバイス（プリンタ１５０）で論理ページを面付けするならば、ラジオボタン９０１ｂを選択する。更に、ユーザは、とじ方向のプルダウンメニュー９０２でとじ方向を設定し、とじしろのプルダウンメニュー９０３でとじしろを設定する。また、ユーザが分冊製本のチェックボックス９０４をＯＮにすると、分冊して製本することができる。印刷枚数が中綴じ上限枚数よりも多いと製本できないため、中綴じ上限枚数よりも少ない枚数の複数の冊子に分割し、それらを合わせることにより１つの冊子にすることができる。自動分冊のラジオボタン９０５ａがＯＮの場合には、プリンタ１５０の中綴じ上限枚数毎に製本がなされ、手動分冊の９０５ｂがＯＮの場合には、枚数指定ペイン９０６でユーザによって指定した枚数毎に製本がなされる。
【００２７】
図１０は、印刷設定が、左とじ製本の場合の面付け方法の一例を説明する図である。印刷設定が左とじ製本を行う場合には、論理ページを製本面付けして、両面印刷と中綴じ２つ折りと、を行う。製本設定画面９００でＯＫボタン９０７がユーザによって押されると、レイアウト部３０２は、製本設定画面９００に対して行われた設定を確定して製本設定画面９００を閉じる。キャンセルボタン９０８がユーザによって押されると、レイアウト部３０２は、製本設定画面９００に対して行われた設定を無効にして製本設定画面９００を閉じる。
【００２８】
図８は、プリンタドライバ２０３の基本印刷設定画面の一例を示す図である。基本印刷設定画面８００においてユーザが、ページ集約のチェックボックス８０１をＯＮにすると、ページ集約の種類の選択ペイン８０２が有効になる。ユーザは、１つの物理ページに面付けする論理ページ数と論理ページの面付け順とを、ページ集約の種類の選択ペイン８０２で選択する。基本印刷設定画面８００で、ＯＫボタン８０４がユーザによって押されると、ページ分割部３０１は、基本印刷設定画面８００に対して行われた設定を確定して基本印刷設定画面８００を閉じる。キャンセルボタン８０５がユーザによって押されると、ページ分割部３０１は、基本印刷設定画面８００に対して行われた設定を無効にして基本印刷設定画面８００を閉じる。
【００２９】
図１１は、印刷設定が、４ｕｐ面付けで右方向並べの場合の面付け方法の一例を説明する図である。４ｕｐにする場合には、４つの論理ページを縮小し、縮小した論理ページを１つの物理ページに順に並べる。また、ユーザは、レイアウト関連の印刷設定画面６００で、スタンプのチェックボックス６０５をＯＮにしてスタンプ名のプルダウンメニュー６０６でスタンプ名を選択することができる。また、ユーザは、ページ枠のチェックボックス６０７をＯＮにしてページ枠の種類のプルダウンメニュー６０８でページ枠の種類を選択することができる。このようにしてスタンプ名やページ枠の種類が選択されると、スタンプやページ枠の描画を論理ページに付加することができる。
【００３０】
レンダリング部３０３は、レイアウト部３０２が生成したＸＰＳデータをプリンタ１５０が認識可能な制御コマンドに変換して、システムスプーラ２０４に送出する。
印刷出力属性３０７に印刷前にプレビューする設定がなされていると、ページ分割部３０１は、プレビュー部３０４を起動する。ユーザが、基本印刷設定画面８００の印刷前プレビューのラジオボタン８０３をＯＮにすると、印刷出力属性３０７で印刷前にプレビューする設定がなされる。プレビュー部３０４は、その内部にプレビュー用レイアウト部３０５を持ち、レイアウト部３０２と同様にＸＰＳデータを加工してディスプレイ１０に表示する。
【００３１】
図１２は、プレビュー画面の一例を示す図である。プレビュー画面１２００のドキュメントリスト１２０１には、印刷前プレビューのラジオボタン８０３がＯＮになっている場合に、印刷した文書の一覧が表示される。プレビューペイン１２０２には、ドキュメントリスト１２０１に表示された一覧の中からユーザによって選択された文書のプレビュー画像が表示される。更に、ユーザが、編集ペイン１２０３や編集メニュー１２０４を操作すると、プレビュー用レイアウト部３０５は、ドキュメントリスト１２０１で選択された文書のＸＰＳデータの印刷出力属性３０７を変更することが可能である。また、ユーザが、ドキュメントリスト１２０１で複数の文書を選択して、編集ペイン１２０３や編集メニュー１２０４で結合コマンドを実行すると、プレビュー部３０４は、複数のＸＰＳデータを１つのＸＰＳデータに結合することが可能である。プレビュー部３０４が加工したＸＰＳデータは、グラフィックエンジン２０２に再度投入されることにより、印刷することが可能である。
【００３２】
図１３は、プリンタドライバ２０３の面付け済み文書印刷処理の一例を説明するフローチャートである。
まず、ページ分割部３０１は、印刷データ（ＸＰＳデータ）を取得する（ステップＳ１３０１）。
次に、ページ分割部３０１は、ＸＰＳデータが内部に持つＰＴに含まれる面付け済み体裁３０６と印刷出力属性３０７とを取得する（ステップＳ１３０２、Ｓ１３０３）。
次に、ページ分割部３０１は、面付け済み体裁３０６と印刷出力属性３０７の値（内容）から、ＸＰＳデータを論理ページ単位で分割する必要があるか否かを判定する（ステップＳ１３０４）。ＸＰＳデータを論理ページ単位で分割する必要があるのは、例えば、次の（１）〜（４）の少なくとも１つに該当する場合である。
（１）印刷出力属性３０７に、印刷前にプレビューする設定がなされている場合。
（２）印刷出力属性３０７に、スタンプやページ枠の付加等のページ修飾の設定がなされている場合。
（３）面付け済み体裁３０６が、製本面付けであり、且つ、以下の（３−１）〜（３−６）の少なくとも何れか１つを満たす場合。
（３−１）印刷出力属性３０７に、製本印刷の設定がなされていない。
（３−２）面付け済み体裁３０６のとじ方向の設定が、印刷出力属性３０７の設定と異なる。
（３−３）印刷出力属性３０７に設定されている製本印刷がデバイス製本である。
（３−４）印刷出力属性３０７に設定されている製本印刷の詳細設定が分冊印刷である。
（３−５）印刷出力属性３０７に設定されている製本印刷のとじしろが０でない。
（３−６）印刷出力属性３０７に、ページ番号やページ枠の付加の設定がなされている。
（４）面付け済み体裁３０６が、２ｕｐ以上のＮｕｐ面付けであり、且つ、以下の（４−１）〜（４−３）の少なくとも何れか１つを満たす場合。
（４−１）印刷出力属性３０７に、２ｕｐ以上のＮｕｐ面付けが設定されていない。
（４−２）面付け済み体裁３０６が、２ｕｐであり、印刷出力属性３０７に設定されているＮｕｐ面付けのＮが奇数である。
（４−３）面付け済み体裁３０６が、４ｕｐ以上であり、印刷出力属性３０７に設定されているがＮｕｐ面付けのＮが、面付け済み体裁３０６の値と同じではない。
【００３３】
ステップＳ１３０４の判定の結果、ＸＰＳデータを論理ページ単位で分割する必要がある場合、ページ分割部３０１は、ＸＰＳデータの各ページを論理ページ単位で分割するページ分割処理（ステップＳ１３０５）を行う。次に、ページ分割部３０１は、分割された論理ページの順序を正しい順序に変更する論理ページ順序変更処理を行う（ステップＳ１３０６）。ステップＳ１３０５のページ分割処理と、ステップＳ１３０６の論理ページ順序変更処理については後で詳細に説明する。
一方、ステップＳ１３０４の判定の結果、ＸＰＳデータを論理ページ単位で分割する必要がない場合には、ステップＳ１３０５とＳ１３０６を省略し、ステップＳ１３０１で取得したＸＰＳデータのページをそのまま論理ページとする。
【００３４】
次に、ページ分割部３０１は、印刷出力属性３０７に、印刷前にプレビューする設定がなされているか否かを判定する（ステップＳ１３０７）。この判定及び結果、印刷前にプレビューする設定がなされていない場合、ページ分割部３０１は、ＸＰＳデータをレイアウト部３０２に渡す。一方、印刷前にプレビューする設定がなされている場合、ページ分割部３０１は、プレビュー部３０４を起動してＸＰＳデータをプレビュー部３０４に渡す（ステップＳ１３１３）。
【００３５】
ページ分割部３０１からＸＰＳデータが渡されると、レイアウト部３０２は、印刷出力属性３０７に、Ｎｕｐ印刷もしくは製本印刷が設定されているか否か（面付けを行うか否か）を判定する（ステップＳ１３０８）。この判定の結果、印刷出力属性３０７に、Ｎｕｐ印刷もしくは製本印刷が設定されている場合、レイアウト部３０２は、ＸＰＳデータの論理ページを、Ｎｕｐ面付けもしくは製本面付けする（ステップＳ１３０９）。そして、後述するステップＳ１３１０に進む。
【００３６】
一方、印刷出力属性３０７に、Ｎｕｐ印刷もしくは製本印刷が設定されておらず、印刷出力属性３０７に、通常の１ｕｐ印刷が設定されている場合、ステップＳ１３０９を省略してステップＳ１３１０に進む。そして、レイアウト部３０２は、印刷出力属性３０７に、ページ番号やページ枠の設定がなされていれば、当該設定に対応する修飾描画データをＸＰＳデータに付加する（ステップＳ１３１０）。レイアウト部３０２によるＸＰＳデータの加工が終わったら、ＸＰＳデータをレンダリング部３０３に渡す。
レンダリング部３０３は、ＸＰＳデータをＰＤＬデータに変換し（ステップＳ１３１１）、システムスプーラ２０４にスプールする（ステップＳ１３１２）。システムスプーラ２０４は、プリンタ１５０へＰＤＬデータを送出する。
【００３７】
図１４は、図１３のステップＳ１３０５のページ分割処理の詳細を説明するフローチャートである。また、図１５は、ステップＳ１３０５のページ分割処理と、ステップＳ１３０６の論理ページ順序変更処理でのＸＰＳデータの加工処理の一例を概念的に説明する図である。
図１４において、まず、ページ分割部３０１は、ＸＰＳデータの１つの物理ページのデータを取得する（ステップＳ１４０１）。図１５に示す例では、このステップＳ１４０１で取得される物理ページのデータがデータ１５０１である。
次に、ページ分割部３０１は、面付け済み体裁３０６から、１物理ページに含まれる論理ページの数Ｎ（Ｎは正の整数）を求める（ステップＳ１４０２）。次に、ページ分割部３０１は、各論理ページ１〜Ｎの物理ページに対する領域（各論理ページ１〜Ｎが配置される物理ページの領域）を求めてＲＡＭ２のワークエリアに格納する（ステップＳ１４０３）。面付け済み体裁３０６が製本面付けならば、１物理ページに含まれる論理ページの数Ｎは２となり、Ｎｕｐ面付けならば、１物理ページに含まれる論理ページの数Ｎは、ページレイアウト選択ペイン７０３で選択された論理ページの数となる。
【００３８】
図１６は、Ａ４用紙に製本面付け（論理ページの数Ｎは２）を行う場合の、論理ページが配置される領域の一例を示す図である。論理ページ１の領域は、座標（０，０）−（１４８．５，２１０）で定められる長方形の領域であり、論理ページ２の領域は、座標（１４８．５，０）−（２９７，２１０）で定められる長方形の領域である。
図１４の説明に戻り、ページ分割部３０１は、各物理ページに対応する論理ページ１〜ＮをＸＰＳデータに追加する（ステップＳ１４０４）。この時点では、ＸＰＳデータに追加した論理ページの描画オブジェクトは空であり、この後、物理ページの各印刷命令を、当該物理ページに関係する論理ページにコピーして追加していく。
【００３９】
次に、ページ分割部３０１は、物理ページの印刷命令を取得する（Ｓ１４０５）。ＸＰＳデータでは、印刷命令は描画オブジェクト（Path、Glyphs、Canvas）と、それ以外の要素（ResourceやＰＴ等）と、に分けられる。そして、ページ分割部３０１は、論理ページを識別する変数ｉ＝１〜Ｎに対して、以下のステップＳ１４０６〜Ｓ１４１２の処理を行う。
まず、ページ分割部３０１は、論理ページを識別する変数ｉに「１」を設定する。
次に、ページ分割部３０１は、物理ページの印刷命令が描画オブジェクトであるか否かを判定する（ステップＳ１４０７）。この判定の結果、物理ページの印刷命令が描画オブジェクトであれば、ページ分割部３０１は、当該描画オブジェクトの描画領域が論理ページｉの領域に少しでも入っているか否かを判定する（ステップＳ１４０８）。
【００４０】
この判定の結果、描画オブジェクトの描画領域が論理ページｉの領域に少しでも入っていれば、ページ分割部３０１は、当該描画オブジェクトを論理ページｉにコピーする。このとき、ページ分割部３０１は、当該描画オブジェクトの各座標を論理ページｉの原点からの相対座標にして、当該描画オブジェクトの座標を調整する（ステップＳ１４０９）。そして、ページ分割部３０１は、描画オブジェクトを論理ページｉに追加する（ステップＳ１４１０）。例えば、図１６において、論理ページ２に、座標（１８０，１４０）−（２８０，１９０）で定まる長方形が入る場合、この長方形の左上の座標を、論理ページ２の原点（左上点）の座標（１４８．５，０）分差し引いて（３１．５，１９０）とする。
【００４１】
一方、ステップＳ１４０７の判定の結果、物理ページの印刷命令が描画オブジェクト以外であれば、ステップＳ１４０８、Ｓ１４０９を省略してステップＳ１４１０に進み、ページ分割部３０１は、印刷命令を論理ページｉにコピーして追加する。図１５に示す例では、ステップＳ１４０４で、物理ページに論理ページ１〜Ｎが追加され、ステップＳ１４１０で、印刷命令が当該印刷命令に関連する論理ページに追加されたデータがデータ１５０２である。
【００４２】
そして、ページ分割部３０１は、論理ページを識別する変数ｉに「１」を加算する（ステップＳ１４１１）。次に、ページ分割部３０１は、論理ページを識別する変数ｉがＮを超えたか（ｉ＞Ｎを満たすか）否かを判定する。この判定の結果、論理ページを識別する変数ｉがＮを超えていない場合には、ステップＳ１４０７に戻り、論理ページを識別する変数ｉがＮを超えるまで、ステップＳ１４０７〜Ｓ１４１２の処理を繰り返し行う。
論理ページを識別する変数ｉがＮを超えると、ページ分割部３０１は、物理ページの描画命令に対する処理が終了したか否かを判定する（ステップＳ１４１３）。この判定の結果、物理ページの描画命令に対する処理が終了していない場合には、ステップＳ１４０５に戻り、物理ページの描画命令に対する処理が終了するまで、ステップＳ１４０５〜Ｓ１４１３の処理を繰り返し行う。
以上のステップＳ１４０５〜１４１３の処理によって、複数の論理ページの領域に跨って位置する描画オブジェクトはそれら複数の論理ページに追加されるが、描画抜けや重なりの間違いがなくなる。しかし、このようにすると、論理ページのページ領域外に描画オブジェクトが位置することになる。このため、ページ分割部３０１は、各論理ページ１〜Ｎにページ領域のクリップオブジェクトを追加する（ステップＳ１４１４）。ＸＰＳデータでは、ページ領域のサイズのClip属性を付けたPathを追加すればよい。これにより、論理ページにおいて、描画オブジェクトの一部分が配置されるページ領域に、当該描画オブジェクトの一部分が表示され、当該描画オブジェクトの残りの部分が表示されないようにすることができる。以上のようにして論理ページ１〜Ｎの作成が完了したら、ページ分割部３０１は、元となった物理ページを削除する（ステップＳ１４１５）。図１５に示す例では、ステップＳ１４１５によって元の物理ページが削除されたデータがデータ１５０３である。これにより、ＸＰＳデータは、論理ページ１〜Ｎの単位で分割される。
次に、ページ分割部３０１は、全ての物理ページに対する処理が終了したか否かを判定する（ステップＳ１４１６）。この判定の結果、全ての物理ページに対する処理が終了していない場合には、ステップＳ１４０１に戻って次の物理ページに対する処理を実行し、全ての物理ページに対する処理が終了するまで、ステップＳ１４０１〜Ｓ１４１６の処理を繰り返し行う。
【００４３】
図１３のステップＳ１３０６の論理ページ順序変更処理では、ステップＳ１３０５によって分割された論理ページの論理的な順序を面付け済み体裁３０６から求める。例えば、物理ページの数Ｎ（Ｎは偶数）の製本面付けの場合、物理ページｉの左の論理ページをｉ−１、右の論理ページをｉ−２とすると、左とじ製本面付け済みデータを論理ページ順にするには、以下の順に論理ページの順序を並び変えればよい。
１−２、２−１、・・・（Ｎ−１）−２、Ｎ−１、Ｎ−２、（Ｎ−１）−１、・・・、２−２、１−１
また、右とじ製本面付け済みデータを論理ページ順にするには、以下の順に論理ページを並び変えればよい。
１−１、２−２、・・・、（Ｎ−１）−１、Ｎ−２、Ｎ−１、（Ｎ−１）−２、・・・、２−１、１−２
図１５に示す例では、ステップＳ１３０６で論理ページの順序が変更されたデータがデータ１５０４となる。
【００４４】
以上のように本実施形態では、アプリケーション２０１で面付け済みの印刷データの各物理ページにおける論理ページの配置を示す面付け済み体裁を、チェックボックス６０２、ラジオボタン７０１の少なくとも１つをＯＮしてユーザが設定する。また、印刷データの出力に係る属性である印刷出力属性を、チェックボックス６０１。６０５、６０７、８０１、８０３の少なくとも１つをＯＮしてユーザが設定する。そして、プリンタドライバ２０３は、面付け済み体裁と、印刷出力属性との少なくとも１つが予め設定されている分割条件（前述した（１）〜（４）を参照）を満足している場合に、面付け済みの印刷データを論理ページの単位で分割する。このとき、条件に応じて、面付け済み体裁と印刷出力属性とを比較する。そして、プリンタドライバ２０３は、分割した論理ページを、面付け済み体裁に基づく順序で並び替える。システムスプーラ２０４は、並び替えた論理ページに基づいて、プリンタ１５０が認識可能な制御コマンドを生成し、プリンタ１５０に出力する。したがって、不必要に処理速度が遅くなったり、プリンタ１５０に出力するデータのサイズが大きくなったりすることなく、プリンタドライバ２０３の機能をフルに使って面付け済み文書を印刷することができる。
【００４５】
また、本実施形態では、面付け済みの印刷データを論理ページの単位で分割するに際し、物理ページにある描画オブジェクトの描画領域が論理ページのページ領域に少しでも入っていると、当該物理データを当該論理ページに追加する。そして、当該ページ領域に対する当該描画オブジェクトのクリップ領域を当該論理ページに追加する。したがって、論理ページをまたがる描画オブジェクトがあっても、描画オブジェクトが欠落してしまうことを防止することができると共に、描画オブジェクトが他の論理ページ等にはみ出してしまうことを防止することができる。
【００４６】
尚、前述した実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【００４７】
（その他の実施例）
本発明は、以下の処理を実行することによっても実現される。即ち、まず、以上の実施形態の機能を実現するソフトウェア（コンピュータプログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）が当該コンピュータプログラムを読み出して実行する。
【図１】
2012113356.tif 000003
【図２】
2012113356.tif 000004
【図３】
2012113356.tif 000005
【図４】
2012113356.tif 000006
【図５】
2012113356.tif 000007
【図６】
2012113356.tif 000008
【図７】
2012113356.tif 000009
【図８】
2012113356.tif 000010
【図９】
2012113356.tif 000011
【図１０】
2012113356.tif 000012
【図１１】
2012113356.tif 000013
【図１２】
2012113356.tif 000014
【図１３】
2012113356.tif 000015
【図１４】
2012113356.tif 000016
【図１５】
2012113356.tif 000017
【図１６】
2012113356.tif 000018