(57)【特許請求の範囲】
【請求項１】
第１の構造化文書であって、当該第１の構造化文書に基づくＷｅｂページ内のフレームに挿入される第２の構造化文書が指定されている当該第１の構造化文書を取得する第１の取得手段と、
前記第１の取得手段により取得された前記第１の構造化文書において指定されている前記第２の構造化文書を取得する第２の取得手段と、
前記第１の取得手段により取得された前記第１の構造化文書に含まれる第１の要素と、前記第２の取得手段により取得された前記第２の構造化文書に含まれる第２の要素とを比較する比較手段と、
前記比較手段による比較に基づいて、前記第１の要素と前記第２の要素から、出力対象の要素を選択する選択手段と
を有することを特徴とする情報処理装置。
【請求項２】
前記比較手段は、前記比較に基づき前記第２の構造化文書に含まれる要素が出力対象の候補となった場合に、さらに当該第２の構造化文書に含まれる複数の要素同士を比較し、
前記選択手段は、当該複数の要素同士の比較に基づいて当該複数の要素から出力対象の要素を選択することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記比較手段は、前記第２の構造化文書に含まれる複数の要素それぞれに対応する領域の大きさを比較することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記比較手段は、前記第２の構造化文書に含まれる複数の要素の階層構造において同一階層の要素同士の比較を行うことを特徴とする請求項２又は３に記載の情報処理装置。
【請求項５】
前記比較手段は、前記第２の構造化文書に含まれる複数の要素の階層構造において異なる階層の要素同士の比較を行うことを特徴とする請求項２又は３に記載の情報処理装置。
【請求項６】
前記比較手段は、前記階層構造における親の要素と子の要素を比較することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記選択手段が前記比較手段による比較の対象となった２つの要素のうちの一方を出力対象の要素として選択した場合に、当該２つの要素のもう一方の要素と、当該比較が行われなかった他の要素と、を出力対象として選択しないことを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記選択手段により出力対象として選択された要素を、前記第１の構造化文書もしくは前記第２の構造化文書に含まれる他の要素と区別して出力する出力手段をさらに有することを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
前記出力手段は、前記選択手段により出力対象として選択された要素と、前記第１の構造化文書もしくは前記第２の構造化文書に含まれる他の要素との両方を、区別して出力することを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記出力手段は、前記選択手段により出力対象として選択された要素を出力し、前記第１の構造化文書もしくは前記第２の構造化文書に含まれる他の要素を出力しないことを特徴とする請求項８に記載の情報処理装置。
【請求項１１】
ユーザによる指示に応じて、出力対象の要素を、前記選択手段により出力対象として選択された要素から前記第１の構造化文書もしくは前記第２の構造化文書に含まれる他の要素に変更する変更手段をさらに有することを特徴とする請求項１乃至１０のいずれかに記載の情報処理装置。
【請求項１２】
前記出力手段は、前記選択手段により出力対象として選択された要素に対応する画像を表示装置に表示させることを特徴とする請求項８乃至１０のいずれか１項に記載の情報処理装置。
【請求項１３】
前記出力手段は、前記選択手段により出力対象として選択された要素に対応する画像を印刷装置に印刷させることを特徴とする請求項８乃至１０のいずれか１項に記載の情報処理装置。
【請求項１４】
前記出力手段は、印刷装置に印刷させるための設定を示す印刷設定を取得し、取得した当該印刷設定に基づき前記選択手段により出力対象として選択された要素のレイアウトを決定して、決定された当該レイアウトに従って当該要素が配置された画像を印刷装置に印刷させることを特徴とする請求項１３に記載の情報処理装置。
【請求項１５】
前記選択手段は、前記第１の構造化文書に基づくＷｅｂページにおいて要素が示すテキストに基づき出力対象の要素を選択することを特徴とする請求項１乃至１４のいずれか１項に記載の情報処理装置。
【請求項１６】
前記第１の構造化文書は、前記第２の構造化文書を指定するための要素を含み、
前記第２の取得手段は、当該要素に基づいて前記第２の構造化文書を取得することを特徴とする請求項１乃至１５のいずれか１項に記載の情報処理装置。
【請求項１７】
前記第２の構造化文書を指定するための要素は、ＩＦＲＡＭＥ要素であることを特徴とする請求項１６に記載の情報処理装置。
【請求項１８】
第１の構造化文書であって、当該第１の構造化文書に基づくＷｅｂページ内のフレームに挿入される第２の構造化文書が指定されている当該第１の構造化文書を取得する第１の取得工程と、
前記第１の取得工程において取得された前記第１の構造化文書において指定されている前記第２の構造化文書を取得する第２の取得工程と、
前記第１の取得工程において取得された前記第１の構造化文書に含まれる第１の要素と、前記第２の取得工程において取得された前記第２の構造化文書に含まれる第２の要素とを比較する比較工程と、
前記比較工程における比較に基づいて、前記第１の要素と前記第２の要素から、出力対象の要素を選択する選択工程と
を有することを特徴とする情報処理方法。
【請求項１９】
請求項１乃至１７のいずれか１項に記載の情報処理装置の各手段としてコンピュータを機能させるための、または請求項１８に記載の情報処理方法の各工程をコンピュータに実行させるためのプログラム。
【請求項２０】
Ｗｅｂブラウザのためのプラグインプログラムであることを特徴とする請求項１９に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、階層構造を有する文書データを処理する情報処理装置、その情報処理装置における表示制御方法、及び、プログラムに関する。
【背景技術】
【０００２】
インターネット上のＷｅｂページにアクセスして様々な情報を取得することが一般的に行なわれている。Ｗｅｂページとは、ＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）又はＸＨＴＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）等のような構造化言語で記述された構造化文書である。Ｗｅｂページは、ブラウザと呼ばれるソフトウェアによってディスプレイ上に表示される。
【０００３】
また、ＷｅｂページにＦＲＡＭＥ要素やＩ（Ｉｎｌｉｎｅ）ＦＲＡＭＥ要素を用いることによりそのＷｅｂページに他の構造化文書を埋め込んで、ブラウザで表示することができる。即ち、構造化文書に基づくＷｅｂページ内に、当該Ｗｅｂページのフレームとは別にフレームが指定され、そのフレーム内に当該構造化文書とは異なる構造化文書に基づくＷｅｂページが挿入される。更には、Ｗｅｂページ内の各要素にｏｖｅｒｆｌｏｗ属性やｏｖｅｒｆｌｏｗスタイルを設定することができる。これにより、Ｗｅｂページ内のフレームにスクロールバーを表示して、ＩＦＲＡＭＥ要素により指定されたフレーム内にＷｅｂページの一部分の領域のみが表示されるように他の構造化文書をＷｅｂページに埋め込んで表示することができる。
【０００４】
一方で、Ｗｅｂページを印刷装置で印刷する場合、ユーザによっては、Ｗｅｂページの全体ではなく、その一部の領域の印刷を希望する場合がある。そこで、特許文献１には、ユーザによる指示に従ってＷｅｂページ内の印刷対象の領域を指定し、指定された領域を画像として抽出して印刷する技術が記載されている。例えば、ブラウザで表示されたＷｅｂページ内の領域をポインティングデバイス等を用いて選択し、その選択された領域を画像として抽出して印刷することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３５８８３３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記のＩＦＲＡＭＥのようにＷｅｂページ内のフレームとしてデータが埋め込まれているＷｅｂページを表示して、上記特許文献１に記載の技術のように、ユーザがＷｅｂページの出力対象の領域を指定することを考える。この場合、Ｗｅｂページに埋め込まれているデータを出力対象とするためには、ユーザはＷｅｂページにおいて出力対象の領域を指定するのとは別の操作を行って、上記データが表示されている領域を指定しなければならない。例えば、Ｗｅｂページに埋め込まれているデータの全体が、Ｗｅｂページに表示されない場合がある。この場合、Ｗｅｂページに対するスクロール操作とは関係なく、埋め込まれているデータのフレームに対するスクロール操作を別途行って、出力対象の領域を指定する必要がある。
【０００７】
上記の点に鑑み、本発明は、構造化文書に含まれている要素のうちの出力対象の要素を適切に選択することができる情報処理装置、情報処理方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明に係る情報処理装置は、第１の構造化文書であって、当該第１の構造化文書に基づくＷｅｂページ内のフレームに挿入される第２の構造化文書が指定されている当該第１の構造化文書を取得する第１の取得手段と、前記第１の取得手段により取得された前記第１の構造化文書において指定されている前記第２の構造化文書を取得する第２の取得手段と、前記第１の取得手段により取得された前記第１の構造化文書に含まれる第１の要素と、前記第２の取得手段により取得された前記第２の構造化文書に含まれる第２の要素とを比較する比較手段と、前記比較手段による比較に基づいて、前記第１の要素と前記第２の要素から、出力対象の要素を選択する選択手段とを有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、第１の構造化文書に含まれる第１の要素と、当該第１の構造化文書において指定されている第２の構造化文書に含まれる第２の要素とを比較することにより、当該第１の要素と当該第２の要素から出力対象の要素が選択される。よって、適切な要素を出力対象の要素として選択することができる。
【図面の簡単な説明】
【００１０】
【図１】情報処理装置を含むシステムの構成を示すブロック図である。
【図２】ＰＣの内部の構成を示すブロック図である。
【図３】ＰＣに実装されたソフトウェアの構成を示すブロック図である。
【図４】表示装置に表示されるＧＵＩ画面の一例を示す図である。
【図５】表示装置に表示されるＧＵＩ画面の他の例を示す図である。
【図６】構造化文書の一例を示す図である。
【図７】ＤＯＭツリーの一例を示す図である。
【図８】中心要素を抽出するまでの処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して本発明の好適な実施例を詳しく説明する。尚、以下の実施例は特許請求の範囲に係る本発明を限定するものでなく、また本実施例で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
【００１２】
図１は、本発明に係る実施例における情報処理装置を含むシステムの構成を示すブロック図である。情報処理装置であるＰＣ１０１は、ネットワーク１０２を介して複数のＷＷＷサーバ１０３からＷｅｂページをＰＣ１０１上へダウンロードして表示することができる。ここで、Ｗｅｂページとは、ＨＴＭＬやＸＨＴＭＬで記述された構造化文書である。また、ＰＣ１０１はプリンタ１０４とも接続されており、ＷＷＷサーバ１０３上のＷｅｂページをＰＣ１０１上へダウンロードしてプリンタ１０４に印刷出力することができる。
【００１３】
図２は、ＰＣ１０１の内部の構成を示すブロック図である。ＣＰＵ２０１は、ＲＡＭ２０２、ＲＯＭ２０３又はハードディスク２０４に格納されたプログラムに従って、データや命令を処理する。ＲＡＭ２０２は、ＣＰＵ２０１が各種処理を行う際の一時記憶領域として用いられる。ハードディスク２０４は、オペレーティングシステム（ＯＳ）、Ｗｅｂブラウザ（以下、ブラウザという）やその他のアプリケーションソフトウェア等を格納する。ＵＳＢインタフェース２０５は、ＵＳＢケーブルが接続されるインタフェースであり、プリンタ１０４とのデータ通信を行うためのインタフェースである。なお、プリンタ１０４との通信は、ＵＳＢケーブルではなく、ＳＣＳＩや無線等により行われても良い。
【００１４】
表示装置２０６は、ＣＲＴ又は液晶ディスプレイとグラフィックコントローラとからなり、ＷＷＷサーバ１０３からダウンロードしたＷｅｂページや、印刷プレビュー画像、又は、ＧＵＩ等を表示する。入力装置２０７は、ユーザがＰＣ１０１に対して各種指示を行なうための装置であり、例えば、ポインティングデバイスやキーボードである。システムバス２０９は、ＣＰＵ２０１やＲＡＭ２０２、ＲＯＭ２０３、ハードディスク２０４等との間を接続し、各構成要素において処理されるデータはシステムバス２０９上で通信される。ＬＡＮインタフェース２０８は、ＬＡＮケーブルが接続されるためのインタフェースである。ＬＡＮインタフェース２０８により、ＬＡＮケーブルによるデータ通信が、ルータ（不図示）やネットワーク１０２を介して外部のＷＷＷサーバ１０３と行われることができる。また、ＰＣ１０１に無線に対応したインタフェースを構成して、データ通信を無線で行なうようにしても良い。また、図２には、ＰＣ１０１が表示装置２０６と入力装置２０７がＣＰＵ２０１、ＲＡＭ２０２等を含む制御部と一体となった所謂ノート型のＰＣ１０１が示されている。しかしながら、本実施例において、ＰＣ１０１は、表示装置２０６と入力装置２０７が別体とされた所謂デスクトップ型の装置であっても良い。
【００１５】
図３は、ＰＣ１０１により実行されるソフトウェアの構成を示すブロック図であり、図３で示される各機能ブロックに対応するプログラムが例えばＲＯＭ２０２に記憶されている。ブラウザ３０１は、Ｗｅｂページを表示するためのアプリケーションであり、ＷＷＷサーバ１０３から構造化文書をＰＣ１０１のハードディスク２０４にダウンロードし、表示装置２０６にＷｅｂページを表示させる。上記の構造化文書は、ＨＴＭＬやＸＨＴＭＬ等を用いて記述されており、構造化文書を構成するテキストや画像等の要素が、タグを用いて記述されている。また、それらの要素の表示スタイルを指定するＣＳＳ（Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔ）と呼ばれる別ファイルが構造化文書内に指定されている。ブラウザ３０１は、ハードディスク２０４にダウンロードされた構造化文書を解析して表示装置２０６にＷｅｂページを表示させる。
【００１６】
構造化文書印刷モジュール３０２は、ブラウザ３０１から呼び出されるプラグインソフトウェアであり、ブラウザ３０１により呼び出されときに構造化文書３０３を取得する（第１の取得および第２の取得の一例）。ユーザがブラウザ３０１に対して自動抽出処理を行わせるための指示を行った場合に、構造化文書印刷モジュール３０２が実行される。ここで、自動抽出処理とは、表示されているＷｅｂページに含まれる要素の中から、出力対象の候補としての要素（以下、中心要素という）を抽出する処理である。ユーザは、Ｗｅｂページにおいて抽出された要素に対応する領域を、印刷等の出力の対象とする領域として指定することができる。
【００１７】
要素自動抽出部３０４は、構造化文書３０３に含まれる要素を解析してＤＯＭ（Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）ツリーと呼ばれる要素の階層構造データを作成し、ＲＡＭ２０２等の一時記憶領域に格納する。更に、要素自動抽出部３０４は、ＤＯＭツリーから各要素の面積、テキスト量、テキスト比率、タグ種別、タグ属性を参照して、中心要素を特定して抽出する。ここで、テキスト量とは、要素内の文字のうち実際にブラウザ３０１に表示される文字数をいい、テキスト比率とは、その要素の全タグサイズとテキスト量との比率をいう。要素自動抽出部３０４の処理及びＤＯＭツリーの詳細は後述する。
【００１８】
部分表示要素検出部３０５は、構造化文書３０３を解析して、ＦＲＡＭＥ要素、ＩＦＲＡＭＥ要素又はｏｖｅｒｆｌｏｗ属性の付加された要素（以下、部分表示要素という）が構造化文書３０３に含まれるか否かを判定する。
【００１９】
領域選択制御部３０６は、要素自動抽出部３０４が抽出した中心要素に対応するＷｅｂページ内の領域上に、出力対象であることを示すための領域選択矩形を表示する。また、領域選択制御部３０６は、ポインティングデバイスやキーボード等の入力装置２０７により手動での領域選択矩形の変更を行うための機能をユーザに提供する。更に、領域選択制御部３０６は、ユーザから印刷指示を受けると、領域選択矩形のＷｅｂページにおける座標を取得し、Ｗｅｂページにおいてその矩形領域に含まれる部分を中間データファイルとして抽出する。
【００２０】
なお、中間データファイルとは、文字情報、図形情報をビットマップデータではなくベクタデータとして保持しており、例えばＷｅｂページの印刷において作成される。特に、Ｗｅｂページ内のある領域を選択して抽出可能にするため、つまり、構造化文書の要素の一部を抽出可能にするため、中間データファイルは、ベクタデータの一部を抽出可能であることが望ましい。そのような中間データファイルとして、例えばＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）、ＥＭＦ（Ｅｎｈａｎｃｅｄ  Ｍｅｔａｆｉｌｅ  Ｆｏｒｍａｔ）又はＸＰＳ（ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）等を用いることができる。
【００２１】
また、本実施例では、上述のようにＷｅｂページ内の領域を中間データファイルとして抽出するため、抽出された文字、図形はビットマップデータではなくベクタデータとして抽出される。従って、Ｗｅｂページ内からデータの抽出を行った後に、抽出されたデータの拡大、縮小といった変倍処理を行う場合に、文字や図形についてはベクタデータに対して変倍処理を行うことになる。即ち、文字や図形の描画命令に対して変倍処理を行うため、既にビットマップ化されたデータに対して変倍を行う場合に比べて、変倍に伴う画像の劣化を抑えることができる。
【００２２】
印刷レイアウト部３０７は、領域選択制御部３０６が抽出した中間データファイルを印刷設定に従って、印刷される用紙に対応させてレイアウトを決定する。ここで、印刷設定とは、用紙サイズ、解像度、用紙における印刷可能領域等の情報を含んでおり、ＯＳ３１０を介してプリンタドライバ３１１から取得する。印刷プレビュー部３０８は、印刷レイアウト部３０７でレイアウトした要素を印刷プレビューとして表示装置２０６に表示させる。印刷処理部３０９は、ユーザから印刷を開始させるための指示を受けると、印刷レイアウト部３０７による要素のレイアウトを示す配置情報に従って、描画処理を実行する。ＯＳ３１０は、構造化文書印刷モジュール３０２と印刷設定データの送受信を行い、また印刷処理部３０９がプリンタドライバ３１１を用いて描画処理を行うためのＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）を提供する。また、ＯＳ３１０には、印刷ジョブを管理するスプーラシステム、プリンタコマンドをポートに出力するポートモニタ等の各種制御ソフトウェアが含まれるが、詳細については省略する。プリンタドライバ３１１は、印刷処理部３０９により実行された描画処理に従って印刷データを生成し、プリンタコマンドに変換してプリンタ１０４に送信する。プリンタ１０４は、受信したプリンタコマンド及び文書データに基づいて用紙に画像を印刷する。
【００２３】
図４及び図５は、本実施例における表示装置２０６に表示されるＧＵＩ画面の一例を示す図である。図４に示すように、ブラウザ３０１は、ＷｅｂページをＧＵＩ上に表示する。ブラウザ３０１には、表示するＷｅｂページを切り替えるための戻るボタン４０１、進むボタン４０２、アドレス入力領域４０３等が配置されている。さらに、ブラウザ３０１には、印刷ボタン４０４、印刷プレビューボタン４０５及び自動抽出指示を行うための自動抽出ボタン４０６が配置されている。ユーザが自動抽出ボタン４０６を押下して要素の自動抽出を行うための指示を与えると、ブラウザ３０１が構造化文書印刷モジュール３０２を呼び出す。
【００２４】
図４に示すように、第１の構造化文書４０７は、ブラウザ３０１に表示されている。また、第２の構造化文書４０８は、表示が部分的に制限されたＩＦＲＡＭＥ要素で指定された構造化文書であり、第１の構造化文書４０７内のフレームに埋め込まれている。第２の構造化文書４０８が埋め込まれているフレームについては、縦方向のスクロールバー４０９及び横方向のスクロールバー４１０が表示されており、ユーザがポインティングデバイス等の入力装置２０７で操作することで、第２の構造化文書４０８の内容の全てを表示することができる。
【００２５】
図５は、自動抽出ボタン４０６が押下された後のブラウザ３０１に表示されるＧＵＩ画面を示す図である。上述したように、自動抽出ボタン４０６は、表示されたＷｅｂページ内において出力対象の候補となる中心要素を抽出する指示を行なうためのボタンである。ユーザが自動抽出ボタン４０６を押下すると、ブラウザ３０１が構造化文書印刷モジュール３０２を呼び出し、構造化文書印刷モジュール３０２は、ブラウザ３０１により表示中のＷｅｂページに対応する構造化文書を取得する。構造化文書印刷モジュール３０２は、取得した構造化文書のファイルから中心要素を抽出し、図５に示すように、中心要素に対応するＷｅｂページの領域上に領域選択矩形５０２を表示する。図５は、中心要素としてＩＦＲＡＭＥ要素として指定された第２の構造化文書４０８の領域が自動的に選択された場合を示している。
【００２６】
また、図５に示すように、領域選択矩形５０２は半透明な矩形として表示され、更に、中心要素を含んだ中心要素群の中の他の要素を表示するための「広く」ボタン５０６と「狭く」ボタン５０７が表示される。中心要素群とボタン５０６及び５０７については後述する。また、ユーザは、中心要素に対する領域選択矩形５０２のサイズを、ポインティングデバイス等の入力装置２０７を用いてドラッグ操作を行うことにより、任意に変更することができる。更に、図５に示すように、中心要素に対する領域選択矩形５０２を印刷対象として印刷を開始するための印刷ボタン５０３が表示される。印刷ボタン５０３が押下されると、領域選択制御部３０６が領域選択矩形５０２のＷｅｂページにおける座標を取得し、Ｗｅｂページにおいてその矩形領域内に含まれる部分を中間データファイルとして抽出する。その後、印刷レイアウト部３０７は、中間データファイルをレイアウトし、印刷処理部３０９が印刷処理を実行する。
【００２７】
また、図５に示すようにＧＵＩ画面には、領域選択矩形５０２が示す領域の印刷プレビューを表示するためのプレビューボタン５０４が表示される。プレビューボタン５０４が押下されると、領域選択制御部３０６が領域選択矩形５０２のＷｅｂページにおける座標を取得し、Ｗｅｂページにおいてその矩形領域内に含まれる部分を中間データファイルとして抽出する。その後、印刷レイアウト部３０７は、中間データファイルをレイアウトし、印刷プレビュー部３０８が印刷プレビューを表示装置に表示させると、領域選択矩形５０２が示すＷｅｂページ内の領域の画像が、印刷対象として表示される。また、図５に示すように、自動抽出処理を中止するためのキャンセルボタン５０５も表示され、キャンセルボタン５０５が押下されると、図４の状態に戻る。
【００２８】
図６は、本実施例における構造化文書の一例を示す図である。図６に示す構造化文書６０１は、図４に示す第１の構造化文書４０７に対応する。図６に示すように、構造化文書６０１は、ＸＨＴＭＬ形式で記述されている。また、図示されていないが、構造化文書６０１では、ＣＳＳにより要素のレイアウト情報が別ファイルとして記述されている。また、構造化文書６０１には、＜ｉｆｒａｍｅ＞タグ６０２のｓｒｃ属性により第２の構造化文書が指定されている。第２の構造化文書は、図示されていないが、構造化文書６０１とは別のファイルに記述されている。
【００２９】
図７は、構造化文書６０１（第１の構造化文書４０７）を要素自動抽出部３０４により解析した結果、一時記憶領域に記憶されるＤＯＭツリーの一例を示す図である。上述したように、ＤＯＭツリーは構造化文書に含まれる要素のデータ構造を示している。構造化文書６０１のＤＯＭツリーは、文書全体をあらわす＜ｄｏｃｕｍｅｎｔ＞ノード７０１をルートノードとして有し、その子ノードとして、＜ｈｔｍｌ＞ノード７０２を有する。＜ｈｔｍｌ＞ノード７０２は、更に、その子ノードとして、＜ｂｏｄｙ＞ノード７０４及び＜ｈｅａｄ＞ノード７０３を有する。
【００３０】
各要素ノードは、親要素ノードへのポインタ、兄弟要素ノードへのポインタ、子要素ノードリストへのポインタ、属性情報、テキスト情報等のデータを保持する。各要素の表示状態やレイアウト情報は、ＣＳＳファイルで定義され、それらは、ＤＯＭツリーの各要素ノードの情報として一時記憶領域に記憶される。例えば、要素のフォント種別、フォントサイズ、文字色、表示位置等が、そのような各要素ノードの情報として記憶されている。本実施例においては、要素のみをノードとして扱い、属性やテキスト情報を各要素ノードの情報として扱っている。しかしながら、属性やテキスト情報もＤＯＭツリーのノードとして扱っても良い。
【００３１】
図７に示すように、ＤＯＭツリーは、ＩＦＲＡＭＥ要素７０８を含む。通常、ＩＦＲＡＭＥ要素のｓｒｃ属性で指定された第２の構造化文書の各要素ノードは、第１の構造化文書のＤＯＭツリーには含まれず、別のＤＯＭツリー７０９を構成する。図７においては、第１の構造化文書のＤＯＭツリーと第２の構造化文書のＤＯＭツリーを１つのツリーとして示している。
【００３２】
要素自動抽出部３０４は、第１の構造化文書とＩＦＡＲＭＥ要素で指定される第２の構造化文書との２つのＤＯＭツリーを、１つのＤＯＭツリーとして扱う。本実施例においては、要素自動抽出部３０４は、第１の構造化文書のＤＯＭツリーの要素の面積やテキスト量、タグサイズを解析する場合には、第２の構造化文書のＤＯＭツリーに含まれる要素の面積やテキスト量、タグサイズを考慮して解析する。以下、図８を参照して、本実施例における要素自動抽出部３０４の処理の手順について説明する。
【００３３】
図８は、要素自動抽出部３０４が構造化文書３０３を解析し、中心要素を抽出するまでの処理の手順を示すフローチャートである。図８に示す処理は、図３に示すソフトウェアの各機能ブロックに対応するプログラムをＣＰＵ２０１が実行することにより実現できる。ブラウザ３０１の自動抽出ボタン４０６がユーザにより押下されて自動抽出処理が指示されると、構造化文書印刷モジュール３０２が起動し、要素自動抽出部３０４の処理を開始する（Ｓ８０１）。
【００３４】
要素自動抽出部３０４は、構造化文書３０３をブラウザ３０１を介して読み出し、ＤＯＭツリーをＲＡＭ２０２の一時記憶領域上に構築する。なお、このとき第１の構造化文書にＩＦＲＡＭＥ要素が含まれる場合には、ＩＦＲＡＭＥ要素で指定される第２の構造化文書も、第１の構造化文書ととものブラウザから取得される。要素自動抽出部３０４は、ＤＯＭツリー内のｂｏｄｙ要素７０４を抽出して、そのｂｏｄｙ要素７０４を注目要素Ｒ１とする（Ｓ８０２）。ここで、注目要素Ｒ１とは、注目要素Ｒｉ（ｉは自然数）における初期値ｉ＝１としてのＲ１である。注目要素Ｒｉにおけるｉは、ＤＯＭツリーのｂｏｄｙ要素７０４以下の階層数を表し、iの値が増えるほど、構造化文書におけるより下位の階層を表すものとする。即ち、ｂｏｄｙ要素７０４自身を１階層目と考え、Ｒ１としている。
【００３５】
次に、部分表示要素検出部３０５は、注目要素Ｒｉ（ここでは、Ｒ１であり、以下同じ）の子要素群に部分表示要素が含まれるか否かを判定する（Ｓ８０３）。ここでは、部分表示要素をＩＦＲＡＭＥ要素とする。Ｓ８０３における処理の結果、ＩＦＲＡＭＥ要素が含まれると判定された場合（Ｓ８０４においてＹｅｓ）にはＳ８０７に進み、ＩＦＲＡＭＥ要素が含まれないと判定された場合（Ｓ８０４においてＮｏ）にはＳ８０５に進む。
【００３６】
Ｓ８０７において、注目要素Ｒｉの直接の子要素それぞれの幅および高さ（単位はピクセルとする）を示す情報を取得する。なお、要素のピクセル数は、ＨＴＭＬファイルに記載されている情報を解析することで取得することができる。例えば画像や表の要素に対してピクセル数が指定されている場合には、指定されているピクセル数を取得する。また、Ｗｅｂページの大きさに対する比率で要素の大きさが指定されている場合には、Ｗｅｂページ全体のピクセル数と、指定されている比率とから、要素に割り当てられるピクセル数を計算して取得することができる。さらに、テキスト要素の文字のように、要素の大きさを示す複数の段階が設けられ、構造化文書において、複数の段階のいずれかが指定されている場合には、要素をＷｅｂページに配置したときの大きさと、Ｗｅｂページ全体のピクセル数から、要素の大きさを取得することができる。
【００３７】
次に、Ｓ８０７において取得された情報が示す要素に割り当てられるピクセル数から、注目要素Ｒｉの直接の子要素それぞれの面積を算出する。本実施例においては、直接の子要素のいずれかにＩＦＲＡＭＥ要素を含む場合には、そのＩＦＲＡＭＥ要素で指定された第２の構造化文書に含まれる要素の面積も含めて、ＩＦＲＡＭＥ要素の面積とする。この場合、ＩＦＲＡＭＥ要素で指定された第２の構造化文書の非表示領域に割り当てられる要素の面積も考慮されることになる。なお、第２の構造化文書の非表示領域とは、第２の構造化文書に基づき表示可能なＷｅｂページのスクロールにより表示できる全領域において、ブラウザ３０１に表示されている領域以外の領域をいう。
【００３８】
Ｓ８０８において、要素自動抽出部３０４は、注目要素Ｒｉの直接の子要素それぞれに含まれるテキスト量及びＸＨＴＭＬタグサイズを取得する。本実施例では、その場合、直接の子要素のいずれかにＩＦＲＡＭＥ要素を含む場合には、そのＩＦＲＡＭＥ要素で指定された第２の構造化文書に含まれる要素のテキスト量及びＸＨＴＭＬタグサイズも含めて、ＩＦＲＡＭＥ要素のテキスト量及びＸＨＴＭＬタグサイズとする。
【００３９】
Ｓ８０８において取得されたテキスト量及びＸＨＴＭＬタグサイズから、直接の子要素それぞれのテキスト比率を算出する。テキスト比率は、テキスト量をＸＨＴＭＬタグサイズで除した値である。
【００４０】
一方、ＩＦＲＡＭＥ要素が含まれないと判定された場合に、Ｓ８０５において、Ｓ８０７と同様に、注目要素Ｒｉの直接の子要素それぞれの幅および高さ（単位はピクセル）を取得する。次に、それぞれの取得結果から、注目要素Ｒｉの直接の子要素それぞれの面積を取得する。さらに、Ｓ８０６において、要素自動抽出部３０４は、注目要素Ｒｉの直接の子要素それぞれに含まれるテキスト量およびＸＨＴＭＬタグサイズを取得する。次に、注目要素Ｒｉの直接の子要素それぞれのテキスト比率を算出する。
【００４１】
Ｓ８０９において、注目要素Ｒｉの直接の子要素のうち、テキスト比率が予め定められた閾値以上、かつ、面積が最大の要素を注目要素候補Ｒｃとして特定する。次に、Ｓ８１０において、ＲｃのＲｉに対する面積比率を求め、予め定められた閾値と比較する。その比率が予め定められた閾値以上の場合に、Ｓ８１１に進み、一方、予め定められた閾値未満である場合に、Ｓ８１５に進む。
【００４２】
ＲｃのＲｉに対する面積比率が予め定められた閾値以上であるとは、つまり注目要素Ｒｉにおいて中心となるＲｃの、親要素であるＲｉにおける面積が大きいことを意味する。この場合、出力対象の要素としてより適切な要素が、Ｒｉに含まれる可能性があり、そのためＲｉに含まれる子要素に対して上記のＳ８０３〜Ｓ８０８における処理を行って、出力対象の候補としての要素を抽出する。ＲｃとＲｉとの面積比率が予め定められた閾値以上である場合として、例えば、第１の構造化文書内に埋め込まれた第２の構造化文書に割り当てられた面積が大きく且つ第２の構造化文書に含まれる要素のテキスト量が多い場合に相当する。
【００４３】
Ｓ８１１においては、Ｓ８０９において特定された注目要素候補Ｒｃを注目要素Ｒ（ｉ＋１）（ここでは、Ｒ２であり、以下同じ。）とする。上述の例によると、第１の構造化文書内に埋め込まれた第２の構造化文書を注目要素Ｒ２とするということである。
【００４４】
Ｓ８１２において、注目要素Ｒｉ＋１がＩＦＲＡＭＥ要素であるか否かを判定する。ここで、ＩＦＲＡＭＥ要素であると判定された場合には、Ｓ８１３に進み、一方、ＩＦＲＡＭＥ要素でないと判定された場合には、Ｓ８０３に戻る。Ｓ８１３において、注目要素Ｒｉ＋１をＩＦＲＡＭＥ要素のｓｒｃ属性で指定されている第２の構造化文書の＜ｂｏｄｙ＞要素として、Ｓ８０３に戻る。
【００４５】
図８に示す処理は、例えば、ブラウザ３０１で表示されている第１の構造化文書４０７に含まれる要素の内、面積が最大且つテキスト比率が閾値以上の注目要素候補Ｒｃとして、第２の構造化文書４０８が特定される（Ｓ８０９）。そして、その第２の構造化文書４０８がＩＦＲＡＭＥ要素であると判定されると（Ｓ８１２においてＹｅｓ）、さらに、第２の構造化文書４０８の中でＳ８０３〜Ｓ８１３における処理が繰り返される。もし、第２の構造化文書の中でさらに埋め込まれた第３の構造化文書がある場合、その第３の構造化文書に含まれる要素が考慮されてＳ８０９において注目要素Ｒｃが特定される。
【００４６】
また、上述のＳ８１０において、ＲｃのＲｉに対する面積比率が予め定められた閾値未満の場合、Ｓ８１５に進む。そして、そのときのＲｃの階層数をｎとしたときに、Ｒｃを中心要素Ｒｎとし、またＲ１〜Ｒｎとして設定された要素を、中心要素群とする。
Ｓ８０９において、上記の第３の構造化文書が注目要素Ｒｃとして特定された場合、第３の構造化文書のＲｉに対する面積比率がＳ８１０の条件において予め定められた閾値未満であれば、Ｓ８１５において、その第３の構造化文書を中心要素として特定して抽出する。
【００４７】
つまり、本実施例においては、第１の構造化文書にさらに、他の第２の構造化文書が埋め込まれた場合に、第１の構造化文書に加えて、第２の構造化文書を取得する。そして、第１の構造化文書に含まれる要素だけでなく、第２の構造化文書に含まれる要素を含めて出力候補としての中心要素を抽出することができる。従って、第２の構造化文書に含まれる要素、もしくは第２の構造化文書自身が、Ｗｅｂページの中心であった場合には、出力対象の要素として抽出することができる。
【００４８】
また本実施例によれば、中心要素を抽出するだけでなく、最上位階層から中心要素を抽出するまでに注目要素として特定された要素も合わせて中心要素群として抽出する。例えば、第２の構造化文書の子要素である第３の構造化文書が中心要素として抽出された場合、第１の構造化文書と第２の構造化文書、第３の構造化文書が中心要素群として抽出される。
【００４９】
この中心要素群について説明するために、図５を再び参照する。図８に示す処理が行なわれると、中心要素が抽出されて図５に示されるように、領域選択矩形５０２で表示される。ここでは、上述の例に従い、領域選択矩形５０２で表示された中心要素が第３の構造化文書であるとする。ここで、ユーザが「広く」ボタン５０６を押下すると、中心要素群のうち中心要素の一つ上の階層の要素（第２の構造化文書）が領域選択矩形５０２で区別可能に表示される。また、その状態でユーザが「狭く」ボタン５０７を押下すると、中心要素群のうち一つ下の階層の要素（第３の構造化文書）が領域選択矩形５０２で表示される。
【００５０】
Ｓ８１５において中心要素を抽出すると、Ｓ８１６に進み、Ｓ８１５において抽出された要素を、構造化文書に含まれる他の要素と区別して出力する。この場合、例えば図５に示すように中心要素に効果を加えて、他の要素と両方が区別可能なように出力してもよいし、中心要素や、中心要素群のみを出力してもよい。例えば、Ｓ８１５において中心要素が抽出されたことに応じて、中心要素に対してのみ印刷レイアウト部３０７による印刷レイアウトを行って、中心要素のみを含む画像をプリンタに印刷させてもよい。また、出力の方法は限定されるものではなく、例えば表示装置に出力して画像を表示させてもよいし、印刷装置に出力して画像を印刷させてもよい。または、ＰＣ１０１の内部、もしくは外部の記録媒体に出力して、記録させてもよいし、ＬＡＮインタフェース２０８等を介して外部装置に送信してもよい。Ｓ８１６において要素の出力が行われると、Ｓ８１７において処理を終了する。
【００５１】
以上のように、本実施例においては、要素の面積と、要素がＷｅｂページにおいて示す文字数を示す、要素のテキスト量とに基づき、Ｗｅｂページ内の要素から、出力対象の候補としての中心要素を自動的に抽出することができる。図４に示すように、Ｗｅｂページには、メニュー名の表示等の様々な情報が表示され、ユーザによっては出力を希望しない要素も多く存在する。そこで、出力対象の要素をユーザが指定するときに、Ｗｅｂページ内のフレームにデータが埋め込まれている場合には、ユーザは、Ｗｅｂページに対するスクロール作業とは別にスクロール作業を行って出力対象とする領域を確認していかねばならない。本実施例においては、Ｗｅｂページ内のフレームにデータが埋め込まれている場合、そのデータも考慮して、Ｗｅｂページに含まれる出力対象のデータを自動的に選択することができる。そのため、ユーザは簡単な操作で、適切なデータを出力対象とすることができる。さらに、本実施例によれば、中心要素群において出力対象の要素を切り換えることができるので、ユーザは、自動的に抽出された要素に基づき、出力対象の要素を調整することができる。
【００５２】
なお、図８のＳ８１０においては、ＲｃとＲｉとの面積比率を求めているが、注目要素Ｒｉとｂｏｄｙ要素との面積比率を求めるようにしても良い。また、上述の例では要素の面積や、テキスト量に基づき注目要素候補Ｒｃを特定している。しかしながら、本実施例は要素の内容を示す情報に従って中心要素を抽出できればよく、要素のタグ種別、タグ属性、表示スタイル等を用いて注目要素候補Ｒｃを特定するようにしても良い。また、Ｓ８０９においては、１つの注目要素候補Ｒｃを特定しているが、複数の注目要素候補Ｒｃを特定するようにしても良い。また、図８においては、図７に示すようなＤＯＭツリーの階層構造の上位から下位の方向に従って中心要素を求めているが、予め全要素を解析することによって中心要素を抽出するようにしても良い。
【００５３】
また、以上の実施例では、テキスト要素に含まれるテキストの表示装置に表示される文字数に基づき、テキスト要素を中心要素とするか判断していた。しかしこれに限らず、テキスト要素に含まれるテキストに割り当てられたデータ量に基づき、テキスト要素を中心要素とするか判断してもよい。例えば、テキストに含まれる文字に割り当てられたバイト数に基づき、よりバイト数の大きなテキストを含むテキスト要素を、中心要素として判断してもよい。一般に、１文字に対して２バイトが割り当てられる文字と、１文字に対して１バイトが割り当てられる文字とがある。よって、上記のようにテキストのバイト数に従って判断すれば、同じ文字数であっても、２バイトが割り当てられている文字を多く含むテキストを、Ｗｅｂページにおいてより中心となるテキストとして判断することができる。
【００５４】
また、上記の実施例では、構造化文書のＩＦＲＡＭＥとして他の構造化文書のリンクが記載されており、リンクされているＨＴＭＬファイルが挿入される例を示した。しかし、これに限らず、ＦＲＡＭＥ要素としてＨＴＭＬファイルが挿入される場合にも、上記のＩＦＲＡＭＥ要素の場合と同様に出力対象の要素を選択することができる。
【００５５】
さらに、上記の実施例では、Ｗｅｂページ内のフレームに、構造化文書が挿入される例を示した。しかし、これに限らず、例えば文書アプリケーションで作成された文書ファイルや、表計算アプリケーションで作成された表計算ファイル等へのリンクが構造化文書内に指定され、Ｗｅｂページ内に埋め込まれる場合であってもよい。この場合、Ｗｅｂページから文書ファイルや表計算ファイルを抽出するときには、Ｗｅｂページに埋め込まれている構造化文書から抽出する場合と同様に、中間データファイルとして抽出する。よって、抽出された後に変倍処理を行ったとしても、ベクタデータに対して変倍処理が行われることになるため、ビットマップデータに対して変倍処理を行う場合に比べて、変倍に伴う画像の劣化を抑えることができる。
【００５６】
さらに、本実施例では、Ｗｅｂページを表示させるブラウザと連携するプラグインソフトウェアにより、Ｗｅｂページ内の出力対象の領域を選択していた。しかし、これに限らず、本実施例で説明した機能をブラウザに組み込み、ブラウザ自体がＷｅｂページ内の出力対象の領域を選択するようにしてもよい。なお、本実施例では構造化文書として、ＨＴＭＬ、ＸＨＴＭＬを例に説明したが、本発明は、ＸＭＬ等の種々の構造化文書に対して適用可能なものである。
【００５７】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。また、複数のプロセッサが協働して本実施例で説明した処理を行うことによっても実現できる。
【図１】
0005735778.tif 000002
【図２】
0005735778.tif 000003
【図３】
0005735778.tif 000004
【図４】
0005735778.tif 000005
【図５】
0005735778.tif 000006
【図６】
0005735778.tif 000007
【図７】
0005735778.tif 000008
【図８】
0005735778.tif 000009