(57)【要約】【課題】  改ページ禁止の指定がなされたオブジェクトやそのグループに改ページが必要なときでも迅速にレイアウトする。【解決手段】  改ページの必要性が判定され改ページする際（Ｓ４０６）、改ページの禁止が指定されているときには（Ｓ４０８）、それまでに解析した内容をメモリに一時的に記憶し（Ｓ４１０）、改ページして新たなページボックスを作成した後に記憶した内容を改ページ後に解析されたものとして反映し（Ｓ４１４，Ｓ４１６）、その後の解析を再開する（Ｓ４１８，Ｓ４２０）。この結果、改ページされた後に改めて解析し直すものに比して、迅速にレイアウトを作成することができる。【選択図】        図７
2005246796.tif 000002
【特許請求の範囲】
【請求項１】
印刷可能なオブジェクトを階層的に記述した記述文書を解析して紙などの媒体に印刷する印刷装置であって、
記述文書におけるオブジェクトの階層的な木構造と該オブジェクトの書式とを解析する構造書式解析手段と、
前記解析された木構造と書式とに基づいてオブジェクトを順次解析して配置する手法をもってレイアウトすることにより前記媒体へのページ毎のレイアウトを作成する際に、少なくとも一つのオブジェクトを含み改ページ禁止の指定がなされた改ページ禁止グループに属するオブジェクトについては、改ページが必要になるまでは該改ページ禁止グループに属するオブジェクトを順次解析して配置し、改ページが必要になったときには該改ページ禁止グループに属するオブジェクトのうち該改ページが必要になるまでに行なわれたオブジェクトの解析および配置を該改ページ後に行なわれたオブジェクトの解析および配置として適用すると共に該改ページが必要になったときに解析していたオブジェクト以降のオブジェクトを順次解析して配置することにより、ページ毎のレイアウトを作成するレイアウト作成手段と、
前記作成されたページ毎のレイアウトに基づいてオブジェクトをレイアウトして前記媒体に印刷する印刷実行手段と、
を備える印刷装置。
【請求項２】
前記レイアウト作成手段は、前記改ページ禁止グループに属するオブジェクトを配置している途中で改ページが必要になったときには該改ページ禁止グループに属するオブジェクトのうち改ページ前に解析して配置したオブジェクトについては該改ページの前ページのレイアウトから削除する手段である請求項１記載の印刷装置。
【請求項３】
印刷可能なオブジェクトを階層的に記述した記述文書を解析して紙などの媒体に印刷する印刷装置であって、
記述文書におけるオブジェクトの階層的な木構造と該オブジェクトの書式とを解析する構造書式解析手段と、
前記解析された木構造と書式とに基づいてオブジェクトを該オブジェクトの内容を順次解析して配置する手法をもってレイアウトすることにより前記媒体へのページ毎のレイアウトを作成する際に、前記オブジェクトのうち改ページ禁止の指定がなされた改ページ禁止オブジェクトについては、改ページが必要になるまでは該改ページ禁止オブジェクトの内容を順次解析して配置し、改ページが必要になったときには該改ページ禁止オブジェクトの内容のうち該改ページが必要になるまでに行なわれた内容の解析および配置を該改ページ後に行なわれた内容の解析および配置として適用すると共に該改ページが必要になったときに解析していた内容以降の内容を順次解析して配置することにより、ページ毎のレイアウトを作成するレイアウト作成手段と、
前記作成されたページ毎のレイアウトに基づいてオブジェクトをレイアウトして前記媒体に印刷する印刷実行手段と、
を備える印刷装置。
【請求項４】
前記レイアウト作成手段は、前記改ページ禁止オブジェクトの内容を配置している途中で改ページが必要になったときには該改ページ禁止オブジェクトの内容のうち改ページ前に解析して配置した内容については該改ページの前ページのレイアウトから削除する手段である請求項２記載の印刷装置。
【請求項５】
前記レイアウト作成手段は、レイアウトの作成が完了したページ毎に印刷実行指示を前記印刷実行手段に行なう手段である請求項１ないし４いずれか記載の印刷装置。
【請求項６】
前記レイアウト作成手段は、１ページ分のレイアウトの作成が完了した以降に印刷実行指示を前記印刷実行手段に行なう手段である請求項１ないし５いずれか記載の印刷装置。
【請求項７】
前記記述文書は、マークアップ言語により記述されてなる請求項１ないし６いずれか記載の印刷装置。
【請求項８】
前記マークアップ言語は、ＸＨＴＭＬ言語である請求項７記載の印刷装置。
【請求項９】
前記オブジェクトは、テキスト，画像，表の少なくとも一つを含む請求項１ないし８いずれか記載の印刷装置。
【請求項１０】
カラーインクジェットプリンタである請求項１ないし９いずれか記載の印刷装置。
【請求項１１】
印刷可能なオブジェクトを階層的に記述した記述文書を解析して紙などの媒体に印刷する印刷装置における印刷方法であって、
（ａ）記述文書におけるオブジェクトの階層的な木構造と該オブジェクトの書式とを解析し、
（ｂ）前記解析した木構造と書式とに基づいてオブジェクトを順次解析して配置する手法をもってレイアウトすることにより前記媒体へのページ毎のレイアウトを作成する際に、少なくとも一つのオブジェクトを含み改ページ禁止の指定がなされた改ページ禁止グループに属するオブジェクトについては、改ページが必要になるまでは該改ページ禁止グループに属するオブジェクトを順次解析して配置し、改ページが必要になったときには該改ページ禁止グループに属するオブジェクトのうち該改ページが必要になるまでに行なわれたオブジェクトの解析および配置を該改ページ後に行なわれたオブジェクトの解析および配置として適用すると共に該改ページが必要になったときに解析していたオブジェクト以降のオブジェクトを順次解析して配置することにより、ページ毎のレイアウトを作成し、
（ｃ）前記作成したページ毎のレイアウトに基づいてオブジェクトをレイアウトして前記媒体に印刷する
印刷方法。
【請求項１２】
印刷可能なオブジェクトを階層的に記述した記述文書を解析して紙などの媒体に印刷する印刷装置における印刷方法であって、
（ａ）記述文書におけるオブジェクトの階層的な木構造と該オブジェクトの書式とを解析し、
（ｂ）前記解析した木構造と書式とに基づいてオブジェクトを該オブジェクトの内容を順次解析して配置する手法をもってレイアウトすることにより前記媒体へのページ毎のレイアウトを作成する際に、前記オブジェクトのうち改ページ禁止の指定がなされた改ページ禁止オブジェクトについては、改ページが必要になるまでは該改ページ禁止オブジェクトの内容を順次解析して配置し、改ページが必要になったときには該改ページ禁止オブジェクトの内容のうち該改ページが必要になるまでに行なわれた内容の解析および配置を該改ページ後に行なわれた内容の解析および配置として適用すると共に該改ページが必要になったときに解析していた内容以降の内容を順次解析して配置することにより、ページ毎のレイアウトを作成し、
（ｃ）前記作成したページ毎のレイアウトに基づいてオブジェクトをレイアウトして前記媒体に印刷する
印刷方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置およびその印刷方法に関し、詳しくは、印刷可能なオブジェクトを階層的に記述した記述文書を解析して紙などの媒体に印刷する印刷装置およびその印刷方法に関する。
【背景技術】
【０００２】
従来、この種の印刷装置としては、ＳＶＧ文書を解析して印刷するプリンタとＨＴＭＬ文書をＳＶＧ文書に変換するフォーマッティングサーバとにより構成されたプリンタシステムが提案されている（例えば、特許文献１参照）。このシステムでは、ＨＴＭＬ文書を受け付けると、フォーマッティングサーバにより受け付けたＨＴＭＬ文書をＳＶＧ文書に変換し、この変換したＳＶＧ文書をプリンタで解析して印刷する。
【特許文献１】特開２００２−９１７２６号公報（図１，第５頁）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上述のプリンタシステムでは、プリンタとフォーマッティングサーバとから構成されていることから大型化し、家庭のリビングなどの限られたスペースに設置する場合には不向きである。また、ＨＴＭＬ文書を受け付けたときには、フォーマッティングサーバによりＳＶＧ文書に変換すると共にこの変換したＳＶＧ文書を解析して印刷するから、変換や解析に時間を要し、迅速な印刷を行なうことができない。ＨＴＭＬ文書に記述されたオブジェクトによっては印刷時に途中で改ページすることにより見づらくなるなどの不都合を生じるものもある。
【０００４】
本発明の印刷装置およびその印刷方法は、ＨＴＭＬ文書やこれを拡張したＸＨＴＭＬ文書などのような記述文書をより適切に解析して印刷することを目的の一つとする。また、本発明の印刷装置およびその印刷方法は、ＨＴＭＬ文書やこれを拡張したＸＨＴＭＬ文書などのような記述文書を解析して印刷する際に記述文書に記述されたオブジェクトのうち改ページ禁止の指定がなされたオブジェクトやオブジェクトのグループについては途中で改ページされないように印刷することを目的の一つとする。さらに、本発明の印刷装置およびその印刷方法は、改ページ禁止の指定がなされたオブジェクトやオブジェクトのグループを改ページなしにレイアウトする際であっても迅速にレイアウトすることを目的の一つとする。
【課題を解決するための手段】
【０００５】
本発明の印刷装置およびその印刷方法は、上述の目的の少なくとも一部を達成するために以下の手段を採った。
【０００６】
本発明の第１の印刷装置は、
印刷可能なオブジェクトを階層的に記述した記述文書を解析して紙などの媒体に印刷する印刷装置であって、
記述文書におけるオブジェクトの階層的な木構造と該オブジェクトの書式とを解析する構造書式解析手段と、
前記解析された木構造と書式とに基づいてオブジェクトを順次解析して配置する手法をもってレイアウトすることにより前記媒体へのページ毎のレイアウトを作成する際に、少なくとも一つのオブジェクトを含み改ページ禁止の指定がなされた改ページ禁止グループに属するオブジェクトについては、改ページが必要になるまでは該改ページ禁止グループに属するオブジェクトを順次解析して配置し、改ページが必要になったときには該改ページ禁止グループに属するオブジェクトのうち該改ページが必要になるまでに行なわれたオブジェクトの解析および配置を該改ページ後に行なわれたオブジェクトの解析および配置として適用すると共に該改ページが必要になったときに解析していたオブジェクト以降のオブジェクトを順次解析して配置することにより、ページ毎のレイアウトを作成するレイアウト作成手段と、
前記作成されたページ毎のレイアウトに基づいてオブジェクトをレイアウトして前記媒体に印刷する印刷実行手段と、
を備えることを要旨とする。
【０００７】
この本発明の第１の印刷装置では、記述文書におけるオブジェクトの階層的な木構造とオブジェクトの書式とを解析し、この解析した木構造と書式とに基づいてオブジェクトを順次解析して配置する手法をもってレイアウトすることにより紙などの媒体へのページ毎のレイアウトを作成し、作成したページ毎のレイアウトに基づいてオブジェクトをレイアウトして紙などの媒体に印刷する。したがって、記述文書をより適切に解析して印刷することができる。しかも、少なくとも一つのオブジェクトを含み改ページ禁止の指定がなされた改ページ禁止グループに属するオブジェクトについては、改ページが必要になるまでは改ページ禁止グループに属するオブジェクトを順次解析して配置し、改ページが必要になったときには改ページ禁止グループに属するオブジェクトのうち改ページが必要になるまでに行なわれたオブジェクトの解析および配置を改ページ後に行なわれたオブジェクトの解析および配置として適用すると共に改ページが必要になったときに解析していたオブジェクト以降のオブジェクトを順次解析して配置するから、改ページ禁止グループに属するオブジェクトをグループ内で改ページを行なうことなくレイアウトすることができる。また、改ページが必要になるまでに行なわれたオブジェクトの解析および配置を改ページ後に行なわれたオブジェクトの解析および配置として適用するから、改ページ禁止グループに属するオブジェクトのレイアウトについても迅速に行なうことができる。
【０００８】
こうした本発明の第１の印刷装置において、前記レイアウト作成手段は、前記改ページ禁止グループに属するオブジェクトを配置している途中で改ページが必要になったときには該改ページ禁止グループに属するオブジェクトのうち改ページ前に解析して配置したオブジェクトについては該改ページの前ページのレイアウトから削除する手段であるものとすることもできる。こうすれば、改ページの前後のページに同一内容がレイアウトされるのを抑止することができる。
【０００９】
本発明の第２の印刷装置は、
印刷可能なオブジェクトを階層的に記述した記述文書を解析して紙などの媒体に印刷する印刷装置であって、
記述文書におけるオブジェクトの階層的な木構造と該オブジェクトの書式とを解析する構造書式解析手段と、
前記解析された木構造と書式とに基づいてオブジェクトを該オブジェクトの内容を順次解析して配置する手法をもってレイアウトすることにより前記媒体へのページ毎のレイアウトを作成する際に、前記オブジェクトのうち改ページ禁止の指定がなされた改ページ禁止オブジェクトについては、改ページが必要になるまでは該改ページ禁止オブジェクトの内容を順次解析して配置し、改ページが必要になったときには該改ページ禁止オブジェクトの内容のうち該改ページが必要になるまでに行なわれた内容の解析および配置を該改ページ後に行なわれた内容の解析および配置として適用すると共に該改ページが必要になったときに解析していた内容以降の内容を順次解析して配置することにより、ページ毎のレイアウトを作成するレイアウト作成手段と、
前記作成されたページ毎のレイアウトに基づいてオブジェクトをレイアウトして前記媒体に印刷する印刷実行手段と、
を備えることを要旨とする。
【００１０】
この本発明の第２の印刷装置では、記述文書におけるオブジェクトの階層的な木構造とオブジェクトの書式とを解析し、この解析した木構造と書式とに基づいてオブジェクトをオブジェクトの内容を順次解析して配置する手法をもってレイアウトすることにより紙などの媒体へのページ毎のレイアウトを作成し、作成したページ毎のレイアウトに基づいてオブジェクトをレイアウトして紙などの媒体に印刷する。したがって、記述文書をより適切に解析して印刷することができる。しかも、改ページ禁止の指定がなされた改ページ禁止オブジェクトについては、改ページが必要になるまでは改ページ禁止オブジェクトの内容を順次解析して配置し、改ページが必要になったときには改ページ禁止オブジェクトの内容のうち改ページが必要になるまでに行なわれた内容の解析および配置を改ページ後に行なわれた内容の解析および配置として適用すると共に改ページが必要になったときに解析していた内容以降の内容を順次解析して配置するから、改ページ禁止オブジェクトの途中で改ページを行なうことなくレイアウトすることができる。また、改ページが必要になるまでに行なわれた内容の解析および配置を改ページ後に行なわれた内容の解析および配置として適用するから、改ページ禁止オブジェクトのレイアウトについても迅速に行なうことができる。
【００１１】
こうした本発明の第２の印刷装置において、前記レイアウト作成手段は、前記改ページ禁止オブジェクトの内容を配置している途中で改ページが必要になったときには該改ページ禁止オブジェクトの内容のうち改ページ前に解析して配置した内容については該改ページの前ページのレイアウトから削除する手段であるものとすることもできる。こうすれば、改ページの前後のページに同一内容がレイアウトされるのを抑止することができる。
【００１２】
これら本発明の第１または第２の印刷装置において、前記レイアウト作成手段はレイアウトの作成が完了したページ毎に印刷実行指示を前記印刷実行手段に行なう手段であるものとすることもできるし、前記レイアウト作成手段は１ページ分のレイアウトの作成が完了した以降に印刷実行指示を前記印刷実行手段に行なう手段であるものとすることもできる。
【００１３】
また、本発明の第１または第２の印刷装置において、前記記述文書は、マークアップ言語により記述されてなるものとすることもできる。この場合、前記マークアップ言語はＸＨＴＭＬ言語であるものとすることもできる。
【００１４】
さらに、本発明の第１または第２の本発明の印刷装置において、前記オブジェクトは、テキスト，画像，表の少なくとも一つを含むものとすることもできるし、印刷装置はカラーインクジェットプリンタであるものとすることもできる。
【００１５】
本発明の第１の印刷方法は、
印刷可能なオブジェクトを階層的に記述した記述文書を解析して紙などの媒体に印刷する印刷装置における印刷方法であって、
（ａ）記述文書におけるオブジェクトの階層的な木構造と該オブジェクトの書式とを解析し、
（ｂ）前記解析した木構造と書式とに基づいてオブジェクトを順次解析して配置する手法をもってレイアウトすることにより前記媒体へのページ毎のレイアウトを作成する際に、少なくとも一つのオブジェクトを含み改ページ禁止の指定がなされた改ページ禁止グループに属するオブジェクトについては、改ページが必要になるまでは該改ページ禁止グループに属するオブジェクトを順次解析して配置し、改ページが必要になったときには該改ページ禁止グループに属するオブジェクトのうち該改ページが必要になるまでに行なわれたオブジェクトの解析および配置を該改ページ後に行なわれたオブジェクトの解析および配置として適用すると共に該改ページが必要になったときに解析していたオブジェクト以降のオブジェクトを順次解析して配置することにより、ページ毎のレイアウトを作成し、
（ｃ）前記作成したページ毎のレイアウトに基づいてオブジェクトをレイアウトして前記媒体に印刷する
ことを要旨とする。
【００１６】
この本発明の第１の印刷方法では、記述文書におけるオブジェクトの階層的な木構造とオブジェクトの書式とを解析し、この解析した木構造と書式とに基づいてオブジェクトを順次解析して配置する手法をもってレイアウトすることにより紙などの媒体へのページ毎のレイアウトを作成し、作成したページ毎のレイアウトに基づいてオブジェクトをレイアウトして紙などの媒体に印刷する。したがって、記述文書をより適切に解析して印刷することができる。しかも、少なくとも一つのオブジェクトを含み改ページ禁止の指定がなされた改ページ禁止グループに属するオブジェクトについては、改ページが必要になるまでは改ページ禁止グループに属するオブジェクトを順次解析して配置し、改ページが必要になったときには改ページ禁止グループに属するオブジェクトのうち改ページが必要になるまでに行なわれたオブジェクトの解析および配置を改ページ後に行なわれたオブジェクトの解析および配置として適用すると共に改ページが必要になったときに解析していたオブジェクト以降のオブジェクトを順次解析して配置するから、改ページ禁止グループに属するオブジェクトをグループ内で改ページを行なうことなくレイアウトすることができる。また、改ページが必要になるまでに行なわれたオブジェクトの解析および配置を改ページ後に行なわれたオブジェクトの解析および配置として適用するから、改ページ禁止グループに属するオブジェクトのレイアウトについても迅速に行なうことができる。
【００１７】
本発明の第２の印刷方法は、
印刷可能なオブジェクトを階層的に記述した記述文書を解析して紙などの媒体に印刷する印刷装置における印刷方法であって、
（ａ）記述文書におけるオブジェクトの階層的な木構造と該オブジェクトの書式とを解析し、
（ｂ）前記解析した木構造と書式とに基づいてオブジェクトを該オブジェクトの内容を順次解析して配置する手法をもってレイアウトすることにより前記媒体へのページ毎のレイアウトを作成する際に、前記オブジェクトのうち改ページ禁止の指定がなされた改ページ禁止オブジェクトについては、改ページが必要になるまでは該改ページ禁止オブジェクトの内容を順次解析して配置し、改ページが必要になったときには該改ページ禁止オブジェクトの内容のうち該改ページが必要になるまでに行なわれた内容の解析および配置を該改ページ後に行なわれた内容の解析および配置として適用すると共に該改ページが必要になったときに解析していた内容以降の内容を順次解析して配置することにより、ページ毎のレイアウトを作成し、
（ｃ）前記作成したページ毎のレイアウトに基づいてオブジェクトをレイアウトして前記媒体に印刷する
ことを要旨とする。
【００１８】
この本発明の第２の印刷方法では、記述文書におけるオブジェクトの階層的な木構造とオブジェクトの書式とを解析し、この解析した木構造と書式とに基づいてオブジェクトをオブジェクトの内容を順次解析して配置する手法をもってレイアウトすることにより紙などの媒体へのページ毎のレイアウトを作成し、作成したページ毎のレイアウトに基づいてオブジェクトをレイアウトして紙などの媒体に印刷する。したがって、記述文書をより適切に解析して印刷することができる。しかも、改ページ禁止の指定がなされた改ページ禁止オブジェクトについては、改ページが必要になるまでは改ページ禁止オブジェクトの内容を順次解析して配置し、改ページが必要になったときには改ページ禁止オブジェクトの内容のうち改ページが必要になるまでに行なわれた内容の解析および配置を改ページ後に行なわれた内容の解析および配置として適用すると共に改ページが必要になったときに解析していた内容以降の内容を順次解析して配置するから、改ページ禁止オブジェクトの途中で改ページを行なうことなくレイアウトすることができる。また、改ページが必要になるまでに行なわれた内容の解析および配置を改ページ後に行なわれた内容の解析および配置として適用するから、改ページ禁止オブジェクトのレイアウトについても迅速に行なうことができる。
【発明を実施するための最良の形態】
【００１９】
次に、本発明を実施するための最良の形態を実施例を用いて説明する。
【実施例】
【００２０】
図１は、本発明の一実施例としてのカラーインクジェットプリンタ２０の構成の概略を示す構成図である。実施例のカラーインクジェットプリンタ２０は、図示するように、コンピュータ１０やデジタルテレビ１２，デジタルカメラ１４などと接続してデジタル画像（以下、画像という）の入力を司る入力インターフェース２２と、入力インタフェース２２に入力される画像の形式に基づいてデータの出力先を割り振る信号処理部２４と、マークアップ言語としてのＸＨＴＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）により記述されたＸＨＴＭＬ文書を解析して要素の木構造としてのＤＯＭ（Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）ツリーを作成すると共にＣＳＳ（Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔｓ）により記述されたＣＳＳ文書を読み込んでスタイルオブジェクトを作成してメモリ５０に書き込む解析部３０と、解析部３０により作成されたＤＯＭツリーとスタイルオブジェクトとを用いてＸＨＴＭＬ文書に記述された要素（オブジェクト）としての画像やテキストを印刷用の印刷用のページ毎にレイアウトしてページボックスとしてメモリ５０に書き込むレイアウタ３８と、レイアウタ３８によりレイアウトして得られるページボックスを用いてＲＢＧデータとしての印刷用画像を描画するレンダリングプラグイン（以下、ＲＰＩという）４０と、描画されたＲＧＢ（Ｒｅｄ  Ｇｒｅｅｎ  Ｂｌｕｅ）データの印刷用画面をＣＭＹＫ（Ｃｙａｎ  Ｍａｇｅｎｔａ  Ｙｅｌｌｏｗ  Ｂｌａｃｋ）データに変換する色変換部４２と、変換されたＣＭＹＫデータを誤差拡散処理などの画像処理を行なって２値化する２値化部４４と、２値化されたＣＭＹＫの各データを図示しない印刷ヘッドを備える印刷実行部４８にバンド単位で出力するために一時的にデータを蓄えるイメージバッファ４６とを備える。
【００２１】
信号処理部２４は、入力された信号が直ちに印刷可能な印刷用データの場合には印刷実行部４８のイメージバッファ４６にデータを出力し、ＲＧＢデータの場合にはメモリ５０の印刷用画面格納領域に出力し、ＸＨＴＭＬ文書で記述されたファイルの場合には解析部３０に出力する。
【００２２】
解析部３０は、ＸＨＴＭＬ文書の解析を指示することによりＤＯＭツリーを作成するコア３２と、コア３２からの指示に基づいてＸＨＴＭＬ文書を解析するＸＭＬパーサー３４と、作成されたＤＯＭツリーのｌｉｎｋタグ内の初期化処理により依頼されたＣＳＳ文書を解析するＣＳＳプラグイン（以下、ＣＳＳＰＩという）３６とから構成されている。ＣＳＳＰＩ３６は、ＣＳＳ文書で記述されたファイルがＸＨＴＭＬ文書に記述されているときにそのファイルを読み込んで解析し、スタイルオブジェクトを作成する。ＣＳＳ文書で記述されたファイルについてはＸＨＴＭＬ文書に記述されておらず、ＸＨＴＭＬ文書内に各要素に対してスタイル（書式や様式）が直接記述されているときには、コア３２がスタイルを解析し、ＤＯＭツリーの要素の情報に加える。
【００２３】
操作部６０は、プリンタ正面に配置された液晶ディスプレイ６１と、その横に設けられた二つの操作ボタン６２と、内部にワンチップとして構成されたＣＰＵ６３，ＲＯＭ６４，ディスプレイコントローラ（以下、ＬＣＤＣという）６５，メモリ６６と、を備える。この操作部６０により設定する内容としては、例えば、装着されている印刷用紙の種類やサイズ，インクの種類などであり、設定は、操作ボタン６２の操作に基づいてＲＯＭ６４に予め記憶された処理プログラムが起動され、この処理プログラムにより液晶ディスプレイ６１に表示されるメニューに従って行なわれる。例えば、用紙種類の設定の場合、メニューから用紙種類を選択し、液晶ディスプレイ６１にトグルして表示される「普通紙」や「写真紙」などから選択することにより設定し、用紙サイズの設定の場合、メニューから用紙サイズを選択し、液晶ディスプレイ６１にトグルして表示される「Ａ４縦」や「Ｂ５縦」などから選択することにより設定するのである。こうして設定した内容は、メモリ６６に書き込まれる。なお、実施例では、操作部６０による設定を行なわなくても、デフォルトとして、例えば印刷用紙の種類としては「普通紙」，用紙サイズとしては「Ａ４縦」，インクの種類としては「顔料系」などが設定されている。こうした操作部６０による設定処理は、本発明の中核をなさないからこれ以上の説明については省略する。
【００２４】
次に、こうして構成された実施例のカラーインクジェットプリンタ２０の動作、特にＸＨＴＭＬ文書を印刷する際の動作について説明する。図２は、解析部３０により実行される解析レイアウト指示処理の一例を示すフローチャートである。この処理は所定時間毎（例えば、８ｍｓｅｃ毎）に繰り返し実行される。解析レイアウト指示処理が実行されると、まず、ＸＨＴＭＬ文書を特定するためのＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｃｅ  Ｌｏｃａｔｏｒ）の指定があるか否かを判定し（ステップＳ１００）、ＵＲＬの指定があるときにはそのＵＲＬをメモリ５０に領域設定されたＵＲＬ格納用バッファ領域に格納し（ステップＳ１１０）、ＵＲＬの指定がないときには次の処理に進む。ＵＲＬ指定は、例えば、操作者がデジタルテレビ１２で表示された印刷可能な項目のうちカラーインクジェットプリンタ２０で印刷しようとする項目を選択したときデジタルテレビ１２からのカラーインクジェットプリンタ２０に出力されることにより行なうものとすることができるし、コンピュータ１０から単にＵＲＬを選択してカラーインクジェットプリンタ２０に印刷要求することによっても行なうことができる。なお、コンピュータ１０からのＵＲＬ指定では、コンピュータ１０によってもＸＨＴＭＬ文書の解析やレイアウト，色変換や２値化などを行なうことができるが、コンピュータ１０によってはこうした処理を一切行なわず、ＵＲＬだけをカラーインクジェットプリンタ２０に送信する場合となる。
【００２５】
続いて、メモリ５０のＵＲＬ格納用バッファ領域にＵＲＬが格納されているか否かを判定すると共に（ステップＳ１２０）、ＸＨＴＭＬ文書を現在解析中であるか否かを判定する（ステップＳ１３０）。ＸＨＴＭＬ文書を現在解析中であるか否かの判定は、この解析レイアウト指示処理と同時に並列に解析部３０自信によって行なっているか否かを判定することにより、例えば解析開始時と解析終了時にフラグ操作するものとすればフラグを調べることにより行なうことができる。ＵＲＬが格納されており、現在ＸＨＴＭＬ文書の解析中ではないときには、メモリ５０のＵＲＬ格納用バッファ領域に格納されている最初のＵＲＬを読み出してそのＵＲＬにより特定されるＸＨＴＭＬ文書の解析を開始し（ステップＳ１４０）、ＵＲＬが格納されていないときやＵＲＬが格納されていても現在ＸＨＴＭＬ文書を解析している最中のときには次の処理に進む。ＸＨＴＭＬ文書の解析は、図３に例示する解析処理に基づいて行なわれる。この解析処理ではＵＲＬにより特定されるＸＨＴＭＬ文書が解析されてＤＯＭツリーが作成され、ＸＨＴＭＬ文書に記述されたＣＳＳ文書を解析してスタイルオブジェクトが作成され、関連付けられてメモリ５０のＤＯＭツリー用格納領域とスタイルオブジェクト用格納領域とに記憶される。このとき、ＤＯＭツリーには識別情報としてＤＯＭツリーＩＤが付与され、スタイルオブジェクトには識別情報としてスタイルオブジェクトＩＤが付与される。解析処理の詳細については後述する。
【００２６】
次に、レイアウタ３８によってレイアウトが行なわれている最中であるか否かを判定し（ステップＳ１５０）、レイアウタ３８によるレイアウトが行なわれていないときにはメモリ５０のＤＯＭツリー用格納領域に格納されたＤＯＭツリーのうち最初のＤＯＭツリーをＤＯＭツリーＩＤを用いて指定してレイアウタ３８にレイアウト開始指示を出力し（ステップＳ１６０）、この解析レイアウト指示処理を終了し、レイアウタ３８によってレイアウトが行なわれている最中であるときにはレイアウト開始指示を出力せずに解析レイアウト指示処理を終了する。ここで、レイアウタ３８によってレイアウトが行なわれている最中であるか否かの判定は、レイアウタ３８からレイアウト終了の信号を入力したか否かにより行なうことができる。レイアウト終了の信号に受信についてはレイアウタ３８の処理を説明する際に詳述する。
【００２７】
こうした解析レイアウト指示処理は、前述したように繰り返し実行されるから、解析部３０ではＵＲＬが指定される毎にＸＨＴＭＬ文書の解析中であるか否かに拘わらずに指定されたＵＲＬをメモリ５０のＵＲＬ格納用バッファ領域に格納する。また、メモリ５０のＵＲＬ格納用バッファ領域にＵＲＬが格納されているときには、レイアウタ３８によるレイアウトの実行中であるか否かに拘わらずにＸＨＴＭＬ文書の解析を順次行なう。従って、メモリ５０のＵＲＬ格納用バッファ領域には複数のＵＲＬが格納される場合が生じ、ＤＯＭツリー用格納領域に複数のＤＯＭツリーが格納される場合が生じ、スタイルオブジェクト用格納領域に複数のスタイルオブジェクトが格納される場合が生じる。実施例では、複数のＵＲＬを格納することができるようにＵＲＬ格納用バッファ領域が設定されており、複数のＤＯＭツリーを格納することができるようにＤＯＭツリー用格納領域が設定されており、複数のスタイルオブジェクトを格納することができるようにスタイルオブジェクト用格納領域が設定されている。
【００２８】
次に、解析部３０により実行される解析処理について説明する。解析処理は、前述したように図３に例示するフローチャートに基づいて行なわれる。説明の容易のために具体例として図４に例示するＸＨＴＭＬ文書を用いて説明する。解析レイアウト指示処理によりＵＲＬを指定して解析開始の指示がなされると、ＵＲＬにより特定されるＸＨＴＭＬ文書を読み出し（ステップＳ２００）、読み出したＸＨＴＭＬ文書を解析してＤＯＭツリーを作成する（ステップＳ２１０）。このとき、作成するＤＯＭツリーには識別情報としてＤＯＭツリーＩＤ（例えば、ＵＲＬにＤＯＭを付して作成したＩＤなど）を付与する。ＸＨＴＭＬ文書の読み出しは、具体的には、コア３２がＵＲＬを指定してＸＭＬパーサー３４に解析依頼することによりＸＭＬパーサー３４が行なう。ＸＨＴＭＬ文書の解析およびＤＯＭツリーの作成は、具体的には、ＸＭＬパーサー３４がＸＨＴＭＬ文書を最初から順に解析して各要素を作成すると共にＤＯＭツリーに登録することにより行なう。なお、要素の作成はコア３２に対して行ない、要素の登録はメモリ５０のＤＯＭツリー用格納領域に関連付けて格納することにより行なう。図４に例示したＸＨＴＭＬ文書を解析して作成されたＤＯＭツリーを図５に示す。
【００２９】
こうしてＤＯＭツリーを作成すると、ＸＨＴＭＬ文書に指定されたＣＳＳ文書を読み出し（ステップＳ２２０）、読み込出したＣＳＳ文書を解析してスタイルオブジェクトを作成する（ステップＳ２３０）。ＣＳＳ文書の読み出しは、具体的には、ＤＯＭツリーのｌｉｎｋタグ内の初期化処理内の依頼により依頼されたＣＳＳＰＩ３６が行なう。ＣＳＳ文書の解析およびスタイルオブジェクトの作成は、具体的には、ＣＳＳＰＩ３６がＣＳＳ文書を最初から順に解析して各ルールをメモリ５０のスタイルオブジェクト用格納領域に格納することにより行なう。図４の例では、ＸＨＴＭＬ文書内で直接スタイルについては記述されており、ＣＳＳ文書の指定がないため、スタイルオブジェクトは作成されない。
【００３０】
こうしてＤＯＭツリーとスタイルオブジェクトが作成されると、作成したＤＯＭツリーとスタイルオブジェクトの関連付け処理を実行し（ステップＳ２４０）、ＵＲＬ格納用バッファ領域から解析の対象のＵＲＬを削除して（ステップＳ２５０）、解析処理を終了する。
【００３１】
次に、レイアウタ３８の処理について説明する。図６は、解析部３０によりＤＯＭツリーを指定してレイアウト開始指示がなされたときにレイアウタ３８により実行されるレイアウト描画指示処理の一例を示すフローチャートである。レイアウト描画指示処理が実行されると、レイアウタ３８は、まず、指定されたＤＯＭツリーに基づいてレイアウトを開始する（ステップＳ３００）。レイアウトは、図７に例示するレイアウト処理により実行される。説明の都合上、ここで、レイアウト処理について説明する。
【００３２】
レイアウト処理では、レイアウタ３８は、まず、ＤＯＭツリーの各要素に対してその要素の特性に従って要素ボックスを作成する（ステップＳ４００）。例えば、要素が画像であればイメージボックスを作成し、要素がテキストであればテキストボックスを作成するのである。続いて、第１ページに対応するページボックスを作成し（ステップＳ４０２）、そのページボックスの下にｂｏｄｙタグ内の要素ボックスをレイアウトできなくなるまで順にレイアウトする（ステップＳ４０４〜Ｓ４２４）。要素ボックスのレイアウトは、まず、要素ボックスを解析し（ステップＳ４０４）、改ページの必要性を判定する（ステップＳ４０６）。こうした解析と改行の必要性の判定は、要素ボックスがテキストのときには、そのサイズや背景色などを解析し、文字毎にそのサイズに基づいて対象となっている行に配置し、配置できないときには改行して配置し、改行の際に改ページが必要であるか否かを判定することにより行ない、要素ボックスが画像のときには、そのサイズや背景色などを解析し、対象となっている行の縦のサイズを画像のサイズとしたときに配置可能か否かにより改行の必要性を判定することにより行ない、要素ボックスが表組みのときには、表組みを構成する各セルの横サイズを計算して表組みの幅を決定し、セルを行毎に組み、セルを行に組み込む際に改ページの必要性を判定することにより行なう。解析の結果、改ページが不要であれば、解析した要素ボックスをレイアウトして（ステップＳ４２２）、次の要素ボックスの存在を判定する（ステップＳ４２４）。
【００３３】
改ページが必要と判定されたときには、改ページが禁止されているか否かを判定する（ステップＳ４０８）。改ページ禁止の判定は、例えば、図４の例では、ｂｏｄｙタグの下、２行目のｔａｂｌｅタグ中に下線を付した「ｐｅｇｅ−ｂｒｅａｋ−ｉｎｓｉｄｅ：ａｖｏｉｄ」により指定される。この例では、ｔａｂｌｅタグにより解析されて配置される表組み内での改ページが禁止される。改ページが禁止されていないときには、改ページが必要と判定されるまでに解析して配置した内容についてレイアウトし（ステップＳ４０９）、改ページが禁止されているときには、それまでに解析した内容を一時的にメモリ５０に記憶し（ステップＳ４１０）、次ページのページボックスを作成する（ステップＳ４１２）。そして、改ページの必要性が判定されるまでに解析した内容をメモリ５０に一時的に記憶したときには解析した内容を改ページ後に行なったものとして反映する（ステップＳ４１４，Ｓ４１６）。なお、改ページが禁止されていないときには、改ページされる前にそれまでに解析した内容については前ページにレイアウトされている。そして、解析途中であるか否かを判定し（ステップＳ４１８）、解析途中であるときには解析を再開する（ステップＳ４２０）。そして、改ページ後に解析した内容をレイアウトし（ステップＳ４２２）、次の要素ボックスの存在を判定する（ステップＳ４２４）。図４のＸＨＴＭＬ文書の例では、図８に示すように、画像（イメージ）がレイアウトされ、その後、ｔａｂｌｅタグに対応する要素ボックスを解析して表組みしている最中（表組みの３行目を解析する際）に改ページの必要性が判定され、改ページが禁止されているため、それまでに解析された内容（表組みの２行目まで）がメモリ５０に一時的に記憶され、改ページ後にメモリ５０に記憶された内容（表組みの２行目まで）が反映され、表組みの３行目以降がその後に解析されてレイアウトされることになる。即ち、第１ページには画像（イメージ）だけがレイアウトされ、第２ページには表組みのすべてがレイアウトされることになる。図９に具体例のＤＯＭツリーを用いてレイアウトした際の各ページのページボックスを示す。
【００３４】
こうしてすべての要素ボックスをレイアウトすると、指定されたＤＯＭツリーをメモリ５０のＤＯＭツリー用格納領域から削除して（ステップＳ４２６）、レイアウト処理を終了する。このように、レイアウト処理を終了するときに用いたＤＯＭツリーをメモリ５０のＤＯＭツリー用格納領域から削除することにより、ＤＯＭツリー用格納領域に不要なＤＯＭツリーが格納された状態が継続されるのを回避することができる。この結果、解析部３０によって作成される新たなＤＯＭツリーの格納領域を確保することができる。
【００３５】
レイアウト描画指示処理（図６）の説明に戻る。レイアウトを開始すると、最初のページ分のレイアウトが完了するのを待って（ステップＳ３１０）、レイアウトが完了したページを指定してＲＰＩ４０に描画開始指示を出力する（ステップＳ３２０）。ページ分のレイアウトが完了したか否かの判定は、次ページに対応するページボックスが作成されたか否かにより、１ページだけしかないときにはレイアウト処理が終了したか否かにより行なうことができる。描画開始指示されたＲＰＩ４０は、図１０に例示する描画処理を実行し、ページボックスに従ってテキストや画像をメモリ５０の印刷用画像格納領域を用いてＲＧＢデータとして描画し（ステップＳ５００）、描画が終了したときに色変換部４２に色変換指示を出力すると共に（ステップＳ５１０）、描画終了をレイアウタ３８に出力する（ステップＳ５２０）。なお、画像の描画については、画像ファイルを読み出し、ファイル形式によっては展開等を行なって描画する。図１１に具体例の印刷結果の一例を示す。
【００３６】
描画開始指示を出力した後はそのページの描画が終了するのを待って（ステップＳ３３０）、そのページに対応するページボックスを削除する（ステップＳ３４０）。このように、ページの描画が終了する毎にそのページに対応するページボックスを削除することにより、ボックス用格納領域に不要なページボックスが格納された状態が継続されるのを回避することができる。こうしてページボックスを削除すると、次ページがあるか否かを判定し（ステップＳ３５０）、次ページがあるときにはステップＳ３１０の処理に戻る。即ち、次ページに対するページ分のレイアウトが完了しているか否かを判定し、レイアウトが完了していないときには完了するまで待ってレイアウトが完了したページを指定してＲＰＩ４０に描画開始指示を出力するのである。こうしてすべてのページを描画し、次ページがなくなると、レイアウト終了を解析部３０に出力して（ステップＳ３６０）、レイアウト描画指示処理を終了する。このように、レイアウタ３８からレイアウト終了の信号を解析部３０に出力することにより、解析部３０は、レイアウタ３８によるレイアウトの最中であるか否かを判定することができる。
【００３７】
図１２に他の具体例のＸＨＴＭＬ文書を示し、図１３に図１２の具体例のＤＯＭツリーの一例を示し、図１４に図１２の具体例のレイアウトを解析している様子を示し、図１５に図１２の具体例の印刷結果の一例を示す。図１２の具体例では、ｂｏｄｙタグの下、４行目のｐタグ中に下線を付した「ｐｅｇｅ−ｂｒｅａｋ−ｉｎｓｉｄｅ：ａｖｏｉｄ」が記載されることにより、このｐタグ内における改ページが禁止される。このｐタグ内には、図１３のＤＯＭツリーに示すように、３個の画像（ｉｍｇ）の要素ボックスが作成されているから、３個の画像のいずれかで改ページの必要性が判定されると、３個すべての画像が改ページ後にレイアウトされることになる。例えば、図１４に示すように、３個目の画像（ｉｍｇ３）に改ページの必要性が判定されると、図１５に示すように、すべての画像（ｉｍｇ１〜ｉｍｇ３）が改ページ後に配置されることになる。
【００３８】
以上説明した実施例のカラーインクジェットプリンタ２０によれば、改ページの禁止が指定されているときには、改ページの必要性が判定されるまでに解析した内容を一時的にメモリ５０に記憶し、この記憶した内容を改ページ後のものとして適用し、その後の解析を続行するから、改ページ後に新たに解析し直す場合に比して、迅速にレイアウトを作成することができる。この結果、ＸＨＴＭＬ文書を迅速に解析して印刷することができる。しかも、改ページの禁止の指定は、オブジェクト毎に行なうこともできるし、複数のオブジェクトを含むグループに対しても行なうことができる。
【００３９】
また、実施例のカラーインクジェットプリンタ２０によれば、ＵＲＬが指定される毎にＸＨＴＭＬ文書の解析中であるか否かに拘わらずに指定されたＵＲＬをメモリ５０のＵＲＬ格納用バッファ領域に格納することができる。また、メモリ５０のＵＲＬ格納用バッファ領域にＵＲＬが格納されているときには、レイアウタ３８によるレイアウトの実行中であるか否かに拘わらずにＸＨＴＭＬ文書の解析を順次行なうことができる。この結果、レイアウタ３８によるレイアウトの実行中であるか否かに拘わらず、ＵＲＬの指定を格納し、ＵＲＬにより特定されるＸＨＴＭＬ文書を読み込んで解析することができる。したがって、印刷を完了する毎にＵＲＬにより特定されるＸＨＴＭＬ文書を読み込んで解析して印刷するものに比して、迅速に解析して印刷することができる。
【００４０】
ここで、実施例のカラーインクジェットプリンタ２０では、ＸＭＬパーサー３４が構造書式解析手段に相当し、レイアウタ３８がレイアウト作成手段に相当し、ＲＰＩ４０と色変換部４２と２値化部４４とイメージバッファ４６と印刷実行部４８とが印刷実行手段に相当する。
【００４１】
実施例のカラーインクジェットプリンタ２０では、改ページの禁止の指定をオブジェクト毎に行なうことができるだけでなく、複数のオブジェクトを含むグループに対しても行なうことができるものとしたが、改ページの禁止の指定は、オブジェクト毎にだけしか行なうことができないものとしたり、少なくとも一つのオブジェクトを含むグループに対してだけしか行なうことができないものとしてもよい。
【００４２】
実施例のカラーインクジェットプリンタ２０では、メモリ５０のＵＲＬ格納用バッファ領域にＵＲＬが格納されているときには、メモリ５０のＤＯＭツリー用格納領域に格納されているＤＯＭツリーの数に拘わらずに、ＸＨＴＭＬ文書の解析を順次行なうものとしたが、メモリ５０のＤＯＭツリー用格納領域に格納されているＤＯＭツリーが所定数のときには所定数未満となるまで次のＸＨＴＭＬ文書の解析を保留するものとしてもよい。所定数としては例えば値２とすることができる。こうすれば、メモリ５０のＤＯＭツリー用格納領域を小さくすることができる。
【００４３】
実施例のカラーインクジェットプリンタ２０では、メモリ５０のＵＲＬ格納用バッファ領域にＵＲＬが格納されているときには、ＸＨＴＭＬ文書の解析を終了次第、直ちに次のＸＨＴＭＬ文書を解析するものとしたが、ＸＨＴＭＬ文書の解析を終了した以降であれば如何なるタイミングで次のＸＨＴＭＬ文書を解析するものとしてもよい。
【００４４】
実施例のカラーインクジェットプリンタ２０では、ＵＲＬが指定される毎にＸＨＴＭＬ文書の解析中であるか否かに拘わらずに指定されたＵＲＬをメモリ５０のＵＲＬ格納用バッファ領域に格納すると共にメモリ５０のＵＲＬ格納用バッファ領域にＵＲＬが格納されているときにはレイアウタ３８によるレイアウトの実行中であるか否かに拘わらずにＸＨＴＭＬ文書の解析を順次行なうものとしたが、レイアウトの実行中などの印刷処理を実行しているときにはＸＨＴＭＬ文書の解析を行なわないものとしてもよい。この場合、ＵＲＬの受け付けも印刷処理が終了したときに行なうものとしても差し支えない。
【００４５】
実施例のカラーインクジェットプリンタ２０では、記述文書としてＸＨＴＭＬにより記述されたＸＨＴＭＬ文書を解析して印刷するものとしたが、他のマークアップ言語により記述された記述文書を解析して印刷するものとしてもよい。また、マークアップ言語以外の言語により記述された文書を解析して印刷するものとしても差し支えない。
【００４６】
実施例のカラーインクジェットプリンタ２０では、入力インターフェース２２に接続される機器としてコンピュータ１０やデジタルテレビ１２やデジタルカメラ１４などを記載したが、如何なる機器を接続するものとしても差し支えない。
【００４７】
実施例では、ＸＨＴＭＬ文書を解析して印刷する本発明の印刷装置としてカラーインクジェットプリンタを用いたが、カラーレーザプリンタやモノクロのインジェットプリンタやレーザプリンタなどの種々のプリンタを用いるものとしてもよい。
【００４８】
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において、種々なる形態で実施し得ることは勿論である。
【図面の簡単な説明】
【００４９】
【図１】実施例のカラーインクジェットプリンタ２０の構成を例示する構成図。
【図２】解析レイアウト指示処理の一例を示すフローチャート。
【図３】解析処理の一例を示すフローチャート。
【図４】具体例のＸＨＴＭＬ文書の一例を示す説明図。
【図５】具体例のＤＯＭツリーの一例を示す説明図。
【図６】レイアウト描画指示処理の一例を示すフローチャート。
【図７】レイアウト処理の一例を示すフローチャート。
【図８】具体例における改ページの必要性を説明する説明図。
【図９】具体例のページボックスの一例を示す説明図。
【図１０】描画処理の一例を示すフローチャート。
【図１１】具体例の印刷結果の一例を示す説明図。
【図１２】他の具体例のＸＨＴＭＬ文書の一例を示す説明図。
【図１３】他の具体例のＤＯＭツリーの一例を示す説明図。
【図１４】他の具体例における改ページの必要性を説明する説明図。
【図１５】他の具体例の印刷結果の一例を示す説明図。
【符号の説明】
【００５０】
１０  コンピュータ、１２  デジタルテレビ、１４  デジタルカメラ、２０  カラーインクジェットプリンタ、２２  入力インターフェース、２４  信号処理部、３０  解析部、３２  コア、３４  ＸＭＬパーサー、３６  ＣＳＳＰＩ、３８  レイアウタ、４０  ＲＰＩ、４２  色変換部、４４  ２値化部、４６  イメージバッファ、４８  印刷実行部、５０  メモリ、６０  操作部、６１  液晶ディスプレイ、６２  操作ボタン、６３  ＣＰＵ、６４  ＲＯＭ、６５  ディスプレイコントローラ（ＬＣＤＣ）、６６  メモリ。
【図１】
2005246796.tif 000003
【図２】
2005246796.tif 000004
【図３】
2005246796.tif 000005
【図４】
2005246796.tif 000006
【図５】
2005246796.tif 000007
【図６】
2005246796.tif 000008
【図７】
2005246796.tif 000009
【図８】
2005246796.tif 000010
【図９】
2005246796.tif 000011
【図１０】
2005246796.tif 000012
【図１１】
2005246796.tif 000013
【図１２】
2005246796.tif 000014
【図１３】
2005246796.tif 000015
【図１４】
2005246796.tif 000016
【図１５】
2005246796.tif 000017