(57)【特許請求の範囲】
【請求項１】
ユーザからの印刷要求に基づいてＷｅｂページのハイパーテキストを取得する情報取得手段と、
前記情報取得手段によって取得されたハイパーテキストに基づいて、印刷データを生成し、生成した印刷データの印刷を行う印刷手段と、
前記印刷手段により印刷を行ったＷｅｂページの基であるハイパーテキストを解析し、前記ハイパーテキストの中から前記Ｗｅｂページのリンク情報及び、タイトル情報又は見出し情報を抽出する抽出手段と、
前記抽出手段により抽出された前記リンク情報及び、タイトル情報又は見出し情報を記憶する記憶手段と、
前記記憶手段により記憶された前記タイトル情報又は見出し情報をディスプレイ装置の表示面に出力する出力手段と、
前記出力手段により出力されたタイトル情報又は見出し情報が選択され、Ｗｅｂページのリンク情報の中からいずれかが指定されたときに、指定された前記リンク情報が示すリンク先から情報を取得するリンク先情報取得手段と、を有し、
前記印刷手段は、前記リンク先情報取得手段により取得した情報に基づいて印刷を行うことを特徴とする印刷システム。
【請求項２】
前記抽出手段は、前記情報取得手段により取得された情報がハイパーテキストであって、その中にハイパーリンクが含まれる場合は、このハイパーテキストについてのリンク先を示すリンク情報及び前記リンク情報についての見出し情報を繰り返して抽出することを特徴とする請求項１に記載の印刷システム。
【請求項３】
前記記憶手段は、前記リンク情報及び見出し情報を記憶してから所定時間が経過した後、前記リンク情報及び見出し情報を削除することを特徴とする請求項１または２に記載の印刷システム。
【請求項４】
前記記憶手段は、メモリ領域が所定の値を超えた場合、前記リンク情報及び見出し情報を古い順に削除することを特徴とする請求項１乃至３のいずれかに記載の印刷システム。
【請求項５】
ユーザからの印刷要求に基づいてＷｅｂページのハイパーテキストを取得する情報取得ステップと、
前記情報取得ステップによって取得されたハイパーテキストに基づいて、印刷データを生成し、生成した印刷データの印刷を行う印刷ステップと、
前記印刷ステップにより印刷を行ったＷｅｂページの基であるハイパーテキストを解析し、前記ハイパーテキストの中から前記Ｗｅｂページのリンク情報及び、タイトル情報又は見出し情報を抽出する抽出ステップと、
前記抽出ステップにより抽出された前記リンク情報及び、タイトル情報又は見出し情報を記憶する記憶ステップと、
前記記憶ステップにより記憶された前記タイトル情報又は見出し情報をディスプレイ装置の表示面に出力する出力ステップと、
前記出力ステップにより出力されたタイトル情報又は見出し情報が選択され、Ｗｅｂページのリンク情報の中からいずれかが指定されたときに、指定された前記リンク情報が示すリンク先から情報を取得するリンク先情報取得ステップと、を有し、
前記印刷ステップは、前記リンク先情報取得ステップにより取得した情報に基づいて印刷を行うことを特徴とする印刷方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、Ｗｅｂページを印刷し、当該Ｗｅｂページに含まれるハイパーリンクが示すリンク先の情報を容易に印刷することができる印刷システム、当該印刷システムに用いられるサーバ、および当該印刷システムを用いた情報提供の方法に関する。
【０００２】
【従来の技術】
パーソナルコンピュータをはじめ、ネットワーク接続可能な装置の高性能化および低価格化に伴い、インターネットのユーザが増加している。インターネットの利用目的は様々であるが、最も多い利用目的の一つとしてＷＷＷブラウザによる情報の収集が挙げられる。
【０００３】
ユーザは、ＷＷＷブラウザにＵＲＬを入力し、またはハイパーリンクをクリックするなどして、ＷＷＷサーバにアクセスして所望する情報を取得する。係る情報は、ＨＴＭＬまたはＸＭＬなどの言語で記述されたハイパーテキストとして提供されることが多い。ＷＷＷブラウザは、このハイパーテキストに基づいてＷｅｂページを生成して表示面に表示する。
【０００４】
しかし、表示面に表示可能な情報量は限られているので、情報量の多いＷｅｂページの場合、キーボードなどを操作して画面をスクロールさせて読まなければならない。
【０００５】
そこで、従来より、Ｗｅｂページを印刷して読むことが多い。印刷物であれば、机の上に複数枚並べることができるので、読みやすい。また、持ち運んでどこででも読むことができる。ただし、紙資源などの節約の点から、精読したいＷｅｂページまたは持ち運びたいＷｅｂページだけを印刷することが望ましい。
【０００６】
【発明が解決しようとする課題】
ところが、Ｗｅｂページを印刷して読む方法には、次のような煩わしさを生じることがある。
【０００７】
例えば、ユーザは、Ｗｅｂページを印刷して印刷物を得た後に、パーソナルコンピュータの電源を切る。この印刷物を読んでいて、その中に参照したいＷｅｂページへリンクするハイパーリンクがあることに気付く。このとき、ユーザは、パーソナルコンピュータの電源を入れ、ＷＷＷブラウザを起動し、そしてＵＲＬを入力するなどして、再度Ｗｅｂページにアクセスしなければならない。ＷｅｂページのＵＲＬが分からない場合は、検索エンジンのあるサイトまたは関連する他のＷｅｂページなどにアクセスし、ＵＲＬを調べなければならない。
【０００８】
本発明は、上記のような問題点に鑑み、印刷したＷｅｂページに含まれるハイパーリンクが示すリンク先の情報を容易に印刷することができる印刷システム、当該印刷システムに用いられるサーバを提供することを目的とする。
【０００９】
【課題を解決するための手段】
本発明に係る印刷システムは、ユーザからの印刷要求に基づいてＷｅｂページのハイパーテキストを取得する情報取得手段と、前記情報取得手段によって取得されたハイパーテキストに基づいて、印刷データを生成し、生成した印刷データの印刷を行う印刷手段と、前記印刷手段により印刷を行ったＷｅｂページの基であるハイパーテキストを解析し、前記ハイパーテキストの中から前記Ｗｅｂページのリンク情報及び、タイトル情報又は見出し情報を抽出する抽出手段と、前記抽出手段により抽出された前記リンク情報及び、タイトル情報又は見出し情報を記憶する記憶手段と、前記記憶手段により記憶された前記タイトル情報又は見出し情報をディスプレイ装置の表示面に出力する出力手段と、前記出力手段により出力されたタイトル情報又は見出し情報が選択され、Ｗｅｂページのリンク情報の中からいずれかが指定されたときに、指定された前記リンク情報が示すリンク先から情報を取得するリンク先情報取得手段と、を有し、前記印刷手段は、前記リンク先情報取得手段により取得した情報に基づいて印刷を行うことを特徴とする印刷システムを有してなる。
【００１０】
好ましくは、前記抽出手段は、前記情報取得手段により取得された情報がハイパーテキストであって、その中にハイパーリンクが含まれる場合は、このハイパーテキストについてのリンク先を示すリンク情報及び前記リンク情報についての見出し情報を繰り返して抽出する。
【００１１】
さらに好ましくは、前記記憶手段は、前記リンク情報及び見出し情報を記憶してから所定時間が経過した後、前記リンク情報及び見出し情報を削除する。
【００１２】
さらに好ましくは、前記記憶手段は、メモリ領域が所定の値を超えた場合、前記リンク情報及び見出し情報を古い順に削除する。
【００１３】
本発明に係る印刷方法は、ユーザからの印刷要求に基づいてＷｅｂページのハイパーテキストを取得する情報取得ステップと、前記情報取得ステップによって取得されたハイパーテキストに基づいて、印刷データを生成し、生成した印刷データの印刷を行う印刷ステップと、前記印刷ステップにより印刷を行ったＷｅｂページの基であるハイパーテキストを解析し、前記ハイパーテキストの中から前記Ｗｅｂページのリンク情報及び、タイトル情報又は見出し情報を抽出する抽出ステップと、前記抽出ステップにより抽出された前記リンク情報及び、タイトル情報又は見出し情報を記憶する記憶ステップと、前記記憶ステップにより記憶された前記タイトル情報又は見出し情報をディスプレイ装置の表示面に出力する出力ステップと、前記出力ステップにより出力されたタイトル情報又は見出し情報が選択され、Ｗｅｂページのリンク情報の中からいずれかが指定されたときに、指定された前記リンク情報が示すリンク先から情報を取得するリンク先情報取得ステップと、を有し、前記印刷ステップは、前記リンク先情報取得ステップにより取得した情報に基づいて印刷を行うことを特徴とする印刷方法を有してなる。
【００１９】
【発明の実施の形態】
図１は本発明に係る印刷システム１に係る機能的構成を説明する図、図２は印刷システム１における処理の流れを説明するフローチャートである。
【００２０】
具体的な実施の形態を説明する前に、本発明に係る印刷システム１の概要について、簡単に説明する。
図１に示すように、印刷システム１は、文書解析部１１、リンク情報記憶部１２、リンク先出力部１３、情報取得部１４、および印刷制御部１５などの機能を有する。
【００２１】
文書解析部１１は、Ｗｅｂページを記述するハイパーテキストを解析し、ハイパーテキストの中からＷｅｂページのタイトルに関する情報およびハイパーリンクに関する情報を抽出する。
【００２２】
リンク情報記憶部１２は、文書解析部１１によって抽出されたタイトルに関する情報およびハイパーリンクに関する情報を記憶し、管理する。
リンク先出力部１３は、リンク情報記憶部１２に記憶されているタイトルに関する情報およびハイパーリンクに関する情報をユーザに出力する。例えば、表示面に表示し、または音声によって出力する。
【００２３】
情報取得部１４は、ユーザからの印刷の要求に基づいて情報ＤＴを取得する。情報ＤＴは、ハイパーテキスト、ＧＩＦ（Graphics Interchange Format ）もしくはＪＰＥＧ（Joint Photographic Expect Group ）などの画像データ、または各種アプリケーション用のバイナリファイルなどである。
【００２４】
印刷制御部１５は、情報取得部１４によって取得された情報ＤＴに基づいて印刷データを生成し、印刷の処理を行う。例えば、情報ＤＴがハイパーテキストの場合、ハイパーテキストに基づいてＷｅｂページを生成し、このＷｅｂページをプリンタ装置用のページ記述言語で記述される印刷データを生成する。そして、印刷先に印刷データを送って印刷を行い、印刷物が得られる。
【００２５】
これらの各機能は、サーバ、プリンタ装置、通信回線、端末装置、またはコンピュータプログラムなどによって実現される。ただし、実施形態ごとに、用いられる装置、機能的構成、または処理方法などが異なるので、詳しくは、後に説明する。
【００２６】
次に、印刷システム１における処理について、フローチャートを参照して説明する。
図２に示すように、ユーザからＷｅｂページを印刷する旨の命令を受け、印刷を行う（＃１）。これと並行してまたは前後して、印刷したＷｅｂページの基であるハイパーテキストを解析し、タイトルに関する情報およびハイパーリンクに関する情報を抽出し（＃２）、記憶する（＃３）。
【００２７】
記憶されたこれらの情報をディスプレイ装置の表示面などに出力する（＃４）。印刷されたＷｅｂページに含まれるハイパーリンクのうちいずれかが指定されると（＃５）、そのハイパーリンクのリンク先から情報ＤＴを取得し（＃６）、情報ＤＴに基づいて印刷を行う（＃７）。
【００２８】
情報ＤＴがハイパーテキストであって、その中にハイパーリンクが含まれる場合は（＃８でＹｅｓ）、このハイパーテキストについてハイパーリンクに関する情報などを抽出するために、ステップ＃２に戻って処理を繰り返す。
【００２９】
このように、印刷システム１は、Ｗｅｂページの印刷時に、Ｗｅｂページに含まれるハイパーリンクに関する情報を記憶しておく。これにより、ユーザは、印刷したＷｅｂページの画面を閉じた後であっても、リンク情報記憶部１２に記憶されているＷｅｂページのタイトルに関する情報またはハイパーリンクに関する情報を呼び出し、印刷物に含まれるハイパーリンクが示すリンク先の情報を簡単に印刷することができる。
【００３０】
印刷システム１は、以下に説明する第一の実施形態ないし第三の実施形態のように、様々な形態で具体的に実現される。
〔第一の実施形態〕
図３は第一の実施形態における印刷システム１Ａの構成を示す図、図４は第一の実施形態における印刷システム１Ａの機能的構成を示す図、図５はＷｅｂページ２３ｐを表示する画面ＨＧ１の例を示す図である。
【００３１】
図３に示すように、印刷システム１Ａは、サーバ２１、プリンタ装置２２、複数の端末装置２３、および通信回線２４などによって構成される。サーバ２１と各端末装置２３とは、通信回線２４によって接続され、ＬＡＮが構成される。
【００３２】
各端末装置２３のユーザは、プリンタ装置２２を共用し、印刷を行うごとに席を立ってプリンタ装置２２まで印刷物を取りに行く。
サーバ２１は、サーバ本体２１ａ、ディスプレイ装置２１ｂ、キーボード２１ｃ、およびマウス２１ｄなどによって構成され、プリンタ装置２２が接続されている。
【００３３】
サーバ本体２１ａは、ＣＰＵ、ＲＡＭ、通信制御装置、プリンタ装置２２を接続する入出力インタフェース、および磁気ディスク装置などを備える。
磁気ディスク装置には、オペレーティングシステム、プリンタ装置２２の制御を行うプリントサーバ用ソフトウェア、およびハイパーテキストなどを端末装置２３に配信しまたはＣＧＩ（Common Gateway Interface）プログラムの実行などを行うＷＷＷサーバ用ソフトウェアなどのプログラムがインストールされている。これらのプログラムは、必要に応じてＲＡＭにロードされ、ＣＰＵによって実行される。
【００３４】
また、サーバ本体２１ａは、ルータおよびファイアーウォールなどを介してインターネット１Ｗと接続可能であり、印刷システム１Ａの外にあるＷＷＷサーバ２Ｓなどから情報ＤＴを受信することができる。
【００３５】
端末装置２３は、端末装置本体２３ａ、ディスプレイ装置２３ｂ、キーボード２３ｃ、およびマウス２３ｄなどによって構成される。
端末装置２３として、ネットワーク機能を有するパーソナルコンピュータまたはワークステーションなどが用いられる。端末装置本体２３ａには、オペレーティングシステムおよびＷＷＷブラウザなどがインストールされており、サーバ２１との間でデータの送受信を行うことができる。
【００３６】
このような構成によって、印刷システム１Ａは、図４に示すような機能的構成が実現される。
図４に示すように、印刷システム１Ａは、文書解析部２１１、リンク情報記憶部２１２、情報取得部２１４、印刷制御部２１５、通信制御部２１６、リンク先データ生成部２１７、およびデータ削除部２１８などの機能をサーバ２１に有し、表示部２３３、通信制御部２３４、および入力部２３５などの機能を各端末装置２３に有する。
【００３７】
文書解析部２１１、リンク情報記憶部２１２、情報取得部２１４、および印刷制御部２１５は、それぞれ、図１に示す文書解析部１１、リンク情報記憶部１２、情報取得部１４、および印刷制御部１５と同様の処理を行う。ただし、文書解析部２１１、リンク情報記憶部２１２、および情報取得部２１４における処理については、後に詳しく説明する。
【００３８】
リンク先データ生成部２１７は、リンク情報記憶部２１２に記憶されているハイパーリンクに関する情報などに基づいて図１３に示すようなハイパーテキストＴＸ２を生成する。データ削除部２１８は、ハイパーリンクに関する情報などの削除を行う。これらについては、後に詳しく説明する。
【００３９】
通信制御部２１６は、サーバ２１とＷＷＷサーバ２Ｓまたは端末装置２３などとの間で行われるデータの送受信の制御を行う。
表示部２３３は、ハイパーテキストに基づいてＷｅｂページを生成し、ディスプレイ装置２３ｂに表示する。例えば、図６に示すハイパーテキストＴＸ１に基づいて図５に示すＷｅｂページ２３ｐを生成し、画面ＨＧ１に表示する。また、図１３に示すようなハイパーテキストＴＸ２に基づいて図１２に示すＷｅｂページ２３ｓを生成し画面ＨＧ２に表示する。
【００４０】
入力部２３５は、ユーザによるキーボード２３ｃまたはマウス２３ｄの操作を認識し、所定の処理を行う。ユーザは、図５に示す画面ＨＧ１または図１２に示す画面ＨＧ２などを見ながらキーボード２３ｃまたはマウス２３ｄを操作して、ディスプレイ装置２３ｂに表示されるＷｅｂページを読み、他のＷｅｂページにアクセスし、またはプリンタ装置２２にＷｅｂページの印刷を要求する。
【００４１】
例えば、Ｗｅｂページ２３ｐに含まれるハイパーリンクを示す文字列ＨＬをクリックすることによって、リンク先のＷＷＷサーバ２Ｓに対して情報ＤＴを送信するように要求する。また、Ｗｅｂページ２３ｓに含まれるチェックボックスＣＢまたは印刷ボタンＢＮ１をクリックすることによって、印刷などの要求を行う。図１２および図１３については、後に詳しく説明する。
【００４２】
通信制御部２３４は、端末装置２３とサーバ２１などとの間で行われるデータの送受信の制御を行う。
ここで、文書解析部２１１およびリンク情報記憶部２１２で行われる処理について説明する。
【００４３】
図６はＷｅｂページ２３ｐを生成するためのハイパーテキストＴＸ１を示す図、図７はリンク情報テーブルＬＫＴの構成の例を示す図、図８はハイパーテキストＴＸ１に係る文書ブロックＢＬ１などを説明する図である。
【００４４】
文書解析部２１１は、ハイパーテキストＴＸ１を解析し、ハイパーテキストＴＸ１の中からタイトルに関する情報およびハイパーリンクに関する情報を抽出する。
【００４５】
図６において、ハイパーテキストＴＸ１は、ＨＴＭＬで記述されている。
タグ「＜ｔｉｔｌｅ＞」およびタグ「／＜ｔｉｔｌｅ＞」は、Ｗｅｂページ２３ｐのタイトルを記述するために用いられる。「＜ｔｉｔｌｅ＞タイトル＜／ｔｉｔｌｅ＞」のように、タグ「＜ｔｉｔｌｅ＞」とタグ「／＜ｔｉｔｌｅ＞」との間にＷｅｂページ２３ｐのタイトルを示す文字列を記述する。係るタイトルは、ＷＷＷブラウザのタイトルバーに表示される。例えば、４行目の「＜ｔｉｔｌｅ＞ＸＹＺ新聞  ２／２８＜／ｔｉｔｌｅ＞」は、図５に示すように、タイトルバーＴＢに「ＸＹＺ新聞  ２／２８」と表示される。
【００４６】
タグ「＜ａ  ｈｒｅｆ＝" リンク先のＵＲＬ" ＞」およびタグ「＜／ａ＞」は、ハイパーリンクを記述するために用いられる。「＜ａ  ｈｒｅｆ＝" リンク先のＵＲＬ" ＞見出し＜／ａ＞」のように、２つの「" 」の間にリンク先のＵＲＬを記述し、タグ「＜ａ  ｈｒｅｆ＝…＞」とタグ「＜／ａ＞」との間にＷＷＷブラウザ表示する見出しに用いられる文字列または画像のＵＲＬなどを記述する。例えば、１２、１３行目に示す文字列「大手各社が…」は図５に示す文字列ＨＬ１のように表示される。
【００４７】
タグ「＜ｈｔｍｌ＞」は、ＨＴＭＬによってハイパーテキストを記述する宣言を行うために用いられる。タグ「＜／ｈｔｍｌ＞」は、ＨＴＭＬによるハイパーテキストの記述を終了する宣言を行うために用いられる。
【００４８】
このようなＨＴＭＬの規則に従ってハイパーテキストＴＸ１を解析し、Ｗｅｂページのタイトル、ハイパーリンクの見出し、およびそのリンク先のＵＲＬを抽出する。
【００４９】
リンク情報記憶部２１２は、文書解析部２１１によって抽出されたＷｅｂページ２３ｐのタイトル、ハイパーリンクの見出し、およびそのリンク先のＵＲＬをリンク情報テーブルＬＫＴに記憶し、管理する。
【００５０】
リンク情報テーブルＬＫＴは、サーバ２１のメモリ空間に設けられ、図７に示すように、文書ブロックＢＬ１、タイトルブロックＢＬＴ、リンクブロックＢＬ２、リンクデータブロックＢＬ３、文書トップポインタＰ１、文書ボトムポインタＰ２、および文書カーソルＣＳＲ１などの領域によって構成される。
【００５１】
文書ブロックＢＬ１およびタイトルブロックＢＬＴは、１つのハイパーテキストについて１つずつ設けられる。リンクブロックＢＬ２は、文書ブロックＢＬ１の基であるハイパーテキストに含まれるハイパーリンクの数に応じて設けられる。リンクデータブロックＢＬ３は、各リンクブロックＢＬ２に１つずつ設けられる。
【００５２】
例えば、図６に示すハイパーテキストＴＸ１について、図８に示すように１つの文書ブロックＢＬ１、１つのタイトルブロックＢＬＴ、５つのリンクブロックＢＬ２、および５つのリンクデータブロックＢＬ３がリンク情報テーブルＬＫＴに設けられる。
【００５３】
文書ブロックＢＬ１は、文書番号ＢＬ１ａ、タイトルポインタＢＬ１ｂ、リンクトップポインタＢＬ１ｃ、リンクボトムポインタＢＬ１ｄ、前文書ポインタＢＬ１ｅ、次文書ポインタＢＬ１ｆ、およびリンクカーソルＣＳＲ２などによって構成される。
【００５４】
リンクブロックＢＬ２は、リンク番号ＢＬ２ａ、見出しポインタＢＬ２ｂ、ＵＲＬポインタＢＬ２ｃ、前リンクポインタＢＬ２ｄ、および次リンクポインタＢＬ２ｅなどによって構成される。
【００５５】
リンクデータブロックＢＬ３は、見出しブロックＢＬ３ａおよびＵＲＬブロックＢＬ３ｂなどによって構成される。
見出しブロックＢＬ３ａおよびＵＲＬブロックＢＬ３ｂは、それぞれ、文書解析部２１１によって抽出されたハイパーリンクの見出しおよびそのリンク先のＵＲＬを表す文字列を格納する。
【００５６】
例えば、図８に示すように、「カレー屋￥０」および「ｈｔｔｐ：／／ｗｗｗ．ｘｙｚ−ｎｐ．ｃｏｍ／ｈｉｔｏｒｉ．ｈｔｍｌ￥０」などの文字列をそれぞれ格納する。ただし、「￥０」は、文字列の末尾を示す演算子である。以下、格納されたハイパーリンクの見出しおよびそのリンク先のＵＲＬを表す文字列をそれぞれ、見出しデータＤＡ１、ＵＲＬデータＤＡ２と記す。
【００５７】
リンク番号ＢＬ２ａは、ハイパーテキストに含まれるハイパーリンクを識別する番号を格納し、リンクブロックＢＬ２のヘッダの役割をする。リンク番号ＢＬ２ａには、例えば、図８に示すように、１、２、…、５などの番号が与えられる。
【００５８】
見出しポインタＢＬ２ｂおよびＵＲＬポインタＢＬ２ｃは、それぞれ、リンクブロックＢＬ２に対応するリンクデータブロックＢＬ３の見出しブロックＢＬ３ａおよびＵＲＬブロックＢＬ３ｂの番地を格納する。つまり、ハイパーリンクに関する見出しデータＤＡ１およびＵＲＬデータＤＡ２が格納されている見出しブロックＢＬ３ａおよびＵＲＬブロックＢＬ３ｂを指し示す。
【００５９】
例えば、図８に示す「リンク番号＝２」の見出しポインタＢＬ２ｂおよびＵＲＬブロックＢＬ３ｂは、それぞれ、「カレー屋￥０」および「ｈｔｔｐ：／／ｗｗｗ．ｘｙｚ−ｎｐ．ｃｏｍ／ｈｉｔｏｒｉ．ｈｔｍｌ￥０」が格納されている見出しブロックＢＬ３ａおよびＵＲＬブロックＢＬ３ｂの番地を格納する。
【００６０】
前リンクポインタＢＬ２ｄおよび次リンクポインタＢＬ２ｅは、それぞれ、直前および直後のリンクブロックＢＬ２に係るリンク番号ＢＬ２ａの番地を格納する。つまり、直前および直後にあるリンクブロックＢＬ２を指し示す。ただし、直前または直後にリンクブロックＢＬ２がない場合は、値「ｎｕｌｌ」を格納する。
【００６１】
例えば、図８に示す「リンク番号＝２」であるリンクブロックＢＬ２の前リンクポインタＢＬ２ｄおよび次リンクポインタＢＬ２ｅは、それぞれ、「リンク番号＝１」および「リンク番号＝３」であるリンクブロックＢＬ２のリンク番号ＢＬ２ａの番地を格納する。
【００６２】
文書番号ＢＬ１ａは、文書ブロックＢＬ１を識別する番号を格納し、文書ブロックＢＬ１のヘッダの役割をする。
タイトルブロックＢＬＴは、文書解析部２１１によって抽出されたＷｅｂページのタイトルの文字列を格納する。例えば、図８に示す「ＸＹＺ新聞  ２／２８￥０」のように文字列を格納する。「￥０」の意味は、前に述べた通りである。以下、格納された文字列をタイトルデータＤＡ３と記す。
【００６３】
タイトルポインタＢＬ１ｂは、文書ブロックＢＬ１に対応するタイトルブロックＢＬＴの番地を格納する。つまり、タイトルデータＤＡ３が格納されているタイトルブロックＢＬＴを指し示す。
【００６４】
リンクトップポインタＢＬ１ｃおよびリンクボトムポインタＢＬ１ｄは、文書ブロックＢＬ１に対応するリンクブロックＢＬ２のうち、それぞれ、先頭および最後のリンクブロックＢＬ２のリンク番号ＢＬ２ａの番地を格納する。つまり、先頭および最後のリンクブロックＢＬ２を指し示す。
【００６５】
例えば、図８に示すリンクトップポインタＢＬ１ｃおよびリンクボトムポインタＢＬ１ｄは、それぞれ、「リンク番号＝１」および「リンク番号＝５」であるリンクブロックＢＬ２のリンク番号ＢＬ２ａの番地を格納する。
【００６６】
前文書ポインタＢＬ１ｅおよび次文書ポインタＢＬ１ｆは、それぞれ、直前および直後の文書ブロックＢＬ１の文書番号ＢＬ１ａの番地を格納する。つまり、直前および直後の文書ブロックＢＬ１を指し示す。ただし、直前または直後に文書ブロックＢＬ１がない場合は、「ｎｕｌｌ」を格納する。
【００６７】
文書トップポインタＰ１および文書ボトムポインタＰ２は、それぞれ、リンク情報テーブルＬＫＴに含まれる先頭および最後の文書ブロックＢＬ１の文書番号ＢＬ１ａの番地を格納する。つまり、先頭および最後の文書ブロックＢＬ１を指し示す。ただし、リンク情報テーブルＬＫＴに文書ブロックＢＬ１が記憶されていない場合は、「ｎｕｌｌ」を格納する。
【００６８】
文書カーソルＣＳＲ１およびリンクカーソルＣＳＲ２は、見出しデータＤＡ１、ＵＲＬデータＤＡ２、またはタイトルデータＤＡ３を探索するために用いられる。文書カーソルＣＳＲ１はリンク情報テーブルＬＫＴに１つ、リンクカーソルＣＳＲ２は文書ブロックＢＬ１ごとに１つずつ、設けられる。
【００６９】
ここで、文書解析部２１１およびリンク情報記憶部２１２において、メモリ空間に文書ブロックＢＬ１などの領域を設け、ハイパーテキストを解析してタイトルデータＤＡ３、見出しデータＤＡ１、およびＵＲＬデータＤＡ２を抽出し、リンク情報テーブルＬＫＴに格納する処理の手順について、フローチャートを参照して説明する。
【００７０】
図９は文書解析部２１１およびリンク情報記憶部２１２における処理の流れを説明するフローチャート、図１０は文書ブロックＢＬ１の設定およびタイトルデータＤＡ３の抽出の処理の流れを説明するフローチャート、図１１はリンクブロックＢＬ２などの設定および見出しデータＤＡ１などの抽出の処理の流れを示すフローチャートである。
【００７１】
図９に示すように、ハイパーテキストの最初の１行を読み取る（＃１１）。読み取った行の中に、タグ「＜／ｈｔｍｌ＞」が含まれているか否かを判別する（＃１２）。タグ「＜／ｈｔｍｌ＞」が含まれている場合（＃１２でＹｅｓ）、処理を終了する。含まれていない場合（＃１２でＮｏ）、タグ「＜ｔｉｔｌｅ＞」が含まれているか否かを判別する（＃１３）。
【００７２】
タグ「＜ｔｉｔｌｅ＞」が含まれていない場合（＃１３でＮｏ）、ステップ＃１５に進む。
タグ「＜ｔｉｔｌｅ＞」が含まれている場合（＃１３でＹｅｓ）、文書ブロックＢＬ１を設け、タイトルデータＤＡ３を抽出するための文書ブロック処理を行う（＃１４）。
【００７３】
図１０に示すように、文書ブロック処理では、メモリ空間に文書ブロックＢＬ１の領域を設ける（＃１４１）。この文書ブロックＢＬ１のリンクトップポインタＢＬ１ｃ、リンクボトムポインタＢＬ１ｄ、前文書ポインタＢＬ１ｅ、および次文書ポインタＢＬ１ｆのそれぞれに、「ｎｕｌｌ」を格納する（＃１４２）。
【００７４】
文書トップポインタＰ１が「ｎｕｌｌ」の場合（＃１４３でＹｅｓ）、文書トップポインタＰ１および文書ボトムポインタＰ２のそれぞれに、ステップ＃１４１で設けられた文書ブロックＢＬ１の文書番号ＢＬ１ａの番地を格納し（＃１４４）、ステップ＃１４８に進む。
【００７５】
文書トップポインタＰ１が「ｎｕｌｌ」でない場合（＃１４３でＮｏ）、文書ボトムポインタＰ２が指し示す文書ブロックＢＬ１の次文書ポインタＢＬ１ｆに、ステップ＃１４１で設けられた文書ブロックＢＬ１の文書番号ＢＬ１ａの番地を格納する（＃１４５）。前文書ポインタＢＬ１ｅに文書ボトムポインタＰ２の値を格納し（＃１４６）、文書ボトムポインタＰ２に文書番号ＢＬ１ａの番地を格納する（＃１４７）。
【００７６】
ステップ＃１４４の処理またはステップ＃１４５ないし＃１４７の処理の後、メモリ空間にタイトルブロックＢＬＴを設け、＜ｔｉｔｌｅ＞と＜／ｔｉｔｌｅ＞との間に示されるタイトルデータＤＡ３を抽出し、タイトルブロックＢＬＴに格納する（＃１４８）。そして、タイトルポインタＢＬ１ｂにタイトルブロックＢＬＴの番地を格納する（＃１４９）。
【００７７】
図９に戻って、タグ「＜ａ  ｈｒｅｆ＝…＞」が含まれているか否かを判別する（＃１５）。タグ「＜ａ  ｈｒｅｆ＝…＞」が含まれている場合（＃１５でＹｅｓ）、リンクブロックＢＬ２を設け、見出しデータＤＡ１などを取得するためのリンクブロック処理を行う（＃１６）。
【００７８】
図１１に示すように、リンクブロック処理では、メモリ空間にリンクブロックＢＬ２の領域を設ける（＃１６１）。このリンクブロックＢＬ２の前リンクポインタＢＬ２ｄおよび次リンクポインタＢＬ２ｅのそれぞれに、「ｎｕｌｌ」を格納する（＃１６２）。
【００７９】
リンクトップポインタＢＬ１ｃが「ｎｕｌｌ」の場合（＃１６３でＹｅｓ）、リンクトップポインタＢＬ１ｃおよびリンクボトムポインタＢＬ１ｄのそれぞれに、ステップ＃１６１で設けられたリンクブロックＢＬ２のリンク番号ＢＬ２ａの番地を格納する（＃１６４）。
【００８０】
リンクトップポインタＢＬ１ｃが「ｎｕｌｌ」でない場合（＃１６３でＮｏ）、リンクボトムポインタＢＬ１ｄの指し示すリンクブロックＢＬ２の次リンクポインタＢＬ２ｅに、ステップ＃１６１で設けられたリンクブロックＢＬ２のリンク番号ＢＬ２ａの番地を格納する（＃１６５）。前リンクポインタＢＬ２ｄにリンクボトムポインタＢＬ１ｄの値を格納し（＃１６６）、リンクボトムポインタＢＬ１ｄにリンク番号ＢＬ２ａの番地を格納する（＃１６７）。
【００８１】
ステップ＃１６４の処理またはステップ＃１６５ないし＃１６７の処理の後、タグ「＜ａ  ｈｒｅｆ＝…＞」からＵＲＬデータＤＡ２を抽出し、ＵＲＬブロックＢＬ３ｂに格納する。タグ「＜ａ  ｈｒｅｆ＝…＞」とタグ「＜／ａ＞」との間から見出しデータＤＡ１を抽出し、見出しブロックＢＬ３ａに格納する（＃１６８）。そして、見出しポインタＢＬ２ｂおよびＵＲＬポインタＢＬ２ｃに、それぞれ、見出しブロックＢＬ３ａおよびＵＲＬブロックＢＬ３ｂの番地を格納する（＃１６９）。
【００８２】
図９に戻って、ステップ＃１５または＃１６の処理の後、ステップ＃１１に戻ってハイパーテキストのすべての行について処理を繰り返す。
次に、図４に示すリンク先データ生成部２１７および情報取得部２１４で行われる処理について説明する。
【００８３】
図１２はリンク先を選択する画面ＨＧ２の例を示す図、図１３はＷｅｂページ２３ｓを生成するためのハイパーテキストＴＸ２を示す図、図１４はハイパーテキストＴＸ２を生成する処理の流れを説明するフローチャート、図１５は見出しデータＤＡ１およびタイトルデータＤＡ３を書き込む処理の流れを説明するフローチャートである。
【００８４】
リンク先データ生成部２１７は、リンク情報記憶部２１２に記憶されている見出しデータＤＡ１およびタイトルデータＤＡ３などに基づいて図１２に示すＷｅｂページ２３ｓを生成するためのハイパーテキストＴＸ２を生成する。
【００８５】
ハイパーテキストＴＸ２の生成は、図１４に示すフローチャートのような流れで行われる。
図１４において、書込みの処理の対象となる文書ブロックＢＬ１の文書番号ＢＬ１ａの番地およびリンクブロックＢＬ２のリンク番号ＢＬ２ａの番地を一時記憶するために、変数ｐｘ、ｐｙを、それぞれ定義する（＃２０）。
【００８６】
変数ｐｘに文書トップポインタＰ１の値を代入する（＃２１）。ハイパーテキストＴＸ２を生成するための空のファイルをメモリ空間に設ける（＃２２）。図１３に示す１、２行目のように、このファイルにドキュメントタイプおよびタグ「＜ｈｔｍｌ＞」を書き込む（＃２３）。
【００８７】
３〜５行目のように、タグ「＜ｈｅａｄ＞」およびタグ「＜／ｈｅａｄ＞」を書き込み、これらの間にタイトルを書き込む（＃２４）。６行目のようにタグ「＜ｂｏｄｙ＞」を書き込む（＃２５）。
【００８８】
リンク情報テーブルＬＫＴの中からタイトルデータＤＡ３および見出しデータＤＡ１を抽出し、ファイルに書き込むための見出し等書込処理を行う（＃２６）。見出し等書込処理は、図１５に示すフローチャートのような流れで行われる。
【００８９】
変数ｐｘが「ｎｕｌｌ」である場合（ステップ＃２６１でＹｅｓ）、ステップ＃２６の処理を終了する。
変数ｐｘが「ｎｕｌｌ」でない場合（ステップ＃２６１でＮｏ）、変数ｐｘが指し示す文書ブロックＢＬ１のタイトルポインタＢＬ１ｂを検索し、図１３に示す７行目のように係るタイトルポインタＢＬ１ｂが指し示すタイトルブロックＢＬＴに格納されているタイトルデータＤＡ３を書き込む（＃２６２）。ただし、「￥０」は書き込まない。以下、同様である。
【００９０】
変数ｐｘが指し示す文書ブロックＢＬ１のリンクトップポインタＢＬ１ｃの値を変数ｐｙに代入する（＃２６３）。
変数ｐｙが「ｎｕｌｌ」である場合（ステップ＃２６４でＹｅｓ）、次のステップ＃２６５ないし＃２６７を飛ばしてステップ＃２６８の処理を行う。
【００９１】
変数ｐｙが「ｎｕｌｌ」でない場合（ステップ＃２６４でＮｏ）、９行目のように、ユーザが印刷対象を指定するためのチェックボックスのタグを書き込み（＃２６５）、変数ｐｙが指し示すリンクブロックＢＬ２の見出しポインタＢＬ２ｂを検索し係る見出しポインタＢＬ２ｂが指し示す見出しブロックＢＬ３ａに格納されている見出しデータＤＡ１を書き込む（＃２６６）。
【００９２】
リンクトップポインタＢＬ１ｃが指し示すリンクブロックＢＬ２の次リンクポインタＢＬ２ｅの値を変数ｐｙに代入する（＃２６７）。そして、ステップ＃２６４に戻って、変数ｐｙが「ｎｕｌｌ」になるまで、処理を繰り返す。
【００９３】
変数ｐｘが指し示す文書ブロックＢＬ１の次文書ポインタＢＬ１ｆの値を変数ｐｘに代入する（＃２６８）。
そして、ステップ＃２６１に戻って、すべての文書ブロックＢＬ１について処理を繰り返す。
【００９４】
図１４に戻って、図１３に示す１４行目のようにタグ「＜ｐ＞」を書き込み、１５〜１７行目のようにＷｅｂページ２３ｓにボタンを設けるためのタグを書き込む（＃２７）。
【００９５】
１８〜２０行目のようにタグ「＜／ＦＯＲＭ＞」、タグ「＜／ｂｏｄｙ＞」、およびタグ「＜／ｈｔｍｌ＞」を書き込み（＃２８）、ファイルを閉じる（＃２９）。このようにして生成されたファイルがハイパーテキストＴＸ２となる。
【００９６】
ハイパーテキストＴＸ２を受信した端末装置２３では、図１２に示す画面ＨＧ２にＷｅｂページ２３ｓが表示される。ユーザは、Ｗｅｂページ２３ｓの中の見出しＮＸ１を見て、その横に表示されているチェックボックスＣＢをクリックすることによって、処理の対象を選択する。
【００９７】
ハイパーテキストＴＸ２を受信するには、サーバ２１にあるＣＧＩプログラムのＵＲＬを指定する。例えば、図１２に示す画面ＨＧ２のテキストボックスＢＸに「ｈｔｐｐ：／／ｗｗｗ．ｘｙｚ−ｎｐ．ｃｏｍ／ｓｅｌｅｃｔ．ｃｇｉ」と入力して指定する。すると、サーバ２１において、指定されたＣＧＩプログラムが実行され、ハイパーテキストＴＸ２が生成される。このハイパーテキストＴＸ２が、端末装置２３に送信される。
【００９８】
処理の対象の選択の後、印刷ボタンＢＮ１をクリックすると、選択された見出しＮＸ１に係るリンク先の情報を印刷するようにサーバ２１に要求する。削除ボタンをクリックすると、選択された見出しＮＸ１に対応するリンクブロックＢＬ２およびリンクデータブロックＢＬ３などを削除するようにサーバ２１に要求する。
【００９９】
図４に戻って、情報取得部２１４は、端末装置２３からの印刷の要求に基づいて、ＷＷＷサーバ２Ｓなどから情報ＤＴを取得する。情報ＤＴの取得は、ＵＲＬデータＤＡ２に基づいてＨＴＴＰまたはＦＴＰなどの通信プロトコルを判断し、ＷＷＷサーバ２Ｓなどに接続して行われる。取得した情報ＤＴにハイパーリンクが含まれている場合は、係る情報ＤＴについて上に述べた文書解析部２１１およびリンク情報記憶部２１２の処理を行う。
【０１００】
リンク情報テーブルＬＫＴの中から印刷の要求に対応するＵＲＬデータＤＡ２を探索し、このＵＲＬデータＤＡ２に基づいてリンク先であるＷＷＷサーバ２Ｓなどから情報ＤＴをダウンロードする。そして、前に説明したように、印刷制御部２１５によって情報ＤＴの印刷の処理が行われる。
【０１０１】
データ削除部２１８は、端末装置２３からの削除の要求に基づいて、リンク情報記憶部２１２に記憶されているリンクブロックＢＬ２およびリンクデータブロックＢＬ３などを削除する。
【０１０２】
リンクブロックＢＬ２などの削除は、リンク情報テーブルＬＫＴから対象となるリンクブロックＢＬ２を探索し、係るリンクブロックＢＬ２および対応するリンクデータブロックＢＬ３をメモリ空間から解放することによって行われる。このとき、削除されるリンクブロックＢＬ２の直前にあるリンクブロックＢＬ２の次リンクポインタＢＬ２ｅの値および直後にあるリンクブロックＢＬ２の前リンクポインタＢＬ２ｄの値を変更する。係る変更の方法は、第二の実施形態と同じであるので、後に説明する。
【０１０３】
本実施形態によれば、印刷したＷｅｂページに含まれるハイパーリンクが示すリンク先の情報を容易に印刷することができる。特に、プリンタ装置を複数の端末装置によって共用するネットワーク環境において好適に用いられる。
【０１０４】
リンク先の情報をハイパーリンクの見出しおよびリンク先のＵＲＬに分けてリンク情報テーブルに記憶することにより、リンク先の情報から種々の形式のデータを生成することができる。本実施形態においては、リンク情報テーブルに記憶されている情報に基づいてＨＴＭＬによるハイパーテキストを生成したが、ＸＭＬなど他の言語によるハイパーテキストを生成することができる。また、リンク先の情報を構造化して保存することにより、使用するメモリ領域を少なくすることができる。
〔第二の実施形態〕
図１６は第二の実施形態における印刷システム１Ｂの構成を示す図、図１７は第二の実施形態における印刷システム１Ｂの機能的構成を示す図、図１８はリンク先を選択する画面ＨＧ３の例を示す図である。
【０１０５】
図１６に示すように、印刷システム１Ｂは、サーバ３１によって構成され、インターネットなどの通信回線３２を介して、ＷＷＷサーバ２Ｓなどに接続可能である。
【０１０６】
第一の実施形態における印刷システム１Ａでは、印刷物に含まれるハイパーリンクなどの情報をサーバ２１によって管理し、ユーザからの印刷の要求を端末装置２３によって受け、プリンタ装置２２によってＷｅｂページの印刷を行っていた。本実施形態における印刷システム１Ｂでは、これらの処理をすべてサーバ３１によって実現する。
【０１０７】
印刷システム１Ｂは、例えば、小売店の店内、小規模のイベント会場などで用いられる。小売店で取り扱う商品またはイベント会場で紹介する商品の一覧が記載された印刷物を予め入場者に配布しておく。印刷物を見た入場者は、詳しく知りたい商品に関する情報をサーバ３１を使用して印刷する。
【０１０８】
サーバ３１は、表示装置３１ａ、印刷装置３１ｂ、磁気ディスク装置、ＣＰＵ、ＲＡＭ、および通信制御装置などを備える。
表示装置３１ａとして、タッチスクリーンが用いられる。表示装置３１ａは、Ｗｅｂページなどを表示するとともに、触れられた位置を検出する。なお、表示装置３１ａとして、タッチスクリーンではない液晶ディスプレイなどを用い、入力装置を別に設けてもよい。
【０１０９】
このような構成によって、印刷システム１Ｂは、図１７に示すような機能的構成が実現される。
図１７に示すように、印刷システム１Ｂは、文書解析部３１１、リンク情報記憶部３１２、表示部３１３、情報取得部３１４、印刷制御部３１５、通信制御部３１６、入力部３１８、およびデータ削除部３１９などの機能を有する。
【０１１０】
文書解析部３１１、リンク情報記憶部３１２、印刷制御部３１５、および通信制御部３１６は、それぞれ、第一の実施形態における文書解析部２１１、リンク情報記憶部２１２、印刷制御部２１５、および通信制御部２１６と同様の処理を行う。
【０１１１】
表示部３１３は、図７に示すリンク情報テーブルＬＫＴからタイトルデータＤＡ３および見出しデータＤＡ１を抽出し、図１８に示すような画面ＨＧ３を表示する。
【０１１２】
タイトルデータＤＡ３などの抽出の処理は、第一の実施形態で説明したリンク先データ生成部２１７におけるハイパーテキストＴＸ２の生成とほぼ同様の流れで行われる。すなわち、リンク情報テーブルＬＫＴの中を探索し、タイトルブロックＢＬＴおよび見出しブロックＢＬ３ａからそれぞれタイトルデータＤＡ３および見出しデータＤＡ１を抽出する。
【０１１３】
入力部３１８は、ユーザが触れたタッチスクリーンの位置を認識し、情報取得部３１４またはデータ削除部３１９に対して、それぞれ、印刷の要求またはデータの削除の要求を行う。
【０１１４】
ユーザは、図１８に示す画面ＨＧ３の見出しリストＬＳを見ながら上方向ボタンＢＮ６、下方向ボタンＢＮ７、印刷ボタンＢＮ８、または削除ボタンＢＮ９を操作して、印刷またはデータの削除の操作を行う。
【０１１５】
カーソル文字ＣＳは、処理の対象となる情報ＤＴの見出しＮＸ２を指す。上方向ボタンＢＮ６または下方向ボタンＢＮ７が押されると、カーソル文字ＣＳは、現在のカーソル位置よりも１つ上または下の見出しＮＸ２を指す。
【０１１６】
情報取得部３１４は、入力部３１８からの要求に従い、印刷の対象となる情報をＷＷＷサーバ２Ｓなどから取得する。
データ削除部３１９は、入力部３１８からの削除の要求に従い、リンク情報テーブルＬＫＴから文書ブロックＢＬ１またはリンクブロックＢＬ２などを削除する。
【０１１７】
次に、印刷またはデータの削除の処理について、フローチャートを参照して説明する。
図１９は印刷またはデータの削除の処理の流れを説明するフローチャート、図２０はカーソルアップの処理の流れを説明するフローチャート、図２１はカーソルダウンの処理の流れを説明するフローチャートである。
【０１１８】
図１９において、文書カーソルＣＳＲ１に文書トップポインタＰ１の値を、各文書ブロックＢＬ１のリンクカーソルＣＳＲ２にその文書ブロックＢＬ１のリンクトップポインタＢＬ１ｃの値を、それぞれ格納する（＃３１）。
【０１１９】
ユーザによる上方向ボタンＢＮ６などのボタンの操作を待つ。図１８に示す上方向ボタンＢＮ６、下方向ボタンＢＮ７、印刷ボタンＢＮ８、および削除ボタンＢＮ９のうちいずれのボタンが押されたのかを判別する（＃３２〜＃３４）。
【０１２０】
上方向ボタンＢＮ６が押された場合（＃３２でＹｅｓ）、カーソルアップの処理を行う（＃３５）。下方向ボタンＢＮ７が押された場合（＃３３でＹｅｓ）、カーソルダウンの処理を行う（＃３６）。印刷ボタンＢＮ８が押された場合（＃３４でＹｅｓ）、印刷処理を行う（＃３７）。削除ボタンＢＮ９が押された場合（＃３８でＹｅｓ）、データ削除処理（＃３９）を行う。
【０１２１】
ステップ＃３５のカーソルアップの処理は、図２０に示すフローチャートのような流れで行われる。
図２０において、文書カーソルＣＳＲ１の値が文書トップポインタＰ１の値と等しくかつ文書カーソルＣＳＲ１が指し示す文書ブロックＢＬ１（以下、図２０または図２１の説明において単に「文書ブロックＢＬ１」と記す。）のリンクカーソルＣＳＲ２（以下、図２０または図２１の説明において単に「リンクカーソルＣＳＲ２」と記す。）の値が文書ブロックＢＬ１のリンクトップポインタＢＬ１ｃの値と等しい場合（＃３５１でＹｅｓ）、カーソルアップの処理を終了する。
【０１２２】
そうでない場合（＃３５１でＮｏ）、リンクカーソルＣＳＲ２の値が文書ブロックＢＬ１のリンクトップポインタＢＬ１ｃの値と等しいか否かを判別する（＃３５２）。
【０１２３】
等しいと判別された場合（＃３５２でＹｅｓ）、文書カーソルＣＳＲ１に文書ブロックＢＬ１の前文書ポインタＢＬ１ｅの値を格納する（＃３５３）。そして、リンクカーソルＣＳＲ２に文書ブロックＢＬ１のリンクボトムポインタＢＬ１ｄの値を格納する（＃３５４）。
【０１２４】
等しくないと判別された場合（＃３５２でＮｏ）、リンクカーソルＣＳＲ２にリンクカーソルＣＳＲ２が指し示すリンクブロックＢＬ２の前リンクポインタＢＬ２ｄの値を格納する（＃３５５）。
【０１２５】
ステップ＃３６のカーソルダウンの処理は、図２１に示すフローチャートのような流れで行われる。
図２１において、文書カーソルＣＳＲ１の値が文書ボトムポインタＰ２の値と等しくかつリンクカーソルＣＳＲ２の値が文書ブロックＢＬ１のリンクボトムポインタＢＬ１ｄの値と等しい場合（＃３６１でＹｅｓ）、カーソルダウンの処理を終了する。
【０１２６】
そうでない場合（＃３６１でＮｏ）、リンクカーソルＣＳＲ２の値が文書ブロックＢＬ１のリンクボトムポインタＢＬ１ｄの値と等しいか否かを判別する（＃３６２）。
【０１２７】
等しいと判別された場合（＃３６２でＹｅｓ）、文書カーソルＣＳＲ１に文書ブロックＢＬ１の次文書ポインタＢＬ１ｆの値を格納する（＃３６３）。そして、リンクカーソルＣＳＲ２に文書ブロックＢＬ１のリンクトップポインタＢＬ１ｃの値を格納する（＃３６４）。
【０１２８】
等しくないと判別された場合（＃３６２でＮｏ）、リンクカーソルＣＳＲ２にリンクカーソルＣＳＲ２が指し示すリンクブロックＢＬ２の次リンクポインタＢＬ２ｅの値を格納する（＃３６５）。
【０１２９】
ステップ＃３７の印刷処理は、次のような流れで行われる。
文書カーソルＣＳＲ１の指し示す文書ブロックＢＬ１を検索し、その文書ブロックＢＬ１のリンクカーソルＣＳＲ２が指し示すリンクブロックＢＬ２を検索する。そのリンクブロックＢＬ２が指し示すＵＲＬポインタＢＬ２ｃに基づいてＵＲＬブロックＢＬ３ｂを検索し、ＵＲＬデータＤＡ２を取得する。そして、係るＵＲＬデータＤＡ２に基づいて印刷対象となる情報ＤＴをリンク先から取得し、印刷を行う。
【０１３０】
ステップ＃３８のデータ削除処理は、文書カーソルＣＳＲ１が指し示す文書ブロックＢＬ１のリンクトップポインタＢＬ１ｃの値をリンクボトムポインタＢＬ１ｄおよびリンクカーソルＣＳＲ２（以下、データ削除処理の説明において、それぞれ「リンクトップポインタＢＬ１ｃ」、「リンクボトムポインタＢＬ１ｄ」、および「リンクカーソルＣＳＲ２」と記す。）の各値と比較し、以下のように行われる。
【０１３１】
リンクカーソルＣＳＲ２の値がリンクトップポインタＢＬ１ｃの値と等しくかつリンクボトムポインタＢＬ１ｄの値と等しくない場合、リンクトップポインタＢＬ１ｃにリンクカーソルＣＳＲ２が指し示すリンクブロックＢＬ２の次リンクポインタＢＬ２ｅの値を格納する。リンクカーソルＣＳＲ２にリンクトップポインタＢＬ１ｃの値を格納し、新たなリンクカーソルＣＳＲ２が指し示すリンクブロックＢＬ２の前リンクポインタＢＬ２ｄに「ｎｕｌｌ」を格納する。
【０１３２】
そして、係るリンクブロックＢＬ２の見出しポインタＢＬ２ｂおよびＵＲＬポインタＢＬ２ｃがそれぞれ指し示す見出しブロックＢＬ３ａおよびＵＲＬブロックＢＬ３ｂのメモリ空間を解放し、さらに、リンクデータブロックＢＬ３を解放する。
【０１３３】
リンクカーソルＣＳＲ２の値がリンクボトムポインタＢＬ１ｄの値と等しくかつリンクトップポインタＢＬ１ｃの値と等しくない場合、リンクボトムポインタＢＬ１ｄにリンクカーソルＣＳＲ２が指し示すリンクブロックＢＬ２の前リンクポインタＢＬ２ｄの値を格納する。リンクカーソルＣＳＲ２にリンクボトムポインタＢＬ１ｄの値を格納し、新たなリンクカーソルＣＳＲ２が指し示すリンクブロックＢＬ２の次リンクポインタＢＬ２ｅに「ｎｕｌｌ」を格納する。
【０１３４】
そして、見出しブロックＢＬ３ａおよびＵＲＬブロックＢＬ３ｂのメモリ空間を解放し、リンクデータブロックＢＬ３を解放する。
リンクカーソルＣＳＲ２の値がリンクトップポインタＢＬ１ｃおよびリンクボトムポインタＢＬ１ｄの各値のいずれとも等しくない場合、リンクカーソルＣＳＲ２の指し示すリンクブロックＢＬ２の前リンクポインタＢＬ２ｄの値を当該リンクブロックＢＬ２の次リンクポインタＢＬ２ｅの指し示すリンクブロックＢＬ２の前リンクポインタＢＬ２ｄに格納する。リンクカーソルＣＳＲ２の指し示すリンクブロックＢＬ２の次リンクポインタＢＬ２ｅの値を当該リンクブロックＢＬ２の前リンクポインタＢＬ２ｄの指し示すリンクブロックＢＬ２の次リンクポインタＢＬ２ｅに格納する。
【０１３５】
そして、見出しブロックＢＬ３ａおよびＵＲＬブロックＢＬ３ｂのメモリ空間を解放し、リンクデータブロックＢＬ３を解放する。
リンクカーソルＣＳＲ２の値がリンクトップポインタＢＬ１ｃおよびリンクボトムポインタＢＬ１ｄの両方の値と等しい場合、見出しブロックＢＬ３ａおよびＵＲＬブロックＢＬ３ｂのメモリ空間を解放し、リンクデータブロックＢＬ３を解放し、文書カーソルＣＳＲ１が指し示す文書ブロックＢＬ１を解放し削除する。
【０１３６】
文書ブロックＢＬ１の削除は、文書カーソルＣＳＲ１の値と文書トップポインタＰ１および文書ボトムポインタＰ２の各値とを比較し、以下のように処理を行う。
【０１３７】
文書カーソルＣＳＲ１の値が文書トップポインタＰ１および文書ボトムポインタＰ２の両方の値と等しい場合、タイトルポインタＢＬ１ｂの指し示すタイトルデータＢＬＴおよび文書ブロックＢＬ１の各メモリ空間を解放する。そして、リンクする文書が存在しない旨のメッセージをユーザに知らせる。
【０１３８】
文書カーソルＣＳＲ１の値が文書トップポインタＰ１の値と等しく、文書ボトムポインタＰ２の値と等しくない場合、文書トップポインタＰ１に文書カーソルＣＳＲ１の指し示す文書ブロックＢＬ１の次文書ポインタＢＬ１ｆの値を格納する。文書カーソルＣＳＲ１に文書トップポインタＰ１を格納し、新たな文書カーソルＣＳＲ１が指し示す文書ブロックＢＬ１の前文書ポインタＢＬ１ｅに「ｎｕｌｌ」を格納する。
【０１３９】
そして、タイトルデータＢＬＴおよび文書ブロックＢＬ１の各メモリ空間を解放する。
文書カーソルＣＳＲ１の値が文書ボトムポインタＰ２の値と等しく、文書トップポインタＰ１の値と等しくない場合、文書ボトムポインタＰ２に文書カーソルＣＳＲ１の指し示す文書ブロックＢＬ１の前文書ポインタＢＬ１ｅの値を格納する。文書カーソルＣＳＲ１に文書ボトムポインタＰ２を格納し、新たな文書カーソルＣＳＲ１が指し示す文書ブロックＢＬ１の次文書ポインタＢＬ１ｆに「ｎｕｌｌ」を格納する。
【０１４０】
そして、タイトルデータＢＬＴおよび文書ブロックＢＬ１の各メモリ空間を解放する。
文書カーソルＣＳＲ１の値が文書トップポインタＰ１および文書ボトムポインタＰ２の各値のいずれとも等しくない場合、文書カーソルＣＳＲ１の指し示す文書ブロックＢＬ１の前文書ポインタＢＬ１ｅの値をその次の文書ブロックＢＬ１の前文書ポインタＢＬ１ｅに格納する。同様に、文書ブロックＢＬ１の次文書ポインタＢＬ１ｆの値をその次の文書ブロックＢＬ１の次文書ポインタＢＬ１ｆに格納する。文書カーソルＣＳＲ１に前記次の文書ブロックＢＬ１の次文書ポインタＢＬ１ｆに格納する。
【０１４１】
そして、タイトルデータＢＬＴおよび文書ブロックＢＬ１の各メモリ空間を解放する。
本実施形態によれば、印刷したＷｅｂページに含まれるハイパーリンクが示すリンク先の情報を容易に印刷することができる。また、必要な情報のみを選択して印刷することができるので、紙などの資源を節約することができる。
【０１４２】
また、ユーザにリンク先の情報を表示するためのハイパーテキストを生成しないので、第一の実施形態と比較して、全体としての処理時間を短縮することができる。
〔第三の実施形態〕
図２２は第三の実施形態における印刷システム１Ｃの構成を示す図、図２３は第三の実施形態における印刷システム１Ｃの機能的構成を示す図である。
【０１４３】
図２２に示すように、印刷システム１Ｃは、サーバ４１、複数の端末装置４２および各端末装置４２に接続されたプリンタ装置４３、および通信回線４４などによって構成される。
【０１４４】
サーバ４１は、第二の実施形態におけるサーバ３１と同様の構成であり、同様の機能を有する。端末装置４２は、プリンタ装置４３を制御するプログラムなどがインストールされているが、その他については、第一の実施形態における端末装置２３とほぼ同様の構成である。通信回線４４として、ＬＡＮ、専用回線、またはインターネットなどが用いられる。
【０１４５】
このような構成によって、印刷システム１Ｃは、図２３に示すような機能的構成が実現される。
図２３に示すように、印刷システム１Ｃは、文書解析部４１１、リンク情報記憶部４１２、表示部４１３、情報取得部４１４、印刷制御部４１５、通信制御部４１６、リンク先データ生成部４１７、入力部４１８、およびデータ削除部４１９などの機能をサーバ４１に有し、表示部４２３、通信制御部４２４、入力部４２５、および印刷制御部４２６などの機能を端末装置２３に有する。
【０１４６】
文書解析部４１１、リンク情報記憶部４１２、印刷制御部４１５、通信制御部４１６、およびリンク先データ生成部４１７は、第一の実施形態における文書解析部２１１などの各部と同様の処理を行う。
【０１４７】
表示部４１３および入力部４１８は、第二の実施形態における表示部３１３および入力部３１８とほぼ同様の処理を行う。
情報取得部４１４は、情報取得部２１４および情報取得部３１４とほぼ同様の処理を行う。すなわち、端末装置４２の入力部４２５またはサーバ４１の入力部４１８からの印刷の要求に応じて、ＷＷＷサーバ２Ｓなどからデータを取得する。
【０１４８】
同様に、データ削除部４１９は、データ削除部２１８およびデータ削除部３１９とほぼ同様の処理を行い、リンク情報記憶部４１２から文書ブロックＢＬ１などの削除を行う。
【０１４９】
表示部４２３、通信制御部４２４、および入力部４２５は、それぞれ、第一の実施形態における表示部２３３、通信制御部２３４、および入力部２３５と同様の処理を行う。印刷制御部４２６は、サーバ４１から取得した印刷データの印刷を行う。
【０１５０】
本実施形態によれば、印刷したＷｅｂページに含まれるハイパーリンクが示すリンク先の情報を容易に印刷することができる。特に、複数の印刷先を設けているので、第一または第二の実施形態よりも幅広い用途に用いられる。
【０１５１】
例えば、各家庭に端末装置４２およびプリンタ装置４３を配置し、新聞記事の抜粋を各端末装置４２に送信してプリンタ装置４３によって印刷を行う。そして、ユーザは、この印刷物を見ながら詳しく読みたい記事の見出しを選択して、その内容を印刷物として取得することができる。
【０１５２】
または、大型ショッピングセンタまたは大規模なイベント会場などに印刷システム１Ｃを設け、所々に端末装置４２を配置する。第二の実施形態と同様に、商品の一覧が記載された印刷物を予め入場者に配布しておき、入場者は詳しく知りたい商品に関する情報を、最寄の端末装置４２を使用して印刷することができる。また、サーバ４１を入口近傍に配置し、最寄の端末装置４２からサーバ４１を指定して印刷を行うことによって、入場者は退場する際にまとめて印刷物を取得することができる。
【０１５３】
上記の３つの実施形態では、ＨＴＭＬで記述されたハイパーテキストを例に説明したが、ＸＭＬなどの他の言語によって記述されたハイパーテキストについても、各言語に応じて同様の処理を行えばよい。また、電子メールなどのテキストファイルを解析してリンクデータなどを抽出してもよい。この場合、テキストファイルに含まれる「ｈｔｔｐ：／／…」または「ｆｔｐ：／／」などの文字列を検索し、リンクデータなどを抽出する。
【０１５４】
情報取得部で取得したハイパーテキストのＵＲＬが、既存のリンク情報テーブルＬＫＴの中にある文書ブロックの基であるハイパーテキストのダウンロード元のＵＲＬと同一である場合、既存の文書ブロックおよびそれに関するデータを削除し、新たに取得したハイパーテキストに基づいてリンクデータおよびその見出しデータを抽出してもよい。
【０１５５】
また、リンク情報テーブルＬＫＴの中の文書ブロックおよびそれに関するデータを、記憶してから所定時間が経過した後、削除してもよい。または、リンク情報テーブルＬＫＴ全体のメモリ領域が所定の値を越えた場合、文書ブロックおよびそれに関するデータを古い順に削除してもよい。
【０１５６】
ユーザに提供する情報が限られる場合は、文書解析部を設けず、その代わりに情報のリンク先を示すリンクデータおよびその見出しデータを予めリンク情報テーブルＬＫＴに記憶しておいてもよい。文書解析部を設けないことによって、リンク情報テーブルＬＫＴに新たなリンク先に関する情報が蓄積されないので、例えば、限られた情報だけをユーザに提供したい場合などに好適である。
【０１５７】
その他、印刷システム１、１Ａ、１Ｂ、１Ｃ、サーバ２１、３１、４１、端末装置２３、４２、またはリンク情報テーブルＬＫＴの全体または各部の構成、処理内容、または処理順序などは、本発明の趣旨に沿って適宜変更することができる。
【０１５８】
【発明の効果】
本発明によれば、印刷したＷｅｂページに含まれるハイパーリンクが示すリンク先の情報を容易に印刷することができる。
【図面の簡単な説明】
【図１】本発明に係る印刷システムに係る機能的構成を説明する図である。
【図２】印刷システムにおける処理の流れを説明するフローチャートである。
【図３】第一の実施形態における印刷システムの構成を示す図である。
【図４】第一の実施形態における印刷システムの機能的構成を示す図である。
【図５】Ｗｅｂページを表示する画面の例を示す図である。
【図６】Ｗｅｂページを生成するためのハイパーテキストを示す図である。
【図７】リンク情報テーブルの構成の例を示す図である。
【図８】ハイパーテキストに係る文書ブロックなどを説明する図である。
【図９】文書解析部およびリンク情報記憶部における処理の流れを説明するフローチャートである。
【図１０】文書ブロックの設定およびタイトルデータの抽出の処理の流れを説明するフローチャートである。
【図１１】リンクブロックなどの設定および見出しデータなどの抽出の処理の流れを示すフローチャートである。
【図１２】リンク先を選択する画面の例を示す図である。
【図１３】Ｗｅｂページを生成するためのハイパーテキストを示す図である。
【図１４】ハイパーテキストを生成する処理の流れを説明するフローチャートである。
【図１５】見出しデータおよびタイトルデータを書き込む処理の流れを説明するフローチャートである。
【図１６】第二の実施形態における印刷システムの構成を示す図である。
【図１７】第二の実施形態における印刷システムの機能的構成を示す図である。
【図１８】リンク先を選択する画面の例を示す図である。
【図１９】印刷またはデータの削除の処理の流れを説明するフローチャートである。
【図２０】カーソルアップの処理の流れを説明するフローチャートである。
【図２１】カーソルダウンの処理の流れを説明するフローチャートである。
【図２２】第三の実施形態における印刷システムの構成を示す図である。
【図２３】第三の実施形態における印刷システムの機能的構成を示す図である。
【符号の説明】
１、１Ａ、１Ｂ、１Ｃ  印刷システム
１２、２１２、３１２、４１２  リンク情報記憶部（記憶手段）
１３  リンク先出力部（出力手段）
１４、２１４、３１４、４１４  情報取得部（情報取得手段）
１５、２１５、３１５、４１５、４２６  印刷制御部（印刷手段）
２１、３１、４１  サーバ
２１６、３１６、４１６  通信制御部（送信手段、受信手段、情報送信手段）
２１７、４１７  リンク先データ生成部（生成手段）
２３、４２  端末装置（クライアント）
２３３、３１３、４１３、４２３  表示部（出力手段）
２３５、３１８、４１８、４２５  入力部（指定手段）
２３ｐ  Ｗｅｂページ
ＢＬ１  文書ブロック（第一の領域）
ＢＬ１ｃ  リンクトップポインタ
ＢＬ１ｄ  リンクボトムポインタ
ＢＬ１ｅ  前文書ポインタ
ＢＬ１ｆ  次文書ポインタ
ＢＬ２  リンクブロック（第二の領域）
ＢＬ２ｂ  見出しポインタ
ＢＬ２ｃ  ＵＲＬポインタ
ＢＬ２ｄ  前リンクポインタ
ＢＬ２ｅ  次リンクポインタ
ＢＬ３  リンクデータブロック（第三の領域）
ＤＡ１  見出しデータ（見出し情報）
ＤＡ２  ＵＲＬデータ（リンク情報）
ＴＸ１  ハイパーテキスト
【図１】
0004081231.tif 000002
【図２】
0004081231.tif 000003
【図３】
0004081231.tif 000004
【図４】
0004081231.tif 000005
【図５】
0004081231.tif 000006
【図６】
0004081231.tif 000007
【図７】
0004081231.tif 000008
【図８】
0004081231.tif 000009
【図９】
0004081231.tif 000010
【図１０】
0004081231.tif 000011
【図１１】
0004081231.tif 000012
【図１２】
0004081231.tif 000013
【図１３】
0004081231.tif 000014
【図１４】
0004081231.tif 000015
【図１５】
0004081231.tif 000016
【図１６】
0004081231.tif 000017
【図１７】
0004081231.tif 000018
【図１８】
0004081231.tif 000019
【図１９】
0004081231.tif 000020
【図２０】
0004081231.tif 000021
【図２１】
0004081231.tif 000022
【図２２】
0004081231.tif 000023
【図２３】
0004081231.tif 000024