(57)【要約】【課題】印刷処理を実行する際に出力先のプリンタが所望の印刷条件（印刷機能）を有するかを判定し、判定結果をユーザに確認してから印刷処理を実行するか否かを決定する端末装置、端末装置の制御方法及びコンピュータプログラムを提供する。【解決手段】画像データの印刷出力の際にテンポラリファイルを作成し、該画像データをテンポラリファイルに一時的に保存する（Ｓ１８、１９）。そして、テンポラリファイルに保存した画像データから印刷情報を取得し（Ｓ２０）、これをＳ２１で出力先プリンタ装置から取得した装置情報と比較し（Ｓ２２）、比較結果をユーザに表示する。ユーザは比較結果に基づいて印刷処理を実行するか否かの選択を行う。【選択図】図６
2006344210.tif 000002
【特許請求の範囲】
【請求項１】
端末装置と印刷装置とからなる印刷処理システムにおける端末装置であって、
前記端末装置からの画像データを保存する第１の処理と、
前記保存された画像データから、前記画像データの印刷機能についての情報である印刷情報を取得する第２の処理と、
出力先となっている前記印刷装置が実現できる印刷機能についての情報である装置情報を取得する第３の処理と、
前記第２の処理で取得した前記印刷情報と、前記第３の処理で取得した前記装置情報と、を比較判定する第４の処理と、
前記第４の処理の比較判定の結果、前記装置情報が前記印刷情報を全て包含する場合には、前記出力先となっている前記印刷装置に対して前記保存した画像データを送信することで印刷処理を行い、前記装置情報が前記印刷情報の全てを包含しない場合には、包含しない印刷機能についての情報を付してその旨を外部に表示し、外部からの指示入力を受け付けることで後の印刷処理の実行の有無を決定する第５の処理と、を実行することを特徴とする端末装置。
【請求項２】
前記第５の処理において、前記装置情報が前記印刷情報の全てを包含しない場合には、
前記出力先となっている前記印刷装置において印刷処理を続行する第１の印刷処理続行入力と、
印刷処理を中断する第１の中断入力と、
前記出力先となっている前記印刷装置以外で印刷処理を行う出力先変更入力と、のいずれかの指示入力を受け付けることを特徴とする請求項１記載の端末装置。
【請求項３】
前記第５の処理において、前記出力先変更の指示入力を受け付けた場合に、
前記印刷処理システムにおける前記印刷装置について前記装置情報を取得する第６の処理と、
前記第６の処理で取得した前記印刷装置の前記装置情報と、前記印刷情報と、を比較判定する第７の処理と、
前記第７の処理の比較判定の結果、前記装置情報が前記印刷情報を全て包含する前記印刷装置が１台以上存在した場合に、これを適合印刷装置として列挙する第８の処理と、
前記列挙された前記適合印刷装置のうち、外部から選択された前記適合印刷装置に対して前記保存した画像データを送信することで印刷処理を行う第９の処理と、を実行することを特徴とする請求項２記載の端末装置。
【請求項４】
前記第７の処理の比較判定の結果、前記装置情報が前記印刷情報を全て包含する前記印刷装置が１台も存在しない場合に、包含しない印刷機能についての情報を付して、前記印刷装置を列挙する第１０の処理と、
外部からの指示入力を受け付けることで後の印刷処理の実行の有無を決定する第１１の処理と、を実行することを特徴とする請求項３記載の端末装置。
【請求項５】
前記第１１の処理において、
前記列挙された前記印刷装置のいずれかにおいて印刷処理を続行する第２の印刷処理続行入力と、
印刷処理を中断する第２の中断入力と、のいずれかの指示入力を受け付けることを特徴とする請求項４記載の端末装置。
【請求項６】
前記装置情報の取得は、ＳＮＭＰを利用してなされることを特徴とする請求項１から５のいずれか１項に記載の端末装置。
【請求項７】
仮想ポートを有することを特徴とする請求項１から６のいずれか１項に記載の端末装置。
【請求項８】
端末装置と印刷装置とからなる印刷処理システムにおける端末装置の制御方法であって、
前記端末において、
前記端末装置からの画像データを保存する第１の工程と、
前記保存された画像データから、前記画像データの印刷機能についての情報である印刷情報を取得する第２の工程と、
出力先となっている前記印刷装置が実現できる印刷機能についての情報である装置情報を取得する第３の工程と、
前記第２の工程で取得した前記印刷情報と、前記第３の工程で取得した前記装置情報と、を比較判定する第４の工程と、
前記第４の工程の比較判定の結果、前記装置情報が前記印刷情報を全て包含する場合には、前記出力先となっている前記印刷装置に対して前記保存した画像データを送信することで印刷処理を行い、前記装置情報が前記印刷情報の全てを包含しない場合には、包含しない印刷機能についての情報を付してその旨を外部に表示し、外部からの指示入力を受け付けることで後の印刷処理の実行の有無を決定する第５の工程と、を有することを特徴とする端末装置の制御方法。
【請求項９】
前記第５の工程において、前記装置情報が前記印刷情報の全てを包含しない場合には、
前記出力先となっている前記印刷装置において印刷処理を続行する第１の印刷処理続行入力と、
印刷処理を中断する第１の中断入力と、
前記出力先となっている前記プリンタ装置以外で印刷処理を行う出力先変更入力と、のいずれかの指示入力を受け付けることを特徴とする請求項８記載の端末装置の制御方法。
【請求項１０】
前記第５の工程において、前記出力先変更の指示入力を受け付けた場合に、
前記印刷処理システムにおける前記印刷装置について前記装置情報を取得する第６の工程と、
前記第６の工程で取得した前記印刷装置の前記装置情報と、前記印刷情報と、を比較判定する第７の工程と、
前記第７の工程の比較判定の結果、前記装置情報が前記印刷情報を全て包含する前記印刷装置が１台以上存在した場合に、これを適合印刷装置として列挙する第８の工程と、
前記列挙された前記適合印刷装置のうち、外部から選択された前記適合印刷装置に対して前記保存した画像データを送信することで印刷処理を行う第９の工程と、を有することを特徴とする請求項９記載の端末装置の制御方法。
【請求項１１】
前記第７の工程の比較判定の結果、前記装置情報が前記印刷情報を全て包含する前記印刷装置が１台も存在しない場合に、包含しない印刷機能についての情報を付して、前記印刷装置を列挙する第１０の工程と、
外部からの指示入力を受け付けることで後の印刷処理の実行の有無を決定する第１１の工程と、を有することを特徴とする請求項１０記載の端末装置の制御方法。
【請求項１２】
前記第１１の工程において、
前記列挙された前記印刷装置のいずれかにおいて印刷処理を続行する第２の印刷処理続行入力と、
印刷処理を中断する第２の中断入力と、のいずれかの指示入力を受け付けることを特徴とする請求項１１記載の端末装置の制御方法。
【請求項１３】
コンピュータを、請求項１から７のいずれか１項に記載の端末装置として機能させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末装置、端末装置の制御方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
近年では、社内ＬＡＮ（Local Area Network）のようなネットワークを利用して複数のコンピュータ端末と複数のプリンタ装置を接続することで、プリンタ装置を共有して使用し、各コンピュータ端末からいずれかのプリンタ装置を選択して使用することのできる印刷処理システムが広く利用されている。
【０００３】
このような印刷処理システムにおいては、様々な種類のプリンタが混在しているため、そのプリンタにおいて、希望する印刷処理ができるか否かが判別することができなかった。例えば、出力先がコンピュータ端末にインストールされているプリンタドライバに合致しているかどうか、カラー印刷が可能であるか否か等を判別することができなかった。
【０００４】
このような場合、誤って印刷処理に対応していないプリンタ装置で印刷処理を行ってしまい、ユーザにとって不都合が生じることがある。例えば、出力先プリンタがコンピュータ端末にインストールされているプリンタドライバに対応していない場合、ごみデータを印字してしまう。このような不都合が生じると、当然紙の無駄使いとなりユーザにとって不利である。
【０００５】
そこで、このような出力先情報についての情報がないことにより生じる不都合を回避することのできる印刷処理システムが提案されている。
【０００６】
特許文献１では、印刷装置の印刷言語処理部とそれに対応したプリンタドライバの各バージョンを確認し、その確認結果に応じて印刷処理の実行を判断する印刷システムが提案されている。
【０００７】
また、特許文献２では、印刷データから出力先の印刷装置を自動的に設定することができ、さらに、印刷指令から印刷するまでの一連の動作中に最適プリンタを検索し、ユーザの作業効率の上昇を図ることのできる情報処理方法が提案されている。
【０００８】
また、特許文献３では、希望の条件に適合したネットワークプリンタを容易に検索することのできるプリンタ検索システムが提案されている。
【特許文献１】特開平１１−２１２７４２号公報
【特許文献２】特開２００１−１２５７６１号公報
【特許文献３】特開２００２−２５９０９７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかし、上記の発明は、以下の問題点を有している。
【００１０】
特許文献１記載の発明では、プリンタドライバの合致の点については、判別することが可能であるが、その他の印刷情報、例えばカラー印刷が可能であるか否か、両面印刷は可能であるか否か等の情報に関しては得ることができないので、ユーザの所望する印刷条件についての情報を取得することができない。
【００１１】
また、特許文献３記載の発明では、希望の条件を満たすプリンタ装置を検索することができるが、各条件に基づいて検索するのに該条件をその都度入力しなければならず手間がかかる。
【００１２】
また、特許文献２記載の発明では、印刷処理毎に出力先プリンタの一覧を表示するため、場合によっては、ユーザを混乱させてしまうことがある。
【００１３】
また、ユーザは、全ての印刷機能が実現されていなくとも、それを受け入れて印刷処理を実行することがある。例えば、ユーザとしてはカラー印字を所望しているが出力先プリンタではモノクロ印刷しかできないといった場合に、モノクロ印刷でも許容できるのならその出力先で印刷処理を行うこともあり得る。この判断は、その印刷対象の画像データや実現されない印刷機能の種類などによって変わる、とても微妙で難しいものなのでユーザの判断を仰ぐ必要がある。
【００１４】
本発明は、上記の問題点に鑑みてなされたものであり、印刷処理を実行する際に出力先のプリンタが所望の印刷条件（印刷機能）を有するかを判定し、判定結果をユーザに確認してから印刷処理を実行するか否かを決定する端末装置、端末装置の制御方法及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
請求項１記載の発明は、端末装置と印刷装置とからなる印刷処理システムにおける端末装置であって、前記端末装置からの画像データを保存する第１の処理と、前記保存された画像データから、前記画像データの印刷機能についての情報である印刷情報を取得する第２の処理と、出力先となっている前記印刷装置が実現できる印刷機能についての情報である装置情報を取得する第３の処理と、前記第２の処理で取得した前記印刷情報と、前記第３の処理で取得した前記装置情報と、を比較判定する第４の処理と、前記第４の処理の比較判定の結果、前記装置情報が前記印刷情報を全て包含する場合には、前記出力先となっている前記印刷装置に対して前記保存した画像データを送信することで印刷処理を行い、前記装置情報が前記印刷情報の全てを包含しない場合には、包含しない印刷機能についての情報を付してその旨を外部に表示し、外部からの指示入力を受け付けることで後の印刷処理の実行の有無を決定する第５の処理と、を実行することを特徴とする。
【００１６】
請求項２記載の発明は、請求項１記載の端末装置において、前記第５の処理において、前記装置情報が前記印刷情報の全てを包含しない場合には、前記出力先となっている前記印刷装置において印刷処理を続行する第１の印刷処理続行入力と、印刷処理を中断する第１の中断入力と、前記出力先となっている前記印刷装置以外で印刷処理を行う出力先変更入力と、のいずれかの指示入力を受け付けることを特徴とする。
【００１７】
請求項３記載の発明は、請求項４記載の端末装置において、前記第５の処理において、前記出力先変更の指示入力を受け付けた場合に、前記印刷処理システムにおける前記印刷装置について前記装置情報を取得する第６の処理と、前記第６の処理で取得した前記印刷装置の前記装置情報と、前記印刷情報と、を比較判定する第７の処理と、前記第７の処理の比較判定の結果、前記装置情報が前記印刷情報を全て包含する前記印刷装置が１台以上存在した場合に、これを適合印刷装置として列挙する第８の処理と、前記列挙された前記適合印刷装置のうち、外部から選択された前記適合印刷装置に対して前記保存した画像データを送信することで印刷処理を行う第９の処理と、を実行することを特徴とする。
【００１８】
請求項４記載の発明は、請求項３記載の端末装置において、前記第７の処理の比較判定の結果、前記装置情報が前記印刷情報を全て包含する前記印刷装置が１台も存在しない場合に、包含しない印刷機能についての情報を付して、前記印刷装置を列挙する第１０の処理と、外部からの指示入力を受け付けることで後の印刷処理の実行の有無を決定する第１１の処理と、を実行することを特徴とする。
【００１９】
請求項５記載の発明は、請求項４記載の端末装置において、前記第１１の処理において、前記列挙された前記印刷装置のいずれかにおいて印刷処理を続行する第２の印刷処理続行入力と、印刷処理を中断する第２の中断入力と、のいずれかの指示入力を受け付けることを特徴とする。
【００２０】
請求項６記載の発明は、請求項１から５のいずれか１項に記載の端末装置において、前記装置情報の取得は、ＳＮＭＰを利用してなされることを特徴とする。
【００２１】
請求項７記載の発明は、請求項１から６のいずれか１項に記載の端末装置において、仮想ポートを有することを特徴とする。
【００２２】
請求項８記載の発明は、端末装置と印刷装置とからなる印刷処理システムにおける端末装置の制御方法であって、前記端末において、前記端末装置からの画像データを保存する第１の工程と、前記保存された画像データから、前記画像データの印刷機能についての情報である印刷情報を取得する第２の工程と、出力先となっている前記印刷装置が実現できる印刷機能についての情報である装置情報を取得する第３の工程と、前記第２の工程で取得した前記印刷情報と、前記第３の工程で取得した前記装置情報と、を比較判定する第４の工程と、前記第４の工程の比較判定の結果、前記装置情報が前記印刷情報を全て包含する場合には、前記出力先となっている前記印刷装置に対して前記保存した画像データを送信することで印刷処理を行い、前記装置情報が前記印刷情報の全てを包含しない場合には、包含しない印刷機能についての情報を付してその旨を外部に表示し、外部からの指示入力を受け付けることで後の印刷処理の実行の有無を決定する第５の工程と、を有することを特徴とする。
【００２３】
請求項９記載の発明は、請求項８記載の端末装置の制御方法において、前記第５の工程において、前記装置情報が前記印刷情報の全てを包含しない場合には、前記出力先となっている前記印刷装置において印刷処理を続行する第１の印刷処理続行入力と、印刷処理を中断する第１の中断入力と、前記出力先となっている前記プリンタ装置以外で印刷処理を行う出力先変更入力と、のいずれかの指示入力を受け付けることを特徴とする。
【００２４】
請求項１０記載の発明は、請求項９記載の端末装置の制御方法において、前記第５の工程において、前記出力先変更の指示入力を受け付けた場合に、前記印刷処理システムにおける前記印刷装置について前記装置情報を取得する第６の工程と、前記第６の工程で取得した前記印刷装置の前記装置情報と、前記印刷情報と、を比較判定する第７の工程と、前記第７の工程の比較判定の結果、前記装置情報が前記印刷情報を全て包含する前記印刷装置が１台以上存在した場合に、これを適合印刷装置として列挙する第８の工程と、前記列挙された前記適合印刷装置のうち、外部から選択された前記適合印刷装置に対して前記保存した画像データを送信することで印刷処理を行う第９の工程と、を有することを特徴とする。
【００２５】
請求項１１記載の発明は、請求項１０記載の端末装置の制御方法において、前記第７の工程の比較判定の結果、前記装置情報が前記印刷情報を全て包含する前記印刷装置が１台も存在しない場合に、包含しない印刷機能についての情報を付して、前記印刷装置を列挙する第１０の工程と、外部からの指示入力を受け付けることで後の印刷処理の実行の有無を決定する第１１の工程と、を有することを特徴とする。
【００２６】
請求項１２記載の発明は、請求項１１記載の端末装置の制御方法において、前記第１１の工程において、前記列挙された前記印刷装置のいずれかにおいて印刷処理を続行する第２の印刷処理続行入力と、印刷処理を中断する第２の中断入力と、のいずれかの指示入力を受け付けることを特徴とする。
【００２７】
請求項１３記載の発明は、コンピュータを、請求項１から７のいずれか１項に記載の端末装置として機能させることを特徴とするコンピュータプログラムである。
【発明の効果】
【００２８】
本発明により、印刷処理を行う際に、当該印刷処理に必要な印刷機能を出力先プリンタが有しているのかを自動的に判別し、必要な印刷機能を全て有している場合には当該印刷処理を実行し、必要な印刷機能を満たしていない場合にはユーザ（印刷処理指示者）にその旨を表示し、当該印刷処理を現在の出力先プリンタで続行するか否か、あるいは、他の出力先の検索を行うか、の判断の入力を受け付けるので無駄な印刷処理の実行を抑制することが可能となる。また、満たしていない印刷機能を告知するので、印刷条件を全て満たしていなくともユーザがそれを受け入れる場合（例えば、カラー印字を期待しているがモノクロ印刷でも許容できる場合、ステープル処理を期待しているがステープルを実行しなくとも許容できる場合等）において、ユーザに印刷処理の実行判断を仰ぐのでユーザに資することができる。
【発明を実施するための最良の形態】
【００２９】
＜第１の実施形態＞
以下、本発明に係る第１の実施形態について、図面を参照して説明する。
【００３０】
＜印刷処理システム＞
図１は、本実施形態の印刷処理システムを示す。図１に示すように、本実施形態の印刷処理システムは、複数のコンピュータ端末１０と複数のプリンタ装置２０がネットワーク３０を介して接続されている。なお、接続されるコンピュータ端末１０及びプリンタ装置２０の台数は、特に限定されるものではない。
【００３１】
＜コンピュータ端末の内部構成＞
図２は、図１の印刷処理システムにおけるコンピュータ端末１０の内部構成を示す。コンピュータ端末１０は、ＣＰＵ１１と、アプリケーション部１２と、プリンタスプーラ１３と、プリンタドライバ保持部１４と、ポートモニタ１５と、から構成される。
【００３２】
ＣＰＵ（Central Processing Unit）１１は、コンピュータ端末１０の全体的な制御を行う。アプリケーション部１２は、コンピュータ端末１０が実行可能なアプリケーションを保持する。ここでは、アプリケーション保持部１２はプリンタアプリケーションを少なくとも保持する。プリンタアプリケーションは、画像データの印刷に関する動作を実行する。
【００３３】
プリンタスプーラ１３は、プリンタアプリケーション１２からの画像データの印刷要求を受け付けると、スプール処理を実行する。このスプール処理とは、該画像データをハードディスク（ＨＤＤ）などの外部ストレージへ一時的に保存する保存処理、プリンタドライバ保持部１４からプリンタドライバをロードし、該画像データを該プリンタドライバのプリンタ言語に変換する変換処理、プリンタ装置２０での印刷処理の進行具合に応じて画像データをポートモニタ１５を介してプリンタ装置２０に順次送信する送信処理、といった一連の処理のことである。また、印刷処理を実行する際に後述する印刷関数に呼び出し、ポートモニタ１５に命令を行う。また、直前に使用したプリンタポート１６（プリンタ装置２０）をバックアップしており、ユーザが出力先の設定を行わない限りバックアップされているプリンタポート１６を出力先として印刷処理を行う。なお、ユーザが印刷出力先の設定を行う際には、後述する「ＥｎｕｍＰｏｒｔ」関数を呼び出すことでコンピュータ端末１０上にポート設定画面（図５参照）を表示させ、この画面上で出力先の選択設定を行うことで出力先の切り換えを行う。
【００３４】
プリンタドライバ保持部１４は、プリンタドライバを保持する。プリンタドライバとは、プリンタ装置２０を利用するためのドライバ（ソフトウェア）であり、これにより画像データを該プリンタドライバにより動作するプリンタ装置２０に対応したプリンタ言語に変換することができる。
【００３５】
ポートモニタ１５は、プリンタスプーラ１３からの印刷関数による命令に基づいて、プリンタポート１６の制御を行うモジュールである。プリンタポート１６は、プリンタ装置２０毎に対応して設けられるポートである。
【００３６】
＜印刷関数＞
次に、ポートモニタ１５において実行される印刷関数について説明する。プリンタスプーラ１３が印刷関数を呼び出すことにより、ポートモニタ１５は所定の処理動作を行う。
印刷関数には、「ＡｄｄＰｏｒｔ」、「ＤｅｌｅｔｅＰｏｒｔ」、「ＥｎｕｍＰｏｒｔ」、「ＯｐｅｎＰｏｒｔ」、「ＣｌｏｓｅＰｏｒｔ」、「ＳｔａｒｔＤｏｃＰｏｒｔ」、「ＥｎｄＤｏｃＰｏｒｔ」、「ＷｒｉｔｅＰｏｒｔ」、「ＲｅａｄＰｏｒｔ」がある。
【００３７】
「ＡｄｄＰｏｒｔ」は、新しいポート（プリンタポート１６）を追加するための関数であり、プリンタ装置２０をネットワーク３０に接続した際に該プリンタ装置２０の出力先を登録するために用いられる。ユーザは、コンピュータ端末１０のディスプレイ上に表示されたダイアログを通じて、ポート名（プリンタポート名）および該ポートの設定値（例えばＩＰアドレス等）を入力設定する。新規ポート追加のダイアログの一例を図３に示す。
【００３８】
ＡｄｄＰｏｒｔ処理のフローを図４に示す。ＡｄｄＰｏｒｔ実行時には、コンピュータ端末１０のディスプレイ上に新規ポート追加のダイアログ（図３参照）を表示し、ユーザから新規ポートのポート名および新規ポートの設定値の入力を受け付ける（ステップＳ１０１）。そして、入力されたポート名がすでに登録されているものであるか否かを判定する（ステップＳ１０２）。該ポート名がすでに登録されているものである場合には（ステップＳ１０２／Ｙｅｓ）、ポート名が重複してしまうので『このポート名は登録済みです』というメッセージをコンピュータ端末１０のディスプレイ上に表示し、ＡｄｄＰｏｒｔ処理を抜けるエラー処理を実行する（ステップＳ１０４）。また、入力されたポートの設定値を参照して指定の出力先が存在するか否かを判定し（ステップＳ１０３）、指定の出力先が存在しないと判断された場合には（ステップＳ１０３／Ｎｏ）、『指定の出力先が存在しません』というメッセージをコンピュータ端末１０のディスプレイ上に表示し、ＡｄｄＰｏｒｔ処理を抜けるエラー処理を実行する（ステップＳ１０５）。入力された該ポート名が未だ登録されておらず（ステップＳ１０２／Ｎｏ）、かつ、入力された出力先が存在する場合には（ステップＳ１０３／Ｙｅｓ）、新規ポートの追加登録処理が実行される（Ｓ１０６）。
【００３９】
「ＤｅｌｅｔｅＰｏｒｔ」は、登録済みのポート（プリンタポート１６）を削除するための関数であり、ユーザはコンピュータ端末１０のディスプレイ上に表示されたダイアログを通じてポートの削除処理を行う。
【００４０】
「ＥｎｕｍＰｏｒｔ」は、ポートモニタ１５が扱っているポート（プリンタポート１６）の一覧をリストアップするための関数であり、ユーザが印刷出力先の設定を行う際に図５のようなポート設定画面を呼び出す。これにより、ユーザはコンピュータ端末１０が使用可能なポートを確認することができる。
【００４１】
「ＯｐｅｎＰｏｒｔ」は、ユーザに指定されたポート（プリンタポート１６）の使用を開始する際に用いられる関数であり、この関数が呼び出されるとポートモニタ１５は指定されたポートについてオープン処理を行う。なお、オープン処理とは、ワークエリアの確保などの初期化処理、準備処理のことである。
【００４２】
「ＣｌｏｓｅＰｏｒｔ」は、ＯｐｅｎＰｏｒｔで使用していたポート（プリンタポート１６）の使用を終了するときに用いられる関数であり、この関数が呼び出されるとポートモニタ１５はポートのクローズ処理を行う。なお、クローズ処理とは、ＯｐｅｎＰｏｒｔ関数により割り当てられていた全てのシステムリソースの開放処理などのことである。
【００４３】
「ＳｔａｒｔＤｏｃＰｏｒｔ」は、画像データの印刷処理を実行する際に用いられる関数であり、この関数が呼び出されるとポートモニタ１５は出力先との接続状態を確認しデータ送信が可能であるかを確認する。また、指定されたポート（プリンタポート１６）上での印刷ジョブの開始を要求するタスクを実行する。
【００４４】
「ＥｎｄＤｏｃＰｏｒｔ」は、画像データの印刷処理を終了する際に用いられる関数であり、この関数が呼び出されるとポートモニタ１５は指定されたポート（プリンタポート１６）上での印刷ジョブの終了タスクを実行し、プリンタ装置２０に画像データの印刷処理を実行させる。なお、本実施形態においては、プリンタ装置２０に印刷処理を実行させる前に、画像データの印刷情報の取得処理、プリンタ装置２０の装置情報の取得処理、印刷情報と装置情報の比較処理を実行する。これについては、後で詳細に説明する。
【００４５】
「ＷｒｉｔｅＰｏｒｔ」は、ポート（プリンタポート１６）に画像データを書き込む際に用いられる関数である。本実施形態のポートモニタ１５では、この関数が呼び出されると、一時保存ファイルであるテンポラリファイルを作成し、作成されたテンポラリファイルに対して画像データの書き込み処理を行う。
【００４６】
「ＲｅａｄＰｏｒｔ」は、ポート（プリンタポート１６）からデータを読み出す際に使用される関数である。
【００４７】
なお、印刷処理は、「ＳｔａｒｔＤｏｃＰｏｒｔ」、「ＷｒｉｔｅＰｏｒｔ」、「ＥｎｄＤｏｃＰｏｒｔ」の順で印刷関数が実行され、「ＥｎｄＤｏｃＰｏｒｔ」の関数を呼び出した後に、プリンタ装置２０において印刷出力処理が行われる。また、上記の処理が行われるのは、「ＯｐｅｎＰｏｒｔ」関数によりオープン処理がなされたポートにおいてであり、印刷処理後には、「ＣｌｏｓｅＰｏｒｔ」によりクローズ処理がなされる。
【００４８】
＜印刷処理＞
以下、本実施形態の印刷処理について、図６、図７を参照して詳細に説明する。図６及び図７は、本実施形態の印刷処理システムにおける印刷処理フローを示す。
【００４９】
コンピュータ端末１０上において、ユーザから画像データの印刷実行のキー入力を受けると（ステップＳ１１）、ＣＰＵ１１はアプリケーション部１２のプリンタアプリケーションを起動させる（ステップＳ１２）。プリンタアプリケーションは、印刷対象の画像データ及び該画像データの印刷要求をプリンタスプーラ１３に送信する（ステップＳ１３）。
【００５０】
プリンタスプーラ１３は、プリンタアプリケーションから印刷対象の画像データ及び該画像データの印刷要求を受け取ると、プリンタスプーラ１３がバックアップ記憶している前回使用した出力先ポート（プリンタポート１６）を、「ＯｐｅｎＰｏｒｔ」関数を用いてオープン処理する（ステップＳ１４）。なお、ユーザから出力先ポートの入力設定があった場合には、入力されたプリンタポート１６をオープン処理する。ここでオープン対象となったプリンタポート１６に接続するプリンタ装置２０において印刷処理が実行されることになる。
【００５１】
次に、プリンタスプーラ１３は、「ＳｔａｒｔＤｏｃＰｏｒｔ」関数を用いて、出力先ポートとの接続状態の確認、印刷ジョブの開始要求タスクの実行を行う（ステップＳ１５）。また、印刷対象の画像データについてスプール処理を行う。スプール処理では、画像データを外部ストレージへ一時的に保存し（ステップＳ１６）、プリンタドライバ保持部１４からプリンタドライバをロードし、該画像データを該プリンタドライバのプリンタ言語に変換する（ステップＳ１７）。
【００５２】
画像データをプリンタ装置２０に対応するプリンタ言語に変換した後、プリンタスプーラ１３は「ＷｒｉｔｅＰｏｒｔ」関数を呼び出す。ポートモニタ１５は、この関数により一時保存ファイルであるテンポラリファイルを作成し（ステップＳ１８）、プリンタ言語へ変換済みの画像データを該テンポラリファイルに書き込む（ステップＳ１９）。
【００５３】
ＷｒｉｔｅＰｏｒｔ関数による画像データのテンポラリファイルへの書き込み処理が完了すると、プリンタスプーラ１３は「ＥｎｄＤｏｃＰｏｒｔ」関数を呼び出し、ポートモニタ１５に印刷ジョブの終了タスクを実行させる。本実施形態においては、この終了タスクとして、テンポラリファイル内の画像データの印刷情報の取得（ステップＳ２０）、プリンタ装置２０の装置情報の取得（ステップＳ２１）、印刷情報と装置情報の比較処理（ステップＳ２２）が実行される。以下、この処理について詳細に説明する。
【００５４】
まず、テンポラリファイル内に書き込まれている画像データについて、印刷情報の取得処理がなされる（ステップＳ２０）。印刷情報とは、画像データが有する印刷機能についての情報であり、プリンタ言語情報、描画情報、ハードウェア機能情報などの情報が該当する。なお、ここでいう描画情報とは、カラー画像データであるか否か、解像度はいくつか、等といった情報のことである。また、ハードウェア機能情報とは、ステープルやパンチ穴の有無、用紙サイズやメディアタイプ等についての情報のことである。
【００５５】
印刷情報の取得処理において、プリンタ言語の属性の判定に関しては、プリンタ言語切り替えコマンドである「＠ＰＪＬ  ＥＮＴＥＲ  ＬＡＮＧＵＡＧＥ」等の文字列が画像データ内に存在するか否かを調べることで行われる。描画情報の判定に関しては、上記のプリンタ言語のコマンドを解析することで行われ、同様の処理はハードウェア機能情報の判定の際にも行われる。
【００５６】
次に、出力先として設定されているプリンタ装置２０の装置情報の取得処理が行われる（ステップＳ２１）。すなわち、上記ステップＳ１４でオープン処理されたプリンタポート１６に接続するプリンタ装置２０についての装置情報の取得が行われる。この装置情報の取得に際しては、ＳＮＭＰ（Simple Network Management Protocol）を用いることによって行われる。なお、ここでいう装置情報とは、当該プリンタ装置２０が実行し得る印刷機能についての情報のことであり、より具体的には、上述した画像データの印刷情報に対応する印刷機能についての情報のことである。
【００５７】
次に、ステップＳ２０で取得した画像データの印刷情報と、ステップＳ２１で取得したプリンタ装置２０の装置情報と、の比較処理を行う（ステップＳ２２）。具体的には、画像データの印刷情報から判断できる印刷機能（カラー印刷etc.）を出力先のプリンタ装置２０において実現できるか否かの比較判定を行う。
【００５８】
装置情報が、印刷情報から判断できる印刷機能を全て含有する場合、言い換えれば、画像データの印刷情報から判断できる印刷機能を出力先のプリンタ装置２０において全て実現することができる場合（ステップＳ２３／Ｙｅｓ）、該画像データを印刷するのに何ら支障はないので、出力先のプリンタ装置２０において印刷出力処理を実行する（ステップＳ３４）。すなわち、テンポラリファイル内に書き込まれている画像データを出力先のプリンタ装置２０に送信し、印刷処理を実行する。印刷出力処理後、使用した出力先ポートについてクローズ処理を行い（ステップＳ３６）、印刷処理を終了する。
【００５９】
他方、装置情報が、印刷情報から判断できる印刷機能の全てを含有していない場合、言い換えれば、画像データの印刷情報から判断できる印刷機能の全てを出力先のプリンタ装置２０において実現することができない場合（ステップＳ２３／Ｎｏ）、ユーザにその旨を確認し、後の印刷処理についての指示を受け付けるためのダイアログをコンピュータ端末１０のディスプレイ上に表示する（ステップＳ２３、Ｓ２４）。このダイアログの一例を図８に示す。
【００６０】
図８に示すように、このダイアログにおいては、出力先のプリンタ装置２０についての情報（図中、「出力先」）と、その出力先のプリンタ装置において実現することのできない機能（図中、「使えない機能」）と、が表示されている。また、印刷処理についてユーザからの指示を受け付けるボタンが３つ（図中、「続行」、「出力先変更」、「中断」）表示されている。なお、「使えない機能」については、ステップＳ２２の比較処理の判定結果に基づいている。
【００６１】
「続行」ボタンは、実現できない機能があることを承知した上でその出力先のプリンタ装置２０において印刷処理を行うための入力ボタンである。「続行」ボタンが押下された場合（ステップＳ２５／「続行」）、ポートモニタ１５は、出力先の変更処理を実行せずに、現在の出力先にテンポラリファイル内の画像データを送信し、印刷出力処理を実行する（ステップＳ３４）。印刷出力処理後、使用した出力先ポートについてクローズ処理を行い（ステップＳ３６）、印刷処理を終了する。
【００６２】
「中断」ボタンは、画像データの印刷処理を終了するためのボタンである。「中断」ボタンが押下された場合（ステップＳ２５／「中断」）、ポートモニタ１５は、印刷ジョブをキャンセルし印刷処理を抜ける（ステップＳ３５）。この際、出力先ポートについてのクローズ処理を行う（ステップＳ３６）。
【００６３】
「出力先変更」ボタンは、ネットワーク３０内のプリンタ装置２０を検索し、出力先の変更を行うための入力ボタンである。「出力先変更」ボタンが押下された場合（ステップＳ２５／「出力先変更」）、ポートモニタ１５は、ＳＮＭＰを用いてネットワーク３０内のプリンタ装置２０の検索を行う（ステップＳ２６）。また、同時に、検索されたプリンタ装置２０について、装置情報の取得し、取得した装置情報と画像データの印刷情報の比較判定を行う。具体的には、画像データの印刷情報から判断できる印刷機能（カラー印刷etc.）を検索されたプリンタ装置２０において実現できるか否かの比較判定を行う（ステップＳ２７）。
【００６４】
ステップＳ２７での比較判定の結果、印刷情報から判断できる印刷機能を全て含有するプリンタ装置２０がネットワーク３０上にあった場合、言い換えれば、画像データの印刷情報から判断できる印刷機能を全て実現できるプリンタ装置がネットワーク３０上にあった場合（ステップＳ２８／Ｙｅｓ）、このようなプリンタ装置２０を一覧として表示し、どのプリンタ装置２０において印刷出力を実行するのかを選択させるためのダイアログをコンピュータ端末１０のディスプレイ上に表示する（ステップＳ２９）。このダイアログの一例を図９に示す。
【００６５】
図９に示すように、このダイアログにおいては、出力先についての一覧がその出力先プリンタ装置２０の位置等と共に表示され、選択手段としてラジオボタンが付されている。このダイアログにおいて、ユーザが任意の出力先をラジオボタンの押下で選択し、「ＯＫ」ボタンを押下すると出力先プリンタ装置が決定される。
【００６６】
新たな出力先プリンタが決定されると、ポートモニタ１５は、以前の出力先に対応するポート（プリンタポート１６）についてのクローズ処理、および、新しい出力先に対応するポートについてのオープン処理を行う（ステップＳ３０）。そして、新しい出力先ポートに対応するプリンタ装置２０に対しテンポラリファイル内の画像データを送信し、印刷出力処理を行う（ステップＳ３１）。印刷出力処理後、使用した出力先ポートについてクローズ処理を行い（ステップＳ３６）、印刷処理を終了する。
【００６７】
ステップＳ２７での比較判定の結果、印刷情報から判断できる印刷機能を全て含有するプリンタ装置２０がネットワーク３０上になかった場合、言い換えれば、画像データの印刷情報から判断できる印刷機能を全て実現できるプリンタ装置がネットワーク３０上になかった場合（ステップＳ２８／Ｎｏ）、ネットワーク３０に接続されている全てのプリンタ装置２０と、それが満たしていない印刷機能とを一覧として表示し、どのプリンタ装置２０において印刷出力を実行するのかを選択させるためのダイアログをコンピュータ端末１０のディスプレイ上に表示する（ステップＳ３２）。このダイアログの一例を図１０に示す。
【００６８】
図１０に示すように、このダイアログにおいては、出力先についての一覧がその出力先の位置等の情報、画像データの印刷情報について満たしていない印刷機能の情報と共に表示され、選択手段としてラジオボタンが付されている。なお、「満たしていない印刷機能」については、ステップＳ２７の比較処理の判定結果に基づいている。このダイアログにおいて、ユーザが任意の出力先をラジオボタンの押下で選択し、「はい」のボタンを押下すると出力先のプリンタ装置２０が決定される。また、「いいえ」のボタンを押下すると印刷ジョブをキャンセルし、印刷処理を抜ける。
【００６９】
図１０のダイアログにおいて出力先が決定されると（ステップＳ３３／Ｙｅｓ）、ポートモニタ１５は、以前の出力先に対応するポート（プリンタポート１６）についてのクローズ処理、および、新しい出力先に対応するポートについてのオープン処理を行う（ステップＳ３０）。そして新しい出力先ポートに対応するプリンタ装置２０に対しテンポラリファイル内の画像データを送信し、印刷出力処理を行う（ステップＳ３１）。印刷出力処理後、使用した出力先ポートについてクローズ処理を行い（ステップＳ３６）、印刷処理を終了する。
【００７０】
図１０のダイアログにおいて「いいえ」のボタンが押下された場合、すなわち、出力先の選択なく印刷処理を実行しない場合（ステップＳ３３／Ｎｏ）には、印刷処理を抜ける（ステップＳ３５）。この際、出力先ポートについてのクローズ処理を行う（ステップＳ３６）。
【００７１】
上記のように印刷処理を行うことにより、印刷処理を行う際に、当該印刷処理に必要な印刷機能を出力先プリンタが有しているのかを自動的に判別し、必要な印刷機能を全て有している場合には当該印刷処理を実行し、必要な印刷機能を満たしていない場合にはユーザ（印刷処理指示者）にその旨を表示し、当該印刷処理を現在の出力先プリンタで続行するか否か、あるいは、他の出力先の検索を行うか、の判断の入力を受け付けるので無駄な印刷処理の実行を抑制することが可能となる。また、満たしていない印刷機能を告知するので、印刷条件を全て満たしていなくともユーザがそれを受け入れる場合（例えば、カラー印字を期待しているがモノクロ印刷でも許容できる場合、ステープル処理を期待しているがステープルを実行しなくとも許容できる場合等）において、ユーザに印刷処理の実行判断を仰ぐのでユーザに資することができる。また、他の出力先の検索の際には、ネットワークに接続されている全てのプリンタ装置について該プリンタ装置が有する印刷機能の情報と共に検索し、印刷処理に必要な印刷機能とプリンタ装置が有する印刷機能とを比較したうえで検索結果を表示するので、ユーザは目的の印刷処理を実行できるプリンタ装置を容易に見つけることが可能となる。
【００７２】
＜第２の実施形態＞
次に、本発明の第２の実施形態について説明する。
【００７３】
本実施形態は、第１の実施形態と印刷処理システムの構成、印刷処理のフローについては同一であるが、ポートモニタ１５が仮想ポート１７を持つという点において第１の実施形態とは異なる。図１１は、本実施形態におけるコンピュータ端末１０の内部構成を示す。図１１と、第１の実施形態のコンピュータ端末１０の内部構成を示す図２を比較すると、本実施形態のポートモニタ１５は仮想ポート１７を持つことがわかる。
【００７４】
本実施形態において印刷時には、仮想ポート１７を動的に割り当てることで印刷処理を行う。このように構成することにより、以下の効果が得られる。
【００７５】
「ＡｄｄＰｏｒｔ」関数では、ポート（プリンタポート１６）の追加を要求されてもポートの追加処理を実施しない。すなわち。ポートの追加処理には応じない。新規のポートの際には、自動的に仮想ポート１７内に登録される。よって、図４のような処理フローを行わずとも、すなわち、ユーザによるポート名等の登録作業を行わずとも印刷処理を実行でき、登録作業の手間を省略することができる。
【００７６】
なお、本実施形態においては、「ＥｎｕｍＰｏｒｔ」関数を呼び出した場合、仮想ポート名を返すこととなる。また、「ＯｐｅｎＰｏｒｔ」、「ＣｌｏｓｅＰｏｒｔ」の対象となるのは仮想ポート１７である。
【００７７】
上述した第１及び第２の実施形態でのコンピュータ端末１０は、プリントサーバやＷｅｂサーバのようなサーバ装置であってもよい。コンピュータ端末１０におけるポートモニタモジュールは、各種記録メディアにてＨＤＤ（非図示）等の記憶装置にインストールされる形や、ＦＴＰ（File Transfer Protocol）やＨＴＴＰ（Hypertext Transfer Protocol）等により、ネットワークを介してダウンロードする形で提供される。
【００７８】
なお、上述の実施形態は、本発明の好適な実施形態の一例を示すものであり、本発明の実施の形態を限定するものではない。よって、本発明はこのような実施形態に限定されることはなく、その要旨を逸脱しない範囲内において種々の変形実施を行うことが可能である。例えば、上記実施形態では、ＳＮＭＰを利用して装置情報の取得を行っているが、装置情報を取得できる他の手段を利用してもよい。
【図面の簡単な説明】
【００７９】
【図１】印刷処理システムを示す図である。
【図２】第１の実施形態のコンピュータ端末の内部構成を示す図である。
【図３】新規ポート追加のダイアログを示す図である。
【図４】ＡｄｄＰｏｒｔ処理のフローを示す図である。
【図５】ポート設定画面のダイアログを示す図である。
【図６】印刷処理のフローを示す図である。
【図７】印刷処理のフローを示す図である。
【図８】現在の出力先では印刷機能を全て満たしていないことを表示するダイアログを示す図である。
【図９】印刷ジョブに最適な出力先の一覧を表示するダイアログを示す図である。
【図１０】全ての出力先の一覧を表示するダイアログを示す図である。
【図１１】第２の実施形態のコンピュータ端末の内部構成を示す図である。
【符号の説明】
【００８０】
１０    コンピュータ端末
１３    プリンタスプーラ
１５    ポートモニタ
１７    仮想ポート
２０    プリンタ装置
３０    ネットワーク
【図１】
2006344210.tif 000003
【図２】
2006344210.tif 000004
【図３】
2006344210.tif 000005
【図４】
2006344210.tif 000006
【図５】
2006344210.tif 000007
【図６】
2006344210.tif 000008
【図７】
2006344210.tif 000009
【図８】
2006344210.tif 000010
【図９】
2006344210.tif 000011
【図１０】
2006344210.tif 000012
【図１１】
2006344210.tif 000013