IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ブラザー工業株式会社の特許一覧

<>
  • 特許-制御プログラム 図1
  • 特許-制御プログラム 図2
  • 特許-制御プログラム 図3
  • 特許-制御プログラム 図4
  • 特許-制御プログラム 図5
  • 特許-制御プログラム 図6
  • 特許-制御プログラム 図7
  • 特許-制御プログラム 図8
  • 特許-制御プログラム 図9
  • 特許-制御プログラム 図10
  • 特許-制御プログラム 図11
  • 特許-制御プログラム 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-25
(45)【発行日】2023-10-03
(54)【発明の名称】制御プログラム
(51)【国際特許分類】
   G06F 3/12 20060101AFI20230926BHJP
   H04L 51/04 20220101ALI20230926BHJP
【FI】
G06F3/12 323
G06F3/12 343
G06F3/12 344
G06F3/12 378
G06F3/12 308
H04L51/04
【請求項の数】 5
(21)【出願番号】P 2019144999
(22)【出願日】2019-08-07
(65)【公開番号】P2021026578
(43)【公開日】2021-02-22
【審査請求日】2022-07-26
(73)【特許権者】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000992
【氏名又は名称】弁理士法人ネクスト
(72)【発明者】
【氏名】山田 純
【審査官】征矢 崇
(56)【参考文献】
【文献】特開2002-259302(JP,A)
【文献】特開2011-022932(JP,A)
【文献】特開2008-305278(JP,A)
【文献】特開平08-290629(JP,A)
【文献】特開2019-057093(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F3/12
B41J29/00-29/70
H04L51/02;51/04
(57)【特許請求の範囲】
【請求項1】
情報処理装置のコンピュータが読み取り可能な制御プログラムであって、
前記コンピュータを、
前記制御プログラムと異なるアプリケーションプログラムであり、前記情報処理装置と異なる装置とメッセージのテキストデータの送受信を行うための前記アプリケーションプログラムにおいて受信されたメッセージのテキストデータを監視する監視手段と、
前記監視手段により監視されたテキストデータが所定の条件を満たした場合に、当該所定の条件を満たしたテキストデータを、印刷対象のテキストデータとして前記アプリケーションプログラムら取得する取得手段と、
前記取得手段により取得されたテキストデータに基づくテキストを配置可能なテンプレートのデータであるテンプレートデータを、複数のテンプレートデータから選択する選択手段と、
前記選択手段により選択されたテンプレートデータに基づくテンプレートに、前記取得手段により取得されたテキストデータに基づくテキストを配置した印刷用画像データを作成する作成手段と、
前記印刷対象のテキストデータを要求する要求メッセージの送信依頼を、前記アプリケーションプログラムに出力する第2出力手段と
して機能させ
前記取得手段は、
前記要求メッセージの送信依頼に応じて前記アプリケーションプログラムが当該要求メッセージを送信した場合に、当該要求メッセージの送信に応じて受信したメッセージのテキストデータが前記所定の条件を満たしているものとして、当該メッセージのテキストデータを、前記アプリケーションプログラムから取得することを特徴とする制御プログラム。
【請求項2】
前記選択手段は、
前記取得手段により取得されたテキストデータに基づくテキストの言語に応じたテンプレートのテンプレートデータを、複数のテンプレートデータから選択することを特徴とする請求項1に記載の制御プログラム。
【請求項3】
前記コンピュータを、
前記選択手段により複数のテンプレートデータが選択された場合に、当該複数のテンプレートデータの中から任意のテンプレートデータを選択するための選択画面を、前記情報処理装置のディスプレイに表示させる表示制御手段として機能させることを特徴とする請求項1又は2に記載の制御プログラム。
【請求項4】
前記コンピュータを、
前記選択手段により選択されたテンプレートデータに基づくテンプレートに、前記取得手段により取得されたテキストデータに基づくテキストを配置するために、テキストに不足が生じている場合に、不足しているテキストの要求を出力する第1出力手段として機能させることを特徴とする請求項1乃至3の何れか1項に記載の制御プログラム。
【請求項5】
前記コンピュータを、
前記アプリケーションプログラムを監視対象のプログラムとして設定する設定手段として機能させ、
前記監視手段は、
前記設定手段により設定された前記アプリケーションプログラムで処理されるテキストデータを監視することを特徴とする請求項乃至の何れか1項に記載の制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、テンプレートにテキストを配置した印刷用画像データを作成する制御プログラムに関する。
【背景技術】
【0002】
下記特許文献には、ユーザにより入力された条件に応じたテンプレートを選択するための技術が記載されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2012-078886号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明は、適切なテンプレートを選択することを課題とする。
【課題を解決するための手段】
【0005】
上記課題を解決するために、実施例に開示する制御プログラムは、情報処理装置のコンピュータが読み取り可能な制御プログラムであって、前記コンピュータを、前記制御プログラムと異なるアプリケーションプログラムから印刷対象のテキストデータを取得する取得手段と、前記取得手段により取得されたテキストデータに基づくテキストを配置可能なテンプレートのデータであるテンプレートデータを、複数のテンプレートデータから選択する選択手段と、前記選択手段により選択されたテンプレートデータに基づくテンプレートに、前記取得手段により取得されたテキストデータに基づくテキストを配置した印刷用画像データを作成する作成手段と、して機能させることを特徴とする。
【発明の効果】
【0006】
実施例に開示する制御プログラムは、当該制御プログラムと異なるアプリケーションプログラムから印刷対象のテキストを取得する。そして、制御プログラムが、取得したテキストを配置可能なテンプレートを、複数のテンプレートから選択し、その選択したテンプレートに、先に取得しているテキストを配置した印刷用画像データを作成する。これにより、アプリケーションプログラムから取得されたテキストを適切に配置することが可能なテンプレートを適切に選択することができる。
【図面の簡単な説明】
【0007】
図1】プリンタシステム1のブロック図である。
図2】プリンタシステム1の動作を示すシーケンス図である。
図3】プリンタシステム1の動作を示すシーケンス図である。
図4】プリンタシステム1の動作を示すシーケンス図である。
図5】プリンタシステム1の動作を示すシーケンス図である。
図6】プリンタシステム1の動作を示すシーケンス図である。
図7】登録サブルーチンを示す図である。
図8】学習サブルーチンを示す図である。
図9】テンプレート選択サブルーチンを示す図である。
図10】アプリ選択画面120を示す図である。
図11】アカウント入力画面130を示す図である。
図12】プレビュー画像150を示す図である。
【発明を実施するための形態】
【0008】
以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明する実施形態は、本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。例えば、後述する各処理の実行順序は、本発明の要旨を変更しない範囲で、適宜変更できる。
【0009】
図1は、本実施形態に係るプリンタシステム1のブロック図である。図1に示すプリンタシステム1は、PC(情報処理装置の一例)10、プリンタ50を備える。PC10は、CPU(コンピュータの一例)12、メモリ14、LCD(ディスプレイの一例)16、入力I/F18、通信I/F20を主に備えている。これらの構成要素は、バス22を介して互いに通信可能とされている。
【0010】
PC10及びプリンタ50は、通信I/F20及び通信経路52を通じて通信可能となっている。通信の方式としては、例えば、有線LAN、USB、Wi-Fi(登録商標)やBluetooth(登録商標)を採用できる。なお、プリンタ50は、例えば、ラベルプリンタであり、PC10との間で各種の情報や指示信号を送受信し、PC10による制御に基づいて、所望のテキストや画像等のオブジェクトを印刷したラベルを作成する。
【0011】
CPU12は、メモリ14内の制御プログラム(制御プログラムの一例)30、若しくは、メッセージアプリケーション(アプリケーションプログラムの一例)32に従って処理を実行する。制御プログラム30は、例えば、プリンタ50により印刷される画像を印刷するための印刷データを作成するためのアプリケーションプログラムである。また、メッセージアプリケーション32は、PC10と異なる装置とメッセージのテキストデータを送受信するためのアプリケーションプログラムである。なお、以下の説明では、制御プログラム30等を実行するCPU12のことを、単にプログラム名でも記載する場合がある。例えば、「制御プログラム30等が」という記載は、「制御プログラム30等を実行するCPU12が」ということを意味する場合がある。
【0012】
また、メモリ14は、データ記憶領域34を備える。データ記憶領域34は、制御プログラム30等の実行に必要なデータなどを記憶する領域である。なお、メモリ14は、RAM、ROM、フラッシュメモリ、HDD、PC10に着脱されるUSBメモリ等の可搬記憶媒体、CPU12が備えるバッファなどが組み合わされて構成されている。
【0013】
なお、メモリ14は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non-transitoryな媒体である。non-transitoryな媒体には、上記の例の他に、CD-ROM、DVD-ROM等の記録媒体も含まれる。また、non-transitoryな媒体は、tangibleな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、non-transitoryなコンピュータが読み取り可能なストレージ媒体には含まれない。
【0014】
また、LCD16は、PC10の各種情報を表示する。なお、本願のディスプレイは、液晶ディスプレイに限らず、有機ELディスプレイ等の他の表示方式のディスプレイでも良い。入力I/F18は、キーボード、マウス等を含み、ユーザ操作を入力するためのインタフェースである。なお、入力I/F18は、キーボード等に限らず、LCD16の表示画面に重畳された膜状のタッチセンサでも良い。
【0015】
なお、本明細書では、基本的に、プログラムに記述された命令に従ったCPU12の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「取得」、「受付」、「制御」「設定」等の処理は、CPU12の処理を表している。CPU12による処理は、OSを介したハードウェア制御も含む。なお、「取得」は要求を必須とはしない概念で用いる。すなわち、CPU12が要求することなくデータを受信するという処理も、「CPU12がデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。また、「命令」「応答」「要求」等の処理は、「命令」「応答」「要求」等を示す情報を通信することにより行われる。また、「命令」「応答」「要求」等の文言を、「命令」「応答」「要求」等を示す情報そのものという意味で記載してもよい。また、CPUによる、情報Aは事柄Bであることを示しているか否かを判断する処理を、「情報Aから、事柄Bであるか否かを判断する」のように概念的に記載することがある。CPUによる、情報Aが事柄Bであることを示しているか、事柄Cであるかを示しているかを判断する処理を、「情報Aから、事柄Bであるか事柄Cであるかを判断する」のように概念的に記載することがある。
【0016】
プリンタシステム1では、上述した構成に従って、メッセージアプリケーション32により、PC10と異なる装置とメッセージのテキストデータの送受信を行うことが可能とされている。この際、制御プログラム30が、メッセージアプリケーション32による処理を監視しており、メッセージアプリケーション32により送受信されるテキストデータに基づくテキストを配置可能なテンプレートを自動で選択する。そして、選択されたテンプレートにテキストが配置された印刷用データが作成され、その印刷用データがプリンタ50に送信されることで、プリンタ50において、送信された印刷用データに基づく画像のラベル印刷が実行される。
【0017】
詳しくは、例えば、メッセージアプリケーション32の処理により、図2に示すように、第三者、ここでは、鈴木太郎氏とメッセージの送受信が行われる。この際、インターネットを利用した商取引、所謂、eコマースが行われる場合がある。このような場合には、鈴木太郎氏、つまり、お客様から、商品を注文する旨のメッセージ(以下、「注文メッセージ」と記載する)を、メッセージアプリケーション32が受信すると、その注文メッセージ100をLCD16に表示する。
【0018】
次に、その注文メッセージの受信に応じて、商品の代金の入金を依頼する旨のメッセージ(以下、「入金依頼メッセージ」と記載する)が入力されると、メッセージアプリケーション32は、その入金依頼メッセージをお客様に送信し、その入金依頼メッセージ102をLCD16に表示する。続いて、その入金依頼メッセージの送信に応じて、お客様から、商品の代金を入金した旨のメッセージ(以下、「入金済みメッセージ」と記載する)をメッセージアプリケーション32が受信すると、その入金済みメッセージ104をLCD16に表示する。
【0019】
そして、その入金済みメッセージの受信に応じて、商品の発送先の宛名を要求する旨のメッセージ(以下、「要求メッセージ」と記載する)が入力されると、メッセージアプリケーション32は、その要求メッセージをお客様に送信し、その要求メッセージ106をLCD16に表示する。さらに、その要求メッセージの送信に応じて、お客様から、商品の発送先の宛名を示すメッセージ(以下、「宛名メッセージ」と記載する)をメッセージアプリケーション32が受信すると、その宛名メッセージ108をLCD16に表示する。
【0020】
このようなメッセージアプリケーション32によるメッセージの送受信を、制御プログラム30が監視しており、メッセージアプリケーション32が宛名メッセージを受信した場合に、その宛名メッセージに含まれる宛名を示す情報110(以下、「宛名情報」と記載する)を、制御プログラム30がメッセージアプリケーション32から取得する。宛名情報とは、例えば、氏名や住所、電話番号を含む情報である。また、データ記憶領域34には、複数種類の郵便用の宛名のテンプレートが記憶されており、制御プログラム30は、宛名情報110に基づく宛名を配置可能な宛名のテンプレートを、データ記憶領域34に記憶されている複数種類の宛名のテンプレートから自動で選択し、そのテンプレートに宛名情報110に基づく宛名を配置した印刷用データ(以下、「宛名印刷用データ」と記載する)を作成する。そして、その宛名印刷用データがプリンタ50に送信されることで、プリンタ50において、送信された宛名印刷用データに基づく宛名のラベル、つまり、商品発送用のラベルが印刷される。以下に、このようなプリンタシステム1における商品発送用のラベルの印刷処理について、図3図6に示すシーケンス図を用いて、具体的に説明する。
【0021】
まず、制御プログラム30が起動すると(S10:図3参照)、制御プログラム30による監視対象のアプリケーションプログラムが登録されているか否かを判断する(S11)。つまり、上記説明では、制御プログラム30がメッセージアプリケーション32を監視することを前提に説明しているが、任意のアプリケーションプログラムを、制御プログラム30の監視対象として登録することが可能とされている。そこで、この説明では、制御プログラム30による監視対象のアプリケーションプログラムが登録されていないものとして説明する。
【0022】
制御プログラム30による監視対象のアプリケーションプログラムが登録されていない場合(S11:NO)に、登録サブルーチンが実行される(S12)。登録サブルーチンでは、図7に示すように、制御プログラム30が、アプリ選択画面(図10参照)120をLCD16に表示する(S100)。アプリ選択画面120には、複数の選択ボタン122a~cが表示されている。そして、複数の選択ボタン122a~cのうちの任意のボタンが操作されることで(S102:YES)、制御プログラム30は、操作された選択ボタンに応じたアプリケーションプログラムのアカウント入力画面(図11参照)130を、LCD16に表示する(S104)。そして、アカウント入力画面130において、OKボタンが操作されると、ユーザ名,パスワード等のアカウントが入力されているかを判断し(S106)、アカウントが入力されていると判断されると(S106:YES)、アカウントの認証が行われる(S108)。この際、アカウントが認証されると(S108:YES)、アプリ選択画面120において選択されたアプリケーションプログラム、例えば、メッセージアプリケーション32が、監視対象のアプリケーションプログラムとして登録され(S110)、登録サブルーチンが終了する。
【0023】
このように制御プログラム30による監視対象のアプリケーションプログラムが登録されると、制御プログラム30によるメッセージアプリケーション32の監視が実行される(S14:図3参照)。この際、メッセージアプリケーション32による処理、つまり、メッセージの送受信が実行されると(S16)、制御プログラム30は、メッセージアプリケーション32により送受信されたメッセージのテキストデータを含む情報(以下、「アプリ情報」と記載する)をメッセージアプリケーション32から取得する(S18)。なお、制御プログラム30は、LCD16に表示されている宛名メッセージ108等のメッセージへのコピー処理等も監視しており、メッセージに対するコピー処理等が実行された場合にも、コピー処理が実行されたことを示す情報を、アプリ情報としてメッセージアプリケーション32から取得する。ここで、コピー処理とは、例えば、ユーザがメッセージを指定してコピーやカットを指示する操作をしたときにクリップボードなどのデータ記憶領域34にコピーやカットされたデータを書き込む処理や、ユーザがメッセージを指定してOSの共有機能を指定する操作をしたときに、メッセージアプリケーション32から指定されたメッセージを取得する処理が挙げられる。
【0024】
そして、制御プログラム30は、メッセージアプリケーション32からアプリ情報を取得すると、取得したアプリ情報に含まれるメッセージの学習を実行済みであるか否かを判断する(S20)。ここでは、まだメッセージの学習を実行済みでないとして説明する。制御プログラム30は、メッセージ学習は行われていないと判断する(S20:NO)。そして、学習サブルーチンが実行される(S22)。学習サブルーチンでは、図8に示すように、制御プログラム30が、アプリ情報を解析する(S120)。この際、制御プログラム30は、アプリ情報に、コピー処理が実行されたことを示す情報が含まれているか否かを判断する(S122)。
【0025】
メッセージアプリケーション32を用いたメッセージの送受信では、図2に示すように、お客様から送信された宛名メッセージ108に、宛名を示す情報、つまり、宛名情報110が含まれている。このため、宛名メッセージ108を受信した者、つまり、PC10を操作しているユーザが、商品発送用のラベル印刷を行うべく、宛名メッセージ108に含まれる宛名情報110のコピー処理を指示したことに応じて、メッセージアプリケーション32やOSが上記のコピー処理を実行する。このことを考慮すると、メッセージに対するコピー処理が実行された場合には、そのコピー処理の対象となるメッセージ(以下、「コピーメッセージ」と記載する)は、宛名メッセージ108である可能性が高い。そこで、制御プログラム30は、アプリ情報に、コピー処理が実行されたことを示す情報が含まれている場合(S122:YES)に、コピーメッセージを取得する(S124)。具体的には、クリップボードに書き込まれたコピーメッセージを読み込むことによりコピーメッセージを取得したり、OSの共有機能によりメッセージアプリケーション32からコピーメッセージを取得したりする。なお、アプリ情報に、コピー処理が実行されたことを示す情報が含まれていない場合(S122:NO)には、S14に戻る。つまり、メッセージアプリケーション32の監視が継続して行われる。
【0026】
そして、制御プログラム30は、コピーメッセージを取得すると、そのコピーメッセージに宛名情報が含まれているか否かを判断する(S126)。ここでは、コピーメッセージに氏名、郵便番号、住所の少なくとも一部が含まれていれば、宛名情報を含むと判断する。この際、コピーメッセージに宛名情報が含まれていない場合(S126:NO)には、メッセージアプリケーション32の監視が継続して行われる(S14)。一方、コピーメッセージに宛名情報が含まれている場合(S126:YES)には、そのコピーメッセージは、宛名メッセージであると判定される(S128)。そこで、制御プログラム30は、その宛名メッセージの直前にメッセージアプリケーション32から取得したメッセージを、要求メッセージとして学習する(S130)。つまり、メッセージアプリケーション32を用いたメッセージの送受信では、図2に示すように、宛名メッセージ108を受信する直前に、要求メッセージ106がお客様に送信されており、制御プログラム30は、メッセージアプリケーション32から、アプリ情報として、宛名メッセージ108を取得する直前に、要求メッセージ106を取得している。このため、制御プログラム30は、宛名メッセージの直前にメッセージアプリケーション32から取得したメッセージを、要求メッセージとして学習する。
【0027】
次に、制御プログラム30は、その要求メッセージの直前にメッセージアプリケーション32から取得したメッセージを、入金済みメッセージ104として学習する(S132)。つまり、メッセージアプリケーション32を用いたメッセージの送受信では、図2に示すように、要求メッセージ106がお客様に送信される直前に、入金済みメッセージ104を受信しており、制御プログラム30は、メッセージアプリケーション32から、アプリ情報として、要求メッセージ106を取得する直前に、入金済みメッセージ104を取得している。このため、制御プログラム30は、要求メッセージの直前にメッセージアプリケーション32から取得したメッセージを、入金済みメッセージとして学習する。これにより、メッセージアプリケーション32から取得したメッセージの学習が終了し、学習サブルーチンが終了する。
【0028】
学習サブルーチンが終了すると、テンプレート選択サブルーチンが実行される(S24:図3参照)。テンプレート選択サブルーチンでは、図9に示すように、制御プログラム30がコピーメッセージを解析する(S150)。この際、制御プログラム30は、コピーメッセージの言語が日本語であるか否かを判断する(S152)。そして、コピーメッセージの言語が日本語である場合(S152:YES)に、データ記憶領域34に記憶されている複数種類の郵便用の宛名のテンプレートのなかから、日本国内の郵便用の宛名のテンプレートが選択される(S154)。一方、コピーメッセージの言語が日本語以外である場合(S152:NO)に、データ記憶領域34に記憶されている複数種類の郵便用の宛名のテンプレートのなかから、国際郵便用の宛名のテンプレートが選択される(S156)。
【0029】
このように、日本国内の郵便用と国際郵便用との何れかの宛名のテンプレートが選択されると、制御プログラム30は、コピーメッセージから宛名情報を抽出する(S158)。そして、制御プログラム30は、抽出した宛名情報に電話番号が含まれているか否かを判断する(S160)。この際、宛名情報に電話番号が含まれていない場合(S160:NO)に、制御プログラム30は、先に選択している日本国内の郵便用と国際郵便用との何れかの宛名のテンプレートから、電話番号の記入欄を含むテンプレートを除外する(S162)。そして、制御プログラム30は、その電話番号の記入欄を含むテンプレートを除外した宛名のテンプレート、つまり、先に選択している日本国内の郵便用と国際郵便用との何れかの宛名のテンプレートのうちの、電話番号の記入欄を含まないテンプレートを、テンプレート選択画面としてLCD16に表示する(S164)。
【0030】
一方、宛名情報に電話番号が含まれている場合(S160:YES)に、制御プログラム30は、先に選択している日本国内の郵便用と国際郵便用との何れかの宛名のテンプレートから、電話番号の記入欄を含まないテンプレートを除外する(S163)。そして、制御プログラム30は、その電話番号の記入欄を含まないテンプレートを除外した宛名のテンプレート、つまり、先に選択している日本国内の郵便用と国際郵便用との何れかの宛名のテンプレートのうちの、電話番号の記入欄を含むテンプレートを、テンプレート選択画面としてLCD16に表示する(S164)。そして、テンプレート選択画面がLCD16に表示され、そのテンプレート選択画面において、ユーザ操作により任意のテンプレートが選択されると(S166:YES)、テンプレート選択サブルーチンが終了する。
【0031】
テンプレート選択サブルーチンが終了すると、制御プログラム30は、S166の処理で選択されたテンプレート(以下、「選択テンプレート」と記載する)に、宛名情報に基づく宛名を配置する場合に、不足する宛名が存在するか否かを判断する(S26:図4参照)。つまり、例えば、電話番号の記入欄を含まない宛名のテンプレートは、郵便番号の記入欄と、住所の記入欄と、氏名の記入欄とにより構成されており、宛名情報に基づく宛名として、郵便番号と住所と氏名とが必要である。このため、このような場合に、制御プログラム30は、宛名情報に基づく宛名に、郵便番号と住所と氏名とが含まれているか否かを判断する。そして、宛名情報に基づく宛名に、郵便番号と住所と氏名とが含まれている場合に、不足する宛名は存在しないと判断され、宛名情報に基づく宛名に、郵便番号と住所と氏名とが含まれていない場合に、不足する宛名情報が存在すると判断される。また、宛名情報に基づく宛名に、郵便番号と住所と氏名とが含まれているが、その少なくとも1つの一部が欠けている場合(例えば、市区まで記載されているが町名が記載されていない場合)にも、不足する宛名情報が存在すると判断される。
【0032】
そして、不足する宛名が存在すると判断されると(S26:YES)、制御プログラム30は、不足する宛名の入力を要求する画面(以下、「入力要求画面」と記載する)をLCD16に表示する(S28)。この入力要求画面の表示により、選択テンプレートに宛名を配置するために、宛名が不足していることをユーザが認識し、その不足している宛名が入力される(S29)。これにより、選択テンプレートに宛名を配置するために必要な全ての宛名が揃う。そして、制御プログラム30は、選択テンプレートに、宛名情報に基づく宛名と、新たに入力された宛名とを配置した宛名印刷用データを作成する(S30)。一方、不足する宛名は存在しないと判断されると(S26:NO)、制御プログラム30は、選択テンプレートに、宛名情報に基づく宛名を配置した宛名印刷用データを作成する(S30)。
【0033】
そして、制御プログラム30は、宛名印刷用データを作成すると、その宛名印刷用データに基づく画像を、図12に示すように、プレビュー画像150としてLCD16に表示する(S32)。なお、プレビュー画像150が表示されている画面では、印刷ボタン152も表示されており、その印刷ボタン152が操作されることで(S34:YES)、制御プログラム30は、宛名印刷用データをプリンタ50に送信する(S36)。これにより、プリンタ50では、宛名印刷用データに基づいて、商品発送用のラベル印刷処理が実行される(S38)。そして、プリンタ50による印刷処理が完了すると、プリンタ50からPC10に印刷処理の結果、つまり、適切な印刷処理が完了した旨の通知、若しくは、印刷処理時にエラーが発生した旨の通知が送信される(S40)。この送信に伴って、制御プログラム30は、受信した印刷結果をLCD16に表示する(S42)。そして、制御プログラム30によるメッセージアプリケーション32の監視が継続して行われる(S14:図3参照)。
【0034】
また、上述したように、学習サブルーチン(S22:図3参照)において、メッセージの学習が行われた後に、制御プログラム30が、メッセージアプリケーション32からアプリ情報を取得すると(S18:図3参照)、S20の処理において、メッセージ学習は行われていると判断される。このように、メッセージ学習が行われていると判断されると(S20:YES)、制御プログラム30は、アプリ情報を解析する(S50:図5参照)。この際、制御プログラム30は、アプリ情報に商品に関する情報(以下、「商品情報」と記載する)が含まれているか否かを判断する(S52)。メッセージアプリケーション32を用いたメッセージの送受信では、図2に示すように、お客様から送信された注文メッセージ100には、商品番号,注文個数などの商品情報が含まれている。このため、メッセージアプリケーション32が注文メッセージ100を受信した際に、制御プログラム30は、注文メッセージ100を含むアプリ情報を、メッセージアプリケーション32から取得し、取得したアプリ情報に商品情報が含まれていると判断する(S52:YES)。この際、制御プログラム30は、データ記憶領域34に記憶されている複数種類の宛名のテンプレートから、商品情報に応じた宛名のテンプレートを選択する(S54)。
【0035】
具体的には、データ記憶領域34には、注文された商品のサイズと、注文個数とに応じて、商品を封書で送付可能であるか否かを示すマップデータが記憶されている。そして、制御プログラム30は、商品情報に応じた商品を封書で送付可能であるか否かを、マップデータに基づいて判断する。この際、商品情報に応じた商品を封書で送付可能であると判断された場合に、制御プログラム30は、データ記憶領域34に記憶されている複数種類の宛名のテンプレートから、封書用の宛名のテンプレートを選択する。一方、商品情報に応じた商品を封書で送付不能であると判断された場合に、制御プログラム30は、データ記憶領域34に記憶されている複数種類の宛名のテンプレートから、小包用の宛名のテンプレートを選択する。そして、封書用と小包用との何れかの宛名のテンプレートが選択されると、S56に進む。一方、アプリ情報に商品情報が含まれていないと判断された場合(S52:NO)に、S54の処理、つまり、商品情報に応じた宛名のテンプレートの選択処理がスキップされ、S56に進む。
【0036】
S56では、制御プログラム30は、メッセージアプリケーション32から取得したアプリ情報に入金済みメッセージが含まれているか否かを判断する(S56)。つまり、学習サブルーチンのS132(図8参照)において学習された入金済みメッセージと同様のメッセージが、アプリ情報に含まれているか否かを判断する。この際、学習された入金済みメッセージと同様のメッセージが、アプリ情報に含まれていない場合(S56:NO)に、制御プログラム30によるメッセージアプリケーション32の監視が継続して行われる(S14:図3参照)。
【0037】
一方、学習された入金済みメッセージと同様のメッセージが、アプリ情報に含まれている場合(S56:YES)に、制御プログラム30は、要求メッセージを作成する(S58)。つまり、アプリ情報に入金済みメッセージが含まれている場合には、お客様から入金済みメッセージが送信されており、メッセージアプリケーション32は入金済みメッセージを受信している。このため、お客様に要求メッセージを送信する必要があり、制御プログラム30が要求メッセージを作成する。なお、制御プログラム30は、学習サブルーチンのS130(図8参照)において学習した要求メッセージと同様のメッセージを、要求メッセージとして作成する。
【0038】
そして、制御プログラム30は、作成した要求メッセージをメッセージアプリケーション32に出力する(S60)。これにより、メッセージアプリケーション32は、制御プログラム30から出力された要求メッセージをお客様に送信する(S62)。つまり、制御プログラム30においてメッセージ学習が実行されると、ユーザが要求メッセージを作成しなくても、制御プログラム30が自動で要求メッセージを作成し、その要求メッセージが自動でお客様に送信される。なお、制御プログラム30でのメッセージ学習が実行される前には、ユーザが要求メッセージを入力し、入力した要求メッセージの送信処理を行う必要がある。また、入金依頼メッセージに関しては、制御プログラム30によるメッセージ学習の有無に関わらず、ユーザが入金依頼メッセージを入力し、入力した入金依頼メッセージの送信処理を行う必要がある。
【0039】
また、お客様は要求メッセージの受信に応じて、宛名メッセージを送信するため、メッセージアプリケーション32は、お客様から宛名メッセージを受信する(S64)。この際、制御プログラム30は、その宛名メッセージをメッセージアプリケーション32から取得する(S66)。そして、テンプレート選択サブルーチンが実行される(S68)。なお、S68でのテンプレート選択サブルーチンでは、先に説明したテンプレート選択サブルーチン、つまり、S24(図3参照)でのテンプレート選択サブルーチンと略同じであるため、異なるステップのみ、説明する。まず、S68でのテンプレート選択サブルーチンでは、図9に示すように、S150において、制御プログラム30は、S66(図5参照)で取得した宛名メッセージを解析する。そして、その宛名メッセージの言語が日本語である場合(S152:YES)に、制御プログラム30は、S54(図5参照)で選択されている封書用と小包用との何れかの宛名のテンプレートのなかから、日本国内の郵便用の宛名のテンプレートを選択する(S154)。一方、宛名メッセージの言語が日本語以外である場合(S152:NO)に、制御プログラム30は、S54(図5参照)で選択されている封書用と小包用との何れかの宛名のテンプレートのなかから、国際郵便用の宛名のテンプレートを選択する(S156)。また、S158において、制御プログラム30は、S66(図5参照)で取得した宛名メッセージから宛名情報を抽出する。なお、それらS150~S156以外のステップの説明は、S68(図5参照)でのテンプレート選択サブルーチンと、S24(図3参照)でのテンプレート選択サブルーチンと同じである。このため、S68でのテンプレート選択サブルーチンにおいて、S66(図5参照)で取得した要求メッセージに含まれる宛名情報に基づく宛名を配置可能なテンプレートが選択される。
【0040】
そして、S68でのテンプレート選択サブルーチンが終了すると、つまり、S66(図5参照)で取得した宛名メッセージに含まれる宛名情報に基づく宛名を配置可能なテンプレートが選択されると、制御プログラム30は、その選択されたテンプレートに、宛名メッセージに含まれる宛名情報に基づく宛名を配置する場合に、不足する宛名が存在するか否かを判断する(S70:図6参照)。なお、S70での判断処理は、S26(図4参照)での判断処理と同じである。
【0041】
そして、不足する宛名が存在すると判断されると(S70:YES)、制御プログラム30は、不足する宛名の入力を要求するメッセージ(以下、「不足宛名要求メッセージ」と記載する)のお客様への送信依頼をメッセージアプリケーション32に出力する(S72)。これにより、メッセージアプリケーション32は、不足宛名要求メッセージをお客様に送信する(S74)。また、お客様は不足宛名要求メッセージの受信に応じて、不足している宛名に関する情報(以下、「不足宛名情報」と記載する)を送信するため、メッセージアプリケーション32は、お客様から不足宛名情報を受信する(S76)。この際、制御プログラム30は、その不足宛名情報をメッセージアプリケーション32から取得する(S78)。
【0042】
そして、制御プログラム30は、選択テンプレートに、宛名情報に基づく宛名と、不足宛名情報に基づく宛名とを配置した宛名印刷用データを作成する(S80)。一方、不足する宛名は存在しないと判断されると(S70:NO)、制御プログラム30は、選択テンプレートに、宛名情報に基づく宛名を配置した宛名印刷用データを作成する(S80)。このように、宛名印刷用データが作成されると、S32(図4参照)以降の処理が実行される。つまり、宛名印刷用データに基づくプレビュー画像150が表示され、印刷ボタン152が操作されることで、宛名印刷用データがプリンタ50に送信され、プリンタ50により商品発送用のラベル印刷処理が実行される。
【0043】
このように、プリンタシステム1では、宛名メッセージに含まれる宛名情報に基づいて、その宛名情報に基づく宛名を配置可能なテンプレートが自動で選択される。これにより、ユーザが、宛名情報に基づく宛名を配置可能なテンプレートを検索する手間を省くことが可能となり、操作性が向上する。また、自動で検索されたテンプレートが、テンプレート選択画面において表示され、そのテンプレート選択画面において、任意のテンプレートをユーザが選択することが可能とされている。これにより、宛名情報に基づく宛名を配置可能なテンプレートのなかから、ユーザの好むテンプレートを選択することが可能となる。さらに言えば、制御プログラム30によるメッセージ学習が行われた後において、メッセージアプリケーション32で送受信されるメッセージから、自動で宛名メッセージが特定され、その宛名メッセージから自動で宛名情報が抽出される。これにより、ユーザによる宛名のコピー処理をも省くことが可能となり、操作性がさらに向上する。
【0044】
また、制御プログラム30によるメッセージ学習が行われた後において、入金済みメッセージの受信が自動で判定され、メッセージアプリケーション32によって、要求メッセージが自動で送信される。これにより、ユーザによる要求メッセージの入力作業および送信作業を省くことが可能となり、操作性が向上する。
【0045】
なお、S14を実行するCPU12は、監視手段の一例である。S28を実行するCPU12は、第1出力手段の一例である。S30を実行するCPU12は、作成手段の一例である。S54を実行するCPU12は、選択手段の一例である。S60を実行するCPU12は、第2出力手段の一例である。S72を実行するCPU12は、第1出力手段の一例である。S80を実行するCPU12は、作成手段の一例である。S110を実行するCPU12は、設定手段の一例である。S154及びS156を実行するCPU12は、選択手段の一例である。S162及びS163を実行するCPU12は、選択手段の一例である。S164を実行するCPU12は、表示制御手段の一例である。
【0046】
また、本発明は、上記実施形態に限定されるものではなく、当業者の知識に基づいて種々の変更、改良を施した種々の態様で実施することが可能である。具体的には、例えば、上記実施形態では、制御プログラム30がメッセージアプリケーション32を監視し、メッセージに含まれる宛名情報に応じたテンプレートが自動で選択されているが、制御プログラム30が他の種類のアプリケーションプログラムを監視し、そのアプリケーションプログラムの処理による宛名情報に応じたテンプレートが自動で選択されてもよい。例えば、年賀状を作成するためのアプリケーションプログラムにおいて、そのアプリケーションプログラムの処理による宛名情報に応じたテンプレートが自動で選択されてもよい。
【0047】
また、上記実施形態では、メッセージのテキストデータに基づいて、テンプレートが選択されているが、テキストデータであれば、メッセージに限定されず、種々の形態のテキストのテキストデータに基づいてテンプレートが選択されてもよい。例えば、注文書,請求書等を作成するためのアプリケーションプログラムにおいて、ユーザにより入力された注文内容,請求額等のテキストのテキストデータに基づいて、テンプレートが選択されてもよい。
【0048】
また、上記実施形態では、入金済みメッセージと要求メッセージとが学習されることで、要求メッセージが自動で作成され、その要求メッセージが自動で送信されているが、注文メッセージと入金依頼メッセージとが学習されることで、入金依頼メッセージが自動で作成され、その入金依頼メッセージが自動で送信されてもよい。
【0049】
また、上記実施形態では、PC10において宛名印刷用データが作成されて、その宛名印刷用データがプリンタ50に送信されることで、プリンタ50により宛名印刷用データに基づく印刷処理が実行されているが、プリンタ50において宛名印刷用データが作成されて、プリンタ50により宛名印刷用データに基づく印刷処理が実行されてもよい。
【0050】
また、上記実施形態では、CPU12によって図3乃至図9に示す処理が実行される例を説明したが、これら処理は、CPU12に限らず、ASICや他の論理集積回路により実行されてもよいし、これら処理が、CPU等やASIC、他の論理集積回路が協働することにより実行されてもよい。
【符号の説明】
【0051】
10:PC、12:CPU、16:LCD、30:制御プログラム、32:メッセージアプリケーション
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12