(57)【特許請求の範囲】
【請求項１】
第１及び第２の動的オブジェクトを含むＷｅｂページを取得する取得手段と、
前記第１及び第２の動的オブジェクトをそれぞれ第１及び第２の領域に表示する表示手段と、
前記表示手段による前記画像の表示中に、ユーザ入力に応じて、前記第１及び第２の動的オブジェクトのいずれか１つを選択する選択手段と、
前記選択手段により前記第１の動的オブジェクトが選択されたとき、当該選択されたタイミングを第１のタイミングとして検知する第１の検知手段と、
前記選択手段により前記第２の動的オブジェクトが選択されたとき、当該選択されたタイミングを第２のタイミングとして検知する第２の検知手段と、
前記第１のタイミングにおいて前記表示手段に表示されていた画像のうち、前記第１の領域の画像を取得する第１の取得手段と、
前記第２のタイミングにおいて前記表示手段に表示されていた画像のうち、前記第２の領域の画像を取得する第２の取得手段と、
前記Ｗｅｂページの印刷実行時に、前記第１及び第２の動的オブジェクトに対応する印刷画像として、当該印刷実行時に表示されていた各画像を用いることなく前記第１及び第２の取得手段が取得した各画像を用いて印刷データを生成する生成手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記第１及び第２の動的オブジェクトは、動画、インタラクティブなコンテンツ、またはリアルタイムで変化するコンテンツのいずれかであることを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記第１の取得手段は、前記選択手段による前記第１の動的オブジェクトの選択の回数と同数枚の画像を、前記第１の領域の画像として取得することを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
前記生成手段は、前記第１の取得手段より前記第１の領域の画像が複数取得された場合、当該複数取得された画像をそれぞれ縮小して組み合わせた画像を、前記第１の動的オブジェクトに対応する印刷画像として用いて印刷データを生成することを特徴とする請求項３記載の情報処理装置。
【請求項５】
第１及び第２の動的オブジェクトを含むＷｅｂページを取得する取得ステップと、
前記第１及び第２の動的オブジェクトをそれぞれ表示部の第１及び第２の領域に表示する表示ステップと、
前記表示ステップにおける前記画像の表示中に、ユーザ入力に応じて、前記第１及び第２の動的オブジェクトのいずれか１つを選択する選択ステップと、
前記選択ステップにおいて前記第１の動的オブジェクトが選択されたとき、当該選択されたタイミングを第１のタイミングとして検知する第１の検知ステップと、
前記選択ステップにおいて前記第２の動的オブジェクトが選択されたとき、当該選択されたタイミングを第２のタイミングとして検知する第２の検知ステップと、
前記第１のタイミングにおいて前記表示部に表示されていた画像のうち、前記第１の領域の画像を取得する第１の取得ステップと、
前記第２のタイミングにおいて前記表示部に表示されていた画像のうち、前記第２の領域の画像を取得する第２の取得ステップと、
前記Ｗｅｂページの印刷実行時に、前記第１及び第２の動的オブジェクトに対応する印刷画像として、当該印刷実行時に表示されていた各画像を用いることなく前記第１及び第２の取得ステップで取得された各画像を用いて印刷データを生成する生成ステップと、
を備えることを特徴とする情報処理装置の制御方法。
【請求項６】
第１及び第２の動的オブジェクトを含むＷｅｂページを取得する取得ステップと、
前記第１及び第２の動的オブジェクトをそれぞれ表示部の第１及び第２の領域に表示する表示ステップと、
前記表示ステップにおける前記画像の表示中に、ユーザ入力に応じて、前記第１及び第２の動的オブジェクトのいずれか１つを選択する選択ステップと、
前記選択ステップにおいて前記第１の動的オブジェクトが選択されたとき、当該選択されたタイミングを第１のタイミングとして検知する第１の検知ステップと、
前記選択ステップにおいて前記第２の動的オブジェクトが選択されたとき、当該選択されたタイミングを第２のタイミングとして検知する第２の検知ステップと、
前記第１のタイミングにおいて前記表示部に表示されていた画像のうち、前記第１の領域の画像を取得する第１の取得ステップと、
前記第２のタイミングにおいて前記表示部に表示されていた画像のうち、前記第２の領域の画像を取得する第２の取得ステップと、
前記Ｗｅｂページの印刷実行時に、前記第１及び第２の動的オブジェクトに対応する印刷画像として、当該印刷実行時に表示されていた各画像を用いることなく前記第１及び第２の取得ステップで取得された各画像を用いて印刷データを生成する生成ステップと、
を備える情報処理装置の制御方法をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びその制御方法、並びにプログラムに関する。特に、動画やＦＬＡＳＨ（登録商標）やＪＡＶＡ（登録商標）等のインタラクティブなコンテンツで構成されるＷｅｂページを閲覧する機能に特徴のある情報処理装置及びその制御方法、並びにプログラムに関する。
【背景技術】
【０００２】
Ｗｅｂページは日々進化しており、動画やＦＬＡＳＨ（登録商標）やＪａｖａ（登録商標）等によって提供される、動的オブジェクトを含むＷｅｂページが増えてきている。多くの場合、これら動的オブジェクトは「プラグイン」と呼ばれるＷｅｂブラウザとは別のプログラム上で動作するように作成されている。
【０００３】
プラグインとは、Ｗｅｂブラウザに対する機能を動的に追加したり更新したりすることのできるモジュールのことで、プラグインを追加することで、Ｗｅｂブラウザ自体のソースを改変することなく、オブジェクトに対する新たな挙動を定義することが可能となる。プラグイン作成のためのインターフェースが一般に公開されているＷｅｂブラウザでは、Ｗｅｂブラウザメーカー以外の非純正のプラグインも広く利用されている。
【０００４】
図１１は、一般的なＷｅｂブラウザの構成図である。
【０００５】
Ｗｅｂブラウザ１０は、戻るボタン１００１、進むボタン１００２、読み込み中止ボタン１００３、再読み込みボタン１００４、印刷ボタン１００５等が配置されたツールバー領域１００６を備えている。また、実際のＷｅｂコンテンツはビュー領域１００７に展開されて表示される。
【０００６】
ビュー領域１００７にはスクロールバー１００８が備わっており、ビュー領域１００７に収まりきらないオブジェクトは、スクロールバー１００８をマウス操作によりスクロールすることで閲覧可能となる。
【０００７】
また、図１１では、Ｗｅｂブラウザ１０のビュー領域１００７に３つの動的オブジェクト１０１０、１０１１、１０１２が配置されている例を示している。これらの領域内は全て上記で示したようなプラグインによって画像表示やマウスイベントの処理等が管理されている。
【０００８】
一方、これらの動的オブジェクトは、主にディスプレイ上での閲覧を前提に設計されているため、印刷する際には思い通りの結果とならないことが多い。
【０００９】
図１１における印刷ボタン１００５を使用して紙に印刷した例を図１２に示す。
【００１０】
動的オブジェクト１０１０は、印刷結果１１１０に示すように、白抜き印刷されている。また、動的オブジェクト１０１１は、印刷結果１１１１に示すように、黒べたで印刷されている。更に、動的オブジェクト１０１２は、印刷結果１１１２に示すように、ユーザーの求めない中途半端なタイミングで印刷されている。
【００１１】
このように、プラグインで表示されている領域の印刷結果は、プラグインの実装に依存しており、ユーザーの意図した瞬間の画像を印刷結果とすることは難しい。ユーザーの意図した瞬間を印刷するために、ユーザーが画面のキャプチャを取り、それを印刷する手法を取ることも考えられる。
【００１２】
しかしながら、図１３に示すように、一度にディスプレイに収まる部分のキャプチャしか取得することができないため、印刷結果はウィンドウの大きさに依存してしまい利便性が悪い。
【００１３】
これらの課題を解決するために、コンテンツに含まれる動画からユーザーの指定したいくつかのタイミングでの静止画を提示し、選択した静止画を印刷できるようにする技術が提案されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開２０００−１８１９２４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１５】
しかしながら、上記特許文献１で提案されている手段では、動画から印刷したい静止画像を取得するために、予め取得用パラメータを設定する必要がある。このため、ユーザーの応答に応じて動作するインタラクティブなコンテンツや、リアルタイミングで変化するオンラインゲーム等のコンテンツにおいて、ユーザーの求める瞬間の画像を印刷対象としたい場合、実現が困難である。
【００１６】
また、図１１のように、複数のプラグインを必要とするコンテンツの印刷ではそれぞれに対して求める瞬間の画像を印刷対象としたいが、それぞれに対して設定を行うのは非常に煩雑な操作を要する。
【００１７】
本発明の目的は、プラグインを必要とする複数の動的オブジェクトの印刷において、それぞれの動的オブジェクトの印刷したい所望の瞬間をユーザが容易に指示することのできる情報処理装置及びその制御方法、並びにプログラムを提供することにある。
【課題を解決するための手段】
【００１８】
上記目的を達成するために、請求項１記載の情報処理装置は、第１及び第２の動的オブジェクトを含むＷｅｂページを取得する取得手段と、前記第１及び第２の動的オブジェクトをそれぞれ第１及び第２の領域に表示する表示手段と、前記表示手段による前記画像の表示中に、ユーザ入力に応じて、前記第１及び第２の動的オブジェクトのいずれか１つを選択する選択手段と、前記選択手段により前記第１の動的オブジェクトが選択されたとき、当該選択されたタイミングを第１のタイミングとして検知する第１の検知手段と、前記選択手段により前記第２の動的オブジェクトが選択されたとき、当該選択されたタイミングを第２のタイミングとして検知する第２の検知手段と、前記第１のタイミングにおいて前記表示手段に表示されていた画像のうち、前記第１の領域の画像を取得する第１の取得手段と、前記第２のタイミングにおいて前記表示手段に表示されていた画像のうち、前記第２の領域の画像を取得する第２の取得手段と、前記Ｗｅｂページの印刷実行時に、前記第１及び第２の動的オブジェクトに対応する印刷画像として、当該印刷実行時に表示されていた各画像を用いることなく前記第１及び第２の取得手段が取得した各画像を用いて印刷データを生成する生成手段と、を備えることを特徴とする。
【００１９】
請求項５記載の情報処理装置の制御方法は、第１及び第２の動的オブジェクトを含むＷｅｂページを取得する取得ステップと、前記第１及び第２の動的オブジェクトをそれぞれ表示部の第１及び第２の領域に表示する表示ステップと、前記表示ステップにおける前記画像の表示中に、ユーザ入力に応じて、前記第１及び第２の動的オブジェクトのいずれか１つを選択する選択ステップと、前記選択ステップにおいて前記第１の動的オブジェクトが選択されたとき、当該選択されたタイミングを第１のタイミングとして検知する第１の検知ステップと、前記選択ステップにおいて前記第２の動的オブジェクトが選択されたとき、当該選択されたタイミングを第２のタイミングとして検知する第２の検知ステップと、前記第１のタイミングにおいて前記表示部に表示されていた画像のうち、前記第１の領域の画像を取得する第１の取得ステップと、前記第２のタイミングにおいて前記表示部に表示されていた画像のうち、前記第２の領域の画像を取得する第２の取得ステップと、前記Ｗｅｂページの印刷実行時に、前記第１及び第２の動的オブジェクトに対応する印刷画像として、当該印刷実行時に表示されていた各画像を用いることなく前記第１及び第２の取得ステップで取得された各画像を用いて印刷データを生成する生成ステップと、を備えることを特徴とする。
【００２０】
請求項６記載のプログラムは、第１及び第２の動的オブジェクトを含むＷｅｂページを取得する取得ステップと、前記第１及び第２の動的オブジェクトをそれぞれ表示部の第１及び第２の領域に表示する表示ステップと、前記表示ステップにおける前記画像の表示中に、ユーザ入力に応じて、前記第１及び第２の動的オブジェクトのいずれか１つを選択する選択ステップと、前記選択ステップにおいて前記第１の動的オブジェクトが選択されたとき、当該選択されたタイミングを第１のタイミングとして検知する第１の検知ステップと、前記選択ステップにおいて前記第２の動的オブジェクトが選択されたとき、当該選択されたタイミングを第２のタイミングとして検知する第２の検知ステップと、前記第１のタイミングにおいて前記表示部に表示されていた画像のうち、前記第１の領域の画像を取得する第１の取得ステップと、前記第２のタイミングにおいて前記表示部に表示されていた画像のうち、前記第２の領域の画像を取得する第２の取得ステップと、前記Ｗｅｂページの印刷実行時に、前記第１及び第２の動的オブジェクトに対応する印刷画像として、当該印刷実行時に表示されていた各画像を用いることなく前記第１及び第２の取得ステップで取得された各画像を用いて印刷データを生成する生成ステップと、を備える情報処理装置の制御方法をコンピュータに実行させることを特徴とする。
【発明の効果】
【００２１】
本発明によれば、プラグインを必要とする動的オブジェクトの印刷において、それぞれ印刷したい所望の瞬間を容易に指示することができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施の形態に係る情報処理装置の外部環境を含めたシステム全体の構成図である。
【図２】図１のコンピュータ１の内部システムを示すブロック構成図である。
【図３】図１におけるページ表示部１０３がＷｅｂブラウザ１０のビュー領域１００７に対して行うオブジェクト配置処理の手順を示すフローチャートである。
【図４】図３のフローによりページ表示部１０３がビュー領域１００７に対してオブジェクト配置を行ったときの一例を示す図である。
【図５】図３のステップＳ１０５で使用するプラグイン管理ＤＢの一例を示す図である。
【図６】図１における入力制御部１０４が動作するイベント処理の手順を示すフローチャートである。
【図７】図３のステップＳ１０６で使用するキャプチャオブジェクトＤＢの一例を示す図である。
【図８】図１のコンピュータ１によって実行される印刷処理の手順を示すフローチャートである。
【図９】図８のステップＳ３０７で実行されるページ内描画処理の手順を示すフローチャートである。
【図１０】図１におけるＷｅｂブラウザ１０からの印刷結果の一例を示す図である。
【図１１】一般的なＷｅｂブラウザの構成図である。
【図１２】Ｗｅｂページの印刷失敗例を示す図である（その１）。
【図１３】Ｗｅｂページの印刷失敗例である（その２）。
【発明を実施するための形態】
【００２３】
以下、本発明を図面を参照しながら詳細に説明する。
【００２４】
図１は、本発明の実施の形態に係る情報処理装置の外部環境を含めたシステム全体の構成図である。
【００２５】
図１において、情報処理装置としてのコンピュータ１は、イーサネット(登録商標)等のネットワークインターフェースでインターネット２及びプリンタ３と接続されている。
【００２６】
コンピュータ１において、Ｗｅｂブラウザ１０は、コンピュータ１のオペレーティングシステム上でアプリケーションとして動作する。Ｗｅｂブラウザ１０を構成するコンポーネントであるネットワーク制御部１０１は、インターネット２からＷｅｂコンテンツ取得等の処理を行う。
【００２７】
同じくＷｅｂブラウザ１０の内部コンポーネントであるページ保存部１０２は、ネットワーク制御部１０１によって取得されたＷｅｂコンテンツをメモリやハードディスク等の記憶装置に保存し、あるいは外部コンポーネントの要求に応じて取り出す。ページ表示部１０３は、ページ保存部１０２によって保存されたＷｅｂページを取り出して、ＨＴＭＬ言語の記述を解釈して画面に表示する処理を行う。
【００２８】
次に、入力制御部１０４は、Ｗｅｂブラウザ１０のメニューコマンドや、Ｗｅｂページ中に表示されているリンクやボタンに対する入力を検知して対応する処理を行う。例えば、Ｗｅｂページ中のリンクをクリックする操作が入力されたら、そのリンク先のＷｅｂページの取得をネットワーク制御部１０１に指示する。
【００２９】
印刷制御部１０５は、Ｗｅｂページの印刷プレビュー表示やレイアウト変更、印刷等の処理を行うコンポーネントである。
【００３０】
グラフィックエンジン１１は、オペレーティングシステムの描画処理を制御するコンポーネントで、印刷制御部１０５からの描画命令を仲介する役割をする。プリンタドライバ１２は、グラフィックエンジン１１によって仲介される描画命令を入力として受け、プリンタ３が解釈可能なＰＤＬデータに変換して出力するソフトウェアである。
【００３１】
プリンタ３は、プリンタドライバ１２によって出力されたＰＤＬデータをネットワーク経由で受信し、印刷出力する。尚、プリンタ３は、ここではコンピュータ１とイーサネット(登録商標)等で接続されたデジタル複合機の例で示しているが、本発明は、これに限定されず、ＵＳＢインターフェースで接続されたインクジェットプリンタ等でもよい。
【００３２】
図２は、図１のコンピュータ１の内部システムを示すブロック構成図である。
【００３３】
ＣＰＵ２０１は、ＲＯＭ２０２あるいはＲＡＭ２０３あるいは外部記憶装置２０５に格納されたプログラムに従って装置全体の制御を行う。ＲＡＭ２０３は、ＣＰＵ２０１が各種処理を行う際のワークエリアとして使用される。
【００３４】
外部記憶装置２０５は、オペレーティングシステム（ＯＳ）やアプリケーションソフト、プリンタドライバソフト等を記録する。キーボード２０４もしくは図示していないマウス等の入力機器は、ユーザーが各種指示を与えるためのデバイスである。
【００３５】
ネットワークＩ／Ｆ２０６及びプリンタＩ／Ｆ２０７は、イーサネット(登録商標)または専用インターフェースを介してプリンタ３と接続し、データの授受を行うためのインターフェースである。モニタＩ／Ｆ２０８は、モニタに接続し、表示データの転送を行うためのインターフェースである。また、システムバス２０９は共通データバスである。
【００３６】
図３は、図１におけるページ表示部１０３がＷｅｂブラウザ１０のビュー領域１００７に対して行うオブジェクト配置処理の手順を示すフローチャートである。
【００３７】
まず、ステップＳ１０１の処理開始後、ステップＳ１０２において、ＣＰＵ２０１（Ｗｅｂブラウザ１０）は、ページ保存部１０２から取り出したＨＴＭＬの解析を行う。ここではＨＴＭＬの文法を解釈し、存在する全ての描画オブジェクト（ボタン）をページ表示部１０３の管理する形式に変換してＲＡＭ２０３に格納する。
【００３８】
全ての描画オブジェクトに対してＨＴＭＬの解析を繰り返すと（ステップＳ１０３）、ステップＳ１０４では、ＣＰＵ２０１は、オブジェクトの判別を行い、ステップＳ１０５にて、ＣＰＵ２０１は、それがプラグインを必要とするオブジェクトかどうかを判断する。
【００３９】
この判断のために、例えば、後述する図５に示すようなプラグイン管理ＤＢを使用する。プラグインを必要としないオブジェクトであった場合には、ステップＳ１０８において、ＣＰＵ２０１は、レイアウトを行い、オブジェクト配置を行う。
【００４０】
一方、プラグインを必要とするオブジェクトである場合、ステップＳ１０６において、ＣＰＵ２０１は、キャプチャオブジェクトＤＢへの登録を行う。キャプチャオブジェクトＤＢに関しては、図７を用いて後述する。
【００４１】
次に、ステップＳ１０７において、ＣＰＵ２０１は、ディスプレイ表示レイアウト時、動的オブジェクトの近傍へのトグルボタン領域の確保とトグルボタン（キャプチャボタン）のレイアウト配置を行う（配置手段）。そして、ＣＰＵ２０１は、ステップＳ１０８において、プラグインを必要とするオブジェクトの配置を行う。
【００４２】
ステップＳ１０７とステップＳ１０８の処理を行うことで、Ｗｅｂブラウザ１０の中のビュー領域１００７には、プラグインを必要とするオブジェクトの近傍にそれぞれトグルボタンが配置されることになる。全てのオブジェクトの配置が終わったら（ステップＳ１０９）終了となる。
【００４３】
図４は、図３のフローによりページ表示部１０３がビュー領域１００７に対してオブジェクト配置を行ったときの一例を示す図である。
【００４４】
ＨＴＭＬ解釈によりプラグインを必要とすると判断された動的オブジェクト１０１０〜１０１２の近傍にそれぞれトグルボタン４１０〜４１２が配置されている。これによりユーザーは、時間と共に刻々と変わるそれぞれのオブジェクトに対して、印刷を行いたいと思う瞬間にトグルボタンを押下することが可能である。トグルボタンを押下したときの処理に関しては図６を用いて後述する。
【００４５】
図５は、図３のステップＳ１０５で使用するプラグイン管理ＤＢの一例を示す図である。
【００４６】
プラグイン管理ＤＢは、Ｗｅｂコンテンツとしてリンクされているファイルの拡張子５０２毎にプラグイン名５０３が対応付けられたＤＢであり、外部記憶装置２０５内に保存されている。各拡張子５０２は拡張子ＩＤ５０１で管理される。
【００４７】
プラグインは、前述の通り、Ｗｅｂブラウザ１０に対して動的に追加が可能なモジュールである。新たなプラグインが追加されたときには、本プラグイン管理ＤＢに拡張子ＩＤを一つ追加してプラグイン管理ＤＢを更新する。
【００４８】
尚、プラグイン管理ＤＢでは、ビュー領域１００７への表示とイベント管理を行うことのできるプラグインのみを管理対象とする。ここでは簡単のため、拡張子とプラグインを対応付けて管理する例を示しているが、ＨＴＭＬのタグから取得した別の情報を元に、プラグインの特定を行っている場合も本発明は適応できる。
【００４９】
図６は、図１における入力制御部１０４が動作するイベント処理の手順を示すフローチャートである。
【００５０】
本発明に関係するところとして、図４で配置したトグルボタン４１０〜４１２をユーザーがマウス押下した際の動作を中心に記載してある。
【００５１】
ステップＳ２０１の処理開始の後に、ステップＳ２０２において、ＣＰＵ２０１は、マウスイベントを感知すると、まず、ステップＳ２０３において、対象が先述のトグルボタンであるかどうかを確認する。トグルボタンでない場合は、それぞれのイベントに対する該当処理を行う（ステップＳ２０６）。他のマウスイベントに対する挙動はここでは説明を割愛する。
【００５２】
トグルボタンである場合には、ステップＳ２０４において、ＣＰＵ２０１は、ＯＳの提供するキーボードイベントＡＰＩをコールし、自身のウィンドウに対するウィンドウキャプチャをクリップボードに対して保存する。ステップＳ２０４は、配置されたトグルボタンが押下されると、ＯＳの画面キャプチャ機能を使用して自身の画面キャプチャ画像を取得するキャプチャ手段として機能する。
【００５３】
前記動的オブジェクト毎に、前記クリップ手段により得られた画像を記憶する記憶手段
ここで、クリップボードとは、ＯＳが管理するＲＡＭ２０３上のメモリ領域であり、コピーアンドペースト等の一時的なデータ保持のために用いられる。Ｗｅｂブラウザ１０自身のウィンドウのキャプチャ情報がクリップボードに保存されると、次に、ステップＳ２０５において、ＣＰＵ２０１は、ブラウザレイアウト情報を参照する。
【００５４】
ブラウザレイアウト情報とは、即ち、ページ表示部１０３が、図３のフローにおいてレイアウトを行った結果の配置情報を指している。ブラウザレイアウト情報を参照したら、ステップＳ２０７において、ＣＰＵ２０１は、現在クリップボードに保存されているイメージ画像のどこの矩形に該当オブジェクトが存在するかを算出する。ここで、該当オブジェクトとは、押下されたトグルボタンに対応するオブジェクト（プラグインを必要とする）を指している。
【００５５】
次に、ステップＳ２０８において、ＣＰＵ２０１は、クリップボードに保存されたウィンドウキャプチャから該当矩形のクリップ（切り出し）処理を行う。これにより、プラグインが表示している領域のボタン押下時の画像イメージをＲＡＭ２０３に格納することができる（ステップＳ２０９）。
【００５６】
ステップＳ２０８は、キャプチャ手段により取得された画面キャプチャ画像から動的オブジェクトの描画領域矩形をクリップするクリップ手段として機能する。ステップＳ２０９は、動的オブジェクト毎に、クリップ手段により得られた画像を記憶する記憶手段として機能する。記憶手段は、同一の前記動的オブジェクトに対して複数の画像を記憶する。
【００５７】
ＲＡＭ２０３に格納された画像は、前述のキャプチャオブジェクトＤＢにポインタとして保存され、Ｗｅｂブラウザ１０によって管理される。以上の処理が終わったらトグルイベントに対する処理は終了であるため（ステップＳ２１０）、再度マウスイベントを待ち受ける処理に戻る。
【００５８】
図７は、図３のステップＳ１０６で使用するキャプチャオブジェクトＤＢの一例を示す図である。
【００５９】
現在閲覧中のＷｅｂページにおいてプラグインを必要とするオブジェクトは、ステップＳ１０６の繰り返しにより全てこのキャプチャオブジェクトＤＢに登録されている。キャプチャオブジェクトＤＢは、オブジェクトＩＤ７０１、オブジェクトＵＲＬ７０２、キャンバス内矩形７０３、拡張子ＩＤ７０４、キャプチャ画像ポインタ７０５とで構成されている。オブジェクトＵＲＬ７０２はそれぞれのオブジェクトが存在するＵＲＬを示している。
【００６０】
図７は、ｈｔｔｐプロトコルの絶対パスで管理している例であるが、相対パスで管理されていてもよい。キャンバス内矩形７０３は、現在のＷｅｂブラウザ１０のビュー領域１００７において左上を原点とした時にオブジェクトが占有する領域の矩形を示している。
【００６１】
本矩形情報は、スクロールバー１００８を操作したときやウィンドウサイズを変更したとき等、レイアウトし直しによる再描画が行われるたびに更新されることになる。また、本矩形情報は、図６のステップＳ２０７において、クリップボード上のウィンドウキャプチャ画像から該当オブジェクトの矩形情報を算出する際に使用される。算出には他にＷｅｂブラウザ１０上のメニューバーやツールバー領域１００６の高さも考慮される。
【００６２】
拡張子ＩＤ７０４は、図５における拡張子ＩＤ５０１のどの拡張子が使用されているかを示すものであり、これにより使用しているプラグインを特定することができる。キャプチャ画像ポインタ７０５は、図６におけるステップＳ２０９で保存した画像のポインタが格納されている。
【００６３】
トグルボタンの押下されたオブジェクトでは、このキャプチャ画像ポインタ７０５にポインタが格納され、まだトグルボタンの押下されていないオブジェクトでは、このキャプチャ画像ポインタ７０５にはＮｕｌｌが格納されている。これらの情報は、全てオブジェクトＩＤ７０１で管理されている。
【００６４】
図８は、図１のコンピュータ１によって実行される印刷処理の手順を示すフローチャートである。実際の印刷動作は、プリンタドライバ１２によってプリンタ３で実行される。
【００６５】
Ｗｅｂブラウザ１０における印刷は、例えば、ツールバー領域１００６上の印刷ボタン１００５がユーザーによって押下されたときに実行される。印刷時には（ステップＳ３０１）、まず、ＣＰＵ２０１は、ＨＴＭＬを解析して（ステップＳ３０２）、印刷レイアウトの決定を行う（ステップＳ３０３）。レイアウト作業は、ＨＴＭＬの中で印刷対象となるオブジェクトを全て矩形情報として扱い、各用紙のページ毎にそれらの矩形を敷き詰めていく作業である。
【００６６】
尚、ＨＴＭＬに印刷専用のタグが記載されているときは、それを参照してレイアウト決定を行う。次に、ステップＳ３０４において、ＣＰＵ２０１は、ＯＳのＡＰＩを使用して印刷ジョブ開始コマンドを発行する。
【００６７】
更に、ステップＳ３０６において、ＣＰＵ２０１は、ページ開始コマンドを発行する。その後、ステップＳ３０７において、ＣＰＵ２０１は、先ほどレイアウト決定を行ったオブジェクトの実際の描画処理を行う。描画処理の詳細は図９にて後述する。
【００６８】
ページ内の全てのオブジェクトに対して描画処理が終了すると、ステップＳ３０８で、ＣＰＵ２０１は、ページ終了コマンドを発行する。全てのページで描画処理が終了したら（ステップＳ３０９）、ステップＳ３１０において、ＣＰＵ２０１は、印刷ジョブ終了コマンドを発行して印刷を終了する。
【００６９】
尚、以上の処理は、全てＷｅｂブラウザ１０がＯＳのＡＰＩを通して行い、ＯＳはそれを受けてグラフィックエンジン１１を使用してプリンタドライバ１２への印刷指示を行う。
【００７０】
図９は、図８のステップＳ３０７で実行されるページ内描画処理の手順を示すフローチャートである。
【００７１】
処理を開始し（ステップＳ４０１）、ＣＰＵ２０１は、ページ内の全オブジェクトを描画したとき（ステップＳ４０２）、ステップＳ４０３において、印刷対象となるオブジェクトの種類を判別する。次に、ステップＳ４０４で、ＣＰＵ２０１は、上記オブジェクトがプラグインを使用しているオブジェクトかどうかによって処理を切り替える。
【００７２】
この判断においても、図５に示すようなプラグイン管理ＤＢを使用することができる。プラグインを必要としないオブジェクトの場合は、通常通り該当するオブジェクトから描画オブジェクトを作成する（ステップＳ４１３）。描画オブジェクトとは、例えば、イメージやグラフィック、テキスト等のグラフィックエンジン１１が理解できる形式のオブジェクトを指している。
【００７３】
一方、オブジェクトがプラグインを必要とするオブジェクトである場合には、ステップＳ４０５において、ＣＰＵ２０１は、まず前述のキャプチャオブジェクトＤＢを参照する。次に、ＣＰＵ２０１は、オブジェクトの内容からオブジェクトＩＤを特定し（ステップＳ４０６）、キャプチャ画像ポインタ７０５を参照することで、キャプチャ画像の有り無しを判断する（ステップＳ４０７）。
【００７４】
キャプチャ画像が存在する場合には、ステップＳ４０８において、ＣＰＵ２０１は、キャプチャオブジェクトＤＢのキャプチャ画像ポインタからキャプチャ画像を取得し、キャプチャ画像を描画オブジェクトとする（ステップＳ４０９）。ステップＳ４０９は、印刷実行時に動的オブジェクトの印刷画像を記憶手段が記憶している各画像に置き換えて印刷データを生成する生成手段として機能する。
【００７５】
尚、この場合、描画オブジェクトの属性はイメージ属性であり、解像度はディスプレイの解像度と等しくなる。また、キャプチャ画像が存在しない場合には、ステップＳ４１２において該当するプラグインから描画オブジェクトを取得する。
【００７６】
この場合の描画オブジェクトはプラグインの実装に依存し、テキスト、グラフィックス、イメージ等さまざまな属性での描画オブジェクトが考えられる。ＣＰＵ２０１は、以上のフローにより得られた描画オブジェクトをステップＳ４１０において、描画コマンドの形でＯＳに対して発行する。ページ内の全てのオブジェクトに対して描画コマンドを発行したら（ステップＳ４１１）、ページ内描画処理は終了となる。
【００７７】
図１０は、図１におけるＷｅｂブラウザ１０からの印刷結果の一例を示す図である。
【００７８】
全ての動的オブジェクト１３１０、１３１１、１３１２に対してそれぞれユーザーの求める所定のタイミングを指定することができるため、よりユーザーの求める印刷結果を得ることができる。また、ＯＳのキャプチャ機能を使用するため、プラグインの実装によらずに見たままの印刷結果を得ることができる。
【００７９】
尚、本実施の形態では、キャプチャボタンとしてトグルボタンを採用しているが、オンかオフにこだわる必要はなく、複数回数キャプチャを可能にするようなボタンの配置を行っても本発明は実施することができる。
【００８０】
複数回数キャプチャを行った場合は、印刷時にどの画像を使用するかをユーザーに入力させてもよいし、与えられた矩形の中に縮小して複数はめ込んで印刷するようにしてもよい。縮小して複数はめ込む場合、図９におけるステップＳ４０６において矩形内への再配置を行うことで実現可能である。
【００８１】
また、本実施の形態では、簡単のためレイアウトやオブジェクト画像の取得をＷｅｂブラウザ自身が行う例を示している。別のレイアウトエンジンやレンダリングエンジンを使用している場合には、それらのエンジンが行った結果に対して、後から差し替えてユーザーに提供することでも本発明は実施可能である。上記エンジンがオーバーライド可能なインターフェースを有している場合は、それらを活用して本発明を実施してもよい。
【００８２】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００８３】
１  コンピュータ
２  インターネット
３  プリンタ
１０  Ｗｅｂブラウザ
１１  グラフィックエンジン
１２  プリンタドライバ
１０１  ネットワーク制御部
１０２  ページ保存部
１０３  ページ表示部
１０４  入力制御部
１０５  印刷制御部
【図１】
0005464956.tif 000002
【図２】
0005464956.tif 000003
【図３】
0005464956.tif 000004
【図４】
0005464956.tif 000005
【図５】
0005464956.tif 000006
【図６】
0005464956.tif 000007
【図７】
0005464956.tif 000008
【図８】
0005464956.tif 000009
【図９】
0005464956.tif 000010
【図１０】
0005464956.tif 000011
【図１１】
0005464956.tif 000012
【図１２】
0005464956.tif 000013
【図１３】
0005464956.tif 000014