(57)【要約】【課題】Ｗｅｂページを所望のレイアウトに再配置して印刷する作業負荷を軽減させる。【解決手段】所望の印刷レイアウトを実現するスタイルシートをＷｅｂページのＵＲＬと関連付けて保存する。以後同じドメインまたは似たＵＲＬの印刷を行う際は、保存されたスタイルシートを適用した印刷レイアウトを候補として提示し、印刷時に適用する。【選択図】図１０
2010181971.tif 000002
【特許請求の範囲】
【請求項１】
複数のパーツから構成されるＷｅｂページをレイアウトして印刷する情報処理装置であって
印刷対象のＷｅｂページの印刷が指示された際に、当該Ｗｅｂページを構成するパーツを印刷プレビュー画像の中に再配置するための再配置手段と、
前記再配置手段により再配置されたレイアウトのスタイルシートを作成する作成手段と、
前記スタイルシートと前記印刷対象のＷｅｂページのアドレスとを関連づけて蓄積する蓄積手段と、
前記スタイルシートに従って前記印刷対象のＷｅｂページを再配置して印刷するための印刷制御手段と、
前記蓄積手段に蓄積されたＷｅｂページのアドレスから、前記印刷対象のＷｅｂページのアドレスと、少なくともサーバを示す部分が一致するアドレスを検索し、見つかったなら該当するアドレスに関連づけられたスタイルシートに従って前記印刷対象のＷｅｂページを再配置したサムネイルを作成してスタイルシートの候補として表示する候補の表示手段とを備え、
前記印刷制御手段は、前記スタイルシートの候補の中からスタイルシートが選択された場合、該スタイルシートに従って前記印刷対象のＷｅｂページを再配置して印刷することを特徴とする情報処理装置。
【請求項２】
前記蓄積手段は、前記スタイルシートが前記印刷制御手段によるＷｅｂページの印刷のために選択された回数を、前記スタイルシートと前記印刷対象のＷｅｂページのアドレスとに更に関連づけて蓄積し、
前記候補の表示手段は、前記該当ずるアドレスに関連づけられたスタイルシートが複数ある場合には、当該スタイルシートに関連づけられた回数が多いスタイルシートを、より優先順位の高い候補として表示することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記アドレスはＵＲＬであり、
前記候補の表示手段は、前記印刷対象のＷｅｂページのＵＲＬの一部を構成する字句と一致する字句を含むＵＲＬを前記蓄積手段に蓄積されたＷｅｂページのアドレスから検索し、該当するＵＲＬに関連づけられたスタイルシートに従って前記印刷対象のＷｅｂページを再配置したサムネイルを作成してスタイルシートの候補として表示することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記再配置手段により再配置されたプレビュー画像を表示するための表示の制御手段を更に備え、
前記表示の制御手段は、印刷指示がされた際に、前記優先順位が最も高い候補のスタイルシートを前記印刷対象のＷｅｂページに適用し、得られたプレビュー画像をプレビュー画像として表示することを特徴とする請求項２又は３に記載の情報処理装置。
【請求項５】
前記情報処理装置はネットワークに接続されており、
該ネットワークには更に、該ネットワークに接続された情報処理装置により印刷のために用いられたスタイルシートが印刷対象のＷｅｂページと関連づけて登録した外部の蓄積手段を持つサーバが接続されており、
前記候補の表示手段は、前記蓄積手段に蓄積されたＷｅｂページのアドレスに加えて、前記外部の蓄積手段に蓄積されたＷｅｂページのアドレスを検索の対象とすることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記印刷対象のＷｅｂページのタイトルを取得し、取得したタイトルに含まれたキーワードを抽出し、前記印刷対象のＷｅｂページのパーツごとに抽出した前記キーワードを検索し、該当するパーツを組み合わせたスタイルシートを作成する手段を更に備えることを特徴とする請求項１に記載の情報処理装置。
【請求項７】
複数のパーツから構成されるＷｅｂページをレイアウトして印刷する印刷制御方法であって、
印刷対象のＷｅｂページの印刷が指示された際に、当該Ｗｅｂページを構成するパーツを印刷プレビュー画像の中に再配置するための再配置工程と、
前記再配置工程により再配置されたレイアウトのスタイルシートを作成する作成工程と、
前記スタイルシートと前記印刷対象のＷｅｂページのアドレスとを関連づけて蓄積手段に蓄積する蓄積工程と、
前記スタイルシートに従って前記印刷対象のＷｅｂページを再配置して印刷するための印刷制御工程と、
前記蓄積手段に蓄積されたＷｅｂページのアドレスから、前記印刷対象のＷｅｂページのアドレスと、少なくともサーバを示す部分が一致するアドレスを検索し、見つかったなら該当するアドレスに関連づけられたスタイルシートに従って前記印刷対象のＷｅｂページを再配置したサムネイルを作成してスタイルシートの候補として表示する候補の表示工程とを備え、
前記印刷制御工程は、前記スタイルシートの候補の中からスタイルシートが選択された場合、該スタイルシートに従って前記印刷対象のＷｅｂページを再配置して印刷することを特徴とする印刷制御方法。
【請求項８】
複数のパーツから構成されるＷｅｂページをレイアウトして印刷する情報処理装置としてコンピュータを機能させるためのプログラムであって、
印刷対象のＷｅｂページの印刷が指示された際に、当該Ｗｅｂページを構成するパーツを印刷プレビュー画像の中に再配置するための再配置手段と、
前記再配置手段により再配置されたレイアウトのスタイルシートを作成する作成手段と、
前記スタイルシートと前記印刷対象のＷｅｂページのアドレスとを関連づけて蓄積する蓄積手段と、
前記スタイルシートに従って前記印刷対象のＷｅｂページを再配置して印刷するための印刷制御手段と、
前記蓄積手段に蓄積されたＷｅｂページのアドレスから、前記印刷対象のＷｅｂページのアドレスと、少なくともサーバを示す部分が一致するアドレスを検索し、見つかったなら該当するアドレスに関連づけられたスタイルシートに従って前記印刷対象のＷｅｂページを再配置したサムネイルを作成してスタイルシートの候補として表示する候補の表示手段とを備え、
前記印刷制御手段は、前記スタイルシートの候補の中からスタイルシートが選択された場合、該スタイルシートに従って前記印刷対象のＷｅｂページを再配置して印刷することとしてコンピュータを機能させるためのプログラム。
【請求項９】
複数のパーツから構成されるＷｅｂページをレイアウトして印刷する情報処理装置であって
前記Ｗｅｂページを構成する複数のパーツから選択されたパーツを再配置する再配置手段と、
前記再配置手段により再配置されたパーツのレイアウトを示すスタイルシートを作成する作成手段と、
前記作成手段によって作成されたスタイルシートを他のＷｅｂページを印刷する際に利用できるように蓄積する蓄積手段とを備えることを特徴とする情報処理装置。
【請求項１０】
複数のパーツから構成されるＷｅｂページをレイアウトして印刷する印刷制御方法であって
前記Ｗｅｂページを構成する複数のパーツから選択されたパーツを再配置する再配置工程と、
前記再配置工程により再配置されたパーツのレイアウトを示すスタイルシートを作成する作成工程と、
前記作成工程によって作成されたスタイルシートを他のＷｅｂページを印刷する際に利用できるように蓄積する蓄積工程とを備えることを特徴とする印刷制御方法。
【請求項１１】
複数のパーツから構成されるＷｅｂページをレイアウトして印刷する情報処理装置としてコンピュータを機能させるためのプログラムであって、
前記Ｗｅｂページを構成する複数のパーツから選択されたパーツを再配置する再配置手段と、
前記再配置手段により再配置されたパーツのレイアウトを示すスタイルシートを作成する作成手段と、
前記作成手段によって作成されたスタイルシートを他のＷｅｂページを印刷する際に利用できるように蓄積する蓄積手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置及び印刷制御方法方法に関し、詳しくは段組みのように複数のパーツから構成されるＷｅｂページを所望のレイアウトで印刷するための情報処理装置及び方法に関するものである。
【背景技術】
【０００２】
図１に典型的な段組み構成を持つＷｅｂページの一例を示す。多くの場合、ニュースの本文やブログの記事（エントリー）など、主となるコンテンツＰ１０は中央に配置される。それを取り囲むようにヘッダＰ２０、ナビゲーションバーＰ３０（サイト内外へのリンク）、バナー広告Ｐ４０など補助的なコンテンツがパーツ（オブジェクト）として配置される。これら補助的なＷｅｂのコンテンツＰ２０〜Ｐ４０は、表示されたＷｅｂページ間を容易に移動するためなどに必要なものであり、Ｗｅｂページを印刷して紙で読む場合にはあまり必要でない。
【０００３】
そのため、従来Ｗｅｂサイトの制作者には、表示用のページとは別にナビゲーションバーや広告などのパーツを排した「印刷用スタイルシート」をＷｅｂサイトにおいて提供することが推奨されてきた。このスタイルシートを使用することで、図２に示すとおり、ナビゲーションバーや広告などが排除された印刷物を得ることができる。ここで印刷用スタイルシートとは、図１のような表示用ページを図２の印刷用ページのようなレイアウトに変換するためのレイアウト情報であり、具体的には主となるコンテンツＰ１１だけがページ幅いっぱいに印刷されるような指示が記述されている。
【０００４】
しかしながら、印刷用スタイルシートを提供する作業はＷｅｂサイトの制作者側に負担がかかるため、それらを用意せず表示用ページと同じレイアウトでしか印刷できないＷｅｂサイトが数多く存在する。また、印刷用ページの中にはやはり広告やサイト内外へのリンクを配置している場合があるため、必ずしも印刷用ページのすべてが実際に印刷を行うユーザの望むレイアウトになっているとは限らない。
【０００５】
こうした印刷用ページの欠点を補うため、特許文献１や非特許文献１に示すような技術が提案されている。特許文献１では、Ｗｅｂページを構成する複数のオブジェクトを抽出して再配置し、自由なレイアウトで新たなＷｅｂページを生成する技術に関して述べられている。また、非特許文献１は実際に開発されたソフトウェアの一例である。このソフトウェアを使用することによって印刷したいＷｅｂページの一部をコピーして貼り付けることによってあたかもスクラップブックのような感覚で印刷するページが作成される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１１−２５００５４号公報
【非特許文献】
【０００７】
【非特許文献１】"ＨＰインクジェットプリンタ−Ｓｍａｒｔ  Ｗｅｂ  Ｐｒｉｎｔｉｎｇの使い方"、［online］、平成２０年８月更新、日本ヒューレットパッカード株式会社、［平成２０年１２月２５日検索］、インターネット＜ＵＲＬ、http://h10025.www1.hp.com/ewfrf/ws/document?lc=ja&cc=jp&docuname=c01418497＞
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１や非特許文献１に開示されている技術を用いればＷｅｂページを再配置することにより所望の印刷レイアウトは実現できる。しかしながら、Ｗｅｂページを印刷しようとするたびに、印刷対象となるオブジェクトを再配置するという手間のかかる作業をユーザが行わねばならない。例えば、あるニュースサイトを頻繁に訪れて、そのページを頻繁に印刷を行う場合、広告などを取り除いて記事だけを切り出して再配置する作業は決まり切っているにも関わらず、ユーザは毎回それを行わなければならない。この作業は定型的な作業ではあるが、同じサイト内でも記事の長さはまちまちなため、これまでの手法で再配置する作業を自動化することは困難であった。
【０００９】
本発明は上記目的を鑑みて成されたもので、上記課題を解決することを目的とする。詳しくは、印刷のためにＷｅｂページを再配置する作業にかかる手間を軽減し、所望のレイアウトで容易に印刷することができる情報処理装置及び印刷制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために本発明は以下の構成を有する。
【００１１】
複数のパーツから構成されるＷｅｂページを所望のレイアウトで印刷する情報処理装置であって
印刷対象のＷｅｂページの印刷が指示された際に、当該Ｗｅｂページを構成するパーツを印刷プレビュー画像中に再配置するための再配置手段と、
前記再配置手段による再配置されたレイアウトのスタイルシートを作成する作成手段と、
前記スタイルシートを前記印刷対象のＷｅｂページのアドレスとを関連づけて蓄積する蓄積手段と、
前記スタイルシートに従って前記印刷対象のＷｅｂページを再配置して印刷するための印刷制御手段と、
前記蓄積手段に蓄積されたＷｅｂページのアドレスから、前記印刷対象のＷｅｂページのアドレスと、少なくともサーバを示す部分が一致するアドレスを検索し、見つかったなら該当するアドレスに関連づけられたスタイルシートに従って前記印刷対象のＷｅｂページを再配置したサムネイルを作成してスタイルシートの候補として表示する候補の表示手段とを備え、
前記印刷制御手段は、前記スタイルシートの候補の中からスタイルシートが選択された場合、該スタイルシートに従って前記印刷対象のＷｅｂページを再配置して印刷することを特徴とする。
【発明の効果】
【００１２】
本発明により、Ｗｅｂページをユーザの望むレイアウトで印刷する作業を、印刷の都度再配置を行うことなく実現することができる。
【図面の簡単な説明】
【００１３】
【図１】段組み構成のＷｅｂページの例を示す図である。
【図２】印刷用ページの例を示す図である。
【図３】本発明の第一の実施の形態に係るシステム全体の構成を示すブロック図である。
【図４】印刷制御部１０５の内部システムを示すブロック図である。
【図５】印刷プレビュー画面の一例を示す図である。
【図６】プレビュー表示、再レイアウト、および印刷処理の流れを示すフローチャートである。
【図７】スタイルシートを用いた不要パーツの消去、再レイアウトの処理を示す模式図である。
【図８】スタイルシートの例を示す図である。
【図９】スタイルシートＤＢの例を示す図である。
【図１０】候補サムネイルが表示された印刷プレビュー画面の一例を示す図である。
【図１１】候補を選択して印刷する処理の流れを示すフローチャートである。
【図１２】本発明の第二の実施の形態に係る処理の流れを示すフローチャートである。
【図１３】本発明の第三の実施の形態に係るユーザフォーラムスタイルシートＤＢの概念図である。
【図１４】本発明の第四の実施の形態に係るページタイトルから自動的にレイアウトする処理の概念図である。
【図１５】ページタイトルから自動的にレイアウトする処理の流れを示すフローチャートである。
【図１６】本発明の第五の実施の形態に係るシステム構成を示すブロック図である。
【図１７】コンピュータのハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【００１４】
［実施形態１］
≪図３：Ｗｅｂブラウザの説明≫
図３は、本発明の第一の実施形態に係るＷｅｂページ印刷装置の外部環境を含めたシステム全体の構成例を説明する図である。図３において、コンピュータ１は、イーサネット（登録商標）などのネットワークインターフェースでインターネット２およびプリンタ３と接続されている。Ｗｅｂブラウザ１０はコンピュータ１すなわち情報処理装置のオペレーティングシステム上で動作するアプリケーションプログラムである。Ｗｅｂブラウザ１０は、指定されたアドレスすなわちＵＲＬで特定されるＷｅｂサーバにアクセスして、そのＷｅｂサーバから提供されるＨＴＭＬデータや画像データ等のＷｅｂコンテンツを画像として表示する。Ｗｅｂブラウザ１０を構成するコンポーネントであるネットワーク制御部１０１は、インターネット２からＷｅｂコンテンツ取得などの処理を行う。同じくＷｅｂブラウザ１０の内部コンポーネントであるページ保存部１０２は、ネットワーク制御部１０１により取得したＷｅｂコンテンツをメモリなどの主記憶装置やハードディスクなど外部記憶装置に保存する。あるいは外部コンポーネントの要求に応じて保存したＷｅｂコンテンツを取り出す。
【００１５】
ページ表示部１０３は、ページ保存部１０２によって保存されたＷｅｂページを取り出して、ＨＴＭＬ言語の記述を解釈して画面に表示する。またページ表示部１０３は、Ｗｅｂページにスタイルシートが指定されていた場合、それを適用して表示する。入力制御部１０４は、Ｗｅｂブラウザ１０のメニューコマンドや、Ｗｅｂページ中に表示されているリンクやボタンに対する入力に応じた処理を行う。例えばＷｅｂページ中のリンクがクリックされた場合、そのリンク先のＷｅｂページの取得をネットワーク制御部１０１に指示したりする。
【００１６】
印刷制御部１０５は本発明の主たる処理を行うコンポーネントで、Ｗｅｂページの印刷プレビュー表示やレイアウト変更、印刷などの処理を行う。印刷制御部１０５はあらかじめＷｅｂブラウザ１０の一部として組み込まれていてもよいし、あとから追加可能なプラグインの形式のいずれであっても良い。印刷制御部１０５の詳細な内部システムについては後述する。
【００１７】
グラフィックエンジン１１はオペレーティングシステムの描画処理を制御するコンポーネントで、印刷処理部からの描画命令を仲介する役割をする。プリンタドライバ１２はグラフィックエンジン１１によって仲介される描画命令を受け、プリンタ３が解釈可能なＰＤＬデータ等に変換して出力するソフトウェアである。プリンタ３はプリンタドライバ１２によって出力されたＰＤＬデータを印刷する。なお、プリンタ３はここではコンピュータとイーサネットなどのネットワークで接続されたデジタル複合機の例で示している。しかし、本発明はこれに限定されず、ＵＳＢインターフェースで接続されたインクジェットプリンタなどでも良い。
【００１８】
≪図１７：コンピュータのハードウェア構成≫
図１７は一般的なコンピューターであるコンピュータ１の内部システムを表すブロック構成図である。ＣＰＵ１７０１はＲＯＭ１７０２あるいはＲＡＭ１７０３あるいは外部記憶装置１７０５に格納されたプログラムに従って装置全体の制御を行う。このプログラムには、オペレーティングシステムやＷｅｂブラウザおよびそのプラグインソフトが含まれる。ＲＡＭ１７０３はＣＰＵ１７０１が各種処理を行う際のワークエリアとして使用される。外部記憶装置１７０５はオペレーティングシステム（ＯＳ）やアプリケーションソフト、プリンタドライバソフト等を記録する。キーボード１７０４もしくは図示していないマウスなどの入力機器は、ユーザーが各種指示を与えるためのデバイスである。ネットワークＩ／Ｆ１７０６およびプリンタＩ／Ｆ１７０７はイーサネットまたは専用インターフェースを介してプリンタ２０と接続し、データの授受を行うためのインターフェースである。モニタＩ／Ｆ１７０８はモニタに接続し表示データの転送を行うためのインターフェースである。また、１７０９は共通データバスである。
【００１９】
≪図４：印刷制御部１０５の詳細説明≫
図４は、印刷制御部１０５の内部システムを表すブロック構成図である。プレビュー画面制御部２１は、印刷プレビュー画面に対する入出力を管理する役割を果たす。スタイルシート生成部２２は、プレビュー画面制御部２１からの要求に応じて所望の印刷レイアウトを実現するスタイルシートを生成するコンポーネントである。プレビュー画面表示部２３は、印刷プレビュー画面、再配置された印刷プレビュー画面、印刷レイアウトの候補となるサムネイル画像などを生成して表示する。表示される画面の詳細については後述する。スタイルシート検索部２４は、スタイルシートＤＢ（データベース）２６およびユーザフォーラムスタイルシートＤＢ２７からスタイルシートデータを検索し、取得する。印刷部２５はＷｅｂページにスタイルシートを適用してグラフィックエンジンを通じて印刷処理を行うコンポーネントである。スタイルシートＤＢ２６はコンピュータ１内のハードディスクに存在し、スタイルシートを保存するためのデータベースである。また、ユーザフォーラムスタイルシートＤＢ２７は、ネットワーク制御部１０１を通じてアクセス可能なインターネット２上のサーバに配置されたデータベースである。どちらのデータベース２６、２７にもユーザによって生成されたスタイルシートが、印刷したＷｅｂページのＵＲＬや作成日時などの情報と関連付けて保存される。データベース内のレコード形式や、データベースの果たす役割については後述する。
【００２０】
≪図５：印刷プレビュー画面のスクリーンショット説明≫
図５は、印刷制御部１０５によって表示される印刷プレビュー画面の一例である。ここでは図１に示すようなＷｅｂページに対して図２のような見やすい印刷用ページが用意されていないケースを想定する。以下に、ユーザが図１のような既定の見にくい印刷レイアウトを、図２のような見やすい印刷レイアウトに再配置して印刷をする際の操作方法について説明する。
【００２１】
Ｗｅｂブラウザ１０の入力制御部１０４は、現在表示しているＷｅｂページの印刷プレビュー画像を表示することが指示された場合、印刷プレビューウィンドウ３１を表示する。印刷プレビューウィンドウ３１内は左側と右側の２つの領域に分かれており、左側にはオリジナルのプレビュー画像３２が、右側には再レイアウト後のプレビュー画像３３が表示される。オリジナルのプレビュー画像とは、表示されたＷｅｂページをそのまま印刷した場合のプレビュー画像である。それに対して再レイアウト後のプレビュー画像とは、Ｗｅｂページを、ユーザの希望に応じて再配置したプレビュー画像である。図５の例では右側に再レイアウト後のプレビュー画像３３が表示されているが、初期状態では白紙のプレビュー画像、すなわち何も印刷されない状態が表示されるようになっている。
【００２２】
ここで、印刷対象の領域の選択は、オリジナルのプレビュー画像３２の中から印刷を行いたい部分、例えばＷｅｂページ上の領域３４をユーザがマウスカーソル等で選択する。なおここでいうＷｅｂページ上の領域は、単に表示上の領域を指すのではなく、ＨＴＭＬ要素により記述された記述の単位で、以後、パーツあるいはオブジェクトと呼ぶこともある。詳しくは図７を参照して後述するが、本例のパーツとは、「要素をまとめるための要素」によりまとめられた要素あるいは要素群である。
【００２３】
こうして選択したパーツ（選択パーツ）の再配置は、選択パーツ３４をマウスで右側のプレビュー画像３３の上へドラッグアンドドロップすることで行われる。
【００２４】
プレビュー画像３２には様々なＷｅｂページのパーツが表示されているが、プレビュー画像３２内に表示されていればどのようなパーツでも選択してプレビュー画像３３へドラッグアンドドロップすることができる。プレビュー画像３３上へ選択パーツがドラッグアンドドロップされると、選択パーツのコピー３５がプレビュー画像３３の上に生成され、表示される。このプレビュー画像３３が印刷対象として決定される。
【００２５】
さらに、選択パーツのコピー３５の枠３５１（図では点線で表示）を、たとえばユーザがマウスカーソルで掴んでドラッグすることによって、選択パーツのコピー３５の大きさを変えることができる。選択パーツ３４内にはテキストが含まれていてそれが１行で収まらない折り返しのあるものであった場合、選択パーツのコピー３５の幅が広がるのに合わせて折り返し位置が移動し、１行に多くの文字数を表示するようレイアウトすることができる。さらに、たとえば選択パーツのコピー３５のたとえば真ん中を持って画面３３内をドラッグすることによって選択パーツのコピー３５の位置を変えることもできる。
【００２６】
なお、パーツの選択及び再配置操作は何度でも繰り返すことができるので、複数のパーツをプレビュー画像３３に配置して印刷することも可能である。またプレビュー画像３３から選択したパーツを削除することも可能である。印刷レイアウトが決まったら印刷ボタン３６を押して、プレビュー画像３３をプリンタ３から印刷することができる。
【００２７】
≪図７：スタイルシートを用いた不要パーツの消去、再レイアウトの模式図≫
次に、図５で説明したユーザによる操作を、対応する印刷制御部１０５における処理に関連付けて説明する。その前にまずスタイルシートについて説明する。図７は印刷したいパーツを選択し、再配置することを可能にする仕組みを表す模式図である。
【００２８】
再配置前のＷｅｂページ４１は、パーツ４２〜４５で構成されている。ＨＴＭＬ言語では＜ｄｉｖ／＞や＜ｓｐａｎ／＞といった「要素をまとめるための要素」が定義されており、各要素にはｉｄという属性（各パーツの固有の識別子）を付与することができる。「要素をまとめるための要素」によってまとめられた要素あるいは要素群を本例ではパーツと呼んでいる。図７では、ｈｅａｄｅｒ、ｎａｖｉｇａｔｉｏｎ、ｓｐｏｎｓｏｒｅｄ、ｃｏｎｔｅｎｔｓというｉｄを持つパーツが含まれている。これらパーツのそれぞれには、テキストや画像の指定やその配置等を記述する要素が含まれている。これらの＜ｄｉｖ／＞要素（不図示だが＜ｓｐａｎ／＞要素も）のｉｄ属性はＷｅｂページと関連付けられたスタイルシートやスクリプトから参照でき、いわばＷｅｂページを構成するパーツとして利用される。図７のＷｅｂページ４１はこのようにｈｅａｄｅｒ、ｎａｖｉｇａｔｉｏｎ、ｓｐｏｎｓｏｒｅｄ、ｃｏｎｔｅｎｔｓという＜ｄｉｖ／＞要素のｉｄ属性を参照することで構成されている。スタイルシートを適用した再配置後のＷｅｂページ４６では、このうちｃｏｎｔｅｎｔｓというｉｄ属性の＜ｄｉｖ／＞要素だけを表示するように構成されている。
【００２９】
≪図８：スタイルシートの例≫
図８にスタイルシートの例を示す。スタイルシートとはＷｅｂページの背景、テキスト、レイアウトといった見栄えを制御するためのフォーマットである。フォーマットの詳細については割愛するが、図８の例は、図７のＷｅｂページ４６を実現するためのスタイルシート４８の例である。スタイルシート４８は、ｈｅａｄｅｒ、ｎａｖｉｇａｔｉｏｎ、ｓｐｏｎｓｏｒｅｄというｉｄを持つ要素は｛ｄｉｓｐｌａｙ：ｎｏｎｅ；｝なる記述により非表示にしている。一方、ｃｏｎｔｅｎｔｓというｉｄを持つ要素は、｛ｗｉｄｔｈｄ：１００％；｝なる記述で、パーツの幅をそれが配置される領域の幅に対して１００％にする、という表示やレイアウトに関する指示を表している。本例のスタイルシート４８を図７のＷｅｂページ４１に関連付けると、ｈｅａｄｅｒ、ｎａｖｉｇａｔｉｏｎ、ｓｐｏｎｓｏｒｅｄというｉｄを持つパーツ４２，４３，４５が非表示になる。その一方で、１００％で表示すると指定された、ｃｏｎｔｅｎｔｓというｉｄを持つパーツ４７がページの幅いっぱいを占めるようなレイアウトに変換される。その結果、パーツ再配置後の新たなＷｅｂページ４６が画像として生成され、表示される。このように、スタイルシートを利用することによって、元のＷｅｂページを変更することなく見栄えを変更することが可能となる。
【００３０】
≪図６：プレビュー表示、再レイアウト、印刷処理の流れ≫
次に、図５で説明したユーザによる操作を、対応する印刷制御部１０５における処理に関連付けるため、図６を用いて説明する。図６は、印刷制御部１０５によるプレビュー表示、再レイアウト、および印刷処理の流れを示すフローチャートである。なお、本願のフローチャートは図１７のＣＰＵ１７０１が、関連するプログラムを実行することで実現される。また図６の手順は、Ｗｅｂブラウザ１０が既に実行されており、指定されたＷｅｂページをＷｅｂサーバから取得して保存および表示し、入力待ちとなっている状態から開始される。
【００３１】
まずステップＳ１０１においてプレビュー画面制御部２１は、現在ページ表示部１０３に表示されているＷｅｂページの印刷プレビューを表示させるコマンドの入力を受信する。このコマンドは例えばユーザの指示に応じて入力される。次にステップＳ１０２においてプレビュー画面制御部２１は、ページ保存部１０２から現在表示されているＷｅｂページのデータを取得し、プレビュー画面表示部２３に送信する。次にステップＳ１０３においてプレビュー画面表示部２３は、印刷プレビューウィンドウ３１を生成し、表示する。
【００３２】
次にステップＳ１０４においてプレビュー画面表示部２３は、ページ保存部１０２から取得したＷｅｂページデータを解釈して、Ｗｅｂページデータに応じた印刷プレビュー画像３２を印刷プレビューウィンドウ３１の左側に表示する。ステップＳ１０５においてプレビュー画面表示部２３は、再レイアウト後のプレビュー画像３３の初期状態である白紙のプレビュー画像を印刷プレビューウィンドウ３１の右側に表示する。次にステップＳ１０６において、プレビュー画面制御部２１は、ユーザによる操作を待機し、入力があればその指示内容に応じて分岐する。すなわち、ユーザによるドラッグアンドドロップ操作によるパーツの再配置指示を受け付け、受け付けた指示内容を判定し、内容に応じて分岐する。プレビュー画面制御部２１は、ユーザのマウス等による操作でプレビュー画像３２上の印刷したいパーツが選択され、プレビュー画像３３にドラッグアンドドロップされるのを検知したなら、ステップＳ１０７に分岐する。一方、印刷ボタン３６の入力が検知されたなら、ステップＳ１２０に分岐する。
【００３３】
こうして再配置指示を受け付けると、次のステップＳ１０７からＳ１１８により、右側のプレビュー画像３３にドラッグアンドドロップされたパーツが表示される。ステップＳ１０７においては、プレビュー画面制御部２１はドラッグアンドドロップされた選択パーツ内のＨＴＭＬ言語による要素の記述を解析し、中に含まれるパーツのｉｄを取得する。オペレーティングシステムが提供するドラッグアンドドロップの機能では、ドラッグするオブジェクトととして様々な形式がサポートされており、そのひとつとしてＨＴＭＬ形式もサポートされている。ＨＴＭＬ形式のパーツ（オブジェクト）をドラッグアンドドロップすると、ドロップされた先のウィンドウでは、当該パーツのＨＴＭＬ言語のソースコードが取得可能となっている。
【００３４】
プレビュー画面制御部２１はこうしてドロップされたＨＴＭＬ言語の中身を解析して、＜ｄｉｖ／＞または＜ｓｐａｎ／＞要素のｉｄ属性を取り出す。選択パーツのＨＴＭＬソースコード内に複数のｉｄが存在する場合はそれらをすべて取得する。次にステップＳ１０８においてスタイルシート生成部２２は、プレビュー画面制御部２１からステップＳ１０７で取得したｉｄを受け取り、表示対象ｉｄリストに追加する。表示対象ｉｄリストはプレビュー画面制御部２１がメモリ上に保持するリストで、右側にある再配置後の印刷プレビュー画像３３に表示するパーツの情報を管理するために使用される。
【００３５】
印刷プレビュー画像３３に表示するパーツはユーザ操作によって増えていくので、表示対象のｉｄリストはそのたびに更新される。次にステップＳ１０９においてスタイルシート生成部２２は、今度はページ保存部１０２から取得した現在表示中のＷｅｂページを解析し、全パーツのｉｄを取得する。次のステップＳ１１０からＳ１１２にかけては、ステップＳ１０９で取得したＷｅｂページ内の全パーツについて繰り返し処理を行う。
【００３６】
ステップＳ１１０においてスタイルシート生成部２２は、ステップＳ１０９でＷｅｂページから取得したパーツのｉｄに順次着目し、着目パーツのｉｄが表示対象ｉｄリスト内に存在するかどうか判定する。もし着目パーツのｉｄがリストに存在すればステップＳ１１１に進み、存在しなければＳ１１２へ進む。ステップＳ１１２においてスタイルシート生成部２２は、当該ｉｄの要素（すなわちパーツ）を非表示にするようスタイルシートに記述する。具体的には当該ｉｄを持つ要素に対して"ｉｄ｛ｄｉｓｐｌａｙ：ｎｏｎｅ｝"のように表示属性を指定した記述をスタイルシートに付加する。ここでいうスタイルシートはスタイルシート生成部２２がメモリ中に保持する文字列情報で、ステップＳ１１１、Ｓ１１２、および後述するＳ１１６によって更新される。その内容は図８に例示した様なものである。以後、図８の模式図にならってこのメモリ中のスタイルシートをスタイルシート４８とする。一方、ステップＳ１１１においてスタイルシート生成部２２は、当該ｉｄを持つ要素を表示するようスタイルシート４８に記述する。表示する場合は非表示のように表示属性を明示する必要はないが、ステップＳ１１６で表示属性を指定する可能性があるので、表示属性を与えずに"ｉｄ｛｝"のようにｉｄのみスタイルシート４８に記述する。
【００３７】
Ｗｅｂページ内の全パーツのｉｄについて前記ステップＳ１１０からＳ１１２を実行したら、ステップＳ１１３に進む。ステップＳ１１３においてプレビュー画面制御部２１は、Ｓ１１１〜Ｓ１１２においてスタイルシート生成部２２が生成したスタイルシート４８をステップＳ１０９で取得したＷｅｂページに適用して印刷レイアウト画像を生成し、画像３３として表示する。ここでプレビュー画像３３に表示される印刷レイアウトは、ステップＳ１０６で選択されドロップされなかったパーツはすべてスタイルシートによって非表示となる。
【００３８】
次にステップＳ１１４においてプレビュー画面制御部２１は、ユーザがウィンドウ位置・サイズを変えるような操作で、図７の模式図中の４７で示すＷｅｂのパーツの位置やサイズを変更すると、その操作に応じた変更後の位置またはサイズを検知する。すなわち変更後の位置やサイズの指定を受け付ける。次にステップＳ１１５においてプレビュー画面制御部２１は、Ｓ１１４で取得した画面上の位置またはサイズを、ページ上の位置またはサイズに換算する。具体的には、レイアウト後のページを表現したプレビュー画像３３内の相対的な位置座標と、プレビュー画像３３のウィンドウの大きさと実際のページの大きさとの比率から、実際のページ上におけるサイズまたは位置を計算する。次にステップＳ１１６においてスタイルシート生成部２２は、ステップＳ１１５で計算した位置またはサイズの情報を、スタイルシート４８における当該パーツのｉｄの表示属性値である位置またはサイズに反映させる。具体的には、例えば選択されたパーツの位置をページ左上端から（１５画素，１５画素）の位置に移動し、サイズの横幅をページ幅いっぱいにする操作がされたものとする。この場合は、プレビューが面制御部２１は、スタイルシート４８の当該パーツに相当するｉｄ１の表示属性に例えば次のような値を設定する。
【００３９】
ｉｄ１｛ｐｏｓｉｔｉｏｎ：ａｂｓｏｌｕｔｅ；ｔｏｐ：１５ｐｘ；ｌｅｆｔ：１５ｐｘ；ｗｉｄｔｈ：１００％｝
これは、まさに上記操作に対応する位置およびサイズの変更をパーツに適用する記述である。
【００４０】
次にステップＳ１１７においてプレビュー画面表示部２３は、ステップＳ１１６で更新したスタイルシート４８を、再度ステップＳ１０９で取得したＷｅｂページに適用して印刷レイアウト画像を生成し、プレビュー画像３３として再表示する。このように画面上の位置およびサイズの変更をスタイルシートに反映させてＷｅｂページに適用することで、Ｗｅｂページの内容を変えることなく再レイアウトされた印刷プレビュー画像を得ることができる。ステップＳ１１７の後はステップＳ１０６に戻り、ユーザによる操作入力を受け付ける。
【００４１】
さてステップＳ１０６で印刷ボタンの入力が検知されると、ステップＳ１２０において印刷部２５は、ステップＳ１１７で得たスタイルシート４８適用済みのＷｅｂページ、あるいはなにも再配置の操作が行われていない場合には白紙を印刷する。Ｗｅｂページの印刷は通常のブラウザに実装された技術であり、それをそのまま利用することができる。なおここで白紙の印刷を禁ずるために、ステップＳ１０６において、白紙のままの印刷ボタンを受け付けないように構成することもできる。
【００４２】
最後にステップＳ１２１においてスタイルシート生成部２２は、ステップＳ１１７で生成したスタイルシート４８と、印刷したＷｅｂページのＵＲＬを関連付けてスタイルシートＤＢ２６に保存する。
【００４３】
なお図６のステップＳ１０６では再配置操作か印刷操作のいずれかしか選択の余地がないように記載しているが、もちろんこのほかの操作、たとえば操作のキャンセルなどを受け付けることもできる。その場合にはもちろん操作に応じた処理が実行される。
【００４４】
以上のようにして本実施形態によれば、簡単にＷｅｂページのレイアウトを変更することができる。
【００４５】
≪図９：スタイルシートＤＢの例≫
図９にスタイルシートＤＢ２６に保存されるレコードの例を示す。スタイルシートＤＢ２６はレコードのフィールドとして「ＵＲＬ」、「スタイルシート」、「作成日時」、「使用回数」を持つ。ＵＲＬとスタイルシートはそれぞれ、Ｓ１２１で前述したとおり、印刷対象のＷｅｂページのＵＲＬと、ユーザ自身によって印刷するパーツが選択され、再配置されたレイアウトを実現するためのスタイルシート４８である。作成日時としてはステップＳ１２１が実行された日時を保存する。使用回数については後述するが、このフィールドには保存されたスタイルシートが、関連づけて保存されたＵＲＬ以外のＷｅｂページの印刷に使用された回数を保存する。
【００４６】
このスタイルシートＤＢ２６は、ステップＳ１０１〜Ｓ１２１の手順で一度印刷をしたことのあるＷｅｂサイトの中で、同じまたは似たＵＲＬのＷｅｂページを印刷する際に活用される。つまり、作成されたスタイルシートを他のＷｅｂページを印刷する際に利用できるように蓄積することで、ユーザの操作負荷の軽減が実現される。
【００４７】
［実施形態２］
次に本実施形態を拡張した実施形態２について説明する。なお本実施形態との共通点については説明を省略する。本実施形態はスタイルシートＤＢ２６に登録したスタイルシートを有効に再利用することで、よりＷｅｂページ印刷時の再レイアウトを簡単に行えるようにしたものである。より詳しく言えば、スタイルシートＤＢ２６に登録したスタイルシートのうち、表示中のＷｅｂページと関連のあるスタイルシートをサムネイルとして印刷プレビュー画面に表示する。関連のあるスタイルシートとは、印刷しようとしているＷｅｂページと同じサーバすなわち同じドメイン名を含むＵＲＬで特定されるＷｅｂページの印刷のために使用されたスタイルシートである。これは、図７に示すようにＷｅｂページ内の各パーツにはｉｄが付与されており、同じＷｅｂサイト内のＷｅｂページであれば作成者が同一なのでこれらｉｄの命名則も同じであることが多いためである。例えば、ニュースサイトの多くはニュース本文・タイトル・写真などはＷｅｂページごとに違うが、どれも同じテンプレートすなわち同じｉｄが付与されたＷｅｂのパーツの構成になっている可能性が高い。したがって同じＷｅｂサイト内であれば、あるＷｅｂページに対応したスタイルシートを別のＷｅｂページに適用しても同じようにレイアウトを変更できる可能性が高い。この事実を利用して、スタイルシートとＷｅｂページとをドメイン名により関連づける。そして、候補サムネイルのうちからひとつを選択することで、Ｗｅｂページのパーツを選択および再配置することなく、スタイルシートを用いたレイアウトを実現できる。以下本実施形態の処理等を説明する。
【００４８】
≪図１０：レイアウト候補サムネイルを表示した画面のスクリーンショット説明≫
図１０のウインドウ３１は、好みのレイアウトを候補の中から選んで印刷することができる画面の例である。ここでは、図５で印刷したＷｅｂページとＵＲＬは異なるが同じＷｅｂサイト内のＷｅｂページ、すなわちＵＲＬのドメイン名部分が同じＷｅｂページを開いて印刷しようとしているものとする。左側にある元の印刷プレビュー画像３２、右側にあるユーザが望む印刷プレビュー画像３３、印刷ボタン３６といったユーザインターフェースの役割や配置は図５で示した画面例と変わりない。図５と異なるのは画面上部に表示された候補サムネイル４９である。候補サムネイル４９は、現在印刷しようとしているページと同じＷｅｂサイトにあるページを過去に印刷したことがある場合に表示される。
【００４９】
候補サムネイルのひとつひとつは過去の同じＷｅｂサイト内のページの印刷で使用したスタイルシートに対応している。この候補サムネイルのひとつを選択することで現在のＷｅｂページに選択されたサムネイルに対応したスタイルシートを適用して印刷することができる。候補サムネイルは左から使用回数の多い順に並べられており、候補が複数ある場合には、使用頻度の最も高い左端にあるスタイルシートが自動的に選択・適用されて印刷プレビュー画像３３が表示される。換言すれば、最も優先順位が高いスタイルシートから順に並べて表示される。ユーザがその印刷レイアウトを気に入ればそのまま印刷ボタン３６を押して印刷することができ、気に入らなければ別の候補を選択することもできる。もちろん、まったく別の新しい印刷レイアウトにするため、図６で示した流れに沿って再配置をおこなっても良い。そのために、候補として表示するサムネイルに白紙のサムネイルを加えておいたり、あるいはプレビュー画像３３のパーツを全て削除するボタン等をもうけてもよい。
【００５０】
Ｗｅｂページのレイアウトを再配置する作業は、広告・ナビゲーションバーの削除や本文の幅調整などおおよそ決まり切っており、そうした作業内容をスタイルシートとして自動的に保存・再利用することでユーザの作業負荷を軽減させることができる。次に図１１を用いて、上述したスタイルシート再利用の流れを説明する。
【００５１】
≪図１１：レイアウト候補適用・選択処理の流れ≫
図１１は、スタイルシートＤＢ２６を利用して過去の印刷レイアウトを適用し印刷する流れを示すフローチャートである。ステップＳ２０１からＳ２０４までのプレビュー画面制御部２１による、プレビュー画面３１の表示から右側にあるデフォルトの印刷プレビュー画面３２の表示に至る流れはＳ１０１からＳ１０４までと同様である。
【００５２】
ステップＳ２０５においてスタイルシート検索部２４は、印刷しようとしているＷｅｂページのＵＲＬを取得する。次にステップＳ２０６においてスタイルシート検索部２４は、ステップＳ２０５において取得したＵＲＬの中からドメイン名部分を取り出す。例えば印刷しようとしているＵＲＬが「http://------.com/article/20081019aaa」であれば取り出されるドメイン名は「------.com」となる。次のステップＳ２０７からＳ２０８は、スタイルシートＤＢ２６からエントリをひとつひとつ取り出し、各エントリについて処理を行う。
【００５３】
ステップＳ２０７においてスタイルシート検索部２４はスタイルシートＤＢ２６から取り出したエントリのＵＲＬがステップＳ２０６で取り出したドメイン名部分を含むかどうか判断する。例えば印刷しようとしているＵＲＬが「http://------.com/article/20081020bbb」、スタイルシートＤＢ２６に保存されたエントリのＵＲＬが「http://------.com/article/20081019aaa」であったとするとＵＲＬ同士の比較では異なるが、ドメイン名部分の比較では互いに同じなので「含む」と判断される。同じドメイン名を含む場合はステップＳ２０８に進み、含まない場合は何もせずに次のエントリを取り出して再びステップＳ２０７へ進む。
【００５４】
次にステップＳ２０８においてプレビュー画面制御部２１はエントリのスタイルシートを印刷対象のＷｅｂページに適用して候補となるサムネイル画像を作成する。候補サムネイル画像はプレビュー画像３２やプレビュー画像３３の３分の１ほどの小さいサイズであるが、小さくてもおおよそのＷｅｂパーツの配置が判別できるようになっている。
【００５５】
以上のステップＳ２０７とＳ２０８をスタイルシートＤＢ２６の全エントリについて処理したらステップＳ２０９に進む。次にステップＳ２０９においてプレビュー画面表示部２３は、ステップＳ２０８において作成した候補サムネイル画像が１つ以上あるかどうか判定し、あればステップＳ２１０に進む。一方、もしなければ図６で説明したステップＳ１０５に進み、以降はユーザ自身が印刷対象のＷｅｂパーツを選択したり再配置したりする流れになる。
【００５６】
候補がある場合ステップＳ２１０においてプレビュー画面表示部２３は、サムネイル画像をスタイルシートＤＢ２６に記録されていた「使用回数」の多い順に左から並べて画面上部４９の位置に表示していく。使用回数が同数の場合は「作成日時」が最近のものを先にするなどしても良い。また候補サムネイル画像はあるだけ、すなわち同じドメイン名を持つＵＲＬに対応したスタイルシートが見つかった数だけ表示しても良いし、上位３つのように数を限定して表示しても良い。この候補サムネイルはレイアウトの概要を表すばかりでなく、マウスやキーボードで選択する可能な入力手段としての役割も果たす。
【００５７】
次にステップＳ２１１においてプレビュー画面表示部２３は、最も左側のサムネイル（最も使用回数の多いスタイルシートから作成されたサムネイル）をデフォルト候補として選択した状態にする。さらにステップＳ２１２において、Ｓ２１１で選択されたスタイルシートをＷｅｂページに適用して印刷プレビュー画像を生成し、画面右側に印刷プレビュー画像３３として表示する。ユーザ自身が候補サムネイルを確認して選択することで所望のレイアウトに切り替えることができる。しかし、最も使用回数の多いスタイルシートはユーザに好まれる可能性が高いので予めプレビュー画面表示部２３が選択しておくことによってユーザの作業負荷を軽減できる。
【００５８】
次にステップＳ２１３において、プレビュー画面制御部２１は、入力制御部１０４からのユーザによる操作入力を受け付け、受け付けたならその操作内容を判定する。ユーザからの別の候補サムネイルに対する選択入力を検知したなら、ステップＳ２１４に分岐する。ステップＳ２１４においてプレビュー画面表示部２３は、選択された候補サムネイルに対応するスタイルシートをＷｅｂページに適用して印刷プレビュー画像を生成し、画面右側のプレビュー画像３３として表示する。ユーザは気に入ったレイアウトが見つかるまでステップＳ２１４を繰り返すことができる。
【００５９】
次にステップＳ２１５において、ステップＳ２１３で受け付けた入力が印刷ボタンであるか判定する。プレビュー画面制御部２１は、印刷ボタン３６に対する入力を検知した場合、ステップＳ２１６に分岐する。ステップＳ２１６において印刷部２５は、最後にステップＳ２１４で選択されたスタイルシートをＷｅｂページに適用して印刷を行う。ステップＳ２１７においてスタイルシート検索部２４は、印刷に使用したスタイルシートを含むエントリの「使用回数」のカウントを１つ増やして保存する。スタイルシートＤＢ２６を更新する。ステップＳ２１５においていずれの操作でもなければ、図６のステップＳ１０６へ分岐する。ステップＳ１０６では、レイアウト済みのプレビュー画像３３をさらに編集することができる。
【００６０】
これにより候補から選択されたスタイルシートが次回の印刷時に使われる可能性が高くなる。なお、ステップＳ２１５では、その他の操作はすべてパーツの移動と判定しているが、これに限らず、たとえば白紙のスタイルシートの選択や、操作の取消等を含めて判定することもできる。もちろんそれらの操作がされれば操作に応じた処理が実行される。
【００６１】
以上のように本実施形態では、あるＷｅｂサイト内のＷｅｂページを再配置して印刷したことがあれば、以後は同サイト内のＷｅｂページの再配置を行わなくても所望のレイアウトで自動的に印刷することが可能となる。また、レイアウトの候補が複数存在する場合はその中から所望のレイアウトを選択して印刷することが可能となる。
【００６２】
［実施形態３］
次に図１２のフローチャートを用いて本発明の実施形態３に係るＷｅｂページ印刷装置の処理を説明する。
【００６３】
≪図１２：ＵＲＬ比較による候補検索処理の流れ≫
実施形態１，２において、あるＷｅｂページの印刷レイアウト再配置に使用したスタイルシートを別のＷｅｂページに適用する基準としてＵＲＬのドメイン名が同じかどうかを用いた。しかしながら、例えば同じニュースサイトであっても個々のニュース記事のページと、ニュース写真を集めたギャラリーページ、あるいはコラムのページとでは元々のレイアウトが大きく異なり、Ｗｅｂページを構成するパーツの種類も異なる可能性がある。このような場合は、同じドメインに関連付けられたスタイルシートの中から、できるだけ印刷しようとしているＷｅｂページにあったものを選別する手法が求められる。
【００６４】
そこで本実施形態では、ＵＲＬを詳細に比較することによって最適なスタイルシートを選択する手段について述べる。本実施形態は、実施形態２と構成は変わりないが、実施形態２で述べた図１１のステップＳ２０６からＳ２１１にかけての処理をステップＳ３０１からＳ３０７に至る処理へ置き換えたものである。
【００６５】
図１２にステップＳ３０１からＳ３０７までの処理を表すフローチャートを示す。本実施形態の処理は、このステップＳ３０１からＳ３０７により図１１のステップＳ２０６からＳ２１１を置換した処理として読まれるべきである。
【００６６】
まずステップＳ３０１においてスタイルシート検索部２４は、印刷しようとしているＷｅｂページのＵＲＬのドメイン名部分とともにパス名部分を取り出し、さらにパス名の中に含まれるスラッシュ記号を区切り文字として１つ以上の字句を取り出す。例えば、ＷｅｂページのＵＲＬが「http://------.com/article/20081020bbb」であった場合、ドメイン名部分は「------.com」、パス名部分は「article/20081020bbb」である。さらにスラッシュ記号を区切り文字としてパス名を分解すると「article」および「20081020bbb」の２つの字句が取り出される。なお、以下ではドメイン名部分もＵＲＬ全体から見ればスラッシュ記号で区切られた字句のひとつと見なすことができるので、パス名を構成する字句とドメイン名部分とを区別することなくいずれも「字句」として扱うことにする。
【００６７】
次のステップＳ３０２からＳ３０４は、スタイルシートＤＢ２６からエントリをひとつひとつ取り出し、各エントリについて処理を行う。ステップＳ３０２においてスタイルシート検索部２４はスタイルシートＤＢ２６から取り出したエントリのＵＲＬを参照し、ステップＳ３０１で取り出した字句がいくつ含まれるか語順を考慮して数え上げ、一致した個数をエントリと関連付けて記憶する。このステップＳ３０２の数え上げ方法を、例を用いて説明する。
【００６８】
例えば図９に示すスタイルシートＤＢ２６のエントリ＃１のＵＲＬ「------.com/photonews/200804」には、まず一つ目の字句（ドメイン名）である「------.com」が含まれるが、残りの「article」以下は含まれないので一致する個数は「１」となる。
一致する字句の数え上げ方法は、第１の字句、第２の字句、と順序が考慮されるので一致しない字句が出現した時点で数え上げは終了する。さらに例としてエントリ＃２のＵＲＬ「------.com/article/20080320aaa」については「------.com」、「article」の２つの字句が順に含まれるので一致する個数は「２」となる。
【００６９】
次にステップＳ３０３においてスタイルシート検索部２４は、ステップＳ３０２で数え上げた字句の個数が１つ以上かどうか判断する。１つ以上ならステップＳ３０４に進み、そうでないなら何もせずに次のエントリを取り出して再びステップＳ３０２へ進む。
【００７０】
次のステップＳ３０４においてプレビュー画面制御部２１はエントリのスタイルシートをＷｅｂページに適用して候補となるサムネイル画像を作成する。次にステップＳ３０５においてプレビュー画面表示部２３は、ステップＳ３０４において作成した候補サムネイル画像が１つ以上あるかどうか判定し、あればステップＳ３０６に進む。一方、もしなければ第一の実施形態と同様に、図６で説明したステップＳ１０５に進み、以降はユーザ自身が印刷対象のＷｅｂパーツを選択したり再配置したりする流れになる。
【００７１】
候補がある場合、ステップＳ３０６においてプレビュー画面表示部２３は、サムネイル画像をステップＳ３０３で数え上げた一致した字句の個数を第１の基準、エントリの使用回数を第２の基準として並び替え、画面上部４９の位置に表示する。実施形態１ではエントリの使用回数のみを基準に並び替えを行ったが、実施形態３ではそれよりもＳ３０３で一致した字句数を優先して並び替えを行う。
【００７２】
例えば図９のスタイルシートＤＢ２６にあるエントリの中では、エントリ＃１、＃２、＃４が１つ以上の字句が一致する候補として選ばれる。実施形態１、２の基準でこれを並び替えると使用回数の多い順からエントリ＃１、＃４、＃２となるが、本実施形態の基準にしたがって並び替えるとエントリ＃２、＃１、＃４の順となる。なぜなら候補となる３つの中でエントリ＃２のＵＲＬは「------.com/article/20080320aaa」であることから、印刷しようとしているＷｅｂページのＵＲＬ「http://------.com/article/20081020bbb」と「------.com」および「article」の２つの字句が一致しているからである。それに対してエントリ＃１と＃４のＵＲＬは１つの字句すなわちドメイン名だけしか一致しないのでエントリ＃２よりも優先度が低くなる。エントリ＃１と＃４のように一致した字句の個数が同じ場合は、次の基準として使用回数を用いるので＃１の方が＃４よりも優先度が高くなる。
【００７３】
最後にステップＳ３０７においてプレビュー画面制御部２１は、最も優先度高いと判断されて並び替えられ、左側に来ているサムネイルをデフォルト候補として選択した状態にする。最も左側に来るエントリ＃２のＵＲＬは印刷しようとしているＷｅｂページのＵＲＬと似通っていることからＷｅｂページの構成、さらにはＷｅｂの各パーツに対する命名則がドメイン名だけが一致するもに比べて似通っている可能性がより高い。そのためエントリ＃２のスタイルシートを適用したときに、印刷しようとしているＷｅｂページがユーザの所望の印刷レイアウトに変換される可能性もより高いといえる。
【００７４】
以上説明したステップＳ３０１からＳ３０７の処理によって、印刷しようとしているＷｅｂページに最適なスタイルシートが自動的に適用される可能性が高まり、さらにユーザの作業負荷を軽減させることができる。
【００７５】
［実施形態４］
≪図１３：ユーザフォーラムスタイルシートＤＢの概念図≫
次に図１３の概念図を用いて本発明の実施形態４に係るＷｅｂページ印刷装置を説明する。実施形態１，２において、再配置したレイアウト情報を含むスタイルシートを登録したり、過去に登録されたスタイルシートを検索する先としてコンピュータ１内のローカルにあるスタイルシートＤＢ２６が利用された。しかしながら、ユーザが印刷を行わない限り対応するスタイルシートが登録されないため、初めて訪れたＷｅｂページまたは初めて印刷するＷｅｂページに関しては候補が提示されず、再配置を行わなければならないという課題があった。
【００７６】
そこで本実施形態４では、インターネット２上のユーザフォーラムスタイルシートＤＢ２７に蓄積された他のユーザのスタイルシートを活用して、印刷レイアウトの候補を提示する方法について述べる。図１３はユーザフォーラムスタイルシートＤＢ２７を複数のユーザが利用する様子を表した模式図である。なお以下の説明でＳ４０１，Ｓ４０２等、Ｓ４０Ｘという参照符号があらわれるが、これは単なる説明の便宜であって、図面を参照するものではない。
【００７７】
コンピュータ５１、５２，５３、５４はそれぞれ本発明のＷｅｂページ印刷装置を搭載したコンピュータであり、各コンピュータのユーザは本印刷装置を使ってＷｅｂページを印刷する。これらのコンピュータはすべてインターネット２を通じてユーザフォーラムスタイルシートＤＢ２７と通信可能な状態となっている。ユーザフォーラムスタイルシートＤＢ２７の実体はデータベースサーバであり、１台だけの構成または複数台で冗長化した構成のどちらでも良い。またユーザフォーラムスタイルシートＤＢ２７が保持するデータベースのレコード形式はローカルにあるスタイルシートＤＢ２６と同じ形式である。
【００７８】
実施形態１、２のステップＳ１２１においてスタイルシート生成部２２は、Ｗｅｂページの印刷後に使用したスタイルシートと印刷したページのＵＲＬを関連付けてスタイルシートＤＢ２６へ登録した。本実施形態ではこのＳ１２１の後に、さらにスタイルシート生成部２２はネットワーク制御部１０１を通じてユーザフォーラムスタイルシートＤＢ２７にもスタイルシートとＵＲＬを関連付けて保存する（ステップＳ４０１）。このステップＳ４０１の処理が、例えばコンピュータ５１、５２、５３において複数回実行されると、多数のエントリがユーザフォーラムスタイルシートＤＢ２７に保存され蓄積される。
【００７９】
各コンピュータのユーザは様々なＷｅｂサイトの様々なＷｅｂページを印刷するので、保存されるＵＲＬとそれに関連付けられたスタイルシートはバラエティ豊かになる。ここで次に、別のコンピュータ５４があるＷｅｂページを印刷するために印刷プレビュー画面３１を開いたとする。実施形態３では候補となるスタイルシートをローカルのスタイルシートＤＢ２６だけから検索したが、本実施形態ではさらにユーザフォーラムスタイルシートＤＢ２７からも検索する。
【００８０】
すなわち、スタイルシート検索部２４はネットワーク制御部１０１を通じて、ローカルのスタイルシートＤＢ２６を検索し表示するステップＳ２０５からＳ２１１に至る処理を、ユーザフォーラムスタイルシートＤＢ２７についても行う（Ｓ４０２）。このＳ４０２の処理によって、仮にローカルのスタイルシートＤＢ２６で候補となるスタイルシートが見つからなくても、ユーザフォーラムスタイルシートＤＢ２７を検索することによって他のユーザの作成したスタイルシートを借用して利用できる可能性がある。印刷しようとしているＷｅｂページに対応したスタイルシートがＳ４０２の処理で見つかる可能性は、Ｓ４０１の登録処理を行うコンピュータが数台では少ないが、数十台、数百台、不特定多数と増加するに連れて高まる。
【００８１】
ユーザフォーラムスタイルシートＤＢ２７で検索されたスタイルシートを利用して印刷を行った場合、スタイルシート検索部２４はネットワーク制御部１０１を通じて該当するスタイルシートの使用回数を１つ増やして保存する（ステップＳ４０３）。このステップＳ４０３によって使用回数が増やされたスタイルシートは、Ｓ４０２で候補として表示された際に優先的に左側に表示されるので「人気のある」スタイルシートとしてさらに何度も利用される可能性が高くなる。なお、Ｓ４０２においてローカルのスタイルシートＤＢ２６とユーザフォーラムスタイルシートＤＢ２７の両方から候補となるスタイルシートが  見つかった場合、それらの候補を並び替え方としては様々な基準が考えられる。例えば、単純に使用回数を基準として並び替える方法や、ローカルのスタイルシートＤＢ２６で見つかったものの使用回数が少なくてもユーザフォーラムスタイルシートＤＢ２７で見つかったものより優先的に左側に表示する、などである。
【００８２】
以上説明したステップＳ４０１からＳ４０３の処理によって、自分が印刷したことがなくても誰かが印刷したことがある可能性を利用して、印刷に適したレイアウトを借用してＷｅｂページを印刷することができユーザの作業負荷を軽減させることができる。
【００８３】
［実施形態５］
≪図１４：自動レイアウト機能の概念図≫
次に図１４、１５を用いて本発明の実施形態５に係るＷｅｂページ印刷装置を説明する。実施形態４では、ローカルのスタイルシートＤＢ２６に適合するスタイルシートがなくても、不特定多数のユーザによってユーザフォーラムスタイルシートＤＢ２７から最適なものが検索できる手段について述べた。しかしながら、仮にユーザフォーラムスタイルシートＤＢ２７にも適合するＵＲＬが登録されていないケース、すなわち「誰も印刷したことがないページを印刷しようとしている」場合には、やはりユーザが手動で印刷レイアウトの再配置を行わなければならなかった。
【００８４】
そこで本実施形態５では、あらかじめデータベースに登録されたスタイルシートが見つからなくてもＷｅｂページにつけられているタイトルから自動的に印刷に適したレイアウトを生成する方法について述べる。
【００８５】
図１４は本実施形態５の概要を表す概念図である。タイトル６１は印刷しようとしているＷｅｂページのタイトルの例である。ＨＴＭＬ言語では＜Ｔｉｔｌｅ／＞というページタイトルを決める要素が定義されている。ページタイトルはその名の通りあるＷｅｂページをひと言で表現したタイトルであり、通常Ｗｅｂブラウザのタイトルバーやタブシートに表示されたり、ブックマークのデフォルトのタイトルとして使用されたりする。このタイトルに含まれるキーワードは、Ｗｅｂページの本文に書かれている内容と関連性がある可能性が非常に高いため、タイトルのキーワードから印刷すべきＷｅｂパーツが判断し、逆に関連性の薄い不要なパーツを排除できる可能性も持っているといえる。
【００８６】
そこで、タイトル６１に示すようにタイトルを構成する単語に関してＷｅｂページ内を検索し、単語が現れる箇所をＷｅｂパーツごとに数え上げる。図１４の例ではパーツ６２から６５のうち、パーツ６３と６４においてそれぞれ３つ単語が出現し、パーツ６２と６５ではひとつも出現しなかったことが示されている。この結果を受けて、パーツ６３と６４のどれかまたはすべてを含むよう組み合わせてレイアウトを行い、それらを候補レイアウト６６、６７、６８としてそのサムネイルをユーザに提示する。
【００８７】
これらレイアウト６６、６７、６８のいずれもユーザが望むレイアウトでない可能性はある。しかし、少なくとも印刷時に不要なＷｅｂパーツが排除されたレイアウトである可能性は高いので、既存のスタイルシートが利用できないときの候補として選ばれる価値はある。以下ではこの概念図で示した、自動的にレイアウトを決定する処理について詳しく説明する。
【００８８】
≪図１５：自動レイアウト機能の流れ≫
図１５は、実施形態５に係るＷｅｂページ印刷装置の処理を示すフローチャートである。本実施形態の処理は実施形態２のステップＳ２０５からＳ２１１を置き換えるものである。あるいは実施形態４においては、そのステップＳ４０１とＳ４０２が図１５で置換される。
【００８９】
まずステップＳ５０１においてプレビュー画面制御部２１は、Ｗｅｂページデータからタイトルを取得する。タイトルは＜Ｔｉｔｌｅ／＞要素に記述されていることは先に述べたとおりである。
【００９０】
次にステップＳ５０２においてプレビュー画面制御部２１は、ステップＳ５０１で取得したタイトルからキーワードを抽出する。キーワードを抽出する前段の処理として、タイトルの言語が日本語や中国語のように英語などと違って単語の切れ目が機械的に判断できない場合、自然言語処理を施して単語単位へ分割を行う。単語の中からキーワードを抽出する方法としては、固有名詞だけを選ぶ方法や、助詞や前置詞などだけを除いた一般名詞も含めて選ぶ方法など様々なものが考えられる。本例では図１４で示すタイトル６１の中から前置詞である「ｏｆ」だけを除き、「ｗｅａｔｈｅｒ」「ｆｏｒｅｃａｓｔ」「Ｔｏｈｏｋｕ」をキーワードとして扱う。
【００９１】
次のステップＳ５０３からＳ５０５にかけてはＷｅｂページ内に含まれる各Ｗｅｂパーツについて処理を行う。ステップＳ５０３においてプレビュー画面制御部２１は、抽出された各キーワードが該Ｗｅｂパーツ内に現れる個数を数え上げて総数を求める。あるキーワードが複数回現れた場合はその分だけ数え上げても良いし、１回だけしか数えないようにしても良い。また、固有名詞が現れた場合には重みを付けて複数回分カウントするようにしても良い。なお、ＷｅｂページのＨＴＭＬデータを検索する際には、実際の画面上に現れるテキスト文字だけを検索対象にしても良いし、画像データの注釈を表すＡＬＴ属性データに含まれるテキストなども検索対象として含めても良い。
【００９２】
次にステップＳ５０４においてプレビュー画面制御部２１は、数え上げられた総数が１つ以上であるか判断し、そうであればＳ５０５へ、そうでなければ何もせずに再び次のパーツについてＳ５０３の処理を行う。ステップＳ５０５においてプレビュー画面制御部２１は、該Ｗｅｂパーツのｉｄを表示対象ｉｄリストに追加する。以上のステップＳ５０３からＳ５０５を全Ｗｅｂパーツに関して繰り返すことによって各パーツ内に各キーワードが出現する総数が求められ、１つ以上のパーツが表示対象として記憶される。
【００９３】
次にステップＳ５０６においてスタイルシート生成部２２は、記憶された１つ以上の表示対象ｉｄから任意の組み合わせを抽出する。任意の組み合わせとは、例えばＡ、Ｂという２つのパーツが表示対象のときは（ＡＢ）、（Ａ）、（Ｂ）の３つの組み合わせ、Ａ、Ｂ、Ｃの３つのパーツのときは（ＡＢＣ）、（ＡＢ）、（ＢＣ）、（ＣＡ）、（Ａ）、（Ｂ）、（Ｃ）の７つの組み合わせのことを指す。Ｎ個のパーツが表示対象となっているときの組み合わせ数は２Ｎ−１となる。
【００９４】
次にステップＳ５０７においてスタイルシート生成部２２は、前記ステップＳ５０６で求められた全組み合わせの中から、パーツを多く含む順に画面表示可能な候補の上限Ｍ個を選び、対応するスタイルシートを生成する。プレビュー画面３１に表示可能な候補サムネイルの数をＭ個としたとき、スタイルシート生成部２２はパーツ同士の組み合わせの中からパーツを多く含む順にこのＭ個だけ選ぶ。パーツを多く含む順とは、例えばＡ、Ｂ、Ｃの３つのパーツのときなら（ＡＢＣ）、（ＡＢ）、（ＢＣ）のように多くのパーツを含むという意味である。このようにする根拠は、できるだけキーワードが検索されたＷｅｂページに関しては印刷されるようにするためである。もちろん必要に応じてパーツが少ない順など他の基準に従って選んだり、並び替えたりしても良い。
【００９５】
次にステップＳ５０８においてプレビュー画面制御部２１はステップＳ５０７において生成されたＭ個のスタイルシートを印刷しようとしているＷｅｂページに各々適用し、サムネイル画像を得る。最後にステップＳ５０９においてプレビュー画面表示部２３は、候補サムネイル画像をプレビュー画面３１にパーツが多く含まれる順に左から表示し、最も左の候補を選択して対応するプレビュー画像を３３に表示する。
【００９６】
以上の処理によって、適合するスタイルシートが存在しないケースにおいても自動的にユーザの希望に近い印刷レイアウトを自動的に生成することができ、広告など不要なパーツを削除する手間を軽減させることが可能となる。
【００９７】
［実施形態６］
≪図１６：プリンタドライバでの実施形態≫
最後に図１６を用いて本発明の実施形態６に係るＷｅｂページ印刷装置を説明する。前述した第一から第四までの実施形態では、本発明のＷｅｂページ印刷装置の核となる処理を担う印刷制御部１０５はＷｅｂブラウザ１０にあらかじめ組み込まれたコンポーネントないし後から追加されるプラグインとなっていた。本実施形態６ではこの印刷制御部をプリンタドライバ１２の機能の一部として構成しても、同様の効果が得られることを示す。
【００９８】
図１６はＷｅｂブラウザの印刷制御部１０５に加えて、プリンタドライバ１２の一部としても印刷制御部を追加構成した例である。プライベートスプーラ１３は、プリンタドライバ１２に入力された描画命令をＰＤＬに変換する前の中間形式で一時的に保存するコンポーネントである。１４は印刷制御部である。
【００９９】
実施形態１から実施形態５において印刷制御部１０５がＷｅｂブラウザのページ表示部１０３から印刷するＷｅｂページデータを入力されていたのに対し、本実施形態の印刷制御部１４はプライベートスプーラー１３から印刷するデータを入力される。印刷制御部１４がネットワーク制御部１０１を通じて通信したり、グラフィックエンジン１１に対して印刷出力を行う点は実施形態１から実施形態５と変わりない。
【０１００】
ところで一般的な印刷システムではアプリケーションから出力先のプリンタまで直線的な構成になっているが、本実施形態ではグラフィックエンジン１１、プリンタドライバ１２、プライベートスプーラ１３、印刷制御部１４がループ構成になっている。これは、ユーザが印刷指示した後すぐにプリンタ３に印刷出力せずに、いったんコンピュータ内に留め置いて印刷レイアウトや印刷設定を変更できるようにしているためである。すなわち、プリンタドライバ１２を通じてプライベートスプーラ１３に保存された中間形式は、印刷制御部１４によって読み込まれ、印刷制御部１４が表示するユーザインターフェースを通じてユーザが印刷レイアウトを変更する指示を入力できる。
【０１０１】
さらに印刷制御部１４は入力された変更の指示に基づいて中間形式をレイアウトし、再びグラフィックエンジン１１に描画命令を再出力する。印刷制御部１４から描画命令を再出力する際は、「２周目」の印刷であることを指示する情報が描画命令に含まれているため、何度もループすることはない。
【０１０２】
ここで印刷制御部１４において本発明が主眼とする印刷レイアウトの再配置処理を行うためには、プライベートスプーラ１３に保存される中間形式をＷｅｂページそのものであるＨＴＭＬ形式にするか、あるいはそれに近い形式にする必要がある。例として、Ｍｉｃｒｏｓｏｆｔ社のＷｉｎｄｏｗｓ（登録商標）で従来から利用されているＥＭＦ（Ｅｎｈａｎｃｅｄ  Ｍｅｔａ  Ｆｉｌｅ）形式は描画処理に特化したプリミティブな形式であるためこれに適さないが、Ｗｉｎｄｏｗｓ  Ｖｉｓｔａ（登録商標）からサポートされたＸＰＳ（ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）ならば適合する。ＸＰＳ形式では、ページの描画情報をＸＭＬのマークアップで記述しており、描画処理以外の多くの情報も表現することができる。例えばＸＭＬのマークアップを階層化していくつかの描画情報をまとめることによってＷｅｂページを構成するパーツを定義したり、各パーツに関するレイアウト情報をページ情報と別に定義することも可能である。さらに本発明で必要となるＷｅｂページのＵＲＬ情報や、ページタイトル情報もＸＰＳのデータ内に定義することができる。
【０１０３】
以上述べたように、図１６に示すような印刷システムにおいても、一時保存する中間形式としてＨＴＭＬ形式またはそれに相当する形式を選択することによって本発明のＷｅｂページ印刷装置を構成することが可能である。
なお本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。また本発明の目的は、前述の実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータが記憶媒体に格納されたプログラムを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラム自体が前述した実施形態の機能を実現することになり、そのプログラム自体およびプログラムを記憶した記憶媒体は本発明を構成することになる。
【０１０４】
また、本発明には、プログラムの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。さらに、記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた場合についても、本発明は適用される。その場合、書き込まれたプログラムの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
【図１】
2010181971.tif 000003
【図２】
2010181971.tif 000004
【図３】
2010181971.tif 000005
【図４】
2010181971.tif 000006
【図５】
2010181971.tif 000007
【図６】
2010181971.tif 000008
【図７】
2010181971.tif 000009
【図８】
2010181971.tif 000010
【図９】
2010181971.tif 000011
【図１０】
2010181971.tif 000012
【図１１】
2010181971.tif 000013
【図１２】
2010181971.tif 000014
【図１３】
2010181971.tif 000015
【図１４】
2010181971.tif 000016
【図１５】
2010181971.tif 000017
【図１６】
2010181971.tif 000018
【図１７】
2010181971.tif 000019