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