(57)【特許請求の範囲】
【請求項１】
構造化文書に基づくＷｅｂページにおける当該構造化文書に含まれる複数の要素に対応する領域を特定するための情報に基づき、当該Ｗｅｂページにおいてユーザにより指定された位置を含む第１の領域に対応し且つ当該構造化文書に基づく階層構造における最上位の第１の要素を、当該複数の要素から決定する決定手段と、
前記階層構造において前記決定手段により決定された前記第１の要素よりも下位であり、且つ前記ユーザにより指定された前記位置を含む第２の領域に対応する第２の要素を特定し、前記第１の領域の大きさと当該第２の領域の大きさとを比較する比較手段と、
前記比較手段による比較結果に基づき、前記第１の領域の大きさに対応する前記第２の領域の大きさの比率が所定の閾値以下の場合に当該第１の要素が選択され、当該比率が当該所定の閾値より大きい場合に当該第２の要素が選択されるように、出力対象の候補の要素を選択する選択手段と
を有することを特徴とする情報処理装置。
【請求項２】
前記階層構造において前記構造化文書に含まれている注目要素の下位である同一階層の複数の要素の前記Ｗｅｂページにおける領域の大きさを解析することで、当該複数の要素のうちの当該領域の大きさが最大の要素を候補要素として特定し、当該候補要素に対応する領域の大きさと当該候補要素のさらに下位の要素に対応する領域の大きさとの比較結果に応じて当該候補要素が出力対象の候補の要素として選択された場合に、当該出力対象の候補の要素として選択された当該候補要素をユーザに通知する通知手段を更に有し、
前記決定手段は、前記通知手段による通知が行われた後にユーザにより指定された位置に応じて前記第１の要素を決定し、
前記選択手段は、前記決定手段により決定された前記第１の要素と当該第１の要素よりも下位の前記第２の要素とから、出力対象の候補の要素を選択する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記通知手段は、前記構造化文書に基づき表示装置に表示されている前記Ｗｅｂページのうち、出力対象の候補の要素として選択された候補要素に対応する領域を示す表示を、前記表示装置に行なわせる
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記選択手段が前記第２の要素を出力対象の候補として選択した場合、前記比較手段はさらに、当該第２の要素に対応する前記第２の領域の大きさと、前記階層構造において当該第２の要素よりも下位である第３の要素に対応し且つ前記ユーザにより指定された前記位置を含む第３の領域の大きさを比較し、
前記選択手段はさらに、当該第２の領域の大きさに対する当該第３の領域の大きさの比率が所定の閾値以下の場合に当該第２の要素が選択され、当該比率が当該所定の閾値より大きい場合に当該第３の要素が選択されるように、出力対象の候補の要素を選択することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記選択手段は、前記階層構造における親の要素である前記第１の要素と子の要素である前記第２の要素について、前記Ｗｅｂページにおける領域の大きさを比較することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記第１の要素の子要素のそれぞれに対応する領域の前記Ｗｅｂページにおける座標と、前記ユーザが指定した前記位置の当該Ｗｅｂページにおける座標とを比較することにより、当該子要素から前記第２の要素を特定する特定手段を有し、
前記比較手段は、前記第１の要素と、前記特定手段により特定された第２の要素とについて、前記Ｗｅｂページにおける領域の大きさを比較することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記選択手段は、前記第１の要素を出力対象の候補の要素として選択した場合、当該第１の要素と同一階層の他の要素を出力対象の候補の要素として選択しないことを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記選択手段は、前記第２の要素を出力対象の候補として選択した場合、当該第２の要素と同一階層の、前記第１の要素に含まれる他の要素を出力対象の候補の要素として選択しないことを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
構造化文書に含まれる複数の要素のうち、前記選択手段により選択された要素を出力する出力手段
を更に有することを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記出力手段は、
前記複数の要素のうち、前記選択手段により選択された要素のみを出力する
ことを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
前記出力手段は、
前記複数の要素のうち前記選択手段により選択された要素と、当該複数の要素における他の要素との両方を区別して出力する
ことを特徴とする請求項９に記載の情報処理装置。
【請求項１２】
前記出力手段は、前記選択手段により出力対象として選択された要素に対応する画像を表示装置に表示させることを特徴とする請求項９乃至１１のいずれか１項に記載の情報処理装置。
【請求項１３】
前記出力手段は、
前記選択手段により選択された要素に対応する画像を印刷装置に印刷させることを特徴とする請求項９乃至１１のいずれか１項に記載の情報処理装置。
【請求項１４】
前記構造化文書は、ＨＴＭＬ、ＸＨＴＭＬ、またはＸＭＬで記述されていることを特徴とする請求項１乃至１３のいずれか１項に記載の情報処理装置。
【請求項１５】
決定手段が、構造化文書に基づくＷｅｂページにおける当該構造化文書に含まれる複数の要素に対応する領域を特定するための情報に基づき、当該Ｗｅｂページにおいてユーザにより指定された位置を含む第１の領域に対応し且つ当該構造化文書に基づく階層構造における最上位の第１の要素を、当該複数の要素から決定する工程と、
比較手段が、前記階層構造において前記決定手段により決定された前記第１の要素よりも下位であり、且つ前記ユーザにより指定された前記位置を含む第２の領域に対応する第２の要素を特定し、前記第１の領域の大きさと当該第２の領域の大きさとを比較する工程と、
選択手段が、前記比較手段による比較結果に基づき、前記第１の領域の大きさに対応する前記第２の領域の大きさの比率が所定の閾値以下の場合に当該第１の要素が選択され、当該比率が当該所定の閾値より大きい場合に当該第２の要素が選択されるように、出力対象の候補の要素を選択する工程と
を有することを特徴とする情報処理方法。
【請求項１６】
請求項１乃至１４のいずれか１項に記載の情報処理装置の各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、その情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
ユーザは、インターネット上のＷｅｂページにアクセスして様々な情報を得ている。Ｗｅｂページは、ＨＴＭＬ（Hyper Text Markup Language）又はＸＨＴＭＬ（Extensible Hyper Text Markup Language）等のような構造化言語で記述された構造化文書で構成される。ユーザは、このような構造化文書の表示に対応したブラウザーと呼ばれるソフトウェアを用いてＷｅｂページを参照する。
【０００３】
ここで、Ｗｅｂページを印刷する場合、ユーザは、Ｗｅｂページの全体ではなく、その一部の領域の印刷を希望する場合がある。このようなＷｅｂページの一部の領域を印刷する技術は多々知られている。例えば、Ｗｅｂページのうち、印刷実行時にブラウザーのウィンドウ上に表示されている領域のみを印刷対象として、その印刷対象の領域の画像データに基づく印刷を行なう技術が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−３５１６３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記の特許文献１に記載されている技術に従って、ユーザが、Ｗｅｂページの所望の領域を出力させる場合、ユーザは、まず、Ｗｅｂページのうち出力対象として希望する領域のみをブラウザーのウィンドウに表示させなければならない。
【０００６】
上記の点に鑑み、本発明は、構造化文書に含まれている要素から出力対象の要素を適切に選択することができる情報処理装置、情報処理方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明の一態様による情報処理装置は、構造化文書に基づくＷｅｂページにおける当該構造化文書に含まれる複数の要素に対応する領域を特定するための情報に基づき、当該Ｗｅｂページにおいてユーザにより指定された位置を含む第１の領域に対応し且つ当該構造化文書に基づく階層構造における最上位の第１の要素を、当該複数の要素から決定する決定手段と、前記階層構造において前記決定手段により決定された前記第１の要素よりも下位であり、且つ前記ユーザにより指定された前記位置を含む第２の領域に対応する第２の要素を特定し、前記第１の領域の大きさと当該第２の領域の大きさとを比較する比較手段と、前記比較手段による比較結果に基づき、前記第１の領域の大きさに対応する前記第２の領域の大きさの比率が所定の閾値以下の場合に当該第１の要素が選択され、当該比率が当該所定の閾値より大きい場合に当該第２の要素が選択されるように、出力対象の候補の要素を選択する選択手段とを有する。
【発明の効果】
【０００８】
本発明によれば、構造化文書に含まれる複数の要素のうちの、ユーザによる指示に応じて決定された一部の要素群において要素同士を比較することにより、当該要素群から出力対象の要素を前記決定された要素が含まれるように選択する。よって、適切な要素を出力対象の要素として選択することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施の形態に係わる印刷システムの構成の一例を示す図。
【図２】図１に示すＰＣ１０のハードウェア構成の一例を示す図。
【図３】図１に示すＰＣ１０上に実現される機能的な構成の一例を示す図。
【図４】表示装置１６上に表示されるＧＵＩ画面の一例を示す図。
【図５】表示装置１６上に表示されるＧＵＩ画面の一例を示す図。
【図６】表示装置１６上に表示されるＧＵＩ画面の一例を示す図。
【図７】構造化文書の構成の一例を示す図。
【図８】階層化された要素のデータ構造の一例を示す図。
【図９】図１に示すＰＣ１０における処理の流れの一例を示すフローチャート。
【図１０】図１に示すＰＣ１０における処理の流れの一例を示すフローチャート。
【発明を実施するための形態】
【００１０】
以下、本発明の一実施の形態について添付図面を参照して詳細に説明する。なお、「記録媒体」とは、一般的な記録装置で用いられる紙のみならず、布、プラスチック・フィルム、金属板、ガラス、セラミックス、樹脂、木材、皮革等を含む。
【００１１】
図１は、本発明の一実施の形態に係わる印刷システムの構成の一例を示す図である。
【００１２】
印刷システムには、インターネット４０を介して、パーソナルコンピュータ（以下、単に「ＰＣ」と呼ぶ）１０と、プリンタ２０と、複数のＷＷＷサーバ３０とが接続される。ＰＣ１０とプリンタ２０との間は、例えば、ＬＡＮ（Local Area Network）、ＵＳＢ（Universal Serial Bus）等を用いて通信可能に接続されている。なお、ここに示す全体構成はあくまで一例であり、例えば、ＰＣ１０、プリンタ２０がそれぞれ複数台ずつ設けられていても良いし、また、これ以外の装置が接続されていても良い。
【００１３】
ＰＣ１０は、ユーザが扱う情報処理装置である。ＰＣ１０は、インターネット４０を介してＷＷＷサーバ３０からＷｅｂページをダウンロードし、当該ダウンロードしたＷｅｂページを表示する。Ｗｅｂページは、ＨＴＭＬやＸＨＴＭＬ、ＸＭＬ等で記述された構造化文書で構成される。構造化文書とは、複数種類の要素を用いて文書の構造を定義する構造化記述言語（例えば、マークアップ言語）により記述された文書であり、当該文書に基づいて表示画面が作成されるものであれば、Ｗｅｂページ以外であっても構わない。また、ＰＣ１０は、ＷＷＷサーバ３０上のＷｅｂページをダウンロードした後、当該ｗｅｂページの印刷をプリンタ２０に指示することもできる。
【００１４】
プリンタ２０は、記録媒体（例えば、用紙）に対して画像を形成し印刷を行なう印刷装置である。なお、プリンタ２０の印刷方式は、特に問わず、例えば、インクジェット方式であっても良いし、電子写真方式であっても良い。
【００１５】
ＷＷＷサーバ３０は、ＨＴＭＬやＸＨＴＭＬ等で記述されたＷｅｂページや画像等を格納し、ＰＣ１０等からの要求に応じて、インターネット４０を介してこれら情報を提供する。
【００１６】
次に、図２を用いて、図１に示すＰＣ１０のハードウェア構成の一例について説明する。
【００１７】
ＰＣ１０は、ＣＰＵ１１と、ＲＡＭ１２と、ＲＯＭ１３と、ハードディスク１４と、ＵＳＢインターフェース１５と、表示装置１６と、入力装置１７と、ＬＡＮインターフェース１８とを具備して構成される。なお、これらＰＣ１０を構成する各部は、バス１９を介して通信可能に接続されている。
【００１８】
ＣＰＵ１１は、ＰＣ１０における動作を統括制御する。より具体的には、ＣＰＵ１１は、ＲＯＭ１３やハードディスク１４等に格納されたプログラムに従ってデータや命令の演算等を行なう。
【００１９】
ＲＡＭ１２は、ＣＰＵ１１が各種処理を行なう際にワーク領域として使用される。ハードディスク１４は、オペレーティングシステム（ＯＳ）、ブラウザーや、その他のアプリケーションソフト等を記憶する。
【００２０】
ＵＳＢインターフェース１５は、ＵＳＢケーブルが接続されるインターフェースであり、例えば、プリンタ２０との間でデータ通信を行なうために用いられる。ＬＡＮインターフェース１８は、ＬＡＮケーブルが接続されるインターフェースであり、例えば、インターネット４０を介してＷＷＷサーバ３０との間でデータ通信を行なうために用いられる。なお、ＵＳＢインターフェース１５及びＬＡＮインターフェース１８を用いたデータ通信は、有線であっても無線であっても構わない。
【００２１】
表示装置（表示器）１６は、例えば、ＣＲＴや液晶ディスプレイ等であり、ＷＷＷサーバ３０からダウンロードした情報に基づいて各種画面（例えば、Ｗｅｂページ、印刷プレビュー画像、グラフィックユーザインターフェース（ＧＵＩ））を表示する。入力装置１７は、例えば、マウスやキーボード等であり、ユーザからの指示を装置内に入力する。
【００２２】
次に、図３を用いて、ＰＣ１０上に実現される機能的な構成の一例について説明する。なお、構造化文書印刷モジュール５２内に実現される機能的な構成は、例えば、ＣＰＵ１１がＲＡＭ１２をワーク領域としてＲＯＭ１３から読み込んだプログラム（例えば、構造化文書印刷モジュール）を実行することで実現される。
【００２３】
ここで、ブラウザー５１は、Ｗｅｂページを表示するアプリケーションであり、ＷＷＷサーバ３０上のＷｅｂページをＰＣ１０上のハードディスク１４へダウンロードし、当該ダウンロードしたＷｅｂページを表示装置１６へ表示する役割を果たす。上述した通り、Ｗｅｂページは、ＨＴＭＬやＸＨＴＭＬ等の構造化文書であり、テキストや画像等の構造化文書を構成する要素がタグを用いて記述されている。また、これら要素の表示スタイルを規定するスタイルシート（ＣＳＳ：Cascading Style Sheet）と呼ばれる別ファイルが構造化文書内で指定されている。ブラウザー５１は、これらの構造化文書を解析し表示装置１６へ表示する。
【００２４】
構造化文書印刷モジュール５２は、ブラウザー５１から呼び出されるプラグインソフトウェアである。例えば、ユーザが、印刷領域を選択していない状態でブラウザー５１に対して後述する印刷領域の自動抽出を指示した場合、この構造化文書印刷モジュール５２が起動される。また、例えば、ユーザが、印刷領域を選択している状態でブラウザー５１に対して、再度、印刷領域の自動抽出を指示した場合にも、この構造化文書印刷モジュール５２が起動される。
【００２５】
なお、以下の説明では、構造化文書印刷モジュール５２が、Ｗｅｂページにおける印刷対象の領域を決定し、当該決定した領域の画像をプリンタ２０に印刷させる場合について説明する。しかし、構造化文書印刷モジュール５２による処理は、画像の印刷に限られず、Ｗｅｂページにおける出力対象の領域を決定し、当該決定した領域の表示や、メモリへの記憶制御、外部装置への転送、等の種々の制御を行なう場合も含まれる。
【００２６】
また、構造化文書に含まれる複数の要素のうち、自動選択された要素のみを出力するようにしても良いし、自動選択された要素と他の要素との両方を、ユーザが区別可能なように出力するようにしても良い。
【００２７】
なお、出力領域が選択されていない状態で、ユーザが出力領域の自動抽出を指示するには、マウス等を用いて、自動抽出モードの設定を指示するとともに、自動抽出の開始を指示する。また、出力領域が選択されている状態で、ユーザが出力領域の自動抽出を指示するには、自動抽出モードが設定されている状態で、マウス等を用いて、Ｗｅｂページ内の所望する出力領域を指定する。
【００２８】
ここで、構造化文書印刷モジュール５２は、その機能的な構成として、印刷対象要素選択部６１と、強調表示処理部６２と、要素抽出部６３と、印刷レイアウト部６４と、印刷プレビュー部６５と、印刷制御部６６とを具備して構成される。
【００２９】
印刷対象要素選択部６１は、構造化文書内から印刷対象となる要素を抽出する機能を果たし、階層データ構築部６１ａと、要素選択部６１ｂと、要素再選択部６１ｃとを具備して構成される。
【００３０】
階層データ構築部６１ａは、構造化文書内の要素を解析し、ＤＯＭツリーをＲＡＭ１２上に構築する。ＤＯＭツリーとは、構造化文書を構成する各要素の階層構造を示すデータである。このＤＯＭツリーを取得することにより、構造化文書に含まれる、子要素に対する親要素、また、親要素に対応する子要素を特定することができる。つまり、ＤＯＭツリーを用いることにより、Ｗｅｂページにおいて、特定の子要素に対応する領域を含む、親要素を特定することができる。
【００３１】
要素選択部６１ｂは、印刷領域が未選択の状態でユーザにより要素の自動抽出が指示された場合に、ＤＯＭツリーを用いて、構造化文書から１つ又は複数の要素（以下、印刷対象要素と呼ぶ）を選択する。この要素の選択は、要素の内容（各要素の面積、テキスト量、テキスト比率等）を参照することにより行なわれる。なお、テキスト量は、例えば、要素内の文字情報のうち、実際にブラウザー上に表示される文字の文字数を指す。また、テキスト比率は、例えば、要素の全タグサイズとテキスト量との比率を表す。
【００３２】
また、要素再選択部６１ｃは、印刷領域が既に要素選択部６１ｂにより選択されている状態でユーザにより要素の自動抽出が指示された場合に、ＤＯＭツリーを用いて、構造化文書から１つ又は複数の印刷対象要素を再選択する。印刷対象要素の再選択では、ユーザからのマウスのクリック等により指定されたＷｅｂページにおける座標に配置されている要素が印刷対象要素として選択される。なお、ＤＯＭツリー及び印刷対象要素の選択の仕方の詳細については後述する。
【００３３】
強調表示処理部６２は、印刷対象要素選択部６１により選択された印刷対象要素を印刷領域としてブラウザー５１上に強調表示する。例えば、印刷対象要素を半透明の矩形で括る等して強調表示する。なお、この強調表示は、印刷対象として選択された要素や、Ｗｅｂページにおける、その要素に対応する領域をユーザに通知するために行なう。従って、印刷対象の要素をユーザに通知できれば良く、その方法は、強調表示に限定されるものではない。例えば、要素に含まれるテキストや、要素として挿入されるファイルのファイル名等の、選択されている要素を示す情報を表示しても良い。また、通知の方法も表示に限られず、選択されている要素を示す情報をプリンタに印刷させることによりユーザに通知しても良いし、音声等でユーザに通知しても良い。
【００３４】
要素抽出部６３は、印刷対象要素選択部６１により選択された印刷対象要素を構造化文書から抽出する。印刷レイアウト部６４は、印刷設定に従って、要素抽出部６３により抽出された印刷対象要素の記録媒体上（例えば、用紙上）のレイアウトを決定する。なお、印刷設定は、用紙サイズ、解像度、印刷可能領域等の情報を含む。印刷設定は、ＯＳ５３を介してプリンタドライバ５４から取得する。印刷プレビュー部６５は、印刷レイアウト部６４により決定されたレイアウトに従って印刷対象要素を配置し、印刷プレビューとして表示装置１６に表示する。
【００３５】
印刷制御部６６は、印刷レイアウト部６４により決定された印刷対象要素のレイアウトを示す配置情報に従って、当該印刷対象要素に基づく印刷を制御する。より具体的には、ＯＳ５３を介してプリンタドライバ５４に印刷対象要素の描画処理を行なわせる。
【００３６】
再選択指示部６７は、ユーザにより入力装置１７を介して指示される印刷領域の再選択の指示を受け付ける。この指示は、要素選択部６１ｂにより選択された印刷対象要素を強調表示した後、ユーザに入力される。
【００３７】
ＯＳ５３は、各種ＡＰＩ（Application Programming Interface）を提供する。例えば、例えば、構造化文書印刷モジュール５２とプリンタドライバ５４とが印刷設定データのやり取りを行なうためのＡＰＩや、描画処理を行うためのＡＰＩを提供する。また、ＯＳ５３には、印刷ジョブを管理するスプーラシステム、プリンタコマンドをポートへ出力するポートモニター等の各種制御ソフトウェアが含まれているが、この技術については周知技術であるのでその詳細については省略する。
【００３８】
プリンタドライバ５４は、印刷制御部６６による制御に従って描画処理を実行し、印刷データを作成するとともに、それをプリンタコマンドに変換する。その後、ＯＳ５３を介してプリンタコマンドをプリンタ２０に向けて送信する。これにより、プリンタ２０に記録媒体（例えば、用紙）上へ画像を印刷させることができる。
【００３９】
次に、図４〜図６を用いて、表示装置１６上（表示器上）に表示されるＧＵＩ画面の一例について説明する。なお、図４〜図６は、構造化文書（Ｗｅｂページ）をブラウザー５１上に表示した場合の一例を示している。
【００４０】
ブラウザー５１には、図４に示すように、戻るボタン７１や進むボタン７２、アドレス入力領域７３等が設けられている。また、ブラウザー５１には、印刷ボタン７４、印刷プレビューボタン７５、範囲選択ボタン７６、自動抽出ボタン７７も設けられている。
【００４１】
ここで、ユーザによるマウス等を介した操作により自動抽出ボタン７７が押下されると、構造化文書印刷モジュール５２が起動され、印刷領域（印刷対象要素）が自動的に選択される。
【００４２】
また、構造化文書印刷モジュール５２が起動すると、図５に示すように、ブラウザー５１上には、プラグイン領域８１が表示される。プラグイン領域８１には、印刷の開始を指示する印刷ボタン７８と、印刷プレビューの表示を指示する印刷プレビューボタン７９と、キャンセルボタン８０とが配されている。キャンセルボタン８０が押下された場合は、図４に示す画面表示に戻る。
【００４３】
ここで、構造化文書印刷モジュール５２は、Ｗｅｂページの構成を記述する構造化文書から印刷対象要素を特定する。そして、当該特定した印刷対象要素を印刷領域として選択するとともに、当該印刷対象要素のブラウザー５１上における表示領域を強調表示する。この場合、領域８２が、印刷領域として強調表示されている。なお、強調表示は、例えば、スタイルシート内の設定を変更する等して行なえばよい。図５に示す一例では、半透明矩形を用いて領域８２を強調表示しているが、これはあくまで一例であり、例えば、背景色の変更、領域の枠のみを表示する等して強調表示しても良い。
【００４４】
ここで、ユーザ所望の印刷領域と強調表示された領域８２とが一致すれば、ユーザは、印刷領域を確定するため、再度、マウス等を介して自動抽出ボタン７７を押下（クリック）する。
【００４５】
一方、ユーザ所望の印刷領域と強調表示された領域８２とが一致しなければ、図６に示すように、ユーザは、マウス等を介して印刷を所望するＷｅｂページ上の領域をクリックする。すると、ブラウザー５１は、表示中のＷｅｂページに対応する構造化文書と、Ｗｅｂページにおいてユーザによりクリックされた位置を示すＷｅｂページにおける座標情報とをパラメータとして、構造化文書印刷モジュール５２を再度呼び出す。なお、ここでは、ユーザによる指示に応じて構造化文書印刷モジュール５２を再度呼び出す場合を例に挙げて説明するが、ユーザによる指示に応じて、上述した座標情報が構造化文書印刷モジュール５２に直接入力されるように構成されても良い。
【００４６】
ここで、再呼び出しされた構造化文書印刷モジュール５２は、構造化文書からクリック位置を含む要素を特定する。その後、特定された印刷対象要素を印刷領域として選択するとともに、当該印刷対象要素のブラウザー５１上における表示領域を求め、その領域を強調表示する。この場合、領域８３が印刷領域として強調表示されている。
【００４７】
この結果、ユーザ所望の印刷領域と強調表示された領域８３とが一致すれば、ユーザは、印刷領域を確定するため、マウス等を介して自動抽出ボタン７７をクリックする。なお、この状態でも所望する印刷領域と強調表示された領域９３とが相違していれば、ユーザは、再度、マウス等を介して印刷を所望するＷｅｂページ上（表示画面上）の領域をクリックする。
【００４８】
ここで、図７は、構造化文書の構成の一例を示している。図７に示す構造化文書は、ＸＨＴＭＬ形式で記述されている。ここでは、図示しないが構造化文書における各要素のレイアウト情報は、一般に、スタイルシートを用いて記述されている。
【００４９】
図８は、ＤＯＭツリーと呼ばれる階層化された要素のデータ構造の一例を示している。なお、図８は、印刷対象要素選択部６１により図７に示す構造化文書に基づいて構築されたＤＯＭツリーを示している。
【００５０】
図７に示す構造化文書に基づいて構築されたＤＯＭツリーは、文書全体を表すｄｏｃｕｍｅｎｔノード９１をルートノードに持つ。そして、その子ノードにｈｅａｄ要素のノード９２と、ｈｔｍｌ要素のノード９３とを持つ。ｈｔｍｌ要素のノード９４は更に、その子ノードにｂｏｄｙ要素のノード９４を持つ。
【００５１】
このように各要素ノードは、親要素ノードへのポインタ、兄弟要素ノードへのポインタ、子要素ノードリストへのポインタ、属性情報、テキスト情報等のデータを保持する。なお、各要素の表示態様やレイアウト情報は、スタイルシートで定義されており、これらはＤＯＭツリーの各要素のノード情報としてＲＡＭ１２等に記憶される。この各要素のノード情報としては、例えば、フォント種別、フォントサイズ、文字色、表示位置等が該当する。
【００５２】
次に、図９及び図１０を用いて、図１に示すＰＣ１０における処理の流れの一例について説明する。なお、図９及び図１０に示す処理は、図３に示す構造化文書印刷モジュール５２内の各機能構成に対応するプログラムを、ＣＰＵ１１が実行することにより実現される。
【００５３】
ここでは、まず、図９を用いて、印刷領域が未選択状態で自動抽出が指示された場合に、印刷対象領域を選択する処理の流れについて説明する。
【００５４】
この処理は、図４に示すブラウザー５１上において、マウス等を介してユーザにより自動抽出ボタン７７が押下されると開始する（Ｓ１０１でＹＥＳ）。この処理が開始すると、ＰＣ１０は、ＣＰＵ１１において、ブラウザー５１に表示中のＷｅｂページの構造化文書をパラメータとして構造化文書印刷モジュール５２を起動する。
【００５５】
構造化文書印刷モジュール５２は、階層データ構築部６１ａにおいて、ブラウザー５１を介して構造化文書を読み出し、ＲＡＭ１２上にＤＯＭツリーを構築する（Ｓ１０２）上述した通り、ＤＯＭツリー各要素は、ノード情報を保持する。
【００５６】
ＤＯＭツリーの構築が済むと、構造化文書印刷モジュール５２は、要素選択部６１ｂにおいて、当該ＤＯＭツリー内からｂｏｄｙ要素９４を特定し、そのｂｏｄｙ要素９４を注目要素Ｒｉ（ｉは自然数：初期値は１）とする（Ｓ１０３）。なお、Ｒｉの初期値は、Ｒ１となる。また、自然数ｉは、ＤＯＭツリーのｂｏｄｙ要素９４以下の階層数を表し、ｉの値が増えるほど、構造化文書におけるより下位の階層を表す。
【００５７】
印刷対象要素選択部６１は、以降の処理（Ｓ１０４〜Ｓ１１０の処理）を繰り返し実施し、ＤＯＭツリーの上位の階層から下位の階層へ各階層毎に注目要素を特定する。より具体的には、まず、要素選択部６１ｂは、注目要素Ｒｉの直下（１つ下の階層）にある全ての子要素の表示領域上における幅及び高さ（単位はピクセル）を取得し、これらの情報に基づいて注目要素Ｒｉの直下にある全ての子要素の表示面積を求める（Ｓ１０４）。なお、子要素各々の表示面積は、例えば、タグに併記された情報やスタイルシートに規定された情報等を用いて求めれば良い。
【００５８】
続いて、要素選択部６１ｂは、注目要素Ｒｉの直下（１つ下の階層）にある全ての子要素に含まれるテキスト量と、ＸＨＴＭＬタグサイズとをそれぞれ取得し、これらの情報に基づいて当該全ての子要素におけるテキスト比率を求める（Ｓ１０５）。
【００５９】
ここで、印刷対象要素選択部６１は、注目要素Ｒｉの直下にある全ての子要素のうち、テキスト比率が第１の閾値を越え、且つその表示面積が最大となる要素を特定する。そして、当該特定した要素を候補要素Ｃに設定する（Ｓ１０６）。
【００６０】
次に、要素選択部６１ｂは、注目要素Ｒｉと候補要素Ｃとにおける表示面積を比較し、候補要素Ｃの注目要素Ｒｉに対する表示面積の比率を求める（Ｓ１０７）。比較の結果、その表示面積の比率が第２の閾値を越えていれば（Ｓ１０８でＹＥＳ）、階層数ｉを「１」インクリメントした後（Ｓ１０９）。当該候補要素Ｃを注目要素Ｒｉに設定する（Ｓ１１０）。その後、ＰＣ１０は、再度、Ｓ１０４の処理に戻り、上述した処理を繰り返す。
【００６１】
なお、上記の面積の比率が予め定められた閾値を越えているとは、Ｗｅｂページにおいて、親要素であるＲｉに対応する領域内の、子要素（候補要素Ｃ）に対応する領域の面積が十分大きいことを意味する。この場合、出力対象の要素としてより適切な要素が子要素Ｃに含まれる可能性があり、そのため、要素Ｃに含まれる子要素に対して上記のＳ１０４〜Ｓ１０７における処理を実施し、出力対象の候補となる要素を抽出する。
【００６２】
このようにＳ１０４〜Ｓ１０７の処理を、構造化文書における各階層に対して行なうことにより、それぞれの階層に対応した出力対象の候補として、要素Ｒ１〜Ｒｎを特定することができる。
【００６３】
一方、上記の表示面積の比率が第２の閾値を越えていなければ（Ｓ１０８でＮＯ）、Ｒ１〜Ｒｎのうち、表示面積が最小となる要素を印刷対象要素として選択した後（Ｓ１１１）、この処理を終了する。ここでは、上述した通り、親要素の直下に含まれる子要素を次の候補要素とする。そして、Ｗｅｂページにおいて、親要素Ｒｉに対応するＷｅｂページにおける領域の一部が、子要素Ｒ（ｉ＋１）に対応する領域となる。そのため、Ｓ１０４〜Ｓ１１０の処理において、注目する階層が下位になるほど、Ｗｅｂページにおいて注目要素に対応する面積が小さくなる。よって、Ｒｎが印刷対象要素として選択される。また、このＳ１１１における処理の後、図５に示すように、当該選択された印刷対象要素は、印刷領域として強調表示等される（第１の強調表示処理）。
【００６４】
なお、ここでは、注目要素Ｒ１〜Ｒｎのうち、面積が最小のものを出力対象の候補として選択する場合を例に挙げて説明したが、これに限られず、テキスト量等の種々の条件に従って、出力対象の候補を選択して良い。
【００６５】
続いて、図１０を用いて、印刷領域が選択された状態で自動抽出が再度指示された場合に、印刷対象領域を（再）選択する処理の流れについて説明する。
【００６６】
この処理は、図４に示すブラウザー５１上において、マウス等を介したユーザの操作によりＷｅｂページ上の任意の位置がクリックされると開始する（Ｓ２０１でＹＥＳ）。この処理が開始すると、ＰＣ１０は、ＣＰＵ１１において、ブラウザー５１に表示中のＷｅｂページの構造化文書と、Ｗｅｂページ内でクリックされた位置を示すＷｅｂページにおける座標情報とをパラメータとして構造化文書印刷モジュール５２を起動する。
【００６７】
構造化文書印刷モジュール５２は、階層データ構築部６１ａにおいて、ブラウザー５１を介して構造化文書を読み出し、ＲＡＭ１２上にＤＯＭツリーを構築する（Ｓ２０２）。そして、要素選択部６１ｂにおいて、当該ＤＯＭツリー内からｂｏｄｙ要素９４を特定し、そのｂｏｄｙ要素９４を注目要素Ｒｉ（ｉは自然数：初期値は１）とする（Ｓ２０３）。なお、Ｒｉの初期値は、Ｒ１となる。
【００６８】
印刷対象要素選択部６１は、以降の処理（Ｓ２０４〜Ｓ２１３の処理）を繰り返し実施し、ＤＯＭツリーの上位の階層から下位の階層へ各階層毎に注目要素を特定する。より具体的には、まず、要素再選択部６１ｃは、構造化文書印刷モジュール５２が起動したときに入力された座標情報に従って、注目要素Ｒｉの直下（１つ下の階層）にある全ての子要素を参照する。そして、当該子要素の中に、Ｗｅｂページにおいてユーザによりクリックされた位置（指定座標）に配置されている要素があるか否かの判定を行なう（Ｓ２０４）。すなわち、子要素各々が対応するＷｅｂページにおける表示領域の座標を求め、当該表示領域の座標とクリック位置の座標とを比較することにより要素の判定を行なう。なお、ユーザにより指定されたＷｅｂページにおける位置の座標は、再選択指示部６７により構造化文書印刷モジュール５２内に入力される。
【００６９】
判定の結果、該当の子要素があれば（Ｓ２０５でＹＥＳ）、要素再選択部６１ｃは、当該要素を候補要素Ｃに設定する。そして、候補要素Ｃの表示領域上における幅及び高さ（単位はピクセル）を取得し、これらの情報に基づいて候補要素Ｃの表示面積を求める（Ｓ２０８）。続いて、要素再選択部６１ｃは、候補要素Ｃに含まれるテキスト量と、ＸＨＴＭＬタグサイズとをそれぞれ取得し、これらの情報に基づいてテキスト比率を求める（Ｓ２０９）。
【００７０】
次に、要素再選択部６１ｃは、注目要素Ｒｉと候補要素Ｃとにおける表示面積を比較し、候補要素Ｃの注目要素Ｒｉに対する表示面積の比率を求める（Ｓ２１０）。比較の結果、その表示面積の比率が第２の閾値を越えていれば（Ｓ２１１でＹＥＳ）、階層数ｉを「１」インクリメントした後（Ｓ２１２）。当該候補要素Ｃを注目要素Ｒｉに設定する（Ｓ２１３）。その後、ＰＣ１０は、再度、Ｓ２０４の処理に戻り、上述した処理を繰り返す。
【００７１】
一方、表示面積の比率が第２の閾値を越えていなければ（Ｓ２１１でＮＯ）、要素再選択部６１ｃは、Ｒ１〜Ｒｎのうち、表示面積が最小となる要素を印刷対象要素として選択した後（Ｓ２１４）、この処理を終了する。ここでは、上述した通り、親要素の直下に含まれる子要素を次の候補要素とする。そして、Ｗｅｂページにおいて、親要素Ｒｉに対応するＷｅｂページにおける領域の一部が、子要素Ｒ（ｉ＋１）に対応する領域となる。そのため、Ｓ２０４〜Ｓ２１３の処理において、注目する階層が下位になるほど、Ｗｅｂページにおいて注目要素に対応する面積が小さくなる。また、このＳ２１４における処理の後、当該選択された印刷対象要素は、印刷領域として強調表示等される（第２の強調表示処理）。
【００７２】
また、Ｓ２０５の判定の結果、該当の子要素がなければ（Ｓ２０５でＮＯ）、要素再選択部６１ｃは、階層数ｉ＝１であるか否かの判定を行なう。ｉ＝１であれば（Ｓ２０６）、新たな印刷対象要素を選択せずに、この処理を終了する。すなわち、構造化文書における最も上位の階層（ｉ＝１）において、ユーザが指定したＷｅｂページの領域に対応する要素が存在しないため、処理を終了する。
【００７３】
また、ｉ＝１でなければ（Ｓ２０６でＮＯ）、Ｓ２０７の処理に進む。この場合、構造化文書における階層を下位に進みＷｅｂページにおける領域を絞り込んでいった結果、当該階層（ｉ＝ｎ）の注目要素Ｒｎに対応するＷｅｂページ内の領域は、ユーザがＷｅｂページ上で指定した座標に対応していないことになる。すなわち、この時点まで注目要素としていたＲ１〜Ｒ（ｎ−１）は、ユーザが指定したＷｅｂページ上の座標を含むが、Ｒｎは、その座標を含まないことが分かる。そこで、要素再選択部６１ｃは、注目要素Ｒ１〜Ｒｎ−１のうち、表示面積が最小となる要素を印刷対象要素として選択した後（Ｓ２０７）、この処理を終了する。ここでは、上述した通り、階層が下位になるほどＷｅｂページにおける面積が小さくなるため、Ｒｎ−１が印刷対象要素として選択される。また、このＳ２０７における処理の後、図６に示すように、当該選択された印刷対象要素は、印刷領域として強調表示等される（第２の強調表示処理）。
【００７４】
以上説明したように本実施形態によれば、構造化文書における各要素を階層化したＤＯＭツリーを階層毎に解析し、その解析結果に基づいて出力の対象とする要素を選択し、当該要素に対応するＷｅｂページ上の領域を強調して表示装置１６に表示する。そして、ユーザ所望の出力領域と、当該選択された要素とが不一致であれば、ユーザは、Ｗｅｂページ上の所望の要素が配置された位置（座標）を指定するだけで、出力対象の要素の再選択を指示できる。
【００７５】
以上のように、図１０に示すフローチャートに従えば、Ｓ２０４及びＳ２０５の処理により、ＤＯＭツリーに含まれる要素から、ユーザにより指定された要素を含む当該要素よりも上位の要素が、注目要素Ｒｉとして決定される。すなわち、ユーザにより決定された要素を含む要素が特定されることにより、要素群が特定されることになる。そして、Ｓ２０６及びＳ２０７の処理により、ユーザにより決定された要素よりも上位の階層の要素、又はユーザの指示により決定された要素が、出力対象として選択される。従って、ユーザの指示により決定された要素が、出力対象の要素として含まれることになる。
【００７６】
これにより、ユーザは、Ｗｅｂページにおける出力対象とする領域の選択を自動で行なうことができるとともに、選択された領域が気に入らない場合には、簡単な操作で所望の領域の自動選択を再び指示できる。
【００７７】
なお、上述した説明では、ユーザの指示により決定された要素の上位の要素を要素群として特定していた。しかし、これに限られず、ユーザの指示により決定された要素と同じ階層、又は下位の階層の要素を含むように要素群を特定しても良い。すなわち、ユーザの指示により決定された要素を含む要素群を特定し、結果的に、ユーザの指示により決定された要素が、出力対象の要素に含まれていれば良い。
【００７８】
以上が本発明の代表的な実施形態の一例であるが、本発明は、上記及び図面に示す実施形態に限定することなく、その要旨を変更しない範囲内で適宜変形して実施できるものである。
【００７９】
例えば、上述した図９や図１０で説明した処理の流れはあくまで一例であり、適宜変更して実施しても良い。例えば、図９の説明では、要素の面積（表示面積）やテキストの比率を用いて印刷対象要素の選択を行なっているが、テキストの比率のみに基づいて印刷対象要素の選択を行なっても良い。
【００８０】
また、上述した説明では、ユーザが指定したＷｅｂページ上の座標を特定し、その特定された座標に対応する要素を含むように要素の選択を行なっていた。しかし、座標を特定する場合に限らず、ユーザがＷｅｂページ上で指定した領域に対応する要素を決定できれば良い。
【００８１】
また更に、要素の面積や要素のテキスト比率以外の情報を用いて印刷対象要素を選択するように構成しても良い。例えば、要素のタグ種別、タグ属性、スタイル等を用いて要素を選択しても良い。
【００８２】
また、上述した説明では、ＤＯＭツリーを作成し、当該ＤＯＭツリーを用いて各要素の解析を行なっていたが、これに限られない。例えば、ＤＯＭツリーを作成せずに、構造化文書から全ての要素を取得し、当該取得した全要素を解析して、注目要素を抽出するようにしても良い。
【００８３】
また、上述した説明では、出力対象の要素の自動選択を一度実行した後に、ユーザがＷｅｂページにおける位置を指定したことに応じて、再度自動選択を行なう場合を例に挙げて説明した。しかし、再度自動選択を行なう場合に限らず、出力対象の要素が選択されていない状態で、ユーザがＷｅｂページにおける位置を指定した場合にも、その指定された位置に従って自動選択を行なうように構成されても良い。
【００８４】
また、上述した説明では、テキスト要素に含まれるテキストの表示装置に表示される文字数に基づき、テキスト要素を中心要素とするか否かを判定していた。しかし、これに限られず、テキスト要素に含まれるテキストに割り当てられたデータ量に基づき、テキスト要素を中心要素とするか否かの判定を行なうようにしても良い。例えば、テキストに含まれる文字に割り当てられたバイト数に基づき、よりバイト数の大きなテキストを含むテキスト要素を、中心要素として判定しても良い。一般に、１文字に対して２バイトが割り当てられる文字と、１文字に対して１バイトが割り当てられる文字とがある。よって、テキストのバイト数に従って判定すれば、同じ文字数であっても、２バイトが割り当てられている文字を多く含むテキストを、Ｗｅｂページにおいてより中心となるテキストとして判定することができる。
【００８５】
更に、上述した説明では、Ｗｅｂページを表示させるブラウザーと連携するプラグインソフトウェアにより、Ｗｅｂページ内の出力対象の領域を選択していた。しかし、これに限られず、上記説明した機能をブラウザーに組み込み、ブラウザー自体がＷｅｂページ内の出力対象の領域を選択するように構成しても良い。
【００８６】
なお、上述した説明では、構造化文書として、ＨＴＭＬ、ＸＨＴＭＬを例に挙げて説明したが、本実施形態に係わる処理は、ＸＭＬ等の種々の構造化文書に対しても適用可能である。
【００８７】
（その他の実施形態）
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。また、本発明は、１つのプロセッサが処理を実行する場合に限らず、複数のプロセッサが協働して処理を行なうことによっても実現できる。
【図１】
0005801545.tif 000002
【図２】
0005801545.tif 000003
【図３】
0005801545.tif 000004
【図４】
0005801545.tif 000005
【図５】
0005801545.tif 000006
【図６】
0005801545.tif 000007
【図７】
0005801545.tif 000008
【図８】
0005801545.tif 000009
【図９】
0005801545.tif 000010
【図１０】
0005801545.tif 000011