説明

情報処理装置及び印刷制御方法

【課題】Webページを所望のレイアウトに再配置して印刷する作業負荷を軽減させる。
【解決手段】所望の印刷レイアウトを実現するスタイルシートをWebページのURLと関連付けて保存する。以後同じドメインまたは似たURLの印刷を行う際は、保存されたスタイルシートを適用した印刷レイアウトを候補として提示し、印刷時に適用する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は情報処理装置及び印刷制御方法方法に関し、詳しくは段組みのように複数のパーツから構成されるWebページを所望のレイアウトで印刷するための情報処理装置及び方法に関するものである。
【背景技術】
【0002】
図1に典型的な段組み構成を持つWebページの一例を示す。多くの場合、ニュースの本文やブログの記事(エントリー)など、主となるコンテンツP10は中央に配置される。それを取り囲むようにヘッダP20、ナビゲーションバーP30(サイト内外へのリンク)、バナー広告P40など補助的なコンテンツがパーツ(オブジェクト)として配置される。これら補助的なWebのコンテンツP20〜P40は、表示されたWebページ間を容易に移動するためなどに必要なものであり、Webページを印刷して紙で読む場合にはあまり必要でない。
【0003】
そのため、従来Webサイトの制作者には、表示用のページとは別にナビゲーションバーや広告などのパーツを排した「印刷用スタイルシート」をWebサイトにおいて提供することが推奨されてきた。このスタイルシートを使用することで、図2に示すとおり、ナビゲーションバーや広告などが排除された印刷物を得ることができる。ここで印刷用スタイルシートとは、図1のような表示用ページを図2の印刷用ページのようなレイアウトに変換するためのレイアウト情報であり、具体的には主となるコンテンツP11だけがページ幅いっぱいに印刷されるような指示が記述されている。
【0004】
しかしながら、印刷用スタイルシートを提供する作業はWebサイトの制作者側に負担がかかるため、それらを用意せず表示用ページと同じレイアウトでしか印刷できないWebサイトが数多く存在する。また、印刷用ページの中にはやはり広告やサイト内外へのリンクを配置している場合があるため、必ずしも印刷用ページのすべてが実際に印刷を行うユーザの望むレイアウトになっているとは限らない。
【0005】
こうした印刷用ページの欠点を補うため、特許文献1や非特許文献1に示すような技術が提案されている。特許文献1では、Webページを構成する複数のオブジェクトを抽出して再配置し、自由なレイアウトで新たなWebページを生成する技術に関して述べられている。また、非特許文献1は実際に開発されたソフトウェアの一例である。このソフトウェアを使用することによって印刷したいWebページの一部をコピーして貼り付けることによってあたかもスクラップブックのような感覚で印刷するページが作成される。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平11−250054号公報
【非特許文献】
【0007】
【非特許文献1】"HPインクジェットプリンタ−Smart Web Printingの使い方"、[online]、平成20年8月更新、日本ヒューレットパッカード株式会社、[平成20年12月25日検索]、インターネット<URL、http://h10025.www1.hp.com/ewfrf/ws/document?lc=ja&cc=jp&docuname=c01418497>
【発明の概要】
【発明が解決しようとする課題】
【0008】
特許文献1や非特許文献1に開示されている技術を用いればWebページを再配置することにより所望の印刷レイアウトは実現できる。しかしながら、Webページを印刷しようとするたびに、印刷対象となるオブジェクトを再配置するという手間のかかる作業をユーザが行わねばならない。例えば、あるニュースサイトを頻繁に訪れて、そのページを頻繁に印刷を行う場合、広告などを取り除いて記事だけを切り出して再配置する作業は決まり切っているにも関わらず、ユーザは毎回それを行わなければならない。この作業は定型的な作業ではあるが、同じサイト内でも記事の長さはまちまちなため、これまでの手法で再配置する作業を自動化することは困難であった。
【0009】
本発明は上記目的を鑑みて成されたもので、上記課題を解決することを目的とする。詳しくは、印刷のためにWebページを再配置する作業にかかる手間を軽減し、所望のレイアウトで容易に印刷することができる情報処理装置及び印刷制御方法を提供することを目的とする。
【課題を解決するための手段】
【0010】
上記目的を達成するために本発明は以下の構成を有する。
【0011】
複数のパーツから構成されるWebページを所望のレイアウトで印刷する情報処理装置であって
印刷対象のWebページの印刷が指示された際に、当該Webページを構成するパーツを印刷プレビュー画像中に再配置するための再配置手段と、
前記再配置手段による再配置されたレイアウトのスタイルシートを作成する作成手段と、
前記スタイルシートを前記印刷対象のWebページのアドレスとを関連づけて蓄積する蓄積手段と、
前記スタイルシートに従って前記印刷対象のWebページを再配置して印刷するための印刷制御手段と、
前記蓄積手段に蓄積されたWebページのアドレスから、前記印刷対象のWebページのアドレスと、少なくともサーバを示す部分が一致するアドレスを検索し、見つかったなら該当するアドレスに関連づけられたスタイルシートに従って前記印刷対象のWebページを再配置したサムネイルを作成してスタイルシートの候補として表示する候補の表示手段とを備え、
前記印刷制御手段は、前記スタイルシートの候補の中からスタイルシートが選択された場合、該スタイルシートに従って前記印刷対象のWebページを再配置して印刷することを特徴とする。
【発明の効果】
【0012】
本発明により、Webページをユーザの望むレイアウトで印刷する作業を、印刷の都度再配置を行うことなく実現することができる。
【図面の簡単な説明】
【0013】
【図1】段組み構成のWebページの例を示す図である。
【図2】印刷用ページの例を示す図である。
【図3】本発明の第一の実施の形態に係るシステム全体の構成を示すブロック図である。
【図4】印刷制御部105の内部システムを示すブロック図である。
【図5】印刷プレビュー画面の一例を示す図である。
【図6】プレビュー表示、再レイアウト、および印刷処理の流れを示すフローチャートである。
【図7】スタイルシートを用いた不要パーツの消去、再レイアウトの処理を示す模式図である。
【図8】スタイルシートの例を示す図である。
【図9】スタイルシートDBの例を示す図である。
【図10】候補サムネイルが表示された印刷プレビュー画面の一例を示す図である。
【図11】候補を選択して印刷する処理の流れを示すフローチャートである。
【図12】本発明の第二の実施の形態に係る処理の流れを示すフローチャートである。
【図13】本発明の第三の実施の形態に係るユーザフォーラムスタイルシートDBの概念図である。
【図14】本発明の第四の実施の形態に係るページタイトルから自動的にレイアウトする処理の概念図である。
【図15】ページタイトルから自動的にレイアウトする処理の流れを示すフローチャートである。
【図16】本発明の第五の実施の形態に係るシステム構成を示すブロック図である。
【図17】コンピュータのハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【0014】
[実施形態1]
≪図3:Webブラウザの説明≫
図3は、本発明の第一の実施形態に係るWebページ印刷装置の外部環境を含めたシステム全体の構成例を説明する図である。図3において、コンピュータ1は、イーサネット(登録商標)などのネットワークインターフェースでインターネット2およびプリンタ3と接続されている。Webブラウザ10はコンピュータ1すなわち情報処理装置のオペレーティングシステム上で動作するアプリケーションプログラムである。Webブラウザ10は、指定されたアドレスすなわちURLで特定されるWebサーバにアクセスして、そのWebサーバから提供されるHTMLデータや画像データ等のWebコンテンツを画像として表示する。Webブラウザ10を構成するコンポーネントであるネットワーク制御部101は、インターネット2からWebコンテンツ取得などの処理を行う。同じくWebブラウザ10の内部コンポーネントであるページ保存部102は、ネットワーク制御部101により取得したWebコンテンツをメモリなどの主記憶装置やハードディスクなど外部記憶装置に保存する。あるいは外部コンポーネントの要求に応じて保存したWebコンテンツを取り出す。
【0015】
ページ表示部103は、ページ保存部102によって保存されたWebページを取り出して、HTML言語の記述を解釈して画面に表示する。またページ表示部103は、Webページにスタイルシートが指定されていた場合、それを適用して表示する。入力制御部104は、Webブラウザ10のメニューコマンドや、Webページ中に表示されているリンクやボタンに対する入力に応じた処理を行う。例えばWebページ中のリンクがクリックされた場合、そのリンク先のWebページの取得をネットワーク制御部101に指示したりする。
【0016】
印刷制御部105は本発明の主たる処理を行うコンポーネントで、Webページの印刷プレビュー表示やレイアウト変更、印刷などの処理を行う。印刷制御部105はあらかじめWebブラウザ10の一部として組み込まれていてもよいし、あとから追加可能なプラグインの形式のいずれであっても良い。印刷制御部105の詳細な内部システムについては後述する。
【0017】
グラフィックエンジン11はオペレーティングシステムの描画処理を制御するコンポーネントで、印刷処理部からの描画命令を仲介する役割をする。プリンタドライバ12はグラフィックエンジン11によって仲介される描画命令を受け、プリンタ3が解釈可能なPDLデータ等に変換して出力するソフトウェアである。プリンタ3はプリンタドライバ12によって出力されたPDLデータを印刷する。なお、プリンタ3はここではコンピュータとイーサネットなどのネットワークで接続されたデジタル複合機の例で示している。しかし、本発明はこれに限定されず、USBインターフェースで接続されたインクジェットプリンタなどでも良い。
【0018】
≪図17:コンピュータのハードウェア構成≫
図17は一般的なコンピューターであるコンピュータ1の内部システムを表すブロック構成図である。CPU1701はROM1702あるいはRAM1703あるいは外部記憶装置1705に格納されたプログラムに従って装置全体の制御を行う。このプログラムには、オペレーティングシステムやWebブラウザおよびそのプラグインソフトが含まれる。RAM1703はCPU1701が各種処理を行う際のワークエリアとして使用される。外部記憶装置1705はオペレーティングシステム(OS)やアプリケーションソフト、プリンタドライバソフト等を記録する。キーボード1704もしくは図示していないマウスなどの入力機器は、ユーザーが各種指示を与えるためのデバイスである。ネットワークI/F1706およびプリンタI/F1707はイーサネットまたは専用インターフェースを介してプリンタ20と接続し、データの授受を行うためのインターフェースである。モニタI/F1708はモニタに接続し表示データの転送を行うためのインターフェースである。また、1709は共通データバスである。
【0019】
≪図4:印刷制御部105の詳細説明≫
図4は、印刷制御部105の内部システムを表すブロック構成図である。プレビュー画面制御部21は、印刷プレビュー画面に対する入出力を管理する役割を果たす。スタイルシート生成部22は、プレビュー画面制御部21からの要求に応じて所望の印刷レイアウトを実現するスタイルシートを生成するコンポーネントである。プレビュー画面表示部23は、印刷プレビュー画面、再配置された印刷プレビュー画面、印刷レイアウトの候補となるサムネイル画像などを生成して表示する。表示される画面の詳細については後述する。スタイルシート検索部24は、スタイルシートDB(データベース)26およびユーザフォーラムスタイルシートDB27からスタイルシートデータを検索し、取得する。印刷部25はWebページにスタイルシートを適用してグラフィックエンジンを通じて印刷処理を行うコンポーネントである。スタイルシートDB26はコンピュータ1内のハードディスクに存在し、スタイルシートを保存するためのデータベースである。また、ユーザフォーラムスタイルシートDB27は、ネットワーク制御部101を通じてアクセス可能なインターネット2上のサーバに配置されたデータベースである。どちらのデータベース26、27にもユーザによって生成されたスタイルシートが、印刷したWebページのURLや作成日時などの情報と関連付けて保存される。データベース内のレコード形式や、データベースの果たす役割については後述する。
【0020】
≪図5:印刷プレビュー画面のスクリーンショット説明≫
図5は、印刷制御部105によって表示される印刷プレビュー画面の一例である。ここでは図1に示すようなWebページに対して図2のような見やすい印刷用ページが用意されていないケースを想定する。以下に、ユーザが図1のような既定の見にくい印刷レイアウトを、図2のような見やすい印刷レイアウトに再配置して印刷をする際の操作方法について説明する。
【0021】
Webブラウザ10の入力制御部104は、現在表示しているWebページの印刷プレビュー画像を表示することが指示された場合、印刷プレビューウィンドウ31を表示する。印刷プレビューウィンドウ31内は左側と右側の2つの領域に分かれており、左側にはオリジナルのプレビュー画像32が、右側には再レイアウト後のプレビュー画像33が表示される。オリジナルのプレビュー画像とは、表示されたWebページをそのまま印刷した場合のプレビュー画像である。それに対して再レイアウト後のプレビュー画像とは、Webページを、ユーザの希望に応じて再配置したプレビュー画像である。図5の例では右側に再レイアウト後のプレビュー画像33が表示されているが、初期状態では白紙のプレビュー画像、すなわち何も印刷されない状態が表示されるようになっている。
【0022】
ここで、印刷対象の領域の選択は、オリジナルのプレビュー画像32の中から印刷を行いたい部分、例えばWebページ上の領域34をユーザがマウスカーソル等で選択する。なおここでいうWebページ上の領域は、単に表示上の領域を指すのではなく、HTML要素により記述された記述の単位で、以後、パーツあるいはオブジェクトと呼ぶこともある。詳しくは図7を参照して後述するが、本例のパーツとは、「要素をまとめるための要素」によりまとめられた要素あるいは要素群である。
【0023】
こうして選択したパーツ(選択パーツ)の再配置は、選択パーツ34をマウスで右側のプレビュー画像33の上へドラッグアンドドロップすることで行われる。
【0024】
プレビュー画像32には様々なWebページのパーツが表示されているが、プレビュー画像32内に表示されていればどのようなパーツでも選択してプレビュー画像33へドラッグアンドドロップすることができる。プレビュー画像33上へ選択パーツがドラッグアンドドロップされると、選択パーツのコピー35がプレビュー画像33の上に生成され、表示される。このプレビュー画像33が印刷対象として決定される。
【0025】
さらに、選択パーツのコピー35の枠351(図では点線で表示)を、たとえばユーザがマウスカーソルで掴んでドラッグすることによって、選択パーツのコピー35の大きさを変えることができる。選択パーツ34内にはテキストが含まれていてそれが1行で収まらない折り返しのあるものであった場合、選択パーツのコピー35の幅が広がるのに合わせて折り返し位置が移動し、1行に多くの文字数を表示するようレイアウトすることができる。さらに、たとえば選択パーツのコピー35のたとえば真ん中を持って画面33内をドラッグすることによって選択パーツのコピー35の位置を変えることもできる。
【0026】
なお、パーツの選択及び再配置操作は何度でも繰り返すことができるので、複数のパーツをプレビュー画像33に配置して印刷することも可能である。またプレビュー画像33から選択したパーツを削除することも可能である。印刷レイアウトが決まったら印刷ボタン36を押して、プレビュー画像33をプリンタ3から印刷することができる。
【0027】
≪図7:スタイルシートを用いた不要パーツの消去、再レイアウトの模式図≫
次に、図5で説明したユーザによる操作を、対応する印刷制御部105における処理に関連付けて説明する。その前にまずスタイルシートについて説明する。図7は印刷したいパーツを選択し、再配置することを可能にする仕組みを表す模式図である。
【0028】
再配置前のWebページ41は、パーツ42〜45で構成されている。HTML言語では<div/>や<span/>といった「要素をまとめるための要素」が定義されており、各要素にはidという属性(各パーツの固有の識別子)を付与することができる。「要素をまとめるための要素」によってまとめられた要素あるいは要素群を本例ではパーツと呼んでいる。図7では、header、navigation、sponsored、contentsというidを持つパーツが含まれている。これらパーツのそれぞれには、テキストや画像の指定やその配置等を記述する要素が含まれている。これらの<div/>要素(不図示だが<span/>要素も)のid属性はWebページと関連付けられたスタイルシートやスクリプトから参照でき、いわばWebページを構成するパーツとして利用される。図7のWebページ41はこのようにheader、navigation、sponsored、contentsという<div/>要素のid属性を参照することで構成されている。スタイルシートを適用した再配置後のWebページ46では、このうちcontentsというid属性の<div/>要素だけを表示するように構成されている。
【0029】
≪図8:スタイルシートの例≫
図8にスタイルシートの例を示す。スタイルシートとはWebページの背景、テキスト、レイアウトといった見栄えを制御するためのフォーマットである。フォーマットの詳細については割愛するが、図8の例は、図7のWebページ46を実現するためのスタイルシート48の例である。スタイルシート48は、header、navigation、sponsoredというidを持つ要素は{display:none;}なる記述により非表示にしている。一方、contentsというidを持つ要素は、{widthd:100%;}なる記述で、パーツの幅をそれが配置される領域の幅に対して100%にする、という表示やレイアウトに関する指示を表している。本例のスタイルシート48を図7のWebページ41に関連付けると、header、navigation、sponsoredというidを持つパーツ42,43,45が非表示になる。その一方で、100%で表示すると指定された、contentsというidを持つパーツ47がページの幅いっぱいを占めるようなレイアウトに変換される。その結果、パーツ再配置後の新たなWebページ46が画像として生成され、表示される。このように、スタイルシートを利用することによって、元のWebページを変更することなく見栄えを変更することが可能となる。
【0030】
≪図6:プレビュー表示、再レイアウト、印刷処理の流れ≫
次に、図5で説明したユーザによる操作を、対応する印刷制御部105における処理に関連付けるため、図6を用いて説明する。図6は、印刷制御部105によるプレビュー表示、再レイアウト、および印刷処理の流れを示すフローチャートである。なお、本願のフローチャートは図17のCPU1701が、関連するプログラムを実行することで実現される。また図6の手順は、Webブラウザ10が既に実行されており、指定されたWebページをWebサーバから取得して保存および表示し、入力待ちとなっている状態から開始される。
【0031】
まずステップS101においてプレビュー画面制御部21は、現在ページ表示部103に表示されているWebページの印刷プレビューを表示させるコマンドの入力を受信する。このコマンドは例えばユーザの指示に応じて入力される。次にステップS102においてプレビュー画面制御部21は、ページ保存部102から現在表示されているWebページのデータを取得し、プレビュー画面表示部23に送信する。次にステップS103においてプレビュー画面表示部23は、印刷プレビューウィンドウ31を生成し、表示する。
【0032】
次にステップS104においてプレビュー画面表示部23は、ページ保存部102から取得したWebページデータを解釈して、Webページデータに応じた印刷プレビュー画像32を印刷プレビューウィンドウ31の左側に表示する。ステップS105においてプレビュー画面表示部23は、再レイアウト後のプレビュー画像33の初期状態である白紙のプレビュー画像を印刷プレビューウィンドウ31の右側に表示する。次にステップS106において、プレビュー画面制御部21は、ユーザによる操作を待機し、入力があればその指示内容に応じて分岐する。すなわち、ユーザによるドラッグアンドドロップ操作によるパーツの再配置指示を受け付け、受け付けた指示内容を判定し、内容に応じて分岐する。プレビュー画面制御部21は、ユーザのマウス等による操作でプレビュー画像32上の印刷したいパーツが選択され、プレビュー画像33にドラッグアンドドロップされるのを検知したなら、ステップS107に分岐する。一方、印刷ボタン36の入力が検知されたなら、ステップS120に分岐する。
【0033】
こうして再配置指示を受け付けると、次のステップS107からS118により、右側のプレビュー画像33にドラッグアンドドロップされたパーツが表示される。ステップS107においては、プレビュー画面制御部21はドラッグアンドドロップされた選択パーツ内のHTML言語による要素の記述を解析し、中に含まれるパーツのidを取得する。オペレーティングシステムが提供するドラッグアンドドロップの機能では、ドラッグするオブジェクトととして様々な形式がサポートされており、そのひとつとしてHTML形式もサポートされている。HTML形式のパーツ(オブジェクト)をドラッグアンドドロップすると、ドロップされた先のウィンドウでは、当該パーツのHTML言語のソースコードが取得可能となっている。
【0034】
プレビュー画面制御部21はこうしてドロップされたHTML言語の中身を解析して、<div/>または<span/>要素のid属性を取り出す。選択パーツのHTMLソースコード内に複数のidが存在する場合はそれらをすべて取得する。次にステップS108においてスタイルシート生成部22は、プレビュー画面制御部21からステップS107で取得したidを受け取り、表示対象idリストに追加する。表示対象idリストはプレビュー画面制御部21がメモリ上に保持するリストで、右側にある再配置後の印刷プレビュー画像33に表示するパーツの情報を管理するために使用される。
【0035】
印刷プレビュー画像33に表示するパーツはユーザ操作によって増えていくので、表示対象のidリストはそのたびに更新される。次にステップS109においてスタイルシート生成部22は、今度はページ保存部102から取得した現在表示中のWebページを解析し、全パーツのidを取得する。次のステップS110からS112にかけては、ステップS109で取得したWebページ内の全パーツについて繰り返し処理を行う。
【0036】
ステップS110においてスタイルシート生成部22は、ステップS109でWebページから取得したパーツのidに順次着目し、着目パーツのidが表示対象idリスト内に存在するかどうか判定する。もし着目パーツのidがリストに存在すればステップS111に進み、存在しなければS112へ進む。ステップS112においてスタイルシート生成部22は、当該idの要素(すなわちパーツ)を非表示にするようスタイルシートに記述する。具体的には当該idを持つ要素に対して"id{display:none}"のように表示属性を指定した記述をスタイルシートに付加する。ここでいうスタイルシートはスタイルシート生成部22がメモリ中に保持する文字列情報で、ステップS111、S112、および後述するS116によって更新される。その内容は図8に例示した様なものである。以後、図8の模式図にならってこのメモリ中のスタイルシートをスタイルシート48とする。一方、ステップS111においてスタイルシート生成部22は、当該idを持つ要素を表示するようスタイルシート48に記述する。表示する場合は非表示のように表示属性を明示する必要はないが、ステップS116で表示属性を指定する可能性があるので、表示属性を与えずに"id{}"のようにidのみスタイルシート48に記述する。
【0037】
Webページ内の全パーツのidについて前記ステップS110からS112を実行したら、ステップS113に進む。ステップS113においてプレビュー画面制御部21は、S111〜S112においてスタイルシート生成部22が生成したスタイルシート48をステップS109で取得したWebページに適用して印刷レイアウト画像を生成し、画像33として表示する。ここでプレビュー画像33に表示される印刷レイアウトは、ステップS106で選択されドロップされなかったパーツはすべてスタイルシートによって非表示となる。
【0038】
次にステップS114においてプレビュー画面制御部21は、ユーザがウィンドウ位置・サイズを変えるような操作で、図7の模式図中の47で示すWebのパーツの位置やサイズを変更すると、その操作に応じた変更後の位置またはサイズを検知する。すなわち変更後の位置やサイズの指定を受け付ける。次にステップS115においてプレビュー画面制御部21は、S114で取得した画面上の位置またはサイズを、ページ上の位置またはサイズに換算する。具体的には、レイアウト後のページを表現したプレビュー画像33内の相対的な位置座標と、プレビュー画像33のウィンドウの大きさと実際のページの大きさとの比率から、実際のページ上におけるサイズまたは位置を計算する。次にステップS116においてスタイルシート生成部22は、ステップS115で計算した位置またはサイズの情報を、スタイルシート48における当該パーツのidの表示属性値である位置またはサイズに反映させる。具体的には、例えば選択されたパーツの位置をページ左上端から(15画素,15画素)の位置に移動し、サイズの横幅をページ幅いっぱいにする操作がされたものとする。この場合は、プレビューが面制御部21は、スタイルシート48の当該パーツに相当するid1の表示属性に例えば次のような値を設定する。
【0039】
id1{position:absolute;top:15px;left:15px;width:100%}
これは、まさに上記操作に対応する位置およびサイズの変更をパーツに適用する記述である。
【0040】
次にステップS117においてプレビュー画面表示部23は、ステップS116で更新したスタイルシート48を、再度ステップS109で取得したWebページに適用して印刷レイアウト画像を生成し、プレビュー画像33として再表示する。このように画面上の位置およびサイズの変更をスタイルシートに反映させてWebページに適用することで、Webページの内容を変えることなく再レイアウトされた印刷プレビュー画像を得ることができる。ステップS117の後はステップS106に戻り、ユーザによる操作入力を受け付ける。
【0041】
さてステップS106で印刷ボタンの入力が検知されると、ステップS120において印刷部25は、ステップS117で得たスタイルシート48適用済みのWebページ、あるいはなにも再配置の操作が行われていない場合には白紙を印刷する。Webページの印刷は通常のブラウザに実装された技術であり、それをそのまま利用することができる。なおここで白紙の印刷を禁ずるために、ステップS106において、白紙のままの印刷ボタンを受け付けないように構成することもできる。
【0042】
最後にステップS121においてスタイルシート生成部22は、ステップS117で生成したスタイルシート48と、印刷したWebページのURLを関連付けてスタイルシートDB26に保存する。
【0043】
なお図6のステップS106では再配置操作か印刷操作のいずれかしか選択の余地がないように記載しているが、もちろんこのほかの操作、たとえば操作のキャンセルなどを受け付けることもできる。その場合にはもちろん操作に応じた処理が実行される。
【0044】
以上のようにして本実施形態によれば、簡単にWebページのレイアウトを変更することができる。
【0045】
≪図9:スタイルシートDBの例≫
図9にスタイルシートDB26に保存されるレコードの例を示す。スタイルシートDB26はレコードのフィールドとして「URL」、「スタイルシート」、「作成日時」、「使用回数」を持つ。URLとスタイルシートはそれぞれ、S121で前述したとおり、印刷対象のWebページのURLと、ユーザ自身によって印刷するパーツが選択され、再配置されたレイアウトを実現するためのスタイルシート48である。作成日時としてはステップS121が実行された日時を保存する。使用回数については後述するが、このフィールドには保存されたスタイルシートが、関連づけて保存されたURL以外のWebページの印刷に使用された回数を保存する。
【0046】
このスタイルシートDB26は、ステップS101〜S121の手順で一度印刷をしたことのあるWebサイトの中で、同じまたは似たURLのWebページを印刷する際に活用される。つまり、作成されたスタイルシートを他のWebページを印刷する際に利用できるように蓄積することで、ユーザの操作負荷の軽減が実現される。
【0047】
[実施形態2]
次に本実施形態を拡張した実施形態2について説明する。なお本実施形態との共通点については説明を省略する。本実施形態はスタイルシートDB26に登録したスタイルシートを有効に再利用することで、よりWebページ印刷時の再レイアウトを簡単に行えるようにしたものである。より詳しく言えば、スタイルシートDB26に登録したスタイルシートのうち、表示中のWebページと関連のあるスタイルシートをサムネイルとして印刷プレビュー画面に表示する。関連のあるスタイルシートとは、印刷しようとしているWebページと同じサーバすなわち同じドメイン名を含むURLで特定されるWebページの印刷のために使用されたスタイルシートである。これは、図7に示すようにWebページ内の各パーツにはidが付与されており、同じWebサイト内のWebページであれば作成者が同一なのでこれらidの命名則も同じであることが多いためである。例えば、ニュースサイトの多くはニュース本文・タイトル・写真などはWebページごとに違うが、どれも同じテンプレートすなわち同じidが付与されたWebのパーツの構成になっている可能性が高い。したがって同じWebサイト内であれば、あるWebページに対応したスタイルシートを別のWebページに適用しても同じようにレイアウトを変更できる可能性が高い。この事実を利用して、スタイルシートとWebページとをドメイン名により関連づける。そして、候補サムネイルのうちからひとつを選択することで、Webページのパーツを選択および再配置することなく、スタイルシートを用いたレイアウトを実現できる。以下本実施形態の処理等を説明する。
【0048】
≪図10:レイアウト候補サムネイルを表示した画面のスクリーンショット説明≫
図10のウインドウ31は、好みのレイアウトを候補の中から選んで印刷することができる画面の例である。ここでは、図5で印刷したWebページとURLは異なるが同じWebサイト内のWebページ、すなわちURLのドメイン名部分が同じWebページを開いて印刷しようとしているものとする。左側にある元の印刷プレビュー画像32、右側にあるユーザが望む印刷プレビュー画像33、印刷ボタン36といったユーザインターフェースの役割や配置は図5で示した画面例と変わりない。図5と異なるのは画面上部に表示された候補サムネイル49である。候補サムネイル49は、現在印刷しようとしているページと同じWebサイトにあるページを過去に印刷したことがある場合に表示される。
【0049】
候補サムネイルのひとつひとつは過去の同じWebサイト内のページの印刷で使用したスタイルシートに対応している。この候補サムネイルのひとつを選択することで現在のWebページに選択されたサムネイルに対応したスタイルシートを適用して印刷することができる。候補サムネイルは左から使用回数の多い順に並べられており、候補が複数ある場合には、使用頻度の最も高い左端にあるスタイルシートが自動的に選択・適用されて印刷プレビュー画像33が表示される。換言すれば、最も優先順位が高いスタイルシートから順に並べて表示される。ユーザがその印刷レイアウトを気に入ればそのまま印刷ボタン36を押して印刷することができ、気に入らなければ別の候補を選択することもできる。もちろん、まったく別の新しい印刷レイアウトにするため、図6で示した流れに沿って再配置をおこなっても良い。そのために、候補として表示するサムネイルに白紙のサムネイルを加えておいたり、あるいはプレビュー画像33のパーツを全て削除するボタン等をもうけてもよい。
【0050】
Webページのレイアウトを再配置する作業は、広告・ナビゲーションバーの削除や本文の幅調整などおおよそ決まり切っており、そうした作業内容をスタイルシートとして自動的に保存・再利用することでユーザの作業負荷を軽減させることができる。次に図11を用いて、上述したスタイルシート再利用の流れを説明する。
【0051】
≪図11:レイアウト候補適用・選択処理の流れ≫
図11は、スタイルシートDB26を利用して過去の印刷レイアウトを適用し印刷する流れを示すフローチャートである。ステップS201からS204までのプレビュー画面制御部21による、プレビュー画面31の表示から右側にあるデフォルトの印刷プレビュー画面32の表示に至る流れはS101からS104までと同様である。
【0052】
ステップS205においてスタイルシート検索部24は、印刷しようとしているWebページのURLを取得する。次にステップS206においてスタイルシート検索部24は、ステップS205において取得したURLの中からドメイン名部分を取り出す。例えば印刷しようとしているURLが「http://------.com/article/20081019aaa」であれば取り出されるドメイン名は「------.com」となる。次のステップS207からS208は、スタイルシートDB26からエントリをひとつひとつ取り出し、各エントリについて処理を行う。
【0053】
ステップS207においてスタイルシート検索部24はスタイルシートDB26から取り出したエントリのURLがステップS206で取り出したドメイン名部分を含むかどうか判断する。例えば印刷しようとしているURLが「http://------.com/article/20081020bbb」、スタイルシートDB26に保存されたエントリのURLが「http://------.com/article/20081019aaa」であったとするとURL同士の比較では異なるが、ドメイン名部分の比較では互いに同じなので「含む」と判断される。同じドメイン名を含む場合はステップS208に進み、含まない場合は何もせずに次のエントリを取り出して再びステップS207へ進む。
【0054】
次にステップS208においてプレビュー画面制御部21はエントリのスタイルシートを印刷対象のWebページに適用して候補となるサムネイル画像を作成する。候補サムネイル画像はプレビュー画像32やプレビュー画像33の3分の1ほどの小さいサイズであるが、小さくてもおおよそのWebパーツの配置が判別できるようになっている。
【0055】
以上のステップS207とS208をスタイルシートDB26の全エントリについて処理したらステップS209に進む。次にステップS209においてプレビュー画面表示部23は、ステップS208において作成した候補サムネイル画像が1つ以上あるかどうか判定し、あればステップS210に進む。一方、もしなければ図6で説明したステップS105に進み、以降はユーザ自身が印刷対象のWebパーツを選択したり再配置したりする流れになる。
【0056】
候補がある場合ステップS210においてプレビュー画面表示部23は、サムネイル画像をスタイルシートDB26に記録されていた「使用回数」の多い順に左から並べて画面上部49の位置に表示していく。使用回数が同数の場合は「作成日時」が最近のものを先にするなどしても良い。また候補サムネイル画像はあるだけ、すなわち同じドメイン名を持つURLに対応したスタイルシートが見つかった数だけ表示しても良いし、上位3つのように数を限定して表示しても良い。この候補サムネイルはレイアウトの概要を表すばかりでなく、マウスやキーボードで選択する可能な入力手段としての役割も果たす。
【0057】
次にステップS211においてプレビュー画面表示部23は、最も左側のサムネイル(最も使用回数の多いスタイルシートから作成されたサムネイル)をデフォルト候補として選択した状態にする。さらにステップS212において、S211で選択されたスタイルシートをWebページに適用して印刷プレビュー画像を生成し、画面右側に印刷プレビュー画像33として表示する。ユーザ自身が候補サムネイルを確認して選択することで所望のレイアウトに切り替えることができる。しかし、最も使用回数の多いスタイルシートはユーザに好まれる可能性が高いので予めプレビュー画面表示部23が選択しておくことによってユーザの作業負荷を軽減できる。
【0058】
次にステップS213において、プレビュー画面制御部21は、入力制御部104からのユーザによる操作入力を受け付け、受け付けたならその操作内容を判定する。ユーザからの別の候補サムネイルに対する選択入力を検知したなら、ステップS214に分岐する。ステップS214においてプレビュー画面表示部23は、選択された候補サムネイルに対応するスタイルシートをWebページに適用して印刷プレビュー画像を生成し、画面右側のプレビュー画像33として表示する。ユーザは気に入ったレイアウトが見つかるまでステップS214を繰り返すことができる。
【0059】
次にステップS215において、ステップS213で受け付けた入力が印刷ボタンであるか判定する。プレビュー画面制御部21は、印刷ボタン36に対する入力を検知した場合、ステップS216に分岐する。ステップS216において印刷部25は、最後にステップS214で選択されたスタイルシートをWebページに適用して印刷を行う。ステップS217においてスタイルシート検索部24は、印刷に使用したスタイルシートを含むエントリの「使用回数」のカウントを1つ増やして保存する。スタイルシートDB26を更新する。ステップS215においていずれの操作でもなければ、図6のステップS106へ分岐する。ステップS106では、レイアウト済みのプレビュー画像33をさらに編集することができる。
【0060】
これにより候補から選択されたスタイルシートが次回の印刷時に使われる可能性が高くなる。なお、ステップS215では、その他の操作はすべてパーツの移動と判定しているが、これに限らず、たとえば白紙のスタイルシートの選択や、操作の取消等を含めて判定することもできる。もちろんそれらの操作がされれば操作に応じた処理が実行される。
【0061】
以上のように本実施形態では、あるWebサイト内のWebページを再配置して印刷したことがあれば、以後は同サイト内のWebページの再配置を行わなくても所望のレイアウトで自動的に印刷することが可能となる。また、レイアウトの候補が複数存在する場合はその中から所望のレイアウトを選択して印刷することが可能となる。
【0062】
[実施形態3]
次に図12のフローチャートを用いて本発明の実施形態3に係るWebページ印刷装置の処理を説明する。
【0063】
≪図12:URL比較による候補検索処理の流れ≫
実施形態1,2において、あるWebページの印刷レイアウト再配置に使用したスタイルシートを別のWebページに適用する基準としてURLのドメイン名が同じかどうかを用いた。しかしながら、例えば同じニュースサイトであっても個々のニュース記事のページと、ニュース写真を集めたギャラリーページ、あるいはコラムのページとでは元々のレイアウトが大きく異なり、Webページを構成するパーツの種類も異なる可能性がある。このような場合は、同じドメインに関連付けられたスタイルシートの中から、できるだけ印刷しようとしているWebページにあったものを選別する手法が求められる。
【0064】
そこで本実施形態では、URLを詳細に比較することによって最適なスタイルシートを選択する手段について述べる。本実施形態は、実施形態2と構成は変わりないが、実施形態2で述べた図11のステップS206からS211にかけての処理をステップS301からS307に至る処理へ置き換えたものである。
【0065】
図12にステップS301からS307までの処理を表すフローチャートを示す。本実施形態の処理は、このステップS301からS307により図11のステップS206からS211を置換した処理として読まれるべきである。
【0066】
まずステップS301においてスタイルシート検索部24は、印刷しようとしているWebページのURLのドメイン名部分とともにパス名部分を取り出し、さらにパス名の中に含まれるスラッシュ記号を区切り文字として1つ以上の字句を取り出す。例えば、WebページのURLが「http://------.com/article/20081020bbb」であった場合、ドメイン名部分は「------.com」、パス名部分は「article/20081020bbb」である。さらにスラッシュ記号を区切り文字としてパス名を分解すると「article」および「20081020bbb」の2つの字句が取り出される。なお、以下ではドメイン名部分もURL全体から見ればスラッシュ記号で区切られた字句のひとつと見なすことができるので、パス名を構成する字句とドメイン名部分とを区別することなくいずれも「字句」として扱うことにする。
【0067】
次のステップS302からS304は、スタイルシートDB26からエントリをひとつひとつ取り出し、各エントリについて処理を行う。ステップS302においてスタイルシート検索部24はスタイルシートDB26から取り出したエントリのURLを参照し、ステップS301で取り出した字句がいくつ含まれるか語順を考慮して数え上げ、一致した個数をエントリと関連付けて記憶する。このステップS302の数え上げ方法を、例を用いて説明する。
【0068】
例えば図9に示すスタイルシートDB26のエントリ#1のURL「------.com/photonews/200804」には、まず一つ目の字句(ドメイン名)である「------.com」が含まれるが、残りの「article」以下は含まれないので一致する個数は「1」となる。
一致する字句の数え上げ方法は、第1の字句、第2の字句、と順序が考慮されるので一致しない字句が出現した時点で数え上げは終了する。さらに例としてエントリ#2のURL「------.com/article/20080320aaa」については「------.com」、「article」の2つの字句が順に含まれるので一致する個数は「2」となる。
【0069】
次にステップS303においてスタイルシート検索部24は、ステップS302で数え上げた字句の個数が1つ以上かどうか判断する。1つ以上ならステップS304に進み、そうでないなら何もせずに次のエントリを取り出して再びステップS302へ進む。
【0070】
次のステップS304においてプレビュー画面制御部21はエントリのスタイルシートをWebページに適用して候補となるサムネイル画像を作成する。次にステップS305においてプレビュー画面表示部23は、ステップS304において作成した候補サムネイル画像が1つ以上あるかどうか判定し、あればステップS306に進む。一方、もしなければ第一の実施形態と同様に、図6で説明したステップS105に進み、以降はユーザ自身が印刷対象のWebパーツを選択したり再配置したりする流れになる。
【0071】
候補がある場合、ステップS306においてプレビュー画面表示部23は、サムネイル画像をステップS303で数え上げた一致した字句の個数を第1の基準、エントリの使用回数を第2の基準として並び替え、画面上部49の位置に表示する。実施形態1ではエントリの使用回数のみを基準に並び替えを行ったが、実施形態3ではそれよりもS303で一致した字句数を優先して並び替えを行う。
【0072】
例えば図9のスタイルシートDB26にあるエントリの中では、エントリ#1、#2、#4が1つ以上の字句が一致する候補として選ばれる。実施形態1、2の基準でこれを並び替えると使用回数の多い順からエントリ#1、#4、#2となるが、本実施形態の基準にしたがって並び替えるとエントリ#2、#1、#4の順となる。なぜなら候補となる3つの中でエントリ#2のURLは「------.com/article/20080320aaa」であることから、印刷しようとしているWebページのURL「http://------.com/article/20081020bbb」と「------.com」および「article」の2つの字句が一致しているからである。それに対してエントリ#1と#4のURLは1つの字句すなわちドメイン名だけしか一致しないのでエントリ#2よりも優先度が低くなる。エントリ#1と#4のように一致した字句の個数が同じ場合は、次の基準として使用回数を用いるので#1の方が#4よりも優先度が高くなる。
【0073】
最後にステップS307においてプレビュー画面制御部21は、最も優先度高いと判断されて並び替えられ、左側に来ているサムネイルをデフォルト候補として選択した状態にする。最も左側に来るエントリ#2のURLは印刷しようとしているWebページのURLと似通っていることからWebページの構成、さらにはWebの各パーツに対する命名則がドメイン名だけが一致するもに比べて似通っている可能性がより高い。そのためエントリ#2のスタイルシートを適用したときに、印刷しようとしているWebページがユーザの所望の印刷レイアウトに変換される可能性もより高いといえる。
【0074】
以上説明したステップS301からS307の処理によって、印刷しようとしているWebページに最適なスタイルシートが自動的に適用される可能性が高まり、さらにユーザの作業負荷を軽減させることができる。
【0075】
[実施形態4]
≪図13:ユーザフォーラムスタイルシートDBの概念図≫
次に図13の概念図を用いて本発明の実施形態4に係るWebページ印刷装置を説明する。実施形態1,2において、再配置したレイアウト情報を含むスタイルシートを登録したり、過去に登録されたスタイルシートを検索する先としてコンピュータ1内のローカルにあるスタイルシートDB26が利用された。しかしながら、ユーザが印刷を行わない限り対応するスタイルシートが登録されないため、初めて訪れたWebページまたは初めて印刷するWebページに関しては候補が提示されず、再配置を行わなければならないという課題があった。
【0076】
そこで本実施形態4では、インターネット2上のユーザフォーラムスタイルシートDB27に蓄積された他のユーザのスタイルシートを活用して、印刷レイアウトの候補を提示する方法について述べる。図13はユーザフォーラムスタイルシートDB27を複数のユーザが利用する様子を表した模式図である。なお以下の説明でS401,S402等、S40Xという参照符号があらわれるが、これは単なる説明の便宜であって、図面を参照するものではない。
【0077】
コンピュータ51、52,53、54はそれぞれ本発明のWebページ印刷装置を搭載したコンピュータであり、各コンピュータのユーザは本印刷装置を使ってWebページを印刷する。これらのコンピュータはすべてインターネット2を通じてユーザフォーラムスタイルシートDB27と通信可能な状態となっている。ユーザフォーラムスタイルシートDB27の実体はデータベースサーバであり、1台だけの構成または複数台で冗長化した構成のどちらでも良い。またユーザフォーラムスタイルシートDB27が保持するデータベースのレコード形式はローカルにあるスタイルシートDB26と同じ形式である。
【0078】
実施形態1、2のステップS121においてスタイルシート生成部22は、Webページの印刷後に使用したスタイルシートと印刷したページのURLを関連付けてスタイルシートDB26へ登録した。本実施形態ではこのS121の後に、さらにスタイルシート生成部22はネットワーク制御部101を通じてユーザフォーラムスタイルシートDB27にもスタイルシートとURLを関連付けて保存する(ステップS401)。このステップS401の処理が、例えばコンピュータ51、52、53において複数回実行されると、多数のエントリがユーザフォーラムスタイルシートDB27に保存され蓄積される。
【0079】
各コンピュータのユーザは様々なWebサイトの様々なWebページを印刷するので、保存されるURLとそれに関連付けられたスタイルシートはバラエティ豊かになる。ここで次に、別のコンピュータ54があるWebページを印刷するために印刷プレビュー画面31を開いたとする。実施形態3では候補となるスタイルシートをローカルのスタイルシートDB26だけから検索したが、本実施形態ではさらにユーザフォーラムスタイルシートDB27からも検索する。
【0080】
すなわち、スタイルシート検索部24はネットワーク制御部101を通じて、ローカルのスタイルシートDB26を検索し表示するステップS205からS211に至る処理を、ユーザフォーラムスタイルシートDB27についても行う(S402)。このS402の処理によって、仮にローカルのスタイルシートDB26で候補となるスタイルシートが見つからなくても、ユーザフォーラムスタイルシートDB27を検索することによって他のユーザの作成したスタイルシートを借用して利用できる可能性がある。印刷しようとしているWebページに対応したスタイルシートがS402の処理で見つかる可能性は、S401の登録処理を行うコンピュータが数台では少ないが、数十台、数百台、不特定多数と増加するに連れて高まる。
【0081】
ユーザフォーラムスタイルシートDB27で検索されたスタイルシートを利用して印刷を行った場合、スタイルシート検索部24はネットワーク制御部101を通じて該当するスタイルシートの使用回数を1つ増やして保存する(ステップS403)。このステップS403によって使用回数が増やされたスタイルシートは、S402で候補として表示された際に優先的に左側に表示されるので「人気のある」スタイルシートとしてさらに何度も利用される可能性が高くなる。なお、S402においてローカルのスタイルシートDB26とユーザフォーラムスタイルシートDB27の両方から候補となるスタイルシートが 見つかった場合、それらの候補を並び替え方としては様々な基準が考えられる。例えば、単純に使用回数を基準として並び替える方法や、ローカルのスタイルシートDB26で見つかったものの使用回数が少なくてもユーザフォーラムスタイルシートDB27で見つかったものより優先的に左側に表示する、などである。
【0082】
以上説明したステップS401からS403の処理によって、自分が印刷したことがなくても誰かが印刷したことがある可能性を利用して、印刷に適したレイアウトを借用してWebページを印刷することができユーザの作業負荷を軽減させることができる。
【0083】
[実施形態5]
≪図14:自動レイアウト機能の概念図≫
次に図14、15を用いて本発明の実施形態5に係るWebページ印刷装置を説明する。実施形態4では、ローカルのスタイルシートDB26に適合するスタイルシートがなくても、不特定多数のユーザによってユーザフォーラムスタイルシートDB27から最適なものが検索できる手段について述べた。しかしながら、仮にユーザフォーラムスタイルシートDB27にも適合するURLが登録されていないケース、すなわち「誰も印刷したことがないページを印刷しようとしている」場合には、やはりユーザが手動で印刷レイアウトの再配置を行わなければならなかった。
【0084】
そこで本実施形態5では、あらかじめデータベースに登録されたスタイルシートが見つからなくてもWebページにつけられているタイトルから自動的に印刷に適したレイアウトを生成する方法について述べる。
【0085】
図14は本実施形態5の概要を表す概念図である。タイトル61は印刷しようとしているWebページのタイトルの例である。HTML言語では<Title/>というページタイトルを決める要素が定義されている。ページタイトルはその名の通りあるWebページをひと言で表現したタイトルであり、通常Webブラウザのタイトルバーやタブシートに表示されたり、ブックマークのデフォルトのタイトルとして使用されたりする。このタイトルに含まれるキーワードは、Webページの本文に書かれている内容と関連性がある可能性が非常に高いため、タイトルのキーワードから印刷すべきWebパーツが判断し、逆に関連性の薄い不要なパーツを排除できる可能性も持っているといえる。
【0086】
そこで、タイトル61に示すようにタイトルを構成する単語に関してWebページ内を検索し、単語が現れる箇所をWebパーツごとに数え上げる。図14の例ではパーツ62から65のうち、パーツ63と64においてそれぞれ3つ単語が出現し、パーツ62と65ではひとつも出現しなかったことが示されている。この結果を受けて、パーツ63と64のどれかまたはすべてを含むよう組み合わせてレイアウトを行い、それらを候補レイアウト66、67、68としてそのサムネイルをユーザに提示する。
【0087】
これらレイアウト66、67、68のいずれもユーザが望むレイアウトでない可能性はある。しかし、少なくとも印刷時に不要なWebパーツが排除されたレイアウトである可能性は高いので、既存のスタイルシートが利用できないときの候補として選ばれる価値はある。以下ではこの概念図で示した、自動的にレイアウトを決定する処理について詳しく説明する。
【0088】
≪図15:自動レイアウト機能の流れ≫
図15は、実施形態5に係るWebページ印刷装置の処理を示すフローチャートである。本実施形態の処理は実施形態2のステップS205からS211を置き換えるものである。あるいは実施形態4においては、そのステップS401とS402が図15で置換される。
【0089】
まずステップS501においてプレビュー画面制御部21は、Webページデータからタイトルを取得する。タイトルは<Title/>要素に記述されていることは先に述べたとおりである。
【0090】
次にステップS502においてプレビュー画面制御部21は、ステップS501で取得したタイトルからキーワードを抽出する。キーワードを抽出する前段の処理として、タイトルの言語が日本語や中国語のように英語などと違って単語の切れ目が機械的に判断できない場合、自然言語処理を施して単語単位へ分割を行う。単語の中からキーワードを抽出する方法としては、固有名詞だけを選ぶ方法や、助詞や前置詞などだけを除いた一般名詞も含めて選ぶ方法など様々なものが考えられる。本例では図14で示すタイトル61の中から前置詞である「of」だけを除き、「weather」「forecast」「Tohoku」をキーワードとして扱う。
【0091】
次のステップS503からS505にかけてはWebページ内に含まれる各Webパーツについて処理を行う。ステップS503においてプレビュー画面制御部21は、抽出された各キーワードが該Webパーツ内に現れる個数を数え上げて総数を求める。あるキーワードが複数回現れた場合はその分だけ数え上げても良いし、1回だけしか数えないようにしても良い。また、固有名詞が現れた場合には重みを付けて複数回分カウントするようにしても良い。なお、WebページのHTMLデータを検索する際には、実際の画面上に現れるテキスト文字だけを検索対象にしても良いし、画像データの注釈を表すALT属性データに含まれるテキストなども検索対象として含めても良い。
【0092】
次にステップS504においてプレビュー画面制御部21は、数え上げられた総数が1つ以上であるか判断し、そうであればS505へ、そうでなければ何もせずに再び次のパーツについてS503の処理を行う。ステップS505においてプレビュー画面制御部21は、該Webパーツのidを表示対象idリストに追加する。以上のステップS503からS505を全Webパーツに関して繰り返すことによって各パーツ内に各キーワードが出現する総数が求められ、1つ以上のパーツが表示対象として記憶される。
【0093】
次にステップS506においてスタイルシート生成部22は、記憶された1つ以上の表示対象idから任意の組み合わせを抽出する。任意の組み合わせとは、例えばA、Bという2つのパーツが表示対象のときは(AB)、(A)、(B)の3つの組み合わせ、A、B、Cの3つのパーツのときは(ABC)、(AB)、(BC)、(CA)、(A)、(B)、(C)の7つの組み合わせのことを指す。N個のパーツが表示対象となっているときの組み合わせ数は2−1となる。
【0094】
次にステップS507においてスタイルシート生成部22は、前記ステップS506で求められた全組み合わせの中から、パーツを多く含む順に画面表示可能な候補の上限M個を選び、対応するスタイルシートを生成する。プレビュー画面31に表示可能な候補サムネイルの数をM個としたとき、スタイルシート生成部22はパーツ同士の組み合わせの中からパーツを多く含む順にこのM個だけ選ぶ。パーツを多く含む順とは、例えばA、B、Cの3つのパーツのときなら(ABC)、(AB)、(BC)のように多くのパーツを含むという意味である。このようにする根拠は、できるだけキーワードが検索されたWebページに関しては印刷されるようにするためである。もちろん必要に応じてパーツが少ない順など他の基準に従って選んだり、並び替えたりしても良い。
【0095】
次にステップS508においてプレビュー画面制御部21はステップS507において生成されたM個のスタイルシートを印刷しようとしているWebページに各々適用し、サムネイル画像を得る。最後にステップS509においてプレビュー画面表示部23は、候補サムネイル画像をプレビュー画面31にパーツが多く含まれる順に左から表示し、最も左の候補を選択して対応するプレビュー画像を33に表示する。
【0096】
以上の処理によって、適合するスタイルシートが存在しないケースにおいても自動的にユーザの希望に近い印刷レイアウトを自動的に生成することができ、広告など不要なパーツを削除する手間を軽減させることが可能となる。
【0097】
[実施形態6]
≪図16:プリンタドライバでの実施形態≫
最後に図16を用いて本発明の実施形態6に係るWebページ印刷装置を説明する。前述した第一から第四までの実施形態では、本発明のWebページ印刷装置の核となる処理を担う印刷制御部105はWebブラウザ10にあらかじめ組み込まれたコンポーネントないし後から追加されるプラグインとなっていた。本実施形態6ではこの印刷制御部をプリンタドライバ12の機能の一部として構成しても、同様の効果が得られることを示す。
【0098】
図16はWebブラウザの印刷制御部105に加えて、プリンタドライバ12の一部としても印刷制御部を追加構成した例である。プライベートスプーラ13は、プリンタドライバ12に入力された描画命令をPDLに変換する前の中間形式で一時的に保存するコンポーネントである。14は印刷制御部である。
【0099】
実施形態1から実施形態5において印刷制御部105がWebブラウザのページ表示部103から印刷するWebページデータを入力されていたのに対し、本実施形態の印刷制御部14はプライベートスプーラー13から印刷するデータを入力される。印刷制御部14がネットワーク制御部101を通じて通信したり、グラフィックエンジン11に対して印刷出力を行う点は実施形態1から実施形態5と変わりない。
【0100】
ところで一般的な印刷システムではアプリケーションから出力先のプリンタまで直線的な構成になっているが、本実施形態ではグラフィックエンジン11、プリンタドライバ12、プライベートスプーラ13、印刷制御部14がループ構成になっている。これは、ユーザが印刷指示した後すぐにプリンタ3に印刷出力せずに、いったんコンピュータ内に留め置いて印刷レイアウトや印刷設定を変更できるようにしているためである。すなわち、プリンタドライバ12を通じてプライベートスプーラ13に保存された中間形式は、印刷制御部14によって読み込まれ、印刷制御部14が表示するユーザインターフェースを通じてユーザが印刷レイアウトを変更する指示を入力できる。
【0101】
さらに印刷制御部14は入力された変更の指示に基づいて中間形式をレイアウトし、再びグラフィックエンジン11に描画命令を再出力する。印刷制御部14から描画命令を再出力する際は、「2周目」の印刷であることを指示する情報が描画命令に含まれているため、何度もループすることはない。
【0102】
ここで印刷制御部14において本発明が主眼とする印刷レイアウトの再配置処理を行うためには、プライベートスプーラ13に保存される中間形式をWebページそのものであるHTML形式にするか、あるいはそれに近い形式にする必要がある。例として、Microsoft社のWindows(登録商標)で従来から利用されているEMF(Enhanced Meta File)形式は描画処理に特化したプリミティブな形式であるためこれに適さないが、Windows Vista(登録商標)からサポートされたXPS(XML Paper Specification)ならば適合する。XPS形式では、ページの描画情報をXMLのマークアップで記述しており、描画処理以外の多くの情報も表現することができる。例えばXMLのマークアップを階層化していくつかの描画情報をまとめることによってWebページを構成するパーツを定義したり、各パーツに関するレイアウト情報をページ情報と別に定義することも可能である。さらに本発明で必要となるWebページのURL情報や、ページタイトル情報もXPSのデータ内に定義することができる。
【0103】
以上述べたように、図16に示すような印刷システムにおいても、一時保存する中間形式としてHTML形式またはそれに相当する形式を選択することによって本発明のWebページ印刷装置を構成することが可能である。

なお本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。また本発明の目的は、前述の実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータが記憶媒体に格納されたプログラムを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラム自体が前述した実施形態の機能を実現することになり、そのプログラム自体およびプログラムを記憶した記憶媒体は本発明を構成することになる。
【0104】
また、本発明には、プログラムの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。さらに、記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた場合についても、本発明は適用される。その場合、書き込まれたプログラムの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。

【特許請求の範囲】
【請求項1】
複数のパーツから構成されるWebページをレイアウトして印刷する情報処理装置であって
印刷対象のWebページの印刷が指示された際に、当該Webページを構成するパーツを印刷プレビュー画像の中に再配置するための再配置手段と、
前記再配置手段により再配置されたレイアウトのスタイルシートを作成する作成手段と、
前記スタイルシートと前記印刷対象のWebページのアドレスとを関連づけて蓄積する蓄積手段と、
前記スタイルシートに従って前記印刷対象のWebページを再配置して印刷するための印刷制御手段と、
前記蓄積手段に蓄積されたWebページのアドレスから、前記印刷対象のWebページのアドレスと、少なくともサーバを示す部分が一致するアドレスを検索し、見つかったなら該当するアドレスに関連づけられたスタイルシートに従って前記印刷対象のWebページを再配置したサムネイルを作成してスタイルシートの候補として表示する候補の表示手段とを備え、
前記印刷制御手段は、前記スタイルシートの候補の中からスタイルシートが選択された場合、該スタイルシートに従って前記印刷対象のWebページを再配置して印刷することを特徴とする情報処理装置。
【請求項2】
前記蓄積手段は、前記スタイルシートが前記印刷制御手段によるWebページの印刷のために選択された回数を、前記スタイルシートと前記印刷対象のWebページのアドレスとに更に関連づけて蓄積し、
前記候補の表示手段は、前記該当ずるアドレスに関連づけられたスタイルシートが複数ある場合には、当該スタイルシートに関連づけられた回数が多いスタイルシートを、より優先順位の高い候補として表示することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記アドレスはURLであり、
前記候補の表示手段は、前記印刷対象のWebページのURLの一部を構成する字句と一致する字句を含むURLを前記蓄積手段に蓄積されたWebページのアドレスから検索し、該当するURLに関連づけられたスタイルシートに従って前記印刷対象のWebページを再配置したサムネイルを作成してスタイルシートの候補として表示することを特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記再配置手段により再配置されたプレビュー画像を表示するための表示の制御手段を更に備え、
前記表示の制御手段は、印刷指示がされた際に、前記優先順位が最も高い候補のスタイルシートを前記印刷対象のWebページに適用し、得られたプレビュー画像をプレビュー画像として表示することを特徴とする請求項2又は3に記載の情報処理装置。
【請求項5】
前記情報処理装置はネットワークに接続されており、
該ネットワークには更に、該ネットワークに接続された情報処理装置により印刷のために用いられたスタイルシートが印刷対象のWebページと関連づけて登録した外部の蓄積手段を持つサーバが接続されており、
前記候補の表示手段は、前記蓄積手段に蓄積されたWebページのアドレスに加えて、前記外部の蓄積手段に蓄積されたWebページのアドレスを検索の対象とすることを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
【請求項6】
前記印刷対象のWebページのタイトルを取得し、取得したタイトルに含まれたキーワードを抽出し、前記印刷対象のWebページのパーツごとに抽出した前記キーワードを検索し、該当するパーツを組み合わせたスタイルシートを作成する手段を更に備えることを特徴とする請求項1に記載の情報処理装置。
【請求項7】
複数のパーツから構成されるWebページをレイアウトして印刷する印刷制御方法であって、
印刷対象のWebページの印刷が指示された際に、当該Webページを構成するパーツを印刷プレビュー画像の中に再配置するための再配置工程と、
前記再配置工程により再配置されたレイアウトのスタイルシートを作成する作成工程と、
前記スタイルシートと前記印刷対象のWebページのアドレスとを関連づけて蓄積手段に蓄積する蓄積工程と、
前記スタイルシートに従って前記印刷対象のWebページを再配置して印刷するための印刷制御工程と、
前記蓄積手段に蓄積されたWebページのアドレスから、前記印刷対象のWebページのアドレスと、少なくともサーバを示す部分が一致するアドレスを検索し、見つかったなら該当するアドレスに関連づけられたスタイルシートに従って前記印刷対象のWebページを再配置したサムネイルを作成してスタイルシートの候補として表示する候補の表示工程とを備え、
前記印刷制御工程は、前記スタイルシートの候補の中からスタイルシートが選択された場合、該スタイルシートに従って前記印刷対象のWebページを再配置して印刷することを特徴とする印刷制御方法。
【請求項8】
複数のパーツから構成されるWebページをレイアウトして印刷する情報処理装置としてコンピュータを機能させるためのプログラムであって、
印刷対象のWebページの印刷が指示された際に、当該Webページを構成するパーツを印刷プレビュー画像の中に再配置するための再配置手段と、
前記再配置手段により再配置されたレイアウトのスタイルシートを作成する作成手段と、
前記スタイルシートと前記印刷対象のWebページのアドレスとを関連づけて蓄積する蓄積手段と、
前記スタイルシートに従って前記印刷対象のWebページを再配置して印刷するための印刷制御手段と、
前記蓄積手段に蓄積されたWebページのアドレスから、前記印刷対象のWebページのアドレスと、少なくともサーバを示す部分が一致するアドレスを検索し、見つかったなら該当するアドレスに関連づけられたスタイルシートに従って前記印刷対象のWebページを再配置したサムネイルを作成してスタイルシートの候補として表示する候補の表示手段とを備え、
前記印刷制御手段は、前記スタイルシートの候補の中からスタイルシートが選択された場合、該スタイルシートに従って前記印刷対象のWebページを再配置して印刷することとしてコンピュータを機能させるためのプログラム。
【請求項9】
複数のパーツから構成されるWebページをレイアウトして印刷する情報処理装置であって
前記Webページを構成する複数のパーツから選択されたパーツを再配置する再配置手段と、
前記再配置手段により再配置されたパーツのレイアウトを示すスタイルシートを作成する作成手段と、
前記作成手段によって作成されたスタイルシートを他のWebページを印刷する際に利用できるように蓄積する蓄積手段とを備えることを特徴とする情報処理装置。
【請求項10】
複数のパーツから構成されるWebページをレイアウトして印刷する印刷制御方法であって
前記Webページを構成する複数のパーツから選択されたパーツを再配置する再配置工程と、
前記再配置工程により再配置されたパーツのレイアウトを示すスタイルシートを作成する作成工程と、
前記作成工程によって作成されたスタイルシートを他のWebページを印刷する際に利用できるように蓄積する蓄積工程とを備えることを特徴とする印刷制御方法。
【請求項11】
複数のパーツから構成されるWebページをレイアウトして印刷する情報処理装置としてコンピュータを機能させるためのプログラムであって、
前記Webページを構成する複数のパーツから選択されたパーツを再配置する再配置手段と、
前記再配置手段により再配置されたパーツのレイアウトを示すスタイルシートを作成する作成手段と、
前記作成手段によって作成されたスタイルシートを他のWebページを印刷する際に利用できるように蓄積する蓄積手段としてコンピュータを機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate