説明

情報処理装置、情報処理方法、及びプログラム

【課題】Webページ内のフレームに埋め込まれるデータが指定された構造化文書において、簡単な操作で出力対象の領域を指定することができる情報処理装置を提供する。
【解決手段】複数の要素を含む構造化文書であって、当該構造化文書に基づくWebページ内のフレームに挿入されるデータが、当該構造化文書において指定されている構造化文書を取得する。また、構造化文書において指定されているデータを取得する。そして、構造化文書に含まれる複数の要素と、取得されたデータとに基づき、当該複数の要素と当該データから、出力対象のデータを選択する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、階層構造を有する文書データを処理する情報処理装置、その情報処理装置における表示制御方法、及び、プログラムに関する。
【背景技術】
【0002】
インターネット上のWebページにアクセスして様々な情報を取得することが一般的に行なわれている。Webページとは、HTML(Hyper Text Markup Language)又はXHTML(Extensible Hyper Text Markup Language)等のような構造化言語で記述された構造化文書である。Webページは、ブラウザと呼ばれるソフトウェアによってディスプレイ上に表示される。
【0003】
また、WebページにFRAME要素やI(Inline)FRAME要素を用いることによりそのWebページに他の構造化文書を埋め込んで、ブラウザで表示することができる。即ち、構造化文書に基づくWebページ内に、当該Webページのフレームとは別にフレームが指定され、そのフレーム内に当該構造化文書とは異なる構造化文書に基づくWebページが挿入される。更には、Webページ内の各要素にoverflow属性やoverflowスタイルを設定することができる。これにより、Webページ内のフレームにスクロールバーを表示して、IFRAME要素により指定されたフレーム内にWebページの一部分の領域のみが表示されるように他の構造化文書をWebページに埋め込んで表示することができる。
【0004】
一方で、Webページを印刷装置で印刷する場合、ユーザによっては、Webページの全体ではなく、その一部の領域の印刷を希望する場合がある。そこで、特許文献1には、ユーザによる指示に従ってWebページ内の印刷対象の領域を指定し、指定された領域を画像として抽出して印刷する技術が記載されている。例えば、ブラウザで表示されたWebページ内の領域をポインティングデバイス等を用いて選択し、その選択された領域を画像として抽出して印刷することができる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特許第3588337号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
上記のIFRAMEのようにWebページ内のフレームとしてデータが埋め込まれているWebページを表示して、上記特許文献1に記載の技術のように、ユーザがWebページの出力対象の領域を指定することを考える。この場合、Webページに埋め込まれているデータを出力対象とするためには、ユーザはWebページにおいて出力対象の領域を指定するのとは別の操作を行って、上記データが表示されている領域を指定しなければならない。例えば、Webページに埋め込まれているデータの全体が、Webページに表示されない場合がある。この場合、Webページに対するスクロール操作とは関係なく、埋め込まれているデータのフレームに対するスクロール操作を別途行って、出力対象の領域を指定する必要がある。
【0007】
上記の点に鑑み、本発明は、Webページ内のフレームにデータが埋め込まれているWebページにおいて、簡単な操作で出力対象の領域を指定することができる情報処理装置、情報処理方法、およびプログラムを提供する。
【課題を解決するための手段】
【0008】
上記課題を解決するため、本発明に係る情報処理装置は、複数の要素を含む構造化文書であって、当該構造化文書に基づくWebページ内のフレームに挿入されるデータが、当該構造化文書において指定されている構造化文書を取得する第1の取得手段と、
前記第1の取得手段により取得された構造化文書において指定されているデータを取得する第2の取得手段と、
前記第1の取得手段により取得された構造化文書に含まれる複数の要素と、前記第2の取得手段により取得されたデータとに基づき、当該複数の要素と当該データから、出力対象のデータを選択する選択手段とを有することを特徴とする。
【発明の効果】
【0009】
本発明により、ユーザは簡単な操作で、Webページ内のフレームとしてデータが埋め込まれているWebページにおいて、出力対象の領域を指定することができる。
【図面の簡単な説明】
【0010】
【図1】情報処理装置を含むシステムの構成を示すブロック図である。
【図2】PCの内部の構成を示すブロック図である。
【図3】PCに実装されたソフトウェアの構成を示すブロック図である。
【図4】表示装置に表示されるGUI画面の一例を示す図である。
【図5】表示装置に表示されるGUI画面の他の例を示す図である。
【図6】構造化文書の一例を示す図である。
【図7】DOMツリーの一例を示す図である。
【図8】中心要素を抽出するまでの処理の手順を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、添付図面を参照して本発明の好適な実施例を詳しく説明する。尚、以下の実施例は特許請求の範囲に係る本発明を限定するものでなく、また本実施例で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
【0012】
図1は、本発明に係る実施例における情報処理装置を含むシステムの構成を示すブロック図である。情報処理装置であるPC101は、ネットワーク102を介して複数のWWWサーバ103からWebページをPC101上へダウンロードして表示することができる。ここで、Webページとは、HTMLやXHTMLで記述された構造化文書である。また、PC101はプリンタ104とも接続されており、WWWサーバ103上のWebページをPC101上へダウンロードしてプリンタ104に印刷出力することができる。
【0013】
図2は、PC101の内部の構成を示すブロック図である。CPU201は、RAM202、ROM203又はハードディスク204に格納されたプログラムに従って、データや命令を処理する。RAM202は、CPU201が各種処理を行う際の一時記憶領域として用いられる。ハードディスク204は、オペレーティングシステム(OS)、Webブラウザ(以下、ブラウザという)やその他のアプリケーションソフトウェア等を格納する。USBインタフェース205は、USBケーブルが接続されるインタフェースであり、プリンタ104とのデータ通信を行うためのインタフェースである。なお、プリンタ104との通信は、USBケーブルではなく、SCSIや無線等により行われても良い。
【0014】
表示装置206は、CRT又は液晶ディスプレイとグラフィックコントローラとからなり、WWWサーバ103からダウンロードしたWebページや、印刷プレビュー画像、又は、GUI等を表示する。入力装置207は、ユーザがPC101に対して各種指示を行なうための装置であり、例えば、ポインティングデバイスやキーボードである。システムバス209は、CPU201やRAM202、ROM203、ハードディスク204等との間を接続し、各構成要素において処理されるデータはシステムバス209上で通信される。LANインタフェース208は、LANケーブルが接続されるためのインタフェースである。LANインタフェース208により、LANケーブルによるデータ通信が、ルータ(不図示)やネットワーク102を介して外部のWWWサーバ103と行われることができる。また、PC101に無線に対応したインタフェースを構成して、データ通信を無線で行なうようにしても良い。また、図2には、PC101が表示装置206と入力装置207がCPU201、RAM202等を含む制御部と一体となった所謂ノート型のPC101が示されている。しかしながら、本実施例において、PC101は、表示装置206と入力装置207が別体とされた所謂デスクトップ型の装置であっても良い。
【0015】
図3は、PC101により実行されるソフトウェアの構成を示すブロック図であり、図3で示される各機能ブロックに対応するプログラムが例えばROM202に記憶されている。ブラウザ301は、Webページを表示するためのアプリケーションであり、WWWサーバ103から構造化文書をPC101のハードディスク204にダウンロードし、表示装置206にWebページを表示させる。上記の構造化文書は、HTMLやXHTML等を用いて記述されており、構造化文書を構成するテキストや画像等の要素が、タグを用いて記述されている。また、それらの要素の表示スタイルを指定するCSS(Cascading Style Sheet)と呼ばれる別ファイルが構造化文書内に指定されている。ブラウザ301は、ハードディスク204にダウンロードされた構造化文書を解析して表示装置206にWebページを表示させる。
【0016】
構造化文書印刷モジュール302は、ブラウザ301から呼び出されるプラグインソフトウェアであり、ブラウザ301により呼び出されときに構造化文書303を取得する(第1の取得および第2の取得の一例)。ユーザがブラウザ301に対して自動抽出処理を行わせるための指示を行った場合に、構造化文書印刷モジュール302が実行される。ここで、自動抽出処理とは、表示されているWebページに含まれる要素の中から、出力対象の候補としての要素(以下、中心要素という)を抽出する処理である。ユーザは、Webページにおいて抽出された要素に対応する領域を、印刷等の出力の対象とする領域として指定することができる。
【0017】
要素自動抽出部304は、構造化文書303に含まれる要素を解析してDOM(Document Object Model)ツリーと呼ばれる要素の階層構造データを作成し、RAM202等の一時記憶領域に格納する。更に、要素自動抽出部304は、DOMツリーから各要素の面積、テキスト量、テキスト比率、タグ種別、タグ属性を参照して、中心要素を特定して抽出する。ここで、テキスト量とは、要素内の文字のうち実際にブラウザ301に表示される文字数をいい、テキスト比率とは、その要素の全タグサイズとテキスト量との比率をいう。要素自動抽出部304の処理及びDOMツリーの詳細は後述する。
【0018】
部分表示要素検出部305は、構造化文書303を解析して、FRAME要素、IFRAME要素又はoverflow属性の付加された要素(以下、部分表示要素という)が構造化文書303に含まれるか否かを判定する。
【0019】
領域選択制御部306は、要素自動抽出部304が抽出した中心要素に対応するWebページ内の領域上に、出力対象であることを示すための領域選択矩形を表示する。また、領域選択制御部306は、ポインティングデバイスやキーボード等の入力装置207により手動での領域選択矩形の変更を行うための機能をユーザに提供する。更に、領域選択制御部306は、ユーザから印刷指示を受けると、領域選択矩形のWebページにおける座標を取得し、Webページにおいてその矩形領域に含まれる部分を中間データファイルとして抽出する。
【0020】
なお、中間データファイルとは、文字情報、図形情報をビットマップデータではなくベクタデータとして保持しており、例えばWebページの印刷において作成される。特に、Webページ内のある領域を選択して抽出可能にするため、つまり、構造化文書の要素の一部を抽出可能にするため、中間データファイルは、ベクタデータの一部を抽出可能であることが望ましい。そのような中間データファイルとして、例えばPDF(Portable Document Format)、EMF(Enhanced Metafile Format)又はXPS(XML Paper Specification)等を用いることができる。
【0021】
また、本実施例では、上述のようにWebページ内の領域を中間データファイルとして抽出するため、抽出された文字、図形はビットマップデータではなくベクタデータとして抽出される。従って、Webページ内からデータの抽出を行った後に、抽出されたデータの拡大、縮小といった変倍処理を行う場合に、文字や図形についてはベクタデータに対して変倍処理を行うことになる。即ち、文字や図形の描画命令に対して変倍処理を行うため、既にビットマップ化されたデータに対して変倍を行う場合に比べて、変倍に伴う画像の劣化を抑えることができる。
【0022】
印刷レイアウト部307は、領域選択制御部306が抽出した中間データファイルを印刷設定に従って、印刷される用紙に対応させてレイアウトを決定する。ここで、印刷設定とは、用紙サイズ、解像度、用紙における印刷可能領域等の情報を含んでおり、OS310を介してプリンタドライバ311から取得する。印刷プレビュー部308は、印刷レイアウト部307でレイアウトした要素を印刷プレビューとして表示装置206に表示させる。印刷処理部309は、ユーザから印刷を開始させるための指示を受けると、印刷レイアウト部307による要素のレイアウトを示す配置情報に従って、描画処理を実行する。OS310は、構造化文書印刷モジュール302と印刷設定データの送受信を行い、また印刷処理部309がプリンタドライバ311を用いて描画処理を行うためのAPI(Application Programming Interface)を提供する。また、OS310には、印刷ジョブを管理するスプーラシステム、プリンタコマンドをポートに出力するポートモニタ等の各種制御ソフトウェアが含まれるが、詳細については省略する。プリンタドライバ311は、印刷処理部309により実行された描画処理に従って印刷データを生成し、プリンタコマンドに変換してプリンタ104に送信する。プリンタ104は、受信したプリンタコマンド及び文書データに基づいて用紙に画像を印刷する。
【0023】
図4及び図5は、本実施例における表示装置206に表示されるGUI画面の一例を示す図である。図4に示すように、ブラウザ301は、WebページをGUI上に表示する。ブラウザ301には、表示するWebページを切り替えるための戻るボタン401、進むボタン402、アドレス入力領域403等が配置されている。さらに、ブラウザ301には、印刷ボタン404、印刷プレビューボタン405及び自動抽出指示を行うための自動抽出ボタン406が配置されている。ユーザが自動抽出ボタン406を押下して要素の自動抽出を行うための指示を与えると、ブラウザ301が構造化文書印刷モジュール302を呼び出す。
【0024】
図4に示すように、第1の構造化文書407は、ブラウザ301に表示されている。また、第2の構造化文書408は、表示が部分的に制限されたIFRAME要素で指定された構造化文書であり、第1の構造化文書407内のフレームに埋め込まれている。第2の構造化文書408が埋め込まれているフレームについては、縦方向のスクロールバー409及び横方向のスクロールバー410が表示されており、ユーザがポインティングデバイス等の入力装置207で操作することで、第2の構造化文書408の内容の全てを表示することができる。
【0025】
図5は、自動抽出ボタン406が押下された後のブラウザ301に表示されるGUI画面を示す図である。上述したように、自動抽出ボタン406は、表示されたWebページ内において出力対象の候補となる中心要素を抽出する指示を行なうためのボタンである。ユーザが自動抽出ボタン406を押下すると、ブラウザ301が構造化文書印刷モジュール302を呼び出し、構造化文書印刷モジュール302は、ブラウザ301により表示中のWebページに対応する構造化文書を取得する。構造化文書印刷モジュール302は、取得した構造化文書のファイルから中心要素を抽出し、図5に示すように、中心要素に対応するWebページの領域上に領域選択矩形502を表示する。図5は、中心要素としてIFRAME要素として指定された第2の構造化文書408の領域が自動的に選択された場合を示している。
【0026】
また、図5に示すように、領域選択矩形502は半透明な矩形として表示され、更に、中心要素を含んだ中心要素群の中の他の要素を表示するための「広く」ボタン506と「狭く」ボタン507が表示される。中心要素群とボタン506及び507については後述する。また、ユーザは、中心要素に対する領域選択矩形502のサイズを、ポインティングデバイス等の入力装置207を用いてドラッグ操作を行うことにより、任意に変更することができる。更に、図5に示すように、中心要素に対する領域選択矩形502を印刷対象として印刷を開始するための印刷ボタン503が表示される。印刷ボタン503が押下されると、領域選択制御部306が領域選択矩形502のWebページにおける座標を取得し、Webページにおいてその矩形領域内に含まれる部分を中間データファイルとして抽出する。その後、印刷レイアウト部307は、中間データファイルをレイアウトし、印刷処理部309が印刷処理を実行する。
【0027】
また、図5に示すようにGUI画面には、領域選択矩形502が示す領域の印刷プレビューを表示するためのプレビューボタン504が表示される。プレビューボタン504が押下されると、領域選択制御部306が領域選択矩形502のWebページにおける座標を取得し、Webページにおいてその矩形領域内に含まれる部分を中間データファイルとして抽出する。その後、印刷レイアウト部307は、中間データファイルをレイアウトし、印刷プレビュー部308が印刷プレビューを表示装置に表示させると、領域選択矩形502が示すWebページ内の領域の画像が、印刷対象として表示される。また、図5に示すように、自動抽出処理を中止するためのキャンセルボタン505も表示され、キャンセルボタン505が押下されると、図4の状態に戻る。
【0028】
図6は、本実施例における構造化文書の一例を示す図である。図6に示す構造化文書601は、図4に示す第1の構造化文書407に対応する。図6に示すように、構造化文書601は、XHTML形式で記述されている。また、図示されていないが、構造化文書601では、CSSにより要素のレイアウト情報が別ファイルとして記述されている。また、構造化文書601には、<iframe>タグ602のsrc属性により第2の構造化文書が指定されている。第2の構造化文書は、図示されていないが、構造化文書601とは別のファイルに記述されている。
【0029】
図7は、構造化文書601(第1の構造化文書407)を要素自動抽出部304により解析した結果、一時記憶領域に記憶されるDOMツリーの一例を示す図である。上述したように、DOMツリーは構造化文書に含まれる要素のデータ構造を示している。構造化文書601のDOMツリーは、文書全体をあらわす<document>ノード701をルートノードとして有し、その子ノードとして、<html>ノード702を有する。<html>ノード702は、更に、その子ノードとして、<body>ノード704及び<head>ノード703を有する。
【0030】
各要素ノードは、親要素ノードへのポインタ、兄弟要素ノードへのポインタ、子要素ノードリストへのポインタ、属性情報、テキスト情報等のデータを保持する。各要素の表示状態やレイアウト情報は、CSSファイルで定義され、それらは、DOMツリーの各要素ノードの情報として一時記憶領域に記憶される。例えば、要素のフォント種別、フォントサイズ、文字色、表示位置等が、そのような各要素ノードの情報として記憶されている。本実施例においては、要素のみをノードとして扱い、属性やテキスト情報を各要素ノードの情報として扱っている。しかしながら、属性やテキスト情報もDOMツリーのノードとして扱っても良い。
【0031】
図7に示すように、DOMツリーは、IFRAME要素708を含む。通常、IFRAME要素のsrc属性で指定された第2の構造化文書の各要素ノードは、第1の構造化文書のDOMツリーには含まれず、別のDOMツリー709を構成する。図7においては、第1の構造化文書のDOMツリーと第2の構造化文書のDOMツリーを1つのツリーとして示している。
【0032】
要素自動抽出部304は、第1の構造化文書とIFARME要素で指定される第2の構造化文書との2つのDOMツリーを、1つのDOMツリーとして扱う。本実施例においては、要素自動抽出部304は、第1の構造化文書のDOMツリーの要素の面積やテキスト量、タグサイズを解析する場合には、第2の構造化文書のDOMツリーに含まれる要素の面積やテキスト量、タグサイズを考慮して解析する。以下、図8を参照して、本実施例における要素自動抽出部304の処理の手順について説明する。
【0033】
図8は、要素自動抽出部304が構造化文書303を解析し、中心要素を抽出するまでの処理の手順を示すフローチャートである。図8に示す処理は、図3に示すソフトウェアの各機能ブロックに対応するプログラムをCPU201が実行することにより実現できる。ブラウザ301の自動抽出ボタン406がユーザにより押下されて自動抽出処理が指示されると、構造化文書印刷モジュール302が起動し、要素自動抽出部304の処理を開始する(S801)。
【0034】
要素自動抽出部304は、構造化文書303をブラウザ301を介して読み出し、DOMツリーをRAM202の一時記憶領域上に構築する。なお、このとき第1の構造化文書にIFRAME要素が含まれる場合には、IFRAME要素で指定される第2の構造化文書も、第1の構造化文書ととものブラウザから取得される。要素自動抽出部304は、DOMツリー内のbody要素704を抽出して、そのbody要素704を注目要素R1とする(S802)。ここで、注目要素R1とは、注目要素Ri(iは自然数)における初期値i=1としてのR1である。注目要素Riにおけるiは、DOMツリーのbody要素704以下の階層数を表し、iの値が増えるほど、構造化文書におけるより下位の階層を表すものとする。即ち、body要素704自身を1階層目と考え、R1としている。
【0035】
次に、部分表示要素検出部305は、注目要素Ri(ここでは、R1であり、以下同じ)の子要素群に部分表示要素が含まれるか否かを判定する(S803)。ここでは、部分表示要素をIFRAME要素とする。S803における処理の結果、IFRAME要素が含まれると判定された場合(S804においてYes)にはS807に進み、IFRAME要素が含まれないと判定された場合(S804においてNo)にはS805に進む。
【0036】
S807において、注目要素Riの直接の子要素それぞれの幅および高さ(単位はピクセルとする)を示す情報を取得する。なお、要素のピクセル数は、HTMLファイルに記載されている情報を解析することで取得することができる。例えば画像や表の要素に対してピクセル数が指定されている場合には、指定されているピクセル数を取得する。また、Webページの大きさに対する比率で要素の大きさが指定されている場合には、Webページ全体のピクセル数と、指定されている比率とから、要素に割り当てられるピクセル数を計算して取得することができる。さらに、テキスト要素の文字のように、要素の大きさを示す複数の段階が設けられ、構造化文書において、複数の段階のいずれかが指定されている場合には、要素をWebページに配置したときの大きさと、Webページ全体のピクセル数から、要素の大きさを取得することができる。
【0037】
次に、S807において取得された情報が示す要素に割り当てられるピクセル数から、注目要素Riの直接の子要素それぞれの面積を算出する。本実施例においては、直接の子要素のいずれかにIFRAME要素を含む場合には、そのIFRAME要素で指定された第2の構造化文書に含まれる要素の面積も含めて、IFRAME要素の面積とする。この場合、IFRAME要素で指定された第2の構造化文書の非表示領域に割り当てられる要素の面積も考慮されることになる。なお、第2の構造化文書の非表示領域とは、第2の構造化文書に基づき表示可能なWebページのスクロールにより表示できる全領域において、ブラウザ301に表示されている領域以外の領域をいう。
【0038】
S808において、要素自動抽出部304は、注目要素Riの直接の子要素それぞれに含まれるテキスト量及びXHTMLタグサイズを取得する。本実施例では、その場合、直接の子要素のいずれかにIFRAME要素を含む場合には、そのIFRAME要素で指定された第2の構造化文書に含まれる要素のテキスト量及びXHTMLタグサイズも含めて、IFRAME要素のテキスト量及びXHTMLタグサイズとする。
【0039】
S808において取得されたテキスト量及びXHTMLタグサイズから、直接の子要素それぞれのテキスト比率を算出する。テキスト比率は、テキスト量をXHTMLタグサイズで除した値である。
【0040】
一方、IFRAME要素が含まれないと判定された場合に、S805において、S807と同様に、注目要素Riの直接の子要素それぞれの幅および高さ(単位はピクセル)を取得する。次に、それぞれの取得結果から、注目要素Riの直接の子要素それぞれの面積を取得する。さらに、S806において、要素自動抽出部304は、注目要素Riの直接の子要素それぞれに含まれるテキスト量およびXHTMLタグサイズを取得する。次に、注目要素Riの直接の子要素それぞれのテキスト比率を算出する。
【0041】
S809において、注目要素Riの直接の子要素のうち、テキスト比率が予め定められた閾値以上、かつ、面積が最大の要素を注目要素候補Rcとして特定する。次に、S810において、RcのRiに対する面積比率を求め、予め定められた閾値と比較する。その比率が予め定められた閾値以上の場合に、S811に進み、一方、予め定められた閾値未満である場合に、S815に進む。
【0042】
RcのRiに対する面積比率が予め定められた閾値以上であるとは、つまり注目要素Riにおいて中心となるRcの、親要素であるRiにおける面積が大きいことを意味する。この場合、出力対象の要素としてより適切な要素が、Riに含まれる可能性があり、そのためRiに含まれる子要素に対して上記のS803〜S808における処理を行って、出力対象の候補としての要素を抽出する。RcとRiとの面積比率が予め定められた閾値以上である場合として、例えば、第1の構造化文書内に埋め込まれた第2の構造化文書に割り当てられた面積が大きく且つ第2の構造化文書に含まれる要素のテキスト量が多い場合に相当する。
【0043】
S811においては、S809において特定された注目要素候補Rcを注目要素R(i+1)(ここでは、R2であり、以下同じ。)とする。上述の例によると、第1の構造化文書内に埋め込まれた第2の構造化文書を注目要素R2とするということである。
【0044】
S812において、注目要素Ri+1がIFRAME要素であるか否かを判定する。ここで、IFRAME要素であると判定された場合には、S813に進み、一方、IFRAME要素でないと判定された場合には、S803に戻る。S813において、注目要素Ri+1をIFRAME要素のsrc属性で指定されている第2の構造化文書の<body>要素として、S803に戻る。
【0045】
図8に示す処理は、例えば、ブラウザ301で表示されている第1の構造化文書407に含まれる要素の内、面積が最大且つテキスト比率が閾値以上の注目要素候補Rcとして、第2の構造化文書408が特定される(S809)。そして、その第2の構造化文書408がIFRAME要素であると判定されると(S812においてYes)、さらに、第2の構造化文書408の中でS803〜S813における処理が繰り返される。もし、第2の構造化文書の中でさらに埋め込まれた第3の構造化文書がある場合、その第3の構造化文書に含まれる要素が考慮されてS809において注目要素Rcが特定される。
【0046】
また、上述のS810において、RcのRiに対する面積比率が予め定められた閾値未満の場合、S815に進む。そして、そのときのRcの階層数をnとしたときに、Rcを中心要素Rnとし、またR1〜Rnとして設定された要素を、中心要素群とする。
S809において、上記の第3の構造化文書が注目要素Rcとして特定された場合、第3の構造化文書のRiに対する面積比率がS810の条件において予め定められた閾値未満であれば、S815において、その第3の構造化文書を中心要素として特定して抽出する。
【0047】
つまり、本実施例においては、第1の構造化文書にさらに、他の第2の構造化文書が埋め込まれた場合に、第1の構造化文書に加えて、第2の構造化文書を取得する。そして、第1の構造化文書に含まれる要素だけでなく、第2の構造化文書に含まれる要素を含めて出力候補としての中心要素を抽出することができる。従って、第2の構造化文書に含まれる要素、もしくは第2の構造化文書自身が、Webページの中心であった場合には、出力対象の要素として抽出することができる。
【0048】
また本実施例によれば、中心要素を抽出するだけでなく、最上位階層から中心要素を抽出するまでに注目要素として特定された要素も合わせて中心要素群として抽出する。例えば、第2の構造化文書の子要素である第3の構造化文書が中心要素として抽出された場合、第1の構造化文書と第2の構造化文書、第3の構造化文書が中心要素群として抽出される。
【0049】
この中心要素群について説明するために、図5を再び参照する。図8に示す処理が行なわれると、中心要素が抽出されて図5に示されるように、領域選択矩形502で表示される。ここでは、上述の例に従い、領域選択矩形502で表示された中心要素が第3の構造化文書であるとする。ここで、ユーザが「広く」ボタン506を押下すると、中心要素群のうち中心要素の一つ上の階層の要素(第2の構造化文書)が領域選択矩形502で区別可能に表示される。また、その状態でユーザが「狭く」ボタン507を押下すると、中心要素群のうち一つ下の階層の要素(第3の構造化文書)が領域選択矩形502で表示される。
【0050】
S815において中心要素を抽出すると、S816に進み、S815において抽出された要素を、構造化文書に含まれる他の要素と区別して出力する。この場合、例えば図5に示すように中心要素に効果を加えて、他の要素と両方が区別可能なように出力してもよいし、中心要素や、中心要素群のみを出力してもよい。例えば、S815において中心要素が抽出されたことに応じて、中心要素に対してのみ印刷レイアウト部307による印刷レイアウトを行って、中心要素のみを含む画像をプリンタに印刷させてもよい。また、出力の方法は限定されるものではなく、例えば表示装置に出力して画像を表示させてもよいし、印刷装置に出力して画像を印刷させてもよい。または、PC101の内部、もしくは外部の記録媒体に出力して、記録させてもよいし、LANインタフェース208等を介して外部装置に送信してもよい。S816において要素の出力が行われると、S817において処理を終了する。
【0051】
以上のように、本実施例においては、要素の面積と、要素がWebページにおいて示す文字数を示す、要素のテキスト量とに基づき、Webページ内の要素から、出力対象の候補としての中心要素を自動的に抽出することができる。図4に示すように、Webページには、メニュー名の表示等の様々な情報が表示され、ユーザによっては出力を希望しない要素も多く存在する。そこで、出力対象の要素をユーザが指定するときに、Webページ内のフレームにデータが埋め込まれている場合には、ユーザは、Webページに対するスクロール作業とは別にスクロール作業を行って出力対象とする領域を確認していかねばならない。本実施例においては、Webページ内のフレームにデータが埋め込まれている場合、そのデータも考慮して、Webページに含まれる出力対象のデータを自動的に選択することができる。そのため、ユーザは簡単な操作で、適切なデータを出力対象とすることができる。さらに、本実施例によれば、中心要素群において出力対象の要素を切り換えることができるので、ユーザは、自動的に抽出された要素に基づき、出力対象の要素を調整することができる。
【0052】
なお、図8のS810においては、RcとRiとの面積比率を求めているが、注目要素Riとbody要素との面積比率を求めるようにしても良い。また、上述の例では要素の面積や、テキスト量に基づき注目要素候補Rcを特定している。しかしながら、本実施例は要素の内容を示す情報に従って中心要素を抽出できればよく、要素のタグ種別、タグ属性、表示スタイル等を用いて注目要素候補Rcを特定するようにしても良い。また、S809においては、1つの注目要素候補Rcを特定しているが、複数の注目要素候補Rcを特定するようにしても良い。また、図8においては、図7に示すようなDOMツリーの階層構造の上位から下位の方向に従って中心要素を求めているが、予め全要素を解析することによって中心要素を抽出するようにしても良い。
【0053】
また、以上の実施例では、テキスト要素に含まれるテキストの表示装置に表示される文字数に基づき、テキスト要素を中心要素とするか判断していた。しかしこれに限らず、テキスト要素に含まれるテキストに割り当てられたデータ量に基づき、テキスト要素を中心要素とするか判断してもよい。例えば、テキストに含まれる文字に割り当てられたバイト数に基づき、よりバイト数の大きなテキストを含むテキスト要素を、中心要素として判断してもよい。一般に、1文字に対して2バイトが割り当てられる文字と、1文字に対して1バイトが割り当てられる文字とがある。よって、上記のようにテキストのバイト数に従って判断すれば、同じ文字数であっても、2バイトが割り当てられている文字を多く含むテキストを、Webページにおいてより中心となるテキストとして判断することができる。
【0054】
また、上記の実施例では、構造化文書のIFRAMEとして他の構造化文書のリンクが記載されており、リンクされているHTMLファイルが挿入される例を示した。しかし、これに限らず、FRAME要素としてHTMLファイルが挿入される場合にも、上記のIFRAME要素の場合と同様に出力対象の要素を選択することができる。
【0055】
さらに、上記の実施例では、Webページ内のフレームに、構造化文書が挿入される例を示した。しかし、これに限らず、例えば文書アプリケーションで作成された文書ファイルや、表計算アプリケーションで作成された表計算ファイル等へのリンクが構造化文書内に指定され、Webページ内に埋め込まれる場合であってもよい。この場合、Webページから文書ファイルや表計算ファイルを抽出するときには、Webページに埋め込まれている構造化文書から抽出する場合と同様に、中間データファイルとして抽出する。よって、抽出された後に変倍処理を行ったとしても、ベクタデータに対して変倍処理が行われることになるため、ビットマップデータに対して変倍処理を行う場合に比べて、変倍に伴う画像の劣化を抑えることができる。
【0056】
さらに、本実施例では、Webページを表示させるブラウザと連携するプラグインソフトウェアにより、Webページ内の出力対象の領域を選択していた。しかし、これに限らず、本実施例で説明した機能をブラウザに組み込み、ブラウザ自体がWebページ内の出力対象の領域を選択するようにしてもよい。なお、本実施例では構造化文書として、HTML、XHTMLを例に説明したが、本発明は、XML等の種々の構造化文書に対して適用可能なものである。
【0057】
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。また、複数のプロセッサが協働して本実施例で説明した処理を行うことによっても実現できる。

【特許請求の範囲】
【請求項1】
複数の要素を含む構造化文書であって、当該構造化文書に基づくWebページ内のフレームに挿入されるデータが、当該構造化文書において指定されている構造化文書を取得する第1の取得手段と、
前記第1の取得手段により取得された構造化文書において指定されているデータを取得する第2の取得手段と、
前記第1の取得手段により取得された構造化文書に含まれる複数の要素と、前記第2の取得手段により取得されたデータとに基づき、当該複数の要素と当該データから、出力対象のデータを選択する選択手段と
を有することを特徴とする情報処理装置。
【請求項2】
前記選択手段により出力対象として選択されたデータを、前記第1の取得手段が取得した構造化文書に基づくWebページに含まれる他のデータと区別して出力する出力手段をさらに有することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記出力手段は、前記選択手段により出力対象として選択されたデータと、前記第1の取得手段が取得した構造化文書に基づくWebページに含まれる他のデータとの両方を、区別して出力することを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記出力手段は、前記選択手段により出力対象として選択されたデータを出力し、前記第1の取得手段が取得した構造化文書に基づくWebページに含まれる他のデータを出力しないことを特徴とする請求項2に記載の情報処理装置。
【請求項5】
ユーザによる指示に応じて、出力対象のデータを、前記選択手段により出力対象として選択されたデータから前記第1の取得手段が取得した構造化文書に基づくWebページにおける他のデータに変更する変更手段をさらに有することを特徴とする請求項1乃至4のいずれかに記載の情報処理装置。
【請求項6】
前記出力手段は、前記選択手段により出力対象として選択されたデータに対応する画像を印刷装置に印刷させることを特徴とする請求項2乃至5のいずれか1項に記載の情報処理装置。
【請求項7】
前記出力手段は、印刷装置に印刷させるための設定を示す印刷設定を取得し、取得した当該印刷設定に基づき前記選択手段により出力対象として選択されたデータのレイアウトを決定して、決定された当該レイアウトに従って当該データが配置された画像を印刷装置に印刷させることを特徴とする請求項6に記載の情報処理装置。
【請求項8】
前記選択手段は、前記第1の取得手段が取得した構造化文書に基づくWebページにおける、当該構造化文書に含まれる要素が示すテキストの内容と当該要素に対応する領域の大きさとの少なくとも一方に基づき当該要素を出力対象とするかを判定することによって、出力対象のデータを選択することを特徴とする請求項1乃至7のいずれか1項に記載の情報処理装置。
【請求項9】
前記第2の取得手段は、複数の要素を含む構造化文書を取得し、
前記選択手段は、前記第1の取得手段により取得された構造化文書に含まれる要素と、前記第2の取得手段により取得された構造化文書に含まれる要素との少なくとも一方から、出力対象の要素を選択することを特徴とする請求項1乃至8のいずれか1項に記載の情報処理装置。
【請求項10】
複数の要素を含む構造化文書であって、当該構造化文書に基づくWebページ内のフレームに挿入されるデータが、当該構造化文書において指定されている構造化文書を取得する第1の取得工程と、
前記第1の取得工程において取得された構造化文書において指定されているデータを取得する第2の取得工程と、
前記第1の取得工程において取得された構造化文書に含まれる複数の要素と、前記第2の取得工程において取得されたデータとに基づき、当該複数の要素と当該データから、出力対象のデータを選択する選択工程と
を有することを特徴とする情報処理方法。
【請求項11】
請求項10に記載の情報処理方法の各工程をコンピュータに実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2012−88788(P2012−88788A)
【公開日】平成24年5月10日(2012.5.10)
【国際特許分類】
【出願番号】特願2010−232782(P2010−232782)
【出願日】平成22年10月15日(2010.10.15)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】