(57)【要約】【課題】出力先のプリンタに応じた最適な印刷データを生成する。【解決手段】印刷データ処理部１４１には、暫定的な印刷条件が設定された印刷データが渡される。印刷機能取得部１４３は、出力先に指定されたプリンタ２０から、そのプリンタ２０の印刷機能を取得する。印刷条件表示部１４２は、プリンタドライバ１３から渡された印刷データに対して最終的な印刷条件を利用者が設定可能となるよう、印刷データと印刷機能との関係を踏まえた画面をディスプレイ１０４に表示する。印刷データ処理部１４１は、印刷条件表示部１４２が表示した画面で設定された印刷条件をプリンタドライバ１３から渡された印刷データに用いて、その印刷データをプリンタ２０に送信する。【選択図】図６
2009282695.tif 000002
【特許請求の範囲】
【請求項１】
印刷装置とネットワークを介して接続される端末装置であって、
暫定的に設定された第一の印刷条件を有する第一の印刷データを生成する第一生成手段と、
生成された前記第一の印刷データを保存する保存手段と、
出力先として選択された印刷装置の印刷機能に関する情報を該印刷装置から取得する取得手段と、
前記第一の印刷条件に含まれていない印刷条件に応じた処理を実行する機能を前記印刷装置が有している場合に、該印刷条件を前記第一の印刷データに追加した第二の印刷条件を有する第二の印刷データを生成する第二生成手段と、
該生成手段で生成された前記第二の印刷データを前記印刷装置に送信する送信手段と、を備えたことを特徴とする端末装置。
【請求項２】
前記第二の印刷条件を設定するための設定情報を表示装置に表示する表示制御手段を更に備えたことを特徴とする請求項1記載の端末装置。
【請求項３】
前記表示制御手段は、ネットワーク上の印刷装置を検索し、検索された印刷装置の一覧から出力先とする印刷装置を選択するための選択情報を前記表示装置に表示することを特徴とする請求項２記載の端末装置。
【請求項４】
前記第一の印刷条件は、印刷条件に関する条件名を含んでおり、前記第二生成手段は、前記第一の印刷条件に含まれていない前記条件名に対応する機能と該機能を前記印刷装置に実行させるための値とを前記第一の印刷データに追加することを特徴とする請求項１記載の端末装置。
【請求項５】
前記第一の印刷データは、アプリケーションデータに前記第一の印刷条件が設定されることで生成されることを特徴とする請求項1記載の端末装置。
【請求項６】
印刷装置とネットワークを介して接続される端末装置の制御方法であって、
出力先として選択された印刷装置の印刷機能に関する情報を該印刷装置から取得する取得工程と、
暫定的に設定された印刷条件を有する印刷データに含まれていない印刷条件に応じた処理を実行する機能を前記印刷装置が有している場合に、該印刷条件を、前記暫定的に設定された印刷条件を有する印刷データに追加した印刷データを生成する生成工程と、
該生成工程で生成された印刷データを前記印刷装置に送信する送信工程と、を備えたことを特徴とする端末装置の制御方法。
【請求項７】
印刷装置とネットワークを介して接続される端末装置としての制御をコンピュータに実行させるプログラムであって、
出力先として選択された印刷装置の印刷機能に関する情報を該印刷装置から取得する取得手順と、
暫定的に設定された印刷条件を有する印刷データに含まれていない印刷条件に応じた処理を実行する機能を前記印刷装置が有している場合に、該印刷条件を、前記暫定的に設定された印刷条件を有する印刷データに追加した印刷データを生成する生成手順と、
該生成手順で生成された印刷データを前記印刷装置に送信する送信手順と、を前記コンピュータに実行させることを特徴とするプログラム。
【請求項８】
請求項７記載のプログラムを格納したコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、プリンタ、複合機等の印刷機能を有する電子機器に接続される端末装置、端末装置の制御方法、プログラム及びコンピュータ可読媒体に関する。
【背景技術】
【０００２】
近年、ラップトップコンピュータやパームトップコンピュータ、PDA（Personal Digital Assistants）等の端末装置の普及によって、外出先で自分のコンピュータを使うモバイルコンピューティングが急速に普及している。このようなモバイルコンピューティングの普及は、外出先オフィスでのプリントアウトの要望を強くしている。
【０００３】
ワープロソフトやプレゼンテーションソフト、あるいは画像編集ソフト等で作成された各種のアプリケーションデータを印刷するためには出力先のプリンタに対応したプリンタドライバを予め端末にインストールさせておく必要があるが、外出先オフィスで印刷をする場合、そのオフィスで利用されているプリンタのプリンタドライバが予めインストールされていないことが多い。そのため、かかるアプリケーションデータを印刷する時に、その端末装置が接続されているネットワークから、その端末装置の利用者が利用可能なプリンタを検索し、その中から利用者にプリンタを選択させることで外出先オフィスでの印刷を可能とさせる技術が提案されている。
【特許文献１】特開２００６−３４４２１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述のような技術では、利用者がアプリケーションデータに設定した印刷条件が、出力先として選択されたプリンタと一致した場合、その条件で印刷内容が確定し、そのまま印刷処理が行われる。従って、利用者がアプリケーションデータに印刷条件を設定するとき、出力先のプリンタには備わっているが、利用者が設定し忘れてしまった印刷条件があったとしても、そのような事情が考慮されることは無い。また、たとえその出力先プリンタに、利用者が使いたい機能或いはその機能があることを知れば設定をするであろう機能が備わっていた場合も、その機能を利用者が設定できる機会が提供されずに印刷処理が行われてしまう。
【課題を解決するための手段】
【０００５】
かかる点に鑑み、ネットワークを介して接続される印刷装置に送信する端末装置が、暫定的に設定された第一の印刷条件を有する第一の印刷データを生成する第一生成手段と、生成された前記第一の印刷データを保存する保存手段と、出力先として選択された印刷装置の印刷機能に関する情報を該印刷装置から取得する取得手段と、前記第一の印刷条件に含まれていない印刷条件に応じた処理を実行する機能を前記印刷装置が有している場合に、該印刷条件を前記第一の印刷データに追加した第二の印刷条件を有する第二の印刷データを生成する第二生成手段と、該生成手段で生成された前記第二の印刷データを前記印刷装置に送信する送信手段と、を備えるよう構成されるとよい。
【０００６】
また、かかる端末装置の制御方法が、出力先として選択された印刷装置の印刷機能に関する情報を該印刷装置から取得する取得工程と、暫定的に設定された印刷条件を有する印刷データに含まれていない印刷条件に応じた処理を実行する機能を前記印刷装置が有している場合に、該印刷条件を、前記暫定的に設定された印刷条件を有する印刷データに追加した印刷データを生成する生成工程と、該生成工程で生成された印刷データを前記印刷装置に送信する送信工程と、を備えるようにしてもよい。
【０００７】
さらに、かかる端末装置の制御をコンピュータに実行させるプログラムが、出力先として選択された印刷装置の印刷機能に関する情報を該印刷装置から取得する取得手順と、暫定的に設定された印刷条件を有する印刷データに含まれていない印刷条件に応じた処理を実行する機能を前記印刷装置が有している場合に、該印刷条件を、前記暫定的に設定された印刷条件を有する印刷データに追加した印刷データを生成する生成手順と、該生成手順で生成された印刷データを前記印刷装置に送信する送信手順と、を前記コンピュータに実行させるようにしてもよい。このプログラムは、CDやDVD、メモリーカード等の各種コンピュータ可読媒体に格納されて提供されてもよい。あるいは、このプログラムは、初めからコンピュータに備えられたROMあるいはHDD等の記憶媒体に格納されていてもよい。
【発明を実施するための最良の形態】
【０００８】
図１は、この発明の端末装置の一例であるコンピュータ１０と、そのコンピュータとネットワークを介して接続されるプリンタ２０と、を含んでいる印刷システムを示している。この実施形態では、印刷装置の一例としてプリンタを用いているが、プリンタの種類としては、インクジェット型プリンタ、レーザプリンタ等、各種のプリンタを用いることができる。また、プリンタ以外の装置としては、コピー機能やファクシミリ機能等を有した複合機やファクシミリ装置等でもよい。なお、説明の都合上、この実施形態の印刷システムでは、各プリンタのプリンタ言語が同じである場合を例にしている。
【０００９】
コンピュータ１０は、ラップトップコンピュータ、デスクトップコンピュータ、パームトップコンピュータ等の各種コンピュータにより構成可能である。プリンタ２０は、受信した印刷データに基づいて用紙に画像を印刷する。ネットワーク３０としては、ＬＡＮ（ローカルエリアネットワーク）を始め、有線・無線を問わず、任意の通信形態が採用可能である。この実施形態では、説明の便宜上、コンピュータ１０の一例としてラップトップコンピュータを用いる。
【００１０】
コンピュータ１０は、後述する印刷データを、ネットワーク３０を介してプリンタ２０に送信する。これによりプリンタ２０は、コンピュータ１０からの印刷データを印刷することができる。この印刷システムを構成するコンピュータ１０とプリンタ２０の数は任意であり、それぞれ１台ずつでも、２台以上にしてもよい。コンピュータ１０とプリンタ２０とが、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ケーブルや赤外線などの通信経路３１によって接続されていてもよい。
【００１１】
図２は、コンピュータ１０のハードウェア構成を示している。ハードウェア構成としては、例えば、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、ディスプレイ１０４、不揮発性メモリ１０５、通信Ｉ／Ｆ（インターフェース）１０６、ディスクドライブ１０７、記憶媒体Ｉ／Ｆ１０８が備えられており、これらがシステムバス１０９により接続されている。ＣＰＵ１０１に、ＲＯＭ１０２や不揮発性メモリ１０５に記憶されているプログラムを実行させることにより、コンピュータ１０において、プリンタ２０でのプリント動作を実行させるプリンタドライバやポートモニタの機能、各種アプリケーションソフト、その他のデバイスドライバの機能を実現することができる。
【００１２】
図３はプリンタ２０のハードウェア構成を示している。このハードウェア構成としては、例えば、ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、操作パネル２０４、不揮発性メモリ２０５、通信Ｉ／Ｆ２０６、記憶媒体Ｉ／Ｆ２０７、エンジン２０８が備えられており、これらがシステムバス２０９により接続されている。
【００１３】
操作パネル２０４は、利用者の操作を受け付けるためのキーやボタンと、情報を表示するための液晶パネル、及びそれらの制御回路等を備えており、プリンタ２０に対する操作を受け付けたり、プリンタ２０で設定されている内容を表示する機能を有している。エンジン２０８は、用紙に画像を印刷する部分であり、適宜公知のプリントエンジンを採用することができる。印刷の方法としては、電子写真方式、インクジェット方式、熱転写方式等を用いることができる。
【００１４】
図４は、コンピュータ１０とプリンタ２０のそれぞれの機能の構成を示している。この図で示されるように、コンピュータ１０には、ワードプロセッサ、表計算、プレゼンテーション、ドローイング、ビューア等の様々な機能を提供する各種アプリケーション１１が備えられている。利用者はこのアプリケーション１１で取り扱う文書や図等を印刷するためにアプリケーション１１から印刷の指示を行う。
【００１５】
コンピュータ１０には、アプリケーション１１から渡されるアプリケーションデータを、プリンタ２０が解釈可能な形式にするプリンタドライバ１３が備えられている。この実施形態でのプリンタドライバ１３は、図1の複数台のプリンタ２０に対して共通に利用可能なドライバである。このプリンタドライバ１３には、複数台のプリンタ２０に共通して利用し得る最低限の印刷条件として、両面印刷を表す「Ｄｕｐｌｅｘ」及びステープルを表す「Ｓｔａｐｌｅ」という、印刷条件に関する条件名、またこの条件名に対して設定可能な値が、プリンタドライバの提供元により予め登録されている。これにより、利用者が外出先で印刷条件を設定する際に、普段利用しているプリンタとは使い勝手が異なるために違和感を覚えたとしても、最低限の印刷は保証され得る。しかしこの実施形態では、後述されるように、かかる機能に比して利便性をさらに高めたポートモニタを提供している。
【００１６】
アプリケーションデータを受け取ったプリンタドライバ１３は、例えば図５のような画面を生成してディスプレイ１０４に表示させる。図５は、印刷条件を設定する基本タブ５０１と、印刷指示をするための印刷ボタン５０２と、印刷をキャンセルしこの画面を閉じるキャンセルボタン５０３を有している。この画面では、利用者により条件名「Ｄｕｐｌｅｘ」には「する」という値が、条件名「Ｓｔａｐｌｅ」が「右上」という値が、印刷条件として設定されている。なお、説明の便宜上、この実施形態においては、条件名に対して設定可能な値のことを「設定値」という。
【００１７】
利用者がこの印刷条件で印刷ボタン５０２を押下すると、プリンタドライバ１３はそのアプリケーションデータを、例えばＰｏｓｔＳｃｒｉｐｔ（登録商標）のようなプリンタ言語で記載された印刷データに変換する。そしてこの印刷データはポートモニタ１４に出力され、後述のように保存される。即ち、この実施形態のプリンタドライバ１３は、図５に示される画面により、暫定的な印刷条件を利用者に設定させる機能を有している。
【００１８】
ポートモニタ１４は、プリンタドライバ１３から渡された印刷データの保存や、プリンタ２０への印刷データの送信、プリンタ２０との双方向通信等を行う機能を有している。さらにプリンタ２０から取得した情報を用いて、プリンタ２０に最終的に出力される印刷データを作る。
【００１９】
プリンタ２０は、コンピュータ１０からの印刷データを受信する通信Ｉ／Ｆ２１を介して印刷データを受信する。コンピュータ１０から送信された印刷データは、プリンタアプリ２２により画像データに変換される。そして画像データは、プリントエンジン２３により所定の記録紙に印字される。プリンタアプリ２０は、後述する図１３のような印刷機能の情報を有している。
【００２０】
図６は、コンピュータ１０のポートモニタ１４の構成をより詳細に示している。ポートモニタ１４は、印刷データ処理部１４１と、印刷条件表示部１４２と、印刷機能取得部１４３と、データ保存部１４４を含んでいる。
【００２１】
印刷データ処理部１４１は、プリンタドライバ１３から渡された印刷データを、利用者によって指定されたプリンタに送信する。またこの印刷データ処理部１４１は印刷データを解析することで、印刷データに含まれている印刷条件を取得し、取得した印刷条件を印刷条件表示部１４２に渡す。さらに、印刷データ処理部１４１は、後述されるように、印刷条件表示部１４２を介して設定された印刷条件の印刷データへの追加、設定値の変更、あるいは印刷条件を無効にする制御も行う。
【００２２】
印刷条件表示部１４２は、後述する印刷機能取得部１４３が取得したプリンタ２０の印刷機能の情報（以下、「印刷機能」という）と、印刷データ処理部１４１から渡された印刷条件とを使って、利用者が印刷条件を設定可能な画面を生成し、ディスプレイ１０４に出力する。また、この印刷条件表示部１４２は、利用者からの印刷条件の設定をディスプレイ１０４を介して受け付け、設定された印刷条件を印刷データ処理部１４１に渡す。さらに、この印刷条件表示部１４２は、出力先のプリンタを利用者が選択できるよう、後述の出力先指定画面を表示する。
【００２３】
印刷機能取得部１４３は、ネットワーク３０からプリンタ２０を検索し、プリンタ２０と通信を行い、プリンタ２０から印刷機能を取得する。印刷機能取得部１４３はプリンタ２０から取得した印刷機能の情報を印刷条件表示部１４２に渡す。プリンタ２０との通信は、ＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）やＷｅｂ  Ｓｅｒｖｉｃｅ等の手法を用いて行うことができるが、無線通信や赤外線通信等でもよい。
【００２４】
データ保存部１４４は、プリンタドライバ１３から渡された印刷データをＲＡＭ１０３に保存する機能を有する。そして、後述するように、印刷データ処理部１４１によりアクセスされ、印刷データをＲＡＭ１０３から読み出す機能も有している。データ保存部１４４がＲＡＭ１０３に保存する印刷データは、プリンタドライバ１３により、印刷条件が暫定的に設定されているものである。このデータ保存部１４４は、ポートモニタ１４内でなく、プリンタドライバ１３やアプリケーション１１に実装されていてもよい。
【００２５】
図７は、印刷データを出力するプリンタを利用者に選択させる出力先指定画面である。アプリケーション１１からの印刷指示により、印刷データがプリンタドライバ１３を通じて印刷データ処理部１４１に渡される。さらに印刷データがデータ保存部１４４によりＲＡＭ１０３に保存されると、印刷データ処理部１４１は印刷条件表示部１４２にこの出力先指定画面を表示するよう要求する。この要求を受けた印刷条件表示部１４２は図７に示すような出力先指定画面をコンピュータ１０のディスプレイ１０４に表示する。そして後述の処理を通じて、利用者は所望のプリンタを出力先として選択することや、そのプリンタへの印刷指示を出すことができる。
【００２６】
図７の画面は、出力先に選択されたプリンタの情報が表示される出力プリンタ欄７０１と、コンピュータ１０が接続されているネットワーク３０に存在するプリンタの一覧を表示する表示欄７０２が設けている。また、ネットワーク３０に存在するプリンタを検索するときに用いる検索ボタン７０３と、出力先として指定したプリンタに印刷を行わせるときに用いられるＯＫボタン７０４と、この画面を用いた印刷をキャンセルするときに用いられるキャンセルボタン７０５も有している。
【００２７】
利用者がこの画面において検索ボタン７０３を押下すると、この利用者が利用しているコンピュータ１０が利用できるプリンタが検索され、その結果が表示欄７０２に表示される。図８はその検索結果を表している。プリンタの検索は、ブロードキャストに代表される公知の技術を用いることができる。
【００２８】
図８では、ＩＰアドレス「１００．２００．３００．４００」のプリンタＡと、ＩＰアドレス「１１１．２２２．３３３．４４４」のプリンタＢと、ＩＰアドレス「１００．１１０．１２０．１３０」のプリンタＣをネットワーク３０から検索した結果の例が表示されている。利用者は、表示欄７０２に表示されたプリンタの一覧から出力先に希望するプリンタを選択するとき、表示欄７０２の一覧から希望するプリンタの名前やそのＩＰアドレスをマウスやキーボード等のデバイスを用いて選択する。その結果、選択されたプリンタの情報が、図９のように出力プリンタ欄７０１に表示され、出力先のプリンタが選択されたことになる。なお、検索の結果、コンピュータ１０と同じネットワークに存在する全てのプリンタ２０を一覧で表示するようにしてもよく、上述のプリンタドライバ１３で設定された暫定的な印刷条件を実行できるプリンタを一覧で表示するようにしてもよい。
【００２９】
印刷データ処理部１４１からの要求を受けた印刷条件表示部１４２が印刷機能取得部１４３にプリンタの検索を要求するようにし、図８のように検索結果が既に反映された画面を出すようにしてもよい。このようにすることで、利用者にプリンタの検索を指示させることや、ポートモニタ１４の処理の軽減が期待できる。なお、説明の都合上、図７と同じ機能を有する図８と９の対応箇所は、図７と同じ符号を用いている。
【００３０】
出力先のプリンタの選択は、出力プリンタ欄７０１に、表示欄７０２で表示されたプリンタのＩＰアドレスを直接入力するようにしてもよく、検索結果として表示欄７０２に表示されるプリンタの情報はプリンタの名前やＩＰアドレスに限られず、ＭＡＣアドレスや個々のプリンタに予め登録した固有の情報が表示されてもよい。この固有の情報としては、例えばプリンタが設定されている場所や、モデル名等、プリンタを一意に識別可能となる情報であれば、その種類は問わない。
【００３１】
図１０は、図９でＯＫボタン７０４が押下されたときにポートモニタ１４で実行される処理を表している。ＯＫボタン７０４が利用者により押下されると、ステップＳ１００１において、印刷データ処理部１４１は保存されている印刷データをデータ保存部１４４から読み出し、その印刷データに含まれている印刷条件を抽出する。この印刷条件は、上述の図５に示すように、利用者がプリンタドライバ１３で設定した暫定的な印刷条件のことである。データ保存部１４４から読み出された印刷データの構造は、例えば図１１のように、印刷条件が指定されているヘッダ部分１１０１と、印刷対象の描画部分１１０２とを含んでいる。
【００３２】
ヘッダ部分１１０１には、両面印刷が指定されていることを示す「Duplex=On」という印刷条件と、ステープルを用紙の右上に指定していることを示す「Staple＝Right Top」という印刷条件が記述されているが、これに加えて、例えばコンピュータ１０の情報、利用者の情報、アプリケーションデータの情報等を有していてもよい。印刷データ処理部１４１がヘッダ部分から抽出した印刷条件は、図１２のように条件名と設定値が対応付けられた形で一時的に記憶されるが、ポートモニタ１４内で認識できるデータ形式であれば、条件名と設定値の対応関係を表す形式は何でもよい。
【００３３】
ステップＳ１００２において、印刷機能取得部１４３は、出力先として選択されたプリンタ２０が現在実行できる印刷機能をプリンタ２０から取得する。プリンタ２０からの印刷機能の取得方法としては、プリンタ２０のＭＩＢ情報を上述のＳＮＭＰのコマンドで指定することや、ＳＯＡＰフォーマットを用いたＷｅｂ  Ｓｅｒｖｉｃｅ等によりＯＩＤ（Ｏｂｊｅｃｔ ID）を記述することで取得が可能である。プリンタ２０から取得した印刷機能は、例えば図１３のように一時的に記憶される。この図１３の例は、出力先として選択されたプリンタ２０が、印刷機能として「Ｄｕｐｌｅｘ」、「Ｓｔａｐｌｅ」、「Ｐｕｎｃｈ」を有していることを表している。
【００３４】
ステップＳ１００１で抽出された印刷条件及びステップＳ１００２で一時的に記憶された印刷機能は、印刷条件表示部１４２に渡される。そしてステップＳ１００３において、印刷条件表示部１４２は、印刷データから抽出された印刷条件とプリンタ２０から取得された印刷機能との関係から、印刷条件と同じ印刷機能があるかどうかを調べる。具体的には、条件名と、プリンタ２０から取得した印刷機能の名称を比較することで、印刷条件と同じ印刷機能があるかどうかを調べる。その結果、印刷条件と同じ印刷機能があった場合、処理はステップＳ１００４に進む。
【００３５】
処理がステップＳ１００４に進んだ場合、プリンタ２０から取得した印刷機能と印刷データに設定されている印刷条件は同じである。従って印刷条件表示部１４２は、そのような印刷条件が後述の印刷設定画面で表示されるよう一時的にＲＡＭ１０３に記憶する。
【００３６】
その後はステップＳ１００６に進み、印刷条件と印刷機能の関係を全て調べていた場合、処理はステップＳ１００７に進む。一方、調べていない関係がある場合、処理はステップＳ１００３に戻る。
【００３７】
ところでステップＳ１００３において、印刷条件に、プリンタ２０から取得した印刷機能には無い条件名が含まれていた場合、処理はステップＳ１００５に進む。処理がステップＳ１００５に進む場合の例は、印刷条件が上述の図１２の内容であったのに対して、プリンタ２０は図１５に示すように「Ｄｕｐｌｅｘ」と「Ｐｕｎｃｈ」の２つの印刷機能は備えているが、上述の図１２の印刷条件のように「Ｓｔａｐｌｅ」の印刷機能は備えていないという場合である。印刷条件表示部１４２は、印刷データで設定されている印刷条件を後述の印刷設定画面で表示するために、表示される条件名と設定値を一時的にＲＡＭ１０３に記憶する。また、ステップＳ１００５では「Ｓｔａｐｌｅ」はプリンタ２０では実行できないため、実行できない旨の情報もＲＡＭ１０３に一時的に記憶される。これは、後述の図１６のように、利用できない印刷機能を利用者が視認できるようにするためである。その後、処理はステップＳ１００６に進む。即ち、上述のように、印刷データ処理部１４１は、印刷条件と印刷機能の関係を全て調べ、その結果に応じて、ステップＳ１００７に進むか、ステップＳ１００３に戻る。
【００３８】
ステップＳ１００７において、印刷条件表示部１４２は、プリンタ２０から取得した印刷機能には含まれていたが、印刷条件には含まれていなかった印刷機能が無いかどうかを調べる。例えば、図１３における印刷機能「Ｐｕｎｃｈ」は、図１２における条件名には含まれておらず、印刷条件と比較されていない印刷機能であるが、かかる印刷機能が無かったかどうかを調べるのがステップＳ１００７である。これは、プリンタドライバ１３で暫定的に設定された印刷条件には含まれていないが、出力先のプリンタ２０では実行可能な印刷機能をも利用可能にするために行われる処理である。印刷条件表示部１４２は、比較されていない印刷機能の有無に応じてその後の表示を制御する。即ち印刷条件表示部１４２は、ステップＳ１００７の処理の結果、比較されていない印刷機能が無ければ、ステップＳ１００８に進み、上述のステップＳ１００３の結果を反映した内容を後述の印刷設定画面に表示させる。一方、印刷条件表示部１４２は、ステップＳ１００７の処理の結果、比較されていない印刷機能があった場合はステップＳ１００９に進み、該当する印刷機能については予めプログラミングされている初期値を後述の印刷設定画面に表示させる。
【００３９】
図１４は、上述のステップＳ１００９に進んだ場合の印刷条件設定画面の一例である。この画面は、両面印刷の設定を表すＤｕｐｌｅｘ欄１４０１と、ステープルの設定を表すＳｔａｐｌｅ欄１４０２と、パンチの設定を表すＰｕｎｃｈ欄１４０３と、この画面で設定された印刷条件で印刷を実行するためのＯＫボタン１４０４と、この印刷条件での設定を中止して画面を閉じるキャンセルボタン１４０５と、を有している。この図１４の画面例は、図５で利用者により暫定的に設定された印刷条件に基づき、条件名「Ｄｕｐｌｅｘ」の設定値は「する」に、条件名「Ｓｔａｐｌｅ」の設定値は「右上」という設定がされている。ここで注目すべきは、プリンタドライバ１３における暫定的な印刷条件では設定できなかった条件名「Ｐｕｎｃｈ」を、出力先のプリンタへの印刷条件として設定可能となっていることである。これにより、プリンタドライバ１３では設定し忘れたあるいは設定できなかった印刷条件であっても、出力先として選択されたプリンタ２０が実行可能な印刷機能がある場合には、その印刷機能を利用する機会を利用者に与えることができる。なお条件名「Ｐｕｎｃｈ」の設定値は、初期値である「なし」に設定されているが、初期値としてパンチ穴を空ける位置を用いてもよい。キャンセルボタン１４０５が押下された場合、利用者は図９の出力先指定画面で出力先を再度指定することができる。
【００４０】
ステップＳ１００７の処理の結果、印刷条件中の条件名がプリンタ２０から取得した印刷機能には含まれていなかった場合、プリンタで実行できない印刷機能が印刷条件に存在することになる。この場合、その旨を画面中に表すようにしてもよい。例えば、プリンタ２０から取得した印刷機能が、図１５のように「Ｄｕｐｌｅｘ」と「Ｐｕｎｃｈ」であったのに対して、条件名が上述の図１２のように「Ｄｕｐｌｅｘ」と「Ｐｕｎｃｈ」と「Ｓｔａｐｌｅ」であったとする。印刷条件表示部１４２は、「Ｓｔａｐｌｅ」が利用できない旨を、図１６に示されるような印刷条件設定画面で表示する。
【００４１】
図１６の印刷条件設定画面では、ステップＳ１００７の結果を明示的に表すべく、ステープルの設定に関して、「機能はありません」という旨のメッセージが「Ｓｔａｐｌｅ」欄１４０２に表示されている。このように、この実施例でのポートモニタ１４は、印刷指示がされた後、出力先のプリンタ２０から印刷機能を取得し、その印刷機能と、暫定的に設定された印刷条件との関係に応じた画面をディスプレイ１０４に表示している。従って、図１４の画面と同様の価値に加え、実行できない印刷機能を利用者に認識させることもできる。なお、図１６は、図１４における画面例と重複する箇所はその符号と内容が同じであるため、説明を省略した。
【００４２】
図１７は、コンピュータ１０とプリンタ２０との通信の結果、コンピュータ１０がプリンタ２０の印刷機能を取得できなかった場合の処理を表している。利用者が上述の図９の画面でＯＫボタン７０４を押下すると、ステップＳ１７０１において、印刷データ処理部１４１にはプリンタドライバ１３から印刷データが渡され、印刷データ処理部１４１は、その印刷データから印刷条件を抽出する。
【００４３】
ステップＳ１７０２において、印刷機能取得部１４３は、上述の図９で出力先として指定されたプリンタ２０から印刷機能を取得しようと試みるが、例えばプリンタ２０の電源がオフであったり、コンピュータ１０とプリンタ２０との接続状態、あるいはネットワーク３０の状態によって、印刷機能が取得できなかったとする。この場合、印刷機能取得部１４３は印刷条件表示部１４２に、出力先のプリンタ２０から、印刷機能が取得できなかった旨を通知する。
【００４４】
この通知に従い、印刷機能取得部１４２はステップＳ１７０３において、図１８のような確認画面を表示する。図１８の画面の例では、コンピュータ１０が印刷機能の情報が取得できなかったことが表示され、現在の印刷条件で印刷を続行するかどうかを利用者に選択させるべく、印刷を継続するためのＯＫボタン１８００と、印刷を続行せずこの画面を閉じるためのキャンセルボタン１８０１が設けられている。
【００４５】
ステップＳ１７０４において、印刷条件表示部１４２は、図１８の印刷継続確認画面において、ＯＫボタン１８００またはキャンセルボタン１８０１のいずれが利用者により押されたのかを判断する。印刷条件表示部１４２は、利用者によりキャンセルボタン１８０１が押下されたと判断した場合はステップＳ１７０５に進み、印刷継続確認画面を閉じる。これにより利用者は、図９の画面から出力先を再度選択することができる。
【００４６】
一方、利用者によりＯＫボタン１８００が押下された場合、ステップＳ１７０６において印刷条件表示部１４２は印刷データ処理部１４１にその旨を通知し、印刷データ処理部１４１は印刷データをプリンタ２０に送信する。この処理により、何らかのエラーで出力先のプリンタ２０から印刷機能が取得できなかった場合でも、利用者は一連の印刷処理を簡単に継続することが可能となる。
【００４７】
図１９は、上述の図１４及び１６の各印刷条件設定画面（以下、この図の処理においては印刷条件設定画面という）、図１８の確認画面において利用者によりＯＫボタンあるいはキャンセルボタンが押下されたときのコンピュータ１０における印刷処理の一例を表している。印刷条件表示部１４２は、ステップＳ１９０１において、上述した処理のように、プリンタに送信する印刷データへの印刷条件の設定を待つ。ここでの印刷条件とは、出力先として選択されたプリンタ２０への、最終的な印刷条件の設定である。
【００４８】
利用者からの印刷条件の設定がされると、印刷条件表示部１４２はステップＳ１９０２において、ＯＫボタンとキャンセルボタンのいずれが利用者に押下されたかを判断する。その結果、利用者によりキャンセルボタンが押下された場合、印刷条件表示部１４２はステップＳ１９０３に進み、上述の処理と同様、出力先のプリンタを再度選択する画面を表示する。一方、利用者によりＯＫボタンが押下されたと判断した場合、印刷条件表示部１４２はステップＳ１９０４に進み、印刷条件設定画面で設定された印刷条件を印刷データ処理部１４１に渡す。
【００４９】
ステップＳ１９０５において、印刷データ処理部１４１は、データ保存部１４４がＲＡＭ１０３に保存している印刷データと、印刷条件設定画面で設定された印刷条件との関係を調べる。例えば図１１と同じ構造を持つ印刷データを例にすると、印刷データ処理部１４１は、印刷データのヘッダ部分１１０１に含まれている印刷条件に、印刷条件設定画面で設定された個々の印刷条件が含まれているかどうかを調べる。
【００５０】
ステップＳ１９０６では、印刷データ処理部１４１はヘッダ部１１０１に含まれている印刷条件と印刷条件設定画面で設定された印刷条件とを調べた結果、印刷条件設定画面で設定された印刷条件と同じ印刷条件が印刷データに含まれていた場合はステップＳ１９０８に進み、印刷データ処理部１４１はそのような印刷条件を上書きする。図２０は、上書きがされた印刷データの一例である。この印刷データは、プリンタドライバ１３で設定された暫定的な印刷条件として、ヘッダ部１１０１に「Ｄｕｐｌｅｘ＝Ｏｎ」が含まれていた場合を示しているが、ステップＳ１９０６の処理により、このヘッダ部１１０１での印刷条件が、ヘッダ部２００１のように「Ｄｕｐｌｅｘ＝Ｏｆｆ」に変更されている。
【００５１】
ところでこの実施形態のステップＳ１９０６において「同じ印刷条件」がある場合とは、ヘッダ部１１０１に含まれている印刷条件と印刷条件設定画面での印刷条件との関係が、「条件名及び設定値が同一である場合」、「条件名は同じであるが設定値が異なる場合」の双方を含む。前者の例は、条件名「Ｓｔａｐｌｅ」が設定され、かつその位置も同一である場合である。後者の例は、条件名「Ｓｔａｐｌｅ」は設定されているが、その位置が異なる場合である。後者のように設定値が異なる場合、印刷データ処理部１４１は上述のステップＳ１９０８の処理のように、ヘッダ部１１０１の設定値を、印刷条件設定画面で設定された設定値にする。なお、ステップＳ１９０８の処理はこの時点で行わなくとも、後述するステップＳ１９１２が終わる時点までになされていれば良いため、用いる設定値を一時的に記憶するという処理であっても良い。
【００５２】
一方、この実施形態のステップＳ１９０６において「同じ印刷条件」が無かった場合とは、印刷条件設定画面で設定された印刷条件に含まれているがヘッダ部１１０１には含まれていない印刷条件がある場合、即ち、プリンタ２０で実行可能な印刷機能が印刷データ中の暫定的な印刷条件には含まれていない場合である。この場合、印刷データ処理部１４１はステップＳ１９０７において、印刷条件設定画面で設定された印刷条件を印刷データのヘッダ部１１０１に追加する。図２１は、そのような追加がされたヘッダ部２１０１を有した印刷データの例を表している。プリンタドライバ１３で設定された暫定的な印刷条件には、そのヘッダ部１１０１で条件名「Ｐｕｎｃｈ」が含まれていなかったのに対し、ステップＳ１９０７の処理により、ヘッダ部２１０１で「Ｐｕｎｃｈ＝Ｏｎ」という印刷条件が追加されている。このステップＳ１９０７においても、上述のステップＳ１９０８と同様、追加する内容を記憶するという処理であっても良い。
【００５３】
ステップＳ１９０７及びステップＳ１９０８の処理の後、ステップＳ１９０９において印刷データ処理部１４１は、印刷データ中の暫定的な印刷条件と印刷条件設定画面で設定された印刷条件との関係を全て調べたかどうかを判断する。その結果、印刷データ処理部１４１は、調べ終わっていない関係がある場合はステップＳ１９０６の処理に戻りステップＳ１９０９に至る処理を繰り返し、全て調べ終わっている場合は次の処理に進む。
【００５４】
ステップＳ１９１０において、印刷データ処理部１４１は、印刷データ中の暫定的な印刷条件には含まれていたが、印刷条件設定画面で設定された印刷条件には含まれていない印刷条件の有無を調べる。即ち、ヘッダ部１１０１には含まれているがプリンタ２０には備わっていない印刷機能の有無を調べる。この結果、暫定的な印刷条件には含まれているが印刷機能には含まれていない印刷条件があった場合、印刷データ処理部１４１は、ステップＳ１９１１で、ヘッダ部１１０１に含まれている、かかる印刷条件を無効化する。図１１と同じ構造を持つ印刷データに関して言えば、ヘッダ部１１０１の条件名「Ｓｔａｐｌｅ」の設定値や、印刷条件自体が無効化されることとなる。より具体的にいうと、図２１の印刷条件「Ｓｔａｐｌｅ＝Ｏｆｆ」のように、条件名「Ｓｔａｐｌｅ」を実行しない設定値「Ｏｆｆ」に変更することや、「Ｏｆｆ」という設定値を、条件名「Ｓｔａｐｌｅ」での処理を禁止する旨の設定値に変更すること、あるいは条件名及び設定値の削除等が無効化処理に含まれる。即ち、ここでいう無効化とは、当初指定されていた印刷条件を実行させないようにするための処理を全て含む。このステップＳ１９１１の処理の後、印刷データ処理部１４１はステップＳ１９１２において、印刷条件が確定された印刷データをプリンタ２０に送信する。このステップＳ１９１１でも、上述のステップＳ１９０７及びＳ１９０８と同様、無効化処理の内容を記憶するに留めるようにすることもできる。
【００５５】
一方、ステップＳ１９１０での処理の結果、印刷データ中の暫定的な印刷条件には含まれていたが、印刷条件設定画面で設定された印刷条件には含まれていない印刷条件が無かった場合には、印刷データ処理部１４１はステップＳ１９１２に進み、プリンタ２０に印刷データを送信する。これによりコンピュータ１０による一連の処理が終了する。なお、上述のステップＳ１９０７、Ｓ１９０８、及びＳ１９１１で、対応する各処理の内容を記憶する構成を用いている場合は、印刷データ処理部１４１は、このステップＳ１９１２でプリンタ２０に印刷データが送信されるまでに、記憶された各処理を印刷データに対して行う必要がある。
【００５６】
このように、この実施形態では、出力先のプリンタが実行可能な印刷機能を利用できるよう、プリンタドライバ１３で設定された暫定的な印刷条件を有する印刷データへの最終的な印刷条件の設定をする機会を利用者に与えている。そのため、出力先のプリンタで実行できる印刷機能を認識することができることに加え、誤った印刷条件での印刷がされることを防ぐこともできる。
【００５７】
この実施形態では、ポートモニタ１４を独立したモジュールとしているが、このポートモニタ１４は、アプリケーション１１、プリンタドライバ１３、あるいは所謂ミニドライバのようにＯＳ１２に同梱されてもよい。また、プリンタ２０のソフトウェア構成に関しても、図１３で例示した印刷機能は、コンピュータ１０がプリンタ２０から取得できる領域に記憶されていればよく、その記憶場所がプリンタアプリ２２以外であってもよい。
【００５８】
なお、プリンタドライバ１３に、ポートモニタ１４の機能の一部または全てを実装する場合、アプリケーション１１から出力されたアプリケーションデータを、プリンタ言語に依存しない形式のデータで保存するよう構成すれば、プリンタ２０から取得した情報を反映しやすくなる。
【００５９】
さらに、プリンタ２０がサポートしているプリンタ言語の情報を印刷機能の情報に含むようプリンタ２０を構成しておき、取得した印刷機能の情報に基づきプリンタドライバ１３またはポートモニタ１４、あるいはこれらの機能の一部または全てを実装したＯＳ１２若しくはアプリケーションソフト１１が、出力先プリンタに出力される印刷データを生成するようコンピュータ１０を構成してもよい。このようにすれば、利用者が出力先として選択可能なプリンタの候補が増えるため、各プリンタ２０のプリンタ言語がそれぞれ異なっている環境でも、利用者は所望の印刷を享受できるようになる。
【００６０】
なお、この実施形態での処理において詳述しなかった、プリンタとの通信に関する基本処理は、例えば特開２００６−３４４２１０号公報に記載されるような技術を用いることができる。
【００６１】
以上のように、ポートモニタ１４またはこのポートモニタ１４が実装されたコンピュータ１０は、出力先のプリンタに応じた最適な印刷データを生成することが可能となる。さらに、プリンタ２０の現在の印刷機能が、当初設定されていた印刷データに含まれていなかった場合はその機能の情報を印刷データに追加するため、利用者が当初は指定しなかった印刷条件を使うことができるという付加価値も提供することが可能となる。
【図面の簡単な説明】
【００６２】
【図１】本発明を適用した印刷システムの例を示す図である。
【図２】コンピュータ１０のハードウェア構成例である。
【図３】プリンタ２０のハードウェア構成例である。
【図４】コンピュータ１０とプリンタ２０のソフトウェア構成例である。
【図５】プリンタドライバ１３での印刷条件設定の画面例である。
【図６】ポートモニタ１４の詳細の例を示す図である。
【図７】プリンタ２０を検索する画面の一例である。
【図８】プリンタ２０を検索する画面の一例である。
【図９】プリンタ２０を検索する画面の一例である。
【図１０】ポートモニタ１４による印刷条件設定画面の作成処理の一例である。
【図１１】プリンタドライバ１３で生成された印刷データの構造の一例である。
【図１２】図１１の印刷データから抽出された印刷条件の一例である。
【図１３】プリンタ２０から取得された印刷機能の一例である。
【図１４】図１０の処理で作成された印刷条件設定画面の一例である。
【図１５】プリンタ２０から取得された印刷機能の他の例である。
【図１６】図１０の処理で作成された印刷条件設定画面の他の例である。
【図１７】プリンタ２０から印刷機能を取得できなかった場合の処理の一例である。
【図１８】図１７の処理で作成された画面の例である。
【図１９】プリンタ２０に印刷データが送信されるまでの処理の一例である。
【図２０】印刷条件の一部が変更された場合の印刷データの構造の一例である。
【図２１】印刷条件の一部が追加された場合の印刷データの構造の一例である。
【図１】
2009282695.tif 000003
【図２】
2009282695.tif 000004
【図３】
2009282695.tif 000005
【図４】
2009282695.tif 000006
【図５】
2009282695.tif 000007
【図６】
2009282695.tif 000008
【図７】
2009282695.tif 000009
【図８】
2009282695.tif 000010
【図９】
2009282695.tif 000011
【図１０】
2009282695.tif 000012
【図１１】
2009282695.tif 000013
【図１２】
2009282695.tif 000014
【図１３】
2009282695.tif 000015
【図１４】
2009282695.tif 000016
【図１５】
2009282695.tif 000017
【図１６】
2009282695.tif 000018
【図１７】
2009282695.tif 000019
【図１８】
2009282695.tif 000020
【図１９】
2009282695.tif 000021
【図２０】
2009282695.tif 000022
【図２１】
2009282695.tif 000023