(57)【特許請求の範囲】
【請求項１】
複数の文書データ毎に、各文書データを構成するページデータの数をページデータ情報として各々の文書データに含めるページ情報作成処理部と、
前記各文書データ毎に、前記ページデータを縮小して１枚の記録媒体に一括的に並列配置すべきページデータ配置数を入力するためのページ編集要求入力手段と、
前記各文書データ毎に前記入力された各ページデータ配置数をマルチページ情報として設定するマルチページ情報作成処理部と、
前記各文書データ毎に前記ページデータ情報と前記マルチページ情報とを比較して前記記録媒体に配置余白が生ずるか否かを判定する連結判定処理部と、
前記連結判定処理部により前記記録媒体に配置余白が生じると判定された文書データが格納される記憶部と、
前記記憶部に格納された文書データに対し、前記マルチページ情報が同一の少なくとも二つの前記文書データを連結して連結文書データを生成する連結データ作成処理部と、
を含むことを特徴とするページ編集装置。
【請求項２】
請求項１記載のページ編集装置において、
前記連結判定処理部は、前記配置余白が生じないと判定した場合に前記文書データを印刷データとして出力し、前記配置余白が生じると判定した場合に前記連結データ作成処理部により生成された前記連結文書データを印刷データとして出力することを特徴とするページ編集装置。
【請求項３】
請求項１記載のページ編集装置において、
前記記憶部は、前記マルチページ情報毎に前記記憶部の前記各連結文書データの先頭アドレスを示す先頭ポインタと、最終アドレスを示す最終ポインタと、連結文書データのページデータ数を示す登録ページ数合計とを記憶していることを特徴とするページ編集装置。
【請求項４】
請求項３記載のページ編集装置において、
前記連結データ作成処理部は、前記先頭ポインタ、前記最終ポインタ、及び前記登録ページ数合計を参照することにより、前記マルチページ情報が同一の少なくとも二つの前記文書データを連結することを特徴とするページ編集装置。
【請求項５】
請求項１記載のページ編集装置において、
文書データが記憶部に格納された時点から計時を開始するタイマを備え、
前記連結データ作成処理部は、前記タイマの計時に基づいて所定の時間だけ新たに同一のマルチページ情報を有する文書データが前記記憶部に格納されることを待ち、所定の時間が経過した場合には、前記記憶部に格納された前記マルチページ情報が同一の少なくとも二つの前記文書データを連結することを特徴とするページ編集装置。
【請求項６】
請求項１記載のページ編集装置において、
前記連結データ作成処理部は、前記マルチページ情報が同一の文書データが複数存在すると、一方の文書データで生じる配置余白の数にページデータの数が一致する少なくとも一つの他方の文書データを前記一方の文書データに連結することを特徴とするページ編集装置。
【請求項７】
請求項１記載のページ編集装置において、
前記各文書データに文書の内容を反映した属性情報を設定する文書情報作成処理部を更に含み、
前記連結データ作成処理部は、前記マルチページ情報が同一の文書データが複数存在すると、前記属性情報に基づいて関連する文書データを連結することを特徴とするページ編集装置。
【請求項８】
請求項１記載のページ編集装置において、
前記各文書データにキーワード情報を設定するキーワード情報処理部を更に含み、
前記連結データ作成処理部は、前記マルチページ情報が同一の文書データが複数存在すると、前記キーワード情報に基づいて関連する文書データを連結することを特徴とするページ編集装置。
【請求項９】
請求項１記載のページ編集装置のうち、
前記各文書データ毎に前記ページデータ情報と前記マルチページ情報とを比較して前記記録媒体に配置余白が生ずるか否かを判定する連結判定処理部と、
前記連結判定処理部により前記配置余白が生じると判定された文書データが格納される記憶部と、
前記記憶部に格納された文書データに対し、前記マルチページ情報が同一の少なくとも二つの前記文書データを連結して連結文書データを生成する連結データ作成処理部と、
を備えることを特徴とする画像形成装置。
【請求項１０】
複数の文書データ毎に、ページデータを縮小して１枚の記録媒体に一括的に並列配置すべきページデータ配置数をマルチページ情報として設定すること、
前記複数の文書データ毎に、各文書データを構成するページデータの数をページデータ情報として各々の文書データに含めること、
前記各文書データ毎に前記ページデータ情報と前記マルチページ情報とを比較して前記記録媒体に配置余白が生ずるか否かを判定すること、
前記配置余白が生じると判定した場合には、前記マルチページ情報が同一の少なくとも二つの前記文書データを連結し、連結文書データを生成すること、
を特徴とするページ編集方法。
【請求項１１】
請求項１０記載のページ編集方法において、
前記マルチページ情報毎に前記各連結文書データを記憶部の異なる領域に格納すること、
前記マルチページ情報毎に前記記憶部の前記各連結文書データの先頭アドレスを示す先頭ポインタと、最終アドレスを示す最終ポインタと、連結文書データのページデータ数を示す登録ページ数合計とを生成すること、
を特徴とするページ編集方法。
【請求項１２】
請求項１０記載のページ編集方法において、
文書データが記憶部に格納された時点からタイマにより計時を開始し、
前記タイマの計時に基づいて所定の時間だけ新たに同一のマルチページ情報を有する文書データが前記記憶部に格納されることを待ち、所定の時間が経過した場合には、前記記憶部に格納された前記マルチページ情報が同一の少なくとも二つの前記文書データを連結することを特徴とするページ編集方法。
【請求項１３】
請求項１０記載のページ編集方法において、
前記連結データ作成処理部は、前記マルチページ情報が同一の文書データが複数存在すると、一方の文書データで生じる配置余白の数にページデータの数が一致する少なくとも一つの他方の文書データを前記一方の文書データに連結することを特徴とするページ編集方法。
【請求項１４】
請求項１０記載のページ編集方法において、
前記各文書データに文書の内容を反映した属性情報を設定すること、
マルチページ情報が同一の文書データが複数存在すると、前記属性情報に基づいて関連する文書データを連結すること、
を特徴とするページ編集方法。
【請求項１５】
請求項１０記載のページ編集方法において、
前記各文書データにキーワード情報を設定すること、
マルチページ情報が同一の文書データが複数存在すると、前記キーワード情報に基づいて関連する文書データを連結すること、
を特徴とするページ編集方法。
【請求項１６】
ページ編集装置に、
複数の文書データ毎に、ページデータを縮小して１枚の記録媒体に一括的に並列配置すべきページデータ配置数をマルチページ情報として設定させる手順と、
前記複数の文書データ毎に、各文書データを構成するページデータの数をページデータ情報として各々の文書データに含めさせる手順と、
前記各文書データ毎に前記ページデータ情報と前記マルチページ情報とを比較して前記記録媒体に配置余白が生ずるか否かを判定させる手順と、
前記配置余白が生じると判定した場合には、前記マルチページ情報が同一の少なくとも二つの文書データを連結させて連結文書データを生成させる手順と、
を含むことを特徴とするページ編集プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数ページのイメージが含まれる文書を、例えば数ページ分ずつまとめて１ページ分のイメージに編集し、印刷をしたり表示出力をする機能を持つデータ編集装置に関する。
【０００２】
【従来の技術】
通常、プリンタに１０ページ分のイメージを印刷させる場合、プリンタは、１ページ分のイメージを１枚の用紙に印刷する動作を１０回繰り返す。ところが、例えば元の文書の各ページのイメージを４分の１に縮小すれば、１枚の用紙に４ページ分の印刷が可能になる。このような印刷をマルチページ編集による印刷と呼んでいる。２ページ分のイメージを１枚の用紙に印刷することを２ｕｐの印刷と呼び、４ページ分のイメージを１枚の用紙に印刷することを４ｕｐの印刷と呼んでいる。マルチページ編集による印刷は、印刷用紙を節約し、印刷された資料の保管スペースを節約するために大変有効な方法である。また、複数ページの文書を一括してディスプレイに表示するような場合にも、有効な方法である。
【０００３】
従来は、例えばパーソナルコンピュータ等の上位装置上で動作するアプリケーションが、プリンタドライバにマルチページ機能での印刷を要求すると、文書毎にマルチページ編集が実行されて印刷される。次の文書についても同様の要求があると、再び、マルチページ編集が実行されてその文書の印刷がされる。
【０００４】
【発明が解決しようとする課題】
ところで、上記のような従来の技術には、次のような解決すべき課題があった。
一般に、パーソナルコンピュータ等の上位装置がプリンタに対し印刷を要求する処理は、文書単位で行われる。例えば３ページのイメージから成る最初の文書を２ｕｐで印刷するように指定すると、２枚目の用紙の半分が余白になってプリンタから出力される。また、３ページのイメージから成る次の文書を４ｕｐで印刷するように指定すると、用紙の４分の１の部分に余白が発生する。
【０００５】
各文書の印刷がそれぞれ別々のユーザの要求による場合にはこれでよいが、同一のユーザが関連する文書を連続して印刷するよう要求したような場合、文書毎にこうした余白が発生するのは不経済である。それぞれの余白を有効に活用することが好ましい。また、ユーザが予め関連する文書を１つの文書にまとめてから印刷を要求すれば、このような余白を減らすことができるが、印刷要求のつど、複数の文書を１文書にまとめる作業は煩雑になる。マルチページ編集をした画像をディスプレイに表示する場合にも、同様の問題点がある。
【０００６】
【課題を解決するための手段】
本発明は以上の点を解決するため次の構成を採用する。
〈構成１〉
複数の文書データ毎に、各文書データを構成するページデータの数をページデータ情報として各々の文書データに含めるページ情報作成処理部と、上記各文書データ毎に、上記ページデータを縮小して１枚の記録媒体に一括的に並列配置すべきページデータ配置数を入力するためのページ編集要求入力手段と、上記各文書データ毎に上記入力された各ページデータ配置数をマルチページ情報として設定するマルチページ情報作成処理部と、上記各文書データ毎に上記ページデータ情報と上記マルチページ情報とを比較して上記記録媒体に配置余白が生ずるか否かを判定する連結判定処理部と、上記連結判定処理部により上記記録媒体に配置余白が生じると判定された文書データが格納される記憶部と、上記記憶部に格納された文書データに対し、上記マルチページ情報が同一の少なくとも二つの上記文書データを連結して連結文書データを生成する連結データ作成処理部とを含むことを特徴とするページ編集装置。
【００１１】
〈構成２〉
複数の文書データ毎に、ページデータを縮小して１枚の記録媒体に一括的に並列配置すべきページデータ配置数をマルチページ情報として設定すること、上記複数の文書データ毎に、各文書データを構成するページデータの数をページデータ情報として各々の文書データに含めること、上記各文書データ毎に上記ページデータ情報と上記マルチページ情報とを比較して上記記録媒体に配置余白が生ずるか否かを判定すること、上記配置余白が生じると判定した場合には、上記マルチページ情報が同一の少なくとも二つの上記文書データを連結し、連結文書データを生成することを特徴とするページ編集方法。
【００１２】
〈構成３〉
ページ編集装置に、複数の文書データ毎に、ページデータを縮小して１枚の記録媒体に一括的に並列配置すべきページデータ配置数をマルチページ情報として設定させる手順と、上記複数の文書データ毎に、各文書データを構成するページデータの数をページデータ情報として各々の文書データに含めさせる手順と、上記各文書データ毎に上記ページデータ情報と上記マルチページ情報とを比較して上記記録媒体に配置余白が生ずるか否かを判定させる手順と、上記配置余白が生じると判定した場合には、上記マルチページ情報が同一の少なくとも二つの文書データを連結させて連結文書データを生成させる手順とを含むことを特徴とするページ編集プログラム。
【００１３】
【発明の実施の形態】
以下、本発明の実施の形態を具体例を用いて説明する。
〈具体例１〉
図１は、具体例１のデータ編集動作説明図である。
この図を用いて、まず具体例１の概略を説明する。後で説明するように、例えば上位装置であるパーソナルコンピュータからプリンタに対し、複数の文書のマルチページ編集を伴う印刷要求が行われた場合を例にとって説明する。
【００１４】
まず、図の左端に示すように、上位装置からプリンタに対し文書Ａ、文書Ｂ、文書Ｃ、文書Ｄの印刷要求があったとする。この場合、文書Ａについては２ｕｐ印刷が指定されている。また、文書Ｂについては４ｕｐ印刷が指定されている。文書Ｃは２ｕｐ印刷、文書Ｄは、４ｕｐ印刷が指定されている。この順序で各文書の印刷要求があった場合には、従来は図の右端に示す比較例のように印刷が行われていた。
【００１５】
即ち、まず、最初の文書は、１ページ分のイメージを有し、２ｕｐ印刷を指定してマルチページ印刷するように要求している。なお、この図面では、各文書の各ページのイメージ１を区別するために、それぞれ図中にイメージ名を書き入れた。文書Ａの場合には１ページでＡ−１、文書Ｂの場合には３ページでＢ−１，Ｂ−２，Ｂ−３、文書Ｃの場合には１ページでＣ−１、文書Ｄの場合には１ページでＤ−１である。
【００１６】
文書Ａのイメージは１ページ分であるから、比較例の場合、図のように、１枚の用紙５の左半分にそのイメージが印刷される。即ち、右半分は余白のまま印刷を終了する。次の文書Ｂについては、４ｕｐが指定されているから、１枚の用紙５の４分の３の面積を使用して３ページ分のイメージが印刷される。用紙の残り４分の１は余白となって印刷を終了する。文書Ｃについても１ページ分のイメージについて２ｕｐ印刷が指定されている。従って、文書Ａの場合と同様に、用紙の２分の１は余白となる。文書Ｄの場合には、１ページ分のイメージについて４ｕｐ印刷が指定されている。従って、用紙５の４分の１が１ページ分のイメージの印刷に使用され、残り４分の３が余白になっている。
【００１７】
このような従来の印刷方法では、それぞれ各用紙に余白が残る。この例では、まず文書Ａから文書Ｄまでの４種類の文書印刷要求を、それぞれ印刷待ち行列に配置する。このとき、１枚の画面に含めるイメージのページ数が同一のものが同一の待ち行列に配置されるように分類する。連結印刷管理キュー３は、この印刷待ち行列を管理するためのものである。
【００１８】
連結印刷管理キュー３は、ユーザが印刷要求に伴って２ｕｐ、３ｕｐ、４ｕｐ、…Ｎｕｐ印刷の指定をすると、これらの印刷要求をそれぞれ別々の待ち行列に配置する機能を持つ。従って、例えば図１に示すような印刷要求があったとすると、文書Ａと文書Ｃとは、同じ２ｕｐ印刷を指定するものであるから同一の待ち行列に配置する。また、文書Ｂと文書Ｄは、同じ４ｕｐ印刷を指定するものであるから同一の待ち行列に配置する。
【００１９】
本発明のデータ編集装置によれば、同一の待ち行列に配置した文書群を連結して一文書と同様に取り扱って、マルチページ編集を実行する。即ち、文書Ａと文書Ｃとを連結する。また、文書Ｂと文書Ｄとを連結する。こうすれば、１ページ分のイメージを持つ文書Ａと１ページ分のイメージを持つ文書Ｃとを連結して２ｕｐ印刷で印刷することになる。これにより、図の右側の「本発明での印刷」という部分に示すように、１枚の用紙５に文書ＡのＡ−１のページと、文書ＣのＣ−１のページとが連結されて編集される。この状態で印刷を行えば、用紙に無駄なく印刷ができる。
【００２０】
一方、文書Ｂと文書Ｄについても、同様にしてこれらを連結して４ｕｐ印刷を実行する。この場合にも、丁度両文書のページを加算すると４となり、ぴったり１枚の用紙に印刷できるページ数になる。従って、無駄のない印刷が可能になる。図１に示す本発明での印刷と比較例での印刷とを比較すると、本発明の場合には、用紙に無駄な余白が生じず、比較例の場合に比べて半分の枚数の用紙に印刷を行うことができる。また、余白を生じたとしても、複数文書の結合により余白をより少なくできるケースが増える。
【００２１】
次に、以上のような制御を実現するための具体的な装置の構成や動作を説明する。
図２に、具体例１のデータ編集装置ブロック図を示す。
図に示す装置は、アプリケーション７が生成した文書をプリンタドライバ１０が編集し、印刷データ送信処理部３０を通じてプリンタ４０に転送する構成となっている。この例では、プリンタドライバ１０が、アプリケーション７から複数の文書の編集要求を受け付け、これらを図１を用いて説明したような要領で編集して印刷データ送信処理部３０に出力する。
【００２２】
このために、プリンタドライバ１０は、印刷ダイアログ１１、Ｎｕｐ情報作成処理部１２、印刷データ作成処理部１３、ページ情報作成処理部１４、連結印刷判定処理部１５、キューイング処理部１６、連結印刷管理処理部１７、連結印刷データ作成処理部１８及びメモリ２０を備えている。メモリ２０には、印刷データ２１と、連結印刷管理キュー３を記憶する領域が設けられている。
【００２３】
上記アプリケーション７やプリンタドライバ１０及び印刷データ送信処理部３０は、いずれも、プリンタ４０を制御するための上位装置であるパーソナルコンピュータ等の中に組み込まれた、ソフトウェアにより構成される。従って、プリンタドライバ１０の各構成部分は、印刷用データ編集のためのコンピュータプログラムの各機能モジュールやオブジェクトにより実現され、コンピュータのハードディスクや半導体メモリ装置等の、コンピュータ読み取り可能な記録媒体上に記録されて使用される。
【００２４】
印刷ダイアログ１１は、ユーザがアプリケーション７を操作して印刷要求をする場合に操作するインタフェースである。具体的には、パーソナルコンピュータのディスプレイ上に表示されるウインドウを制御するオブジェクトである。ユーザは、この印刷ダイアログ１１を使用して、例えば文書Ａを２ｕｐ印刷で印刷するといった指定を行う。この要求がアプリケーション７を通じてプリンタドライバ１０に伝えられる。Ｎｕｐ情報作成処理部１２は、指定されたマルチページ編集印刷要求を、印刷データ２１に書き込むための処理を行う部分である。
【００２５】
印刷データ作成処理部１３は、アプリケーション７から転送された印刷データを編集したり展開処理して、印刷データ２１に書き込むための処理を行う部分である。ここで、プリンタに転送するためのデータが生成される。ページ情報作成処理部１４は、印刷文書中に含まれるページ数に関する情報を印刷データ２１に含める処理を行う部分である。これらの動作によって、印刷データ２１には、文書毎の各印刷要求の内容とプリンタの印刷コマンド列が格納される。
【００２６】
連結印刷判定処理部１５は、本発明による連結印刷を実行するかどうかを判断する部分で、連結印刷を実行する場合には、キューイング処理部１６に印刷要求を転送し、それ以外の場合には、印刷データ送信処理部３０に対し直接印刷要求を転送するよう動作する部分である。連結印刷要求があった場合には、キューイング処理部１６以下の機能が動作する。
【００２７】
キューイング処理部１６は、連結印刷を要求された文書が持つＮｕｐ情報を調べて、１枚の画面に含めるイメージのページ数が同一の文書群を、同一の待ち行列に配列するように、連結印刷管理キュー３に対して要求をする機能を持つ部分である。連結印刷管理処理部１７と連結印刷データ作成処理部１８とは、連結印刷管理キュー３に格納された情報を参照しながら同一の待ち行列に配置した文書群を連結して１文書と同様に取り扱い、マルチページ編集を実行する制御を行う部分である。
【００２８】
以下、具体的な印刷動作の説明を行う。
図３は、具体例１の印刷動作フローチャートである。
この具体的な動作を説明する前に、マルチページ編集の基本的な動作を順番に説明する。
【００２９】
図４には、印刷データの座標系の説明図を示す。
図の（ａ）は、１ｕｐ即ち１ページのイメージを１枚の用紙に印刷する場合の画像編集座標系を示す。用紙の左上隅を原点とし、右方向にＸ軸、垂直下方にＹ軸をとる。図（ａ）では、１ページ分のＸ軸をＸ１、Ｙ軸をＹ１というように表示している。（ｂ）は、２ｕｐ印刷の場合の座標系である。ここには、２ページ分のイメージが横に並べられている。元のページのイメージの座標を面積比で２分の１に縮小して、編集が行われる。Ｘ軸方向は同一の座標系Ｘ１を使用する。Ｙ軸方向は縦方向に２等分し、上半分はＹ１、下半分はＹ２という座標系を使用する。
【００３０】
（ｃ）は、４ｕｐ印刷のための座標系である。図に示すように、左上が第１ページ、右上が第２ページ、左下が第３ページ、右下が第４ページのイメージが配置されるように編集される。（ｄ）は８ｕｐ印刷、（ｅ）は１６ｕｐ印刷の座標系を示す。（ｄ）の場合、（ａ）と比較すると、Ｘ軸方向は２分割され、Ｙ軸方向は４分割されている。（ｅ）では、Ｘ軸方向が４分割、Ｙ軸方向が４分割されている。Ｎｕｐ印刷を行う場合には、印刷データの各ページのイメージをこのような座標系に基づいて変換し、編集を行う。なお、この座標変換動作は、従来のマルチページ編集で行われていたものと変わらない。
【００３１】
図５には、３ページから成る文書を２ｕｐで印刷する場合の説明図を示す。
図５に示すように、例えば文書Ａが３ページのイメージＰ１、Ｐ２、Ｐ３を含むものである場合に、その印刷データは、まず各ページ毎にそれぞれ印刷制御のためのオブジェクト群ＯＢ１、ＯＢ２，ＯＢ３に変換される。各オブジェクトはそれぞれ、例えば文書を構成する描画オブジェクトやイメージオブジェクトから成る。そして、印刷データ５０には、上記オブジェクト群とともに、Ｎｕｐ情報５１とページ情報５２とが含められる。各ページの末尾には改ページコードが含められる。従って、この印刷データは、２ｕｐで印刷され、３ページ分のイメージが含められているという内容になる。
【００３２】
図６には、１ページから成る文書を２ｕｐで印刷する場合の説明図を示す。
この図においては、印刷要求された文書が、１ページ分のイメージＰ１を含む。この場合、１ページ分のオブジェクト群ＯＢ１が生成され、印刷データ５０には、図５の例と同様、Ｎｕｐ情報５１とページ情報５２とが含められる。
【００３３】
図７には、連結印刷管理キューの説明図を示す。
図２に示した連結印刷管理キュー３は、具体的には、例えばこの図に示すようなデータによって構成される。図１を用いて説明したように、連結印刷管理キュー３は、同一の待ち行列に配置した文書群を順番に取り出してマルチページ編集を実行させる。従って、図７に示すように、２ｕｐ印刷、３ｕｐ印刷、４ｕｐ印刷という順番に文書群を分類して、印刷要求順とは異なる要求順で文書を読み出し、印刷をさせる機能を持つ。
【００３４】
図７に示すポインタ群６１には、２ｕｐ先頭ポインタ、２ｕｐ最終ポインタ、２ｕｐ登録ページ数合計、３ｕｐ先頭ポインタ、３ｕｐ最終ポインタ、３ｕｐ登録ページ数合計、といった要領で、印刷順にポインタが並べられている。登録ページ数合計は、同一の待ち行列に配列した文書を連結した場合の印刷終了検出用のパラメータである。２ｕｐ先頭ポインタによって、２ｕｐ印刷を行う最初の文書の制御データの先頭アドレスが指定される。この制御データの先頭アドレスには、次の文書の制御データへのポインタ６２が配置されている。また、制御データには、ページ数情報６３と印刷データポインタ６４とが含められる。ページ情報は、その文書のページ数を示す。印刷データポインタ６４は、該当する文書の印刷データＤ１の先頭アドレスを指している。
【００３５】
連結印刷管理キューをこのように構成すると、ポインタ群６１の先頭から先ず２ｕｐ先頭ポインタを読み出し、最初の文書の制御データを通じて、最初の文書の印刷データＤ１を読み出す。次に、制御データ中の次のデータへのポインタを通じて、次の文書の制御データを読み、対応する印刷データＤ２を読み出す。２ｕｐ最終ポインタで最終フラグ６５を検出すると、ポインタ群６１中の２ｕｐ登録ページ数合計を参照して、マルチページ編集と印刷が行われる。即ち、印刷データＤ１と印刷データＤ２とが連結されて印刷される。その後、３ｕｐ先頭ポインタを読み出し、印刷データが無くなる迄同様の処理を繰り返す。
【００３６】
図８には、連結印刷データ生成例の説明図を示す。
図５や図６を用いて説明したようにして、図８に示す印刷データ７０、７１が生成されると、各印刷データが座標変換により連結されて、図に示す連結印刷データ７２が生成される。図７の左側に示す印刷データ７０は、図５を用いて説明した要領で生成された３ページ分の印刷データ５０である。また、印刷データ７１は、図６で説明した要領で生成された１ページ分の印刷データ５０である。
【００３７】
これらが連結されて、４ページ分の印刷データになると、２ｕｐ印刷であるから２ページ分のイメージ毎に改ページが含まれた、印刷用紙２枚分の連結印刷データ７２が生成される。以上のようなマルチページ編集の基本的な動作と、本発明による連結印刷管理キューの仕組みを考慮しながら、図３の動作フローチャートを具体的に説明する。
【００３８】
（ステップＳ１）  アプリケーション７から印刷要求を受けると、Ｎｕｐ情報作成処理部１２は、ユーザが要求したＮｕｐ情報を取り出し、図５に示す印刷データ５０の先頭のＮｕｐ情報５１へ格納する。
（ステップＳ２）  印刷データ作成処理部１３は、１ページ分の印刷データの生成を行う。生成される印刷データには要求されたＮｕｐ情報に基づいて必要な縮小処理が行われる。２ｕｐ印刷の場合、図４の（ｂ）に示すように、７０％の縮小が行われる。なお、アプリケーション７からプリンタドライバ１０にわたされるデータはコード群等により構成される。生成された印刷データは、プリンタで定義されているコマンド列に合わせて適切な大きさのオブジェクトに分割される。
【００３９】
印刷データの状態は、図５や図６を用いて説明したとおりである。図５や図６に示したように、印刷データ５０は、各ページを印刷するためのオブジェクト群と、各オブジェクトを用紙上に配置する座標情報と、改ページコード等により構成される。用紙上の座標の定義は、図４に示したとおりである。なお、印刷データがポートレート形式かあるいはランドスケープ形式かという点で、印刷データの編集方法は異なってくる。図４に示したものはその一例である。
【００４０】
（ステップＳ３）  １ページ分の印刷データの生成が完了すると、ページ情報作成処理部１４は、ページ数のカウントを行う。
（ステップＳ４とＳ５）  ページ情報作成処理部１４は、Ｎの整数倍分に相当するページのデータを生成したかどうかを判定する。Ｎｕｐ制御のためである。例えば、編集開始後にＮページ分のデータを生成した場合には、一枚分の用紙の印刷データが揃ったので、図５や図６に示すとおり、改ページコードを出力して印刷データ中に書き込む。
【００４１】
（ステップＳ６）  ページ情報作成処理部１４は、文書の最終ページまで出力したかどうかの判定を行う。最終ページまで出力してない場合には、残りのページの処理をステップＳ２に戻って繰り返す。
（ステップＳ７）  最終ページまで処理が完了した場合に、カウントしたページ数がＮの整数倍かどうかの判定を行う。
（ステップＳ８）  Ｎの整数倍でない場合には、ページ情報作成処理部１４は、最後の用紙に対して改ページが出力されていないため、改ページコードの出力を行う。
【００４２】
（ステップＳ９）  ステップＳ３でカウントしたページ情報を、図５、６で示す印刷データ５０のページ情報５２へ格納する。
（ステップＳ１０）  連結印刷判定処理部１５は、マルチページ印刷が要求されているかどうかを判定する。
（ステップＳ１４）  マルチページ印刷でないときは、印刷データ中のＮｕｐ情報やページ情報は不要であるから、これらを削除し、印刷を開始する。
（ステップＳ１１）  マルチページ印刷が要求されているとき、連結印刷判定処理部１５は、現在編集済のページ数がＮの整数倍かどうかの判定を行う。Ｎの整数倍のときには、余白無しに印刷可能であるから、ステップＳ１４に進む。プリンタに送信する印刷データには、Ｎｕｐ情報やページ情報は不要であるからこれらを削除し、印刷を開始する。
【００４３】
（ステップＳ１２）  編集済みのページ数がＮの整数倍でないときは、キューイング処理部１６は、生成した印刷データを連結印刷管理キュー３に登録する。即ち、印刷要求のあった文書がマルチページ編集を要求するものであっても、余白無しに印刷が可能であれば印刷待ち行列に配置せず、そのまま印刷を開始する。
余白の有る場合には、印刷待ち行列に配置して、複数の文書の連結をする。連結印刷管理キュー３の構成は図７で説明したとおりである。連結印刷管理キュー３は、図７に示したように、Ｎｕｐ毎に先頭ポインタ・最終ポインタ・登録ページ数合計の情報を持つ。生成した印刷データを連結印刷管理キュー３の印刷データポインタが示す位置に追加し、ページ数情報６３をポインタ群６１の登録ページ数合計に加算する。
【００４４】
（ステップＳ１３）  ここで、連結印刷管理処理部１７は、登録ページ数合計がＮの整数倍になっているか判定する。複数の文書が同一の印刷待ち行列に配置されている場合、登録ページ数合計は、これらの文書のページ数の合計になっている。その数が整数倍になった場合には、余白の無い印刷が可能であるから、連結印刷データの生成処理に進む。
（ステップＳ１５）  連結印刷データ作成処理部１８は、登録ページ数合計がＮの整数倍になっている場合には、登録されている印刷データの連結処理を行う。
登録されている印刷データを登録順に一つの印刷データに連結する。連結される場合に印刷データのページにより座標変換が必要になる。２ｕｐ印刷時で３ページの文書と１ページの文書を連結する場合の連結例は、図８により説明したとおりである。
【００４５】
〈具体例１の効果〉
以上のように、複数の文書のマルチページ編集を行うとき、予め印刷用紙に余白部分が発生しないようにページ数を合計し、これら複数の文書を自動的に連結して印刷するので、無駄な余白を発生させず、印刷用紙の削減が可能になる。
【００４６】
〈具体例２〉
上記の例では、Ｎｕｐの印刷を行う文書の各ページの合計がＮの整数倍になったとき、連結印刷を開始するようにした。ところが、一律にこの制御を行うと、余白を生じる文書のマルチページ印刷が要求され、その後に連結すべき別の文書の印刷要求がない場合には、初めに印刷要求を行った文書の印刷がいつまでも行われないことがある。そこで、一定の時間制限を設け、文書の印刷要求から一定時間を経過すると、余白を生じるとしても強制的に印刷用の編集を開始するといった構成にした。
【００４７】
なお、この制御によれば、タイマで指定した一定時間は、他の文書の印刷要求があるかどうかを待ち、この間に、連結して余白を無くすことが出来る文書の印刷要求が来た場合には、積極的に文書の連結を行うといった動作が行われることになる。具体例１の制御と具体例２の制御とを同時に行うか、具体例２の制御のみを行うかは、ユーザの要求やシステム環境に応じて選定すればよい。
【００４８】
図９には、具体例２のデータ編集装置ブロック図を示す。
図の装置は、具体例１の図２に示した装置に対し、新たに時間監視情報作成処理部２３と、連結印刷管理起動処理部２４と、連結印刷起動タイマ２５とを追加したものである。
【００４９】
時間監視情報作成処理部２３は、印刷ダイアログ１１を用いて一定の時間制限が指定された場合に、時間監視情報を印刷データ２１に含める機能を持つ。連結印刷管理起動処理部２４は、連結印刷起動タイマ２５を起動し、キューに印刷要求のあった文書が配置された場合に、その時点から時間を計測し、一定時間後に連結処理あるいは単独の印刷処理を開始させる機能を持つ。連結印刷起動タイマ２５は、パーソナルコンピュータに内蔵された時計あるいはプリンタドライバ１０に含まれるソフトウェアタイマにより構成される。
【００５０】
図１０には、具体例２の印刷動作フローチャートを示す。
この図の説明をする前に、この具体例における印刷データの構成を説明する。
図１１は、３ページから成る文書を２ｕｐで印刷する場合の説明図である。
また、図１２は、１ページから成る文書を２ｕｐで印刷する場合の説明図である。
【００５１】
図１１に示す印刷データ５０には、図５の印刷データに、新たに時間監視情報５３が含められたものである。時間監視情報５３は、文書の印刷が指定された日時をシステムから取り込むことによって生成される。図１２に示す印刷データ５０も同様で、図６に示した印刷データに対し時間監視情報５３が含められている。
【００５２】
図１３には、連結印刷管理キューの説明図を示す。
上記のような時間監視情報５３が印刷データに含められた場合、この図に示すように、印刷データＤ１〜Ｄ４を取り出すための制御データ中に、時間監視情報６６が含められる。この内容が、図９に示す連結印刷管理起動処理部２４に読み取られて、連結印刷起動タイマ２５が起動される。その他の構成や機能については図７と同様であって、重複する説明を省略する。
【００５３】
図１４には、連結印刷データ生成例の説明図を示す。
図１１や図１２により生成された印刷データは、この図に示すようにして連結印刷データ７２に編集される。各印刷データ７０、７１には、時間監視情報がそれぞれ含められている。図８の例と同様に、連結印刷データを生成する場合には印刷データと改ページコード以外の情報は不要であるから除外されている。
【００５４】
以下、具体例２の印刷動作を具体的に説明する。なお、図１０において、ステップＳ３の印刷データ生成処理は、図３に示したステップＳ２〜ステップＳ９の印刷データ生成のための各処理と同一のため、一括してここに表示した。
【００５５】
（ステップＳ１）  アプリケーション７から印刷要求を受けると、Ｎｕｐ情報作成処理部１２は、ユーザが要求したＮｕｐ情報を取り出し、図１１に示す印刷データ５０の先頭のＮｕｐ情報５１へ格納する。
（ステップＳ２）  ユーザにより一定時間の監視が指定されている場合には、時間監視情報作成処理部２３は、現在の日時情報を図１１の印刷データ５０の時間監視情報５３へ格納する。
【００５６】
（ステップＳ３）  図３のステップＳ２からステップＳ９で説明したのと同一の印刷データ生成処理を実行する。これにより、図１１の右側に示した印刷データ５０が生成される。
（ステップＳ４）  その後、連結印刷判定処理部１５は、印刷データがマルチページ印刷かどうかを判定する。
（ステップＳ１５）  マルチページ編集の印刷要求でないときは印刷データから、Ｎｕｐ情報・ページ情報を削除し、印刷を開始する。
（ステップＳ５）  マルチページ印刷が要求されているとき、連結印刷判定処理部１５は、現在編集済のページ数がＮの整数倍かどうかの判定を行う。Ｎの整数倍のときには、余白無しに印刷可能であるから、ステップＳ１５に進む。プリンタに送信する印刷データには、Ｎｕｐ情報やページ情報・時間監視情報は不要であるからこれらを削除し、印刷を開始する。
【００５７】
（ステップＳ６）  編集済みのページ数がＮの整数倍でないときは、キューイング処理部１６は、生成した印刷データを連結印刷管理キュー３に登録する。即ち、印刷要求のあった文書がマルチページ編集を要求するものであっても、余白無しに印刷が可能であれば印刷待ち行列に配置せず、そのまま印刷を開始する。余白の有る場合には、印刷待ち行列に配置して、複数の文書の連結をする。連結印刷管理キュー３の構成は図１３で説明したとおりである。連結印刷管理キュー３は、図７に示したように、Ｎｕｐ毎に先頭ポインタ・最終ポインタ・登録ページ数合計の情報を持つ。生成した印刷データを連結印刷管理キュー３の印刷データポインタが示す位置に追加し、ページ数情報６３をポインタ群６１の登録ページ数合計に加算する。
【００５８】
（ステップＳ７）  連結印刷管理起動処理部２４は、連結印刷起動タイマ２５を起動する。連結印刷起動タイマのタイムアウトにより連結印刷管理処理部１７が起動する。
（ステップＳ８）  連結印刷管理処理部１７は、登録ページ数合計がＮの整数倍になっているキューが存在するかを判定する。存在した場合には、ステップＳ１２に進む。
【００５９】
（ステップＳ９）  ステップＳ８で、登録ページ数合計がＮの整数倍になっていないと判断すると、連結印刷管理起動処理部２４は、待ち時間がタイムアウトになっているものがないか判定する。具体的には、図１３に示した印刷データの時間監視情報６６に一定の時間を加えた値が、現在の日時より以前のものがないかを順に判定する。
（ステップＳ１０）  待ち時間がタイムアウトになっているものがある場合には、連結印刷管理キューに他の連結待ちデータがあるかどうかを判定する。無い場合には、新たな印刷要求を待たずに文書の印刷を実行する。即ち、そのままステップＳ１５に進みＮｕｐ情報・ページ情報を削除し、印刷を開始する。
（ステップＳ１１）  連結印刷管理キューに他の待ちデータがある場合には、次の連結印刷管理をするために連結印刷起動タイマ２５を起動してから、ステップＳ１５に進み、タイムアウトになっているものの印刷を実行する。
【００６０】
（ステップＳ１２）  連結印刷データ作成処理部１８は、加算された登録ページ数合計がＮｕｐの整数倍になっている場合には、連結印刷管理キューに他の連結待ちデータがあるかを判定する。ある場合には、ステップＳ１３で次の連結印刷管理をするために連結印刷起動タイマ２５を起動する。
（ステップＳ１４）  連結印刷管理キューに他の連結待ちデータが無い場合と、ステップＳ１３の処理を済ませた場合には、登録されている印刷データの連結処理を行う。登録されている印刷データを登録順に一つの印刷データに連結する。
連結される場合に印刷データのページにより座標変換が必要になる。２ｕｐ印刷時で３ページの文書と１ページの文書を連結する場合の連結例は、図１４により説明したとおりである。
（ステップＳ１６）  ステップＳ９で待ち時間がタイムアウトになっているものがないと判断された場合には、連結印刷起動タイマ２５を起動する。こうして、１つの文書の印刷要求がある度に一定の時間、連結印刷すべき文書の印刷要求があるかどうかを監視し、文書の印刷要求から一定時間を経過すると、たとえ余白を生じても、それまでに待ち行列に配置された文書の範囲で、連結印刷を開始するように制御する。
【００６１】
〈具体例２の効果〉
上記のように、連結印刷が要求された場合に、その要求時から一定時間をタイマで計時し、その時間内に印刷要求を受けた複数の文書のうち、同一の待ち行列に配置した文書群を連結して印刷するようにしたので、可能な限り無駄な余白の発生を防止することができる。また、タイマにより一定時間の制限を付けることによって、印刷要求が長時間待たされるのを防止できる。
【００６２】
〈具体例３〉
同一の待ち行列に配置された文書がいくつも存在する場合に、キューに配置された順番にこだわらずに上手に組み合わせて連結すると、無駄な余白なしに印刷ができる場合がある。この具体例では、そのような組み合わせを積極的に検出して、連結印刷する例を示す。
【００６３】
図１５には、具体例３のデータ編集動作説明図を示す。
この図に示すように、連結印刷管理キュー３は、例えば全て同一の４ｕｐ印刷が要求された文書Ａ、Ｂ、Ｃ、Ｄについて、それぞれ１ページのイメージを印刷するもの、２ページのイメージを印刷するもの、３ページのイメージを印刷するものといった要領で分類を行う。
【００６４】
このような分類を行った場合、２ページで印刷を要求するものについては、２文書を組み合わせると無駄なく余白のない印刷ができる。また、１ページの印刷を要求したものと３ページの印刷を要求したものについて組み合わせると、やはり余白のない印刷が可能になる。従って、このようにページ数に応じた分類を行い、最適な組み合わせを見つけることによって無駄のない印刷が可能になる。
【００６５】
また、具体例１や具体例２を用いた場合には、初めの１ページには文書Ａと文書Ｂの一部が印刷され、次の１ページには文書Ｂの残りと、文書Ｃ、文書Ｄが印刷される。これでは、文書Ｂが別々の用紙にばらばらに印刷されてしまう。この具体例３によれば、より文書を整理しやすい印刷形態をとることができる。
【００６６】
図１６は、具体例３の印刷動作フローチャートである。
なお、このフローチャートを実行する前に、図１０のステップＳ１からステップＳ７で説明した処理と同一の処理が実行されるものとする。
（ステップＳ２０）  連結印刷管理のための連結印刷起動タイマ２５を起動して、タイムアウトになると、連結印刷管理処理部１７が起動する。ここで、登録ページ数合計がＮの整数倍になっているキューが存在するか判定する。
存在した場合にはステップＳ２６に進む。
（ステップＳ２１）  ステップＳ２０で、登録ページ数合計がＮの整数倍にならない場合、各Ｎｕｐキューの中に登録されている全ての文書について文書の組み合わせを順次行い、合計のページ数がＮの整数倍になるかどうかを判断する。任意の組み合わせでＮの整数倍になるものがあった時点で、ステップＳ２６に進み、その組み合わせによって連結印刷を開始する。連結印刷管理処理部１７はこの例では、連結印刷管理キュー３を参照しながら各文書の検索を行って、最適な組み合わせを検出する機能を持つ。
【００６７】
（ステップＳ２２）  ステップＳ２１で、各文書の組み合わせでＮの整数倍になるものがないと判断されると、連結印刷管理起動処理部２４は、待ち時間が経過しているものがないか判定する。図１３に示した登録されている印刷データの時間監視情報に一定の時間を加えた値が、現在の日時よりも以前のものがないかを順に比較する。
（ステップＳ２３）  ステップＳ２２で待ち時間が経過しているものがないと判断された場合には、連結印刷起動タイマ２５を起動する。
（ステップＳ２４）  待ち時間が経過しているものがある場合には、連結印刷管理キューに他の連結待ちデータがあるかどうかを判定する。ある場合には、ステップＳ２５で次の連結印刷管理をするために連結印刷起動タイマ２５を起動して、ステップＳ２９に進み、Ｎｕｐ情報・ページ情報・時間監視情報を削除し、印刷を開始する。
【００６８】
（ステップＳ２６）  連結印刷データ作成処理部１８は、連結印刷管理キューに他の連結待ちデータがあるかを判定する。ある場合には、ステップＳ２７で次の連結印刷管理をするために連結印刷起動タイマ２５を起動する。
（ステップＳ２８）  連結印刷管理キューに他の連結待ちデータが無い場合と、ステップＳ２７の処理を済ませた場合には、登録されている印刷データの連結処理を行う。登録されている印刷データを登録順に一つの印刷データに連結する。連結される場合に印刷データのページにより座標変換が必要になる。
（ステップＳ２９）  ステップＳ２４で他の待ちデータが無いと判断されたときや、ステップＳ２５の処理を経た後は、Ｎｕｐ情報・ページ情報・時間監視情報を削除し、印刷を開始する。
【００６９】
〈具体例３の効果〉
以上のように、キューの中に存在する待ち行列中で、組み合わせによって余白のない印刷ができる条件を満たす複数の文書が存在すれば、キューの中の待ち順序に関わらず、適切な組み合わせを行って印刷出力をすることにより、用紙の使用効率を上げ、更にできるだけ早く待ち状態のデータの出力を行うことも可能になる。なお、文書の組み合わせ判断は、図１５のようにキューに印刷ページ数順の配列をする方法に限定されない。全ての文書のページ数を読み出して、組み合わせて加算をする演算処理等により判断してもよい。
【００７０】
〈具体例４〉
上記の例では、上位装置例えばパーソナルコンピュータに搭載されたプリンタドライバに全てのデータ編集機能を付与するようにした。しかしながら、そのデータ編集機能等の一部をプリンタ側に設けることも可能である。
【００７１】
図１７には、具体例４のデータ編集装置ブロック図を示す。
この図に示す上位装置側のプリンタドライバ１０には、印刷ダイアログ１１、Ｎｕｐ情報作成処理部１２、時間監視情報作成処理部２３、印刷データ作成処理部１３、ページ情報作成処理部１４及びメモリ２０が設けられている。ここに印刷データ２１が記憶されている。
【００７２】
一方、プリンタ８０には、連結印刷判定処理部８１、キューイング処理部８２、連結印刷管理起動処理部８３、連結印刷起動タイマ８７、連結印刷管理処理部８４、連結印刷データ作成処理部８５、連結印刷管理キュー８６及び印刷処理部８８が設けられている。この図に示した装置の各部の機能は、図９に示した具体例２の装置の同一の名称の各部の機能と変わらない。従って、重複する説明は省略するが、ここでは上位装置がこれまで行っていた連結印刷判定処理部８１以下の処理をプリンタ側で分担する点が相違する。
【００７３】
即ち、上位装置は、これまで説明したような形式の印刷データを生成する。その印刷データをプリンタ８０が受信する。そして、プリンタ８０の側で、印刷要求があったものから順番に連結印刷管理キュー７６に配置し、これまでと同様の要領で複数の文書を連結して印刷する。この場合に、例えば、タイマを用いて、上位装置から印刷要求が一定時間なかった場合には、既に印刷要求のあった文書について編集を実行し、印刷を行う。なお、この具体的な動作は、図１６を用いて説明した具体例３の印刷動作と同様のため、重複する説明を省略する。
【００７４】
〈具体例４の効果〉
以上のように、例えばプリンタ側に連結印刷管理キューを格納するための十分なメモリが存在する場合には、ホストコンピュータ側から印刷データを受信し、プリンタ側で上記のような連結印刷を行う。これによって、ホストコンピュータの負荷を軽減し、マルチページ編集による印刷機能を実現できる。
【００７５】
〈具体例５〉
これまでの例では、印刷要求のあった全ての文書について、印刷ページの組み合わせによって、無駄な余白を残さないマルチページ編集を実行した。しかしながら、全く関連性のない２つの文書を連結して印刷すると、かえって利用しづらくなる場合もある。逆に、極めて関連性の深い文書を連結印刷した場合には、無駄な余白を節約しかつ文書の保管も縮小できる効果がある。そこで、各文書にその文書の内容を示す属性情報を付加し、この属性情報を表示する文書情報に基づいて、同一の待ち行列に配置された文書群をソーティングする。ソーティングされた順序で各文書を連結すれば、類似した情報を記録した文書を最適な組み合わせで連結して印刷できる。
【００７６】
図１８には、具体例５のデータ編集動作説明図を示す。
この図に示すように、例えば連結印刷管理キュー３の２ｕｐ印刷のための待ち行列には、文書Ａと文書Ｂと文書Ｃとが配置されている。そして、それぞれその文書には、文書情報Ｊ１が付加されている。このように、この具体例では、連結印刷管理キュー３に、文書情報を含める。そして、各文書情報を比較してソーティングを行う。ここでは、文書Ａと文書Ｃとの文書情報が類似しているため、ソーティングの結果文書Ａと文書Ｃとが先頭に並んだとする。その場合、文書Ａと文書Ｃを１枚の用紙５に印刷する。
【００７７】
図１９には、具体例５のデータ編集装置のブロック図を示す。
上記の目的を達成するために、この具体例のプリンタドライバには、文書情報作成処理部２６を設けている。その他の構成は具体例２の装置と全く同一であり、重複する説明を省略する。
【００７８】
図２０には、具体例５の印刷動作フローチャートを示す。
この説明をする前に、まずこの具体例を実施するための印刷データの構成を説明する。
図２１は、３ページから成る文書を２ｕｐで印刷する場合の説明図、図２２は、１ページから成る文書を２ｕｐで印刷する場合の説明図である。これらの図は、図１１や図１２に示した具体例２の印刷データに対し、更に文書情報５４を付け加えたものである。この文書情報５４を既に説明したキューに含めることによってソーティングを行う。
【００７９】
図２３には、連結印刷管理キューの説明図を示す。
この図の主要な部分は、具体例２の図１３で説明したものと同様である。そして、この具体例では、図に示すように、各印刷データＤ１〜Ｄ４の属性情報の中に文書情報６７を含める。この文書情報６７は、例えば文書の名前や文書に付けられた番号等とする。例えば研究レポートの場合、レポート番号順に文書情報を付けておけば、レポート番号順に文書を連結した印刷が可能になる。また、経理とか人事とかいった文書のジャンルを考慮した情報を含めてもよい。
【００８０】
図２４には、このような印刷データをまとめて連結印刷データを生成する例の説明図を示す。
図に示すように、これまでの具体例と同様に、各印刷データには、それぞれＮｕｐ情報、時間監視情報、文書情報及びページ情報が含められている。後で説明する要領で文書情報がソートされ、関連性の深い文書が決定されると、該当する文書が座標変換されて連結され、連結印刷データが生成される。以下、図２０のフローチャートについて説明する。
【００８１】
（ステップＳ１）  アプリケーション７から印刷要求を受けると、Ｎｕｐ情報作成処理部１２は、ユーザが要求したＮｕｐ情報を取り出し、図２１、２２に示す印刷データ５０の先頭のＮｕｐ情報５１へ格納する。
（ステップＳ２）  ユーザにより一定時間経過後連結条件が整わない場合に出力を行うと指定されている場合、時間監視情報作成処理部２３は、現在の日時情報を図２１、２２の印刷データ５０の時間監視情報５３に格納する。
【００８２】
（ステップＳ３）  文書情報作成処理部２６は、アプリケーションから通知される文書情報を取り出し、図２１、２２の文書情報５４へ格納する。このデータは可変長の文字列であり、文字列の終端には例えば「０」が格納される。
（ステップＳ４）  図３のステップＳ２からステップＳ９で説明したのと同一の印刷データ生成処理を実行する。
（ステップＳ５）  連結印刷判定処理部１５は、印刷データがマルチページ印刷かどうかを判定する。マルチページ印刷でないときは、図１６のステップＳ２９と同様に、Ｎｕｐ情報・ページ情報・時間監視情報に加えて文書情報を削除し、印刷を開始する。
（ステップＳ６）  連結印刷判定処理部１５は、マルチページ印刷のページ数がＮの整数倍かどうかの判定を行う。Ｎの整数倍のときにはそのまま印刷が可能なので、図１６のステップＳ２９と同様に、不要なＮｕｐ情報・ページ情報・時間監視情報に加えて文書情報を削除し、印刷を開始する。
【００８３】
（ステップＳ７）  マルチページ印刷のページ数がＮの整数倍でなければ、キューイング処理部１６は、生成した印刷データを連結印刷管理キュー３に登録する。連結印刷管理キュー３の構成は図７で説明したとおりである。連結印刷管理キュー３は、Ｎｕｐ毎に先頭ポインタ・最終ポインタ・登録ページ数合計の情報を持つ。生成した印刷データを連結印刷管理キュー３の最終ポインタが示す位置に追加し、ページ数の情報を登録ページ数合計に加算する。
【００８４】
（ステップＳ８）  連結印刷管理起動処理部２４は、連結印刷起動タイマ２５を起動する。連結印刷起動タイマ２５のタイムアウトにより連結印刷管理処理部１７が起動する。
（ステップＳ９）  連結印刷管理処理部１７が起動されると、最初に文書情報によるキューのソート処理が実行される。これによりキューの中の文書が関連のあるものから順に配置される。その後は、図１６のステップＳ２０以下と同様の処理を実行する。
本具体例は、マルチページ編集による連結印刷機能と文書のソーティング機能とを併せ持つ。しかしながら、例えば、文書のソーティング機能のみを適用することで、関連のある文書を連続して印刷出力させることも可能である。
【００８５】
〈具体例５の効果〉
以上のように、文書の種類等を示す文書情報を参照し、同一の待ち行列に配置された文書群をこの文書情報に基づいてソーティングすることによって、互いに連結される文書を関連性の深いものにすることができ、無駄な余白を発生させないで印刷した印刷物を有効に利用することができる。また、単に用紙の削減が可能なばかりでなく、利用者にとって関連した文書が連結されているために、非常に見やすく読みやすい保管形式にすることができる。
【００８６】
〈具体例６〉
上記の例では、文書情報を用いて文書をソーティングした。しかしながら、文書中に含まれる、文書の分類等に便利なキーワードを利用してソーティングすると、より関連性の深い文書を連結することが可能になる。
【００８７】
図２５には、具体例６のデータ編集装置ブロック図を示す。
この装置には、これまで具体例２等を用いて説明した装置のブロックに追加して、キーワード情報準備部２７、印刷データ作成・キーワード情報取出し処理部２８、ページ情報作成・キーワード情報付加処理部２９が設けられている。
【００８８】
キーワード情報準備部２７は、文書データ中の各文書間の関連性を示す情報を抽出するために、後で説明するようなキーワードを準備する部分である。キーワード情報準備部２７は、具体的にはテーブルデータの記憶部により構成される。
【００８９】
印刷データ作成・キーワード情報取出し処理部２８は、後で図２７、２８を用いて説明する要領で、文書データ中から、キーワード情報準備部２７が用意したキーワードを含む文字列を抽出する機能を持つ。ページ情報作成・キーワード情報付加処理部２９は、取り出された文字列を印刷データ２１に付加し、後でソーティング等に利用できるようにする処理を行う部分である。その他の部分についてはこれまでの具体例で説明した通りであるので、重複する説明を省略する。
【００９０】
図２６は、具体例６の印刷動作フローチャートである。
この説明をする前に、この具体例で使用する印刷データの構成の説明を行う。
図２７は、３ページから成る文書を２ｕｐで印刷する場合の説明図である。また、図２８は、１ページから成る文書を２ｕｐで印刷する場合の説明図である。
【００９１】
キーワード情報準備部２７は、まず、キーワードテーブル９０を用意する。そして、印刷データの各イメージＰ１、Ｐ２、Ｐ３をオブジェクトに分割する処理の際に、印刷データ作成・キーワード情報取出し処理部２８が、そのキーワードを含む文字列の取出しを行う。具体的には、印刷データ中に、キーワードテーブル９０中の、いずれかのキーワードが含まれているかどうかを判断する。
【００９２】
例えば、複数の文書データがいずれもメール文であったとする。その文書データのタイトルに相当する部分からTOが含まれている文字列を検索し、TO以下の所定文字数、例えば５０文字の文字列を抽出する。この文字列をソートすると、メールの宛先をアルファベット順に並べることができる。FROMが含まれているも文字列を検索し、FROM 以下の所定文字数の文字列を抽出して、メールの発信元をアルファベット順に並べることができる。
【００９３】
図２９には、連結印刷管理キューの説明図を示す。
それぞれポインタによって読み出される印刷データＤ１〜Ｄ４の属性データ中には、キーワード情報６８が含められる。このキーワード情報は、例えばTOに続く所定数の文字列からなる。なお、この例では、文書情報５４も合わせてソートに利用される。より関連性の深い文書を連結して印刷するためである。
【００９４】
図３０には、連結印刷データ生成例説明図を示す。
この図に示すように、元の印刷情報には、文書情報やキーワード情報が含められる。この例では、例えば文書情報とキーワード情報とをキーにして、同一の待ち行列に配置された文書群をソーティングする。文書情報とキーワード情報のどちらをソーティングの主キーにしてもよい。こうして、関連性の深い文書を連結して連結印刷データを生成する。
【００９５】
（ステップＳ１）  アプリケーション７から印刷要求を受けると、Ｎｕｐ情報作成処理部１２は、ユーザが要求したＮｕｐ情報を取り出し、図２７、２８に示す印刷データ５０の先頭のＮｕｐ情報５１へ格納する。
（ステップＳ２）  ユーザにより一定時間経過後連結条件が整わない場合に出力を行うと指定されている場合、時間監視情報作成処理部２３は、現在の日時情報を図２７、２８の印刷データ５０の時間監視情報５３に格納する。
【００９６】
（ステップＳ３）  文書情報作成処理部２６は、アプリケーションから通知される文書情報を取り出し、図２７、２８の文書情報５４へ格納する。このデータは可変長の文字列であり、文字列の終端は例えば「０」が格納される。
（ステップＳ４）  図２５の印刷ダイアログ１１において、ユーザが文書から抽出したいキーワードを入力する。キーワードには予めよく使われると思われるもの（TO、FROM、CC、Subject、宛先、タイトル、題名等）を登録して選択を容易にすると共に、任意のキーワードの新規登録も行えるようにする。指定されたキーワードは、キーワード情報準備部２７により取り出し、図２７に示すキーワードテーブル９０に格納する。キーワードテーブル９０はメモリ２０中に一時記憶される。
【００９７】
（ステップＳ５）  図３のステップＳ２からステップＳ９で説明したのと同様の印刷データ生成処理を実行する。この処理中で、印刷データ作成・キーワード情報取出し処理部２８は、印刷する文字データを受信した際に、取り出しておいたキーワード情報と比較する。文字列データにキーワード情報が含まれる場合、キーワード情報以降の文字列を文字データの最後まで取り出す。取り出した文字列はメモリ２０に一時格納しておく。文字データを受信するたびにキーワード取り出し処理を繰り返し、取り出した文字列は追記していく。抽出したキーワード情報は、連結印刷管理キュー３中に含めて記憶される（ステップＳ６）。連結印刷判定処理部１５は、印刷データがマルチページ印刷かどうかを判定する。マルチページ印刷でないときは、図１６のステップＳ２９と同様に、Ｎｕｐ情報・ページ情報・時間監視情報に加えて文書情報・キーワード情報を削除し、印刷を開始する。
【００９８】
（ステップＳ７）  連結印刷判定処理部１５は、マルチページ印刷のページ数がＮの整数倍かどうかの判定を行う。Ｎｕｐの整数倍のときにはそのまま印刷が可能なので、図１６のステップＳ２９と同様に、不要なＮｕｐ情報・ページ情報・時間監視情報に加えて文書情報・キーワード情報を削除し、印刷を開始する。
【００９９】
（ステップＳ８）  キューイング処理部１６は、マルチページ印刷でＮの整数倍でない場合、生成した印刷データを連結印刷管理キュー３に登録する。連結印刷管理キュー３の構成は図７で説明したとおりである。連結印刷管理キュー３は、Ｎｕｐ毎に先頭ポインタ・最終ポインタ・登録ページ数合計の情報を持つ。生成した印刷データを連結印刷管理キュー３の最終ポインタが示す位置に追加し、ページ数の情報を登録ページ数合計に加算する。
【０１００】
（ステップＳ９）  連結印刷管理起動処理部２４は、連結印刷起動タイマ２５を起動する。連結印刷起動タイマのタイムアウトにより連結印刷管理処理部１７が起動する。
（ステップＳ１０）  連結印刷管理処理部１７が起動されると、最初に文書情報とキーワードとによるキューのソート処理が実行される。これによりキューの中の文書が関連のあるものから順に配置される。その後は、図１６のステップＳ２０以下と同様の処理を実行する。
【０１０１】
本具体例は、具体例５と同様に、マルチページ編集による連結印刷機能と文書のソーティング機能とを併せ持つ。しかしながら、文書のソーティング機能のみを適用することで、関連のある文書を連続して印刷出力させることが可能である。
【０１０２】
〈具体例６の効果〉
以上により、指定されたキーワードを抽出したり、あるいはキーワードに続く適当な文字列を抽出することによって、そのキーワードに基づく文書のソーティングを行い、関連する文書を連結してマルチページ編集を行うようにしたので、印刷後、取り扱いやすい、読みやすい文書の印刷が可能になる。
【図面の簡単な説明】
【図１】具体例１のデータ編集動作説明図である。
【図２】具体例１のデータ編集装置ブロック図である。
【図３】具体例１の印刷動作フローチャートである。
【図４】印刷データの座標系の説明図である。
【図５】３ページから成る文書を２ｕｐで印刷する場合の説明図である。
【図６】１ページから成る文書を２ｕｐで印刷する場合の説明図である。
【図７】連結印刷管理キューの説明図である。
【図８】連結印刷データ生成例説明図である。
【図９】具体例２のデータ編集装置ブロック図である。
【図１０】具体例２の印刷動作フローチャートである。
【図１１】３ページから成る文書を２ｕｐで印刷する場合の説明図である。
【図１２】１ページから成る文書を２ｕｐで印刷する場合の説明図である。
【図１３】連結印刷管理キューの説明図である。
【図１４】連結印刷データ生成例説明図である。
【図１５】具体例３のデータ編集動作説明図である。
【図１６】具体例３の印刷動作フローチャートである。
【図１７】具体例４のデータ編集装置ブロック図である。
【図１８】具体例５のデータ編集動作説明図である。
【図１９】具体例５のデータ編集装置ブロック図である。
【図２０】具体例５の印刷動作フローチャートである。
【図２１】３ページから成る文書を２ｕｐで印刷する場合の説明図である。
【図２２】１ページから成る文書を２ｕｐで印刷する場合の説明図である。
【図２３】連結印刷管理キューの説明図である。
【図２４】連結印刷データ生成例説明図である。
【図２５】具体例６のデータ編集装置ブロック図である。
【図２６】具体例６の印刷動作フローチャートである。
【図２７】３ページから成る文書を２ｕｐで印刷する場合の説明図である。
【図２８】１ページから成る文書を２ｕｐで印刷する場合の説明図である。
【図２９】連結印刷管理キューの説明図である。
【図３０】連結印刷データ生成例説明図である。
【符号の説明】
１  イメージ
３  連結印刷管理キュー
５  用紙
【図１】
0004008628.tif 000002
【図２】
0004008628.tif 000003
【図３】
0004008628.tif 000004
【図４】
0004008628.tif 000005
【図５】
0004008628.tif 000006
【図６】
0004008628.tif 000007
【図７】
0004008628.tif 000008
【図８】
0004008628.tif 000009
【図９】
0004008628.tif 000010
【図１０】
0004008628.tif 000011
【図１１】
0004008628.tif 000012
【図１２】
0004008628.tif 000013
【図１３】
0004008628.tif 000014
【図１４】
0004008628.tif 000015
【図１５】
0004008628.tif 000016
【図１６】
0004008628.tif 000017
【図１７】
0004008628.tif 000018
【図１８】
0004008628.tif 000019
【図１９】
0004008628.tif 000020
【図２０】
0004008628.tif 000021
【図２１】
0004008628.tif 000022
【図２２】
0004008628.tif 000023
【図２３】
0004008628.tif 000024
【図２４】
0004008628.tif 000025
【図２５】
0004008628.tif 000026
【図２６】
0004008628.tif 000027
【図２７】
0004008628.tif 000028
【図２８】
0004008628.tif 000029
【図２９】
0004008628.tif 000030
【図３０】
0004008628.tif 000031