(57)【要約】【課題】出力画像に組み込むデータを外部への参照の形で記述できるＨＴＭＬ等の文書を印刷する装置において、印刷の高速化を図る。【解決手段】データ取得部１２は、文書解析部１３による文書の解析により検出した各文書要素の表示内容データをダウンロードする。レイアウト部１５は、各文書要素をページに割り付ける処理を行う。この処理で、データ取得部１２によるダウンロードが未了の文書要素をページにレイアウトすることになったとき、決定部１６は、その文書要素のダウンロード済みのデータ量などからその文書要素の表示サイズを推定し、その推定サイズがそのページの空き領域に収まるか否かを判定し、収まらないと判定した場合、その文書要素は次ページ以降にレイアウトすることに決定し、その直前の文書要素まででページのレイアウトを確定する。ページのレイアウトが確定するごとに、そのページの印刷を開始する。【選択図】        図４
2004287865.tif 000002
【特許請求の範囲】
【請求項１】
複数の文書要素を含む文書の記述を解析する解析手段と、
前記解析手段による解析の際に検出した各文書要素の表示内容データを取得するデータ取得手段と、
前記解析手段の解析結果に基づき、前記各文書要素の各出力ページへのレイアウトを決定するレイアウト手段であって、各文書要素のレイアウトを順に決定していく際に、出力ページにレイアウトしようとする文書要素の表示内容データが取得未了の場合、その表示内容データの表示サイズを推定し、推定した表示サイズがその出力ページの未レイアウト領域のサイズに収まらない場合、その文書要素を次ページにレイアウトすることとし、その文書要素の直前の文書要素までで当該出力ページのレイアウトを確定するレイアウト手段と、
前記レイアウト手段によりレイアウトが確定した出力ページの画像データを、その出力ページに含まれる各文書要素の表示内容データとそのレイアウトとに基づき生成し、媒体上に画像形成する出力手段と、
を備える画像形成装置。
【請求項２】
請求項１記載の画像形成装置であって、
前記レイアウト手段は、前記取得未了の表示内容データの表示サイズを推定するに際し、当該表示内容データのデータ種別をその推定の基礎情報として用いることを特徴とする画像形成装置。
【請求項３】
請求項１記載の画像形成装置であって、
前記レイアウト手段は、出力ページにレイアウトしようとする文書要素の表示内容データが取得未了の場合、その表示内容データのうち現時点までにデータ取得が済んでいる部分のデータサイズからその取得済み部分の表示サイズを推定し、その取得済み部分の推定表示サイズがその出力ページの未レイアウト領域のサイズに収まらない場合、その文書要素を次ページにレイアウトすることとし、その文書要素の直前の文書要素までで当該出力ページのレイアウトを確定することを特徴とする画像形成装置。
【請求項４】
複数の文書要素を含む文書の記述を解析する解析手段と、
前記解析手段による解析の際に検出した各文書要素の表示内容データを取得するデータ取得手段と、
前記解析手段の解析結果に基づき、前記各文書要素の各出力ページへのレイアウトを決定するレイアウト手段であって、各文書要素のレイアウトを順に決定していく際に、出力ページにレイアウトしようとする文書要素の表示内容データが取得未了の場合、未レイアウト領域のサイズまたは未レイアウト領域の縦横比に基づいて、その文書要素を次ページにレイアウトすることとし、その文書要素の直前の文書要素までで当該出力ページのレイアウトを確定するレイアウト手段と、
前記レイアウト手段によりレイアウトが確定した出力ページの画像データを、その出力ページに含まれる各文書要素の表示内容データとそのレイアウトとに基づき生成し、媒体上に画像形成する出力手段と、
を備える画像形成装置。
【請求項５】
複数の文書要素を含む文書の記述を解析し、解析の際に検出した各文書要素の表示内容データを取得し、取得した表示内容データを文書要素の順序に従って先頭ページから順にレイアウトし、このレイアウト結果に従って各ページの画像を生成して媒体に対し画像形成する画像形成方法であって、
ページに対してレイアウトしようとする文書要素の表示内容データが取得未了の場合、少なくとも当該文書要素のデータ種別に基づきその表示内容データの表示サイズを推定し、推定した表示サイズがそのページの未レイアウト領域のサイズに収まらない場合、その文書要素を次ページにレイアウトすることとし、その文書要素の直前の文書要素までで当該ページのレイアウトを確定する、
ことを特徴とする方法。
【請求項６】
コンピュータシステムに組み込まれ、該コンピュータシステムに接続されたプリンタによる画像形成を制御するためのプログラムであって、該コンピュータシステムを、
複数の文書要素を含む文書の記述を解析する解析手段、
前記解析手段による解析の際に検出した各文書要素の表示内容データを取得するデータ取得手段、
前記解析手段の解析結果に基づき、前記各文書要素の各出力ページへのレイアウトを決定するレイアウト手段であって、各文書要素のレイアウトを順に決定していく際に、出力ページにレイアウトしようとする文書要素の表示内容データが取得未了の場合、その表示内容データの表示サイズを推定し、推定した表示サイズがその出力ページの未レイアウト領域のサイズに収まらない場合、その文書要素を次ページにレイアウトすることとし、その文書要素の直前の文書要素までで当該出力ページのレイアウトを確定するレイアウト手段、
前記レイアウト手段によりレイアウトが確定した出力ページの印刷データを、その出力ページに含まれる各文書要素の表示内容データとそのレイアウトとに基づき生成し、前記プリンタに送信して印刷を指示する出力手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術の分野】
本発明は、文書を構成する各文書要素の表示内容データを当該文書内の記述又は外部から取得して出力画像を生成し画像形成する装置に関する。
【０００２】
【従来の技術】
近年、ＨＴＭＬやＸＭＬ、ＸＨＴＭＬ−ｐｒｉｎｔなどのハイパーテキスト文書を印刷する機会がますます増大しており、プリンタがハイパーテキスト文書を受け入れて印刷できるようになりつつある。例えば特許文献１には、プリンタがハイパーテキスト文書や、その文書を構成する各文書要素のデータをインターネット上の各サーバから取得して印刷を行う装置が開示されている。このようにハイパーテキスト文書のデータをプリンタ自身がダウンロードして印刷する処理は、プルプリントとも呼ばれる。
【０００３】
ハイパーテキスト文書を印刷する場合、プリンタはその文書を先頭から順に解析していき、出力に組み込むデータのソースファイル名等の記述を検出すると、そのファイルの取得要求をインターネット上のサーバに送信する。そして、この要求に応じてサーバから送られてきたファイルをビットマップに展開して出力画像に組み込み、この出力画像を用紙等の所定媒体に印刷する。
【０００４】
例えば特許文献２に述べられているように、ハイパーテキスト文書を構成するすべての文書要素のデータが集められると、各要素をページ内にマッピングを決定すると共に改ページ処理を行い、その後にページ情報を作成する。
【０００５】
ここで、ハイパーテキスト文書を構成する各文書要素のデータは、インターネット上の異なる複数のサーバに蓄積されているのが一般的であり、データの取得にはある程度の時間がかかる。また、データの取得に要する時間は、サーバの応答時間等によって様々に変わるので、インターネット上に取得要求を発行した順にデータが取得できるとは限らない。このため、例えば前のページに組み込まれる要素のデータよりも後のページに組み込まれる要素のデータの方が先に取得されることもしばしばである。
【０００６】
印刷では、先頭ページから順に出力していく必要があるので、後ろのページのデータが先に取得できたとしても、その時点でこれを印刷出力することはできないため、そのデータはそれより前のページのデータがすべて揃うまではプリンタ内に保持しておかなければならい。このため、従来の装置では、一般的にハイパーテキスト文書の印刷に必要なデータ全体をプリンタにダウンロードしてから印刷の処理を行っていた。このため、従来は、大きいサイズのハイパーテキスト文書を印刷するには、プリンタ内に大容量の記憶装置を設ける必要があり、コスト高を招くという問題があった。
【０００７】
この問題を解決するために、文書に含まれるすべての文書要素が取得できていなくても、ページを構成するすべての要素が取得できたページから順に印刷を行い、印刷が終了したページを構成するデータを削除することにより、必ずしもすべてのデータを保持することなく、またすべてのデータの取得が完了するまで処理を待つことなく印刷を行うことが可能となる。
【０００８】
例えば図１（Ａ）に示すＨＴＭＬ文書を印刷する場合を考える。この場合、ＨＴＭＬ文書を取得し、さらに当該ＨＴＭＬ文書が含んでいる画像をサーバから取得する。すべての要素の取得が完了したら先頭からページへのレイアウトを行う。
【０００９】
このレイアウト処理では、まずＨＴＭＬ文書の先頭の文書要素である「テキスト部分・・・」という内容を持つテキストを、図１（Ｂ）の１ページ目の領域Ｂ１にレイアウトする。次に”＜ＩＭＧ  ＳＲＣ＝…＞”のタグで示される画像の割当てを行い、これを１ページ目の領域Ｂ２にレイアウトする。次に「画像に続くテキスト・・・」という内容を持つテキストの割当てを行い、１ページ目の領域Ｂ３にレイアウトする。しかし、このテキストの文書要素は１ページ目にすべてを割り当てることができないため、さらに２ページ目の領域Ｂ４にレイアウトする。
【００１０】
図１（Ｃ）は、取得した画像の表示サイズが（Ｂ）の場合よりも大きい場合のレイアウト例である。先程の例と同様にテキスト領域Ｃ１および画像領域Ｃ２を割り当てる。次に「画像に続くテキスト・・・」という内容を持つテキストの割当てを行うが、１ページ目にレイアウト可能な空き領域がないため、２ページ目の先頭から領域Ｃ３にレイアウトする。
【００１１】
図１（Ｄ）は、取得した画像の表示サイズが更に大きい場合の例である。先程の例と同様にテキスト領域Ｄ１を割り当てる。次に画像領域の割当てを行うが、領域Ｄ２に示すように画像が先程より大きく、１ページ目の空き領域に入らないため、改ページされ２ページ目の先頭の領域Ｄ３にレイアウトする。「画像に続くテキスト・・・」という内容を持つテキストは領域Ｄ３の後に続く領域Ｄ４にレイアウトする。
【００１２】
このような処理を行い、例えば図１の（Ｃ）のようにレイアウトされたページの印刷が終了したら、先頭要素である「テキスト部分・・・」という内容を持つテキストおよび次の要素である画像に関するデータを破棄して、２ページ目以降の処理のために記憶領域を再利用しながら処理を進めることができる。
【００１３】
【特許文献１】
特開平１１−１３４１２５号公報
【特許文献２】
特開２０００−０６６８６７号公報
【００１４】
【発明が解決しようとする課題】
上述の方法では、画像（Ｂ２，Ｃ２，Ｄ２）の取得が完了してその表示サイズがわかってから、その画像を１ページ目に割り付けるか、２ページ目に追い出すかを判定している。このため、結果的に画像が２ページ目にレイアウトされる場合でも、その画像の取得が完了するまで１ページ目のレイアウトおよび印刷が待たされる。
【００１５】
このように、上述の方法では、ページと次のページとの境界に位置する文書要素のデータの取得が完了するまでは、その文書要素を前のページと次のページのどちらにレイアウトするか決まらない。このため、前のページのレイアウト確定は、その文書要素のデータの取得完了まで待たねばならず、その結果印刷処理の開始も待たされることになっていた。
【００１６】
本発明は、このような課題を解決するため、ハイパーテキスト文書をより高速に印刷することが可能な画像形成装置及び方法を提供することを目的としている。
【００１７】
【課題を解決するための手段】
本発明に係る装置は、複数の文書要素を含む文書の記述を解析する解析手段と、前記解析手段による解析の際に検出した各文書要素の表示内容データを取得するデータ取得手段と、前記解析手段の解析結果に基づき、前記各文書要素の各出力ページへのレイアウトを決定するレイアウト手段であって、各文書要素のレイアウトを順に決定していく際に、出力ページにレイアウトしようとする文書要素の表示内容データが取得未了の場合、その表示内容データの表示サイズを推定し、推定した表示サイズがその出力ページの未レイアウト領域のサイズに収まらない場合、その文書要素を次ページにレイアウトすることとし、その文書要素の直前の文書要素までで当該出力ページのレイアウトを確定するレイアウト手段と、前記レイアウト手段によりレイアウトが確定した出力ページの画像データを、その出力ページに含まれる各文書要素の表示内容データとそのレイアウトとに基づき生成し、媒体上に画像形成する出力手段と、を備える。
【００１８】
本発明の好適な態様では、前記レイアウト手段は、前記取得未了の表示内容データの表示サイズを推定するに際し、当該表示内容データのデータ種別をその推定の基礎情報として用いる。
【００１９】
別の好適な態様では、前記レイアウト手段は、出力ページにレイアウトしようとする文書要素の表示内容データが取得未了の場合、その表示内容データのうち現時点までにデータ取得が済んでいる部分のデータサイズからその取得済み部分の表示サイズを推定し、その取得済み部分の推定表示サイズがその出力ページの未レイアウト領域のサイズに収まらない場合、その文書要素を次ページにレイアウトすることとし、その文書要素の直前の文書要素までで当該出力ページのレイアウトを確定する。
【００２０】
本発明の別の態様では、複数の文書要素を含む文書の記述を解析する解析手段と、前記解析手段による解析の際に検出した各文書要素の表示内容データを取得するデータ取得手段と、前記解析手段の解析結果に基づき、前記各文書要素の各出力ページへのレイアウトを決定するレイアウト手段であって、各文書要素のレイアウトを順に決定していく際に、出力ページにレイアウトしようとする文書要素の表示内容データが取得未了の場合、未レイアウト領域のサイズまたは未レイアウト領域の縦横比に基づいて、その文書要素を次ページにレイアウトすることとし、その文書要素の直前の文書要素までで当該出力ページのレイアウトを確定するレイアウト手段と、前記レイアウト手段によりレイアウトが確定した出力ページの画像データを、その出力ページに含まれる各文書要素の表示内容データとそのレイアウトとに基づき生成し、媒体上に画像形成する出力手段とを備える。
【００２１】
【発明の実施の形態】
以下、本発明の実施の形態（以下実施形態という）について、図面に基づいて説明する。
【００２２】
図２は、本発明の実施形態に係るプリンタのハードウエア構成の一例を概略的に示す図である。
【００２３】
このプリンタは、ＣＰＵ（中央演算処理装置）２０１、ＲＯＭ（リード・オンリー・メモリ）２０２、ＲＡＭ（ランダム・アクセス・メモリ）２０３、操作パネル２０４、ＬＡＮ（ローカル・エリア・ネットワーク）インタフェース２０５、プリントエンジン２０６及びハードディスクドライブ（ＨＤＤ）２０７を備えている。
【００２４】
ＣＰＵ２０１は、ＲＯＭ２０２に格納された各種制御プログラムを実行することで本プリンタの各部を制御し、本プリンタの処理動作を実現する。この制御プログラムの中には、ＨＴＭＬやＸＨＴＭＬ−ｐｒｉｎｔなどの文書をページ分割して印刷するための制御動作を記述したものが含まれる。このページ分割の処理手順については、後で詳しく説明する。ＲＡＭ２０３は、ＣＰＵ２０１による各種プロブラムの実行時の作業メモリ領域（ワークメモリ）として利用され、例えばプリンタ受信データ（イメージデータやＨＴＭＬデータなど）やこれを展開したビットマップデータなどが格納される。操作パネル２０４は、プリンタに対し印刷条件を設定するためのユーザインタフェース装置であり、例えばタッチパネル式液晶ディスプレイや各種入力ボタンなどを有している。ＬＡＮインタフェース２０５は、ＬＡＮ上の装置と通信したり、ＬＡＮを介してインターネット上の装置と通信したりするための通信処理を行う。プリントエンジン２０６は、ＣＰＵ２０１の指示に従って印刷対象のビットマップデータを受け取り、用紙等の媒体に印刷する。ハードディスクドライブ（ＨＤＤ）２０７は、書き換え可能な不揮発性の記憶装置であり、ユーザやサービスエンジニアが設定した各種設定データやプログラムなどが格納される他、ＲＡＭ２０３から溢れたデータの待避領域として用いられる。
【００２５】
図３は、このプリンタ３０２が適用されるシステムの構成例を示す図である。この例では、ＬＡＮ３０３上にクライアントＰＣ（パーソナルコンピュータ）３０１とプリンタ３０２とが接続されている。クライアントＰＣ３０１とプリンタ３０２は、ＬＡＮ３０３を介してインターネット３０４に接続されている。インターネット３０４上には、サーバ３０５が存在する。
【００２６】
図３のシステムでは、例えばクライアントＰＣ３０１や図示しないモバイル装置がプリンタ３０２に対してＨＴＭＬ文書の印刷要求と、印刷対象のＨＴＭＬ文書データを送信すると、これを受信したプリンタ３０２は、そのＨＴＭＬ文書データを解析し、ビットマップデータを生成して媒体に印刷する。ここで、ＨＴＭＬ文書の中にはＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）等により示されるオブジェクト（文書要素）が含まれる場合があり、このような場合プリンタ３０２は、そのＵＲＬ等に従って、そのオブジェクトが存在するインターネット３０４上のサーバ３０５からそのオブジェクトのデータをダウンロードし、これを用いてビットマップデータを生成する。以上のように、ＨＴＭＬ文書をそのままプリンタ３０２に送って印刷させる方式はダイレクトプリント方式とも呼ばれる。また、このほか、プリンタ３０２の操作パネル２０４からＨＴＭＬ文書のＵＲＬを直接入力したり、クライアントＰＣ３０１や図示しないモバイル装置からプリンタ３０２に対してＨＴＭＬ文書のＵＲＬを送信したりして、プリンタ３０２に印刷指示を行うことも可能である（プルプリント）。この場合、プリンタ３０２は、入力されたＵＲＬに従ってインターネット３０４上からそのＨＴＭＬ文書をダウンロードし、印刷処理を行う。
【００２７】
本実施形態のプリンタ３０２は、上記のように他のサーバに存在するデータをダウンロードし、出力画像に組み込んで印刷する際に、ページを構成する文書要素中に表示内容データの取得が未了（以下「未取得」という）のものがある場合、この要素を当該ページから除外するか否かを決定することにより、未取得要素の取得待ちを抑制し、より高速な印刷を実現している。
【００２８】
プリンタ３０２における文書データ処理機構１０を、図４を参照して説明する。図４の処理機構１０は、ＲＯＭ２０２やＨＤＤ２０７に格納されたプログラムや設定データをＣＰＵ２０１で実行することにより実現される。
【００２９】
この処理機構１０において、主制御部１１は、この処理機構１０の全体的な制御を行う手段である。データ取得部１２は、主制御部１１からのデータ取得要求に応じて、ＬＡＮ２０やインターネット等のネットワークを介してデータを取得する手段である。文書解析部１３は、入力されるＨＴＭＬ文書やＨＴＭＬ文書を含むＭＩＭＥ（Ｍｕｌｔｉｐｕｒｐｏｓｅ  Ｉｎｔｅｒｎｅｔ  Ｍａｉｌ  Ｅｘｔｅｎｓｉｏｎｓ）文書を解析して個々の文書要素を検出し、それら文書要素群が構成する論理構造を求める。文書構成情報管理部１４は、検出された文書要素や論理構造の情報に基づき、文書構成情報を作成して管理する（詳細は後述）。
【００３０】
ここで、文書要素の中には、その内容のデータ（印刷結果に示される内容という意味で、表示内容データと呼ぶ）がＨＴＭＬ文書と共にＭＩＭＥ文書内にすでに含まれているものもあれば、外部参照のもの（すなわちＨＴＭＬ文書の当該要素の記述には、表示内容データへのリンク情報（例えばＵＲＬ）が含まれる）もある。後者については、文書解析部１３は、主制御部１１を介して、データ取得部１２にその表示内容データのダウンロードを要求する。ここで、ＨＴＭＬ文書のデータや、ＨＴＭＬ文書やＭＩＭＥ文書を先頭から順に解析していく際に検出した各文書要素の表示内容データ、この解析の進行に従って逐次作成、更新される文書構成情報等の各種データは、ワークメモリであるＲＡＭ２０３に格納される。なお、ＨＴＭＬ文書を含むＭＩＭＥ文書内又は外部からのダウンロードにより得られる表示内容データは、ＨＴＭＬやページ記述言語等の記述言語で記述されていたり、符号化やデータ圧縮が施されていたりすることも少なくない。このような場合は、表示内容データをプリントエンジン２０６で取扱可能なイメージデータ形式（例えばビットマップイメージ）に展開する必要がある。このような展開処理をソフトウエアベースで行う場合は、この処理のための作業領域にＲＡＭ２０３が利用される。
【００３１】
レイアウト部１５は、文書構成情報や各文書要素の表示内容データ（或いはそれを展開したデータ）を元に、各文書要素が表示される領域を、先頭ページから順に決定していく。すなわち、先頭から順に各文書要素の表示領域をページに割り付けていく。これがレイアウト処理である。ここで決定されたレイアウトをもとに、描画部（図示省略）は先頭ページから順に各ページのページイメージを、ＲＡＭ２０３とは別に設けられているページバッファ（図示省略）上に生成する。このようにして生成されたページイメージが、プリントエンジン２０６に渡され、用紙上に印刷される。
【００３２】
ここで、各ページのレイアウト時に、そのページを構成する文書要素の一部が取得できていないため、レイアウトを確定できない場合がある。このような場合への対処のために決定部１６が設けられている。決定部１６は、未取得の文書要素をレイアウトするために取得完了を待つか、あるいはこの文書要素を割当て対象から除外して当該ページのレイアウトを継続するかを決定する。この決定処理は、取得済の文書要素群を途中までレイアウトした結果や、前述の文書構成情報などに基づき行われる。
【００３３】
表示領域推定部１７は、取得処理中（すなわち取得は完了していない）の文書要素に関してその表示サイズを推定するための処理モジュールである。表示領域推定部１７による推定結果は、決定部１６において未取得要素の取得待ちをするか否かを決定するのに使用される。例えば、ページの中で既に取得した文書要素群をレイアウトした後に残る残領域（この残領域が、取得未完了の文書要素をレイアウトする領域の候補となる）よりも、表示領域推定部１７で推定されたサイズの方が大きい場合は、当該文書要素をこのページにはレイアウトしないものと決定した上で、ページレイアウトが継続される。
【００３４】
図５は、この文書データ処理機構１０における、文書解析部１３及び文書構成情報管理部１４の処理手順を示すフローチャートである。
【００３５】
例えばプルプリントの場合は、クライアントＰＣ３０１や操作パネル２０４から印刷対象のＨＴＭＬ文書データのＵＲＬが入力されると、データ取得部１２がそのＵＲＬに示される文書データの取得要求を、例えばＨＴＴＰ１．１のＧＥＴ命令の形でＬＡＮ２０上に発行し、この取得要求に応じてＬＡＮ２０やこれにつながるインターネット上のサーバから返信されてくる文書データを取得する（Ｓ１００）。ここで、取得された文書データはＲＡＭ２０３に格納される。文書データを取得すると、文書構成情報管理部１４に、その文書の情報を登録する（情報内容については図６，７を参照して後で説明する）（Ｓ１０１）。
【００３６】
次に文書解析部１３が、その文書データを先頭から順に解析していく（Ｓ１０２）。この解析では、文書のデータを順に構文解析していき、文書の最後に達していなければ（Ｓ１０３）、タグ検出により文書要素を見つけるまでデータ解析を進める（Ｓ１０４）。ここで文書要素を見つけると、この要素の情報を文書構成情報管理部１４に登録するとともに、すでに登録されている文書や文書要素の情報の中で、この新たに登録した文書要素に関連するものに、この新規登録の要素の情報を反映させる（Ｓ１０５）。
【００３７】
ここで、文書要素が、当該ＨＴＭＬ文書内に組み込まれたテキストである場合は、ＨＴＭＬ文書に含まれるそれらテキストが、その文書要素に対応する表示内容データと認識され、表示内容データの所在を示す情報が文書構成情報管理部１４に登録される。例えば、ＨＴＭＬ文書に組み込まれたテキストの文書要素は、文書要素を検出した際には、その表示内容データはすでにＲＡＭ２０３上にロードされている。
【００３８】
一方、そのＨＴＭＬ文書において、文書要素がその実体データ（表示内容データ）へのリンク情報の形で文書要素が記述されている場合（例えば、文書に組み込むべき画像のソースのＵＲＬがＩＭＧタグ内に記述されている場合など）は、その文書要素のデータをダウンロード等により取得する必要がある。そこで、文書解析部１３は、検出した文書要素の記述中に、他の場所に存在するデータへのリンク情報（例えばＩＭＧタグ内に記述された画像データのＵＲＬ）があるかどうかを判定し（Ｓ１０６）、そのようなリンク情報に従ってデータの取得処理を行う（Ｓ１０７）。このとき、リンク情報が外部のＵＲＬである場合は、データ取得部１２が、そのＵＲＬの指し示すデータをインターネット上のサーバからダウンロードする。また、リンク情報が、そのＨＴＭＬ文書を含むＭＩＭＥ文書、あるいはＸＨＴＭＬ−ｐｒｉｎｔ文書内にコード情報として組み込まれたイメージデータ（インライン・イメージとよばれる）を指している場合には、ＭＩＭＥ文書あるいはＸＨＴＭＬ−ｐｒｉｎｔ文書の解析を進め、そのインライン・イメージのコードデータが見つかるのを待つ。
【００３９】
ここで、図５は、１つの文書データ（ここでは、ＨＴＭＬデータのみならず、その中で参照される画像等のデータも、１つの文書データとして扱う）を取得したときに行う一連のプロセスを示している。したがって、Ｓ１０７によりリンク先データの取得が要求されると、そのデータについて、図５に示すプロセスが別途開始され、取得要求元のプロセス等と並行的（コンカレント）に実行される。図５中の破線によるループはこのことを示している。データをインターネット上から取得する場合もあるので、各取得対象のデータがいつ取得できるか分からないため、このように各データを非同期的に取得する構成となっている。Ｓ１０７で取得要求を行ったリンク先のデータについては、そのデータの取得のためのプロセスにより、データ取得処理が行われて表示内容データが取得され、この表示内容データに関する情報が文書構成情報管理部１４に登録される。
【００４０】
次にレイアウト部１５において、文書構成情報管理部１４に登録済の文書要素のレイアウト処理を行う（Ｓ１０８）。本処理の詳細については後で説明する。
【００４１】
次に図６及び図７を参照して、文書構成情報管理部１４が管理する文書構成情報と、その作成手順について説明する。
【００４２】
図６において、（ａ）は入力されるＨＴＭＬ文書の記述内容を概略的に示すと共に、各記述と、文書構成情報管理部１４におけるデータ管理上の各項目との対応関係を示している。また、（ｂ）は、（ａ）のＨＴＭＬ文書についての、文書構成情報管理部１４におけるデータ管理構造を示している。また、図７は、文書構成情報管理部１４が管理する文書構成情報の、ある時点におけるスナップショットを概念的に示したものである。
【００４３】
図６（ａ）に示すＨＴＭＬ記述全体が一つの文書データを構成する。この文書データにＤ−００１という一意的な識別情報が付与され、これに対応する管理情報（図７の（ａ１）参照）が作成される。この管理情報は、Ｄ−００１という識別情報で検索できる形で、ＲＡＭ２０３に格納される。なお、識別情報Ｄ−００１は、ユーザやクライアントＰＣ３０１から印刷対象のＵＲＬ”ｈｔｔｐ：／／ｘｘｘ．ｙｙｙ．ｊｐ／ｉｎｄｅｘ．ｈｔｍ”がプリンタ３０２に入力された時に文書構成情報管理部１４が付与する。そして、データ取得部１２がこのＵＲＬに対応するＨＴＭＬ文書のデータをダウンロードすると、文書構成情報管理部１４が、その文書データの管理情報を作成し、その時点で判明しているその文書データに関する情報をその管理情報に登録する。
【００４４】
例えば、図７（ａ１）では、ＨＴＭＬ文書Ｄ−００１の管理情報として、（１）識別情報（ＤＩＤ：ドキュメントＩＤ）、（２）当該文書のデータ名（ファイル名）、（３）当該文書データの所在場所を示すパス（ファイル名とともに、ＵＲＬから抽出できる）、（４）当該文書データのデータサイズ（ダウンロード完了時に分かる）、（５）取得時間（ダウンロードに要した時間）、（６）データ要素（当該文書内の先頭に現れる文書要素の管理情報へのポインタ）、の６つの項目からなる管理情報を作成する。ＨＴＭＬ文書の場合、第６項目「データ要素」以外はダウンロード完了時点で判明しているので、これらの値が管理情報に登録される。
【００４５】
さて、このＨＴＭＬ文書の本体部分（＜ＢＯＤＹ＞〜＜／ＢＯＤＹ＞）を先頭から構文解析していくと、まずテキストデータからなる文書要素（エレメント）が検出される。このとき、文書構成情報管理部１４は、この要素にＥ−００１００１という一意的な識別情報を付与し、これに対応する管理情報（図７の（ｂ１）参照）を作成する。この管理情報は、Ｅ−００１００１という識別情報で検索できる形で、ＲＡＭ２０３に格納される。
【００４６】
例えば、図７（ｂ１）では、文書要素Ｅ−００１００１の管理情報として、（１）識別情報（ＥＩＤ：エレメントＩＤ）、（２）当該文書要素の要素種（テキスト、テーブル、リスト、画像、リンク（参照情報）など）、（３）当該文書要素の描画サイズ（内容データが確定すると分かる）、（４）次要素（文書データ中で当該文書要素の次に現れる文書要素の管理情報へのポインタ）、（５）内容（当該文書要素の表示内容データへのポインタ）、の５つの項目からなる管理情報を作成する。このうち、要素種は、このテキスト文書要素Ｅ−００１００１を検出した時点で判明しているので、この時点で管理情報に登録される。また、テキストの場合、レイアウト条件（ページサイズやマージン量、フォントの種類やサイズ、字送りなど。ＣＳＳ：Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔｓ等により更に詳細に規定される場合もある）が予め指定されていれば、テキストデータが取得できた時点で描画サイズを求めることができるので、描画サイズの値も登録することができる。
【００４７】
また、この要素Ｅ−００１００１の内容であるテキストデータは、ＨＴＭＬ文書Ｄ−００１内に含まれており、この要素Ｅ−００１００１を認識（例えば終了タグを認識するなど）した段階ですでに得られているので、文書構成情報管理部１４は、この内容データ（テキスト）に対してＢ−００１００１という識別情報（ＢＩＤ：ブロックＩＤ）を付与し、この内容データを識別情報Ｂ−００１００１で検索可能な形でＲＡＭ２０３に格納する（図７の（ｃ１）参照）。そして、この要素Ｅ−００１００１の管理情報の第５項目「内容」には、この内容データへのポインタ（Ｂ−００１００１）が登録される（図７の（ｂ１）の参照）。
【００４８】
なお、要素Ｅ−００１００１の管理情報のうち、「次要素」は、文書データＤ−００１の解析が進まないと判明しないので、空欄にしておく。
【００４９】
このようにして文書データＤ−００１から、先頭の文書要素Ｅ−００１００１が検出されると、文書構成情報管理部１４は、当該文書データＤ−００１の管理情報の第６項目「データ要素」に対し、この先頭要素Ｅ−００１００１へのポインタを登録する（図７の（ａ１）参照）。
【００５０】
以上、文書中の先頭の要素Ｅ−００１００１が検出された時の処理を示した。この後更にＨＴＭＬ文書Ｄ−００１の解析を進めていくと、次に＜ＩＭＧ＞タグによって示される、画像を内容とする文書要素が検出される。すると、文書構成情報管理部１４は、この要素に対しＥ−００１００２という一意的な識別情報を付与し、これに対応する管理情報（図７の（ｂ２）参照）を作成する。また、この時点で、要素Ｅ−００１００１の次要素Ｅ−００１００２が判明したので、要素Ｅ−００１００１の管理情報にこの次要素へのポインタを登録する。
【００５１】
ここで、この要素Ｅ−００１００２の内容は、リンク記述（この例ではＵＲＬ”ｈｔｔｐ：／／ａａａ．ｂｂｂ．ｊｐ／ｉｍａｇｅ．ｊｐｇ”）の形で示されているので、管理情報の「要素種」には、要素内容がリンクであることを示す情報が登録され、このリンクに従ってデータ名やパスが登録される。また「描画サイズ」は、リンク先の情報が取得できるまで分からないので、この時点では「（未確定）」となっている。
【００５２】
このように内容データが、外部のデータへのリンクで示される文書要素が検出されると、前述のようにリンク先データのダウンロードのためのプロセスが開始される（図５のＳ１０７）。このとき文書構成情報管理部１４は、ダウンロード対象のデータに対して一意的な識別情報Ｄ−００２を付与して管理情報を作成し、上記プロセスにより、データがダウンロードできると、そのデータに関する情報を管理情報に登録する（図７の（ａ２）参照）。このように、本実施形態では、プリンタ３０２の外部からダウンロードするデータと、そのＨＴＭＬ文書の記述に含まれる文書要素とを概念上区別し、前者には識別情報ＤＩＤを与えて文書データとして扱い、後者には識別情報ＥＩＤを付与して要素として扱う。したがって、文書要素Ｅ−００１００２のリンクに従ってダウンロードする画像データについても、まず文書データとしての識別情報Ｄ−００２が付与され、管理情報（ａ２）が作成される。ダウンロードが終了するまでは、「サイズ」と「取得時間」は「（未確定）」になっている。
【００５３】
そして、このダウンロードするデータＤ−００２は、画像データであるので、文書構成情報管理部１４は、この画像データに対して一意な識別情報Ｅ−００１００３を付与して文書要素として扱い、管理情報（図７の（ｂ３））を作成する。この要素Ｅ−００１００３は、「要素種」が画像であることはこの時点で分かっているが、描画サイズについては圧縮データの展開等が完了するまでは分からないため、管理情報における「描画サイズ」は「（未確定）」としている。また、「内容」についても、ダウンロードが終わるまで確定しないので、「（未取得）」としている。これらの「描画サイズ」や「内容」は、ダウンロードが終了した段階で、登録される。
【００５４】
ダウンロードが終了すると、ダウンロードしたデータサイズと所用時間が確定するため、これらを識別情報Ｄ−００２の「サイズ」と「取得時間」に登録する。ダウンロードされた画像データの実体はブロックＩＤ（ＢＩＤ）で識別可能な情報として格納される。Ｅ−００１００３の「内容」にはこのブロックＩＤが登録される。また、ダウンロードしたデータの属性情報をもとに画像のサイズを確定し、「描画サイズ」に登録する。
【００５５】
なお、文書要素のリンク記述が、ＨＴＭＬ文書の中に組み込まれたデータ（インライン・イメージなど。以下、インライン・データと呼ぶ）を指している場合も、上記と同様、そのリンク先のデータを起点とする、文書データ、文書要素データ、及びデータ実体、の階層構造の管理情報群で管理を行うことができる。この場合、文書データレベルの管理情報の「データ名」には、例えばリンク記述に示されたそのデータの識別情報を登録すればよい。ただしこの場合、ダウンロードは行う必要がないので、文書データレベルの管理情報を作成しないですますことも可能である。なお、リンク先がＨＴＭＬ文書の外か内かの判断は、基本的には、当該リンク先がＵＲＬの形で記述されている場合は外、ＭＩＭＥ文書やＸＨＴＭＬ−ｐｒｉｎｔ文書で添付データへの参照を示す場合に用いられる「ｃｉｄ：」（コンテントＩＤ）の形で記述されている場合は内、と判断できる。
【００５６】
さて、文書データＤ−００１の解析に戻ると、文書要素Ｅ−００１００２の次に更に＜ＩＭＧ＞タグによって示される文書要素が検出されるので、文書構成情報管理部１４はこの要素を識別情報Ｅ−００１００４（図７の（ｂ４））で管理すると共に、このタグ中のリンク先からダウンロードするデータを識別情報Ｄ−００３で管理する。また、要素Ｅ−００１００２の管理情報には、この次要素Ｅ−００１００４へのポインタを登録する。そして、このデータＤ−００３中の画像データを識別情報Ｅ−００１００５の文書要素として管理し（図７の（ｂ５））、更にこの要素については画像データの実体がこの時点で存在するので、この実体データを識別情報Ｂ−００１００２で管理する（図７の（ｃ２））。
【００５７】
そして、更に文書データＤ−００１の解析を進めると、要素Ｅ−００１００４の次にテキスト要素が検出されるので、この要素を識別情報Ｅ−００１００６で管理し、この管理情報に対し、そのテキストの実体データＢ−００１００ｘへのポインタを登録する（図７の（ｂ６））。
【００５８】
以上、図６（ａ）に例示したＨＴＭＬ文書の解析と、これに従った文書構成情報の構築過程を、具体的な文書構成情報の例である図７を参照して説明した。この図７に示した各文書データ、文書要素の管理情報の集まりが、文書構成情報である。図６（ｂ）は、図６（ａ）の解析に従って作成又は取得される管理情報や実体データ相互の関係を矢印で示したものであり、実線のブロックが文書データ及び文書要素の管理情報や実体データを示し、破線のブロックはＨＴＭＬ文書外へのリンクを示している。
【００５９】
このように、図５に示す解析処理に従って文書構成情報が作成され、解析処理やダウンロード処理の進行に従ってその文書構成情報が更新されていく。本実施形態では、このような解析処理と並行して、主制御部１１及びレイアウト部１５が印刷出力のためのページレイアウト処理を実行する。この処理を、図８を参照して説明する。
【００６０】
図８はレイアウト部１５におけるレイアウト処理の一例を示すフローチャートである。本処理は、図５のＳ１０８のように文書解析処理の途中に実行することもできるが、取得処理中の文書要素の表示内容データの一部を取得した際に呼出して実行することもできる。また、定期的に本処理を呼び出す構成も可能である。
【００６１】
図８の処理は、印刷対象の文書に含まれるすべての文書要素のレイアウトを終了せずに中断することもある。中断時には処理経過に関する情報が保持され、本処理が再度呼出された際、保持された情報をもとにレイアウトを継続する。
【００６２】
この処理が呼び出されると、まずレイアウト部１５は、処理の途中で中断しているページ情報ｐがあるか調べる（Ｓ２０１）。ページ情報ｐは、現在レイアウト対象とするページに対し、レイアウトされる文書要素群を示す情報である。Ｓ２０１の判定で、処理途中のページがない場合は新規のページ情報を作成して、これをｐとする（Ｓ２０２）。
【００６３】
次に文書構成情報から、まだレイアウトされていない文書要素のうち最初に現れるものを検索し、これをｅとする（Ｓ２０３）。ここで、文書要素が他の文書により構成される場合（例えば図７の（ｂ２））もあるが、その場合はその文書（例えば図７の（ａ２））を構成する要素が再帰的に検索される。次に、文書要素ｅの表示内容データが取得済であるかどうかを文書構成情報から調べる（Ｓ２０４）。例えば、図７に示した文書要素の管理情報において「内容」の欄を調べ、その欄の値が「未取得」であれば当該文書要素の表示内容データは未取得である。また、「内容」欄にポインタが示されている場合は、そのポインタをたどってＢＩＤで示される表示内容データに行き着けば、表示内容データは取得済みと判定される。ポインタの先のデータが更に「内容」欄にポインタを含む場合は、再帰的にポインタをたどっていき、判定を行う。
【００６４】
この判定の結果、当該文書要素の表示内容データが未取得であればＳ２１２に進む。これに対し、当該文書要素の表示内容データが取得済の場合は、当該要素の表示内容データの表示サイズを算出し（Ｓ２０５）、この表示サイズがレイアウト中の現ページｐの空き領域（すなわち当該文書要素に先行する取得済の各文書要素をレイアウトした後に、残った領域）にレイアウト可能か調べる（Ｓ２０６）。この判定は、算出した表示サイズが空き領域に収まるか否かを調べることにより行えばよい。
【００６５】
この結果レイアウト可能であれば、当該文書要素を現ページｐにレイアウトする（Ｓ２１１）。
【００６６】
Ｓ２０６においてレイアウト可能でないと判定した場合、文書要素ｅを分割してレイアウトすることが可能かどうかを判定する（Ｓ２０７）。分割してレイアウト可能と判定された場合、空き領域に応じて文書要素ｅを分割して現ページｐにレイアウトし、その結果その文書要素ｅの中で残った部分を新たに文書要素ｅとする（Ｓ２０８）。これにより、現ページｐは空き領域へのレイアウトが終了したためレイアウトが確定する。確定したページ情報は印刷のための処理に直接渡される（あるいは後の処理のために保持される）。そして次ページに相当する新たなページ情報を作成し、これを現ページｐとして（Ｓ２０９）、Ｓ２０６に戻って分割された残りの要素ｅに対する処理を継続する。
【００６７】
Ｓ２０７において、文書要素ｅの分割が不可能な場合は、現ページｐのレイアウトを確定し、ページ情報は印刷のための処理に直接渡される（あるいは後の処理のために保持される）。そして次ページに相当する新たなページ情報を作成し、これを現ページｐとして（Ｓ２１０）、文書要素ｅをレイアウトする（Ｓ２１１）。
【００６８】
Ｓ２０７における文書要素ｅが分割可能かどうかの判断は、例えば文書要素の種別により行われる。例えばテキスト要素の場合は分割可能であり、画像要素の場合は分割不可能であると判断するなどである。このような判断ルールを本装置に予め登録しておけばよい。また、本処理においては領域の分割が可能かどうかを判断したが、領域の縮小処理等、他の処理についての可能性の判断を追加してもよい。例えば文書要素の縮小処理が可能と判断した場合は、その要素の表示内容データをページの空き領域に収まるように縮小し、該空き領域にレイアウトすることができる。この判断も、分割可能性の判断と同様、予め判断ルールを登録しておくことにより自動化が可能である。例えば、画像要素の場合は縮小可能、テキスト要素でありかつフォントサイズが指定されている場合は縮小不可能など、要素の種別などに基づく判断ルールが考えられる。
【００６９】
Ｓ２０４の判定において、文書要素ｅの表示内容データの取得が完了していなかった場合には、その表示内容データの取得完了まで現ページｐのレイアウト処理を待つかどうかを判定する（Ｓ２１２）。この判定処理については後に詳しく説明する。
【００７０】
Ｓ２１２の判定で、取得完了まで待つと判定した場合は、本処理を終了（又は中断）する。取得完了を待たないと判定した場合は、この判定の結果に応じて現ページｐのレイアウトを確定し、このページ情報ｐを印刷のための処理に直接渡す（あるいは後の処理のために保持する）。そして次ページに相当する新たなページ情報を作成し、これを現ページｐとして（Ｓ２１３）、本処理を終了（中断）する。
【００７１】
なお、Ｓ２０４では文書要素ｅの表示内容データの取得が完了しているかどうかを判断基準としているが、取得が完了していなくても表示サイズの算出が可能な場合もある（例えば画像要素を示すタグ中に、当該画像の表示サイズが明記されている場合）。従ってＳ２０４では、このような場合を考慮して、表示サイズが算出可能かどうかを判断基準としてもよい。ただし、この場合はページのレイアウトが確定しても、実際に文書要素の表示内容データの取得が完了するまで印刷処理は保留される。
【００７２】
次に、Ｓ２１２の処理の詳細な例を、図９及び図１０を参照して説明する。図９は未取得の文書要素を現在処理中のページにレイアウトするかどうかを判定する処理の一例を示すフローチャート、図１０はレイアウト可能な空き領域の一例を示す図である。
【００７３】
図１０（Ａ）は空き領域を持つ処理途中のページ（Ａ１１）を表わしている。このページの周縁部には斜線部で示すページマージン（空白域）が設定されている。ページ（Ａ１１）からこのマージンを除いた領域が、このページ上のレイアウト可能な領域（Ａ１２）である。図示例では、このレイアウト可能領域（Ａ１２）には、表示内容データ取得済のテキスト要素の領域（Ａ１３）および画像要素の領域（Ａ１４）がＨＴＭＬ文書の記述順に従って既にレイアウトされている。
【００７４】
図９の処理においては、まず現ページにおけるレイアウト可能な空き領域を判定する（Ｓ３０１）。ここでは例えば、図１０（Ｂ）に示すように、レイアウト済みの最後の文書要素である画像要素（Ａ１４）の下端の水平線から当該ページの表示可能領域の末尾までの間の矩形の網掛け域（Ｂ１１）が空き領域と判定される。なお、図１０の例では、画像要素（Ａ１４）の右側が大きく空いているので、（Ｃ）に示すように画像要素（Ａ１４）の右側の矩形の網掛け域（Ｃ１１）を空き領域と判定するようにしてもよい。また網掛け域（Ｂ１１）及び（Ｃ１１）の両方を同時に空き領域と判定するようにしてもよい。この場合、後で、注目の文書要素が空き領域に収まるかを判定する際、それら両方の網掛け域についてそれぞれ判定を行い、「収まる」と判定された方の網掛け域をその文書要素のレイアウト場所とし、両方共に収まると判定された場合は、別途定めた判定基準に基づきどちらの網掛け域をレイアウト場所に採用するかを判定すればよい。
【００７５】
空き領域が判定されると（ここでは網掛け域（Ｂ１１）が空き領域と判定されたとする）、次にその空き領域のサイズを算出し、この値が所定サイズ以下である場合（Ｓ３０２の判定結果がＹ）、または空き領域の縦横比が所定外である場合（Ｓ３０３の判定結果がＹ）は、当該文書要素ｅを現ページｐにレイアウトしない（すなわち現ページｐから除外する）と判定する（Ｓ３０７）。例えば、Ｓ３０２においては、ページのレイアウト可能領域（Ａ１２）の６分の１を、判定基準の「所定サイズ」とするなどである。また、Ｓ３０３においては、例えば縦横比が１／５から５／１の範囲を、判定基準の「所定範囲」とするなどである。これらの判定により、文書要素の配置に適さない狭い領域（縦に狭い、又は横に狭い領域）しか空いていない場合、文書要素の表示サイズ推定（Ｓ３０４）などの処理をスキップすることができる。
【００７６】
Ｓ３０２、Ｓ３０３で除外の判定をされなかった場合、次に文書要素ｅの表示サイズを推定する（Ｓ３０４。詳細な処理内容については後述）。次に、この表示サイズ推定値が空き領域（Ｂ１１）のサイズを超えるか否かを判定する（Ｓ３０５）。ここで、超えると判定した場合は、当該要素ｅを現ページｐにレイアウトしない（現ページｐから除外する）と判定する（Ｓ３０７）。Ｓ３０５で表示サイズ推定値が空き領域のサイズを超えないと判定した場合は当該要素ｅを現ページｐにレイアウトする（現ページｐから除外しない）と判定する（Ｓ３０６）。
【００７７】
以上の処理において、Ｓ３０４の表示サイズ推定方法としては、例えば、文書要素ｅの属性をもとに一律に決定する方法がある。例えば属性として当該文書要素ｅのデータ種別に着目した場合、文書要素ｅがテキストならば表示サイズはＸ、画像ならば表示サイズはＹなどと、該要素ｅのデータ種別に対応して予め登録しておいたサイズ値を推定値とする。
【００７８】
また、文書要素ｅの表示内容データのデータサイズが、そのデータの取得開始時のプロトコルなどにより分かる場合は、そのデータサイズを表示サイズに換算し、それを表示サイズの推定値としてもよい。データサイズから表示サイズへの換算係数は、当該文書要素ｅのデータ種別ごとに定めればよい。
【００７９】
また別の方法として、データの取得状況を考慮して動的に決定する方法もある。図１１を参照してこの方法の例を説明する。
【００８０】
図１１は、表示領域推定部１７において、文書要素ｅの表示内容データの取得処理に要した時間をもとに表示サイズを動的に推定する処理の一例を示すフローチャートである。この処理では、まず、該文書要素ｅの表示内容データの取得処理を開始してからの経過時間ｔを取得する（Ｓ４０１）。この経過時間の情報は、データ取得部１２が取得中の文書要素ごとに管理している。
【００８１】
次に、現在のデータ通信速度ｓを取得する（Ｓ４０２）。この通信速度ｓは、例えば、現在その表示内容データの取得のためのデータ通信に使用している通信デバイス（あるいは通信回線）の種別から決定することができる。例えば、使用している通信デバイスがアナログモデムならば５６ｋｂｐｓ、ＡＤＳＬ（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）モデムならば８Ｍｂｐｓと通信速度を決定するなどである。また、データ取得部１２が、データ取得状態をモニタして、通信速度ｓの実測値を算出するようにしてもよい。この場合、直前のいくつかの文書要素の表示内容データのデータサイズと、その取得に要した時間とから、現在の通信速度ｓを推定することもできる。
【００８２】
そして、当該文書要素ｅの表示サイズ算出係数ｒを取得する（Ｓ４０３）。算出係数ｒは、データサイズを表示サイズに変換するための係数であり、例えばデータ種別ごとに定めることができる。この場合、例えば、予めデータ種別ごとに算出係数ｒを定めて、図１２に示すようなテーブルを作成し本装置に登録しておき、当該文書要素ｅに対応する係数ｒをこのテーブルから取得すればよい。例えば、ＪＰＥＧ画像と通常のビットマップ画像とを比較すると、同じデータサイズを取得してもデータが圧縮されているＪＰＥＧ画像の方が表示サイズが大きくなる。算出係数ｒは、このような傾向を考慮して定めればよい。
【００８３】
そして、このようにして取得した値をもとに文書要素ｅの推定表示サイズｗを例えば以下の式（１）により算出する（Ｓ４０４）。
ｗ＝ｒ＊ｓ＊ｔ            ・・・  式（１）
【００８４】
この図１１の処理は、文書要素ｅのデータの取得を開始する際、あるいはそのデータの一部分を取得するたびに、図８のＳ２１２、図９のＳ３０４を経由して呼出される。この処理で算出した推定値は図９のＳ３０５の判定に使用される。データを取得する（経過時間が増える）ごとに推定サイズが増加していき、図９のＳ３０５において空き領域を超えると判定された場合は、取得完了前であっても、現在処理中のページのレイアウト処理を先行して完了させることができる。
【００８５】
すなわち図１１の領域サイズ推定処理では、注目している文書要素ｅの表示内容データのうち、現在時点までに取得済みのデータ量に基づき、現在時点に取得できた部分の表示サイズを推定している。したがって、図９の手順のＳ３０５では、現在時点までに取得できた部分がページの空き領域に収まるかを判断することになる。現在時点までに取得できた部分が既に空き領域より大きい以上、完全な文書要素ｅの表示内容データは当然その空き領域に収まらないという判断が成り立つ。
【００８６】
これに対し、Ｓ３０５で推定表示サイズが空き領域以下であると判定されたとしても、完全な文書要素ｅの表示内容データが空き領域に収まる保証はない。したがって、Ｓ３０６における「要素ｅを現ページｐから除外しない」という判断は、暫定的なものである。文書要素ｅが現ページにレイアウトできるかどうかの最終判断は、当然ながらその要素ｅの完全な表示内容データのサイズが分かって初めて決まる。本実施形態の処理は、文書要素ｅが現ページｐにレイアウト「できる」ことではなく、「できない」こと（あるいは「できない」蓋然性が高いこと）を、できるだけ早い段階で検知するところに意義がある。文書要素ｅが現ページｐにレイアウトできないことが、従来より早い段階で判明すれば、その要素ｅの取得完了を待つまでもなく、その段階で現ページｐのレイアウトを確定して印刷を開始することができる。
【００８７】
以上の説明では、本発明をプリンタに適用した場合を例にとったが、以上の説明から明らかなように、本発明は、プリントサーバに適用することもできるし、パーソナルコンピュータ等にインストールされるプリンタドライバに適用することもできる。この場合、プリンタドライバは、現ページｐのレイアウトが確定した段階で、現ページｐの印刷内容を指示する印刷データを作成し、この印刷データをプリンタに対して送信して印刷を指示すればよい。
【００８８】
また、以上の説明では、ＸＨＴＭＬ‐ｐｒｉｎｔ文書を処理する場合を例にとったが、明らかなように、本発明は、ＨＴＭＬやＸＭＬなどを含む、文書要素の表示内容データを参照により記述可能な記述言語で記述された文書一般に適用可能である。
【００８９】
【発明の効果】
以上のようにこの発明によれば、文書要素が現在レイアウト処理中のページにレイアウトできないと結果的に判断されてしまう可能性が高いか否かを、その文書要素の表示内容データの取得が完了する前に判定することができる。そして、文書要素が現在レイアウト処理中のページにレイアウトできない可能性が高いと判断した場合、その前の文書要素まででそのページのレイアウトを確定することで、問題の文書要素の表示内容データの取得完了を待たずにそのページの印刷出力が可能となり、印刷処理の高速化を図ることができる。
【図面の簡単な説明】
【図１】ＨＴＭＬ文書印刷の一例を示す図である。
【図２】プリンタのハードウエア構成の一例を示す図である。
【図３】プリンタが適用されるシステムの構成例を示す図である。
【図４】プリンタの処理機構の構成例を示す図である。
【図５】文書解析部及び文書構成情報管理部の処理手順の一例を示すフローチャートである。
【図６】文書構成情報の一例を示す図である。
【図７】構成管理情報の一例を示す図である。
【図８】レイアウト処理の一例を示すフローチャートである。
【図９】未取得要素の除外判定処理の一例を示すフローチャートである。
【図１０】レイアウト可能な空き領域の一例を示す図である。
【図１１】取得開始からの経過時間にもとづき表示サイズを推定する処理の一例を示すフローチャートである。
【図１２】データサイズから表示サイズを推定するための係数テーブルの一例を示す図である。
【符号の説明】
１０  文書データ処理機構、１１  主制御部、１２  データ取得部、１３  文書解析部、１４  文書構成情報管理部、１５  レイアウト部、１６  決定部、１７  表示領域推定部、２０  ＬＡＮ。
【図１】
2004287865.tif 000003
【図２】
2004287865.tif 000004
【図３】
2004287865.tif 000005
【図４】
2004287865.tif 000006
【図５】
2004287865.tif 000007
【図６】
2004287865.tif 000008
【図７】
2004287865.tif 000009
【図８】
2004287865.tif 000010
【図９】
2004287865.tif 000011
【図１０】
2004287865.tif 000012
【図１１】
2004287865.tif 000013
【図１２】
2004287865.tif 000014