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

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

▶ セイコーエプソン株式会社の特許一覧

特開2024-110098印刷システム、処理画像の生産方法、印刷物の生産方法
<>
  • 特開-印刷システム、処理画像の生産方法、印刷物の生産方法 図1
  • 特開-印刷システム、処理画像の生産方法、印刷物の生産方法 図2
  • 特開-印刷システム、処理画像の生産方法、印刷物の生産方法 図3
  • 特開-印刷システム、処理画像の生産方法、印刷物の生産方法 図4
  • 特開-印刷システム、処理画像の生産方法、印刷物の生産方法 図5
  • 特開-印刷システム、処理画像の生産方法、印刷物の生産方法 図6
  • 特開-印刷システム、処理画像の生産方法、印刷物の生産方法 図7
  • 特開-印刷システム、処理画像の生産方法、印刷物の生産方法 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024110098
(43)【公開日】2024-08-15
(54)【発明の名称】印刷システム、処理画像の生産方法、印刷物の生産方法
(51)【国際特許分類】
   G06F 3/12 20060101AFI20240807BHJP
   H04N 1/387 20060101ALI20240807BHJP
【FI】
G06F3/12 353
G06F3/12 303
G06F3/12 328
G06F3/12 351
H04N1/387 110
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023014457
(22)【出願日】2023-02-02
(71)【出願人】
【識別番号】000002369
【氏名又は名称】セイコーエプソン株式会社
(74)【代理人】
【識別番号】100179475
【弁理士】
【氏名又は名称】仲井 智至
(74)【代理人】
【識別番号】100216253
【弁理士】
【氏名又は名称】松岡 宏紀
(74)【代理人】
【識別番号】100225901
【弁理士】
【氏名又は名称】今村 真之
(72)【発明者】
【氏名】小林 健人
(72)【発明者】
【氏名】高本 明男
【テーマコード(参考)】
5C076
【Fターム(参考)】
5C076AA19
5C076CA06
(57)【要約】
【課題】プリンターが備える全ての機能に対応していないプリンタードライバー(例えば、OSの標準プリンタードライバー等)を用いて印刷する場合、プリンターの一部の機能を利用した印刷を行うことができない。
【解決手段】印刷する印刷画像と動作指示とを受け付け、前記動作指示に対応する指示画像を印刷画像に付加した処理画像を生成する生成コンピューターと、前記処理画像を受け付けて処理ジョブに変換する変換コンピューターと、前記処理ジョブを受け付け、前記処理ジョブの画像から前記指示画像を判別し、前記指示画像に対応する前記動作指示にしたがって動作して前記印刷画像の印刷を印刷部に行わせる印刷制御コンピューターと、を備える印刷システムを構成する。
【選択図】図1
【特許請求の範囲】
【請求項1】
印刷する印刷画像と動作指示とを受け付け、前記動作指示に対応する指示画像を前記印刷画像に付加した処理画像を生成する生成コンピューターと、
前記処理画像を受け付けて処理ジョブに変換する変換コンピューターと、
前記処理ジョブを受け付け、前記処理ジョブの画像から前記指示画像を判別し、前記指示画像に対応する前記動作指示にしたがって動作して前記印刷画像の印刷を印刷部に行わせる印刷制御コンピューターと、
を備える印刷システム。
【請求項2】
前記生成コンピューターは、前記指示画像を前記動作指示に応じた前記印刷画像内の位置に付加した前記処理画像を生成する、
請求項1に記載の印刷システム。
【請求項3】
前記生成コンピューターは、ユーザーがクリック、タップ、ドラッグのいずれかの操作で指定した位置に前記指示画像を付加する、
請求項2に記載の印刷システム。
【請求項4】
前記指示画像は、印刷範囲を示す所定の種類の枠線である、
請求項2に記載の印刷システム。
【請求項5】
前記指示画像は、行数が可変となり得る可変部の範囲を示す枠線であって、前記印刷範囲を示す枠線とは異なる種類の枠線である、
請求項4に記載の印刷システム。
【請求項6】
前記指示画像は、バーコード又は二次元コードである、
請求項2に記載の印刷システム。
【請求項7】
前記変換コンピューターは、固有のプリンタードライバーがコマンドとして追加できる非標準的な前記動作指示を、コマンドとして前記処理ジョブに追加する機能を有さない、
請求項1に記載の印刷システム。
【請求項8】
前記変換コンピューターは、オペレーティングシステムが備える標準プリンタードライバーで変換を行う、
請求項7に記載の印刷システム。
【請求項9】
印刷する印刷画像と動作指示とを受け付け、
前記動作指示に対応する指示画像を前記印刷画像に付加した処理画像を生成する、
ことを含む、処理画像の生産方法。
【請求項10】
動作指示に対応する指示画像を印刷画像に付加した処理画像を受け付け、
前記処理画像から前記指示画像を判別し、
前記指示画像に対応する前記動作指示にしたがって動作して前記印刷画像の印刷を印刷部に行わせる、
ことを含む、印刷物の生産方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、印刷システム、処理画像の生産方法、印刷物の生産方法に関する。
【背景技術】
【0002】
従来、印刷用画像データに、当該印刷画像とは別に用紙の切断を指示する切断コマンドを付加するプリンタードライバーが知られている(例えば特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2019-192052号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、プリンターが備える全ての機能に対応していないプリンタードライバー(例えば、OSの標準プリンタードライバー等)を用いて印刷する場合、プリンターの一部の機能を利用した印刷を行うことができない。
【課題を解決するための手段】
【0005】
上記課題を解決するための印刷システムは、印刷する印刷画像と動作指示とを受け付け、動作指示に対応する指示画像を印刷画像に付加した処理画像を生成する生成コンピューターと、処理画像を受け付けて処理ジョブに変換する変換コンピューターと、処理ジョブを受け付け、処理ジョブの画像から指示画像を判別し、指示画像に対応する動作指示にしたがって動作して印刷画像の印刷を印刷部に行わせる印刷制御コンピューターと、を備える。
【0006】
上記課題を解決するための処理画像の生産方法は、印刷する印刷画像と動作指示とを受け付け、動作指示に対応する指示画像を印刷画像に付加した処理画像を生成する、ことを含む。
【0007】
上記課題を解決するための印刷物の生産方法は、動作指示に対応する指示画像を印刷画像に付加した処理画像を受け付け、処理画像から指示画像を判別し、指示画像に対応する動作指示にしたがって動作して印刷画像の印刷を印刷部に行わせる、ことを含む。
【図面の簡単な説明】
【0008】
図1】印刷システムのブロック図。
図2】ユーザー端末のブロック図。
図3】プリンターのブロック図。
図4】テンプレート登録シーケンスのシーケンス図。
図5】レシートアプリケーションの編集画面例を示す図。
図6】印刷シーケンスのシーケンス図。
図7】他の実施形態における指示画像の例を示す図。
図8】他の実施形態における指示画像の例を示す図。
【発明を実施するための形態】
【0009】
ここでは、下記の順序に従って本発明の実施の形態について説明する。
(1)印刷システムの構成:
(1-1)ユーザー端末の構成:
(1-2)プリンターの構成:
(2)レシート印刷シーケンス:
(2-1)テンプレート登録シーケンス:
(2-2)印刷シーケンス:
(3)他の実施形態:
【0010】
(1)印刷システムの構成:
図1は、本発明の一実施形態にかかる印刷システムを含む印刷システムの一例を示す図である。本実施形態において、印刷システムは、ユーザー端末10とプリンター20によって実現される。ユーザー端末10は、ネットワークNWを介してプリンター20と接続される。ユーザー端末10は、プリンター20と通信し、各種の情報を授受することが可能である。ネットワークNWの態様は限定されず、インターネットであっても良いしLAN(Local Area Network)であっても良く、双方が用いられても良い。もちろん、ユーザー端末10とプリンター20とは、ケーブルで直接接続されていてもよいし、無線で直接接続されていてもよい。
【0011】
本実施形態において、プリンター20は所謂レシートプリンターである。ユーザー端末10は、レシートとして印刷するコンテンツを生成してプリンター20に出力し印刷を実行させる端末である。ユーザーはユーザー端末10を操作してレシートのテンプレートを編集することができる。また本実施形態において、ユーザー端末10は、POS端末としても機能する。すなわち、ユーザー端末10は、カスタマーの購入データを取得し、購入データからレシートに印刷する項目を抽出し、当該項目をテンプレート内に配置した画像を生成してプリンター20に出力することで、テンプレートに購入データを加えたレシートをプリンター20に印刷させることができる。
【0012】
ユーザー端末10では、プリンター20に印刷を行わせるために、プリンタードライバーが用いられる。すなわち、ユーザーがアプリケーションプログラムを用いてコンテンツの印刷を指示すると、コンテンツを示すデータがプリンタードライバーに受け渡される。ユーザー端末10は、プリンタードライバーの機能により、ユーザーが指定した設定によってコンテンツを印刷するための印刷データを生成する。
【0013】
プリンタードライバーには、プリンターのベンダーが用意したプリンター固有のプリンタードライバーと、ユーザー端末10を動作させるオペレーティングシステム(OS:Operating System)が備える標準プリンタードライバーと、が存在する。本実施形態において、プリンター固有のプリンタードライバーを用いれば、プリンターが実行可能な全ての機能を利用することができる。一方、標準プリンタードライバーは、OSのモジュールの一部であり、ユーザー端末10にOSがインストールされる際に、標準プリンタードライバーもインストールされる。標準プリンタードライバーを用いると、複数のベンダーが提供した複数の機種のプリンターで印刷可能な印刷データを生成することができる。このため、標準プリンタードライバーを用いるのであれば、プリンター固有のプリンタードライバーをインストールしなくても、各種のプリンターで印刷可能である。
【0014】
本実施形態においては、ユーザー端末10にプリンター固有のプリンタードライバーがインストールされておらず、OSが標準プリンタードライバーを備える状態を想定している。このようなユーザー端末10においては、標準プリンタードライバーを用いれば各種のプリンターで印刷可能である。しかし、標準プリンタードライバーは、複数のプリンターで共通して利用可能な機能しかサポートしていないため、特定のプリンターにおける特定の機能を利用できない場合がある。具体的には、レシートプリンター特有の印刷制御コマンドを利用することができない。そこで、本実施形態においては、標準プリンタードライバーを用いてプリンター20に印刷を行わせる場合もプリンター固有の印刷制御コマンドと同様の動作指示をプリンター20に行うことができるように、ユーザー端末10とプリンター20が構成される。
【0015】
以下、上述の印刷システムを構成する各装置を説明する。
(1-1)ユーザー端末の構成:
図2は、ユーザー端末10の構成を示すブロック図である。ユーザー端末10は、プロセッサー10aと、通信部10bと、不揮発性メモリー10cと、ディスプレイ10dと、入力部10eとを備える。プロセッサー10aは、図示しないCPUやROMやRAM等を備え、不揮発性メモリー10cに記録された種々のプログラムを実行しユーザー端末10の各部を制御することができる。
【0016】
通信部10bは、外部機器と各種の通信プロトコルに従って通信するための通信インターフェースを含む。ユーザー端末10は、通信部10bを介してプリンター20と通信することが可能である。また、通信部10bは、ユーザー端末10に装着された各種のリムーバブルメモリーと通信するためのインターフェースを含む。
【0017】
ディスプレイ10dは、任意の画像を表示する表示装置である。入力部10eは、ユーザーが入力操作を行う装置であり、例えば、キーボードやマウス等で構成される。本実施形態において、ユーザー端末10は、据置型の端末であることが想定されているが、むろん、ユーザー端末10は他の態様の端末であっても良い。例えば、タブレット端末やスマートフォン端末等であっても良い。これらの端末である場合、入力部10eは、タッチパネル等で構成されてよい。いずれにしても、ユーザーは、ディスプレイ10dに表示される画像や文字を視認しながら、入力部10eを操作してユーザーの意図を入力することができる。
【0018】
ユーザー端末10が起動されると、不揮発性メモリー10cに保存された図示しないOSが実行される。ユーザー端末10における通信やデータの保存などの各種機能がOSを用いて実行される。本実施形態においては、OSを用いて実行可能な機能に印刷機能が含まれる。すなわち、本実施形態にかかるOSは、標準プリンタードライバー10a1を備えている。また、ユーザー端末10においては、OSの機能を用いながら、不揮発性メモリー10cに保存されたレシート作成アプリケーションプログラム(以降、レシートアプリケーション10a2と呼ぶ)とPOSアプリケーションプログラム(以降、POSアプリケーション10a3と呼ぶ)を実行可能である。
【0019】
ユーザーは、レシートアプリケーション10a2の実行下において、入力部10eを操作し、レシートやクーポン等として印刷する印刷画像をデザインするとともに、プリンター20に対する動作指示を入力することができる。ここで印刷画像とは、印刷される画像のことであり、印刷される文字や記号等も含むものとする。本実施形態において、動作指示の入力は、アイコンや枠や、2次元コードやバーコード等で表現される画像(指示画像と呼ぶ)を印刷画像内に配置することによって行われる。レシートアプリケーション10a2を実行するプロセッサー10aは、印刷画像と動作指示を受け付け、動作指示に対応する指示画像を印刷画像に付加した処理画像を生成する。この場合に、ユーザー端末10のプロセッサー10aは生成コンピューターとして機能する。
【0020】
ユーザーはレシートアプリケーション10a2が提供する印刷ボタンを選択することで、標準プリンタードライバー10a1の機能によってディスプレイ10dを制御して印刷設定の入力画面を表示させる。ユーザーは、入力部10eを操作して印刷設定を入力し、印刷指示を行う。印刷指示が行われると、プロセッサー10aは、標準プリンタードライバー10a1の機能により、入力された設定に従って印刷を行うための処理ジョブを生成する。
【0021】
また、ユーザーがレシートアプリケーション10a2の実行下において、入力部10eを操作して印刷指示を入力すると、標準プリンタードライバー10a1の機能により、処理画像を受け付けて処理ジョブに変換し、プリンター20に出力する。処理ジョブには、印刷設定データと、印刷設定データに基づいて処理画像をレンダリングして変換された画像と、が含まれる。この場合に、ユーザー端末10のプロセッサー10aは変換コンピューターとして機能する。
【0022】
以上のように、本実施形態にかかるユーザー端末10は、標準プリンタードライバー10a1の機能により、プリンター20に印刷を実行させることができる。当該標準プリンタードライバー10a1による印刷は、プリンター20に固有のプリンタードライバーを用いない印刷である。プリンター20の固有のプリンタードライバーによる印刷の場合、処理ジョブに、標準的な印刷制御コマンド以外にも、固有の(非標準的な)印刷制御コマンドを付加する機能を有している。なお、固有のプリンタードライバーにおける、当該固有の印刷制御コマンドは、指示画像による動作指示ではない。標準プリンタードライバー10a1は、固有のプリンタードライバーがコマンドとして追加できる非標準的な動作指示を、コマンドとして処理ジョブに追加する機能を有さない。
(1-2)プリンターの構成:
図3は、プリンター20の構成を示すブロック図である。プリンター20は、プロセッサー20aと、通信部20bと、不揮発性メモリー20cと、印刷部20dと、UI部20eとを備える。プロセッサー20aは、図示しないCPUやROMやRAM等を備え、不揮発性メモリー20cに記録された種々のプログラムを実行しプリンター20の各部を制御することができる。
【0023】
なお、プロセッサー20aは、単一のチップで構成されても良いし、複数のチップで構成されても良いし、様々な機能ブロックとともにSoCとして構成されていても良い。また、例えばCPUに替えてASICが採用されても良いし、CPUとASICとが協働する構成であっても良い。本実施形態における各装置がプロセッサーを備える場合、そのプロセッサーは、プロセッサー20aと同様に種々の態様で実現可能である。
【0024】
通信部20bは、外部機器と各種の通信プロトコルに従って通信するための通信インターフェースを含む。プリンター20は、当該通信部20bを介して他の装置と通信することが可能である。なお、通信部20bは、プリンター20に装着された各種の周辺装置と通信するためのインターフェースを含んでいてもよい。本実施形態において、プリンター20には、キャッシュドロワー、ハンディースキャナー、スピーカー、カスタマーディスプレイ等の周辺装置が通信部20bによって接続され、プロセッサー20aは、通信部20bによってこれらの周辺装置を制御することができる。
【0025】
印刷部20dは、印刷を実行する部位であり、印刷媒体にコンテンツを印刷する。本実施形態において、プリンター20はレシートプリンターを想定しているため、印刷部20dにおける印刷方式はサーマル式を想定しており、印刷媒体はロール紙を想定している。印刷されるコンテンツは、商品購入時のレシートやクーポン等を想定している。他の実施形態において、印刷方式は、例えば、インクジェット方式やトナー方式、昇華式等の各種の方式を採用可能であり、印刷媒体はカット紙であってもよいし、印刷用紙に限定されず、各種の印刷媒体であってよい。印刷部20dは、印刷媒体に印刷を実行するためのアクチュエーターや各種装置、センサー、駆動回路、機械部品等を備えている。印刷部20dは、印刷に関する各種の機能を実現可能に構成されていて良い。また、本実施形態において、印刷部20dは、印刷後のロール紙をカットするカット機構を含む。
【0026】
UI部20eは、ボタンやLED等を含む。ボタンは電源ボタンを含む各種のボタンを含み、プロセッサー20aは、ユーザーが操作したボタンを特定することができる。プロセッサー20aは、LEDに対してプリンター20のステータス等を示す点灯あるいは点滅表示を行う。
【0027】
不揮発性メモリー20cには、各種のデータが保存される。例えば、レシート用のフォントデータ20c1、レシートのテンプレートデータ20c2、店舗のロゴ画像データ20c3、が不揮発性メモリー20cには記録される。
【0028】
本実施形態において、プリンター20のプロセッサー20aは、ユーザー端末10から送信された処理ジョブを、通信部20bを介して受信すると、まず、処理ジョブに含まれる画像に指示画像が含まれているか否かをテンプレートマッチングにより解析する。プロセッサー20aは、指示画像が含まれている場合、指示画像に対応する動作指示に従って動作して印刷画像の印刷を印刷部に行わせる。この場合にプリンター20のプロセッサー20aは、印刷制御コンピューターとして機能する。
【0029】
(2)レシート印刷シーケンス:
次に、レシート印刷シーケンスを説明する。本実施形態において、レシート印刷シーケンスは、レシートのテンプレートを作成して登録するテンプレート登録シーケンスと、登録されたテンプレートに購入データを挿入してレシートを印刷する印刷シーケンスに分けられる。
【0030】
(2-1)テンプレート登録シーケンス:
まず、図4を参照しながらテンプレート登録シーケンスについて説明する。テンプレート登録シーケンスは、ユーザーがユーザー端末10を操作してレシートアプリケーション10a2を起動した場合に開始される。プロセッサー10aは、レシートアプリケーション10a2を実行することにより、印刷画像と動作指示を受け付けて、動作指示に対応する指示画像を印刷画像に付加した処理画像を生成する(ステップS100)。
【0031】
図5は、レシートアプリケーション10a2の編集画面の一例を示す図である。レシートアプリケーション10a2の編集画面には、編集領域A1とプレビュー領域A2と、リストLが含まれている。編集領域A1は、印刷するコンテンツを編集するための領域であり、ユーザーは、文字を入力したり、画像を配置したり、リストLのいずれかの指示画像を配置することができる。リストLに列挙されている各指示画像はプリンター20に対する動作指示に対応している。
【0032】
リストLに列挙された各指示画像は、ユーザーによる、クリック、タップ、ドラッグ等のいずれかの操作によって編集領域A1内の位置に配置することができる。より具体的には例えば、リストL内の所望の指示画像をクリックあるいはタップした後、編集領域A1内の所望の位置をクリックあるいはタップすることで編集領域A1内の当該所望の位置に配置可能である。また、リストL内の所望の指示画像を編集領域A1内の所望の位置にドラッグすることでユーザーは編集領域A1内の当該所望の位置に指示画像を配置することができる。プレビュー領域A2は、編集領域A1内に配置された文字列や画像や指示画像等のオブジェクトに基づいて生産される印刷物のプレビューを表示する領域である。
【0033】
指示画像には、印刷範囲を示す所定の種類の枠線が含まれる。本実施形態において、1点鎖線で示されている枠i0は、印刷範囲を示す枠である。ユーザーは、枠i0をリストLから編集領域A1にドラッグし、枠の縦や横の長さを調整して枠i0を編集領域A1に配置する。プロセッサー10aは、編集領域A1に配置された枠i0の長さに対応する長さの枠Fをプレビュー領域A2に表示する。なお、本実施形態においてプリンター20は例えば80mm幅や58mm幅のロール紙を印刷媒体として用いることを想定している。プリンター20にセットされているロール紙の横幅内に枠i0内のコンテンツが収まるように、枠i0内に配置されている文字列や画像のサイズが、プリンター20において拡大または縮小されてから印刷が実行される。
【0034】
この例では、枠i0内のコンテンツは図5の紙面の上から下にむかって順に印刷されることを想定している。例えば枠i0内のコンテンツを印刷する前にキャッシュドロワーを開く動作をさせたい場合、ユーザーは編集領域A1の枠i0の上端の外側にドロワーアイコンi5をドラッグして配置する。すなわち、プロセッサー10aは、指示画像を当該指示画像に対応する動作指示に応じた印刷画像内の位置に付加した処理画像を生成して編集領域A1に表示する。
【0035】
本実施形態において、プリンター20に印刷させるコンテンツには、定型部と可変部とが含まれる。可変部には、例えば、日付、購入した商品の種類毎に商品の名称や値段、個数、が示される。購入した商品の種類の数等によって可変部の行数が異なりうる。コンテンツにおいて、可変部以外は定型部である。定型部は、定型的な文言やロゴ等が配置される部分である。
【0036】
指示画像には、バーコード又は二次元コードが含まれる。例えばレシートに定型的に店舗のロゴを印刷したい場合、ユーザーは、ロゴ挿入アイコンi10をドラッグして配置する。ロゴ挿入アイコンi10は二次元コードであり、ロゴ挿入アイコンi10が配置されている位置に店舗のロゴ画像を挿入する旨の動作指示がエンコードされている。ロゴ挿入アイコンi10が編集領域A1に配置されたことにより、プロセッサー10aは、ロゴ挿入アイコンi10に予め対応付けられているロゴ画像Gを、編集領域A1内のロゴ挿入アイコンi10の位置に対応するプレビュー領域A2内の位置に表示する。また、図5に示すように「領収書」、「ありがとうございました」、「クーポン」、「30%オフ」という文字列はこの例のレシートにおいては定型的に印刷される文字列である。ユーザーは所望の文字列を入力し、枠i0内の所望の位置に配置する。プロセッサー10aはこれらの文字列が配置されている位置に対応するプレビュー領域A2の位置にこれらの文字列を表示する。
【0037】
ユーザーは、可変部を設けたい位置に破線で示される枠i2を配置する。枠i2は印刷範囲を示す枠i0の内側に配置される。枠i2は、枠i0と異なる種類の枠線であり、後述するようにプリンター20側で画像を解析する際に枠線の種類で枠i2または枠i0を区別できるように構成されている。なお、枠i0とi2とでは線の色が異なっていても良いし線種が異なっていても良い。ユーザーは、枠i2内にサンプルの文字列を配置する。
【0038】
OCRアイコンi11は、文字をプリンター20内でOCR変換して文字コードを取得し、当該文字の画像を削除して当該文字コードに対応するプリンター20内蔵のフォントデータ20c1で置き換える動作をプリンター20に対して指示するための指示画像である。例えば枠i2内の文字列に対してこのような指示をしたい場合、ユーザーは枠i2内にOCRアイコンi11を配置する。プロセッサー10aは、OCRアイコンi11が配置された領域内の文字列を、プレビュー領域A2においてはプリンター20内蔵のフォントデータ20c1と同じフォントデータに変換して表示させる。なお、プリンター20に内蔵されているフォントデータ20c1は、レシート用の印刷媒体上に印刷される文字として読みやすい態様となるようにデザインされたフォントのデータである。ユーザー端末10から送信されたレンダリング済みの画像としての文字をロール紙の幅に合わせて拡大または縮小して印刷すると、レシート上では読みにくい文字となる可能性がある。そのため、レンダリング済みの画像としての文字をOCRして内蔵のフォントデータ20c1に置換する動作指示が行えるようにOCRアイコンi11が設けられている。
またユーザーは、枠i2内の特定の文字列を有する行の文字の形式を変更したい場合、リストL内の文字形式アイコンi6の中から所望のアイコンを選択して当該行の先頭に配置する。図5は、太字アイコンi60が「合計」の文字列が配置される行に配置される例を示している。このように太字アイコンi60が配置されることにより、プロセッサー20aは、プレビュー領域A2において「合計」の文字列を含む行を他の行の文字よりも太い太字で表示し、この行が実際の印刷においても太字で印刷されることを示す。
【0039】
ユーザーは、編集領域A1の印刷範囲を示す枠i0内において、ロール紙をカットしたい位置に、はさみアイコンi3を配置する。はさみアイコンi3が配置されたことに応じてプロセッサー10aは、プレビュー領域A2のはさみアイコンi3に対応する位置に、カット位置を示す線L1を表示する。本実施形態においては、カットによって枠i0内の領域が分割されると見なす。リストL内のアイコンi7,i8は、プリンター20における印刷濃度のデフォルト値から変更する動作指示に対応する指示画像である。図5では、はさみアイコンi3によって分割された後半部の領域に印刷濃度を濃くすることを示すアイコンi7が配置されている例を示している。分割された後半部の領域にアイコンi7が配置されることにより、プロセッサー20aは、プレビュー領域A2において後半部に配置された文字列や画像をデフォルトの濃度よりも濃く印刷されることを示す態様で表示する。なお、バーコード等は濃い濃度で印刷されることによりハンディースキャナーでの読取失敗率を下げることができうる。
【0040】
バーコードアイコンi9は、配置された位置にバーコードを印刷することを指示する指示画像である。例えばプロセッサー20aは、ユーザーがバーコードアイコンi9を編集領域A1に配置したことに応じて、バーコードにエンコードするデータを入力する画面を表示させ、ユーザーが入力したデータをエンコードしてバーコードを生成し、生成したバーコード画像をユーザーがバーコードアイコンi9を配置した編集領域A1内の位置と当該位置に対応するプレビュー領域A2内の位置に表示する。また、例えば枠i0内のコンテンツを印刷終了後にブザーを鳴動させたい場合、ユーザーは、編集領域A1の枠i0の下端部の外側にブザーアイコンi4を配置する。
【0041】
以上のようにして、ステップS100では、プロセッサー10aはレシートアプリケーション10a2を実行することによって、処理画像を生成する。処理画像は、図5の例の場合、編集領域A1内の全体の画像である。すなわち、枠i0の外側のブザーアイコンi4,ドロワーアイコンi5も含めて処理画像として扱われる。続いて、ユーザーが印刷ボタンb1をクリック又はタップすると、プロセッサー10aは、印刷ボタンb1が操作されたことを受け付け、処理画像を標準プリンタードライバー10a1に受け渡す(ステップS105)。
【0042】
標準プリンタードライバーを実行するプロセッサー10aが処理画像を受け取ると、処理画像を処理ジョブに変換して、プリンター20に送信する(ステップS110)。この変換は、アイコンや枠等がどのようなコマンドに対応しているかを考慮せず、単なるラスタ画像又はベクタ画像として入力された処理画像から処理ジョブを生成する変換である。よって、レンダリング済みの処理画像を含む処理ジョブには、アイコンを表す文字コードやその機能を表すコマンド等を含まない。また、変換には、画像の形式を変換する処理を含んでいてもよいし、画像はそのままで標準の印刷コマンドを付加して処理ジョブを生成する処理であってもよい。すなわち、プロセッサー10aは、レシートアプリケーション10a2及び標準プリンタードライバー10a1に従って、レシートアプリケーション10a2上でユーザー操作によって指定されたアイコンの文字コードやそのアイコンの位置を示すコマンド等に基づいてレンダリングを行い、レンダリング済みの処理画像に変換して処理ジョブを生成する。そして、プロセッサー10aは、処理画像と、当該処理画像を印刷する指示とを含む処理ジョブを、通信部10bを介してプリンター20に送信する。
【0043】
続いて、プリンター20のプロセッサー20aは、通信部20bを介して処理ジョブを受け付けると、処理ジョブに含まれる画像から指示画像を判別する(ステップS115)。すなわちプロセッサー20aは、処理ジョブに含まれる画像をテンプレートマッチングにより解析し、所定の指示画像(レシートアプリケーション10a2のリストLに含まれるアイコン)のいずれかが画像内に含まれているか否かを判定する。指示画像が含まれている場合、プロセッサー20aは、当該指示画像の画像内での位置と当該指示画像が示す動作指示を取得し、当該指示画像を画像内から削除する。
【0044】
具体的には、プロセッサー20aは、処理ジョブの画像内に枠i0(図5の編集領域A1内の画像を参照)を検出すると枠i0内の領域を印刷範囲と見なす。プロセッサー20aは、例えば画像内にドロワーアイコンi5を検出すると、印刷範囲を示す枠i0との位置関係からキャッシュドロワーを開くタイミングを判別する。この例では、枠i0の上端の外側にドロワーアイコンi5が配置されているため、プロセッサー20aは、枠i0内のコンテンツを印刷する前にキャッシュドロワーを開く旨の動作指示を取得する。
【0045】
プロセッサー20aは、画像内にロゴ挿入アイコンi10が含まれることを検出すると、枠i0内におけるロゴ挿入アイコンi10が配置されていた領域からロゴ挿入アイコンi10を削除し、代わりにロゴ挿入アイコンi10が示すロゴ画像データ20c3を不揮発性メモリー10cから取得し配置する旨の動作指示を取得する。
【0046】
また、本実施形態において、可変部を示す枠i2内を検出すると、プロセッサー20aは処理ジョブに含まれている画像は可変部を備えた画像、すなわちテンプレート用の画像であると判断する。また、プロセッサー20aは、可変部内に指示画像が配置されている場合、その位置と当該指示画像が指示対象とする行(または領域)を取得する。図5の例の場合、プロセッサー20aは、枠i2内の文字をOCR変換しプリンター20内蔵のフォントデータ20c1で置換する旨の動作指示を取得し、OCRアイコンi11を削除する。また、プロセッサー20aは、「合計」という文字列が含まれる行の文字を太文字に変換する旨の動作指示を取得し、太字アイコンi60を削除する。さらに、プロセッサー20aは枠i2内の文字列を削除する(テンプレート用の画像において可変部内の文字はサンプルであり、可変部に挿入して実際に印刷する画像は都度取得する購入データに基づいて生成されるため)。
【0047】
さらに、はさみアイコンi3を画像内に検出すると、プロセッサー20aは、はさみアイコンi3が配置されていた枠i0内の位置に対応する位置でロール紙をカットする旨の動作指示を取得して、はさみアイコンi3を画像内から削除する。また、文字や画像を濃く印刷することを示すアイコンi7を検出すると、プロセッサー20aは、アイコンi7が配置されている領域(この例では、枠i0内のはさみアイコンi3より下側の領域)において、文字や画像を濃く印刷する旨の動作指示を取得し、アイコンi7を画像内から削除する。
【0048】
また、バーコード画像を画像内に検出した場合、プロセッサー20aは、バーコードをデコードしバーコードに含まれるデータを取得する。バーコードに含まれる内容が、プリンター20に対する制御コマンドに該当しない場合、プロセッサー20aは、当該バーコードは印刷対象の画像であると判断し、バーコード画像を削除することなく画像内にそのまま残す。
【0049】
画像内にブザーアイコンi4を検出した場合、プロセッサー20aは、ブザーアイコンi4と枠i0との位置関係からブザーを鳴動させるタイミングを取得する。この例では、ブザーアイコンi4は枠i0の下端より下に配置されているため、枠i0内の印刷を完了した後にブザーを鳴らす旨の動作指示をプロセッサー20aは取得する。
【0050】
以上のようにして、ステップS115において、プリンター20のプロセッサー20aは、処理ジョブの画像から指示画像を判別する。ステップS115の処理の結果、画像内に枠i2が含まれていることが判別された場合、本実施形態においては、プロセッサー20aはテンプレートであると判断し(ステップS120)、印刷を行わずにテンプレートデータ20c2として不揮発性メモリー20cに登録する(ステップS125)。なお、テンプレートであるか否かは、テンプレートであることを示す他の指示画像が処理ジョブの画像内に含まれている否かで判断するように構成されてもよし、少なくともいずれかの指示画像が含まれている場合にテンプレートであると判断するように構成されてもよい。テンプレートデータ20c2は、枠i0内の画像であって、指示画像(枠i0および枠i2の枠線を含む)を削除した画像と、枠i0内において各指示画像が配置されていた位置に対応する位置(あるいは範囲)での各動作指示と、枠i0外において各指示画像が配置されていた位置に対応するタイミングでの各動作指示と、を含んだデータである。このようにすることで、以降は、可変部のみの処理ジョブを受信することで、テンプレートの可変部を置換し、固定部と可変部からなるコンテンツを印刷することができる。図6を参照しながら具体的に説明する。
【0051】
(2-2)印刷シーケンス:
図6は、テンプレートがプリンター20に登録された後、印刷を実行するシーケンスである。テンプレート登録後、ユーザー端末10のプロセッサー10aであってPOSアプリケーション10a3を実行するプロセッサー10aが、購入データを取得すると(ステップS200)、プロセッサー10aは購入データに基づいて可変部の処理画像を生成する(ステップS205)。ステップS200においては、例えば本実施形態では、プリンター20に接続されたハンディースキャナーで商品のバーコード等が読み取られると、購入された商品や個数等を含む購入データがプリンター20を介してユーザー端末10に送信されるように構成されており、POSアプリケーション10a3を実行するプロセッサー10aは当該購入データを取得する。POSアプリケーション10a3を実行するプロセッサー10aは、取得した購入データからレシートに印刷する項目を抽出し、予め決めた可変部内のレイアウトに従って当該項目を示す文字列を並べることで、可変部に配置する処理画像を生成する。
【0052】
本実施形態においては、図5に示すように、既に登録済みのテンプレートデータ20a2には、可変部内の「合計」という文字列を有する行に文字の形式を変更する動作指示が含まれているため、ステップS205で作成される処理画像は、「合計」という文字を含んで生成される。可変部は、購入データに含まれる品数等に応じて行数が変化しうるため、可変部のロール紙搬送方向における長さも都度変化しうる。従って、枠i0に相当する領域のロール紙搬送方向における長さも都度変化しうる。このようにして可変部の処理画像を生成すると、POSアプリケーション10a3を実行するプロセッサー10aは、標準プリンタードライバー10a1に処理画像を受け渡す。
【0053】
標準プリンタードライバー10a1を実行するプロセッサー10aは、処理画像を処理ジョブに変換してプリンター20に送信する(ステップS210)。すなわちプロセッサー10aは、処理画像をレンダリングによって変換し、変換後の処理画像と、印刷設定とを含む処理ジョブを生成し、通信部10bを介してプリンター20に出力する。
【0054】
プリンター20は通信部20bを介して処理ジョブを受け付けると、プロセッサー20aは、指示画像を判別する(ステップS215)。すなわち、ステップS115と同様の処理が行われる。本実施形態の場合、可変部のみの処理画像には指示画像が含まれないため、ステップS215では指示画像が検出されない。プロセッサー20aは、処理ジョブの画像に指示画像が含まれない場合、可変部の画像であると判定する(ステップS220)。すなわち、プロセッサー20aは、既に登録されているテンプレートデータ20c2の可変部を置換するための画像であると判定する。なお、他の実施形態においては、可変部の処理画像にも、例えば既に登録済みのどのテンプレートデータのどの可変部に挿入する画像であるかを指示する素地画像が含まれていてもよく、この場合、当該指示画像に基づいて処理画像とテンプレートデータの可変部とを対応付けることが可能なように構成されていてもよい。
【0055】
続いて、プロセッサー20aは、登録済みのテンプレートの可変部を置換した印刷画像を生成する(ステップS225)。すなわち、登録済みのテンプレートの枠i2内をステップS215で受け付けた処理ジョブの画像で置換した、枠i0内全体の印刷画像を生成する。もちろん枠i0内の位置に対応付けられた印刷画像の生成に関する動作指示(枠i2内に対応する動作指示も含む)が実行された状態で印刷画像が生成される。すなわち、図5の例の場合、i10の位置にロゴ画像データ20c3が配置され、枠i2内には購入データに基づく項目が挿入され、枠i2内の文字はOCR変換されフォントデータ20c1に置換され、枠i2内の「合計」の文字を含む行の文字の画像を太字の文字の画像となるように変換された印刷画像が生成される。
【0056】
続いて、プロセッサー20aは、指示画像に従って動作して印刷を行わせる(ステップS230)。すなわち、テンプレートデータ20c2に基づいて、プロセッサー20aは、印刷開始前のタイミングで行う動作指示がある場合は当該動作指示に従った動作を行う。具体的には図5の例の場合、プロセッサー20aはキャッシュドロワーを開く。印刷開始前の動作を行った後、プロセッサー20aはステップS225で生成した印刷画像の印刷を開始する。はさみアイコンi3に対応する位置の直前の行の印刷が終了した後、切断部にロール紙上のはさみアイコンi3に対応する位置が搬送された場合にプロセッサー20aは切断部にロール紙をカットさせる。さらに、プロセッサー20aは、はさみアイコンi3が配置されていた位置以降の領域の文字およびバーコードの印刷濃度をデフォルト値より濃くして印刷を行う。枠i0の下端に対応する位置までロール紙を搬送すると、プロセッサー20aはブザーを鳴動させる。
【0057】
以上のように、本実施形態によれば、OSの標準プリンタードライバーを用いて印刷する場合であっても、標準プリンタードライバーが備える標準的な印刷の機能以外のプリンター固有の機能を利用した印刷を行うことができる。
【0058】
(3)他の実施形態:
以上の実施形態は本発明を実施するための一例であり、他にも種々の実施形態を採用可能である。例えば、上記実施形態においては、生成コンピューターと変換コンピューターが同一の装置で実現されていたが、生成コンピューターと変換コンピューターは別体の装置で実現されてもよい。また、テンプレートの編集に利用される装置と、POS端末として利用される装置とは別体の装置で実現されてもよい。またPOS端末は図示しないPOSサーバーと接続され、購入データや商品の在庫データ等がPOSサーバーで管理されてもよい。
【0059】
上記実施形態では、ユーザー端末にはプリンター固有のプリンタードライバーがインストールされていない場合を想定したが、プリンター固有のプリンタードライバーがインストールされている場合であってもIPPを利用して遠隔地からプリンターに印刷を指示したい場合等に本発明の手法を用いることができる。
【0060】
上記実施形態においては、コンテンツの可変部のみの処理画像には、指示画像が含まれずに文字列のみで生成される例を示したが、可変部のみの処理画像は指示画像を含んで生成されてもよい。
【0061】
上記実施形態で示したレシートアプリケーションを用いる以外の方法が採用されてもよい。例えば、既にユーザーがプリンター20のSDKを用いてユーザー固有のアプリケーション(例えばPOSアプリケーション)を構築済みであり、これまではプリンター固有のドライバープログラムを用いてプリンター20に対してプリンター制御コマンドを送信している場合、上記実施形態で説明したようにレシートアプリケーションを新たに利用せず次のような方法を採用してもよい。すなわち、構築済みのユーザーアプリケーションはそのまま利用し、SDKに次のような機能を持たせてSDKを更新する。新たなSDKに、プリンター制御コマンドを二次元コードに変換し、生成された二次元コード(プリンター制御コマンドを示す)を標準ドライバープログラムでレンダリングしてプリンターに出力する機能を持たせる。またプリンター側には、受信した二次元コードの画像をそのまま印刷するのではなく、二次元コードをデコードして二次元コードにエンコードされた内容を取得する機能を持たせる。印刷画像と共に送信された二次元コード画像にエンコードされた内容がプリンター制御コマンドである場合、プリンターは、当該コマンドに従って自身を制御して印刷を行う。このようにSDKとプリンター側のプログラムを更新することで、ユーザーは既に構築済みのアプリケーションを利用したまま、プリンター固有のドライバープログラムを用いなくても標準ドライバープログラムを用いてプリンター固有のコマンドをプリンターに出力することができ、当該コマンドに従ったプリンターの制御を行うことができる。そのため、例えば遠隔地からIPPを利用してプリンターを制御したい場合にもそれが可能となる。
【0062】
さらに、上記実施形態では、レシートプリンターを例に挙げて説明したが、レシートプリンター以外のプリンター、例えばフィニッシャー機能を有する高価格帯のドキュメントプリンターに対しても標準プリンタードライバー経由で動作指示を出力するように構成してもよい。例えば文書作成アプリケーションで図7に示すように5ページからなる文書を作成した場合を説明する。図7では各ページ内の文字列や画像などの印刷画像は記載を省略してページ番号を記載している。複数ページからなる文書の印刷の場合、例えば各ページに図7に示すような指示画像を挿入した状態で標準プリンタードライバーを用いて印刷指示を行えるように構成してもよい。2ページ目から4ページ目の左上のステイプルアイコンは、2~4ページの左上をステイプルで留める旨の動作指示を示す指示画像の例であり、5ページ目の左上のアイコンは5ページ目だけカラー印刷する旨の動作指示を示す指示画像の例である。また、1ページ目には、この文書にはプリンターへの指示画像が含まれるため指示画像を解析して指示画像が示す動作指示を行って印刷する旨のデータがエンコードされた二次元コード(指示画像)が含まれている。これらの指示画像は、プリンターのベンダーによって予めインターネット上で提供され、ユーザーはインターネットからダウンロードして指示画像を文書に挿入することができるように構成される。
【0063】
また例えば、証明書に貼付する写真を家庭用プリンターで印刷したい場合、3cm×4cmなど指定のサイズで写真を印刷するのが難しいため、印刷したい写真画像の外側に指示画像を付加した処理画像を生成して標準プリンタードライバー経由で印刷を行うようにしてもよい。図8は、画像編集アプリケーションの画面の一例である。ユーザーは証明写真用の人物写真g1を画像編集アプリケーションの編集画面の白紙の画像g0に配置する。また、プリンターのベンダーがインターネット上で提供している証明写真印刷用の指示画像i30と指示画像群i31をユーザーがダウンロードして画像g0における人物写真g1の外側に配置する。ユーザーは、画像g0において証明写真としての印刷範囲から除外したい領域と除外しなくてよい領域とを矩形の枠F2で指定する。図8の例では人物写真g1の内側に枠F2が設定されているが、人物写真g1の境界上に枠F2が設定されてもよい。指示画像i30は、指示画像としての枠F2の画像を指示画像群i31のうちの選択された指示画像が示す動作指示で印刷する旨がエンコードされた二次元コードである。指示画像群i31は、ボタンを模した複数の枠内に動作指示を示す文字列が配置された画像である。枠内の背景色のデフォルト値は白色である。ユーザーは選択したい動作指示に対応する枠内を背景色の塗り潰しツールで白以外の色に塗りつぶすことで動作指示を選択する。図8の例では、証明写真の仕上がりサイズとして「40×30mm」、人物写真に対する画像処理の内容として「少し明るく」と「美白」が選択されていることを示している。ユーザーは、例えば以上のように画像g0を編集し、標準プリンタードライバーを用いてプリンターに画像g0の印刷を指示する。標準プリンタードライバーによって画像g0が処理ジョブに変換されプリンターに出力される。処理ジョブを受信したプリンター側は、処理ジョブに含まれる画像を解析し、動作指示を判別する。具体的にはプリンターは、枠F2内の画像を縦×横が4×3の比率となるような最大のサイズでクリップし、クリップした画像に選択された指示画像が示す画像処理を施して、人物写真のサイズが40mm×30mmとなるように解像度変換を行って印刷を行う。
【0064】
なお、ポスター等を印刷するためのラージフォーマットプリンターに印刷する画像を編集するアプリケーションにプラグインとして、指示画像を付加する機能を使用できるように構成してもよい。指示画像は、編集作業環境におけるカラープロファイルを示すデータがエンコードされた二次元コードであってもよい。具体的には例えば、編集に使用しているモニターの色空間(sRGB)をLab色空間に変換する色変換テーブルが二次元コードにエンコードされる。ユーザーが、このような二次元コードを含めた画像を標準プリンタードライバーを用いてプリンターに印刷するように指示すると、プリンターは二次元コードをデコードしてLUTを取得して画像をLabに変換し、さらにプリンターに保存されている色変換テーブルを用いて、画像をLabからCMYKに変換して印刷を行う。このようにカラーマッチング用のデータを指示画像として画像の印刷範囲外に付加できるように構成されてもよい。
【0065】
上記実施形態においては、レシートアプリケーションやその他の各種のアプリケーションにおいては、アプリケーションで予め準備されている指示画像やプリンターのベンダーがインターネット上で公開している指示画像をユーザーが利用して配置することにより、動作指示の内容や実施のタイミングを指定する構成であるが、動作指示に対応する指示画像は予め準備された決められた画像であることに限定されない。例えば、動作指示を示す文字列をユーザーが作成し配置することによって動作指示の内容や実施のタイミングを指定することができてもよい。また例えば、動作指示を示す任意の画像が用いられても良い。印刷制御コンピューターは、機械学習モデルを用いて当該画像が示す動作指示の内容を判定できるように構成されてもよい。
【0066】
また、本発明において、プリンタードライバーはOSの標準プリンタードライバーである場合に限られず、だれがどのような目的で製作したプリンタードライバーであってもよい。その場合であっても、プリンターが備える一部の機能をプリンタードライバーが対応していない場合に、当該機能を用いた印刷を可能にすることができる。
さらに、本発明は、コンピューターが実行するプログラムや方法としても適用可能である。例えば、本発明は、印刷する印刷画像と動作指示とを受け付け、当該動作指示に対応する指示画像を当該印刷画像に付加した処理画像を生成する、ことを含む、処理画像の生産方法の発明としても成立する。
【0067】
また、本発明は、コンピューターを、印刷する印刷画像と動作指示とを受け付ける受付部、当該動作指示に対応する指示画像を当該印刷画像に付加した処理画像を生成する生成部、として機能させる、処理画像の生産プログラムの発明としても成立する。例えば上記実施形態においては、レシートアプリケーション10a2を実行する場合のプロセッサー10aが、受付部、生成部、として機能する。
【0068】
さらに、本発明は、動作指示に対応する指示画像を印刷画像に付加した処理画像を受け付け、当該処理画像から指示画像を判別し、当該指示画像に対応する動作指示にしたがって動作して当該印刷画像の印刷を印刷部に行わせる、ことを含む、印刷物の生産方法の発明としても成立する。
【0069】
また、本発明は、コンピューターを、動作指示に対応する指示画像を印刷画像に付加した処理画像を変換した処理ジョブを受け付けるジョブ受付部、当該処理ジョブに含まれる画像から指示画像を判別する判別部、当該指示画像に対応する動作指示にしたがって動作して当該印刷画像の印刷を印刷部に行わせる印刷制御部、として機能させる印刷物の生産プログラムの発明としても機能する。例えば、上記実施形態においては、プリンター20のプロセッサー20a(印刷制御コンピューター)が、ジョブ受付部、判別部、印刷制御部、として機能する。
【0070】
また、以上のようなシステム、プログラム、方法は、単独の装置として実現される場合もあれば、複数の装置が備える部品を利用して実現される場合もあり、各種の態様を含むものである。また、一部がソフトウェアであり一部がハードウェアであったりするなど、適宜、変更可能である。さらに、システムを制御するプログラムの記録媒体としても発明は成立する。むろん、そのプログラムの記録媒体は、磁気記録媒体であってもよいし半導体メモリーであってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。また、アプリケーションとプリンタードライバーとが一体のプログラムとして作成されていてもよい。
【符号の説明】
【0071】
10…ユーザー端末、10a…プロセッサー、10a1…標準プリンタードライバー、10a2…レシートアプリケーション、10a3…POSアプリケーション、10b…通信部、10c…不揮発性メモリー、10d…ディスプレイ、10e…入力部、20…プリンター、20a…プロセッサー、20a2…テンプレートデータ、20b…通信部、20c…不揮発性メモリー、20c1…フォントデータ、20c2…テンプレートデータ、20c3…ロゴ画像データ、20d…印刷部、20e…UI部、A1…編集領域、A2…プレビュー領域、b1…印刷ボタン、g0…画像、g1…人物写真、i0…枠、i10…ロゴ挿入アイコン、i11…OCRアイコン、i2…枠、i3…アイコン、i30…指示画像、i31…指示画像群、i4…ブザーアイコン、i5…ドロワーアイコン、i6…文字形式アイコン、i60…太字アイコン、i7…アイコン、i7,i8…アイコン、i9…バーコードアイコン
図1
図2
図3
図4
図5
図6
図7
図8