(57)【要約】【課題】  ユーザにとっての利便性を高められるような、アドレス帳データを用いたデータの処理技術を提供する。【解決手段】  データの処理装置（２０）は、一の単位データごとに名前及び住所を含んだ複数種類の項目から成る項目群を有し、単位データを複数個備えたアドレス帳データ（１２）を入力する第一の入力手段と、宛名印刷面のどの位置にどんな種類の項目を印刷するかが定義されたテンプレートファイル（２６）を入力する第二の入力手段と、テンプレートファイルに定義されている項目種類に対応した項目をアドレス帳データにおける項目群から取得する項目取得手段と、テンプレートファイルに定義されている、宛名印刷面の位置に、取得された項目を割付ける割付手段とを備える。【選択図】  図１
2006120113.tif 000002
【特許請求の範囲】
【請求項１】
一の単位データごとに名前及び住所を含んだ複数種類の項目から成る項目群を有し、前記単位データを複数個備えたアドレス帳データを入力する第一の入力手段と、
宛名印刷面のどの位置にどんな種類の項目を印刷するかが定義されたテンプレートファイルを入力する第二の入力手段と、
前記テンプレートファイルに定義されている項目種類に対応した項目を前記アドレス帳データにおける項目群から取得する項目取得手段と、
前記テンプレートファイルに定義されている、宛名印刷面の位置に、前記取得された項目を割付ける割付手段と
を備える処理装置。
【請求項２】
前記テンプレートファイルには、抽出条件が含まれており、
前記処理装置は、前記抽出条件に対応する単位データを前記アドレス帳データから抽出する手段を更に備え、
前記項目取得手段は、前記抽出された単位データに含まれる項目群から前記対応した項目を取得する、
請求項１記載の処理装置。
【請求項３】
前記テンプレートファイルは、前記抽出条件として所定の抽出アルゴリズムに関する情報を含み、
前記抽出する手段は、前記情報から特定された前記抽出アルゴリズムに従って特定の項目を判別し、前記判別された特定の項目を含んだ単位データを、前記アドレス帳データから抽出する、
請求項２記載の処理装置。
【請求項４】
前記処理装置は印刷装置であり、
前記印刷装置は、第一の印刷モードと第二の印刷モードとを有し、前記第一の印刷モードが設定されている場合に、前記アドレス帳データが入力されたならば、前記項目取得手段と前記割付手段を実行し、一方、前記第二の印刷モードが設定されている場合に、前記アドレス帳データが入力されたならば、前記入力されたアドレス帳データを印刷する、
請求項１記載の処理装置。
【請求項５】
前記処理装置は、アドレス帳データを記憶している携帯情報端末機と通信することができ、
前記携帯情報端末機は、前記記憶しているアドレス帳データを送信することができ、且つ、サーバから前記テンプレートファイルをダウンロードし、前記ダウンロードされたテンプレートファイルも送信することができ、
前記第一の入力手段は、前記携帯情報端末機からアドレス帳データを受信して、前記受信したアドレス帳データを入力し、
前記第二の入力手段は、前記携帯情報端末機からテンプレートファイルを受信して、前記受信したテンプレートファイルを入力する、
請求項１記載の処理装置。
【請求項６】
前記アドレス帳データに含まれる単位データが前記第一の入力手段によって入力された場合にその入力された単位データを第一のデータ記憶域に格納する第一の格納手段と、
前記第一のデータ記憶域に記憶されている単位データの中から前記項目取得手段によって取得された一種類以上の項目を単位データ別に第二のデータ記憶域に格納する第二の格納手段と
を備え、
前記割付手段は、単位データ別に、前記第二のデータ記憶域に記憶されている一種類以上の項目を前記宛名印刷面の位置に割り付ける、
請求項１記載の処理装置。
【請求項７】
一の単位データごとに名前及び住所を含んだ複数種類の項目から成る項目群を有したデータであって、前記単位データを複数個備えたアドレス帳データを入力して、前記入力したアドレス長データをメモリに書き込むステップと、
宛名印刷面のどの位置にどんな種類の項目を印刷するかが定義されたテンプレートファイルをメモリに書き込むステップと、
前記メモリに書き込まれたテンプレートファイルに定義されている項目種類に対応した項目を、前記アドレス帳データにおける項目群から取得するステップと、
前記テンプレートファイルに定義されている、宛名印刷面の位置に、前記取得された項目を割付けるステップと
を有する処理方法。
【請求項８】
宛名印刷面のどの位置にどんな種類の項目を印刷するかが定義されたテンプレートファイルに記述されている項目種類に対応した項目を、一の単位データごとに名前及び住所を含んだ複数種類の項目から成る項目群を有し、前記単位データを複数個備えたアドレス帳データから、取得するステップと、
前記テンプレートファイルに定義されている、宛名印刷面の位置に、前記取得された項目を割り当てるステップと
をコンピュータに実行させるためのコンピュータ読み取り可能なコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、氏名等が書かれたアドレス帳データを用いたデータの処理技術に関する。
【背景技術】
【０００２】
携帯情報端末機として、例えば携帯電話機がある。携帯電話機には、アドレス帳データが記憶されており、ユーザは、そのアドレス帳データから所望の電話番号を検索して電話をかけることができる。
【０００３】
従来、携帯電話機が、上記のようなアドレス帳データをプリンタに送信し、プリンタが、そのアドレス帳データを用いて宛名の印刷をするという技術がある（例えば特許文献１）。
【０００４】
【特許文献１】特開２００３−７８７８２号公報（段落３５、４４及び４８）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述した従来の技術では、プリンタは、アドレス帳データの内容をプリンタのディスプレイ画面に表示し、確認指示や修正指示をユーザから受け付けた後で、宛名の印刷を実行するようになっている。
【０００６】
しかし、これでは、いちいちユーザの意思確認が必要とされているので、ユーザにとっては、面倒であり、利便性は低いと考えられる。また、このような問題点は、プリンタに限らず、アドレス帳データを用いた他種のデータ処理装置にも存在し得る。
【０００７】
従って、本発明の目的は、ユーザにとっての利便性を高められるような、アドレス帳データを用いたデータの処理技術を提供することにある。
【０００８】
本発明の更なる目的は、後述する実施の形態の記載から明らかになるであろう。
【課題を解決するための手段】
【０００９】
本発明の第一の側面に従う、データの処理装置は、一の単位データごとに名前及び住所を含んだ複数種類の項目から成る項目群を有し、前記単位データを複数個備えたアドレス帳データを入力する第一の入力手段と、宛名印刷面のどの位置にどんな種類の項目を印刷するかが定義されたテンプレートファイルを入力する第二の入力手段と、前記テンプレートファイルに定義されている項目種類に対応した項目を前記アドレス帳データにおける項目群から取得する項目取得手段と、前記テンプレートファイルに定義されている、宛名印刷面の位置に、前記取得された項目を割付ける割付手段とを備える。
【００１０】
ここで、たとえば、割付手段は、上記宛名印刷面の位置に取得された項目を割り当てた新たなファイルを生成し、そのファイルを出力することができる（例えば、そのファイルを解釈することができるモジュールに出力することができる）。また、例えば、データの処理装置が印刷装置の場合、印刷装置は、前記テンプレートファイルに定義されている、宛名印刷面の位置に、前記取得された項目を印刷することができる。
【００１１】
第一の実施態様では、前記テンプレートファイルには、抽出条件が含まれている。前記処理装置は、前記抽出条件に対応する単位データを前記アドレス帳データから抽出する手段を更に備える。前記項目取得手段は、前記抽出された単位データに含まれる項目群から前記対応した項目を取得する。また、処理装置は、第1の抽出条件及び第２の抽出条件のうちの少なくとも一方の抽出条件の入力をユーザから受け、入力された抽出条件を、テンプレートファイルに書き込んでも良い。
【００１２】
第二の実施態様では、前記第一の実施態様において、前記テンプレートファイルは、前記抽出条件として所定の抽出アルゴリズムに関する情報を含み、前記抽出する手段は、前記情報から特定される前記抽出アルゴリズムに従って特定の項目を判別し、前記判別された特定の項目を含んだ単位データを、前記アドレス帳データから抽出する。
【００１３】
第三の実施態様では、前記処理装置は印刷装置である。印刷装置は、第一の印刷モードと第二の印刷モードとを有し、前記第一の印刷モードが設定されている場合に、前記アドレス帳データが入力されたならば、前記項目取得手段と前記割付手段を実行し、一方、前記第二の印刷モードが設定されている場合に、前記アドレス帳データが入力されたならば、前記入力されたアドレス帳データを印刷する。
【００１４】
また、前記処理装置は、アドレス帳データを記憶している携帯情報端末機と通信することができる。前記携帯情報端末機は、前記記憶しているアドレス帳データを送信することができ、且つ、サーバから前記テンプレートファイルをダウンロードし、前記ダウンロードされたテンプレートファイルも送信することができる。その場合、前記第一の入力手段は、前記携帯情報端末機からアドレス帳データを受信して、前記受信したアドレス帳データを入力しる。前記第二の入力手段は、前記携帯情報端末機からテンプレートファイルを受信して、前記受信したテンプレートファイルを入力する。
【００１５】
また、前記処理装置は、第一の格納手段と第二の格納手段とを備えることができる。第一の格納手段は、前記アドレス帳データに含まれる単位データが前記第一の入力手段によって入力された場合にその入力された単位データを第一のデータ記憶域（例えば受信バッファ）に格納することができる。第二の格納手段は、前記第一のデータ記憶域に記憶されている単位データの中から前記項目取得手段によって取得された一種類以上の項目を単位データ別に第二のデータ記憶域に格納することができる。この場合、前記割付手段は、単位データ別に、前記第二のデータ記憶域に記憶されている一種類以上の項目を前記宛名印刷面の位置に割り付けることができる。第一のデータ記憶域と第二のデータ記憶域は、同一の記憶資源（例えばメモリ又はハードディスク）上に存在しても良いし、別々の記憶資源上に存在しても良い。また、前記処理装置は、更に、前記第二のデータ記憶域に格納された一種類以上の項目を含む単位データを前記第一のデータ記憶域から削除する削除手段を備えても良い。
【００１６】
また、上述したテンプレートファイルは、例えば、展開前は第一の形式（例えば、入れ子構造）で記述されているファイルであってもよい。前記処理装置は、前記第一の形式で記述されているファイルを予め展開しておくことにより第二の形式（例えば、階層構造）で記述されたテンプレートファイルに変換し、その第二の形式のテンプレートファイルを第三のデータ記憶域に格納しておく展開手段を備えることができる。この場合、前記割付手段は、前記第三のデータ記憶域に記憶されている前記第二の形式のテンプレートファイルが表す、宛名印刷面の位置に、前記第二のデータ記憶域に格納されている各種項目を割り付けることができる。
【００１７】
また、前記処理装置は、圧縮手段を備えることができる。前記圧縮手段は、前記第二のデータ記憶域の使用状況が所定の状況の場合に、これ以降に第二のデータ記憶域に格納される一種以上の項目（又は、既に格納されている項目）を圧縮することができる。前記第二の格納手段は、前記圧縮手段によって一種類以上の項目が圧縮された場合、圧縮された一種類以上の項目を前記第二のデータ記憶域に格納することができる。前記圧縮された一種類以上の項目は、例えば、前記割付手段による割付けの際に、解凍することができる。
【００１８】
本発明の第二の側面に従う、データの処理方法は、一の単位データごとに名前及び住所を含んだ複数種類の項目から成る項目群を有したデータであって、前記単位データを複数個備えたアドレス帳データを入力して、前記入力したアドレス長データをメモリに書き込むステップと、宛名印刷面のどの位置にどんな種類の項目を印刷するかが定義されたテンプレートファイルをメモリに書き込むステップと、前記メモリに書き込まれたテンプレートファイルに定義されている項目種類に対応した項目を、前記アドレス帳データにおける項目群から取得するステップと、前記テンプレートファイルに定義されている、宛名印刷面の位置に、前記取得された項目を割付けるステップとを有する。
【００１９】
本発明の第三の側面に従うコンピュータプログラムは、宛名印刷面のどの位置にどんな種類の項目を印刷するかが定義されたテンプレートファイルに記述されている項目種類に対応した項目を、一の単位データごとに名前及び住所を含んだ複数種類の項目から成る項目群を有するデータであって、前記単位データを複数個備えたアドレス帳データから、取得するステップと、前記テンプレートファイルに定義されている、宛名印刷面の位置に、前記取得された項目を割り当てるステップとをコンピュータに実行させるためのコンピュータ読み取り可能なコンピュータプログラムである。このコンピュータプログラムは、通信ネットワークを介してダウンロードしたり、可搬型記憶媒体（例えばＣＤ−ＲＯＭ）に格納して受け渡したりすることができる。
【発明を実施するための最良の形態】
【００２０】
以下、図面を参照して本発明の実施の形態を説明する。
【００２１】
図１は、本発明の一実施形態に係る処理装置が適用されたプリンタの構成を表す図である。
【００２２】
プリンタ２０は、種々の装置と通信することができる。例えば、プリンタ２０は、人間が携帯可能な情報端末機である携帯情報端末機（一例として携帯電話機）１０と通信することができる。その携帯情報端末機１０は、メモリ１１等の記憶装置に、アドレス帳データ１２を記憶している。アドレス帳データ１２は、所定のフォーマット、例えばvCardフォーマット（電子メール等で名前、住所、E-mailアドレス等の個人情報をやり取りするための規格）により構成されている。アドレス帳データ１２は、図２にその構成例を示すとおり、一以上のレコード１２Ａを含んでいる。各レコード１２Ａには、複数のレコード要素が含まれている。レコード要素としては、例えば、氏名、郵便番号、住所、電話番号、Ｅメールアドレス及び属性がある。属性としては、例えば、性別や、携帯情報端末機１０のユーザから見た人間関係（例えば、親戚、友人など）等の一以上の属性要素を採用することができる。携帯情報端末機１０は、ユーザの操作により、このようなアドレス帳データ１２の全体（又はユーザに選択された氏名等を含んだレコード）を、有線又は無線で（例えば赤外線通信で）、プリンタ２０に送信することができる。
【００２３】
再び図１を参照する。プリンタ２０は、操作部２１と、印刷部３７と、プリンタ制御部３０とを備えている。
【００２４】
操作部２１は、ユーザインターフェースであり、例えば、種々の情報を表示するためのディスプレイ画面や、種々の情報を入力するための複数のボタンを備えている。操作部２１は、例えば、ユーザの操作により、印刷対象とする宛名の抽出条件や、複数種類の宛名印刷面の中からユーザ所望の種類の宛名印刷面がどれであるか等を入力することができる。操作部２１は、タッチパネル式のものであってもよい。
【００２５】
印刷部３７は、入力された文字や画像等の情報を用紙に印刷する。印刷部３７は、例えば、プリンタ２０がインクジェットプリンタである場合には、インク滴を吐出する印刷ヘッド、印刷ヘッドを主操作方向に搬送するキャリッジ、用紙を副走査方向に送る紙送りモータ等から構成することができる。この実施形態では、用紙は、典型的には、官製ハガキ、年賀状、或いは封筒など、宛名印刷面を有するものとなる。
【００２６】
プリンタ制御部３０は、印刷のための情報処理を行う部分である。プリンタ制御部３０は、例えば、EEPROM２７等の書き換え可能な不揮発性メモリと、データを一時的に記憶するためのRAM３１と、プリンタ２０の動作全体を制御するためのCPU３２と、CPU３２に読み込まれるコンピュータプログラム等を記憶したROM３３と、プリンタ２０の外部に存在する装置と通信するためのインターフェース回路（以下、通信IF）３４と、印刷部３７に情報を送信するためのインターフェース回路（以下、印刷IF）３５とを備えている。
【００２７】
EEPROM２７は、複数の宛名印刷面レイアウト定義ファイル（以下、「定義ファイル」と略記）２６を記憶することができる。複数の定義ファイル２６の各々には、所定の種類（例えば、官製ハガキ、年賀状、或いは、定型A４サイズ等の所定の型の封筒）の宛名印刷面のテンプレートに関する情報が記述されている。定義ファイル２６は、例えば、マークアップ言語で記述されたスクリプトファイルである。「マークアップ言語」とは、例えば、ＸＨＴＭＬ（eXtensible Hyper Text Markup Language）である。定義ファイル２６の構成例については後述する。
【００２８】
RAM３１は、例えば、携帯情報端末機１０から通信IF３４を介して受信されたアドレス帳データ１２や、ＥＥＰＲＯＭ２７から読み出された定義ファイル２６等を記憶することができる。
【００２９】
ROM３３は、例えば、CPU３２に読み込まれるコンピュータプログラムの一つとして、印刷処理プログラム２２を記憶している。印刷処理プログラム２２は、CPU３２に読み込まれることにより動作することができる。印刷処理プログラム２２が行う処理動作については後述する。
【００３０】
CPU３２は、携帯情報端末機１０から受信したアドレス帳データ１２をRAM３１に記憶させることができる。また、CPU３２は、例えば、ＥＥＰＲＯＭ２７に記憶されている定義ファイル２６を読み出してＲＡＭ３１に記憶させることができる。読み出す定義ファイル２６として、CPU３２は、例えば、操作部２１から指定された種類（例えば年賀状）のテンプレートが記述された定義ファイル２６とすることができる。
【００３１】
また、CPU３２は、印刷処理プログラム２２をROM３３から読み込むことによって、宛名印刷処理を行うこともできる。その宛名印刷処理では、例えば、CPU３２は、ＲＡＭ３１上の定義ファイル２６を解釈して、用紙のどこにどのようなレコード要素を印刷するかを判定し、その判定結果に従う一以上のレコード要素を、ＲＡＭ３１上のアドレス帳データ１２におけるレコードから抽出し、抽出されたレコード要素とそのレコード要素の印刷領域位置とに基づく印刷データを生成し、生成された印刷データを印刷ＩＦ３５を介して印刷部３７に送信する。これにより、用紙に宛名が印刷される。
【００３２】
また、CPU３２は、複数の印刷モードとして、例えば、宛名印刷モードと、通常印刷モードとを実行することができる。例えば、操作部２１から宛名印刷モードを設定する旨の指令が入力されたならば、CPU３２は、その旨を表す情報をRAM３１（或いはCPU３２の図示しないレジスタ）に設定し、その後に、アドレス帳データ１２を受信してRAM３１に記憶させた場合には、そのアドレス帳データ１２と、RAM３１に記憶されている定義ファイル２６とに基づいて、上述した宛名印刷処理を実行する。一方、操作部２１から通常印刷モードを設定する旨の指令が入力されたならば、CPU３２は、その旨を表す情報をRAM３１（或いはCPU３２の図示しないレジスタ）に設定し、その後に、アドレス帳データ１２を受信してRAM３１に記憶させた場合には、そのアドレス帳データ１２を印刷対象として印刷するための処理を実行する。これにより、アドレス帳データ１２に基づいて年賀状等に宛名を印刷するか、あるいは、アドレス帳データ１２に登録されている一以上の宛名等を所望の用紙（例えば普通紙）に一覧印刷するかを制御することができる。
【００３３】
図３は、定義ファイル２６の構成概念例を示す。図４は、図３に示した定義ファイル２６から導き出せる宛名印刷面のレイアウトを示す。
【００３４】
定義ファイル２６には、用紙種類（例えば「年賀状」）と、印刷領域の位置情報及びその印刷領域に印刷されるべきレコード要素種類（例えば「氏名」或いは「住所」）と、アドレス帳データ１２におけるレコードの抽出条件とを登録することができる。
【００３５】
印刷領域の位置情報は、例えば、用紙上の或る矩形領域の左上頂点の座標と右下頂点の座標とのセットによって表すことができる。各座標は、所定の位置、例えば、用紙の左上頂点を原点とした場合の座標である。なお、印刷領域の位置情報は、別の方法、例えば、印刷領域を表す数式と、その数式中のパラメータ値とのセットによって表すこともできる。
【００３６】
抽出条件としては、種々の条件を登録することができる。例えば、図３に例示する通り、属性要素「性別」として『男性』というデータを含むことを抽出条件とすることができるし、図示しないが、そのようなデータを含むことと、「長野県」を含んだ住所を有することとの一方又は双方を満たすことを抽出条件とすることもできる。抽出条件は、予め定義ファイル２６に登録されていても良いし、携帯情報端末機１０或いは操作部２１から入力されてもよい。後者の場合、例えば、ＣＰＵ３２が、入力された抽出条件を、操作部２１を用いて選択された定義ファイル２３に登録することができる。
【００３７】
以上が、定義ファイル２６の一例についての説明である。図３に例示した定義ファイル２６によれば、例えば、点A（X1,Y1）と点B（X2,Y2）とにより定められる矩形領域に対し、アドレス帳データ１２から抽出されたレコードに含まれている複数種類のレコード要素のうち住所が割り当てられる。
【００３８】
図５は、ＣＰＵ３２が行う処理流れの一例を示す。
【００３９】
ＣＰＵ３２は、アドレス帳データ１２を携帯情報端末機１０から受信した場合（Ｓ１０）、受信したアドレス帳データ１２をＲＡＭ３１に書いて、現在設定されている印刷モードを調べる（Ｓ２０）。現在設定されている印刷モードが何であるかは、例えば、ＲＡＭ３１（或いはＣＰＵ３２の図示しないレジスタ）を参照することで、調べることができる。
【００４０】
Ｓ２０において、通常印刷モードであることがわかった場合、ＣＰＵ３２は、受信しＲＡＭ３１に記憶されたアドレス帳データ１２を印刷するための印刷データを生成し（Ｓ９０）、生成した印刷データを印刷部３７に送信する（Ｓ１００）。
【００４１】
Ｓ２０において、宛名印刷モードであることがわかった場合、ＣＰＵ３２は、ＲＡＭ３１に読み出された定義ファイル２６の解釈を行う（Ｓ３０）。もし、ＲＡＭ３１に定義ファイル２６が無ければ、ＣＰＵ３２は、操作部２１を介して、所望の用紙種類をユーザに入力させ、入力された用紙種類に対応した定義ファイル２６をＥＥＰＲＯＭ２７から検索して読み出し、読み出された定義ファイル２６をＲＡＭ３１に書く。
【００４２】
次に、ＣＰＵ３２は、定義ファイル２６に書かれている抽出条件にマッチするレコードをアドレス帳データ１２から抽出する（Ｓ４０）。もし、抽出条件が書かれていなければ、例えば、最初のレコードが抽出されても良い。
【００４３】
ＣＰＵ３２は、抽出されたレコードから、定義ファイル２６に従う種類（具体的には、定義ファイル２６に記述されているレコード要素種類）に対応したレコード要素を取得する（Ｓ５０）。この処理により、レコードに含まれている複数種類のレコード要素のうち、宛名の印刷のために必要な種類のレコード要素が取得される。
【００４４】
ＣＰＵ３２は、取得されたレコード要素を定義ファイル２６に従う印刷領域位置に割り当てた印刷データを生成し（Ｓ６０）、生成した印刷データを印刷部３７に送信する（Ｓ７０）。これにより、取得されたレコード要素が、定義ファイル２６に記述されている、宛名印刷面上の上記印刷領域位置に印刷される。
【００４５】
ＣＰＵ３２は、上記のＳ５０乃至Ｓ７０の処理を、Ｓ４０で抽出された全てのレコードについて行う。
【００４６】
以上、上述した実施形態によれば、定義ファイル２６の記述内容に従って、携帯情報端末機１０から受信されたアドレス帳データ１２におけるレコードの中から、宛名の印刷に必要な種類のレコード要素が自動的に抽出され、抽出されたレコード要素種類が表す情報が印刷される。このため、アドレス帳データ１２の内容をプリンタ２０のディスプレイ画面に表示したり、ユーザからの確認指示を受けたりすることなく、宛名の印刷を行うことができるので、ユーザにとって利便性が高い。
【００４７】
また、上述した実施形態によれば、定義ファイル２６に抽出条件を記述することができ、定義ファイル２６に記述された抽出条件にマッチするレコードが、アドレス帳データ１２から抽出され、抽出されたレコードに含まれる情報のみが印刷される。このため、プリンタ２０のディスプレイ画面にアドレス帳データ１２の内容を表示し、その表示内容からユーザが所望の宛名を選択する作業を行わなくても、ユーザ所望の宛名が印刷される。また、抽出条件を定義ファイル２６に書き込んでおくことで、その定義ファイルを別のプリンタに入力しても、その別のプリンタから所望の宛名を印刷することができる。
【００４８】
ところで、上述した実施形態の第一の変形例では、定義ファイル２６は、可搬型記憶媒体（例えばメモリカード）或いは通信ネットワークを介して、プリンタ２０に入力されても良い。また、例えば、図６に例示するように、携帯情報端末機１０が、サーバ２に蓄積されている複数の定義ファイル２６の中から所望の定義ファイル２６をダウンロードしてメモリ１１に登録し、登録された定義ファイル２６をプリンタ２０に送信し、プリンタ２０が、その定義ファイル２６をＲＡＭ３１に書き込んでも良い。
【００４９】
上述した実施形態の第二の変形例では、印刷処理プログラム２２の代わりに、図７に例示するように、第一の印刷処理サブプログラム２２Ａと、第二の印刷処理プログラム２２Ｂとが備えられていても良い。その場合、例えば、第一の印刷処理サブプログラム２２Ａが、アドレス帳データ１２におけるレコードから抽出されたレコード要素を、定義ファイル２６に記述されている印刷領域情報に割り当てて、第二の印刷処理サブプログラム２２Ｂが解釈可能な新たな定義ファイル（例えばスクリプト）２８を生成し、生成された新たな定義ファイル２８を第二の印刷処理サブプログラム２２Ｂに渡してもよい。第二の印刷処理サブプログラム２２Ｂは、渡された新たな定義ファイル２８に基づく印刷データを生成し、生成された印刷データを印刷部３７へ送ることができる。なお、新たな定義ファイル２８には、例えば、図７に示すように、印刷領域位置を表す情報と、その印刷領域位置に印刷されるべきレコード要素とのセットが記述される。
【００５０】
上述した実施形態の第三の変形例では、定義ファイル２６に、差出人の氏名や住所の印刷領域に関する情報を記述し、用紙の宛名印刷面に差出人の氏名や住所が印刷されるようにしてもよい。差出人の氏名や住所は、アドレス帳データ１２に記録されていても良いし、アドレス帳データ１２とは別のデータに記録されていても良い。前者の場合、どれが差出人のレコードであるかがわかるように、例えば、属性というレコード要素種類に、差出人という情報が設定されていても良い。後者の場合、携帯情報端末機１２に記憶されている上記別のデータも、赤外線通信等により、プリンタ２０に送信されてもよい。
【００５１】
上述した実施形態の第四の変形例では、アドレス帳データ１２は、携帯情報端末機１０とは別の装置（例えばホスト装置或いは可搬方記憶媒体）からプリンタ２０に入力されても良い。
【００５２】
上述した実施形態の第五の変形例では、定義ファイル２６に、抽出条件として、レコードを抽出するための（又はレコードから定義ファイルを抽出するための）抽出アルゴリズムに関する情報が記述することができる。
【００５３】
抽出アルゴリズムに関する情報の一つの例としては、図８Ａに例示するように、抽出アルゴリズムを実行するためのプログラム（以下、抽出アルゴリズム実行プログラム）とすることができる。この場合、例えば、ＣＰＵ３２は、定義ファイル２６から特定される抽出アルゴリズム実行プログラムを解釈して抽出アルゴリズムを実行し、アドレス帳データ１２に存在し得る特定のレコード要素を判別して、判別された特定のレコード要素を含んだレコードをアドレス帳データ１２から抽出する。ここで実行する抽出アルゴリズムとしては、例えば、住所として記述されているレコード要素の中にアルファベットが含まれているか否かを判断し、判断結果が肯定的であれば、そのレコード要素が特定のレコード要素であると判定するアルゴリズムとすることができる。このようにすることで、例えば、外国の宛名面のレイアウトに従う定義ファイル２６が選択された場合には、外国の住所であるレコード要素を特定して、そのレコード要素を含んだレコードのみを、宛名印刷の対象として抽出することができる。
【００５４】
抽出アルゴリズムに関する情報の別の例としては、図８Ｂに例示するように、文字列とすることができる。この場合、ＣＰＵ３２は、例えば、ユーザから操作部２１を介して抽出ターム（例えば外国）が入力された場合、その抽出タームを含んだ文字列を有する定義ファイル２６を複数の定義ファイル２６の中から選択することができる。また、ＣＰＵ３２は、その定義ファイル２６に記述された文字列に対応する抽出アルゴリズム実行プログラムをテーブル８０から特定し、特定されたプログラムを解釈して抽出アルゴリズムを実行することができる。テーブル８０には、複数の文字列にそれぞれ対応した複数の抽出アルゴリズム実行プログラムに関する情報を記述しておくことができる。このテーブル８０は、例えば、外部の装置（例えば図示しないサーバ）からプリンタ２０に入力して、プリンタ２０内の記憶装置に記憶させることができる。
【００５５】
上述した実施形態の第六変形例として、定義ファイル２６に記述された抽出条件を、レコードを抽出するための条件とすることもできるし、定義ファイル２６を抽出するための条件とすることもできる。どちらにするかは、例えば、ユーザが設定することができる。
【００５６】
前者の場合、既に説明したように、例えば、ＣＰＵ３２は、定義ファイル２６に、抽出条件として「男性」が含まれている場合、男性という属性を含んだレコードを抽出することができる。後者の場合、例えば、ＣＰＵ３２は、宛名印刷の対象として選択されたレコードに「男性」という属性が含まれている場合、「男性」という抽出条件を含んだ定義ファイル２６を複数の定義ファイル２６の中から選択することができる。後者の方法で宛名印刷することが設定された場合、例えば、アドレス帳データ１２内のレコード要素の割り付け処理の際に、処理対象とされるレコードが或るレコードから別のレコードに変わった場合、適宜、使用される定義ファイルも或る定義ファイルから別の定義ファイルに変えられる。これにより、複数の定義ファイルに対応するレコードがアドレス帳データ１２に混在していても、手動で逐一定義ファイルを切り替えることなく、宛名の割り付け処理を実行することができる。
【００５７】
ところで、以下のような別の実施形態も考えられる。以下、その別の実施形態について説明する。なお、以下の説明では、上述した実施形態で説明されていない点を詳細に説明し、既に説明された点については説明を省略或いは簡略する。
【００５８】
図９は、本発明の別の実施形態の説明図である。
【００５９】
プリンタ２０が受信するアドレス帳データ１２には、前述した通り、複数の人間にそれぞれ対応した複数のレコード１２Ａ、１２Ａ、…が含まれている。各レコード１２Ａは、複数のレコード要素を含み、複数のレコード要素には、例えば、氏名、住所、電話番号等のレコード要素が含まれている。各レコード１２Ａは、例えば、行と列とから成るデータテーブルの各行であっても良いし、一つのデータファイル上で第一の所定コード（例えば所定の開始タグ）と第二の所定コード（例えば所定の終了タグ）との間に記述されたデータであってもよい。アドレス帳データ１２は、例えば、ｖＣａｒｄ或いはｖＯｂｊｅｃｔと呼ばれるデータである。
【００６０】
プリンタ２０には、例えば、複数のデータ記憶域として、受信バッファ３１Ａ、抽出データバッファ３１Ｂ及びレイアウト記憶域３１Ｃが用意される。これら複数のデータ記憶域は、同一の記憶資源（例えば、ＲＡＭ３１等のメモリ）上に用意することもできるし、別々の記憶資源上に用意することもできる。
【００６１】
また、上述した宛名印刷面レイアウト定義ファイル２６には、例えば、展開前の定義ファイル２６Ａと、展開後の定義ファイル２６Ｂとがある。展開前の定義ファイル２６Ａは、例えば、入れ子構造の言語で記述されたファイル、具体的には、例えば、ＸＨＴＭＬ形式のファイルである。展開前の定義ファイル２６Ａでは、入れ子構造で種々の要素（例えば、印刷領域位置情報や、印刷領域を一意に特定するためのＩＤ）が表される。展開後の定義ファイル２６Ｂは、展開前の定義ファイル２６Ａに対して所定の展開処理を行うことで生成される定義ファイルである。展開後の定義ファイル２６Ｂは、例えば、階層構造の言語で記述されたファイル、具体的には、例えば、ＤＯＭ（Document Object Model）ツリーを表すファイルである。展開前の定義ファイル２６Ａも展開後の定義ファイル２６Ｂも、例えば、レイアウト記憶域２６Ｃに格納される。
【００６２】
上述した印刷処理プログラム２２には、例えば、受信処理タスク２２Ａと、印刷処理タスク２２Ｂとが含まれている。
【００６３】
受信処理タスク２２Ａは、アドレス帳データ１２に含まれるレコード１２Ａを受信する都度に、受信したレコード１２Ａを受信バッファ３１Ａに格納する処理を行う。また、その処理と並行して、受信処理タスク２２Ａは、展開前の定義ファイル２６Ａ（又は展開後の定義ファイル２６Ｂ）を参照して、定義ファイル２６Ａの記述から、抽出すべき複数（又は一つ）のレコード要素種類を特定し、特定された複数のレコード要素種類にそれぞれ対応する複数のレコード要素を、受信バッファ３１Ａに格納されているレコード１２Ａから抽出し、抽出された複数のレコード要素を含んだデータ（以下、抽出データ）８１を抽出データバッファ３１Ｂに格納する処理を行う。更に、受信処理タスク２２Ａは、抽出データ８１がバッファ３１Ｂに格納された場合に、その格納された抽出データ８１に対応するレコード１２Ａを受信バッファ３１Ａから削除することもできる。受信処理タスク２２Ａは、複数のレコード要素を含んだ抽出データ８１として、例えば、図１０Ａに示すような抽出データ８１、すなわち、複数のレコード要素種類にそれぞれ対応付けられた複数のレコード要素を有するデータを、各レコード１２Ａ毎に生成することができる。また、それに代えて、受信処理タスク２２Ａは、例えば、図１０Ｂに例示するように、複数のレコード要素種類が記述されたデータ８６上に、複数のレコード要素から成る抽出データ８１を追記していくこともできる。なお、レコード要素種類に代えて、別種の情報、例えば、印刷領域を一意に識別するための印刷領域ＩＤが採用されても良い。その場合、印刷領域ＩＤは、展開前後の定義ファイル２６Ａ、２６Ｂに登録されていても良い。
【００６４】
印刷処理タスク２２Ｂは、例えば、解釈ユニット７２、ＸＭＬパーサ７４、レイアウタ７５及びレンダリング処理部７６を有する。
【００６５】
解釈ユニット７２は、展開前の定義ファイル２６Ａを解釈し、その解釈の結果に基づいて、展開後の定義ファイル２６Ｂを作成し、作成した定義ファイル２６Ｂを出力するユニットである。具体的には、例えば、解釈ユニット７２は、展開前の定義ファイル２６Ａの解析をＸＭＬパーサ７４に指示し、それの解析を行ったＸＭＬパーサ７４から解析結果を受け、その受けた解析結果に基づいて、図示しないＤＯＭ（Document Object Model）ツリーを作成し、作成したＤＯＭツリーを表したファイル、つまり、展開後の定義ファイル２６Ｂをレイアウト記憶域３１Ｃに書き込む。解釈ユニット７２は、この処理を、レイアウタ７５による後述の合成処理が始まる前に予め行っておくことができる。
【００６６】
解釈ユニット７２は、作成されたＤＯＭツリーのｌｉｎｋタグ（図示せず）内の初期化処理により依頼されたＣＳＳ（Cascading Style Sheets）文書を解析するＣＳＳパーサ７３を備える。解釈ユニット７２は、ＣＳＳパーサ７３の解析結果に基づいてスタイルオブジェクト（図示せず）を生成し、生成したスタイルオブジェクトをレイアウト記憶域３１Ｃに格納することができる。
【００６７】
ＸＭＬパーサ７４は、解釈ユニット７２からの指示に応答して、展開前の定義ファイル２６Ａを解析し、その解析結果を解釈ユニット７２に伝える。
【００６８】
レイアウタ７５は、所定のタイミング（例えば、抽出データバッファ３１Ｂに少なくとも一つの抽出データ８１が格納されたことを検出したタイミング）で、抽出データ８１に含まれる複数のレコード要素を、展開後の定義ファイル２６Ｂに合成する処理を実行することができる。具体的には、例えば、レイアウタ７５は、抽出データ８１を抽出データバッファ３１Ｂから読み出し、展開後の定義ファイル２６Ｂをレイアウト記憶域３１Ｃから読み出し、展開後の定義ファイル２６Ｂを解釈し、その解釈結果から、読み出された抽出データ８１に含まれるどのレコード要素を、展開後の定義ファイル２６Ｂに表されるどの印刷領域に割り付けるかを判断する。レイアウタ７５は、その判断結果に基づいて、読み出された抽出データ８１中のレコード要素を、ページ毎にレイアウトし（つまり、定義ファイル２６Ｂにレコード要素を合成し）、一つのページボックスにまとめ、そのページボックスをレイアウトオブジェクト（換言すれば合成済みデータ）として出力する。レイアウタ７５は、その合成済みデータをレイアウト記憶域３１Ｃに格納しても良い。
【００６９】
レンダリング処理部７６は、レイアウタ７５から出力された合成済みデータに基づいて、ＲＧＢデータとしてのイメージデータを生成する。別の言い方をすれば、レンダリング処理部７６は、合成済みデータに基づいてプリンタ２０独自のレイアウト処理を実行する。レンダリング処理部７６は、生成したイメージデータを印刷部３７に出力する。これにより、印刷部３７が、そのイメージデータに対して色変換処理及びハーフトーニング処理を行うことで、印刷画像データを生成し、その印刷画像データが表すページボックス（レイアウトされたレコード要素等）を印刷する。
【００７０】
この別の実施形態において、例えば、プリンタ２０は、各レコード１２Ａ毎に、そこから抽出されたレコード用を含む抽出データ８１を保存するが、その抽出データ８１に含まれるレコード要素が合成された定義ファイル２６Ｂを幾つも保存することはしない。プリンタ２０は、レコード要素が合成された定義ファイル２６Ｂの印刷データが生成されたならば、その印刷データに基づいて印刷を行う。
【００７１】
以下、この別の実施形態において行われる処理の流れを説明する。
【００７２】
図１１Ａは、受信処理タスク２２Ａが行う一つの処理流れを示す。
【００７３】
受信処理タスク２２Ａは、アドレス帳データ１２に含まれるレコード１２Ａを受信する都度に（Ｓ３０１でＹＥＳ）、受信したレコード１２Ａを受信バッファ３１Ａに格納する（Ｓ３０２）。
【００７４】
図１１Ｂは、受信処理タスク２２Ａが行う別の処理流れを示す。
【００７５】
受信処理タスク２２Ａは、図１１Ａに示した処理と並行して、この図１１Ｂに示す処理を行うことができる。
【００７６】
受信処理タスク２２Ａは、受信バッファ３１Ａに所定数（例えば少なくとも一件）のレコード１２Ａが格納されるまで待つ（Ｓ２０１でＮＯ）。受信処理タスク２２Ａは、所定数のレコード１２Ａが受信バッファ３１Ａに格納されたならば、展開前の定義ファイル２６Ａ（又は展開後の定義ファイル２６Ｂ）を参照し（Ｓ２０２）、抽出すべき複数（又は一つ）のレコード要素種類を特定する（Ｓ２０３）。受信処理タスク２２Ａは、特定された複数のレコード要素種類にそれぞれ対応する複数のレコード要素を、受信バッファ３１Ａに格納されているレコード１２Ａから抽出し、抽出データ８１を作成する（Ｓ２０４）。
【００７７】
受信処理タスク２２Ａは、抽出データバッファ３１Ｂの使用状況を調べる（Ｓ２０５）。
【００７８】
Ｓ２０５の結果、抽出データバッファ３１Ｂの使用状況が所定の使用状況になっていれば（Ｓ２０５でＹＥＳ）、受信処理タスク２２Ａは、Ｓ２０４で作成された抽出データ８１を圧縮し（Ｓ２０６）、圧縮された抽出データ８１を抽出データバッファ３１Ｂに格納する（Ｓ２０７）。ここで、「所定の使用状況」としては、例えば、抽出データバッファ３１Ｂの空き領域のサイズが所定の閾値以下（抽出データバッファ３１Ｂの全記憶領域の半分以下）になった状況である。また、Ｓ２０６では、受信処理タスク２２Ａは、Ｓ２０４で作成された抽出データ８１に代えて又は加えて、抽出データバッファ３１Ｂに既に格納されている全ての又は一部の抽出データ８１を圧縮することもできる。
【００７９】
Ｓ２０５の結果、抽出データバッファ３１Ｂの使用状況が所定の使用状況になっていなければ（Ｓ２０５でＮＯ）、受信処理タスク２２Ａは、Ｓ２０４で作成された抽出データ８１を圧縮することなく抽出データバッファ３１Ｂに格納する（Ｓ２０７）。
【００８０】
Ｓ２０７の処理の後、受信処理タスク２２Ａは、Ｓ２０７で格納された抽出データ８１に対応するレコード１２Ａを受信バッファ３１Ａから消去する（Ｓ２０８）。受信処理タスク２２Ａは、このＳ２０８の処理を、例えば、Ｓ２０７の格納処理よりも前であって、Ｓ２０４で抽出データ８１を作成した以降に行っても良い。
【００８１】
以上が、受信処理タスク２２Ａが行う処理の流れである。
【００８２】
印刷処理タスク２２Ｂが行う処理の流れは格別図示しないが、その処理の流れの概要は以下の通りである。
【００８３】
すなわち、印刷処理タスク２２Ｂは、予め、展開前の定義ファイル２６Ａを展開して定義ファイル２６Ｂにし、定義ファイル２６Ｂをレイアウト記憶域３１Ｃに格納しておく。定義ファイル２６Ａを展開するタイミングとしては、例えば、ユーザから操作部２１（図１参照）を介して、ユーザ所望の定義ファイル２６Ａが指定されたとき、或いは、少なくとも一つのレコード１２Ａの受信が検出されたときを採用することができる。印刷処理タスク２２Ｂは、抽出データバッファ３１Ｂから抽出データ８１を抽出し（抽出データ８１が圧縮されていれば解凍し）、抽出された抽出データ８１に含まれているレコード要素を、展開後の定義ファイル２６Ｂに合成して、各レコード１２Ａ毎に対応した宛名印刷面のページ（印刷データ）を生成する。生成されたページを表す印刷データは、印刷部３７に送られ、それにより、印刷部３７から、各レコード１２Ａ毎に対応した宛名印刷結果が出力される。なお、印刷処理タスク２２Ｂは、抽出データ８１を抽出データバッファ３１Ｂから読み出した場合（例えば、その抽出データ８１を用いた宛名印刷に成功した場合）、読み出した抽出データ８１を抽出データバッファ３１Ｂから削除することができる。
【００８４】
以上、本発明の幾つかの実施形態及び幾つかの変形例を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこれらの実施形態及び変形例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。例えば、実施形態及び変形例では、プリンタを例に採って説明したが、実施形態及び変形例の内容は、デジタルカメラ或いはパーソナルコンピュータなどの種々の処理装置に適用することができる。例えば、パーソナルコンピュータであれば、定義ファイルで定義されている宛名面位置に、定義ファイルにおいて定義されている宛名面位置に対応付けられているレコード要素種類に対応したレコード要素を、アドレス帳データ１２から抽出し、抽出されたレコード要素をその宛名面位置に割り付け、割り付け後の内容を出力、例えば、定義ファイルから導き出せる宛名面にレコード要素を載せた画像をディスプレイ画面に表示するか、或いは、割り付け後の内容を表す新たな定義ファイル２８を生成して保存したり送信したりすることができる。
【図面の簡単な説明】
【００８５】
【図１】本発明の一実施形態に係る処理装置が適用されたプリンタの構成を表す図である。
【図２】アドレス帳データの構成例を表す図である。
【図３】定義ファイルの構成概念例を示す。
【図４】図３に示した定義ファイルから導き出せる宛名印刷面のレイアウトを示す。
【図５】本発明の一実施形態に係るプリンタのＣＰＵが行う処理流れの一例を示す。
【図６】本発明の一実施形態の第一の変形例の説明図。
【図７】本発明の一実施形態の第二の変形例の説明図。
【図８】図８Ａは、抽出アルゴリズムに関する情報が文字列である場合の定義ファイルの一例を示す。図８Ｂは、抽出アルゴリズムに関する情報が抽出アルゴリズムを実行するためのプログラムである場合の定義ファイルの一例を示す。
【図９】図９は、本発明の別の実施形態の説明図である。
【図１０】図１０Ａは、抽出データの一つの構成例を示す。図１０Ｂは、抽出データの別の構成例を示す。
【図１１】図１１Ａは、受信処理タスク２２Ａが行う一つの処理流れを示す。図１１Ｂは、受信処理タスク２２Ａが行う別の処理流れを示す。
【符号の説明】
【００８６】
１０…携帯情報端末機、  １１…メモリ、  １２…アドレス帳データ、  ２０…プリンタ、  ２２…印刷処理プログラム、  ２６…宛名印刷面レイアウト定義ファイル、  ３０…プリンタ制御部、  ３１…RAM、  ３２…CPU、  ３３…ROM、  ３４…通信IF、  ３５…印刷IF
【図１】
2006120113.tif 000003
【図２】
2006120113.tif 000004
【図３】
2006120113.tif 000005
【図４】
2006120113.tif 000006
【図５】
2006120113.tif 000007
【図６】
2006120113.tif 000008
【図７】
2006120113.tif 000009
【図８】
2006120113.tif 000010
【図９】
2006120113.tif 000011
【図１０】
2006120113.tif 000012
【図１１】
2006120113.tif 000013