(57)【要約】【課題】本発明の課題は、ユーザの個々の要求に柔軟に対応できる機能拡張性に優れたプリンタおよびこのプリンタを用いた印刷方法を提供することである。【解決手段】本発明に係るプリンタは、ユーザの要求にしたがって、その都度、プリンタに付加的な機能が外部から組み込まれ、これにより、当該付加的な機能が利用可能になるというものである。【選択図】図２
2008260304.tif 000002
【特許請求の範囲】
【請求項１】
付加機能モジュールおよびプリントコマンドデータを含むプリントジョブデータを受け付ける受付手段と、
前記受け付けたプリントジョブデータに含まれる付加機能モジュールを解釈し、所定の処理を実行する第１の解釈手段と、
前記受け付けたプリントジョブデータに含まれるプリントコマンドデータを解釈し、イメージデータを生成する第２の解釈手段と、
前記生成されたイメージデータに基づいて、印刷媒体に対する印刷を実行する印刷実行手段と、
を備えたことを特徴とするプリンタ。
【請求項２】
前記付加機能モジュールは親展印刷機能モジュールであり、
前記第１の解釈手段は、前記親展印刷機能モジュールを解釈することにより、ユーザ認証のための所定の入力をユーザに促す入力手段と、
前記ユーザによる入力に基づいてユーザ認証を行う認証手段と、を実現することを特徴とする請求項１記載のプリンタ。
【請求項３】
前記第１の解釈手段は、前記親展印刷機能モジュールを解釈することにより
実現した認証手段が、前記ユーザによる入力が妥当であると判断した場合に、前記受け付けたプリントジョブデータのうち、前記ユーザに関するプリントジョブデータを提示する提示手段を実現することを特徴とする請求項２記載のプリンタ。
【請求項４】
プリンタに設けられた所定の解釈手段によって解釈され、前記プリンタに所定の機能を実現させる付加機能モジュールからなる付加機能モジュールライブラリと、
ホスト装置に、所定の印刷対象データに基づいてプリントコマンドデータを生成させる第１の生成手段と、
前記ホスト装置に、前記付加機能モジュールライブラリのうちの特定の付加機能モジュールを記憶と前記プリントコマンドデータとに基づいてプリントジョブデータを生成させる第２の生成手段と、
を備えたことを特徴とするプリンタドライバ。
【請求項５】
前記プリンタドライバは、付加機能モジュールを選択させるためにユーザに入力を促すように前記ホスト装置を機能させる手段をさらに備えたことを特徴とする請求項４記載のプリンタドライバ。
【請求項６】
プリンタに印刷処理を実現させるプリントジョブデータであって、
前記プリントジョブデータは、
前記プリンタが受け付けたプリントジョブデータに含まれる付加機能モジュールを解釈し、所定の処理を実行する第１の解釈手段と、
前記受け付けたプリントジョブデータに含まれるプリントコマンドデータを解釈し、イメージデータを生成する第２の解釈手段と、
前記生成されたイメージデータに基づいて、印刷媒体に対する印刷を実行する印刷実行手段として、前記プリンタを機能させることを特徴とするプリントジョブデータ。
【請求項７】
ホスト装置とプリンタとから構成されるプリントシステムにおいて、
前記ホスト装置には、
プリンタに設けられた所定の解釈手段によって解釈され、前記プリンタに所定の機能を実現させる付加機能モジュールからなる付加機能モジュールライブラリと、
所定の印刷対象データに基づいてプリントコマンドデータを生成させる第１の生成手段と、
前記付加機能モジュールライブラリのうちの特定の付加機能モジュールを記憶と前記プリントコマンドデータとに基づいてプリントジョブデータを生成させる第２の生成手段と、を備えたプリンタドライバが実装され、
前記プリンタは、
前記付加機能モジュールおよび前記プリントコマンドデータを含むプリントジョブデータを受け付ける受付手段と、
前記受け付けたプリントジョブデータに含まれる付加機能モジュールを解釈し、所定の処理を実行する第１の解釈手段と、
前記受け付けたプリントジョブデータに含まれるプリントコマンドデータを解釈し、イメージデータを生成する第２の解釈手段と、
前記生成されたイメージデータに基づいて、印刷媒体に対する印刷を実行する印刷実行手段と、
を備えたことを特徴とするプリントシステム。
【請求項８】
ホスト装置からプリンタを用いて印刷物を出力させる印刷方法において、
前記ホスト装置が、所定の付加機能モジュールをユーザに選択させる段階と、
前記ホスト装置が、前記選択された付加機能モジュールと印刷対象データとを含むプリントジョブデータを生成し、前記プリンタに対して前記プリントジョブデータを送る段階と、
前記プリンタが、
前記プリントジョブデータを受け付ける段階と、
前記受け付けたプリントジョブデータに含まれる付加機能モジュールを解釈し、所定の処理を実行する段階と、
前記受け付けたプリントジョブデータに含まれるプリントコマンドデータを解釈し、イメージデータを生成する段階と、
前記生成されたイメージデータに基づいて、印刷媒体に対する印刷を実行する段階と、
からなることを特徴とする印刷方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタおよびこのプリンタとホスト装置によって構成されるプリントシステム並びに該ホスト装置に実装されるプリンタドライバに関する。
【背景技術】
【０００２】
ユーザは、ホスト装置上の電子的なアプリケーションデータをプリンタに印刷させることにより、印刷物を得ることができる。すなわち、ユーザにより印刷の指示が与えられたホスト装置は、ワードプロセッサ等のアプリケーションプログラムにおけるアプリケーションデータをプリンタドライバに引き渡してプリントジョブデータに変換した後、これをプリンタに送信する。プリンタは、ホスト装置から送信されるプリントジョブデータを解釈して、ラスタ形式のイメージデータを生成し、この生成したイメージデータを一旦イメージメモリに保持する。その後、プリンタは、展開したイメージデータをプリントエンジンに供給し、印刷媒体にインクなどの記録材料を定着させて、印刷を実現する。
【０００３】
近年では、さまざまな機能を実装した高機能プリンタも登場している。例えば、プリントジョブデータの記述言語（プリンタ言語）として知られる"ESC/Page"や"Postscript"等のそれぞれの言語をサポートするために複数の言語解釈機能を実装したプリンタや、デジタルスチルカメラで得られた写真画像をより高品質に印刷するための自動補正機能を実装したプリンタがある。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
プリンタにどのような機能が実装されるか、つまりプリンタの仕様は、開発段階において決定される。つまり、従前のプリンタは、仕様にしたがって予め実装された機能のみを提供することができるのであって、実装されていない機能を提供することはできなかった。したがって、ある機能を実装していないプリンタに当該機能を追加的に実装しようとする場合には、仕様の変更に伴う新たなプリンタとして開発する必要があり、拡張性・柔軟性に乏しかった。また、実際に追加のため仕様の変更をするとなると、そのための膨大な開発コストがかかるという問題があった。一方、このような仕様の変更を避けるため、当初からあらゆる機能をプリンタに実装させようとすると、かえってコスト高につながるため、現実的ではなかった。
【０００５】
そこで、本発明は、ユーザの個々の要求に柔軟に対応できる機能拡張性に優れたプリンタおよびこのプリンタを用いた印刷方法を提供することを課題としている。
【０００６】
より具体的には、本発明は、ユーザの要求にしたがって、その都度、機能拡張が行われるプリンタおよびこのプリンタを用いた印刷方法を提供することを課題としている。
【課題を解決するための手段】
【０００７】
本発明の要旨は、ユーザの要求にしたがって、その都度、プリンタに付加的な機能が外部から組み込まれ、これにより、当該付加的な機能が利用可能になるというものである。したがって、本発明によれば、拡張性・柔軟性に優れたプリンタおよびこのプリンタを用いた印刷方法が提供されることになる。
【０００８】
本発明は、付加機能モジュールおよびプリントコマンドデータを含むプリントジョブデータを受け付ける受付手段と、前記受け付けたプリントジョブデータに含まれる付加機能モジュールを解釈し、所定の処理を実行する第１の解釈手段と、前記受け付けたプリントジョブデータに含まれるプリントコマンドデータを解釈し、イメージデータを生成する第２の解釈手段と、前記生成されたイメージデータに基づいて、印刷媒体に対する印刷を実行する印刷実行手段と、を備えたことを特徴とするプリンタである。なお、前記第２の解釈手段そのものが付加機能モジュールを解釈する前記第１の解釈手段によって実現されてもよい。
【０００９】
また、前記付加機能モジュールは親展印刷機能モジュールであってもよい。この場合には、前記第１の解釈手段は、前記親展印刷機能モジュールを解釈することにより、ユーザ認証のための所定の入力をユーザに促す入力手段と、前記ユーザによる入力に基づいてユーザ認証を行う認証手段と、を実現する。
【００１０】
さらに、前記第１の解釈手段は、前記親展印刷機能モジュールを解釈することにより、実現した認証手段が、前記ユーザによる入力が妥当であると判断した場合に、前記受け付けたプリントジョブデータのうち、前記ユーザに関するプリントジョブデータを提示する提示手段を実現する。
【００１１】
また、本発明は、ホスト装置側に実装されるプリンタドライバとしても把握される。すなわち、本発明は、プリンタに設けられた所定の解釈手段によって解釈され、前記プリンタに所定の機能を実現させる付加機能モジュールからなる付加機能モジュールライブラリと、ホスト装置に、所定の印刷対象データに基づいてプリントコマンドデータを生成させる第１の生成手段と、前記ホスト装置に、前記付加機能モジュールライブラリのうちの特定の付加機能モジュールを記憶と前記プリントコマンドデータとに基づいてプリントジョブデータを生成させる第２の生成手段と、を備えたことを特徴とするプリンタドライバおよびこのプリンタドライバを記録した記録媒体である。前記付加機能モジュールライブラリは、例えば、前記ホスト装置のハードディスクにインストールされ、そこに保持される。
【００１２】
前記プリンタドライバは、付加機能モジュールを選択させるためにユーザに入力を促すように前記ホスト装置を機能させる手段をさらに備えてもよい。
【００１３】
さらに、本発明は、プリンタに印刷処理を実現させるプリントジョブデータであって、前記プリントジョブデータは、前記プリンタが受け付けたプリントジョブデータに含まれる付加機能モジュールを解釈し、所定の処理を実行する第１の解釈手段と、前記受け付けたプリントジョブデータに含まれるプリントコマンドデータを解釈し、イメージデータを生成する第２の解釈手段と、前記生成されたイメージデータに基づいて、印刷媒体に対する印刷を実行する印刷実行手段として、前記プリンタを機能させることを特徴とするプリントジョブデータである。
【００１４】
さらにまた、本発明は、ホスト装置とプリンタとから構成されるプリントシステムにおいて、前記ホスト装置には、プリンタに設けられた所定の解釈手段によって解釈され、前記プリンタに所定の機能を実現させる付加機能モジュールからなる付加機能モジュールライブラリと、所定の印刷対象データに基づいてプリントコマンドデータを生成させる第１の生成手段と、前記付加機能モジュールライブラリのうちの特定の付加機能モジュールを記憶と前記プリントコマンドデータとに基づいてプリントジョブデータを生成させる第２の生成手段と、を備えたプリンタドライバが実装され、前記プリンタは、前記付加機能モジュールおよび前記プリントコマンドデータを含むプリントジョブデータを受け付ける受付手段と、前記受け付けたプリントジョブデータに含まれる付加機能モジュールを解釈し、所定の処理を実行する第１の解釈手段と、前記受け付けたプリントジョブデータに含まれるプリントコマンドデータを解釈し、イメージデータを生成する第２の解釈手段と、前記生成されたイメージデータに基づいて、印刷媒体に対する印刷を実行する印刷実行手段と、を備える。
【００１５】
また、上記の発明は、方法の発明として把握することができる。すなわち、本発明は、ホスト装置からプリンタを用いて印刷物を出力させる印刷方法において、前記ホスト装置が、所定の付加機能モジュールをユーザに選択させる段階と、前記ホスト装置が、前記選択された付加機能モジュールと印刷対象データとを含むプリントジョブデータを生成し、前記プリンタに対して前記プリントジョブデータを送る段階と、前記プリンタが、前記プリントジョブデータを受け付ける段階と、前記受け付けたプリントジョブデータに含まれる付加機能モジュールを解釈し、所定の処理を実行する段階と、前記受け付けたプリントジョブデータに含まれるプリントコマンドデータを解釈し、イメージデータを生成する段階と、前記生成されたイメージデータに基づいて、印刷媒体に対する印刷を実行する段階と、からなることを特徴とする印刷方法である。
【００１６】
なお、本明細書において、手段とは、単に物理的手段を意味するものではなく、その手段が有する機能をソフトウェアによって実現する場合も含む。また、１つの手段が有する機能が２つ以上の物理的手段により実現されても、２つ以上の手段の機能が１つの物理的手段により実現されても良い。
【発明の効果】
【００１７】
本発明によれば、ユーザの要求にしたがって、その都度、機能拡張が行われる、拡張性・柔軟性に優れたプリンタおよびこのプリンタを用いた印刷方法が提供されることになる。
【発明を実施するための最良の形態】
【００１８】
次に、本発明の実施の形態について、図面を参照しつつ説明する。
【００１９】
［第１の実施形態］
本実施形態は、ユーザがプリンタで印刷物を得ようとする場合に、自身のホスト装置からプリンタに付加的な機能を送り込み、送り込まれたプリンタでは付加的な機能が実現されるようにしたことを特徴としている。付加的な機能は、好ましくは、プリントコマンドデータとともにプリントジョブデータとして送り込まれる。
【００２０】
図１は、本実施形態に係るプリンタ１のハードウェア構成の一例を示す図である。同図において、プロセッサ１１は、オペレーティングシステムの制御の下、ＲＯＭ１２やＲＡＭ１３に記憶された各種のプログラムを実行する。つまり、各種プログラムがプロセッサ１１に実行されることにより、他のハードウェアと共働して、プリンタに所定の機能を実現させる。本実施形態では、プリントジョブ受付機能や、イメージ生成機能、印刷制御機能、ネットワークプログラム解釈機能が実現され、さらにこのネットワークプログラム解釈機能が解釈するネットワークプログラムにより所定の機能が実現される。ここでいうネットワークプログラムとは、ハードウェアやオペレーティングシステム等のプラットフォームに依存しない、プラットフォームニュートラルな中間コードであることが好ましく、あるデバイスにこのような中間コードを解釈しうる解釈機能が実装されていれば、ネットワークを介して自由に配送され、リアルタイムに実行することが可能になるというものである。
【００２１】
ネットワークインターフェース回路１４は、図示しないネットワークＮに接続され、ホスト装置２との間でネットワーク通信を可能にする。イメージメモリ１５は、プリントコマンドデータに基づいて生成されたプリントイメージデータ（以下「イメージデータ」という。）を記憶する。エンジンコントローラ１６は、プリントエンジン１７の動作を制御しながら、イメージメモリ１５に展開されたイメージデータを読み出して、プリントエンジン１７に供給する。エンジンコントローラ１６は、例えば、イメージメモリ１５に所定のバンド幅のイメージデータが展開された時点でプロセッサ１１から送られる印刷実行命令をトリガとして起動される。プリントエンジン１７は、例えば、紙送り機構やプリントヘッドなどによって構成され、紙などの印刷記録媒体に印刷を行うものである。プリントエンジン１７は、レーザプリンタやシリアルプリンタといったプリンタ１の種類に応じたものを用いることができる。
【００２２】
ユーザインターフェース回路２８は、典型的には、ディスプレイやキーボード、マウス等が相当し、プロセッサ１１により実行されるこれらのデバイスドライバにより、ユーザインターフェース機能を実現する。
【００２３】
上述したプリンタ１は、ネットワークＮを介してホスト装置２と接続され、プリントシステムを構成する。図２は、本実施形態に係るプリントシステムを説明するためのブロックダイアグラムである。なお、同図ではネットワークＮに接続された複数のプリンタ１およびホスト装置２のうち、それぞれ代表する１台をそれぞれ示している。
【００２４】
アプリケーションプログラム２０１は、例えば、文書を作成・編集するためのワードプロセッサ、図形を作成・編集するグラフィックエディタ、Ｗｅｂシステムを実現するＷｅｂクライアントプログラム（Ｗｅｂブラウザ）などである。今、ユーザからユーザインタフェース２０２を介して印刷コマンドが与えられると、アプリケーションプログラム２０１は、図示しないオペレーティングシステムの制御の下、プリンタドライバ２０３を呼び出す。
【００２５】
プリンタドライバ２０３は、ユーザインターフェース２０２を介してプリントダイアログボックスを表示し、ユーザに所定の印刷設定項目などの入力を促す。このとき、ユーザは、出力先のプリンタ１に送り込むべき付加的な機能を選択することができる。付加的な機能とは、出力先のプリンタ１に本来備わっている機能に付加ないし追加される機能である。したがって、全く別個の機能の場合もあれば、ある機能そのものを拡張する場合もある。
【００２６】
次に、ユーザからユーザインターフェース２０２を介して印刷実行指示（例えば「ＯＫ」ボタンの選択）が与えられると、プリンタドライバ２０３は、アプリケーションプログラム２０１から印刷対象であるそのアプリケーションデータ（印刷対象データ）を受け取って、プリントコマンドデータに変換する。プリントコマンドデータとは、プリンタ２によって解釈されるコマンド列およびデータであり、プリンタ２は、このプリントデータを解釈することによりイメージデータを生成する。プリンタドライバ２０３はまた、付加機能モジュールライブラリ２０４を参照し、ネットワークプログラムに必要な付加機能モジュールを追加して、このネットワークプログラムとプリントコマンドデータとによってプリントジョブデータを生成する。プリンタドライバ２０３は、生成したプリントジョブデータをネットワークインターフェース２０５に出力する。
【００２７】
ネットワークインターフェース２０５は、プリンタドライバ２０３から送られたプリントジョブデータを物理的／論理的に変換してネットワークＮ上に送出する。つまり、ネットワークインタフェース部２０５は、ネットワーク階層モデルでいうところの下位層プロトコルに位置付けられる通信サービスを実現する。
【００２８】
プリンタ２に設けられたネットワークインタフェース部２０５'は、自身宛に送信されるデータを受け取り、これを物理的／論理的に変換してプリントジョブデータに復元し、プリントジョブ受付部２０６に引き渡す。
【００２９】
プリントジョブデータ受付部２０６は、プリントジョブデータに含まれるネットワークプログラムを解釈し、付加機能モジュールが組み込まれていれば、これを実行する。これにより、プリンタ２は、他のハードウェアと協働して所定の付加機能を実現することになる。これは、同図中、付加機能実現部２０７として示されている。付加機能実現部２０７としては、例えば、アプリケーションデータの印刷に際してパスワードの入力を要求する親展印刷機能であれば、パスワードの入力を受け付ける機能と、入力されたパスワードについて認証チェックを行って、認証された場合に印刷を許可する機能がプリンタ２に実現されることになる。
【００３０】
プリントジョブ受付部２０６はまた、ネットワークプログラムの解釈、実行により、プリントコマンドデータをプリントジョブ解釈部２０８に引き渡す。プリントジョブ解釈部２０８は、プリントコマンドデータを解釈してイメージデータを生成し、イメージメモリ１５に展開する。プリントジョブ解釈部２０９は、そのプリントジョブデータを解釈して、所定バンド幅分のイメージデータの生成が完了すると、印刷実行部２０９に印刷実行指示を送る。
【００３１】
印刷実行部２０９は、上述したエンジンコントローラ１６およびプリントエンジン１７によって実現され、印刷媒体に対する印刷を行う。印刷実行部２０９によってイメージデータが読み出されてその分の印刷が完了すると、プリントジョブ解釈部２０８は、引き続きイメージデータの生成を行って印刷実行部２０９に印刷実行指示を送る。これは、プリントコマンドデータをすべて解釈し終えるまで、繰り返される。
【００３２】
図３は、本実施形態に係るプリントジョブ受付部１０６におけるプログラムスタック構造を説明するための図である。同図に示すように、上述したプロセッサ１１やネットワークインターフェース回路１４等から構成されたプリンタハードウェア３１上にはオペレーティングシステム３２が実装されている。さらに、このオペレーティングシステム３２上には、ネットワークプログラムインタプリタ３３、Ｗｅｂサーバプログラム３４、プリンタデーモンプログラム（ＬＰＤ）３５およびネットワークドライバ３６が実装されている。なお、ネットワークプログラムインタプリタ３３としては、サンマイクロシステムズ社が提案したJava（登録商標） Virtual Machineを、ネットワークプログラムとしてJava（登録商標）アプレットを適用することができる。
【００３３】
例えば、プリントジョブ受付部１０６が、ネットワークドライバ３６を介して、httpスキームによるプリントジョブデータを受け付けると、このプリントジョブデータはＷｅｂサーバプログラム３４に引き渡され、さらにここでネットワークプログラムインタプリタ３３が呼び出されて、ネットワークプログラムが解釈、実行される。ネットワークプログラムインタプリタ３３は、ネットワークプログラムの解釈結果にしたがってプリンタ１に所定の機能を実現させ、最終的に、プリントコマンドデータをオペレーティングシステム３２上の図示しない印刷処理プログラム（プリントモジュール）に引き渡す。印刷処理プログラムとは、イメージ生成プログラムや印刷制御プログラム等の実際の印刷処理に携わるプログラムである。つまり、印刷処理プログラムは、オペレーティングシステム３２の制御の下、プリントコマンドデータが引き渡されると、これを解釈してイメージデータに変換し、エンジンコントローラ２６に印刷実行命令を送る。
【００３４】
また、プリンタデーモンプログラム３５は、コンベンショナルなネットワークプリンタで知られているｌｐコマンドによるプリントジョブデータを受け付けるためのものである。このように、プリンタデーモンプログラム３５も実装しておくことにより、ｌｐコマンドによるプリントジョブデータも受け付けることができ、互換性を維持することができる。
【００３５】
以上のように、本実施形態によれば、プリンタ１には、ネットワークプログラムを解釈可能なネットワークプログラムインタプリタ３３が実装され、ネットワークプログラムを含むプリントジョブデータを受け付けた場合には、ネットワークインタプリタ３３によりネットワークプログラムが解釈、実行されるように構成されているので、ユーザがプリンタ１に印刷させる際に、自身のホスト装置２からプリンタに付加的な機能を実現するネットワークプログラムを含むプリントジョブデータを送り込むことにより、送り込まれたプリンタ１ではネットワークプログラムによる付加的な機能が実現されるようになる。
【００３６】
次に、本実施形態に係るプリンタに送り込まれるべき付加的な機能として、親展印刷機能を例にして説明する。
【００３７】
親展印刷機能とは、印刷要求を行ったユーザ自身が印刷物を直接受け取ることができるようにするための機能である。つまり、ユーザがプリンタを用いて印刷物を得ようとする場合に、他のユーザにその印刷物が渡らないように、自身の目の前で印刷されるようにする機能である。これは、例えば、多数のユーザが、ネットワークプリンタのような、ネットワーク上の複数のホスト装置から印刷要求を受け付けるプリンタを利用する環境では、秘密性の高い文書を印刷するときに有効な機能である。親展印刷機能により親展印刷モードが指定されたプリンタは、プリントジョブとしてのプリントジョブデータを受け付けても、直ちに印刷処理を開始するのではなく、一旦、自身のユーザインターフェース上でパスワードの入力を受け付けてユーザ認証を行った後、印刷処理を開始する。
【００３８】
ここでは、プリンタ１にはデフォルトでこの親展印刷機能が実装されておらず、外部のホスト装置１からこの親展印刷機能が利用の都度与えられるものとする。
【００３９】
図４は、本実施形態に係るホスト装置１における印刷指示画面（プリントダイアログボックス）の一例を示す図である。このような印刷指示画面は、例えば、ユーザがアプリケーションプログラム２０１上で印刷実行指示を与えると、プリンタドライバ２０３のプリントユーティリティ機能が呼び出されて提示され、ユーザの入力を待ち受ける。このプリントダイアログボックスには、出力先のプリンタを指定する領域４１と、印刷設定条件を指定する領域４２とが設けられている。本例では、プリンタ名フィールド４３には"CenterPrinter"が指定され、ユーザ名フィールド４４には"SHIMA"が入力されている。ユーザ名フィールド４４に対する入力は、本例では、ユーザ名とパスワードとの組み合わせによってユーザ認証チェックを行うため、親展印刷機能を利用する場合には必須となる。また、印刷ページは全ページ、部数は１部が指定されている。さらに、親展印刷チェックボックス４５がチェックされ、親展印刷モードによる印刷が指定されている。ユーザが親展印刷機能を利用する場合には、パスワードフィールド４６への入力が有効になり、所定のパスワードが入力される。ユーザがこれらの必要な項目を入力し終えて、「ＯＫ」ボタン４７を選択すると、印刷対象となっているアプリケーションデータがプリンタドライバ２０３に引き渡され、プリントジョブデータが生成され、出力先のプリンタ１に送信される。
【００４０】
図５は、本実施形態に係るプリンタドライバ２０３の処理を説明するためのフローチャートである。プリンタドライバ２０３は、印刷要求が与えられると（「ＯＫ」ボタン４７の選択）、オペレーティングシステム３２の描画ルーチンを用いて、アプリケーションデータをプリントコマンドデータに変換する（ＳＴＥＰ５０１）。次に、プリンタドライバ２０３は、印刷要求に付加機能の指定があるか否かを判断する（ＳＴＥＰ５０２）。本実施形態では、付加機能として親展印刷機能のみが用意されているので、これが指定されているか否かを判断するが、複数の付加機能が用意されている場合には、それぞれの付加機能ごとに指定されているか否かを判断する。もし、親展印刷機能が指定されていない場合には、デフォルトのネットワークプログラムに先に生成したプリントコマンドデータを追加して（ＳＴＥＰ５０３）、これをプリントジョブデータとして出力先のプリンタ１に送信する（ＳＴＥＰ５０４）。ここでいうデフォルトのネットワークプログラムとは、プリンタ１を初期化して、プリントコマンドデータを印刷処理プログラムに引き渡す等の必要最小限の処理を行うものである。
【００４１】
一方、もし、親展印刷機能が指定されている場合には、プリンタドライバ２０３は、パスワードフィールド４６に入力されたパスワードを暗号化し（ＳＴＥＰ５０５）、付加機能モジュールライブラリ２０４から親展印刷モジュールを読み出し、デフォルトのネットワークプログラムに暗号化したパスワードとともに追加して、これを新たなネットワークプログラムとする（ＳＴＥＰ５０５）。そして、プリンタドライバ２０３は、この新たなネットワークプログラムにプリントコマンドデータを追加して（ＳＴＥＰ５０３）、出力先のプリンタ１に送信する（ＳＴＥＰ５０４）。
【００４２】
図６は、本実施形態に係るプリントジョブデータの構造の一例を説明するための図である。同図に示すように、プリントジョブデータは、ネットワークプログラム６１とプリントコマンドデータ６２とによって構成されている。ネットワークプログラム６１には、親展印刷機能等の付加機能モジュール６３がある場合にはそれが組み込まれる。プリントコマンドデータ６２は、上述したように、プリンタ１のプリントジョブ解釈部２０８により解釈されるコマンドおよびデータである。このプリントコマンドデータ６２は、ネットワークプログラム６１からみれば、データ部分とみなすことができる。
【００４３】
次に、プリンタ１におけるネットワークプログラムインタプリタ３３の処理について説明する。図７は、本実施形態に係るネットワークプログラムインタプリタ３３の処理を説明するためのフローチャートである。
【００４４】
Ｗｅｂサーバプログラム３４からネットワークプログラム６２が引き渡されたネットワークプログラムインタプリタ３３は、初期化のための処理を行う（ＳＴＥＰ７０１）。次に、組み込まれている付加機能モジュール６３を順次に実行していく（ＳＴＥＰ７０２）。本例では、親展印刷モジュールが実行され、これにより、プリンタ１には、親展印刷機能が実現されることになる。ネットワークプログラムインタプリタ３３は、すべての付加機能モジュール６３を実行し終えると、プリントコマンドデータ６２を印刷処理プログラムに引き渡して（ＳＴＥＰ７０３）、ネットワークプログラム６２の消滅させて、ＲＡＭ１３の占有領域を解放するなどの終了処理を行う（ＳＴＥＰ７０３）。このように１回の印刷要求におけるネットワークプログラムは、その実行終了により消滅させられるので、他のユーザに利用されるといったセキュリティ上の問題もない。また、この実行をユーザごとにカウントするようにすれば、そのユーザに対する課金ということもできるようになる。
【００４５】
図８は、本実施形態に係る親展印刷モジュールの処理を説明するためのフローチャートである。上述したように、この親展印刷モジュールは、ネットワークプログラムインタプリタ３３によって解釈、実行される。
【００４６】
親展印刷モジュールの解釈、実行により、プリンタ１は、ユーザインターフェース２０２を介して、ユーザ名およびパスワードの入力を受け付ける（ＳＴＥＰ８０１）。図９は、本実施形態に係るプリンタ１のユーザインターフェースの一例を示す図である。同図に示すように、プリンタ１のユーザインターフェースには、液晶パネル等の表示部９１と、矢印キーやテンキー等の入力キーからなる入力部９２とが構成されている。ユーザは、表示部９１に表示されるガイダンスメッセージにしたがって、入力部９２を操作して所定の情報を入力していく。すなわち、ユーザは、ユーザ名フィールド９３に、ホスト装置１上で指定したユーザ名を入力した後、下矢印キーを選択して、カーソルをパスワードフィールド９４に移動させ、同様に、ホスト装置１上で指定したパスワードを入力する。なお、本実施形態では、ユーザインターフェースとして矢印キーおよびテンキーしか示されていないが、数字や文字等の入力に際しては、例えば、携帯電話機で知られているようなキーレイアウトによる入力方式を採用することで、アルファベットや日本語を入力することができる。ユーザが、ユーザ名およびパスワードを入力した段階で、決定ボタン９５を選択する。
【００４７】
図８に戻り、プリンタ１は、決定ボタン９５を受け付けると、入力されたユーザ名およびパスワードと、プリントジョブデータに含まれるユーザ名およびパスワードとに基づいて認証チェックを行う（ＳＴＥＰ８０２）。その結果、認証が認められれば（ＳＴＥＰ８０３のＹｅｓ）、親展印刷モジュールは、そのユーザのプリントジョブを表示して、印刷実行指示を待ち受ける（ＳＴＥＰ８０４）。図１０は、このときのユーザインターフェース２０２の一例を示す図である。同図では、ユーザ"SHIMA"により３つのプリントジョブ、つまり"BUNSHO"，"HYOU"および"HYOUSHI"がすでに送り込まれ、それらが表示されている状態を示している。ユーザは、矢印キーを操作して、これから印刷したいプリントジョブを選択する。これにより、親展印刷モジュールは、選択されたプリントジョブに対応するプリントコマンドデータを印刷処理モジュールに引き渡して（ＳＴＥＰ８０５）、処理を終了する。一方、認証が認められない場合には、例えば、強制的にその印刷要求に対する処理を強制終了する（ＳＴＥＰ８０６）。
【００４８】
以上のように、ユーザが親展印刷機能を利用して印刷する場合には、ホスト装置２からその親展印刷機能がプリンタ１に与えられ、プリンタ１で実現されることになる。したがって、プリンタ１に親展印刷機能が実装されていない場合であっても、必要に応じて動的に組み込まれることになり、機能拡張性に富んだプリンタ１が得られることとなる。
【００４９】
例えば、上述のような親展印刷機能についていえば、次のような利用方法を提案することができる。すなわち、ユーザがモバイルコンピュータ（ホスト装置２に相当する。）を持ち運び、あるホテルに宿泊したとする。ホテルには、ネットワークが構築されており、ホテル内のビジネスセンターには本実施形態に係るプリンタ１が設けられている。ユーザは、ホテルへのチェックインの際に、ネットワーク利用の申し込みを行ってホテル内ネットワークへのアカウントを取得する。ここでいうアカウントとは、ユーザ名およびパスワードであり、例えばユーザ名をルームナンバーに割り当ててもよい。アカウントを取得したユーザは、自身のモバイルコンピュータにあるドキュメントを印刷する際に、ビジネスセンターに設置してあるプリンタ１に対して親展印刷を依頼する。その後、ユーザは、好きなときにビジネスセンターに行き、そこでアカウントを入力することで、印刷物を得ることができる。なお、ホテル側は、入力されたアカウントにしたがって、このような印刷サービスに対するチャージを徴収するようにしてもよい。
【００５０】
［第２の実施形態］
本実施形態は、プリンタ１に送り込むべき付加的な機能を実現するモジュール（付加機能モジュール）をホスト装置２が予めライブラリとして有していない場合に、ネットワーク上のサーバコンピュータからこのような付加機能モジュールを取得した後、これをプリンタ１に送り込むことを特徴としている。これにより、ホスト装置２が付加機能モジュールを予め有していないとしても、新たに付加機能モジュールを自由に入手して、プリンタ１に実行させることができるようになる。
【００５１】
図１は、本実施形態に係るプリントシステムの構成を示す図である。同図に示すように、ネットワークＮ上には、プリンタ１Ａ，１Ｂ、ホスト装置２に加え、サーバコンピュータ３が設けられている。ユーザがアプリケーションプログラム上で印刷実行指示を与えたとすると、プリンタドライバ２０３のユーティリティ機能は、まず、サーバコンピュータ３が提供可能な付加機能モジュールの一覧情報を取得し、プリントダイアログボックス内に表示する（図中(1)）。これに対してユーザが付加機能を選択して印刷実行指示を与えた場合には、ホスト装置２は、アプリケーションデータに基づいてプリントコマンドデータを生成するとともに（図中(2)）、指定された付加機能モジュールをサーバコンピュータ３から取得して（図中(3)）、これをネットワークプログラムの一部とし、最終的にプリントジョブデータを生成する（図中(4)）。そして、ホスト装置１は、このプリントジョブデータをプリンタ１に対して送信する（図中(5)）。なお、それ以降の処理は、上述した実施形態と同様であるため、説明を省略する。
【００５２】
また、サーバコンピュータ３が、当該ネットワーク上で使用可能なプリンタ１の一覧をホスト装置１に提供するようにしてもよい。例えば、プリンタ１Ａは、本実施形態に係る付加機能モジュールを実行可能なプリンタであり、プリンタ１Ｂは従前のプリンタであるとする場合に、サーバコンピュータ３は付加機能モジュールの一覧情報とともに、ネットワーク上で付加機能に対応したプリンタの一覧も提供する。これにより、例えば、モバイルコンピュータのようなホスト装置がネットワーク上に新たにログインしたとしても、ユーザは、出力先のプリンタ１に迷うことなく、すぐに印刷サービスを受けることができるようになる。
【００５３】
［その他の実施形態］
上記各実施形態は、本発明を説明するための例示であり、本発明をこれらの実施形態にのみ限定する趣旨ではない。本発明は、その要旨を逸脱しない限り、さまざまな形態で実施することができる。例えば、上記機能実現手段の動作をシーケンシャルに説明したが、特にこれにこだわるものではない。従って、動作に矛盾が生じない限り、処理の順序を入れ替えまたは並行動作するように構成しても良い。
【００５４】
また、上記実施形態では、付加機能として親展印刷機能を説明したが、これのみにこだわるものではない。付加機能として、イメージ生成機能そのものをプリンタに送り込むようにしてもよい。すなわち、"ESC/PAGE"や"Postscript"のプリンタ言語を解釈するジョブ解釈プログラム（モジュール）をプリントコマンドデータとともに送り込み、プリンタ側では、このモジュールを解釈して、イメージ生成機能を実現させて、プリントコマンドデータを解釈し、印刷を実行する。これにより、プリンタがプリント言語のそれぞれを解釈するための解釈プログラムをすべて実装する必要がなくなり、拡張性、柔軟性に富むプリンタが得られることになる。
【図面の簡単な説明】
【００５５】
【図１】本実施形態に係るプリンタ１のハードウェア構成の一例を示す図である。
【図２】本実施形態に係るプリントシステムを説明するためのブロックダイアグラムである。
【図３】本実施形態に係るプリントジョブ受付部１０６におけるプログラムスタック構造を説明するための図である。
【図４】本実施形態に係るホスト装置１における印刷指示画面（プリントダイアログボックス）の一例を示す図である。
【図５】本実施形態に係るプリンタドライバ２０３の処理を説明するためのフローチャートである。
【図６】本実施形態に係るプリントジョブデータの構造の一例を説明するための図である。
【図７】本実施形態に係るネットワークプログラムインタプリタ３３の処理を説明するためのフローチャートである。
【図８】本実施形態に係る親展印刷モジュールの処理を説明するためのフローチャートである。
【図９】本実施形態に係るパスワード入力画面の一例を示す図である。
【図１０】本実施形態に係るプリントジョブ選択画面の一例を示す図である。
【図１１】本実施形態に係るプリントシステムの構成を示す図である。
【符号の説明】
【００５６】
１…プリンタ
２…ホスト装置
３…サーバ
Ｎ…ネットワーク
２０１…アプリケーションプログラム
２０２…ユーザインターフェース
２０３…プリンタドライバ
２０４…付加機能モジュールライブラリ
２０５…ネットワークインターフェース
２０６…プリントジョブ受付部
２０７…付加機能実現部
２０８…プリントジョブ解釈部
２０９…印刷実行部
【図１】
2008260304.tif 000003
【図２】
2008260304.tif 000004
【図３】
2008260304.tif 000005
【図４】
2008260304.tif 000006
【図５】
2008260304.tif 000007
【図６】
2008260304.tif 000008
【図７】
2008260304.tif 000009
【図８】
2008260304.tif 000010
【図９】
2008260304.tif 000011
【図１０】
2008260304.tif 000012
【図１１】
2008260304.tif 000013
【手続補正書】
【提出日】平成20年7月28日(2008.7.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プリンタに所定の機能を付加するための付加機能モジュールおよびプリントコマンドデータを含むプリントジョブデータを受け付ける受付手段と、
前記受け付けたプリントジョブデータに含まれる付加機能モジュールを解釈し、所定の処理を実行する第１の解釈手段と、
前記受け付けたプリントジョブデータに含まれるプリントコマンドデータを解釈し、イメージデータを生成する第２の解釈手段と、
前記生成されたイメージデータに基づいて、印刷媒体に対する印刷を実行する印刷実行手段と、を備え、
前記付加機能モジュールは、前記プリンタのプラットフォームに依存しない中間コードであることを特徴とするプリンタ。
【請求項２】
前記第１の解釈手段は、ネットワークプログラムインタプリタを備え、該ネットワークプログラムインタプリタを実行することによって、前記プリンタのプラットフォームに依存しない中間コードである付加機能モジュールを解釈することを特徴とする請求項１記載のプリンタ。
【請求項３】
前記第２の解釈手段は、前記受け付けたプリントジョブデータに含まれるプリントコマンドデータを解釈し、イメージデータを生成するための印刷処理プログラムを備え、該印刷処理プログラムは、前記プリンタのオペレーションシステムに依存することを特徴とする請求項１記載のプリンタ。
【請求項４】
プリンタに設けられた所定の解釈手段によって解釈され、前記プリンタに所定の機能を付加するための付加機能モジュールからなる付加機能モジュールライブラリを備え、
ホスト装置を、
所定の印刷対象データに基づいてプリントコマンドデータを生成させる第１の生成手段と、
前記付加機能モジュールライブラリのうちの特定の付加機能モジュールと前記プリントコマンドデータとに基づいてプリントジョブデータを生成させる第２の生成手段と、して機能させるプリンタドライバであって、
前記プリンタに所定の機能を付加するための付加機能モジュールは、前記プリンタのプラットフォームに依存しない中間コードである、ことを特徴とするプリンタドライバ。
【請求項５】
ホスト装置からプリンタを用いて印刷物を出力させる印刷方法において、
前記ホスト装置が、
前記プリンタに所定の機能を付加するための付加機能モジュールと印刷対象データとを含むプリントジョブデータを生成し、前記プリンタに対して前記プリントジョブデータを送るステップと、
前記プリンタが、
前記プリントジョブデータを受け付けるステップと、
前記受け付けたプリントジョブデータに含まれる付加機能モジュールを解釈し、所定の処理を実行するステップと、
前記受け付けたプリントジョブデータに含まれるプリントコマンドデータを解釈し、イメージデータを生成するステップと、
前記生成されたイメージデータに基づいて、印刷媒体に対する印刷を実行するステップと、を備え、
前記プリンタに所定の機能を付加するための付加機能モジュールは、前記プリンタのプラットフォームに依存しない中間コードである、ことを特徴とする印刷方法。