【文献】
尚 幹夫 Mikio Takashi,プリンティングソリューション特集,沖テクニカルレビュー Vol.70 No.2,沖電気工業株式会社,2003年 4月 1日,第194号,第74−77ページ
(58)【調査した分野】(Int.Cl.,DB名)
プリンタに接続しておらず、かつ、ファームウェアと、カスタマイズされた印刷動作のために前記ファームウェアと連動するプログラミングコードとが提供されたコンピュータデバイス上でプリンタを正確にエミュレートする方法であって、
前記プリンタに提供された、又は、前記コンピュータデバイス及び前記プリンタに提供された個々のアプリケーションプログラムインターフェースの少なくともひとつの機能として、前記コンピュータデバイスと前記プリンタの各々において動作可能である前記ファームウェアを前記プリンタと前記コンピュータデバイスとに提供し、
前記プログラミングコードを前記コンピュータデバイスに提供し、
前記プログラミングコードが、ラベル生成ソフトウェアアプリケーションであり、
さらに統合開発環境を前記コンピュータデバイスに提供し、前記統合開発環境は、ユーザが前記プログラミングコードを開発するために前記コンピュータデバイスを設定することにより、
前記コンピュータデバイス上で前記プログラミングコードを実行し、前記コンピュータデバイスに提供された前記ファームウェアと連動して、前記コンピュータデバイスに前記プログラミングコードを実行する前記プリンタを、前記コンピュータデバイスと前記プリンタとは接続されていない状態で、エミュレートさせること、を特徴とするユーザの表示装置上でのコンピュータデバイス上でプリンタを正確にエミュレートする方法。
プリンタに接続しておらず、かつ、ファームウェアと、カスタマイズされた印刷動作のために前記ファームウェアと連動するプログラミングコードとが備えられたコンピュータデバイス上でプリンタを正確にエミュレートするシステムであって、
前記プリンタに備えられた、又は、前記コンピュータデバイス及び前記プリンタに備えられた個々のアプリケーションプログラムインターフェースの少なくともひとつと、前記プリンタと前記コンピュータデバイスとに備えられ、前記ファームウェアは、前記プリンタに備えられた、又は、前記コンピュータデバイス及び前記プリンタに備えられた個々のアプリケーションプログラムインターフェースの少なくともひとつの機能として、前記コンピュータデバイスと前記プリンタの各々において動作可能である前記ファームウェアと、前記コンピュータデバイスに備えられ、
前記プログラミングコードが、ラベル生成ソフトウェアアプリケーションであり、
前記コンピュータデバイスに備えられた統合開発環境をさらに含み、前記統合開発環境は、ユーザが前記プログラミングコードを開発するために前記コンピュータデバイスを設定することにより、
前記コンピュータデバイス上で実行され、前記コンピュータデバイスに備えられた前記ファームウェアと連動して、前記コンピュータデバイスに前記プログラミングコードを実行する前記プリンタを、前記コンピュータデバイスと前記プリンタとは接続されていない状態で、エミュレートさせる前記プログラミングコードと、を備えるユーザの表示装置上でのコンピュータデバイス上でプリンタを正確にエミュレートするシステム。
【発明を実施するための形態】
【0012】
好ましい実施形態において、プリンタはひとつ以上のアプリケーションプログラムインターフェース(API)によって動作可能な共有プリンタファームウェアの機能としてエミュレートされ、この共有プリンタファームウェアは、カスタムでき、機能を拡張させる。好ましい実施形態において、インタプリタ型スクリプト言語(LUA)は、ファームウェアを生成することと、統合開発環境によってカスタム印刷アプリケーションを提供することとに用いられる。本願によれば、開発されてプリンタ上で動作する、少なくともひとつのプリンタファームウェア、ひとつ以上のプリンタAPI及び/又はプリンタソフトウェアアプリケーションは、コンピュータデバイス上で動作可能である統合開発環境に提供される。統合環境は、少なくとも外観上は、プリンタに備えられたコントロールパネルをエミュレートするグラフィカルユーザインターフェースを含むことが好ましい。
【0013】
したがって、プリンタファームウェア、ソフトウェアアプリケーション、プリンタAPIのようなプリンタ上で動作するひとつ以上のソフトウェアプログラムは、コンピュータデバイス上にロードされ、統合環境で動作する。プリンタソフトウェアのグラフィカルユーザインターフェースへの統合は、ユーザにプリント出力の正確な印刷プレビュー表示を提供する。それはプリンタ上で動作するソフトウェア(例えばファームウェア、API及び/又はアプリケーション)と同じソフトウェアが同様にコンピュータデバイス上で動作するからである。好ましくは、アプリケーションと共有ファームウェアとがプリンタそのものとコンピュータデバイス(例えばMICROSOFT WINDOWS(登録商標)オペレーティングシステムを動作しているパソコン)との両方で実行するようにひとつ以上のプリンタAPIが設計され、それによりプリンタの正確なエミュレーションを可能にする。本明細書での教示は、新規性があり非自明なプリンタエミュレーションを提供する。それは少なくとも挿入されたコードが、開発されたプリンタソフトウェアアプリケーション及び/又は共有ファームウェアの各部に、ひとつ以上のAPIを経由してアクセスするように機能するからである。
【0014】
したがって、本明細書での教示は、まるでそれが実際の物理的なプリンタに備わっているときと同様に効果的にコンピュータデバイスに作用するソフトウェアを含む。たとえ表示装置が物理的なプリンタから離れて提供されるとしても、ユーザ、特にそれぞれのプリンタのためのソフトウェア開発者はユーザの表示装置上でのプリント出力の正確なプレビューと同様にプリンタ機能の正確な表示を見る。このように、開発環境は、先行技術の印刷プレビュー機能に関して上述の短所に悩まされることはない。
【0015】
実施形態において、プリンタアプリケーションは、プラットフォーム独立言語でありプログラミング言語Cで開発されたLUAで記述される。LUAでのコンピュータとプリンタの相互作用は、C APIのようなインターフェースを通してなされる。C APIを用いることによって、LUAに基づく動作は、プリンタプラットフォームとコンピューティング(例えばMICROSOFT WINDOWS(登録商標))プラットフォームとを含むさまざまなプラットフォーム上で、同じ方法を実行する。コンピュータデバイス上で正確なプリンタエミュレーションを実現するために、C APIは両プラットフォーム上で類似して又は同じ方法で機能しなければならない。MICROSOFT WINDOWS(登録商標)オペレーティングシステムを実行するパーソナルコンピューティングのようなコンピュータデバイス上で、ファイルシステムはオペレーティングシステムによって提供される。本明細書での教示によると、ファイルシステムAPIは、印刷装置用に備えられる。ファイルシステムAPIが、それぞれのプラットフォーム上で実行するソフトウェアアプリケーションとして同一の動作を確実に行うように両プラットフォーム上(例えばコンピュータデバイスと印刷装置)で使用されることが好ましい。例えばメモリカード、USB接続デバイス、ネットワーク上での転送などによってソフトウェアアプリケーションがどちらのプラットフォームにでもロードされるときのように、コンピュータデバイスと印刷装置の両方は、(当技術分野で周知のように)LUA仮想マシン及びC APIを備え、アプリケーションはC APIによって認識されて、同一の動作をすることが好ましい。したがって、アプリケーションは印刷装置上で実行するのと同じ方法でコンピュータデバイス上で実行し、それによってコンピュータデバイスが実行しているアプリケーションを監視するために物理的に印刷装置をコンピュータデバイスに接続する必要性を排除する。
【0016】
本明細書での教示はまた、印刷された出力がどのように現れるかを観察するために物理的にラベル又は他の出力を印刷しなければならない先行技術の負担を排除する。例えば、ファーストフードレストランチェーンの経営者は、チェーン内の複数の各レストランのためにそれぞれフォーマット化されたラベルを作成する必要がある。経営者は、ラベルを設計してプレビューするために、本明細書での教示にしたがって統合開発プラットフォームを使用する。経営者はその後、ラベルを生成するためにチェーンの各レストランにラベル設計を配布する。レストランで出力されるラベルは、所有者によって正確にプレビューされる。経営者はレストランで利用されるプリンタと物理的に接続しないが、プレビューは正確である。したがって、ラベル生産ワークフローは、先行技術のそれより著しく効率的である。さらに、コンピュータデバイス上で動作する統合環境は、コンピュータデバイスへ画像データを返信するコンピュータデバイスに接続するプリンタを必要としない。したがって、プリンタのメモリ資源が節約される。
【0017】
好ましい実施形態において、統合開発環境は、ラベルのような出力を設計及び/又は開発するために使用可能であるグラフィカルユーザインターフェースを含む。好ましくは、統合開発環境は、例えばラベルアンドタグプリンタ用にデータラベルを設計するために、プリンタのコントロールパネルのようなプリンタの仮想リプレゼンテーションを提供するグラフィカルユーザインターフェースと組み合わせて提供される。好ましくは、統合開発環境及び/又はプリンタをリプレゼンテーションするグラフィカルユーザインターフェースは、プリンタで実行される、プリンタファームウェア及びひとつ以上のアプリケーションを備える。したがって、アプリケーション開発ツールは、パソコンなどのコンピュータデバイス上で動作し、印刷装置上で又は印刷装置によって実行するプログラムのアプリケーション開発を促進するスクリプト及び/又はコードライブラリを含むように提供される。これは、複数のパーティによる分散型で“ローカル”なアプリケーション開発のような改良された接続機能を提供する。このように、多くのプログラマーは集中化したオフィスから離れて働くことができ、カスタマイズされた及び/又は特定の顧客ニーズに適合させたアプリケーションを作成するために、エンドユーザと顧客に極めて接近した位置にいる必要がない。これはより短いリードタイムをもたらす。ここでリードタイムは、クライアントからの要求があってから、プログラムが展開されて顧客によって使用されるまでの時間を表す。本明細書でのシステム及び方法は、さらに顧客と開発者との関係を強化する。
【0018】
好ましくは、印刷ラベルのようなフォーマット付き出力の開発者は、フォーマット付き出力用のアプリケーションを開発するために、本明細書での教示を利用する。開発者は、出力をするプリンタのような個別の出力装置の仮想リプレゼンテーションと同様に、プリント出力の正確な仮想リプレゼンテーション又は表示されるリプレゼンテーションを提供する。例えば、ラベルを印刷するエンドユーザのためのプリンタが備えるプリンタコントロールパネル(例えばLCDとキーボード/キーパッド)のリプレゼンテーションを含むグラフィカルユーザインターフェースが、開発者に提供される。このように、開発者は特定のプリンタ又は他の出力装置がどのようにエンドユーザのために応答するかをテストできる。例えば、開発者はエンドユーザによって選択されるひとつ以上のキーに応じてプリンタがどのように動作するのかをプレビューできる。さらに、エンドユーザによってなされるひとつ以上のキー選択に応じて、開発者は液晶ディスプレイ(“LCD”)又は印刷装置が備える他のディスプレイの正確なリプレゼンテーションを提供される。さらに、開発者はプリンタが提供する物理的な出力の正確なリプレゼンテーションを提供される。このように、本明細書での教示は、開発者のコンピュータデバイス上のプリンタキー動作及びLCD又は他の表示結果と同様に、印刷装置からの出力結果をシミュレートして、正確に表現(リプレゼント)する。これは、開発者のコンピュータデバイスと共に印刷装置内にファームウェアを提供することによって、少なくとも部分的に可能となる。このように、物理的な出力(すなわち、印刷)環境は、物理的に出力装置又はプリンタを開発者のコンピュータデバイスに接続する必要なしに、正確に表現(リプレゼント)される。開発者のための他の利点は、開発中の(又は挿入された)アプリケーションが機能するとき、デバッギングがコンピュータ上でなされることであり、それにより時間のかかるダウンロード及びテストプリントを解消又は縮小する。
【0019】
したがって、例えば、所有者のプリンタ制御と操作のために開発されたソフトウェアの結果を正確に表現するために、開発者のコンピュータデバイスにプリンタファームウェアソースコードを備えることによって、複数の印刷解決策が提供される。
【0020】
図面に関して、同じ要素には同じ符号が付されている。
図1は、実施形態による通信ネットワーク上で印刷環境を開発し、エミュレートするための、ハードウェアの配置例を示す図であり、ここでは概してシステム100と呼ぶ。好ましくは、システム100は、少なくともひとつの情報処理装置102で構成され、インターネットウェブサーバとデータベースファイルサーバとして動作するように構成されてもよく、通信ネットワーク106にアクセスしてユーザワークステーション104と通信するようにプログラミングされ、構成される。ユーザワークステーション104及び情報処理装置102は、周知の通信プロトコル、伝送制御プロトコル/インターネットプロトコル“TCP/IP”によって通信してもよい。
図1に示される例において、情報処理装置102は、当業者に周知であるように、例えばLUAプログラミング言語でアプリケーションを開発するために、統合開発プログラミング環境(“IDE”)を備える。情報処理装置102は、本明細書での教示をサポートするために必要な全てのデータベースを備える、又はそれにアクセスできる。情報処理装置102は、プリンタ108にインストールされるプリンタファームウェアも備えることが好ましい。しかし、情報処理装置102及び/又はユーザワークステーション104は、通信ネットワーク106又は情報処理装置102が接続してもよい他の通信ネットワークによって必要なデータベースにアクセスできると考えられる。通信ネットワーク106は、好ましくはインターネットのような世界的な公衆通信ネットワークであるが、広域通信網(WAN)、ローカルエリアネットワーク(LAN)、イントラネット又はコンピュータデバイスと周辺機器との通信を可能にする他のネットワークでもよい。
【0021】
好ましい実施形態では、情報処理装置102及びユーザワークステーション104は、通信ネットワーク106上でデータの送受信ができるコンピュータ可読媒体であり、例えばメインフレームコンピュータ、ミニコンピュータ、パーソナルコンピュータ、ラップトップコンピュータ、携帯情報端末(PDA)、携帯電話及びWeb TVのようなインターネット接続機器などである。さらに情報処理装置102は、MICROSOFT INTERNET EXPLORER(登録商標)、MOZILLA FIREFOX(登録商標)などのようなウェブブラウザソフトウェアを備えることが望ましい。情報処理装置102は周知のデータ通信ネットワーク技術を使って通信ネットワーク106に接続する。
【0022】
また、
図1に示すプリンタ108は、ラベルアンドタグプリンタであることが望ましく、情報処理装置102から受信したデータのラベルとタグを印刷するために動作可能である。プリンタ108は、キーボードとディスプレイとを備えていてもよく、情報処理装置102に加えて、又は情報処理装置102がない場合に、又は情報処理装置102と併用してプリンタ108での入出力機能を可能にする。プリンタ108を使うユーザから信号を受信して解釈する(すなわち、読み込む)ことができるキーボード110が提供されることが好ましい。キーボードは、外付けキーボード又はプリンタ108に直接接続していない他の入力デバイスであってもよい。さらに、ディスプレイ112は、プリンタ108でさまざまなテキストコンテンツ及び図形コンテンツを表示するように動作するように提供されることが好ましい。ディスプレイは、プリンタ108に取り付けられた外付けディスプレイ(図示せず)である。例えば、多くの異なる文字言語のために、ディスプレイ112はフォント及び符号化方式の豊富な選択の幅をサポートすることが好ましい。
【0023】
図2は情報処理装置102及び/又はユーザワークステーション104の一例の機能的構成要素を示す図であり、ソフトウェアコードを実行して情報処理装置102の操作を制御するのに使用されるひとつ以上の中央演算処理装置(CPU)202を含む。他の構成要素は、読出し専用メモリ(ROM)204、ランダムアクセスメモリ(RAM)206、通信ネットワーク上で他のコンピュータデバイスとデータを送受信するためのひとつ以上のネットワークインターフェース208、プログラムコードデータベース及びアプリケーションデータを格納するためのハードディスクドライブ、フロッピー(登録商標)ディスクドライブ、テープ装置、CD ROM又はDVDのような記憶装置210、キーボード、マウス、トラックボール、マイクなどのようなひとつ以上の入力装置212、及びディスプレイ214を含む。さらに、ひとつ以上の機能的構成要素の202から214は、同様にプリンタ108に適切に構成されていても又は提供されてもよい。
【0024】
情報処理装置102及び/又はユーザワークステーション104のさまざまな構成要素は、物理的に同じ筐体の内で構成される必要がなく、単一場所にある必要さえない。例えば記憶装置210は情報処理装置102の残りの要素とかけ離れた場所にあってもよく、ネットワークインターフェース208を介して通信ネットワーク106上でCPU202に接続していてもよい。情報処理装置102及び/又はユーザワークステーション104は、ハイパーテキストマークアップ言語(HTML)、Java(登録商標)アプレット、ActiveXコントロールプログラムを通信するためのウェブサーバとして作動することと同様に、必要なデータベースとフォーラムと他のコミュニティサービスとを提供するために十分な記憶域を備えるメモリを含むことが望ましい。情報処理装置102及び/又はユーザワークステーション104は、例えば
図2に示されているような、予測される動作環境に適した構成要素の配置となっている。CPU202とネットワークインターフェース208とメモリと記憶装置とは、予測デマンドを収容するための容量が確保できるように選択される。
【0025】
本発明の特質は、コンピュータ実行可能コード(すなわちソフトウェア)を記述する当業者が一般のコンピュータプログラミング言語及びスクリプト言語と、LUA、C、C++、C#、Visual Basic、JAVA(登録商標)、HTML、XML、ACTIVE SERVER PAGES、JAVA(登録商標)サーバーページ、サーブレット、MYSQL及びPHPを含むがこれに限定されない開発環境とのひとつ以上の組み合せを用いて本明細書で説明される機能を実施することができることである。
【0026】
本発明では、ここに例としてウェブブラウザとウェブサイトサーバー(例えば情報処理装置102)とを用いたウェブベースのシステムに関して説明するが、システム100はそのような構成に限定されない。システム100は、プリンタ108が情報処理装置102及び/又はユーザワークステーション104と通信して情報処理装置102及び/又はユーザワークステーション104から受信したデータを出力するように配置されると考えられる。プリンタ108と情報処理装置102及び/又はユーザワークステーション104との通信方法は周知ものを使用しており、例えばインターネットパケットエクスチェンジ(IPX)、ダイヤルアップ、サードパーティ、プライベートネットワーク又は付加価値通信網(VAN)のようなローカルエリアネットワークプロトコルに接続する非インターネットブラウザWINDOWS(登録商標)ビューアを使用する。
【0027】
さらにどの適するオペレーティングシステムでも、(例えばDOS、WINDOWS(登録商標) 3.x、WINDOWS(登録商標) 95、WINDOWS(登録商標) 98、WINDOWS(登録商標) NT、WINDOWS(登録商標) 2000、WINDOWS(登録商標) ME、WINDOWS(登録商標) CE、WINDOWS(登録商標) POCKET PC、WINDOWS(登録商標) XP、MAC OS(登録商標)、UNIX(登録商標)、LINUX(登録商標)、PALM OS(登録商標)、POCKET PC及び他の適するペレーティングシステム)情報処理装置102上で使用できると考えられる。
【0028】
好ましい実施形態では、プリンタ108のアプリケーションは、LUAプログラミング言語で作成される。好ましい実施形態によれば、LUAインタプリタはアプリケーションに備えられたLUAプログラミングステートメントを処理できるよう組み込まれる。典型的な高水準プログラミング言語とは異なり、LUAはスクリプト言語であり基本的なプログラミング言語ではない。本明細書での教示は、プリンタファームウェアと連動しLUAインタプリタによって解釈されるLUA言語の拡張であるプリンタAPIを実装する。これは、より先進で複雑なアプリケーションが例えば関数呼び出しによって開発されるのを可能にする。さらに、LUAプログラミング言語の拡張であるAPIを実装することによって、プリンタ108の一部の機能が修正でき、ひとつの変更を実行するためにはそれぞれのファームウェアアプリケーションの完全な上書きが必要とされる先行技術のラベルアンドタグプリンタとは対照的である。
【0029】
図3及び4は、それぞれ情報処理装置102及びプリンタ108に提供され、プリンタアプリケーションを開発及び/又は使用するために有用であるソフトウェアコンポーネントを示すブロック図である。
図3において、情報処理装置102は四角形102で表示され、オペレーティングシステム302(例えばMICROSOFT WINDOWS(登録商標))を備える。アプリケーション開発部304は、例えば、新しいプリンタアプリケーションの開発又は既存のプリンタアプリケーションの修正のための統合開発環境を含み、このプリンタアプリケーションは、LUAプログラミング言語によって作成され、ラベルのようなフォーマット付き出力を印刷するひとつ以上のプリンタ108に展開可能である。情報処理装置102は、例えば、アプリケーション開発部304によって情報処理装置102で開発されたプリンタアプリケーションを実行するプリンタ108の仮想リプレゼンテーションを提供するために動作可能である、仮想のプリンタエミュレータ306をさらに備える。上述のように、プリント出力、及び、アプリケーションが実行する間にプリンタ108がどのように機能するのかを、正確に表現(リプレゼント)するために、プリンタ108のファームウェアは、プリンタエミュレータ306に提供されることが望ましい。さらに、情報処理装置102は、API及びプリンタアプリケーション310を備える。
【0030】
図4において、ラベルアンドタグプリンタのようなプリンタ108は、四角形108で表示され、特に印刷装置であり情報処理装置102とは共有されないファームウェア312を備える。また、プリンタ108は、プリンタ108に特有であるが情報処理装置102上で同様に動作し、プリンタエミュレータ306を正確に動作させる共有ファームウェア308を備える。上述のように、プリント出力、及び、アプリケーションが実行する間にプリンタ108がどのように機能するのかを、正確に表現(リプレゼント)することをプリンタエミュレータ306に可能とさせる情報処理装置102にプリンタ108のファームウェアが提供されることが望ましい。さらに、プリンタ108は、API及びプリンタアプリケーション310を備える。
【0031】
好ましい実施形態では、情報処理装置102は、例えば、ソフトウェア開発者がプリンタ108のための印刷アプリケーションを記述することができるアプリケーション開発部304と、プリンタエミュレータ306とを備える。
図5は、情報処理装置102に表示され、アプリケーション開発部304の実施形態を表現(リプレゼント)する表示画面例400を示す。
図5に示される例では、アプリケーション開発部304は、統合開発環境(IDE)として提供され、プリンタ108で複数のラベルを出力するためのラベルアプリケーションを開発するのに用いられる。
図5で示すように、テーブル部402は、ラベルに印刷される情報を格納するひとつ以上のデータテーブルのリストを提供する。オプション部404は、データフィールド入力、ラベルレイアウトオプションとデータソースを含む追加のアプリケーション開発の選択を備える。
図5に示される例では、オプションの“テーブル”406が選択された。
【0032】
図5に関して続けると、ラベルフォーマット部408は、例えばプリンタ108で出力されるラベルを設計するためのオプションを提供する双方向のグラフィック画面制御を含む。
図5に示される例では、ラベルは小売会社のために設計され、それぞれのラベルは製品AGAMのために作成される。とりわけ、オプションはフォントタイプ、線、四角のようなものに対して提供される。データテーブル部410は、設計されたラベルへ組み込むのに用いられる情報のそれぞれのテーブルの画面を含む。好ましい実施形態では、FTP、電子メール、物理的なディスク又はドライブ、又はその種のものを介して、データテーブル又は他のフォーマットされた情報源が、情報処理装置102に提供される。このように、ラベルアプリケーションプログラマーは、ラベルが最終的に印刷及び/又は使用される場所の近傍に物理的に位置する必要なく、分散したラベルデータ源が管理できる。
【0033】
図5に関して続けると、コード生成部412は、情報処理装置102のユーザが印刷アプリケーションに含まれるプログラミングコードを記述するために提供される。
図5に示される例では、LUAプログラミングステートメントは、表示され、ラベルに含まれるカラーオプションを提供するのに使用される。グラフィックラベル開発プラットフォームにおける統合プログラミングコード開発は、開発者のための便利なオプションが印刷アプリケーションを正確で迅速に開発することを可能にする。さらに、プロパティ部414は、ラベルのようなプリント出力において表示する体裁と、データを制御するオプションとを含む。
図5に示される例では、単語”Agam“は、フォントタイプがSans Boldフォント、12ポイント、XY座標が153、86、となるように、プロパティ部414で選択され特定され、ラベル用データは、テーブル部402に表示されるようにテーブルから提供される。
【0034】
このように、表示画面例400で示されるように、アプリケーション開発部304が表示する統合開発環境は、ラベルのようなフォーマットされたプリント出力用のアプリケーションを開発するために使用可能である。
【0035】
本明細書で述べたように、カスタムデータラベルのような印刷物用に使用可能なプログラムされたアプリケーションは、従来技術において、互いに物理的に近接しなければならなかった当事者たちによって開発された。出力をテストして必要に応じてアプリケーションを修正するために、エンドユーザのプリンタ108に物理的に接続するのと同様に、開発者はエンドユーザのデータへのアクセスを必要とした。本明細書での教示によれば、開発者は物理的にエンドユーザのプリンタ108と接続する必要がなく、代わりにエンドユーザのデータと統合される印刷アプリケーションを離れて開発することができる。この印刷アプリケーションは、同様にエンドユーザの位置から離れてテスト及び評価できる。
【0036】
図6は、印刷アプリケーションのために顧客のデータをアップロードするか、そうでなければ統合するために使用可能な表示画面例500を示す。データパッケージ部502はアプリケーション開発部が利用できるオプションを例示し、このオプションは、フォーマット化すること、データソース、イメージ、プロフィール、フォントの他、システムオプションを含む。他のオプションは、異なる言語への翻訳テーブル、選択可能なリソースへの迅速なアクセスを提供するファンクションキーサポート(例えばF1)、予め定義された設定、及び累積値のリポジトリを含む停電時ストレージを含んでもよい。
【0037】
テーブル部504は、クライアント例からインポートされ、製品コード、製品名、製造コード及びカラーコード用のデータを含むデータテーブル例を示す。一旦インポートされると、データはデータラベルのようなルカスタム印刷アプリケーション用に使用可能であり、さらに顧客例のために使用可能である。
【0038】
図7は、例えば、テーブル部504(
図6)で示されるテーブルにおいて提供されたデータを印刷するデータラベルレイアウト例600を示す。
図7で示すように、製造コード、カラーコード及び製品コードのような複数のデータ値を取り込むバーコードが提供される。さらに、例えば同じことを表示するために、データラベルは記述された語を取り込む。さらに、カスタムロゴがラベルに含まれてもよく、それは取引先からインポートされる。
【0039】
図8は、アプリケーション開発部304の別の利用を表示し、情報処理装置102で動作可能な表示画面例700を示す。
図8に示される例において、アプリケーション開発部304は、食品供給者用のデータラベルを開発するために利用される。データテーブル部410で示すように、示されたデータは食品用であり、アップルパイ、ベーコン及びその他の食品を含む。対応するデータは、それぞれの食品が解凍するのに必要な時間、特定の食品の保存期間がどのくらいであるかなどを提供する。ラベルフォーマット部408では、データの最初の列にあるデータのいくつかは、アップルパイ用が示されている。ラベルに含むためにプログラマーによって選択されたそれぞれのデータフィールドは、食品名、“販売期限”の日付と時間、“解凍期限”の日付と時間及び”廃棄期限“の日付と時間である。データラベルが顧客に印刷される際、データテーブル部410からのデータのそれぞれの列の各々からの対応する情報がラベルに出力される。表示画面例700では、コード生成部412は表示されず、さらにアプリケーション開発部304の柔軟性を例示する。アプリケーション開発部304の408、410、412の部分などは、例えば単にユーザによってひとつ以上のグラフィック画面制御(例えばチェックボックス、タブ、ラジオボタン又はそのようなもの)を選択することによって表示又は非表示することができる。
【0040】
図9は、アプリケーション開発部304の別の用途を表示し、情報処理装置102で動作可能な表示画面800の例を示す。
図9に示される例において、アプリケーション開発部304は、スポーツ用品店用のデータラベルを開発するために利用される。表示画面800の例では、ユーザは製品イメージ、バーコード、ブランド名、製品名、元の売価及び現在の売価を含む複数の構成要素を備えるデータラベルを設計している。さらに、ラベルは斜めのテキスト出力、それぞれのフォントタイプ及びポイントサイズ他を含む分かりやすく目立つ方法で、体裁を整えることが望ましい。表示画面800の例では、データテーブル部410及びコード生成部412は表示されていない。ユーザがそれらの部分の表示を消せるため、ユーザはデータの混乱と表示画面800を消費するプログラミングコードなしでラベルのグラフィック開発に集中することができる。
【0041】
上述のように、アプリケーション開発部304に加え、実際の物理的なプリンタ108に備えられたソフトウェアと同様に、有効に情報処理装置で動作するソフトウェアが備えられる。表示装置が物理的なプリンタから離れて置かれても、ユーザは、プリント出力の正確なプレビューと、さらにプリンタの正確なリプレゼンテーションをユーザの表示装置上に見ることができる。
【0042】
図10は、物理的なプリンタ108とプリンタエミュレータ306との類似点を示す。
図10の左側は、プリンタ108を示し、プリンタ108は、キーボード110とディスプレイ112を備える。プリンタエミュレータ306は、同様に、キーボード110とディスプレイ112を含むプリンタ108の仮想リプレゼンテーションを含む。好ましい実施形態において、プリンタ108とプリンタエミュレータ306との双方に提供される共有ファームウェア308の機能として、プリンタエミュレータ306における全ての制御及び表示が、プリンタ108で動作する通りに、かつ正確に動作する。また、
図10に例示されるのは、アプリケーション開発部304によって提供され、キーボード110によって選択できるプロンプトをディスプレイ112に含むことが好ましいアプリケーション例である。
【0043】
図11から13は、それぞれプリンタエミュレータ306の画面の例1002、1006及び1008と、好ましい実施形態により提供される、対応するラベル出力のプレビューとを示す。
図11から13で示すように、プリンタエミュレータ306は表示画面1002、1006及び1008の左部分に示され、プレビューされたラベル出力部1004は右部分に示される。各々の画面1002、1006、及び1008は、異なるユーザのためにラベルを出力しているプリンタ108の仮想リプレゼンテーションを表す。例えば、表示画面1002はスポーツ用品店用に生成したラベルを表す。表示画面1006は食品供給者用に生成したラベルを表し、表示画面1008は小売店用に生成したラベルを表す。各々の表示画面の例1002、1006及び1008は、複数のラベル(表示画面1002で示すような)、複数のラベルタイプ(表示画面1006で示すような)及び複数の製品用のラベル(表示画面1008で示すような)を含む、本明細書の教示により提供可能な出力を示す。情報処理装置102とプリンタ108との双方に提供される共有ファームウェアの少なくともの結果として、ラベル出力部1004に示される出力は、プリンタ108で生成する実際の出力の正確なリプレゼンテーションである。
【0044】
図14は、実施形態に含むことができ、共有ファームウェア308を提供するのに使用可能である構成要素例を示すブロック
図1100である。
図14に示すように、標準LUAAPI1102及びカスタムLUAプリンタAPI1104は、LUA仮想マシン(“VM”)1106と連動するように提供される。印刷エンジン部1108では、モータ制御、センサー制御及びサーマルプリントヘッド(“TPH”)制御を含む、プリンタ108に関連する構成要素がリストアップされる。デバイス部1110では、通信インターフェース(”I/F“)、キーボード及びディスプレイがリストアップされる。レンダリングエンジン部1112は、フォントスケーラ、フォントラッパー、コードページ、イメージ、バーコードラッパー及び線を含む。バーコードライブラリ部1114は、さらにそれぞれのバーコードのためにビットマップフォント及びレンダリングを含んでもよい。ファイルシステム部1116は、望ましくは読出し専用メモリ(“ROM”)、ランダムアクセスメモリ(“RAM”)、フラッシュドライブ及びセキュアデジタル(“SD”)カードラッパーを含む。SDカードファイルシステム1118がさらに提供されてもよい。さらにソフトウェアライブラリ(“C”)1120が備えられ、カスタム仕様の関数であってもよい“malloc”及び“printf”のようなカスタムライブラリコンポーネントを含む。さらに、リアルタイムオペレーティングシステム及びハードウェアが、部分1122に備えられる。これらの構成の用途は、望ましくは情報処理装置102に提供され、プログラマーに正確な印刷プレビューとプリンタエミュレーションとを提供するために使用可能なファームウェアの構成要素として提供される。
【0045】
図15及び16は、プリンタ108が例えばアプリケーション開発部304によって開発されたアプリケーションを備えている実施形態による、さらなるハードウェアの配置例を示す。
図15に示される例では、デスクトップ型のプリンタ108の使用をサポートする配置が示される。情報処理装置102、ユーザワークステーション104、通信ネットワーク106、プリンタ108、キーボード110及びディスプレイ112に加え、はかり1204が示され、このはかり1204は、プリンタ108によって生成されたラベルに含まれる食品又は商品の重さを表す情報を送信するために使用可能である。さらに、スキャナー装置1206は既存のバーコードから情報を得て、その情報をプリンタ108に送信するために使用可能である。他のデータ入力装置は、キーボード1208及びPDAのような携帯端末1210を含む。データとソフトウェアは情報処理装置102によって提供されてもよい。情報処理装置102はアプリケーション開発部304によって開発されたアプリケーション1212を保存してもよく、特定のビジネス顧客用のデータを保存してもよいデータベース1214を保存してもよい。
図15に示される例では、アプリケーションは、食料品店、小売店又は他のビジネスのような特定の場所で動作可能であり、使用可能であり、また特定の場所で一般的に設置される装置と連動する。例えば、プリンタ108は、LUAインタプリタを介して実行され、かつ、データベースと連動可能なLUAアプリケーションによってラベルを生成する。
【0046】
図16は、ラベル貼り付けの生産ラインを提供するようなプリントアンドアプライ(“P&A”)の印刷環境で使用可能であるハードウェアの配置1216を示す。生産ライン1218が提供され、それは高速で正確なデータの転送及び/又は認識のためにセンサー1220を含んでもよい。
【0047】
図17は、アプリケーションの生産を開始できるように、顧客からカスタマイズされたラベルアプリケーションの注文を受けて、注文を実現することと関連した過程を説明するステップS100を表すフローチャートである。ステップS102において、一連の作業が始まり、顧客はその後正式に特定のラベルアプリケーションを依頼する(ステップS104)。ステップS106において、例えば、顧客の依頼は、技術的に顧客の要求をプログラマーに説明できる技術者によって、正式に定義される。その要求は、カスタマイズされたアプリケーションを生産するためにアプリケーション開発部304を利用するプログラマーに伝えられる。ステップS108において、例えば、プログラマーは、ラベルフォーマットを設計して、プログラムのプロンプトを開発して、フィールドとプロンプトをデータテーブルの列と関連付けて、アプリケーションとプリンタセットアップルーチンを開発して、及び/又はLUAスクリプトのようなユーザの予め定義された機能を統合するために、アプリケーション開発部304を利用する。プログラマーは、新しいアプリケーションを開発するか、既存のアプリケーションを修正するためのどちらかに、アプリケーション開発部304を利用してもよい。一旦アプリケーションが開発されたら、例えば、プリンタエミュレータ306(ステップS110)、又は物理的なプリンタ108(ステップS112)によってアプリケーションが検証される。その後、ステップS114において、アプリケーションの変更が必要であるかどうかの判定がなされる。もし変更が必要であれば、過程はステップS108に戻る方へ分岐し、プログラマーはアプリケーションを修正する。もし変更が不要である場合、過程はステップS116に分岐し、アプリケーションは通信ネットワーク106で送信されるファイルか、SDカード、コンパクトディスク又は他の媒体で提供されるファイルで顧客に提出される。プリンタエミュレータ306、又はプリンタ108のどちらかによって(ステップS118)、顧客はアプリケーションを検証する。その後、アプリケーションに修正が必要であるかどうかの判定がなされる(ステップS120)。もし修正が必要であれば、ステップS108に戻る方へ分岐し、プログラマーはアプリケーションを修正して、プロセスはそこから継続する。修正が不要である場合、ステップS122に分岐し、そこで顧客はアプリケーションを承認し、料金を支払い、終了する。
【0048】
このように、本明細書に示され、説明されるように、本願はプリンタエミュレーション及びプログラム開発に関するような従来技術に関連する課題を解決する。ファームウェアをプリンタ及びコンピュータデバイスと共有することによって、正確なプリント出力プレビューの提供を含む、正確なプリンタエミュレーションが得られる。さらに、プリンタソフトウェアアプリケーションの開発サイクルは著しく減少され、もはや技術者とプログラマーは、物理的にエンドユーザの近傍に居る必要はない。分散化され、高度であり、高速、かつ、コスト効率のよい解決法は、従来技術においてこれまでは利用できなかった特注の印刷ソリューションに提供される。
この解決法は、高性能プログラミング、及び、ファイルシステムにアクセス及び連動できるLUAのようなスクリプト言語を使用することによって提供され、この使用は、高性能プリンタ機能、接続機能、及び、改善されたフォントとコードページ対応を提供できることの、少なくとも一要因である。
その成果は、最初に顧客に提供される、より短い総リードタイムとより正確なアプリケーションソリューションであり、それは顧客関係を向上させ、強固にするものである。
【0049】
さらに、今では、非常に複雑な印刷構成が可能であり、特にラベル用に、例えば、さまざまな色、ロゴ、データベース情報、バーコード及び改善されたワークフローのための作業者の手順を含んでもよい。顧客データベースにアクセス又は顧客データベースを得た後、及び、顧客の依頼又は要求が明確にされたあと、プログラマーは顧客のデータとカスタムグラフィックスを含み、アプリケーションに包括でき、顧客へ迅速に送信することができるラベルフォーマットを設計するために本明細書の教示を利用することができる。さらに、プリンタエミュレータ306によって、アプリケーションの正確さを検証することができる。
【0050】
ある実施形態において、顧客は予め決められた機能がほとんどなく、実質的に“空の”装置であるプリンタを受け取る。エンドユーザは、エンドユーザのコンピュータデバイスによって通信ネットワークでプリンタアプリケーションにアクセスして、ダウンロードする。その後、プリンタはカスタム機能を提供するプログラミング命令を実行する。
【0051】
本発明はその特定の実施形態に関して説明し示しているが、多くの他の変形と修正と他の用途とは、当業者にとっても明らかになるであろう。したがって、本発明が本明細書の特定の開示によって制限されないことが好ましい。