(57)【要約】【課題】  プリントチケットを使った印刷システムでは、アプリケーションが、デバイス能力を取得する際にもプリントケーパビリティと呼ばれる（プリントチケットと似たような）ＸＭＬデータを得ることになる。一般にプリントケーパビリティのデータサイズは肥大化する傾向にあるため、ＸＭＬの処理速度の低下が問題になる。【解決手段】  プリントチケット、及びプリントケーパビリティのスコープを入力し、入力されたプリントチケット及びプリントケーパビリティスコープに基づきプリントケーパビリティを生成し、アプリケーションに返却することを特徴とする。【選択図】  図８
2009146362.tif 000002
【特許請求の範囲】
【請求項１】
プリントチケット、及びプリントケーパビリティのスコープを入力する入力手段と、
前記入力手段により入力されたプリントチケットとプリントケーパビリティのスコープとに基づきプリントケーパビリティを生成する手段と、
前記生成したプリントケーパビリティをアプリケーションに返却する返却手段とを有することを特徴とする情報処理装置。
【請求項２】
前記入力手段は、アプリケーションから直接入力するインターフェースを介してプリントチケット、及びプリントケーパビリティのスコープを入力することを特徴とする請求項１記載の情報処理装置。
【請求項３】
プリントチケット、及びプリントケーパビリティのスコープを入力する入力ステップと、
前記入力手段により入力されたプリントチケットとプリントケーパビリティのスコープとに基づきプリントケーパビリティを生成するステップと、
前記生成したプリントケーパビリティをアプリケーションに返却する返却ステップとを有することを特徴とする情報処理装置。
【請求項４】
前記入力ステップは、アプリケーションから直接入力するインターフェースを介してプリントチケット、及びプリントケーパビリティのスコープを入力することを特徴とする請求項３記載の情報処理方法。
【請求項５】
プリントチケット、及びプリントケーパビリティのスコープを入力する入力ステップと、
前記入力手段により入力されたプリントチケットとプリントケーパビリティのスコープとに基づきプリントケーパビリティを生成するステップと、
前記生成したプリントケーパビリティをアプリケーションに返却する返却ステップとをコンピュータに実行させるためのプログラム。
【請求項６】
前記入力ステップは、アプリケーションから直接入力するインターフェースを介してプリントチケット、及びプリントケーパビリティのスコープを入力することを特徴とする請求項５記載のプログラム。
【請求項７】
請求項５乃至６いずれかに記載のプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、プログラム、及び記憶媒体に関するものである、特に印刷設定に関するものである。
【背景技術】
【０００２】
Ｍｉｃｒｏｓｏｆｔ社のオペレーティングシステム（ＯＳ）であるＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）Ｖｉｓｔａにおいて印刷システムが大きく変更された。従来のＧＤＩ（Ｇｒａｐｈｉｃ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）ベースの印刷システムと互換性を維持しつつ、ＸＰＳ（ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）ベースの新しい印刷システムが導入された（ｈｔｔｐ：／／ｗｗｗ．ｍｉｃｒｏｓｏｆｔ．ｃｏｍ／ｊａｐａｎ／ｗｈｄｃ／ｄｅｖｉｃｅ／ｐｒｉｎｔ／ｄｅｆａｕｌｔ．ｍｓｐｘ）。
【０００３】
ＸＰＳとは、電子文書フォーマットの一つである。その中身は、文書構造、描画情報、印刷設定などの情報を保持するＸＭＬとビットマップやフォントなどのバイナリリソースといった様々なパーツから構成される。ＸＰＳを構成する特に重要なパーツを図１にて示す。ＦｉｘｅｄＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅ１０１をジョブ、ＦｉｘｅｄＤｏｃｕｍｅｎｔ１０２をドキュメント、ＦｉｘｅｄＰａｇｅ１０３をページと理解するとよい。ＦｉｘｅｄＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅパーツ２０１は必ず１つだけ存在し、複数のＦｉｘｅｄＤｏｃｕｍｅｎｔパーツ２０２を保持する。さらに各々のＦｉｘｅｄＤｏｃｕｍｅｎｔパーツ２０２は複数のＦｉｘｅｄＰａｇｅパーツ２０３を保持する。さらに、これら任意のＦｉｘｅｄＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅパーツ２０１、ＦｉｘｅｄＤｏｃｕｍｅｎｔパーツ２０２、ＦｉｘｅｄＰａｇｅパーツ２０３には各々印刷設定を関連付けることができる（図２）。この印刷設定のことをプリントチケットと呼ぶ。アプリケーションが、このプリントチケットを生成するためには、デバイスの能力を知る必要がある。このデバイス能力を表すドキュメント形式をプリントケーパビリティ（ＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ）と呼ぶ。プリントケーパビリティについては、特許文献１にも詳細が記されている。
このプリントケーパビリティは、デバイスの機能を列挙してＸＭＬに記述するため、記述量が膨大になる傾向になる。また、プリントケーパビリティの大きな特徴として、静的なデバイスの能力を列挙して記述するだけでなく、プリントチケットに応じた動的なデバイス能力を記述できることにある。具体的には、プリントチケットに記述されている用紙の種類、用紙の向きに応じた、有効印字領域といった情報をプリントケーパビリティは保持している。
【特許文献１】特開２００６−１５５６１１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
プリントケーパビリティの記述量は大きいため、アプリケーションなどがプリントケーパビリティを取得する際に、相応の処理時間を必要とする。アプリケーションは、ユーザーのストレスとなるような待ち時間を感じさせないように、可能な限りプリントケーパビリティの取得回数を減らし、取得したプリントケーパビリティを使いまわすことを試みるだろう。しかしながら、プリントケーパビリティには有効印字領域といった用紙の種類、用紙の向きに応じてページ毎に変更される可能性のあるデータを保持している。よって、単純に一度取得したプリントケーパビリティを使いまわすわけにはいかない。最悪、アプリケーションは、ページ毎にプリントケーパビリティを取得し直す必要がある。
【０００５】
以上、新しいＸＰＳプリンティングシステムでは、その土台となるプリントケーパビリティにおいて、性能劣化を引き起こす構造上の問題を抱えている。
【課題を解決するための手段】
【０００６】
上述した課題を解決するために、本発明は、
プリントチケット、及びプリントケーパビリティのスコープを入力する入力手段と、
前記入力手段により入力されたプリントチケットとプリントケーパビリティのスコープとに基づきプリントケーパビリティを生成する手段と、
前記生成したプリントケーパビリティをアプリケーションに返却する返却手段とを有することを特徴とする。
【発明の効果】
【０００７】
本発明によって、アプリケーションがプリンタドライバからデバイス能力を得る際に、必要とする情報をストレスなく入手可能になる。ひいては、ユーザーの利便性を向上させることができる。
【発明を実施するための最良の形態】
【０００８】
［実施例１］
本発明に係る情報処理装置の一実施形態としてのコンピュータについて説明する。図３は、本実施形態のコンピュータを含むプリンタ制御システムの構成を説明するブロック図である。なお、特に断らない限り、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ，ＷＡＮ等のネットワークを介して接続が為され処理が行われるシステムであっても本発明を適用できることは言うまでもない。
【０００９】
図において、３００はホストコンピュータである。ホストコンピュータはＲＯＭ３のプログラム用ＲＯＭあるいは外部メモリ１１に記憶された文書処理プログラム等に基づいて図形、イメージ、文字、表（表計算等を含む）等が混在した文書処理を実行するＣＰＵ１を備え、システムバス４に接続される各デバイスをＣＰＵ１が総括的に制御する。
【００１０】
また、このＲＯＭ３のプログラム用ＲＯＭあるいは外部メモリ１１には、ＣＰＵ１の制御プログラムであるオペレーティングシステムプログラム（以下ＯＳ）等を記憶する。また、ＲＯＭ３のフォント用ＲＯＭあるいは外部メモリ１１には上記文書処理の際に使用するフォントデータ等を記憶し、ＲＯＭ３のデータ用ＲＯＭあるいは外部メモリ１１には上記文書処理等を行う際に使用する各種データを記憶する。
【００１１】
２はＲＡＭで、ＣＰＵ１の主メモリ、ワークエリア等として機能する。５はキーボードＩ／Ｆで、キーボード９や不図示のポインティングデバイスからのキー入力を制御する。６はディプレイＩ／Ｆで、ディスプレイ１０の表示を制御する。７は外部メモリＩ／Ｆで、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタドライバ等を記憶するハードディスク（ＨＤ）、フロッピー（登録商標）ディスク（ＦＤ）等の外部メモリ１１とのアクセスを制御する。なお、外部メモリはプリンタドライバ等の各種処理プログラムを記憶するコンピュータが読み取り可能な記憶媒体として機能する。
【００１２】
８はプリンタＩ／Ｆで、所定の双方向性インターフェース２１を介してプリンタ１５０に接続されて、プリンタ１５０との通信制御処理を実行する。なお、ＣＰＵ１は、例えばＲＡＭ２上に設定された表示情報ＲＡＭへのアウトラインフォントの展開（ラスタライズ）処理を実行し、ディプレイ１０上でのＷＹＳＩＷＹＧを可能としている。
【００１３】
また、ＣＰＵ１は、ＣＲＴ１０上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷の設定に関するウインドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行える。
【００１４】
プリンタ１５０において、１２はプリンタＣＰＵで、ＲＯＭ１３のプログラム用ＲＯＭに記憶された制御プログラム等あるいは外部メモリ１４に記憶された制御プログラム等に基づいてシステムバス１５に接続される印刷部（プリンタエンジン）１７に出力情報としての画像信号を出力する。
【００１５】
また、このＲＯＭ１３のプログラムＲＯＭには、ＣＰＵ１２の制御プログラム等を記憶する。ＲＯＭ１３のフォント用ＲＯＭには上記出力情報を生成する際に使用するフォントデータ等を記憶し、ＲＯＭ１３のデータ用ＲＯＭにはハードディスク等の外部メモリ１４がないプリンタの場合には、ホストコンピュータ上で利用される情報等を記憶している。
【００１６】
ＣＰＵ１２は入力部１８を介してホストコンピュータとの通信処理が可能となっており、プリンタ内の情報等をホストコンピュータ３０００に通知可能に構成されている。１９はＣＰＵ１２の主メモリ、ワークエリア等として機能するＲＡＭで、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。なお、ＲＡＭ１９は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。前述したハードディスク（ＨＤ）、ＩＣカード等の外部メモリ１４は、メモリコントローラ（ＭＣ）２０によりアクセスを制御される。
【００１７】
外部メモリ１４は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、１８は前述した操作パネルで操作のためのスイッチおよびＬＥＤ表示器等が配されている。また、前述した外部メモリは１個に限らず、少なくとも１個以上備え、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。さらに、図示しないＮＶＲＡＭを有し、操作パネル２０からのプリンタモード設定情報を記憶するようにしてもよい。
【００１８】
図４は、ホストコンピュータにおける典型的な印刷データ生成方法を説明する図である。
【００１９】
アプリケーション４０１、グラフィックエンジン４０２、プリンタドライバ４０３、およびシステムスプーラ４０４は、外部メモリ１１に保存されたファイルとして存在し、ＯＳやそのモジュールを利用するモジュールによってＲＡＭ２にロードされ実行されるプログラムモジュールである。また、アプリケーション４０１およびプリンタドライバ４０３は、外部メモリ１１のＦＤや不図示のＣＤ−ＲＯＭ、あるいは不図示のネットワークを経由して外部ディスク１１のＨＤに追加することが可能となっている。
【００２０】
外部メモリ１１に保存されているアプリケーション４０１はＲＡＭ２にロードされて実行されるが、このアプリケーション４０１からプリンタ１５００に対して印刷を行う際には、同様にＲＡＭ２にロードされ実行可能となっているグラフィックエンジン４０２を利用して出力（描画）を行う。グラフィックエンジン４０２は、印刷装置ごとに用意されたプリンタドライバ４０３を、外部メモリ１１からＲＡＭ２にロードし、アプリケーション２１０の出力をプリンタドライバ４０３を用いてプリンタの制御コマンドに変換する。変換されたプリンタ制御コマンドはＯＳによってＲＡＭ２にロードされたシステムスプーラ４０４を経てインターフェース２１経由でプリンタ１５００へ出力される仕組みとなっている。
【００２１】
図５は、アプリケーション５０４と、各プリンタ用のプリンタドライバ５０１，５０２との関係をあらわした模式図である。
【００２２】
アプリケーション５０４はオペレーティングシステム５０３が提供する各種関数（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ、通称ＡＰＩ）をコールして処理を行う。
【００２３】
オペレーティングシステム５０３は印刷に関わる処理を選択されているプリンタのプリンタドライバ５０１，５０２が提供する関数（Ｄｅｖｉｃｅ  Ｄｒｉｖｅｒ  Ｉｎｔｅｒｆａｃｅ、通称ＤＤＩ）をコールして処理を行う。
【００２４】
このようにしてアプリケーションから選択されたプリンタへの印刷が可能となっている。
【００２５】
このときプリンタドライバ５０１，５０２とオペレーティングシステム５０３、及び、アプリケーション５０４間でプリンタの印刷設定データがやり取りされる。これを表したのが図６である。
【００２６】
図６は、プリントチケット対応アプリケーション６０１や当発明のポイントであるドライバ拡張インターフェイスに対応したアプリケーション６０４から印刷設定する場合のプリンタドライバとの関係をあらわした模式図である。６０２はプリントチケット・プリントケーパビリティＡＰＩを示している。すなわちＯＳの一部である。このＡＰＩとほぼ同等の機能を持つＤＤＩは、プリンタドライバ６０３にも用意されている。つまり、アプリケーション６０１が、ＰＴＧｅｔＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓのようなＡＰＩを呼び出すと、ＡＰＩ層である６０２を通って、ドライバ本体６０３に入力データであるプリントチケットが渡されることになる。ドライバ本体６０３は、渡されたプリントチケットに応じたプリントケーパビリティを生成し、ＡＰＩ層である６０２を通って、アプリケーション６０１に生成したプリントケーパビリティを返す。これが従来例である。ドライバ拡張インターフェイスに対応したアプリケーション６０４が、図７で示すようなプリンタドライバ独自の拡張インターフェイスを呼び出すと、プリンタドライバの拡張部である６０５に直接入力データであるプリントチケット等が渡されることになる。プリンタドライバの拡張部である６０５は、渡されたプリントチケット等の情報に応じたプリントケーパビリティを生成し、直接アプリケーション６０４に生成したプリントケーパビリティを返す。
【００２７】
図７は、プリンタドライバが公開する独自のインターフェースの一部である。
図７はＣ言語の関数として定義している。ＯＳが定義するプリンタドライバインターフェース関数ＰＴＧｅｔＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓとは名前が異なりかつ第二引数ＬＰＣＷＳＴＲ  ｐＳｃｏｐｅが追加されている。他のところの関数仕様はほぼ同等なので、ここでは説明を省略する。なお、ＰＴＧｅｔＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ関数の詳細については、ｈｔｔｐ：／／ｍｓｄｎ２．ｍｉｃｒｏｓｏｆｔ．ｃｏｍ／ｅｎ−ｕｓ／ｌｉｂｒａｒｙ／ｍｓ５３６１０７．ａｓｐｘにて確認できる。
【００２８】
図８は、図７の関数の処理フローを示している。ステップ８０１で第二引数からスコープ文字列を取得する。ステップ８０２で第三引数からプリントチケットを取得する。ステップ８０３はプリンタドライバが保持するデバイスのモデル別情報にアクセスする。一般に、８０３でアクセスするデータはローカルファイルであることが多い。ステップ８０４でｐＳｃｏｐｅがＮＵＬＬだったどうかの判定をする。ＮＵＬＬの場合は、従来のＰＴＧｅｔＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓと全く同じ動作する。すなわち、続くステップ８０５でフルセットのプリントケーパビリティを生成し、ステップ８０６で第四引数としてプリントケーパビリティを返却する。ステップ８０４でｐＳｃｏｐｅがＮＵＬＬ以外の場合は、ステップ８０７へ進む。ステップ８０７では、ｐＳｃｏｐｅが指す文字列が“ＰａｇｅＩｍａｇｅａｂｌｅＳｉｚｅ”だったどうかの判定をする。“ＰａｇｅＩｍａｇｅａｂｌｅＳｉｚｅ”だった場合、ＰａｇｅＩｍａｇｅａｂｌｅＳｉｚｅプロパティのみ保持する小さなプリントケーパビリティを生成する。そして、ステップ８０６へ進む。ステップ８０７でｐＳｃｏｐｅが指す文字列が“ＰａｇｅＩｍａｇｅａｂｌｅＳｉｚｅ”以外の場合は、ステップ８０９にてエラー処理をする。
【００２９】
図９は、図８のステップ８０８で生成したプリントケーパビリティの実例を示す。
【００３０】
なお、本実施形態においては、新インターフェース対応アプリ６０４が直接プリンタドライバのプリントチケット入出力部６０５を呼びだすことによって実現している。ここでは説明を省略するが、ＯＳ層で６０２相当のインターフェースが用意されていて、アプリケーションはＯＳ層を呼び出し、プリンタドライバは、そのインターフェースを実装する、といった構成であってもかまわない。
【図面の簡単な説明】
【００３１】
【図１】ＸＰＳを構成する主要なパーツを使った概観図である。
【図２】ＸＰＳの構成する主要なパーツとプリントチケットの関係図である。
【図３】本発明の一実施形態としてのコンピュータを含むシステムの構成を説明するブロック図である。
【図４】本発明の一実施形態としてのコンピュータにおける典型的な印刷データ生成方法を説明するブロック図である。
【図５】本発明の一実施形態としてのコンピュータにおける、アプリケーションと各プリンタ用のプリンタドライバとの関係をあらわした図である。
【図６】本発明の一実施形態としてのコンピュータにおける、アプリ層からＯＳ層、ドライバ層に至るプリントチケットとプリントケーパビリティの取り扱いを示す関係図である。
【図７】本発明の一実施形態としてのプリンタドライバにおける、プリンタドライバ独自のインターフェース（Ｃ言語の関数）を示す図である。
【図８】本発明の一実施形態としてのプリンタドライバにおける、ユーザーインターフェースの初期化処理のフローチャートを示す図である。
【図９】本発明の一実施形態としてのプリンタドライバにおける、プリントケーパビリティの事例を示す図である。
【符号の説明】
【００３２】
１５０  プリンタ
３００  ホストコンピュータ
４０１  アプリケーション
４０３  プリンタドライバ
【図１】
2009146362.tif 000003
【図２】
2009146362.tif 000004
【図３】
2009146362.tif 000005
【図４】
2009146362.tif 000006
【図５】
2009146362.tif 000007
【図６】
2009146362.tif 000008
【図７】
2009146362.tif 000009
【図８】
2009146362.tif 000010
【図９】
2009146362.tif 000011