(57)【特許請求の範囲】
【請求項１】
レイアウトが規定されない属性の異なる複数のブロックからなるドキュメントファイルを処理可能な情報処理装置であって、
前記各ブロックの要素を各属性毎に解析して、前記ドキュメントファイル中のテキストデータがあらかじめ設定される最小フォントサイズ以上のフォントサイズで印刷するように各ブロックの要素を印刷装置の用紙サイズで決定される複数の出力領域に配置する配置手段を有し、
前記配置手段は、
前記ドキュメントファイルに対する出力用紙サイズを設定する設定手段と、
前記設定手段により設定された出力用紙サイズに基づいて、各ブロックのサイズを決定する決定手段と、
前記決定手段によって決定された各ブロックのサイズに基づいて出力領域とフォントサイズの拡大縮小率を求める倍率決定手段と、
前記倍率決定手段により求められる拡大縮小率に基づいて、各ブロックのフォントサイズを計算する計算手段と、
全てのブロックに対して前記計算手段によりフォントサイズを求め、求められた各ブロックのフォントサイズの大きさの値を比較して最小のフォントを抽出し、抽出された最小のフォントサイズがあらかじめ設定されたフォントサイズより大きいか否かを判定する判定手段と、
前記判定手段により抽出された最小のフォントサイズがあらかじめ設定されたフォントサイズより小さいと判定した場合には、抽出された最小のフォントサイズをあらかじめ設定された最小のフォントサイズまで拡大する拡大率計算を行って拡大率を求め、求められた拡大率を各ブロックのサイズに掛けて各ブロックのサイズを拡大する拡大手段と、
前記拡大手段により拡大された各ブロックを複数ページに分割して出力する出力手段とを有することを特徴とする情報処理装置。
【請求項２】
前記属性は、テキスト，イメージ，テーブルを含むことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記最小のフォントサイズは、任意のサイズを設定可能とすることを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記ドキュメントファイルは、ＨＴＭＬ形式，ＸＭＬ形式，ＨＴＭＬ形式またはＸＭＬ形式の拡張形式を含むことを特徴とする請求項１記載の情報処理装置。
【請求項５】
前記複数ページは、両面を含むことを特徴とする請求項１記載の情報処理装置。
【請求項６】
レイアウトが規定されない属性の異なる複数のブロックからなるドキュメントファイルを処理可能な情報処理装置における情報処理方法であって、
前記各ブロックの要素を各属性毎に解析して、前記ドキュメントファイル中のテキストデータがあらかじめ設定される最小フォントサイズ以上のフォントサイズで印刷するように各ブロックの要素を印刷装置の用紙サイズで決定される複数の出力領域に配置する配置工程を有し、
前記配置工程は、
前記ドキュメントファイルに対する出力用紙サイズを設定する設定工程と、
前記設定工程により設定された出力用紙サイズに基づいて、各ブロックのサイズを決定する決定工程と、
前記決定工程によって決定された各ブロックのサイズに基づいて出力領域とフォントサイズの拡大縮小率を求める倍率決定工程と、
前記倍率決定工程により求められる拡大縮小率に基づいて、各ブロックのフォントサイズを計算する計算工程と、
全てのブロックに対して前記計算工程によりフォントサイズを求め、求められた各ブロックのフォントサイズの大きさの値を比較して最小のフォントを抽出し、抽出された最小のフォントサイズがあらかじめ設定されたフォントサイズより大きいか否かを判定する判定工程と、
前記判定工程により抽出された最小のフォントサイズがあらかじめ設定されたフォントサイズより小さいと判定した場合には、抽出された最小のフォントサイズをあらかじめ設定された最小のフォントサイズまで拡大する拡大形率計算を行って拡大率を求め、求められた拡大率を各ブロックのサイズに掛けて各ブロックのサイズを拡大する拡大工程と、
前記拡大工程により拡大された各ブロックを複数ページに分割して出力する出力工程とを有することを特徴とする情報処理方法。
【請求項７】
前記属性は、テキスト，イメージ，テーブルを含むことを特徴とする請求項６記載の情報処理方法。
【請求項８】
前記最小のフォントサイズは、任意のサイズを設定可能とすることを特徴とする請求項６記載の情報処理方法。
【請求項９】
前記ドキュメントファイルは、ＨＴＭＬ形式，ＸＭＬ形式，ＨＴＭＬ形式またはＸＭＬ形式の拡張形式を含むことを特徴とする請求項６記載の情報処理方法。
【請求項１０】
前記複数ページは、両面を含むことを特徴とする請求項６記載の情報処理方法。
【請求項１１】
レイアウトが規定されない属性の異なる複数のブロックからなるドキュメントファイルを処理可能な情報処理装置に、
前記各ブロックの要素を各属性毎に解析して、前記ドキュメントファイル中のテキストデータがあらかじめ設定される最小フォントサイズ以上のフォントサイズで印刷するように各ブロックの要素を印刷装置の用紙サイズで決定される複数の出力領域に配置する配置工程を実行させるためのプログラムを記録したコンピュータが読み取り可能な記憶媒体であって、
前記配置工程は、
前記ドキュメントファイルに対する出力用紙サイズを設定する設定工程と、
前記設定工程により設定された出力用紙サイズに基づいて、各ブロックのサイズを決定する決定工程と、
前記決定工程によって決定された各ブロックのサイズに基づいて出力領域とフォントサイズの拡大縮小率を求める倍率決定工程と、
前記倍率決定工程により求められる拡大縮小率に基づいて、各ブロックのフォントサイズを計算する計算工程と、
全てのブロックに対して前記計算工程によりフォントサイズを求め、求められた各ブロックのフォントサイズの大きさの値を比較して最小のフォントを抽出し、抽出された最小のフォントサイズがあらかじめ設定されたフォントサイズより大きいか否かを判定する判定工程と、
前記判定工程により抽出された最小のフォントサイズがあらかじめ設定されたフォントサイズより小さいと判定した場合には、抽出された最小のフォントサイズをあらかじめ設定された最小のフォントサイズまで拡大する拡大率計算を行って拡大率を求め、求められた拡大率を各ブロックのサイズに掛けて各ブロックのサイズを拡大する拡大工程と、
前記拡大工程により拡大された各ブロックを複数ページに分割して出力する出力工程とを有することを特徴とする記憶媒体。
【請求項１２】
前記属性は、テキスト，イメージ，テーブルを含むことを特徴とする請求項１１記載の記憶媒体。
【請求項１３】
前記最小のフォントサイズは、任意のサイズを設定可能とすることを特徴とする請求項１１記載の記憶媒体。
【請求項１４】
前記ドキュメントファイルは、ＨＴＭＬ形式，ＸＭＬ形式，ＨＴＭＬ形式またはＸＭＬ形式の拡張形式を含むことを特徴とする請求項１１記載の記憶媒体。
【請求項１５】
前記複数ページは、両面を含むことを特徴とする請求項１１記載の記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、レイアウトが規定されない属性の異なる複数のブロックからなるドキュメントファイルを処理可能な情報処理装置および情報処理方法および記憶媒体に関するものである。
【０００２】
【従来の技術】
近年、インターネット等の通信メディアの普及に伴い、パーソナルコンピュータ等の情報処理装置からネットワーク上のＷｅｂにアクセスして、種々のホームページの情報を閲覧し、所望とする情報をダウンロードして、種々のプリンタから印刷する機会が増大している。
【０００３】
この際、Ｗｅｂの交換文書データとして利用されているＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式で記述された文書データ、あるいは今後文書データの標準フォーマットとして期待されているＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式で記述された文書データをサーバからネットワークにつながったプリンタから印刷することとなる。この場合において、ＨＴＭＬのデータを扱う情報処理装置においては、ＨＴＭＬのデータには出力時の用紙サイズや解像度等は意識せずに作成されている場合が多い。
【０００４】
また、ＨＴＭＬファイルの内容は、ブラウザと称せされる閲覧プログラム、例えばマイクロソフト社製のＩｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒやネットスケープ社製のＮｅｔｓｃａｐｅ  Ｎａｖｉｇａｔｏｒ等で領域の大きさが変更された場合に、変更された領域に合わせてレイアウトも変化できるように相対座標値や割合で定義されている場合が多い。
【０００５】
【発明が解決しようとする課題】
しかしながら、上記ＨＴＭＬファイルをプリンタで印刷しようとした場合に、出力用紙サイズを意識して作成されていない為、期待したものと出力のサイズが異なって印刷される等の問題がある。
【０００６】
例えば出力用紙の用紙サイズに収まらず、領域をオーバして印刷されるものや、領域に収めようとすると、文字が小さくなってしまって読めなくなってしまう等の問題点があった。
【０００７】
本発明は、上記の問題点を解決するためになされたもので、ブロックの要素を各属性毎に解析して、ドキュメントファイル中のテキストデータがあらかじめ設定される最小文字サイズ以上の文字サイズとして印刷可能なレイアウト形式のドキュメントファイルにフォーマット変換して、相対座標で指定されているドキュメントの各属性に従うデータと出力用紙のサイズとに基づき、適切な領域の割り当ておよび文字のサイズの割り当てを行なうことにより、レイアウトが規定されない属性の異なる複数のブロックからなるドキュメントファイルから印刷装置に対する出力領域に適したレイアウトを行なわれたドキュメントファイルを生成できる情報処理装置および情報処理方法および記憶媒体を提供することである。
【０００８】
【課題を解決するための手段】
本発明は、レイアウトが規定されない属性の異なる複数のブロックからなるドキュメントファイルを処理可能な情報処理装置であって、前記各ブロックの要素を各属性毎に解析して、前記ドキュメントファイル中のテキストデータがあらかじめ設定される最小フォントサイズ以上のフォントサイズで印刷するように各ブロックの要素を印刷装置の用紙サイズで決定される複数の出力領域に配置する配置手段を有し、前記配置手段は、前記ドキュメントファイルに対する出力用紙サイズを設定する設定手段と、前記設定手段により設定された出力用紙サイズに基づいて、各ブロックのサイズを決定する決定手段と、前記決定手段によって決定された各ブロックのサイズに基づいて出力領域とフォントサイズの拡大縮小率を求める倍率決定手段と、前記倍率決定手段により求められる拡大縮小率に基づいて、各ブロックのフォントサイズを計算する計算手段と、全てのブロックに対して前記計算手段によりフォントサイズを求め、求められた各ブロックのフォントサイズの大きさの値を比較して最小のフォントを抽出し、抽出された最小のフォントサイズがあらかじめ設定されたフォントサイズより大きいか否かを判定する判定手段と、前記判定手段により抽出された最小のフォントサイズがあらかじめ設定されたフォントサイズより小さいと判定した場合には、抽出された最小のフォントサイズをあらかじめ設定された最小のフォントサイズまで拡大する拡大率計算を行って拡大率を求め、求められた拡大率を各ブロックのサイズに掛けて各ブロックのサイズを拡大する拡大手段と、前記拡大手段により拡大された各ブロックを複数ページに分割して出力する出力手段とを有することを特徴とする。
【００２３】
【発明の実施の形態】
図１は、本発明の情報処理装置を適用可能な文書印刷システムの構成を説明する図である。
【００２４】
図１において、本システムは、複数台のパーソナルコンピュータ（以下、クライアントパソコンという）Ｘ、Ｙと、１台のファイルサーバＦＳと、１台のＷｅｂサーバＷＳと、少なくとも１台のＸＭＬデータを処理できるプリンタＡが、ネットワークＮにより接続された構成となっている。
【００２５】
そして、携帯情報端末のようなモバイル端末ＭがプリンタＡに直接ＩｒＤＡ、ＲＳ‐２３２Ｃやセントロニクスなどを通してネットワークに接続することなくプリンタＡと通信可能につながっている。
【００２６】
なお、クライアントパソコンＸ、Ｙの代わりに、ワードプロセッサ、ワークステーション、携帯情報端末等の情報処理装置を接続することも可能である。また、クライアントパソコンＸ、ＹおよびファイルサーバＦＳは、複数種のフォントにかかるフォントデータ群やＷｅｂのデータや画像データ等が格納されている。
【００２７】
本システムでは、モバイル端末ＭあるいはクライアントパソコンＸまたはＹからプリンタＡに対して印刷したいｗｅｂのＵＲＬや印刷部数等の印刷要求を出し、プリンタＡからＷｅｂサーバＷＳにファイル要求を出し、ＷｅｂサーバＷＳは必要な文書データやフォントデータ等をファイルサーバＦＳより集めて、プリンタＡに転送し、プリンタＡはその転送されたデータを展開することによって印刷する。
【００２８】
図２は、図１に示したクライアントパソコンＸ、Ｙ及びファイルサーバＦＳ及びＷｅｂサーバＷＳの概略構成を示すブロック図である。
【００２９】
図２において、１０１はＣＰＵ、すなわち中央処理装置であり、この装置全体の制御及び演算処理等を行う。１０２はＲＯＭであり、システム起動プログラムおよび文字変換用の文字パターンデータ等を記憶する。１０３はＲＡＭであり、ＣＰＵ１０１の演算に使用するデータ、ＣＰＵ１０１の演算結果を一時記憶する。
【００３０】
１０４はキーボード制御部（ＫＢＣ）であり、キーボード（ＫＢ）１０５よりキー入カデータ（文字コードや制御コード）を受け取りＣＰＵ１０１へ伝達する。１０６はディスプレイ制御部（ＣＲＴＣ）であり、ＲＡＭ１０３に格納された表示情報、すなわち、文字コードから変換されたビットマップイメージを読み出し、ＣＲＴｌ０７に転送する。なお、ＣＲＴ１０７は、ＣＲＴＣ１０６よりビットマップイメージを受け取り表示画面に表示する。
【００３１】
１０８はディスク制御部（ＤＫＣ）であり、外部記憶装置１０９のデータ伝送等の制御を行う。１０９は外部記憶装置で、ＦＤすなわちフロッピーディスク装置、あるいはＨＤすなわちハードディスク装置、あるいはＣＤ−ＲＯＭ等で構成される。外部記憶装置１０９にはプログラムおよびデータを記憶させておき、ＣＰＵ１０１は必要に応じて記憶データを参照したり、またはＲＡＭ１０３にロードする。
【００３２】
１１０はネットワーク制御部（ＮＴＣ）であり、ネットワーク装置（ＮＴ）１１１の通信動作制御を行う。１１２はシステムバスであり、上述の構成要素間のデータ転送を行う。
【００３３】
図３は、図２に示したＲＡＭ１０３のメモリマップの一例を示す図であり、図１に示したシステム構成におけるメモリマップに対応する。
【００３４】
図３において、本装置は、基本Ｉ／Ｏプログラム、ウインドウシステム等のオペレーティングシステム、および本発明の処理となるアプリケーションが実行されることにより動作する。基本Ｉ／Ｏプログラムは、図１に示したＲＯＭ１０２に格納されている。オペレーティングシステムは、図１に示した外部記憶装置１０９に示すハードディスク（ＨＤ）に格納されている。そして、電源がＯＮされたときに、基本Ｉ／Ｏプログラム中のＩＰＬ（イニシャライズプログラムローディング）機能によりＨＤからオペレーティングシステムがＲＡＭに読み込まれ、その動作が開始される。
【００３５】
なお、本発明に係るプログラム及び関連データは、図１に示した外部記憶装置１０９におけるフロッピーディスク（ＦＤ）あるいはＣＤ−ＲＯＭ等の記憶媒体を介して供給される。そして、ＦＤあるいはＣＤ−ＲＯＭからプログラム及び関連データを一旦ＨＤヘインストールすることにより、ＨＤからＲＡＭ１０３にロードし実行することが可能となるか、あるいは、ＨＤヘインストールせずに直接ＦＤあるいはＣＤ−ＲＯＭからＲＡＭロードし実行することも可能である。
【００３６】
図３において、２１０は基本Ｉ／Ｏプログラムで、ＲＯＭ１０２等よりＲＡＭ１０３にロードされ実行可能となった状態を示す。
【００３７】
２１１はウインドウシステム等のオペレーティングシステムがＲＡＭ１０３にロードされ実行可能となった状態を示す。２１２は本発明のプログラム等を含むアプリケーションがＲＡＭ１０３にロードされ実行可能となった状態を示す。
【００３８】
２１３は関連データで、ＲＡＭ１０３にロードされ実行可能となった状態を示し、２１４は各々のプログラムが使用するワークエリアである。
【００３９】
なお、基本Ｉ／Ｏプログラムは、ＲＯＭ１０２内のシステム起動プログラムによりＲＡＭ１０３に読み込まれる。また、外部記憶装置１０９としてのフロッピーディスク装置、あるいはＣＤ−ＲＯＭからアプリケーションプログラム、及び関連データを一旦、ハードディスク装置ヘインストールした状態で電源がＯＮされたときに、ハードディスク装置からＲＡＭ１０３にロードすることにより、実行することが可能となる。
【００４０】
なお、ハードディスク装置ヘインストールせずに、直接フロッピーディスク装置、或いはＣＤ−ＲＯＭからＲＡＭ１０３にロードして実行することも可能である。なお、ファイルサーバＦＳでは、後述のプリンタ情報テーブルが関連データの領域に形成されている。
【００４１】
図４は、図１に示したプリンタＡの構成を説明するブロック図であり、図２に示した文書処理システムのネットワーク装置１１１とネットワーク装置を介して通信可能に構成されているものとする。
【００４２】
なお、本システムにおける出力エンジンは、レーザビームプリンタであってもよいし、バブルジェットプリンタあるいは熱転写等の出力エンジンであってもよいい。また、ＸＭＬ形式の文書データ，図形データ，表形式データ，画像データを印刷処理できる機能を有している。
【００４３】
図４において、２１１はＣＰＵであり、この装置全体の制御および演算処理等を行うものである。２１２はＲＯＭであり、ＣＰＵ２１１が実行すべきシステム起動プログラムおよび書体別の文字パターンデータ等を記憶している。
【００４４】
２１３はＲＡＭであり、使用制限のないデータ記憶領域であり、様々な処理毎に各々のプログラムおよびデータがロードされ実行される領域である。
【００４５】
２１５はプリンタコントローラ（ＰＲＴＣ）であり、２１６はプリンタエンジン（ＰＲＴ）である。２１４はシステムバスであり、上述の構成要素間のデータの通路となるべきものである。２１７はディスクコントローラ（ＤＫＣ）で、ハードディスク２１８に対するデータ書込みアクセスまたはハードディスク２１８からのデータ読み出しアクセスを制御する。
【００４６】
２１９はネットワーク制御部（ＮＴＣ）であり、ネットワーク装置（ＮＴ）２２０の動作制御を行う。なお、ＲＯＭ２１２には、文字パターンデータ（フォントデータ）等が格納されている。そしてＲＡＭ２１３またはＨＤ２１７には、ＷｅｂサーバＷＳへ要求した文書データやイメージデータあるいはフォントデータ等がＷｅｂサーバＷＳからダウンロードされ、格納される。
【００４７】
ＣＰＵ２１１は、ＷｅｂサーバＷＳから供給された文書データ、イメージデータあるいはフォントデータを、ＲＯＭ２１２内にあるプログラムに従って文字パターンデータや画像データ（ビットマップデータ）を生成して、プリンタコントローラ２１５内の印刷バッファに展開する。
【００４８】
プリンタコントローラ２１５は、ビットマップデータに基づいて生成した印刷コントロール信号をプリンタエンジン２１６に出力する。ネットワークコントローラ２１７は、図１に示したネットワークＮを介してクライアントパソコンＸ，ＹやファイルサーバＦＳとの間でデータ送受信を行う際のネットワーク装置（ＮＴ）２１８の動作を制御している。
【００４９】
図５は、本発明に係る情報処理装置におけるドキュメントの変換処理状態を説明するブロック図である。
【００５０】
本処理の流れは、ホスト側の処理とプリンタ側の処理に分かれていて、ホスト側の処理は、図１に示したＷｅｂサーバＷＳ上で行なわれたり、クライアントパソコンＸまたはクライアントパソコンＹで処理されたりする。
【００５１】
本処理はまず、例えば図１に示したファイルサーバＦＳよりＸＭＬ形式で保存されたドキュメントあるいはＨＴＭＬ形式で保存されたドキュメントを読み込み、それを一旦ＸＨＴＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）の形式のデータに変換する。そして、そこから図９に示すフローチャートに従って出力用紙サイズや解像度にしたがって適切なレイアウトを行なうＳＶＧ（Ｓｃａｌａｂｌｅ  Ｖｅｃｔｏｒ  Ｇｒａｐｈｉｃ）に変換を行なう。
【００５２】
なお、ＸＨＴＭＬおよびＳＶＧの内容については、Ｗ３Ｃのテクニカルレポートに記載されている。基本的にＸＨＴＭＬは、ＨＴＭＬの文法をＸＭＬ形式に従って拡張したものであり、表示処理に適している。
【００５３】
一方、ＳＶＧは、ＰＳ（アドビ社製のＰｏｓｔ  Ｓｃｒｉｐｔ）等のページ記述の文法に似たものであり、ＸＭＬ拡張されたものであり、出力フオーマットに適している。したがって、ＨＴＭＬやＸＭＬの文書データを一旦ＸＨＴＭＬに変換し、さらにそこで出力用紙サイズや解像度を得て、ＳＶＧ形式のデータに変換し、それをＳＶＧが解釈できるプリンタヘＳＶＧファイルで転送するのである。そうすることによって、ＸＭＬやＨＴＭＬでかかれた文書データを適切にレイアウトして出力することが可能となる。
【００５４】
図６は、図５に示したＸＨＴＭＬ形式のドキュメント例を説明する図であり、図７は、図６に示したＸＨＴＭＬ形式のドキュメント例のレイアウト構造を説明する図であり、図８は、図７に示したＸＨＴＭＬ形式のドキュメントのＳＶＧ変換リスト例を説明する図である。
【００５５】
次に、図９に示すフローチャートに従って、本発明に係る情報処理装置におけるＸＨＴＭＬ形式の文書データからＳＶＧ形式の画像等を含む文書データ（ドキュメント）に変換する処理の詳細な流れの説明を行なう。
【００５６】
図９は、本発明に係る情報処理装置における第１のデータ処理手順の一例を示すフローチャートである。なお、（５−１）〜（５−１１）は各ステップを示す。
【００５７】
先ず、ステップ（５−１）では、変換元となるＸＨＴＭＬ形式のデータの中からまず変換の基準となるフォントサイズを求める。なお、基準となるフォントサイズは、ＸＨＴＭＬのファイルでは、特に指定されていない。
【００５８】
従って、各ブラウザが独自に基準フォントサイズを定めていることが多いが、ここでは出力用紙への基準フォントサイズとしてｌ０ポイントあるいは１０．５ポイント等の値を定める。
【００５９】
また、ＸＨＴＭＬドキュメントの中に基準フォントサイズが記入してあるような場合には、その値を基準フォントサイズとして定める。
【００６０】
次に、ステップ（５−２）においては、ＸＨＴＭＬドキュメント全体をチェックして、テーブルの属性がないかどうかを調べて最大横サイズテーブルを抽出し、テーブルの属性がない場合には、所定の出力したい用紙や画面のサイズの横領域が各ＸＨＴＭＬ要素であるタグの横領域の基準となるサイズとなる。
【００６１】
一方、テーブルの属性が存在する場合には、各テーブルの内容を比較する。例えばＸＨＴＭＬの＜ＴＡＢＬＥ＞の要素にｗｉｄｔｈの属性が合った場合には、その値がテーブルの幅の値となるので、その値が最大のものを選択する。
【００６２】
一方、＜ＴＡＢＬＥ＞の要素にｗｉｄｔｈの属性がない場合には出力領域の横領域がそのテーブルの横領域となる。
【００６３】
次に、ステップ（５−３）においては、ステップ（５−２）で抽出されたテーブルの最大値から出力領域の拡大縮小率を算定（計算）する。なお、計算方法は出力領域の横領域と、ステップ（５−２）で求めたテーブルの最大横領域の比率から求めることができる。つまり、拡大縮小率＝出力領域の横領域／テーブルの最大横領域となる。
【００６４】
そして、ステップ（５−４）以降において、各要素の配置および要素内の文字の配置位置等の計算を行なうため、ステップ（５−４）においては、まず対象となる要素がテーブル要素なのかテキスト要素なのかイメージ要素なのかの判定を行なう。
【００６５】
ここで、テーブル要素例としては、＜ＴＡＢＬＥ＞、＜ＴＲ＞、＜ＴＨ＞、＜ＴＤ＞、＜ＣＡＰＴＩＯＮ＞、＜ＴＨＥＡＤ＞、＜ＴＦＯＯＴ＞、＜ＴＢＯＤＹ＞等がある。テキスト要素としては、＜Ｈｌ＞〜＜Ｈ６＞、＜Ｐ＞、＜Ｑ＞、＜ＢＬＯＣＫＱＵＯＴＥ＞、＜ＥＭ＞、＜ＳＴＲＯＮＧ＞、＜ＳＵＰ＞、＜ＳＵＢ＞等がある。
【００６６】
そして、イメージ要素レオとしては、＜ＩＭＧ＞、＜ＭＡＰ＞、＜ＡＲＥＡ＞、＜ＯＢＪＥＣＴ＞、＜ＡＰＰＬＥＴ＞等がある。それぞれの要素の意味については、
ＷＷＷ上のアドレス、例えばｈｔｔｐ：／／ＷＷＷ．Ｗ３．ｏｒｇ／ＴＲ／ｘｈｔｍｌ１／  に記載されているＸＨＴＭＬの仕様や、ｈｔｔｐ：／／ｗｗｗ．ｗ３．ｏｒｇ／ＴＲ／ｈｔｍ１４０／  に記載されているＨＴＭＬの仕様に準ずるものとする。
【００６７】
そして、対象となる要素がテーブルの要素であると判定された場合には、ステップ（５−５）へ進み、テキストの要素であると判定した場合には、ステップ（５−６）へ進み、イメージの要素であると判定した場合には、ステップ（５−７）ヘ進む。
【００６８】
そして、ステップ（５−５）においては、テーブルの要素であると判定された場合であり、テーブル内の配置を行なう。ここでの処理の詳細については、図１０に示すフローチャートを用いて詳細に説明するのでここでの説明は省略する。
【００６９】
一方、ステップ（５−６）においては、テキストの要素であると判定された場合であり、テキスト要素内にある個々の文字に対する配置位置の決定を行なう。テキスト領域のうちブロック要素とインライン要素に分かれるが、ブロック要素としては、＜Ｈｌ＞〜＜Ｈ６＞、＜Ｐ＞要素等がある。また、インライン要素としては、＜ＥＭ＞、＜ＳＴＲＯＮＧ＞等がある。さらに、インライン要素はブロック要素の子要素として文章中のある文字列を強調したり、色を変えたりするときに使用される。
【００７０】
テキストのブロック要素の配置方法としては、まずテキスト領域の横領域を決定する。
【００７１】
ここでは、テキスト要素の親要素の横領域がテキスト領域の横領域ということになる。例えば親要素が＜ＸＨＴＭＬ＞であれば、それが最上位要素ということになるので、出力すべき用紙や画面のサイズの横領域がテキスト領域の横領域として設定される。
【００７２】
そして、文字の大きさに関しては、上記Ｗ３Ｃの仕様であるＣＳＳのプロパティで指定されている場合には、その値に対して、特に文字のサイズを指定していない場合には、ステップ（５−１）で求めた標準の文字サイズに対して、ステップ（５−３）で求めた拡大縮小率をかけた値を文字サイズの大きさとする。
【００７３】
そして、このとき決定された文字サイズの大きさは、後述するステップ（５−１０）で、あらかじめ設定された最小サイズより大きい値に設定されているかどうかをチェックするので、保存しておく。そして、決定された文字サイズで文字を一文字ずつ配置していき、横領域を越えるところで文字の折り返しを行ない、次の行の先頭から続きを配置していく。そして、すべての文字を配置し終わったときに、そのときの行数とフォントサイズから領域の高さを計算する。このとき行間の大きさはＣＳＳのプロパティで指定されている場合にはそれに従い、特に指定がない場合には、文字の高さに対してある一定の値を標準として、その行間の値を設定する。
【００７４】
また、テキストのインライン要素の配置方法としては、インラインに指定された文字列の一つ前の文字の配置位置の終了点を基準点とし、そこから要素で指定された文字種や文字サイズで各文字のピッチ情報に従って配置していく。
【００７５】
一方、ステップ５−７においては、イメージの要素であると判定された場合であり、イメージ要素の領域の決定と配置位置の決定の処理を行う。なお、本実施形態において、イメージ領域の大きさの決定方法は、イメージ領域の大きさがＸＨＴＭＬドキュメントの中で指定してある大きさに対して、ステップ（５−３）で求めた拡大縮小率をかけた領域の大きさになる。
【００７６】
そして、ステップ（５−８）において、ステップ（５−５）からステップ（５−７）で求めた各要素の内容をＳＶＧデータに変換する。このとき、テキストの要素は＜ｔｓｐａｎ＞にイメージ要素は＜ｉｍａｇｅ＞に変換される。
【００７７】
これにより、例えば図７に示したレイアウトのデータは、図６図に示したＸＨＴＭＬのドキュメントで表され、それをＳＶＧで表現すると図８に示したようになる。
【００７８】
次に、ステップ（５−９）においては、すべての要素に対してステップ（５−５）からステップ（５−７）の処理が終了したかどうかをチェックし、まだ処理が終了していないと判断した場合には、ステップ（５−４）へ戻って、各要素の配置位置の計算を行なう。
【００７９】
一方、ステップ（５−９）で、すべての要素に対して処理が終了していると判定した場合には、ステップ（５−１０）で、各要素の中の配置およびフォントサイズの計算が行なわれた結果を見て、出力すべきフォントの大きさの最小値をチェックする。そして、あらかじめ設定されたフォントサイズより小さいフォントサイズのデータが存在する場合には、印刷しても小さすぎてみることができないので、全体領域を大きくする処理（詳細は、図１０に示すフローチャートを用いて詳細に説明する）を行なう。
【００８０】
そして、ステップ（５−１１）においては、すべての要素の配置位置が計算された後ドキュメント全体を＜ｓｖｇ＞と＜／ｓｖｇ＞で囲み、必要に応じてスタイルシートを＜ｓｔｙｌｅ＞要素で定義して、ｓｖｇドキュメントの作成処理を終了する。
【００８１】
図１０は、本発明に係る情報処理装置における第２のデータ処理手順の一例を示すフローチャートであり、図９に示したステップ（５−５）のテーブルの内容の配置位置の計算を行なう詳細手順に対応する。なお、（６−１）〜（６−８）は各ステップを示す。
【００８２】
先ず、ステップ（６−１）ではテーブル内の各セルの横領域の計算を行なう。なお、本実施形態において、各セルの横領域の計算方法は、＜ＴＲ＞要素で囲まれる各セルの領域の大きさを合計して、親要素であるテーブル要素の横領域を各セルの割合に応じて割り当てる。
【００８３】
例えばＸＨＴＭＬのドキュメント内のあるテーブルの子要素としてセルが３つあり、それぞれのセルの横領域が、セル１が「１０」、セル２が「２０」、セル３が「１０」で、親要素のテーブルの横領域が「１００」である場合、セル１の横領域は１００×（１０／４０）＝２５となり、同様にセル２の横領域は「５０」、セル３の横領域は「２５」となる。
【００８４】
次に、ステップ（６−２）においては、各セルの内容をチェックする内容としては、さらにテーブルになっている場合、テキストになっている場合、あるいはイメージになっている場合がある。
【００８５】
そして、それぞれの判定方法は、図９に示したステップ（５−４）で述べた方法と同様に、＜ＴＡＢＬＥ＞、＜ＴＲ＞、＜ＴＨ＞、＜ＴＤ＞、＜ＣＡＰＴＩＯＮ＞、＜ＴＨＥＡＤ＞、＜ＴＦＯＯＴ＞、＜ＴＢＯＤＹ＞等の要素であればテーブル要素と判定し、ステップ（６−７）に進み、拡大縮小率を再計算して、ステップ（６−１）に戻って、再起的にテーブル要素の処理を行なう。
【００８６】
なお、ステップ（６−７）は、セルの中にさらにテーブルの要素であると判定された場合であり、対象となるテーブルの親要素となるセルの大きさはステップ（６−１）で求めてあるので、その大きさに収まるようにテーブルのサイズを変換する必要がある。そして、そのときの計算方法は、拡大縮小率＝親要素のテーブルの拡大統小率×テーブルの横サイズ÷親要素のセルの横幅となる。
【００８７】
一方、ステップ（６−２）で、＜Ｈｌ＞〜＜Ｈ６＞、＜Ｐ＞、＜Ｑ＞、＜ＢＬＯＣＫＱＵＯＴＥ＞、＜ＥＭ＞、＜ＳＴＲＯＮＧ＞、＜ＳＵＰ＞、＜ＳＵＢ＞等の要素であればテキスト要素と判定し、ステップ（６−３）へ進み、そして、＜ＩＭＧ＞、＜ＭＡＰ＞、＜ＡＲＥＡ＞、＜ＯＢＪＥＣＴ＞、＜ＡＰＰＬＥＴ＞等の要素であればイメージと判定し、ステップ（６−６）へ進む。
【００８８】
そして、ステップ（６−３）からステップ（６−５）においては、テキストの要素であると判定された場合であり、テキスト要素内にある個々の文字に対する配置位置の決定を行なう。
【００８９】
なお、テキスト領域のうちブロック要素とインライン要素に分かれるが、ブロック要素としては、＜Ｈｌ＞〜＜Ｈ６＞、＜Ｐ＞要素等があり、インライン要素としては、＜ＥＭ＞、＜ＳＴＲＯＮＧ＞等がある。インライン要素はブロック要素の子要素として文章中のある文字列を強調したり、色を変えたりするときに使用される。
【００９０】
また、テキストのブロック要素の配置方法としては、まずテキスト領域の横領域を取り込む。ここでは、ステップ（６−１）で決定したセルの横領域がここで対象となるテキストの横領域となる。
【００９１】
先ず、ステップ（６−３）では、文字の大きさに関して、Ｗ３Ｃの仕様であるＣＳＳのプロパティで指定されている場合にはその値に対して、特に文字のサイズを指定していない場合には、ステップ（５−１）で求めた標準の文字サイズに対して、ステップ（５−３）あるいはステップ（６−７）で求めた拡大縮小率をかけた値を文字サイズの大きさとする。
【００９２】
そして、このとき決定された文字サイズの大きさは、ステップ（５−１０）であらかじめ設定された最小サイズより大きい値に設定されているかどうかをチェックするので、保存しておく。
【００９３】
そして、ステップ（６−４）において決定された文字サイズで文字を１文字ずつ配置していき、横領域を越えるところで文字の折り返しを行ない、次の行の先頭から続きを配置していく。また、テキストのインライン要素の配置方法としては、インラインに指定された文字列の一つ前の文字の配置位置の終了点を基準点とし、そこから要素で指定された文字種や文字サイズで各文字のピッチ情報に従って配置して行き、すべての文字を配置し終わったとき、ステップ（６−５）において行数とフォントサイズから領域の高さを計算する。
【００９４】
このとき行間の大きさは、ＣＳＳのプロパティで指定されている場合にはそれに従い、特に指定がない場合には、文字の高さに対してある一定の値を標準として、その行間の値を設定する。
【００９５】
一方、ステップ（６−２）で、イメージの要素であると判定された場合であり、ステップ（６−６）へ進み、イメージ要素の領域の決定と配置位置の決定の処理を行なう。なお、本実施形態において、イメージ領域の大きさの決定方法は、イメージ領域の大きさがＸＨＴＭＬドキュメントの中で指定してある大きさの縦横比を、ステップ（６−１）で求めたセルの横領域に適用して高さを求める。
【００９６】
そして、ステップ（６−８）においては、さらに処理すべきセルが存在するかどうかをチェックし、セルが存在すると判定した場合には、ステップ（６−２）へ戻って同様の処理を行ない、セルが存在しないと判定した場合には、処理を終了する。
【００９７】
図１１は、本発明に係る情報処理装置における第３のデータ処理手順の一例を示すフローチャートであり、図１０に示したステップ（５−８）のフォントサイズの最小値チェックとそれに応じた各ブロックのレイアウトの再設定処理の詳細手順に対応する。なお、（７−１）〜（７−５）は各ステップを示す。
【００９８】
先ず、ステップ（７−１）においては、図９に示したステップ（５−１）で求めた基準フォントサイズとステップ（５−３）あるいは図１０に示したステップ（６−７）で求めた各ブロックの拡大縮小率を元に各ブロックの基準フォントサイズの大きさを求める。計算方法としては単純に基準フォントサイズ×拡大縮小率となる。
【００９９】
そして、ステップ（７−２）においては、ステップ（７−１）で計算された各ブロックの基準フォントサイズの大きさの値を比較して、もっとも小さいフォントサイズの値を抽出する。
【０１００】
そして、ステップ（７−３）においては、あらかじめ設定された基準フォントサイズの最小値とステップ（７−２）で抽出された最小フォントサイズとを比較して、抽出された最小フォントサイズが、基準フォントサイズの最小値よりも小さいかどうかを判定して、大きいと判定した場合には、特に処理をする必要がないのでここで処理を終了する。
【０１０１】
一方、ステップ（７−３）で、ステップ（７−２）で抽出された最小フォントサイズが基準フォントサイズの最小値よりも小さいと判定された場合には、出力フォントが小さくなりすぎて印刷してもフォントが小さくなりすぎて読めない等の弊害が出てしまうので、基準フォントサイズの最小値まで拡大する必要があるので、ステップ（７−４）へ進み、ステップ（７−２）で求めた最小フォントサイズを基準フォントサイズの最小値まで拡大する拡大倍率計算を行なって、拡大倍率を求める。
【０１０２】
次に、ステップ（７−５）においては、ステップ（７−４）で求めた拡大倍率を全てのブロックのフォントサイズ、配置位置座標値、領域の幅や高さ等に掛け算を行ない、全体領域を広げる各ブロック出力サイズの調整処理を行い、処理を終了する。
【０１０３】
これにより、図１２に示すように、指定出力用紙のサイズＯＵＴ（図１２の（ａ））に無理やり縮小して文字がつぶれてしまっていたようなドキュメントも、図１２の（ｂ）に示すように複数ページＰ１〜Ｐ４に広げることが可能となる。そして、プリンタ側では広げられた領域を複数ページに分割して出力を行なうことになる。
【０１０４】
なお、プリンタにおける出力時に、両面印刷機能を有する場合には、両面印刷モードの指定状態を判定して、２枚の用紙の表裏に複数ページに分割して出力を行なうように構成してもよい。
【０１０５】
上記実施形態によれば、ＨＴＭＬファイルを印刷しようとした場合に、出力用紙サイズを意識して作成されていない為、出力用紙の用紙サイズに収まらず、領域をオーバして印刷されるものや、領域に収めようとすると、文字が小さくなってしまって読めなくなってしまう等の問題点を解決し、ＨＴＭＬの文書データの相対座標で指定されているデータと出力用紙のサイズを元にして、適切な領域の割り当ておよび文字のサイズの割り当てを行なうので、印刷装置に対する出力領域に適したレイアウトを行なうことが可能となる。
【０１０６】
以下、図１３に示すメモリマップを参照して本発明に係る情報処理装置を適用可能な印刷システムで読み出し可能なデータ処理プログラムの構成について説明する。
【０１０７】
図１３は、本発明に係る情報処理装置を適用可能な印刷システムで読み出し可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【０１０８】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０１０９】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０１１０】
本実施形態における図９〜図１１に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０１１１】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１１２】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１１３】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピーディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭ，ＥＥＰＲＯＭ等を用いることができる。
【０１１４】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１１５】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１１６】
【発明の効果】
以上説明したように、本発明によれば、ブロックの要素を各属性毎に解析して、ドキュメントファイル中のテキストデータがあらかじめ設定される最小文字サイズ以上の文字サイズとして印刷可能なレイアウト形式のドキュメントファイルにフォーマット変換して、相対座標で指定されているドキュメントの各属性に従うデータと出力用紙のサイズとに基づき、適切な領域の割り当ておよび文字のサイズの割り当てを行なうことにより、出力用紙サイズを意識して作成されていない為、出力用紙の用紙サイズに収まらず、領域をオーバして印刷されるものや、領域に収めようとすると、文字が小さくなってしまって読めなくなってしまう事態を回避して、レイアウトが規定されない属性の異なる複数のブロックからなるドキュメントファイルから印刷装置に対する出力領域に適したレイアウトを行なわれたドキュメントファイルを生成できる効果を奏する。
【図面の簡単な説明】
【図１】本発明の情報処理装置を適用可能な文書印刷システムの構成を説明する図である。
【図２】図１に示したクライアントパソコン及びファイルサーバ及びＷｅｂサーバの概略構成を示すブロック図である。
【図３】図２に示したＲＡＭのメモリマップの一例を示す図である。
【図４】図１に示したプリンタの構成を説明するブロック図である。
【図５】本発明に係る情報処理装置におけるドキュメントの変換処理状態を説明するブロック図である。
【図６】図５に示したＸＨＴＭＬ形式のドキュメント例を説明する図である。
【図７】図６に示したＸＨＴＭＬ形式のドキュメント例のレイアウト構造を説明する図である。
【図８】図７に示したＸＨＴＭＬ形式のドキュメントのＳＶＧ変換リスト例を説明する図である。
【図９】本発明に係る情報処理装置における第１のデータ処理手順の一例を示すフローチャートである。
【図１０】本発明に係る情報処理装置における第２のデータ処理手順の一例を示すフローチャートである。
【図１１】本発明に係る情報処理装置における第３のデータ処理手順の一例を示すフローチャートである。
【図１２】本発明に係る情報処理装置における自動レイアウト出力例を示す図である。
【図１３】本発明に係る情報処理装置を適用可能な印刷システムで読み出し可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【符号の説明】
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  ＫＢＣ
１０５  ＫＢ
１０６  ＣＲＴＣ
１０７  ＣＲＴ
１０８  ＤＫＣ
１０９  外部記憶装置
１１０  ＮＴＣ
１１１  ＮＴ
１１２  システムバス
【図１】
0004510232.tif 000002
【図２】
0004510232.tif 000003
【図３】
0004510232.tif 000004
【図４】
0004510232.tif 000005
【図５】
0004510232.tif 000006
【図６】
0004510232.tif 000007
【図７】
0004510232.tif 000008
【図８】
0004510232.tif 000009
【図９】
0004510232.tif 000010
【図１０】
0004510232.tif 000011
【図１１】
0004510232.tif 000012
【図１２】
0004510232.tif 000013
【図１３】
0004510232.tif 000014