以下、本発明の実施の形態を図面を参照して詳細に説明する。
図1は、本発明の実施形態に係る画像出力装置のハードウェア構成の一例を示すブロック図である。
図1において、画像出力装置1は、プリント機構101と、通信インターフェース(通信I/F)102と、ROM103と、CPU104と、RAM105と、センサ106とを備える。プリント機構101は、実際に紙への印字処理を実行する機能を有する。具体的には、インクジェットプリンタの場合は、インクの微細な粒子を紙に吹き付けることにより印字処理を行い、レーザープリンタの場合は、レーザー光を利用して感光体にトナー(黒炭の粉)を付着させることで印字処理を行う。通信I/F102は、LAN(Local Area Network)、BlueTooth、USB(Universal Serial Bus)等による外部との接続を司る。また、通信I/F102は、インターネットを含むネットワーク2へのアクセスと、ネットワーク2上のホスト端末(不図示)からの印刷データや設定情報の入出力を仲介する。
ROM103は、装置(システム)のブートROM(Random Access Memory)であり、ブートプログラム及び制御プログラムが格納されている。CPU104は、装置全体を制御する制御手段としてのコントローラである。RAM105は、CPU104が動作するために必要なシステムワークメモリであって、受信した画像データの一時保存や後述する登録URL一覧及び取得済データの格納に用いられる。
センサ106は、例えば、情報読取手段として、用紙等に記載された文字パターンや二次元バーコード等の読み取りが可能な光学センサである。CPU104は、センサ106で読み取られた画像から文字パターンや二次元バーコード等を検出することができる。
本実施形態における画像出力装置1は、上記基本的な構成要素に加えて、ハードディスクドライブ(HDD)107、スキャナ108、及びパネル109を任意に選択して装備することが可能である。HDD107は、ネットワーク2から通信I/F102を介して受信したデータやセンサ106で読み取った画像データ等を格納することができる。スキャナ108は、用紙等の全面を走査することができ、用紙に印刷された画像を読み取ることが可能である。なお、スキャナ108は、センサ106と同様の機能を有するので、スキャナ108を装備している場合には、センサ106を備えない構成であってもよい。パネル109は、画像出力装置1に対して設定を行ったり、情報の表示に用いられるグラフィカルユーザインターフェース(GUI)である。
図2は、図1の画像出力装置1に格納されるデータ及びソフトウェアの一例を示すブロック図である。
図2において、通信プロトコルモジュール201は、通信I/F102使用してLAN、BlueTooth、USB等からの情報の送受信を行なうためのプロトコルを実現している。マネージャモジュール202は、画像出力装置1が円滑に動作するために装置全体の制御を司る。
登録URL一覧203は、RAM105に格納されている情報であり、画像出力装置1がネットワーク2にアクセスする際に用いられる。取得済データ204は、RAM105又はHDD107に格納される情報であり、登録URL一覧203を用いて取得された情報である。
更新情報解析モジュール205は、ネットワーク2から取得した更新情報の解析を行なう。更新情報については後述する。ウェブページ解析モジュール206は、ネットワーク2から取得したウェブリソースを解析する。画像コーデックモジュール207は、画像の圧縮処理や展開処理を行なう。この処理には、JPEGやGIFなどの既存のフォーマットが使用される。出力画像生成モジュール208は、画像出力装置1が実際に印刷に用いるデータを生成する。印刷制御モジュール209は、出力画像生成モジュール208で生成されたデータをプリント機構101を用いて用紙に印刷する制御を司る。
画像出力装置1が接続しているネットワーク2から取得する情報は、ネットワーク上に存在するウェブサイトから提供される、HTML(HyperText Markup Language)で記述されたウェブページや画像などで構成される。これらを総称してウェブリソースと呼ぶ。画像出力装置1がネットワーク2から取得する更新情報もウェブリソースの一種であり、RSS(RDF Site Summary)やAtomなどの形式に添って記述されている。更新情報の形式には、RSSの各バージョンやAtomなど数種類のXML形式が知られているが、本実施形態では、RSS1.0に沿って記述されたXML形式の更新情報について説明する。
図3は、ウェブサイトで提供されるXML形式の更新情報の構造を示す図である。なお、図3における包含関係は、XML要素の包含関係を意味する。
図3において、RDF要素301は、XML形式のリソースの最上位の要素である。RDF要素301には、Channel要素302、Image要素303、及びItem要素群304が含まれる。Channel要素302には、更新情報全体に関連する基本情報が記述される。このChannel要素302はRDF的な主語ノードに相当する。なお、RDF(Resource Description Framework)とは、一般に、情報についての情報(メタデータ)の表現方法についての枠組みをいう。
Channel要素302の内容には、title要素305、link要素306、description要素307、image要素308、items要素309が含まれる。title要素305は、この更新情報のタイトルを表す。link要素306は、この更新情報が扱っているサイトのURLを表す。description要素307は、この更新情報が扱っているサイトの内容や機能などの説明が記述される。image要素308は、この更新情報が扱っているサイトのロゴなどの画像資源を特定するURLが記述される。詳細については後述する。なお、画像情報などが存在しない場合、image要素308の記述は不要である。
items要素309は、後述するItem要素群304のインデックスを提供するものである。seq要素310内のリスト化されたli要素311には、更新情報を取得するためのURLが記述される。li要素311には、少なくとも1つのURL記述が必要である。
Image要素303はロゴなどの画像を表現する。Image要素303の内容には、title要素312、link要素313、url要素0314が含まれる。title要素312は、画像のタイトルを表し、画像の代替テキストとして用いられる。link要素313には、この画像をアンカーとするハイパーリンクを表示する場合に、リンク先として用いるURLが記述される。url要素0314は、画像リソースのURLが記述される。
Item要素群304は、Channel要素302内のitems要素309でリスト化された個数分の記述が必要となり、提供元であるウェブページの更新情報を表現する要素の並びである。Item要素群304の内容には、title要素315、link要素316、及びdescription要素317が含まれる。title要素315は、更新情報のタイトルが記述される。link要素316は、更新情報のURLが記述される。description要素317は、更新情報の説明が記述される。なお、更新情報の説明が不要の場合はdescription要素を省略しても構わない。
いずれの形式であっても更新情報には、そのウェブサイトで更新されたウェブページのタイトル、概要、本文のURLなどの情報が記述されている。本実施形態における画像出力装置1は、更新情報を取得して解析し、ウェブページの更新情報として所定の形式でプリント出力することができる。画像出力装置1は、この処理を予め設定された時間間隔又はユーザが指定したタイミングで行なうことで、ユーザは更新情報が印刷された印刷物を入手することができ、任意に各ウェブサイトの情報を取得することが可能になる。
図4は、画像出力装置1による更新情報の出力結果(印刷データ)の一例を示す図である。
図4に示す更新情報は、取得済データ204から作成され、階層化された更新情報のリストと、ウェブページから作成された更新情報のリストで構成されている。
図4において、channel1のURL401は、更新情報のURLである。channel1のtitle402は、更新情報のタイトル(title)である。channel1のlink403は、更新情報のリンク(link)情報である。リンク先は更新情報を提供しているウェブページのURLになる。
channel1のRSSバーコード404は、channel1のURL401を二次元バーコード化したデータである。channel1のリンクバーコード405は、channel1のlink403を二次元バーコード化したデータである。channel1のロゴ406は、channel1のimage要素から取得した画像情報である。ここでは、channel1の更新情報は2つの要素を持ち、その内容が続けて出力されている。
item11のtitle407は、更新情報の要素1のタイトルである。item11のlink408は、更新情報の要素1のリンク情報である。item11のdescription409は更新情報の要素1の詳細である。なお、要素1に詳細の記述が無い場合はこの項目は省略する。item11のリンクバーコード410は、item11のlink408を二次元バーコード化したデータである。
item12のtitle411は、更新情報の要素2のタイトルである。item12のlink412は、更新情報の要素2のリンク情報である。item12のdescription413は、更新情報の要素2の詳細である。なお、要素2に詳細の記述が無い場合はこの項目は省略する。item12のリンクバーコード414は、item12のlink412を二次元バーコード化したデータである。
channel2のURL415は、更新情報のURLである。channel2のtitle416は、更新情報のタイトルである。channel2のlink417は、更新情報のリンク情報である。リンク先は更新情報を提供しているウェブページのURLになる。channel2のRSSバーコード418は、channel1のURL415を二次元バーコード化したデータである。channel2のリンクバーコード419は、channel1のlink417を二次元バーコード化したデータである。channel2のロゴ420は、channel2のimage要素から取得した画像情報である。ここでは、channel2の更新情報は1つの要素を持ち、その内容が続けて出力されている。
item21のtitle421は、更新情報の要素1のタイトルである。item21のlink422は、更新情報の要素1のリンク情報である。item21のdescription423は、更新情報の要素1の詳細である。なお、要素1に詳細の記述が無い場合はこの項目は省略する。item21のリンクバーコード424は、item21のlink422を二次元バーコード化したデータである。続く出力内容は、更新情報を用いず、ウェブページから直接更新情報を作成したものである。
ウェブページ1のtitle425は、ウェブページのタイトルである。ウェブページ1のURL426は、ウェブページのURLである。ウェブページ1のリンクバーコード427は、ウェブページ1のURL426を二次元バーコード化したデータである。ウェブページ1のロゴ428はウェブページのロゴである。ウェブページ2のtitle429は、ウェブページのタイトルである。ウェブページ2のURL430は、ウェブページのURLである。ウェブページ2のリンクバーコード431は、ウェブページ1のURL430を二次元バーコード化したデータである。ウェブページ2のロゴ432はウェブページのロゴである。
以上のように、図示の出力結果ならば、二次元バーコード読み取り機能を持つネットワーク端末(例えば、携帯電話など(以下、「モバイル端末」と称する)を用いることで、タイトル情報から内容を把握しにくい情報でも、実際の情報を確認することができる。また、印刷を行なう際も、本当に必要な情報のみ印刷をすることが可能になるため無駄な印刷を防ぐことができる。
図5は、画像出力装置1で実行されるURL登録処理のフローチャートである。なお、本処理は、CPU104が図2に示す構成要素を協働させることで実行されるものである。
本実施形態における画像出力装置1は、URL登録モードを備える。この登録モードは、URL情報を取得すると、登録URL一覧203に追加する機能である。
図5において、まず、CPU104は、URL情報を取得する(ステップS501)。URL情報の取得方法としては、センサ106又はスキャナ108によって用紙から情報を直接読み取る方法と、通信I/F102から受信する方法とがあるがいずれでもよい。
次に、CPU104は、ステップS501で取得したURL情報に該当するURLがあるか否かを判断する(ステップS502)。この結果、該当するURLがある場合は、該URLに基づいてウェブサイトの情報を保有するウェブサーバからウェブリソースを取得する(ステップS503)。
次に、CPU104は、取得したウェブリソースが更新情報であるかを判断する(ステップS504)。なお、取得したウェブリソースが更新情報か否かはウェブリソースの記述形式で判断できる。取得したウェブリソースが更新情報である場合、ウェブリソースは前述の図3において説明したXML形式で記述されている。そのため、通常のHTML形式で記述されるウェブページのウェブリソースと区別することが可能である。この結果、取得したウェブリソースが更新情報であるときは、CPU104は、RAM105に格納されている登録URL一覧203を参照して、URLが未登録URLか否かを判断する(ステップS505)。この結果、未登録URLであるときは、未登録URLを登録URL一覧203に追加して(ステップS506)、本処理を終了する。一方、登録済みURLならばそのまま本処理を終了する。
ステップS504において、取得したウェブリソースが更新情報でない場合、CPU104は、ウェブページ解析モジュール206により該ウェブリソースを解析する(ステップS507)。次に、CPU104は、ウェブリソース内に更新情報URLがあるかどうかを判断する(ステップS508)。なお、更新情報URLは、通常のウェブページのリンクと同じ記述でウェブリソースに記述されるが、リンク先のURLが通常のウェブページの「.HTML」ではなく、更新情報の記述形式を示す「.XML」ファイルになる。そのため、ウェブリソース内に更新情報URLの有無は、「.XML」ファイルをリンク先とした記述を探すことで判断可能である。
ステップS508の判断の結果、更新情報URLがある場合は、この更新情報URLを用いて、後述する印刷データ生成処理を行ない(ステップS510)、生成した印刷データを出力する(ステップS511)。この印刷データの出力については、ユーザに登録可能なURLを示すために行われる。すなわち、印刷データの出力結果を用いてURL登録処理をやり直すことで、ユーザはURL情報を確認しながらURL登録処理を行なうことができる。なお、ステップS508において、更新情報URLがある場合には、ステップS505,S506の登録処理を実行してもよい。
ステップS508において、更新情報URLがない場合は、CPU104は、更新情報に代わる更新が確認できる情報があるか否かを判断する(ステップS509)。例えば、ウェブリソースがウェブサーバにアップデータされた日付が取得できるならば、その日付をウェブリソースの更新の確認に利用できる。この結果、更新が確認できる情報があったときは、ステップS505,S506の登録処理を実行する。
以上のように、画像出力装置1で管理するURL情報を容易な操作で登録することが可能となる。
図6は、画像出力装置1に格納される登録URL一覧203の内容を示す図である。
URL601は、更新情報の取得先となるURL情報である。更新周期602は、更新頻度を表す。更新回数603は、更新周期内の更新回数を表す。最終更新日時604は、更新情報が更新された日時を表す。更新された日付が分からない場合は後述の取得日時と同じになる。取得日時605は、画像出力装置1が更新情報を取得した日時を表す。これらの情報は登録時のウェブリソースから自動で生成されるが、該当する情報が無い場合、固定の内容で登録する。また、登録した内容はユーザが自由に変更可能である。
なお、登録URL一覧の各項目の設定から、画像出力装置1が更新情報を取得する日時が算出される。取得頻度が計算できる。例えば、図示のURL情報2の場合、更新周期が「日」で更新回数が「2回」である。すなわち、1日に2回の更新が行われるURLなので、前回の取得から12時間後に更新情報を取得する。取得後、取得日時を更新し、取得した更新情報の内容が新しいならば、最終更新日時を更新する。
図7は、画像出力装置1で実行される更新情報取得処理を示すフローチャートである。なお、本処理は、CPU104が図2に示す構成要素を協働させることで実行されるものである。
画像出力装置1は、本処理を定期的に行なうことで、所定の時刻に実行するように印刷ジョブの設定をしなくても登録URLの更新情報を確認することができ、ユーザは任意のタイミングで取得されている全ての更新情報を出力することが可能である。なお、本処理は、CPU104が図2に示す構成要素を協働させることで実行されるものである。
図7において、まず、CPU104は、登録URL一覧203から、更新情報を取得するためのURLリストを作成する(ステップS701)。URLリストとはウェブリソースを取得して更新情報を確認する必要があるURLを登録URL一覧203からピックアップしたものである。次に、CPU104は、作成したURLリストに更新情報を取得していない未処理URLがあるか否かを判断し(ステップS702)、未処理URLがある場合は、ステップS703へ進む一方、未処理URLがない場合は本処理を終了する。未処理URLの有無は、以降の処理においてURL選択がURLリストの先頭から順に行なう場合、リストの末尾に到達することで判断可能である。
ステップS703では、CPU104は、URLリスト上の未処理URLを選択し、通信I/F102を介してネットワーク2にアクセスし、選択された未処理URLに対応するウェブサイトからウェブリソースを取得する(ステップS704)。
次に、CPU104は、取得したウェブリソースが更新情報であるときは(ステップS705でYES)、取得済データ204に未処理URLと同一のURLがあるかを検索する(ステップS706)。同一のURLがある場合(ステップS707でYES)、CPU104は、更新情報である取得したウェブリソースを解析する(ステップS708)。更新がある場合は(ステップS709でYES)、取得済データ204の該当URLの更新情報の内容を更新して(ステップS710)、ステップS702に戻る。なお、ステップS708における更新の有無は、取得したウェブリソースが最終更新日時604より新しい情報か否かで判断できる。一方、ステップS707において、同一URLが無い場合は(ステップS707でNO)、CPU104は、該当URLの更新情報を取得済データ204に追加して(ステップS711)、ステップS702に戻る。
ステップS705において、取得したウェブリソースが更新情報でないときは(ステップS705でNO)、取得済データ204に未処理URLと同一のURLがあるかを検索する(ステップS712)。同一のURLがある場合は(ステップS713でYES)、CPU104は、ウェブページである取得したウェブリソースを解析する(ステップS714)。更新がある場合は(ステップS715でYES)、取得済データ204の該当URLウェブ情報の内容を更新して(ステップS716)、ステップS702に戻る。なお、更新の有無は、取得したウェブリソースが最終更新日時604より新しい情報か否かで判断できる。一方、ステップS713において、同一URLが無い場合は(ステップS713でNO)、CPU104は、該当URLのウェブ情報(図8のitem要素804に該当する情報)を取得済データ204に追加して(ステップS717)、ステップS702に戻る。
図8は、画像出力装置1が取得した更新情報に基づいて作成される取得済データ204の構造を示す図である。
図8の示す取得済データ204は、XML形式で記述されており、その包含関係はXML要素の包含関係を意味する。
図8において、storedData要素801は、XML形式のリソースの最上位の要素である。storedData要素801には、登録URL一覧203に登録されたURLに対応する複数のparagraph要素802が含まれる。paragraph要素802には、header要素803と、複数のitem要素804とが含まれる。
header要素803は更新情報のヘッダである。item要素804は、更新情報の詳細(以下、「更新内容」と称する)である。なお、item要素804が取得できない(例えば、ウェブページ解析によって取得したデータである)場合、item要素804は省略される。
header要素803には、url要素805、title要素806、link要素807、image_url要素808、date要素809、及びprint要素810要素が含まれる。url要素805は、更新情報のURLが記述される。title要素806は、この更新情報のタイトルが記述される。link要素807は、この更新情報が扱っているサイト(リンク)のURLが記述される。なお、サイトのURLがurl要素805の記述と同じ(例えば、ウェブページ解析によって取得したデータである)場合、link要素807は省略される。
image_url要素808は、この更新情報のロゴ画像を特定するURLが記述される。ロゴ画像は、図4に示したロゴ406,420,428,432等である。該当するURLが無い場合は省略される。date要素809は、この更新情報のURLに最後に更新情報を取得した日時が記述される。print要素810は、paragraph要素802に印刷するデータがあるか否かが記述される。paragraph要素802に含まれるitem要素804のprintout要素において一つでも印刷していない情報があれば、印刷データありと判断する。ウェブページの場合は、item要素804が存在しないため、date要素809が更新されると印刷データありと判断する。
item要素804には、title要素811、link要素812、description要素813、date要素814、及びprintout要素815が含まれる。title要素811は、更新内容のタイトルが記述される。link要素812は、更新内容のURLが記述される。description要素813は、更新内容の説明が記述される。更新内容の説明がない場合、description要素は省略される。date要素814は、更新内容の日時が記述される。printout要素815は、item要素804が印刷済みか否かが記述される。
更新情報を解析して取得したデータも、ウェブページを解析して取得したデータも、図示のようなウェブリソースとは異なる形式のデータに変換され、取得済データ204として保存される。取得済データ204で管理することで、XML形式で出力する情報を保存するため、実際に出力するデータで保存する場合と比較し、多くの情報を蓄積することが可能である。
次に、図5のステップS510における印刷データ生成処理について図9を参照して説明する。
図9は、取得済データ204から印刷データを生成する印刷データ生成処理のフローチャートである。なお、本処理は、CPU104が図2に示す構成要素を協働させることで実行されるものである。
画像出力装置1は、ユーザ指示によるタイミングまたは予め設定された設定時刻に印刷データ生成処理を実行して更新情報のリストデータを生成する。
図9において、CPU104は、取得済データ204におけるstoredData要素801から未出力のparagraph要素802のリスト(以降、「未出力データ」と称する)を抽出する(ステップS901)。未出力データは、storedData要素801内の全要素から判断される。このとき、例えば、以前印刷したデータを含まないように抽出したい場合、print要素810が印刷データありになっているか、及びprintout要素815が印刷済みになっていないかを確認することで判断することができる。また、ある期間内に取得したデータを抽出したい場合、date要素809若しくはdate要素814が該当期間内を示しているかを確認することで判断することができる。このように、ユーザは未出力データ抽出時において、取得済データ204から判断可能な条件を提示することが可能である。換言すると、ユーザは任意の条件を設定しておくことで、所望の未出力データを抽出することが可能となる。
次に、CPU104は、抽出した未出力データに印刷データを生成していないurl要素805(以降、「未処理URL」と称する)が存在するか否かを判断する(ステップS902)。未処理URLが存在すると判断した場合(ステップS902でYES)、未処理URLがなくなるまでステップS903〜S914の処理を繰り返す。なお、未出力データは条件に該当したparagraph要素802のリストなので、paragraph要素802内のurl要素805を順次末尾まで処理することで、未処理URLの有無が確認できる。
CPU104は、未処理URLを選択する(ステップS903)。次に、取得済データ204におけるlink要素807の有無により、選択した未処理URLが更新情報のURLかウェブページのURLかを判断する(ステップS904)。選択した未処理URLが更新情報のURLであれば、CPU104は、取得済データ204におけるurl要素805(更新情報のURL)及びlink要素807(リンク情報)からそれぞれ二次元バーコードを生成する(ステップS905)。この二次元バーコードは、図4に示すRSSバーコード404、リンクバーコード405に該当する。
次に、CPU104は、取得済データ204にimage_url要素808があると判断した場合、image_url要素808のURLからイメージデータ(イメージ情報)を取得し、該イメージ情報に基づいてロゴデータを生成する(ステップS906)。このロゴデータは図4のロゴ406に該当する。
CPU104は、ステップS905〜S906で生成した二次元バーコード及びロゴデータと、url要素805、title要素806、及びlink要素807から生成したヘッダ部のデータを印刷データに追加する(ステップS907)。このヘッダ部の印刷データにより、図4における401〜406が出力される。
次に、CPU104は、未処理URLを持つparagraph要素802から未処理更新内容が記述されたitem要素804を選択する(ステップS908)。これは、未処理URLを持つparagraph要素802が持つitem要素804を順次選択することを意味する。つづいて、CPU104は、更新内容のlink要素812(リンク情報)から二次元バーコードを生成する(ステップS909)。この二次元バーコードは、図4の414に該当する。
次に、CPU104は、ステップS909で生成したデータと、title要素811、link要素812、及びdescription要素813から生成した詳細部のデータを印刷データに追加する(ステップS910)。これらの一連の処理を、未処理更新内容が記述されたitem要素がなくなるまで繰り返す(ステップS908〜S911)。未処理更新内容が記述されたitem要素がなくなったときは(ステップS911でYES)、ステップS902へ戻る。
ステップS904において、選択した未処理URLがウェブページのURLであれば(ステップS904でNO)、CPU104は、取得済データ204におけるurl要素805(更新情報のURL)から二次元バーコードを生成する(ステップS912)。この二次元バーコードは、図4の427に該当する。
次に、CPU104は、取得済データ204にimage_url要素808があると判断した場合、image_url要素808のURLからイメージデータを取得し、該イメージ情報に基づいてロゴデータを生成する(ステップS913)。このロゴデータは図4のロゴ428に該当する。
CPU104は、ステップS912〜S913で生成したデータと、url要素805及びtitle要素806から生成したデータを印刷データに追加して(ステップS914)、ステップS902へ戻る。
上記処理において、未出力データから印刷データとして生成されたものについては出力済みデータとされるので、次回の印刷データ生成処理の対象とならず(ステップS902でNO)、印刷データの出力(印刷)は実行されない。この結果、無駄な印刷を回避することができる。なお、出力済みデータとするためには、printout要素815を「印刷済み」に、paragraph要素802が持つ全てのprintout要素815が「印刷済み」ならば、print要素810を「印刷データなし」とデータを書き換えている。
図10は、画像出力装置1で実行されるリスト出力処理のフローチャートである。なお、本処理は、CPU104が図2に示す構成要素を協働させることで実行されるものである。
リスト出力機能としてのリスト出力処理は、ユーザ指示によるジョブの場合または定期的な印刷ジョブが発生した場合に実行される。なお、定期的な印刷ジョブの発生は、予め設定された設定時刻にイベントを発生させて処理を実行する場合や、一定周期のタイマイベントでジョブが発生する時刻かを監視し、予め設定された設定時刻に処理を実行する場合が考えられる。
CPU104は、ユーザ指示によるジョブの場合(ステップS1001でYES)または定期的な印刷ジョブが発生した場合(ステップS1002でYES)、最新の更新情報を出力できるように、図7に示す更新情報取得処理を行なう(ステップS1003)。次に、CPU104は、更新情報取得処理により更新情報を取得した後、図9に示す印刷データ生成処理を行なう(ステップS1004)。
次に、CPU104は、印刷データ生成処理の結果から、印刷すべきデータの有無を確認し(ステップS1005)、印刷すべきデータがある場合は印刷データを出力する(ステップS1006)。一方、印刷すべきデータが無い場合はそのまま終了する。印刷すべきデータは、例えば、印刷データ生成処理で生成されて印刷データに追加されたデータである。すなわち、既に印刷された更新情報については印刷する必要がないので、前回(または過去に)印刷されていない新たな更新情報の印刷データのみを印刷し、用紙の無駄を防ぐことが可能となる。
以上の処理を実行することで、更新情報を図4のような出力結果を得ることが出来る。
なお、上記リスト出力処理では、ジョブ発生時に条件を課すことにより、図9の印刷データ生成処理において未出力データを抽出する(ステップS901)条件が変わり、生成される未出力データも変更できる。その結果、一度出力したデータを印刷データに含めたり、印刷データに表示する更新情報のURLを限定したりすることも可能である。
上記リスト出力処理では、通常の出力と比較すると用紙の節約が可能だが、ジョブが発生するたびに、たとえ印刷データが出力用紙サイズに対してわずかしかなくともプリント出力してしまう。そこで、HDDなどの生成した印刷データを保存する領域を持つ画像出力装置の場合、実際にプリント出力する条件を設定することで、さらに用紙を節約することが可能である。
図11は、画像出力装置1で実行される用紙節約設定時のリスト出力処理のフローチャートである。なお、本処理は、CPU104が図2に示す構成要素を協働させることで実行されるものである。
用紙節約設定時のリスト出力機能の場合、明示的なジョブの発生は必要ない。CPU104は、登録URL一覧203に登録された情報に従って定期的に図7に示す更新情報取得処理を行なう(ステップS1101)。そして、CPU104は、更新情報の取得後、取得済データ204が印刷開始条件を満たしたか否かを判断する(ステップS1102)。印刷開始条件の一例を図12に示す。
図12において、「未出力データが印刷用紙n項分蓄積された」ことを条件に印刷する場合、nは用紙設定と出力情報の文字数から算出される。出力結果は図4に示すように形式に当てはめた文字情報である。このため、“40文字を1行として60行を1項とする”というような1項に出力可能な文字数・行数の用紙設定と、図8に示した取得済データ204から抽出する出力情報の文字数から、出力に必要な頁数が算出できる。その結果、未出力データが何項分蓄積されたかを判断することができる。
一方、「未出力データに含まれる記事数がn個を超えた」ことを条件に印刷する場合、図8に示した取得済データ204のprintout要素815において、印刷済みになっていないitem要素804を数えることで判断可能である。なお、図12に例示した各印刷開始条件は組み合わせが可能である。この場合、指定された各印刷開始条件の結果を総合して、印刷開始条件を満たしたかが判断される。
ステップS1102では、印刷開始条件を満たしていない場合、画像出力装置1は、印刷データ生成処理を行なわず、定期的な更新情報取得処理のみが実行される。そして、印刷開始条件を満たした場合、CPU104は、図9に示す印刷データ生成処理を行なう(ステップS1103)。次に、CPU104は、印刷データ生成処理の結果から、印刷すべきデータの有無を確認し(ステップS1104)、印刷すべきデータある場合は印刷データを出力する(ステップS1105)。一方、印刷すべきデータが無い場合はそのまま終了する。
以上の処理を実行することにより、印刷データが出力用紙サイズに対してわずかしかない場合には、印刷を見送ったり、出力用紙サイズ全体に印刷されるような印刷データが生成されてから出力することが可能になる。
次に、直接、又は、二次元バーコードを読み取る機能をもつ端末を経由して、前述したリスト出力機能によって生成されたリンク情報からウェブページを印刷する方法を図13を参照して説明する。
図13は、画像出力装置1で実行されるウェブページ印刷処理のフローチャートである。
図示のウェブページ印刷処理は、この処理は通信プロトコルから情報を受信した際に発生するイベント、もしくはセンサ106又はスキャナ108から読み取った情報から発生するイベントから開始される。
CPU104は、取得した情報がURL情報か否かを判断する(ステップS1301)。URL情報でないときは、そのまま終了する一方、URL情報ならば、URLのリンク先が存在するかどうかを確認する(ステップS1302)。該当URLが存在しないならば終了し、該当URLが存在するならば(ステップS1302でYES)、リンク先のウェブリソースを取得する(ステップS1303)。取得したウェブリソースは印刷適した形にレンダリング処理を行なう(ステップS1304)。レンダリングしたウェブリソースから印刷データを生成し(ステップS1305)、その結果を出力する(ステップS1306)。
なお、このウェブページ印刷における印刷データ生成は、図9に示すリスト出力に特化した印刷データ生成でなく、一般のプリンタドライバが行なっている印刷データの生成処理である。このように、印刷時にネットワーク2にアクセスし、印刷データを生成することで、更新ページの情報を出力する手段が、同機能を備えるプリンタならばどのプリンタからでも行なえるようになり、更新情報を取得したプリンタでしか印刷できない状況を回避できる。
次に、画像出力装置1を用いたリスト出力から、印刷無しに詳細な情報を確認する方法を説明する。
図14は、画像出力装置1で出力されたリストの活用方法の一例を示すイメージ図である。
図示例では、携帯電話等のモバイル端末1401をユーザが利用することを想定している。
まず、図5のURL登録処理により画像出力装置1はURLを登録する。次に、画像出力装置1は、図10のリスト出力処理または図11の用紙節約設定時におけるリスト出力処理により図4の更新情報を印刷出力する。
ユーザは、モバイル端末1401(情報端末)を用いて、図示例のように複数の記事1〜6が印刷された更新情報の二次元バーコードから、所望のウェブサイトのURL情報を取得することができる。そして、ユーザは、モバイル端末1401で取得したURL情報を用いてネットワーク2を経由してウェブサイトにアクセスすることができ、その情報が本当に所望する情報か否かを容易に判断することが出来る。この方法を用いれば、印刷出力された更新情報からでも所望する内容か否かを容易に判断可能になるため、不必要な印刷を行なって、用紙を無駄にすることを防ぐことが可能である。
また、閲覧したウェブサイトに印刷したい情報があった場合、ウェブページの印刷はリスト出力に用いた画像出力装置Aでも行なえるが、リスト出力に用いなかった画像出力装置Bでも行なえる。すなわち、ユーザはモバイル端末1401から赤外線などの通信技術を用いて、画像出力装置A又は画像出力装置Bに対して希望するウェブサイトのURL情報を送信する。URL情報を受信した画像出力装置は、図13のウェブページ印刷処理を行なって、該当するウェブサイトの内容を印刷出力する。この方法を用いれば、例えば、自宅にて更新情報を出力し、外出先で更新情報の詳細情報を出力するという異なる箇所に設置された画像出力装置においても、複雑な設定を必要とせずに連携した更新情報の取得が可能である。
上記実施形態によれば、画像出力装置1は、ネットワーク2上のウェブサイトのURL情報を登録し、登録したURL情報に基づいて、ウェブサイトからウェブリソースを取得する。そして、取得したウェブリソースを異なる形式の取得済データ204に変換して保存する一方、該ウェブリソースから更新の有無を判断し、取得済データ204を更新し、更新した取得済データ204から印刷データを生成する。そして、生成した印刷データを図4の形式で印刷する。これにより、取得したウェブリソースから更新情報が容易に判断可能な印刷データを出力することができ、無駄な印刷をしてしまう可能性を軽減することが可能となる。
また、ウェブサイトの更新情報を閲覧する場合、当該更新情報を取得した画像出力装置からの印刷出力に限定されている状況を廃して、場所を選ばずに更新情報を取得することできる。
また、センサ106により読み取った情報または通信I/F102により受信した情報に基づいてURL情報を取得し、該URL情報の登録を行う。これにより、URL登録時の手間を省き、URL登録を容易に行うことが可能となる。
また、本発明の目的は、以下の処理を実行することによっても達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
また、プログラムコードを供給するための記憶媒体としては、次のものを用いることができる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROM等である。または、プログラムコードをネットワークを介してダウンロードしてもよい。
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
更に、前述した実施形態の機能が以下の処理によって実現される場合も本発明に含まれる。即ち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行う場合である。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した各実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOSなどが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現する場合も含まれる。この場合、上記プログラムは、該プログラムを記憶した記憶媒体から直接、またはインターネット、商用ネットワーク、若しくはローカルエリアネットワーク等に接続された不図示の他のコンピュータやデータベース等からダウンロードすることにより供給される。