JP2009146362A - 情報処理装置、情報処理方法、プログラム、及び記憶媒体 - Google Patents
情報処理装置、情報処理方法、プログラム、及び記憶媒体 Download PDFInfo
- Publication number
- JP2009146362A JP2009146362A JP2007326056A JP2007326056A JP2009146362A JP 2009146362 A JP2009146362 A JP 2009146362A JP 2007326056 A JP2007326056 A JP 2007326056A JP 2007326056 A JP2007326056 A JP 2007326056A JP 2009146362 A JP2009146362 A JP 2009146362A
- Authority
- JP
- Japan
- Prior art keywords
- capability
- input
- application
- ticket
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】 プリントチケットを使った印刷システムでは、アプリケーションが、デバイス能力を取得する際にもプリントケーパビリティと呼ばれる(プリントチケットと似たような)XMLデータを得ることになる。一般にプリントケーパビリティのデータサイズは肥大化する傾向にあるため、XMLの処理速度の低下が問題になる。
【解決手段】 プリントチケット、及びプリントケーパビリティのスコープを入力し、入力されたプリントチケット及びプリントケーパビリティスコープに基づきプリントケーパビリティを生成し、アプリケーションに返却することを特徴とする。
【選択図】 図8
【解決手段】 プリントチケット、及びプリントケーパビリティのスコープを入力し、入力されたプリントチケット及びプリントケーパビリティスコープに基づきプリントケーパビリティを生成し、アプリケーションに返却することを特徴とする。
【選択図】 図8
Description
本発明は、情報処理装置、情報処理方法、プログラム、及び記憶媒体に関するものである、特に印刷設定に関するものである。
Microsoft社のオペレーティングシステム(OS)であるMicrosoft Windows(登録商標)Vistaにおいて印刷システムが大きく変更された。従来のGDI(Graphic Device Interface)ベースの印刷システムと互換性を維持しつつ、XPS(XML Paper Specification)ベースの新しい印刷システムが導入された(http://www.microsoft.com/japan/whdc/device/print/default.mspx)。
XPSとは、電子文書フォーマットの一つである。その中身は、文書構造、描画情報、印刷設定などの情報を保持するXMLとビットマップやフォントなどのバイナリリソースといった様々なパーツから構成される。XPSを構成する特に重要なパーツを図1にて示す。FixedDocumentSequence101をジョブ、FixedDocument102をドキュメント、FixedPage103をページと理解するとよい。FixedDocumentSequenceパーツ201は必ず1つだけ存在し、複数のFixedDocumentパーツ202を保持する。さらに各々のFixedDocumentパーツ202は複数のFixedPageパーツ203を保持する。さらに、これら任意のFixedDocumentSequenceパーツ201、FixedDocumentパーツ202、FixedPageパーツ203には各々印刷設定を関連付けることができる(図2)。この印刷設定のことをプリントチケットと呼ぶ。アプリケーションが、このプリントチケットを生成するためには、デバイスの能力を知る必要がある。このデバイス能力を表すドキュメント形式をプリントケーパビリティ(PrintCapabilities)と呼ぶ。プリントケーパビリティについては、特許文献1にも詳細が記されている。
このプリントケーパビリティは、デバイスの機能を列挙してXMLに記述するため、記述量が膨大になる傾向になる。また、プリントケーパビリティの大きな特徴として、静的なデバイスの能力を列挙して記述するだけでなく、プリントチケットに応じた動的なデバイス能力を記述できることにある。具体的には、プリントチケットに記述されている用紙の種類、用紙の向きに応じた、有効印字領域といった情報をプリントケーパビリティは保持している。
特開2006−155611号公報
このプリントケーパビリティは、デバイスの機能を列挙してXMLに記述するため、記述量が膨大になる傾向になる。また、プリントケーパビリティの大きな特徴として、静的なデバイスの能力を列挙して記述するだけでなく、プリントチケットに応じた動的なデバイス能力を記述できることにある。具体的には、プリントチケットに記述されている用紙の種類、用紙の向きに応じた、有効印字領域といった情報をプリントケーパビリティは保持している。
プリントケーパビリティの記述量は大きいため、アプリケーションなどがプリントケーパビリティを取得する際に、相応の処理時間を必要とする。アプリケーションは、ユーザーのストレスとなるような待ち時間を感じさせないように、可能な限りプリントケーパビリティの取得回数を減らし、取得したプリントケーパビリティを使いまわすことを試みるだろう。しかしながら、プリントケーパビリティには有効印字領域といった用紙の種類、用紙の向きに応じてページ毎に変更される可能性のあるデータを保持している。よって、単純に一度取得したプリントケーパビリティを使いまわすわけにはいかない。最悪、アプリケーションは、ページ毎にプリントケーパビリティを取得し直す必要がある。
以上、新しいXPSプリンティングシステムでは、その土台となるプリントケーパビリティにおいて、性能劣化を引き起こす構造上の問題を抱えている。
上述した課題を解決するために、本発明は、
プリントチケット、及びプリントケーパビリティのスコープを入力する入力手段と、
前記入力手段により入力されたプリントチケットとプリントケーパビリティのスコープとに基づきプリントケーパビリティを生成する手段と、
前記生成したプリントケーパビリティをアプリケーションに返却する返却手段とを有することを特徴とする。
プリントチケット、及びプリントケーパビリティのスコープを入力する入力手段と、
前記入力手段により入力されたプリントチケットとプリントケーパビリティのスコープとに基づきプリントケーパビリティを生成する手段と、
前記生成したプリントケーパビリティをアプリケーションに返却する返却手段とを有することを特徴とする。
本発明によって、アプリケーションがプリンタドライバからデバイス能力を得る際に、必要とする情報をストレスなく入手可能になる。ひいては、ユーザーの利便性を向上させることができる。
[実施例1]
本発明に係る情報処理装置の一実施形態としてのコンピュータについて説明する。図3は、本実施形態のコンピュータを含むプリンタ制御システムの構成を説明するブロック図である。なお、特に断らない限り、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、LAN,WAN等のネットワークを介して接続が為され処理が行われるシステムであっても本発明を適用できることは言うまでもない。
本発明に係る情報処理装置の一実施形態としてのコンピュータについて説明する。図3は、本実施形態のコンピュータを含むプリンタ制御システムの構成を説明するブロック図である。なお、特に断らない限り、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、LAN,WAN等のネットワークを介して接続が為され処理が行われるシステムであっても本発明を適用できることは言うまでもない。
図において、300はホストコンピュータである。ホストコンピュータはROM3のプログラム用ROMあるいは外部メモリ11に記憶された文書処理プログラム等に基づいて図形、イメージ、文字、表(表計算等を含む)等が混在した文書処理を実行するCPU1を備え、システムバス4に接続される各デバイスをCPU1が総括的に制御する。
また、このROM3のプログラム用ROMあるいは外部メモリ11には、CPU1の制御プログラムであるオペレーティングシステムプログラム(以下OS)等を記憶する。また、ROM3のフォント用ROMあるいは外部メモリ11には上記文書処理の際に使用するフォントデータ等を記憶し、ROM3のデータ用ROMあるいは外部メモリ11には上記文書処理等を行う際に使用する各種データを記憶する。
2はRAMで、CPU1の主メモリ、ワークエリア等として機能する。5はキーボードI/Fで、キーボード9や不図示のポインティングデバイスからのキー入力を制御する。6はディプレイI/Fで、ディスプレイ10の表示を制御する。7は外部メモリI/Fで、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタドライバ等を記憶するハードディスク(HD)、フロッピー(登録商標)ディスク(FD)等の外部メモリ11とのアクセスを制御する。なお、外部メモリはプリンタドライバ等の各種処理プログラムを記憶するコンピュータが読み取り可能な記憶媒体として機能する。
8はプリンタI/Fで、所定の双方向性インターフェース21を介してプリンタ150に接続されて、プリンタ150との通信制御処理を実行する。なお、CPU1は、例えばRAM2上に設定された表示情報RAMへのアウトラインフォントの展開(ラスタライズ)処理を実行し、ディプレイ10上でのWYSIWYGを可能としている。
また、CPU1は、CRT10上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷の設定に関するウインドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行える。
プリンタ150において、12はプリンタCPUで、ROM13のプログラム用ROMに記憶された制御プログラム等あるいは外部メモリ14に記憶された制御プログラム等に基づいてシステムバス15に接続される印刷部(プリンタエンジン)17に出力情報としての画像信号を出力する。
また、このROM13のプログラムROMには、CPU12の制御プログラム等を記憶する。ROM13のフォント用ROMには上記出力情報を生成する際に使用するフォントデータ等を記憶し、ROM13のデータ用ROMにはハードディスク等の外部メモリ14がないプリンタの場合には、ホストコンピュータ上で利用される情報等を記憶している。
CPU12は入力部18を介してホストコンピュータとの通信処理が可能となっており、プリンタ内の情報等をホストコンピュータ3000に通知可能に構成されている。19はCPU12の主メモリ、ワークエリア等として機能するRAMで、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。なお、RAM19は、出力情報展開領域、環境データ格納領域、NVRAM等に用いられる。前述したハードディスク(HD)、ICカード等の外部メモリ14は、メモリコントローラ(MC)20によりアクセスを制御される。
外部メモリ14は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、18は前述した操作パネルで操作のためのスイッチおよびLED表示器等が配されている。また、前述した外部メモリは1個に限らず、少なくとも1個以上備え、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。さらに、図示しないNVRAMを有し、操作パネル20からのプリンタモード設定情報を記憶するようにしてもよい。
図4は、ホストコンピュータにおける典型的な印刷データ生成方法を説明する図である。
アプリケーション401、グラフィックエンジン402、プリンタドライバ403、およびシステムスプーラ404は、外部メモリ11に保存されたファイルとして存在し、OSやそのモジュールを利用するモジュールによってRAM2にロードされ実行されるプログラムモジュールである。また、アプリケーション401およびプリンタドライバ403は、外部メモリ11のFDや不図示のCD−ROM、あるいは不図示のネットワークを経由して外部ディスク11のHDに追加することが可能となっている。
外部メモリ11に保存されているアプリケーション401はRAM2にロードされて実行されるが、このアプリケーション401からプリンタ1500に対して印刷を行う際には、同様にRAM2にロードされ実行可能となっているグラフィックエンジン402を利用して出力(描画)を行う。グラフィックエンジン402は、印刷装置ごとに用意されたプリンタドライバ403を、外部メモリ11からRAM2にロードし、アプリケーション210の出力をプリンタドライバ403を用いてプリンタの制御コマンドに変換する。変換されたプリンタ制御コマンドはOSによってRAM2にロードされたシステムスプーラ404を経てインターフェース21経由でプリンタ1500へ出力される仕組みとなっている。
図5は、アプリケーション504と、各プリンタ用のプリンタドライバ501,502との関係をあらわした模式図である。
アプリケーション504はオペレーティングシステム503が提供する各種関数(Application Program Interface、通称API)をコールして処理を行う。
オペレーティングシステム503は印刷に関わる処理を選択されているプリンタのプリンタドライバ501,502が提供する関数(Device Driver Interface、通称DDI)をコールして処理を行う。
このようにしてアプリケーションから選択されたプリンタへの印刷が可能となっている。
このときプリンタドライバ501,502とオペレーティングシステム503、及び、アプリケーション504間でプリンタの印刷設定データがやり取りされる。これを表したのが図6である。
図6は、プリントチケット対応アプリケーション601や当発明のポイントであるドライバ拡張インターフェイスに対応したアプリケーション604から印刷設定する場合のプリンタドライバとの関係をあらわした模式図である。602はプリントチケット・プリントケーパビリティAPIを示している。すなわちOSの一部である。このAPIとほぼ同等の機能を持つDDIは、プリンタドライバ603にも用意されている。つまり、アプリケーション601が、PTGetPrintCapabilitiesのようなAPIを呼び出すと、API層である602を通って、ドライバ本体603に入力データであるプリントチケットが渡されることになる。ドライバ本体603は、渡されたプリントチケットに応じたプリントケーパビリティを生成し、API層である602を通って、アプリケーション601に生成したプリントケーパビリティを返す。これが従来例である。ドライバ拡張インターフェイスに対応したアプリケーション604が、図7で示すようなプリンタドライバ独自の拡張インターフェイスを呼び出すと、プリンタドライバの拡張部である605に直接入力データであるプリントチケット等が渡されることになる。プリンタドライバの拡張部である605は、渡されたプリントチケット等の情報に応じたプリントケーパビリティを生成し、直接アプリケーション604に生成したプリントケーパビリティを返す。
図7は、プリンタドライバが公開する独自のインターフェースの一部である。
図7はC言語の関数として定義している。OSが定義するプリンタドライバインターフェース関数PTGetPrintCapabilitiesとは名前が異なりかつ第二引数LPCWSTR pScopeが追加されている。他のところの関数仕様はほぼ同等なので、ここでは説明を省略する。なお、PTGetPrintCapabilities関数の詳細については、http://msdn2.microsoft.com/en−us/library/ms536107.aspxにて確認できる。
図7はC言語の関数として定義している。OSが定義するプリンタドライバインターフェース関数PTGetPrintCapabilitiesとは名前が異なりかつ第二引数LPCWSTR pScopeが追加されている。他のところの関数仕様はほぼ同等なので、ここでは説明を省略する。なお、PTGetPrintCapabilities関数の詳細については、http://msdn2.microsoft.com/en−us/library/ms536107.aspxにて確認できる。
図8は、図7の関数の処理フローを示している。ステップ801で第二引数からスコープ文字列を取得する。ステップ802で第三引数からプリントチケットを取得する。ステップ803はプリンタドライバが保持するデバイスのモデル別情報にアクセスする。一般に、803でアクセスするデータはローカルファイルであることが多い。ステップ804でpScopeがNULLだったどうかの判定をする。NULLの場合は、従来のPTGetPrintCapabilitiesと全く同じ動作する。すなわち、続くステップ805でフルセットのプリントケーパビリティを生成し、ステップ806で第四引数としてプリントケーパビリティを返却する。ステップ804でpScopeがNULL以外の場合は、ステップ807へ進む。ステップ807では、pScopeが指す文字列が“PageImageableSize”だったどうかの判定をする。“PageImageableSize”だった場合、PageImageableSizeプロパティのみ保持する小さなプリントケーパビリティを生成する。そして、ステップ806へ進む。ステップ807でpScopeが指す文字列が“PageImageableSize”以外の場合は、ステップ809にてエラー処理をする。
図9は、図8のステップ808で生成したプリントケーパビリティの実例を示す。
なお、本実施形態においては、新インターフェース対応アプリ604が直接プリンタドライバのプリントチケット入出力部605を呼びだすことによって実現している。ここでは説明を省略するが、OS層で602相当のインターフェースが用意されていて、アプリケーションはOS層を呼び出し、プリンタドライバは、そのインターフェースを実装する、といった構成であってもかまわない。
150 プリンタ
300 ホストコンピュータ
401 アプリケーション
403 プリンタドライバ
300 ホストコンピュータ
401 アプリケーション
403 プリンタドライバ
Claims (7)
- プリントチケット、及びプリントケーパビリティのスコープを入力する入力手段と、
前記入力手段により入力されたプリントチケットとプリントケーパビリティのスコープとに基づきプリントケーパビリティを生成する手段と、
前記生成したプリントケーパビリティをアプリケーションに返却する返却手段とを有することを特徴とする情報処理装置。 - 前記入力手段は、アプリケーションから直接入力するインターフェースを介してプリントチケット、及びプリントケーパビリティのスコープを入力することを特徴とする請求項1記載の情報処理装置。
- プリントチケット、及びプリントケーパビリティのスコープを入力する入力ステップと、
前記入力手段により入力されたプリントチケットとプリントケーパビリティのスコープとに基づきプリントケーパビリティを生成するステップと、
前記生成したプリントケーパビリティをアプリケーションに返却する返却ステップとを有することを特徴とする情報処理装置。 - 前記入力ステップは、アプリケーションから直接入力するインターフェースを介してプリントチケット、及びプリントケーパビリティのスコープを入力することを特徴とする請求項3記載の情報処理方法。
- プリントチケット、及びプリントケーパビリティのスコープを入力する入力ステップと、
前記入力手段により入力されたプリントチケットとプリントケーパビリティのスコープとに基づきプリントケーパビリティを生成するステップと、
前記生成したプリントケーパビリティをアプリケーションに返却する返却ステップとをコンピュータに実行させるためのプログラム。 - 前記入力ステップは、アプリケーションから直接入力するインターフェースを介してプリントチケット、及びプリントケーパビリティのスコープを入力することを特徴とする請求項5記載のプログラム。
- 請求項5乃至6いずれかに記載のプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007326056A JP2009146362A (ja) | 2007-12-18 | 2007-12-18 | 情報処理装置、情報処理方法、プログラム、及び記憶媒体 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007326056A JP2009146362A (ja) | 2007-12-18 | 2007-12-18 | 情報処理装置、情報処理方法、プログラム、及び記憶媒体 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2009146362A true JP2009146362A (ja) | 2009-07-02 |
Family
ID=40916861
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2007326056A Pending JP2009146362A (ja) | 2007-12-18 | 2007-12-18 | 情報処理装置、情報処理方法、プログラム、及び記憶媒体 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2009146362A (ja) |
-
2007
- 2007-12-18 JP JP2007326056A patent/JP2009146362A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4785579B2 (ja) | 情報処理装置および情報処理装置における印刷設定反映方法とプログラム | |
| CN101395569B (zh) | 用于改变信息处理设备中的打印机驱动程序的方法 | |
| EP1835401B1 (en) | Information processing apparatus and method thereof | |
| US8537438B2 (en) | Information processing apparatus in which a plurality of types of print drivers and plurality of graphics units run, control method therefor, and program | |
| KR101101101B1 (ko) | 정보 처리 장치 및 정보 처리 방법 | |
| US8498002B2 (en) | Information processing apparatus capable of customizing device driver, information processing method, and control program | |
| KR100838871B1 (ko) | 정보 처리 장치, 정보 처리 방법, 및 기억 매체 | |
| US20060221361A1 (en) | Print control apparatus, print control method, and program for implementing the method | |
| US9223521B2 (en) | Information processing apparatus, recording medium, and control method | |
| JP6833419B2 (ja) | 情報処理装置、方法およびプログラム | |
| JP3634680B2 (ja) | 情報処理装置及びその制御方法及び記憶媒体 | |
| JP2014071573A (ja) | 印刷制御装置、印刷制御方法、及び、プログラム | |
| JP2009003712A (ja) | 印刷システム及び制御方法 | |
| JP2009146362A (ja) | 情報処理装置、情報処理方法、プログラム、及び記憶媒体 | |
| JP2006215725A (ja) | 印刷システムおよびプリンタ管理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム | |
| JP2008217433A (ja) | 情報処理装置、情報処理方法、プログラム、及び記憶媒体 | |
| JP2006277237A (ja) | ホスト装置 | |
| JP2000218901A (ja) | 情報処理装置、情報処理方法及びコンピュータ読み取り可能なプログラムが格納された記憶媒体 | |
| JP2007066063A (ja) | 印刷制御方法及び装置並びにプログラム | |
| JP2006338166A (ja) | 情報処理装置及びその制御方法、プログラム | |
| JP2006228103A (ja) | 情報処理装置 | |
| JP2005165741A (ja) | 情報処理装置、印刷システム、情報処理装置の処理データ生成方法、及び制御プログラム | |
| JP2012123535A (ja) | 情報処理装置、その制御方法及びプログラム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20100201 |
|
| RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20100630 |