(57)【特許請求の範囲】
【請求項１】
複数ページで構成されるドキュメントを複数連続して印刷装置に印刷させる印刷制御装置であって、
前記ドキュメント毎に、または、前記ドキュメントの拡張子毎に設定された余白詰めの許可または禁止を示す設定情報を格納する記憶部と、
前記ドキュメントを構成する各ページについての余白詰め実行の有無を、前記設定情報に基づき判定し、前記設定情報が許可の場合に直前のドキュメントの最終ページの余白に余白詰めを行うページ再構築部と、
前記ページ再構築部による余白詰め機能の結果を前記印刷装置へ出力する印刷出力部とを備え、
前記ページ再構築部は、
前記設定情報にて、余白詰め禁止に設定された前記ドキュメント、または、余白詰め禁止に設定された前記拡張子のドキュメント、である余白詰め禁止ドキュメントに対して、
前記余白詰め禁止ドキュメントの先頭ページを、直前のドキュメントの設定情報が余白詰め許可であっても当該直前のドキュメントの最終ページの余白に余白詰めしない、かつ、前記余白詰め禁止ドキュメントの最終ページの余白を、直後のドキュメントの設定情報が余白詰め許可であっても当該直後のドキュメントの先頭ページで余白詰めしない
ことを特徴とする印刷制御装置。
【請求項２】
複数ページで構成されるドキュメントを複数用意し、
前記ドキュメント毎に、または、前記ドキュメントの拡張子毎に設定された余白詰めの許可または禁止を示す設定情報を格納する記憶部を備え、
前記複数のドキュメントを連続して印刷装置に印刷させるためにコンピュータを、
前記ドキュメントを構成する各ページについての余白詰め実行の有無を、前記設定情報に基づき判定し、前記設定情報が許可の場合に直前のドキュメントの最終ページの余白に余白詰めを行って前記ドキュメントのページデータを再構築するページ再構築手段、および、
前記ページ再構築部による余白詰め機能の結果を前記印刷装置へ出力する印刷出力手段を有し、
前記ページ再構築手段は、
前記設定情報が、余白詰め禁止に設定された前記ドキュメント、または、余白詰め禁止に設定された前記拡張子のドキュメント、である余白詰め禁止ドキュメントに対して、
前記余白詰め禁止ドキュメントの先頭ページを、直前のドキュメントの設定情報が余白詰め許可であっても当該直前のドキュメントの最終ページの余白に余白詰めしない、かつ、前記余白詰め禁止ドキュメントの最終ページの余白を、直後のドキュメントの設定情報が余白詰め許可であっても当該直後のドキュメントの先頭ページで余白詰めしないページデータを再構築したページデータとする
ことを特徴とする印刷プログラム。
【請求項３】
複数ページで構成されるドキュメントを複数連続して印刷装置に印刷させる画像形成装置であって、
前記ドキュメント毎に、または、前記ドキュメントの拡張子毎に設定された余白詰めの許可または禁止を示す設定情報を格納する記憶部と、
前記ドキュメントを構成する各ページについての余白詰め実行の有無を、前記設定情報に基づき判定し、前記設定情報が許可の場合に直前のドキュメントの最終ページの余白に余白詰めを行うページ再構築部と、
前記ページ再構築部による余白詰め機能の結果を前記印刷装置へ出力する印刷出力部とを備え、
前記ページ再構築部は、
前記設定情報にて、余白詰め禁止に設定された前記ドキュメント、または、余白詰め禁止に設定された前記拡張子のドキュメント、である余白詰め禁止ドキュメントに対して、
前記余白詰め禁止ドキュメントの先頭ページを、直前のドキュメントの設定情報が余白詰め許可であっても当該直前のドキュメントの最終ページの余白に余白詰めしない、かつ、前記余白詰め禁止ドキュメントの最終ページの余白を、直後のドキュメントの設定情報が余白詰め許可であっても当該直後のドキュメントの先頭ページで余白詰めしない
ことを特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷プログラム、印刷制御装置および画像形成装置の技術に関するものである。
【背景技術】
【０００２】
異なるアプリケーションプログラム（以下、アプリケーションと称する）で作成されたドキュメントファイル（以下、ドキュメントと称する）を１つの印刷ジョブとして印刷処理を行う情報処理装置、印刷装置、印刷処理システム、印刷処理方法、プログラムおよび記憶媒体に関する技術が開示されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−４６７９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、ワードプロセッサや、表計算アプリケーションなどの特定のアプリケーションで作成されたドキュメントでは余白を詰めたくないが、それ以外は単なるドキュメント間であっても余白を詰めたい場合がある。このような場合、特許文献１などの技術では、１つの結合されたドキュメントにおいて、元のデータの区別なくすべての余白を詰めてしまうため、所望の画像出力を得ることができないという問題がある。
【０００５】
本発明は、このような問題を解決することを課題とし、余白詰めの設定が可能な印刷プログラム、印刷制御装置および画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
前記目的を達成するため、本発明は、複数ページで構成されるドキュメントを複数連続して印刷装置に印刷させる印刷制御装置であって、前記ドキュメント毎に、または、前記ドキュメントの拡張子毎に設定された余白詰めの許可または禁止を示す設定情報を格納する記憶部と、前記ドキュメントを構成する各ページについての余白詰め実行の有無を、前記設定情報に基づき判定し、前記設定情報が許可の場合に直前のドキュメントの最終ページの余白に余白詰めを行うページ再構築部と、前記ページ再構築部による余白詰め機能の結果を前記印刷装置へ出力する印刷出力部とを備え、前記ページ再構築部は、前記設定情報にて、余白詰め禁止に設定された前記ドキュメント、または、余白詰め禁止に設定された前記拡張子のドキュメント、である余白詰め禁止ドキュメントに対して、前記余白詰め禁止ドキュメントの先頭ページを、直前のドキュメントの設定情報が余白詰め許可であっても当該直前のドキュメントの最終ページの余白に余白詰めしない、かつ、前記余白詰め禁止ドキュメントの最終ページの余白を、直後のドキュメントの設定情報が余白詰め許可であっても当該直後のドキュメントの先頭ページで余白詰めしないことを特徴とする。
その他の解決手段は、実施形態中において適宜説明する。
【発明の効果】
【０００７】
本発明によれば、余白詰めの設定が可能な印刷プログラム、印刷制御装置および画像形成装置を提供することができる。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態に係る印刷システムの構成例を示す機能ブロック図である。
【図２】第１実施形態に係る印刷データ生成処理の流れを示すフローチャートである。
【図３】第１実施形態に係る余白印刷設定画面例を示す図である。
【図４】第１実施形態に係るアプリケーション余白設定画面例を示す図である。
【図５】第１実施形態の余白詰め実行例を示す図である。
【図６】他の例による余白詰めの結果を示す図である。
【図７】ページデータを余白処理を行う処理単位にグループ分けした例を示す図である。
【図８】グループ分けの実際を示す表である。
【図９】第１実施形態に係る余白レイアウト情報の概要を示す図である。
【図１０】第１実施形態に係る区切可能位置テーブルの例を示す図である。
【図１１】第１実施形態に係る余白テーブルの例を示す図である。
【図１２】第１実施形態に係るページ解析処理の流れを示すフローチャートであり。
【図１３】区切可能位置テーブルの修正例を示す図である（その１）。
【図１４】区切可能位置テーブルの修正例を示す図である（その２）。
【図１５】区切位置テーブルの例を示す図である。
【図１６】第１実施形態に係るページ再構築処理を説明するための図である。
【図１７】第２実施形態に係る余白印刷設定画面例を示す図である。
【図１８】第２実施形態に係るアプリケーション余白設定画面例を示す図である。
【図１９】第２実施形態に係るドキュメントの最後尾の余白のみを詰める例を示す図でである。
【図２０】第２実施形態に係るページを、余白処理を行う処理単位にグループ分けした例である。
【発明を実施するための形態】
【０００９】
以下に、図面を参照して本発明の実施形態について説明する。
なお、本実施形態において、「ドキュメント」とは「ドキュメントファイル」を指すものとする。
【００１０】
［第１実施形態］
まず、図１〜図１６を参照して、本発明に係る第１実施形態を説明する。
《システム構成》
図１は、第１実施形態に係る印刷システムの構成例を示す機能ブロック図である。
印刷システム１０は、印刷制御装置１およびプリンタなどの印刷装置２がネットワーク５を介して互いに接続されている。
印刷制御装置１は、キーボードや、マウスなどの入力部３、およびディスプレイなどの表示部４を備え、内部にＣＰＵ（Central Processing Unit）などの制御部１００、ＨＤＤ（Hard Disk Drive）などの記憶部２００、ＲＡＭ（Random Access Memory）などのメモリ３００、およびＮＩＣ（Network Interface Card）などの通信部４００を有している。制御部１００、記憶部２００、メモリ３００、通信部４００、入力部３および表示部４は、バス５００を介して互いに接続している。
制御部１００は、ＨＤＤ内のプログラムをメモリ３００に展開し、展開されたプログラムを実行することによって、文書（ドキュメント２０１）やイメージの作成や印刷などを行う一般的なソフトウェアプログラムの機能を有するアプリケーション１０１および印刷データの作成処理を行う機能を有するプリンタドライバ１０２を具現化している。
【００１１】
アプリケーション１０１は固有の識別情報を持っている。ここで、識別情報は、例えば、アプリケーション１０１自身の実行ファイルの名称であったり、その実行ファイルに含まれる特定の情報であったりする。
【００１２】
なお、ドキュメント２０１の拡張子は、オペレーティングシステムによって特定のアプリケーション１０１と関連付けられており、プリンタドライバ１０２は拡張子によってドキュメント２０１を表示または編集する特定のアプリケーション１０１の識別情報を取得することができる。アプリケーション１０１は、記憶部２００から「ドキュメントＡ」や「ドキュメントＢ」などの各ドキュメント２０１を開き、印刷を指示すると、ドキュメント名および印刷ジョブをプリンタドライバ１０２に渡す機能も有する。ここで、ドキュメント名は、「ドキュメントＡ」や、「ドキュメントＢ」など、各ドキュメント２０１におけるファイル名である。
【００１３】
プリンタドライバ１０２は、ページデータ取得部１０３、識別情報取得部１０４、グループ判別部１０５、余白印刷設定部１０６、余白レイアウト情報取得部（区切可能位置検出部、余白検出部）１１１、ページ解析部（区切位置検出部）１０７、ページ再構築部（余白詰め部）１０８、印刷データ生成部１０９、印刷データ出力部（印刷出力部）１１０を有している。
ページデータ取得部１０３は、入力部３を介して指定されたドキュメント２０１における各ページのデータを取得するなどの機能を有する。
識別情報取得部１０４は、アプリケーション１０１からアプリケーション識別情報を取得したり、印刷を行うドキュメント２０１からドキュメント情報を取得したりする機能を有する。
グループ判別部１０５は、ページや、ドキュメント２０１のグループ分けを行う機能を有する。
余白印刷設定部１０６は、入力部３を介して入力された情報を基に、アプリケーション１０１毎におけるドキュメント２０１の余白印刷設定を行うなどの機能を有する。
【００１４】
ページ解析部１０７は、余白詰めを行うときに、前のページへ移動する部分と、残す部分の分割線を決定する機能を有する。
ページ再構築部１０８は、実際の余白詰めを行うことによって、ドキュメント２０１におけるページの再構築を行う機能を有する。
印刷データ生成部１０９は、ページ再構築部１０８による処理結果を基に印刷データの生成を行う機能を有する。
印刷データ出力部１１０は、印刷データ生成部１０９によって生成された印刷データを印刷装置２へ出力する機能を有する。
余白レイアウト情報取得部１１１は、ページのデータからページを分割することが可能な区切可能位置や、ページ下部の余白の高さを検出することによって区切可能位置テーブル２０３や、余白テーブル２０５を生成する機能を有する。
【００１５】
記憶部２００には、複数のドキュメント（ドキュメントＡ、ドキュメントＢ）２０１、余白印刷設定情報２０２、区切可能位置テーブル２０３、区切位置テーブル２０４、余白テーブル２０５が格納されている。
各ドキュメント２０１には、テキストや画像などのオブジェクトが埋め込まれている。
余白印刷設定情報２０２は、「余白設定なし」や、何行以上で前のページの余白を詰めるかといったテキスト条件を含んだ情報が格納されている。
区切可能位置テーブル２０３は、ページ解析部１０７によって行われるページ解析処理で検出される区切可能位置が格納されるテーブルである。
区切位置テーブル２０４は、ページ内において、実際に余白詰めを行う際の前ページへ移動する部分と、元のページに残す部分との境界を示す位置である区切位置が格納されるテーブルである。。
余白テーブル２０５は、ドキュメント２０１における各ページの下部余白の高さを格納しているテーブルである。
区切可能位置テーブル２０３、区切位置テーブル２０４および余白テーブル２０５については、後記して説明する。
【００１６】
通信部４００は、ネットワーク５を介して印刷装置２へ印刷データなどを送信する機能を有している。
【００１７】
《全体処理》
次に、図１を参照しつつ、図２に沿って本実施形態に係る印刷データ生成処理を説明する。
図２は、第１実施形態に係る印刷データ生成処理の流れを示すフローチャートである。
まず、印刷を実行する前に、余白印刷設定部１０６は、余白印刷設定画面３０１（図３）を表示部４に表示し、入力部３を介して入力された情報を基に、ドキュメント２０１の指定を行い、さらにアプリケーション１０１毎におけるドキュメント２０１の余白印刷設定処理を行い（Ｓ１０１）、設定結果である余白印刷設定情報２０２を記憶部２００に格納する。ステップＳ１０１における処理の詳細は後記する。
次に、アプリケーション１０１を介して、プリンタドライバ１０２に印刷実行要求が入力される（Ｓ１０２）。
【００１８】
次に、ページデータ取得部１０３は、指定された（印刷対象となっている）ドキュメント２０１のページデータを取得するページデータ取得処理を行う（Ｓ１０３）。
そして、識別情報取得部１０４は、アプリケーション１０１からアプリケーション識別情報を取得し、さらに、印刷を行うドキュメント２０１からドキュメント識別情報などのドキュメント情報を取得する識別情報取得処理を行う（Ｓ１０４）。
続いて、グループ判別部１０５が、ページをグループ分けするグループ判別処理を行う（Ｓ１０５）。ステップＳ１０５の処理の詳細は後記する。
次に、余白レイアウト情報取得部１１１は、ページの下部余白を検出することによって余白テーブル２０５を生成し、ページを区切ることが可能な区切可能位置を検出して区切可能位置テーブル２０３を生成する余白レイアウト情報取得処理を行う（Ｓ１０６）。ステップＳ１０６の処理の詳細は後記する。
【００１９】
そして、ページ解析部１０７は、区切可能位置の検出などの解析を行うページ解析処理を、ステップＳ１０５で分類されたグループ毎に行う（Ｓ１０７）。ステップＳ１０７の処理の詳細は後記する。
続いて、ページ解析部１０７は、すべてのグループについてステップＳ１０７の処理を行ったか否かを判定する（Ｓ１０８）。
ステップＳ１０８の結果、すべてのグループについてステップＳ１０７の処理を行っていない場合（Ｓ１０８→Ｎｏ）、ページ解析部１０７は、次のグループについてステップＳ１０７の処理を行う。
【００２０】
ステップＳ１０８の結果、すべてのグループについてステップＳ１０７の処理が完了している場合（Ｓ１０８→Ｙｅｓ）、ページ再構築部１０８が、ページ解析部１０７による解析結果をもとに余白詰めを行ってページデータを再構築するページ再構築処理を行う（Ｓ１０９）。ステップＳ１０９の処理の詳細は後記する。
次に、印刷データ生成部１０９が、ステップＳ１０９の処理結果を基に印刷データを生成する印刷データ生成処理を行い（Ｓ１１０）、印刷データ出力部１１０が、生成された印刷データを印刷装置２に出力する印刷データ出力処理を行い（Ｓ１１１）、終了する。
【００２１】
次に、図３〜図１６を参照して、図２のステップＳ１０１，Ｓ１０５，Ｓ１０６，Ｓ１０７，Ｓ１０９の詳細を説明する。
【００２２】
《余白印刷設定処理（Ｓ１０１）》
まず、図３〜図６を参照して、図２のステップＳ１０１の余白印刷設定処理の詳細を説明する。
（余白印刷設定画面）
図３は、第１実施形態に係る余白印刷設定画面例を示す図である。
ドキュメント２０１単位で余白設定を行うための余白印刷設定画面３０１は、印刷するドキュメント２０１を指定するドキュメント指定欄３０２、余白に関する設定を行う余白設定欄３０３、追加ボタン３０４、削除ボタン３０５、アプリケーション余白設定ボタン３０６、確定ボタン３０７、閉じるボタン３０８から構成される。
余白印刷設定画面３０１は、以下の手順で表示部４に表示される。仮に、現在「ドキュメントＡ」を編集しているアプリケーション１０１を起動しているものとする。余白印刷設定画面３０１は、例えば、このアプリケーション１０１から「印刷」メニュー指定時に表示される、プリンタドライバ１０２のプロパティ画面に表示されている余白印刷設定ボタンなどをユーザが選択入力することで表示される。
【００２３】
ドキュメント指定欄３０２には、印刷対象となっているドキュメント２０１のファイル名であるドキュメント名、ドキュメント２０１に関連付けられているアプリケーション名、印刷するページ番号（ページ）、余白設定などが表示されている。
ドキュメントＡの「印刷」メニューから余白印刷設定画面３０１を開いた場合、ドキュメント指定欄３０２には「ドキュメントＡ」が自動的に登録されていることが望ましい。つまり、余白印刷設定画面３０１を開いたときに、「印刷」メニューを開いたドキュメント２０１のドキュメント名が、ドキュメント指定欄３０２に表示されていることが望ましい。このようにすることで、ユーザは確実に印刷対象となっているドキュメント２０１に対し、わざわざ追加処理を行うことがなく、処理を簡便化することができる。
印刷するページ番号は、該当するドキュメント２０１において、印刷を行いたいページ番号であり、例えばテンキーを使って入力する。複数のページを指定する場合は、例えばカンマで区切って指定する。また、ドキュメント指定欄３０２に表示されているドキュメント２０１の順番を並べ替えることで、ドキュメント２０１の印刷順番を指定することができる。
【００２４】
余白設定欄３０３にはドキュメント指定欄３０２で指定されているドキュメント２０１（ドットが付されているドキュメント２０１）の余白設定が表示されている。ユーザは、余白設定欄に情報を入力することにより余白設定を行うことができる。ここで、「テキスト３行以上で前のページに詰める」とは、前のページに３行以上詰めることができる場合のみ余白を詰めることを意味している。つまり、前のページの下部余白が３行以上の余裕がある場合のみ、次のページのテキストや、画像を詰めることを意味している。なお、余白設定はドキュメント２０１単位で余白設定を行うことができる。なお、余白設定欄で設定された内容をテキスト条件と記載することする。
【００２５】
また、余白設定なし（テキスト条件なし：図３の余白設定欄３０３において「なし」が選択された状態）は、該当するドキュメント２０１に対して、余白設定が一切行われないことを示す。つまり、前のドキュメント２０１への余白詰めも、後のドキュメント２０１からの余白詰めも行われない。
【００２６】
そして、「余白設定あり」（テキスト条件あり）では、前のドキュメント２０１が「余白設定あり」に設定されているときに限り、自身の先頭のページが前のドキュメントの最後のページに詰められる。ここで、前のドキュメント２０１が「余白設定なし」であれば、自身が「余白設定あり」でも、自身の先頭ページが前のドキュメント２０１に詰められることはない。
同様に、「余白設定あり」では、次のドキュメント２０１が「余白設定あり」に設定されているときに限り、次のドキュメント２０１の先頭ページが自身の最後のページに詰められる。ここで、次のドキュメント２０１が「余白設定なし」であれば、自身が「余白設定あり」でも、次のドキュメント２０１の先頭ページが自身のドキュメント２０１に詰められることはない。
【００２７】
また、「余白設定あり」では、該当するドキュメント２０１のページ間では余白詰めが行われる。
【００２８】
また、ユーザが追加ボタン３０４を選択入力すると、印刷するドキュメント２０１を追加することができる。追加するドキュメント２０１の指定方法は例えぱオペレーティングシステム特有の選択画面でもよいし、ドラッグアンドドロップで追加してもよい。
そして、ユーザがドキュメント指定欄３０２に表示されているドキュメント２０１のいずれかを選択した後（ドットが付されているドキュメント２０１）、削除ボタン３０５を押下すると、余白印刷設定部１０６は選択されているドキュメント２０１を印刷対象から削除することができる。
さらに、ユーザがアプリケーション余白設定ボタン３０６を選択入力することにより、アプリケーション余白設定画面（図４）４０１が表示部４に表示される。
そして、ユーザが確定ボタン３０７を選択入力すると、余白印刷設定部１０６はテキスト条件を含む余白設定の内容が余白印刷設定情報２０２として記憶部２００に格納する。
ユーザが閉じるボタン３０８を選択入力すると、余白印刷設定部１０６は、余白印刷設定画面３０１を閉じる。
【００２９】
（アプリケーション余白設定画面例）
図４は、第１実施形態に係るアプリケーション余白設定画面例を示す図である。
アプリケーション余白設定画面４０１は、図３のアプリケーション余白設定ボタン３０６をユーザが選択入力することによって、余白印刷設定部１０６が表示部４に表示させる画面であり、アプリケーション１０１単位における余白設定を行う画面である。デフォルト値が図４の設定が図３の設定欄に反映される
アプリケーション余白設定画面４０１は、アプリケーション設定欄４０２、余白設定登録欄４０３、確定ボタン４０４、削除ボタン４０５、閉じるボタン４０６を有している。
アプリケーション設定欄４０１には、ドキュメント２０１に関連付けられているアプリケーション１０１毎の余白設定が表示されている。
余白設定登録欄４０３では、ユーザが情報を入力することで、アプリケーション設定欄４０２で指定されている（ドットが付されている）アプリケーション１０１の余白設定（テキスト条件設定）を行うことができる。余白設定の内容は、図３の内容と同様であるため説明を省略する。
【００３０】
そして、ユーザが確定ボタン４０４を選択入力すると、余白設定の内容（テキスト条件）が余白印刷設定情報２０２として記憶部２００に格納される。
また、ユーザが、アプリケーション設定欄４０２に表示されているいずれかのアプリケーション１０１を指定した後、削除ボタン４０５を選択入力することによって、選択されたアプリケーション１０１に関する余白設定を削除できる。
ユーザが閉じるボタン４０６を選択入力すると、余白印刷設定部１０６は、アプリケーション余白設定画面４０１を閉じる。
【００３１】
なお、図３の余白印刷設定画面３０１で設定した条件は、図４のアプリケーション余白設定画面４０１で設定した条件より優先される。また、図３の余白印刷設定画面３０１で印刷対象のドキュメント２０１が追加された場合、追加されたドキュメント２０１の余白設定条件は、図４で設定したアプリケーション１０１の余白設定条件がデフォルトとして設定される。つまり、追加されたドキュメント２０１に対応するアプリケーション１０１の余白設定条件がデフォルトとして設定される。
【００３２】
次に、図５および図６を参照して、第１実施形態における余白詰めの例を説明する。
図５は、第１実施形態の余白詰め実行例を示す図である。図５（ａ）はテキスト条件なしの場合における余白詰めの例を示し、図５（ｂ）および図５（ｃ）はテキスト条件が「３行以上」である場合における余白詰めの例を示す。ここで、テキスト条件とは前記したように図３の余白設定欄および図４の余白設定登録欄４０３で設定される条件である。また、「３行以上」とは図３の余白設定欄において「テキスト３行以上で前のページに詰める」条件のことである。
なお、図５では、同じドキュメント２０１におけるページを示している。
【００３３】
図５（ａ）〜（ｃ）において、左側が余白詰め実行前を示し、右側が余白詰め実行後を示している。
図５（ａ）では、テキスト条件として「なし」を設定した場合であり、この場合、プリンタドライバ１０２は余白の大小に拘わらず自ページのテキストや画像（ここではテキスト）を前のページ詰める
図５（ｂ）は、テキスト条件として「テキスト３行以上で前のページに詰める」設定がなされているが、前ページの下部余白が２行以下しかない場合を示している。この場合、プリンタドライバ１０２は、次ページのテキストを詰めることを行わない。
図５（ｃ）は、図５（ｂ）と同様、テキスト条件として「テキスト３行以上で前のページに詰める」設定がなされており、前ページの下部余白が３行分ある場合を示している。この場合、プリンタドライバ１０２は図５（ｃ）のように次ページのテキスト３行分を前ページに詰める処理を行う。
【００３４】
このように、テキスト３行以上で前のページに詰める設定などを行うことで、１行だけがページをまたいで詰められてしまうことによって読み難いレイアウトとなってしまうことを防ぐことができる。
【００３５】
図６は、他の例による余白詰めの結果を示す図である。
図２のステップＳ１１０の印刷データ生成処理の段階で、図６（ａ），（ｂ）に示すように、余白を詰めたときに、元のページをわかりやすくするために、図６（ａ）のように分割されたページ、もしくは元の次ページに該当する箇所すべてを枠線で囲むようにしてもよい。
また、図６（ｂ）のように、元の前ページと、次ページとの境界に区切り線を表示してもよい。
【００３６】
さらに、ここではテキストの条件としてまとまった行数で前のページに詰める設定としているが、これに限らず、画像と画像タイトルをまとめて処理する設定や、画像はレイアウトを変更しないなどの設定を追加してもよい。
【００３７】
《グループ判別処理（Ｓ１０５）》
次に、図７および図８を参照して、図２のステップＳ１０５のグループ判別処理の詳細を説明する。
図７は、ページデータを余白処理を行う処理単位にグループ分けした例を示す図である。図７（ａ）は余白詰め実行前を示し、図７（ｂ）は余白詰め実行後を示している。
ここで、ページＡ１，Ａ２は、ドキュメントＡの１ページ目、２ページ目を示しており、ページＣ１，Ｃ２は、ドキュメントＣの１ページ目、２ページ目を示している。ドキュメントＢ，Ｄはそれぞれ１ページのドキュメント２０１である。なお、ドキュメントＡ，Ｂ，Ｃ，Ｄはそれぞれ異なるドキュメント２０１である。
【００３８】
ステップＳ１０５において、グループ判別部１０５は、ページのグループ分けする処理を行う。ここで、グループとは、先頭の行が前ページに詰めることのない（固定である）ページを先頭として、次に先頭の行が固定となるページの前ページまでをグループとする。グループ分けは、ドキュメント２０１毎、あるいはページ毎に行われる。この例では、ページＡ１，Ａ２，Ｃ１，Ｃ２，Ｄのページは余白を詰める設定がなされており、ドキュメントＢのページは余白を詰めない設定がなされている。よって、先頭の行が前のページに詰めることがないのは、ページＡ１，Ｂ，Ｃ１である。したがって、これらのページから、次に先頭の行が前のページに詰めることがないページの前のページまでがグループとなる。つまり、余白処理を行う処理単位は、｛Ａ１、Ａ２｝、{Ｂ}、｛Ｃ１、Ｃ２、Ｄ｝とグループ分けされる。図２のステップＳ１０７におけるページ解析処理は、このグループ単位ごとに行われる。
【００３９】
図８は、グループ分けの実際を示す表である。
グループ判別部１０５は、図８に示すように余白設定（余白印刷設定情報２０２）を基にグループ判別を行う。ここで、「最後尾の余白のみ詰める」とはドキュメント２０１の最後尾のみを詰める設定であり、第２実施形態で後記する。
【００４０】
《余白レイアウト情報取得処理（Ｓ１０６）》
次に、図９〜図１１を参照して、図２のステップＳ１０６の余白レイアウト情報取得処理の詳細を説明する。
図９は、第１実施形態に係る余白レイアウト情報の概要を示す図であり、図１０は、第１実施形態に係る区切可能位置テーブルの例を示す図であり、図１１は、第１実施形態に係る余白テーブルの例を示す図である。
ここで、余白レイアウト情報とは、区切可能位置テーブル２０３および余白テーブル２０５の情報である。
区切可能位置は、テキストや画像などのオプジェクトを分断することなくページを分割できる位置である。区切可能位置を調べるために、余白レイアウト情報取得部１１１は、ページをラスタイメージプロセッサによってラスタイメージに変換し、ページの右端から左端まで、水平方向に白画素が連続する位置を検出し、この位置を区切可能位置とする。検出された区切可能位置は、ページの先頭（上端）を「０」(基準）として、ページ上端との距離で表され、図１０に示す区切可能位置テーブル２０３に格納される。
図１０に示すように、区切可能位置テーブル２０３には、検出した区切可能位置と、該当するオブジェクトの種類（テキスト、画像など）とが、処理対象となっているドキュメント２０１のページ毎に対応付けられて格納されている。この区切可能位置テーブル２０３は、ドキュメント２０１毎に作成されるテーブルである。
【００４１】
また、余白レイアウト情報取得部１１１は、ドキュメント２０１を変換したラスタイメージにおいて、水平方向に白画素が連続している部分が、ページの下端からどれだけ連続しているかを検出することによって、余白の高さを検出する。つまり、余白の高さとは、ページ下端からオブジェクトが現れるまでの余白部分の高さである。検出された余白の高さは図１１に示す余白テーブル２０５に格納される。図１１に示すように、余白テーブル２０５には検出された余白の高さがページ毎に格納されている。
なお、区切可能位置はページ上端からの距離である。また、区切可能位置および余白の高さはｃｍ，ｉｎｃｈ，ｐｉｘｅｌなどを単位とすることが望ましいが、行数で表現してもよい。
また、ここでは中間ファイルとしてラスタイメージを作成し、区切可能位置や余白を検出しているが、これに限らず、ＰＤＦ（Portable Document Format）などのＰＤＬ（Process Design Language）を使った中間ファイルに変換し、この中間ファイルにおける属性情報からオブジェクトの領域を判断し区切可能位置や余白を検出するなどの方法でも構わない。
【００４２】
《ページ解析処理（Ｓ１０７）》
次に、図１２〜１４を参照して、図２のステップＳ１０７のページ解析処理の詳細を説明する。
図１２は、第１実施形態に係るページ解析処理の流れを示すフローチャートであり、図１３および図１４は区切可能位置テーブルの修正例を示す図であり、図１５は区切位置テーブルの例を示す図である。
まず、ページ解析部１０７は処理対象のページ番号を表す変数ｎを１で初期化する（Ｓ２０１）。なお、図１２におけるページ番号は、図２のステップＳ１０５でグループ分けされたグループにおけるページ数である。
そして、ページ解析部１０７は、処理対象となっているグループにおいて、（ｎ＋１）枚目のページが存在するか否か判定する（Ｓ２０２）。つまり、ページ解析部１０７はグループ内において次のページが存在するか否かを判定する。
ステップＳ２０２の結果、（ｎ＋１）枚目が存在しない場合（Ｓ２０２→Ｎｏ）、ページ解析部１０７は図２のステップＳ１０８へ処理をリターンする。
【００４３】
ステップＳ２０２の結果、（ｎ＋１）枚目が存在する場合（Ｓ２０２→Ｙｅｓ）、ページ解析部１０７は、ｎ枚目のページにおける余白の高さａｎを余白テーブル２０５から取得する（Ｓ２０３）。
次に、ページ解析部１０７は、余白印刷設定情報２０２を参照して、該当するドキュメント２０１においてテキスト条件が設定されているか否かを判定する（Ｓ２０４）。
ステップＳ２０４の結果、テキスト条件が設定されていない場合（Ｓ２０４→Ｎｏ）、つまり、図３の余白設定欄３０３において「なし」が設定されている場合、ページ解析部１０７は、ステップＳ２０６へ処理を進める。
ステップＳ２０４の結果、テキスト条件が設定されている場合（Ｓ２０４→Ｙｅｓ）、ページ解析部１０７は、テキスト条件に合わせて区切可能位置を修正する（Ｓ２０５）。
【００４４】
ここで、図１３を参照して、ステップＳ２０５における区切可能位置の修正を説明する。
図１３（ａ）は区切可能位置の修正前を示しており、図１３（ｂ）は区切可能位置の修正後を示す。
テキスト条件がｍ行以上で前のページに詰める設定であれば、区切可能位置テーブル２０３において、ページ内の連続するテキストの先頭（ｍ−１）個の区切可能位置を全て削除する。ここで、ページ内の連続するテキストは、テキスト以外の種類（画像など）を含むことで複数存在することもあり、それぞれの連続するテキストの先頭（ｍ−１）個の区切を削除するものとする。また、連続するテキストは１行であっても同様とする。さらに、連続するテキストの区切が（ｍ−１）個未満の場合は、この連続するテキストの区切をすべて削除するものとする。
【００４５】
例えば、テキスト条件が「３行以上で前のページに詰める」設定であれば、１行目、２行目で前のページに詰められることはない。言い換えれば、「３行以上で前のページに詰める」設定の下では、１行目、２行目の区切可能位置は使用することがないので、ページ解析部１０７は、１行目、２行目（ｍ−１）個の区切可能位置を区切可能位置テーブル２０３から削除する。
図１３の例では、「３行以上で前のページに詰める」設定であるが、ｙ１１、ｙ１２の区切可能位置は前記した理由で使用することがないので、図１３（ｂ）において、これらの区切可能位置が区切可能位置テーブル２０３から削除されている。
【００４６】
また、図１４のように、テキストの間に画像が入っている場合、画像を除いたテキスト２個（３−１個）の区切可能位置ｙ１１、ｙ１３を削除する。
【００４７】
図１２のステップＳ２０５の後、ページ解析部１０７は、余白に詰めることのできる区切可能位置が（ｎ＋１）枚目のドキュメント２０１に存在するか否かを調べるため、ａｎ≧ｙｎ＋１となる最大のｙｎ＋１が存在するか否か判定する（図１２のＳ２０６）。ここで、最大のｙｎ＋１とするのは、ｙｎ＋１の候補が複数あることを想定しているためである。
ステップＳ２０６の結果、このようなｙｎ＋１が存在しない場合（Ｓ２０６→Ｎｏ）、ページ解析部１０７はｎ＋１枚目のページの区切位置を強制的に「０」として、区切位置テーブル２０４に保存し（Ｓ２０７）、ステップＳ２０９へ処理を進める。ここで、区切位置とは実際に前ページに詰める際に、前ページに詰める部分と、現在のページに残す部分の境界となる位置である。ステップＳ２０７において、区切位置を強制的に「０」とすることで前ページに詰める部分が存在しないことを示す。
【００４８】
図１２のステップＳ２０６の結果、このようなｙｎ＋１が存在する場合（Ｓ２０６→Ｙｅｓ）、ページ解析部１０７はｎ＋１枚目のページの区切位置ｙｎ＋１を区切位置テーブル２０４に保存する（Ｓ２０８）。
【００４９】
図１５に示すように、ステップＳ２０７，Ｓ２０８で設定された区切位置は、ページ（グループにおけるページ）と対応付けられて区切位置テーブル２０４に格納されている。
【００５０】
ステップＳ２０７またはステップＳ２０８の後、ページ解析部１０７は、ｎ＋１枚目のページにおける余白の高さａｎ＋１を余白テーブル２０５から取得する（Ｓ２０９）。
そして、ｙｎ＋１で分割されたページの上部が前のページに詰められることにより、（ｎ＋１）枚目のページにおける残りの部分が上部にスライドするため、ページ解析部１０７はａｎ＋１＝ａｎ＋１＋ｙｎ＋１を算出し、これを（ｎ＋１）枚目のドキュメント２０１における新たな余白の高さとして余白テーブル２０５を更新する（Ｓ２１０）。
続いて、ページ解析部１０７は、ｎ＝ｎ＋１とし（Ｓ２１１）、処理をＳ２０２へ戻す。
【００５１】
《ページ再構築処理（Ｓ１０９）》
次に、図１６を参照して、図２のステップＳ１０９のページ再構築処理の詳細を説明する。
図１６は、第１実施形態に係るページ再構築処理を説明するための図である。図１６（ａ）は再構築前のドキュメントを示し、図１６（ｂ）は再構築後のドキュメントを示す。
ページ再構築部１０８は、区切位置テーブル２０４の区切位置を基にページを分割し、余白を詰めるよう配置する。
図１６（ａ）は、再構築前のページにおける区切位置を示している。区切位置は、図１２のステップＳ２０７およびステップＳ２０８で検出・登録され、区切位置テーブル２０４に格納されている情報である。
そして、ページ再構築部１０８が各区切位置の上部を前ページに詰めることによって、余白詰めを行い、ドキュメント２０１の再構成を行った例を図１６（ｂ）に示す。
ページ再構築部１０８は、それぞれのページにおいて、区切位置より上部にある分割データを、前のページの下部余白領域に結合し、区切位置より下部にある分割データを、ページ上部へスライドする。なお、前のページに詰める部分がない場合は、区切位置が０となっている（図１２ステップＳ２０７参照）。余白を詰めた結果、最後に１枚または複数枚の完全な空白ページができた場合、ページ再構築部１０８はこれらのページを削除する。
【００５２】
《まとめ》
第１実施形態によれば、種類の異なるアプリケーション１０１で作成されたドキュメント２０１を、あるいは同じアプリケーション１０１で作成されても異なるドキュメント２０１として保存されているドキュメント２０１を、アプリケーション１０１単位、またはドキュメント２０１単位で余白を詰める条件に従って余白詰めを行うことで、特定のドキュメント２０１は変更せずに、それ以外は異なるドキュメント２０１間であっても指定した条件で余白を詰めた印刷が可能になる。
【００５３】
［第２実施形態］
次に、図１７〜図２０を参照して、本発明に係る第２実施形態を説明する。
第２実施形態では、第１実施形態の条件に加えて、ドキュメント２０１のレイアウトを変更せずに、ドキュメント２０１における最後のページのみ余白を詰める設定が可能になっている点が第１実施形態と異なる点である。
なお、第２実施形態は設定条件が異なっているだけで、システム構成、処理は第１実施形態と同様であるため、これらの説明を省略する。
また、第２実施形態において第１実施形態と同様の構成については、同一の符号を付して説明を省略する。
【００５４】
（余白印刷設定画面）
図１７は、第２実施形態に係る余白印刷設定画面例を示す図である。なお、図１７および図１８は、図２のステップＳ１０１に相当する処理において表示・設定されるものである。
図１７の余白印刷設定画面３０１ａにおいて、図３と異なる点は、余白設定欄３０３ａで、ドキュメント２０１における最後のページのみ余白を詰める設定である「最後尾の余白のみ詰める」設定が選択可能となっている点である。
【００５５】
（アプリケーション余白設定画面）
図１８は、第２実施形態に係るアプリケーション余白設定画面例を示す図である。
図１８のアプリケーション余白設定画面４０１ａにおいて、図４と異なる点は、余白設定登録欄４０３ａで、アプリケーション１０１におけるドキュメント２０１の最後のページのみ余白を詰める設定である「最後尾の余白のみ詰める」設定が選択可能となっている点である。
【００５６】
図１９は、第２実施形態に係るドキュメントの最後尾の余白のみを詰める例を示す図でである。図１９（ａ）が余白詰め実行前を示し、図１９（ｂ）が余白詰め実行後を示している。
図１９の例では、ドキュメントＡ（１ページ目がページＡ１、２ページ目がページＡ２）およびドキュメントＢ（ページＢ）において、ドキュメントＡに「ドキュメントの最後尾の余白のみを詰める」設定が行われており、ドキュメントＢが余白を詰める設定となっているものとする。ページＡ１の下部には十分な余白が存在しているにも拘わらず、この余白にはページＡ２のテキストは詰められず、ドキュメント２０１の最後尾であるページＡ２にページＢのテキストが詰められている。なお、「最後尾の余白を詰める」設定をされているドキュメント２０１のページ間では余白詰めは行われない。言い換えれば、「最後尾の余白を詰める」設定をされているドキュメント２０１では、最後のページが余白詰めされる以外は、一切変更が行われない。
【００５７】
なお、図１９の例で、ドキュメントＢが「余白設定なし」であれば、ドキュメントＢはドキュメントＡへ詰められることがないので、余白詰め実行後でも図１９（ａ）の状態が保持される。同様に、ドキュメントＢが「最後尾の余白のみを詰める」設定であれば、ドキュメントＢはドキュメントＡへ詰められることがないので、余白詰め実行後でも図１９（ａ）の状態が保持される。
【００５８】
なお、余白を詰めたときに、元のページをわかりやすくするために、ステップＳ１１０の印刷データ生成処理の段階で、図６（ａ）のように分割されたページ、もしくは元のページすべてを枠線で囲むようにしてもよい。また図６（ｂ）のように、元のページの境界に区切り線を表示してもよい。
さらに、ここではテキストの条件としてまとまった行数で前のページに詰める設定としているが、これに限らず、画像と画像タイトルをまとめて処理する設定や、画像はレイアウトを変更しないなどの設定を行ってもよい。
【００５９】
《グループ判別処理（Ｓ１０５）》
次に、図２０を参照して、図２のステップＳ１０５のグループ判別処理に相当する処理の説明を行う。
図２０は、第２実施形態に係るページを、余白処理を行う処理単位にグループ分けした例である。図２０（ａ）が余白詰め実行前を示し、図２０（ｂ）が余白詰め実行後を示している。
グループ判別部１０５は、余白印刷設定部１０６で設定された余白設定に従って、余白処理を行う必要のあるページのグループを判別する。
ここで、図２０の例では、ドキュメントＡ，Ｂ，Ｃ，Ｄの４つのドキュメント２０１が存在している。ドキュメントＡの１ページ目がページＡ１であり、２ページ目がページＡ２である。同様に、ドキュメントＢの１ページ目がページＢ１であり、２ページ目がページＢ２であり、３ページ目がページＢ３である。また、ドキュメントＣの１ページ目がページＣ１であり、２ページ目がページＣ２である。
そして、ドキュメントＢのみが「ドキュメントの最後尾の余白のみを詰める」設定が行われている。
そのため、ページＢ１，Ｂ２は下部に十分な余白があるにも拘わらず余白詰めが行われていない。そして、ドキュメント２０１の最後尾であるページＢ３にはページＣ１が詰められている。
【００６０】
なお、図２０において、ドキュメント２０１単位でグループ分けを行うのであれば{Ａ１，Ａ２}、{Ｂ１，Ｂ２，Ｂ３，Ｃ１，Ｃ２，Ｄ｝というグループとなり、ページ単位でグループ分けを行うのであれば{Ａ１，Ａ２}、{Ｂ１｝，｛Ｂ２｝，｛Ｂ３，Ｃ１，Ｃ２，Ｄ｝というグループとなる。
図２のステップＳ１０７のページ解析処理は、このグループ毎に行われる。
【００６１】
《まとめ》
第２実施形態によれば、第１実施形態の効果に加えて、ドキュメント２０１の最後尾の余白のみを詰める設定により、レイアウトの変更を望まないドキュメント２０１のレイアウトを維持しつつ、印刷資源の低減を図ることができる。
【００６２】
第１実施形態および第２実施形態では、印刷データを配置するため、ＰＣである印刷制御装置１で各処理を行う例を示しているが、これに限らず、プリントサーバや、プリンタや、複合機などの画像形成装置で同様の処理を行ってもよい。
また、プリンタドライバ１０２が作成する印刷データはＰｏｓｔＳｃｒｉｐｔなどのＰＤＬの種類やピットマップイメージデータ、プレビュー画面など、その形式を間わない。
【００６３】
また、本実施形態において印刷制御装置１はＰＣなどで実現されるものとしたが、これに限らず、印刷制御装置１の各機能を有する複合機などの画像形成装置としてもよい。
【符号の説明】
【００６４】
１      印刷制御装置
２      印刷装置
３      入力部
４      表示部
１０    印刷システム
１００  制御部（ＣＰＵ）
１０１  アプリケーション
１０２  プリンタドライバ
１０３  ページデータ取得部
１０４  識別情報取得部
１０５  グループ判別部
１０６  余白印刷設定部
１０７  ページ解析部（区切位置検出部）
１０８  ページ再構築部（余白詰め部）
１０９  印刷データ生成部
１１０  印刷データ出力部（印刷出力部）
１１１  余白レイアウト情報取得部（区切可能位置検出部、余白検出部）
２００  記憶部
２０１  ドキュメント
２０２  余白印刷設定情報
２０３  区切可能位置テーブル
２０４  区切位置テーブル
２０５  余白テーブル
【図１】
0005612882.tif 000002
【図２】
0005612882.tif 000003
【図３】
0005612882.tif 000004
【図４】
0005612882.tif 000005
【図５】
0005612882.tif 000006
【図６】
0005612882.tif 000007
【図７】
0005612882.tif 000008
【図８】
0005612882.tif 000009
【図９】
0005612882.tif 000010
【図１０】
0005612882.tif 000011
【図１１】
0005612882.tif 000012
【図１２】
0005612882.tif 000013
【図１３】
0005612882.tif 000014
【図１４】
0005612882.tif 000015
【図１５】
0005612882.tif 000016
【図１６】
0005612882.tif 000017
【図１７】
0005612882.tif 000018
【図１８】
0005612882.tif 000019
【図１９】
0005612882.tif 000020
【図２０】
0005612882.tif 000021