JP2012185806A - 印刷装置用のユーザインタフェースを更新するシステム及び方法 - Google Patents

印刷装置用のユーザインタフェースを更新するシステム及び方法 Download PDF

Info

Publication number
JP2012185806A
JP2012185806A JP2012009407A JP2012009407A JP2012185806A JP 2012185806 A JP2012185806 A JP 2012185806A JP 2012009407 A JP2012009407 A JP 2012009407A JP 2012009407 A JP2012009407 A JP 2012009407A JP 2012185806 A JP2012185806 A JP 2012185806A
Authority
JP
Japan
Prior art keywords
print
printing
function
data
generating
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
Application number
JP2012009407A
Other languages
English (en)
Other versions
JP2012185806A5 (ja
Inventor
Thomas Armstrong Charles
トーマス アームストロング チャールズ
Steven Young Chihsin
スティーブン ヤング チーシン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US13/010,460 external-priority patent/US20120188572A1/en
Priority claimed from US13/010,531 external-priority patent/US8994985B2/en
Priority claimed from US13/344,466 external-priority patent/US9141314B2/en
Priority claimed from US13/346,493 external-priority patent/US20120188575A1/en
Application filed by Canon Inc filed Critical Canon Inc
Publication of JP2012185806A publication Critical patent/JP2012185806A/ja
Publication of JP2012185806A5 publication Critical patent/JP2012185806A5/ja
Pending legal-status Critical Current

Links

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】印刷装置に対する印刷機能を示すユーザインタフェースを更新する。
【解決手段】第1の印刷機能データから第1の印刷機能を読み込む工程と、第1の印刷機能に関連付けられた複数のインタフェース要素を含むユーザインタフェースを生成する工程と、第2の印刷機能データから第1の印刷機能とは異なる印刷機能を含む第2の印刷機能を読み込む工程と、第1の印刷機能と第2の印刷機能とに基づいて、第1の印刷機能とは異なる印刷機能を含む、変更された印刷機能を示す差分印刷機能データを生成する工程と、第1の印刷機能とは異なる印刷機能を含む、差分印刷機能データによって示された変更された印刷機能に関連付けられたインタフェース要素を更新する工程とを有し、少なくとも1つのインタフェース要素は、変更された印刷機能に依存しない。
【選択図】図6

Description

本発明は、一般に、印刷装置用のユーザインタフェースを更新することに関する。
印刷処理の分野において、複数の独立系ハードウェアベンダ(本明細書において「IHV」とも呼ばれる)のプリンタの専用設定をサポートしつつ、ユーザからの所望の印刷意図を受信する整合性のとれたユーザインタフェースを提供することは、独立系ソフトウェアベンダ(本明細書において「ISV」とも呼ばれる)にとって困難なタスクである。Windows(登録商標)印刷サブシステムと、IHVのプラグインドライバと、ISVのアプリケーションとの間の通信の難しさは、その通信が、指標ベースのバイナリDevMode及びバイナリDevCapsを介して実行されることがその一因となる。
Microsoft(登録商標)は、印刷サブシステムと外部のアプリケーションとの間の通信に関連した問題に対処するために新しいXMLベースの印刷スキーマを導入した。印刷スキーマ技術は、プリンタ機能、入出力装置構成及びジョブフォーマッティング設定を示すためにXMLベースのパブリックスキーマを使用する。アプリケーションは、印刷設定を変更するように印刷ダイアログを提供するためにXMLベースのスキーマを使用できる。ユーザが設定に対して選択されたオプションを変更する場合は常に、変更された設定及び各オプションは、差分(本明細書において「Δ」とも呼ばれる)PrintTicketドキュメントに追加され、且つ指定された基本PrintTicketとマージ及び確認され、結果PrintTicketを生成する。PrintTicketは、対応する結果PrintCapabilitiesドキュメントを取得するために使用される。結果PrintCapabilitiesドキュメントは、ユーザインタフェース(本明細書において「UI」とも呼ばれる)をリポピュレート(re-populate)するために使用される。
一実施形態において、印刷装置に対する印刷機能を示すユーザインタフェースを更新するための方法であって、第1の印刷機能データから1または複数の第1の印刷機能を読み込む工程と、前記1または複数の第1の印刷機能に関連付けられた複数のインタフェース要素を含むユーザインタフェースを生成する工程と、第2の印刷機能データから前記1または複数の第1の印刷機能とは異なる少なくとも1つの印刷機能を含む1または複数の第2の印刷機能を読み込む工程と、前記1または複数の第1の印刷機能と前記1または複数の第2の印刷機能とに基づいて、前記1または複数の第1の印刷機能とは異なる少なくとも1つの印刷機能を含む、変更された印刷機能を示す差分印刷機能データを生成する工程と、前記1または複数の第1の印刷機能とは異なる少なくとも1つの印刷機能を含む、前記差分印刷機能データによって示された前記変更された印刷機能に関連付けられた前記1または複数のインタフェース要素を更新する工程と、を有し、少なくとも1つのインタフェース要素は、前記変更された印刷機能に依存していないことを特徴とする。
一実施形態において、印刷装置に対する印刷機能を示すユーザインタフェースを更新する装置であって、前記装置は、コンピュータ可読記憶デバイスと、印刷装置と通信するための出力インタフェースと、表示装置と通信するための表示インタフェースと、1または複数のモジュールを実行するための1または複数のプロセッサと、印刷機能モジュールと、を有し、前記印刷機能モジュールは、第1の印刷機能データから関連付けられた印刷装置の1または複数の印刷機能を読み込む手段と、複数のインタフェース要素を含み、前記複数のインタフェース要素のうちの1または複数のインタフェース要素が前記1または複数の第1の印刷機能に関連付けられているユーザインタフェースを生成する手段と、第2の印刷機能データから前記1または複数の第1の印刷機能とは異なる少なくとも1つの印刷機能を含む1または複数の第2の印刷機能を読み込む手段と、前記第1の印刷機能と前記第2の印刷機能とに基づいて、前記1または複数の第1の印刷機能とは異なる少なくとも1つの印刷機能を含む、変更された印刷機能を示す差分印刷機能データを生成する手段と、前記1または複数の第1の印刷機能とは異なる前記少なくとも1つの印刷機能を含む、前記差分印刷機能データによって示された前記変更された印刷機能に関連付けられた前記1または複数のインタフェース要素を更新する手段と、を有する。
一実施形態において、コンピュータ可読記憶媒体は、1または複数のコンピュータデバイスによって実行され、前記1または複数のコンピュータデバイスを、基本印刷機能データから基本印刷機能を読み込む手段、前記基本印刷機能に設定されたそれぞれの印刷機能に関連付けられた1または複数のフィールドを含む印刷ダイアログインタフェースを生成する手段、更新された印刷機能データから1または複数の更新された印刷機能を読み込む手段、前記基本印刷機能と前記更新された印刷機能とに基づいて、差異となる印刷機能を判定する手段、前記差異となる印刷機能に関連付けられた前記印刷ダイアログインタフェース内の1または複数のフィールドを更新する手段と、前記異なる印刷機能に関連付けられていない前記印刷ダイアログインタフェース内の1または複数のフィールドを維持する手段として機能させるための命令を格納している。
一実施形態において、印刷装置の印刷機能を更新するための方法であって、初期印刷チケットマークアップ言語データを受信する工程と、前記初期印刷チケットマークアップ言語データに基づいて、1または複数の印刷デバイス機能を含む初期印刷装置機能データを生成する工程と、第2の印刷チケットマークアップ言語データを受信する工程と、前記第2の印刷チケットマークアップ言語データに基づいて、1または複数の更新された印刷装置機能を含む更新された印刷装置機能データを生成する工程と、前記初期印刷装置機能データと前記更新された印刷装置機能データとに基づいて、前記1または複数の初期印刷装置機能と前記1または複数の更新された印刷装置機能との間の差異を示す1または複数の変更された印刷装置機能を含む1または複数の変更された印刷装置機能マークアップ言語データを生成する工程とを有する。
一実施形態において、プリンタに対する印刷機能への変更を判定するための装置であって、コンピュータ可読記憶装置と、プロセッサと、印刷デバイスドライバと、を有し、
前記印刷デバイスドライバは、第1の印刷設定マークアップ言語ファイル内の1または複数の第1の印刷設定を読み込む手段と、前記1または複数の第1印刷設定に基づいて、1または複数の第1の印刷機能を示す第1の印刷機能データを生成する手段と、前記1または複数の第1の印刷設定とは異なる少なくとも1の印刷設定を含む、第2の印刷設定マークアップ言語ファイル内の1または複数の第2の印刷設定を読み込む手段と、前記1または複数の第2の印刷設定と前記1または複数の第1の印刷設定とに基づいて、前記1または複数の第1の印刷機能とは異なる印刷機能を含む1または複数の結果印刷機能を示す結果印刷機能データを生成する手段と、前記1または複数の第1の印刷機能とは異なる前記印刷機能を含む差分印刷機能を示す差分印刷機能マークアップ言語データを生成する手段とを有する。
一実施形態において、1または複数のコンピュータ可読記憶媒体は、1または複数のコンピュータデバイスによって実行され、前記1または複数のコンピュータデバイスを、入力印刷データが入力印刷機能と入力印刷設定とを含み、前記入力印刷設定に基づいて結果印刷機能を生成する手段、前記結果印刷機能と前記入力印刷機能とに基づいて、変更された印刷機能を生成する手段、前記変更された印刷機能と前記変更された印刷機能の1または複数の指標とを含む印刷機能データを生成する手段として機能させるための命令を格納している。
本明細書において説明する装置、システム及び方法により、印刷装置用のユーザインタフェースをより迅速に更新できる。変更された印刷機能に対応するユーザインタフェースの部分が変更され、ユーザインタフェースの残りの部分が維持されるため、印刷機能を変更する際にユーザインタフェース全体を再描画する必要はない。
図1は、ユーザインタフェースを更新するシステムを示すブロック図である。 図2は、印刷ユーザインタフェース装置の一実施形態を示すブロック図である。 図3は、ユーザインタフェースを更新する方法の一実施形態を示すフローチャートである。 図4は、ユーザインタフェースを更新する方法の一実施形態を示すフローチャートである。 図5は、差分印刷機能を生成する方法の一実施形態を示すフローチャートである。 図6は、ユーザインタフェースを更新するシステム及びシステムにおけるデータの流れの一実施形態を示すブロック図である。 図7は、ユーザインタフェースの例示的な一実施形態を示す図である。 図8は、ユーザインタフェースの例示的な一実施形態を示す図である。 図9は、差分印刷機能データの例示的な一実施形態を示す図である。 図10は、ユーザインタフェースの例示的な一実施形態を示す図である。 図11は、ユーザインタフェースの例示的な一実施形態を示す図である。 図12は、差分印刷機能データの例示的な一実施形態を示す図である。 図13は、印刷装置の機能の変更を判定するシステムを示すブロック図である。 図14は、印刷機能装置の一実施形態を示すブロック図である。 図15は、ユーザインタフェース上で印刷装置の機能を更新する方法の一実施形態を示すフローチャートである。 図16は、印刷装置の機能の1または複数の変更を示すデータを生成する方法の一実施形態を示すフローチャートである。 図17は、印刷装置の機能の1または複数の変更を示すデータを生成する方法の一実施形態を示すフローチャートである。 図18Aは、印刷装置の機能の変更を判定する方法の実施形態を示すフローチャートである。 図18Bは、印刷装置の機能の変更を判定する方法の実施形態を示すフローチャートである。 図18Cは、印刷装置の機能の変更を判定する方法の実施形態を示すフローチャートである。 図19Aは、印刷装置の機能の変更を判定する方法の実施形態を示すフローチャートである。 図19Bは、印刷装置の機能の変更を判定する方法の実施形態を示すフローチャートである。 図20は、印刷装置の機能に関する更新を生成するシステム及びシステムにおけるデータの流れの一実施形態を示すフローチャートである。 図21は、ユーザインタフェースの例示的な一実施形態を示す図である。 図22は、ユーザインタフェースの例示的な一実施形態を示す図である。 図23は、差分印刷機能データの例示的な一実施形態を示す図である。 図24は、ユーザインタフェースの例示的な一実施形態を示す図である。 図25は、ユーザインタフェースの例示的な一実施形態を示す図である。 図26は、差分印刷機能データの例示的な一実施形態を示す図である。 図27は、差分印刷機能データを含む印刷設定データの例示的な一実施形態を示す図である。
以下の説明はある特定の例示的な実施形態に関するものであるが、代替物、均等物及び変形が特許請求の範囲の範囲内に含まれる。更に例示的な実施形態はいくつかの新規な特徴を含んでもよく、特定の機能は、本明細書において説明されるシステム及び方法を実施するために必須でなくてもよい。
図1は、ユーザインタフェースを更新するシステムの一実施形態を示すブロック図である。システムは、印刷ユーザインタフェース装置100と、印刷装置180と、表示装置190とを備える。システムの装置は、有線チャネル又は無線チャネルを介して通信してもよい。表示装置190は画像をレンダリングできるディスプレイを有し、印刷装置180は、データを受信し且つ受信したデータに基づいて1または複数の印刷用紙(例えば、用紙、ボール紙、プラスチック)上に画像(例えば、テキスト、グラフィックス、写真)を印刷するように構成される。印刷装置180は、1または複数の設定に基づいて印刷用紙上で画像を操作し且つ印刷してもよい。
ユーザと印刷装置180とは、印刷ユーザインタフェース装置100を介して通信する。印刷装置180により送出された情報を含む情報は、表示装置190を介してユーザに提示される。印刷ユーザインタフェース装置100は、ユーザが提供した情報(例えば、ユーザ選択)を受信し、その情報を印刷装置180に中継する。
印刷ユーザインタフェース装置100は、印刷ダイアログアプリケーション140と、プリンタドライバ150とを備える。印刷ダイアログアプリケーション140は、情報をユーザに提示し且つユーザから情報を受信するユーザインタフェースを生成する。ユーザインタフェースは、プリンタ設定及びプリンタ機能を示し、且つ各設定に対するオプションの選択等のユーザ選択を受信するグラフィカルインタフェースの形式で情報を提示してもよい。情報は、ユーザが情報を閲覧し、且つ/あるいは1または複数のオプションを選択できるようにする他のあらゆる方法で更に提示されてもよい。表示装置190は、ユーザインタフェースをユーザに提示する。
プリンタドライバ150は、情報を受信し、要求された動作を実行し、要求された情報(もしあれば)を返す。例えば印刷ダイアログアプリケーション140は、関数呼出しを介してプリンタドライバ150の機能性を呼び出し、関数呼出しのパラメータの形式で情報をプリンタドライバ150に渡し、プリンタドライバ150により返された情報を受信する。印刷ダイアログアプリケーション140とプリンタドライバ150との対話は、アプリケーションプログラミングインタフェースに準拠してもよい。
プリンタドライバ150は、受信した情報を印刷装置180により読み取り可能な形式に変換してもよい。例えばプリンタドライバ150は、ソフトウェアアプリケーションから印刷ジョブを受信し、印刷装置180のために印刷ジョブをPDLデータに変換し、且つPDLデータを印刷装置180に送信してもよい。プリンタドライバ150は、印刷装置の状況(例えば、用紙レベル、インクレベル、トナーレベル、エラー、選択された用紙サイズ、色)に関して印刷装置180と更に通信する。
更にプリンタドライバ150は、印刷装置180の設定の構成を調整し、設定の機能を追跡する。設定は、用紙サイズ、フチなし印刷、両面印刷、用紙種類、解像度、色、向き、部数、部単位で印刷、用紙品質、印刷品質及び余白を含むが、それらに限定されない。オプションは、設定に対する構成(例えば、グレースケールは色に対するオプションであり、文字サイズは用紙サイズに対するオプションであり、横方向は向きに対するオプションである)を規定し、設定に対して使用可能なオプションのうちのいくつか又は全ての集合は、各設定の機能である。
プリンタドライバ150は、印刷装置180の設定と、機能と、選択された設定オプションとの間の関係で構成されてもよい。従って、プリンタドライバ150は、1または複数の設定の選択されたオプションに基づいて使用可能な印刷機能又は使用不可能な印刷機能を判定でき、1または複数の他の設定の選択されたオプションに基づいて制限される設定オプションを判定できる。
例えばプリンタドライバ150は、種々の設定の優先順位で構成されてもよく、設定に対して選択されたオプションに従って印刷機能を調整してもよい。従って、より低い優先順位設定の選択されたオプションが変更される場合、プリンタドライバ150は、より高い優先順位設定の機能を変更しない。しかし、より高い優先順位設定の選択されたオプションが変更される場合、プリンタドライバ150は、必要に応じてより低い優先順位設定の機能を調整する。
上記の例に従って、プリンタドライバは、用紙種類設定又はフチなし印刷設定より低い優先順位を用紙サイズ設定に割り当てるように構成されてもよい。従って、用紙サイズ設定に対して選択されたオプションが変更される場合、用紙種類設定又はフチなし印刷設定に対する機能は、より高い優先順位であるために変更されない。しかし、用紙種類設定又はフチなし印刷設定に対して選択されたオプションが変更される場合、用紙サイズ(及び他のより低い優先順位設定)に対する機能は、必要に応じて変更される。
図2は、表示装置290及び印刷装置280と通信している印刷ユーザインタフェース装置200の一実施形態を示すブロック図である。印刷ユーザインタフェース装置200は、ネットワーク270を介して印刷装置280と通信し、ネットワーク270を介して表示装置290等の1または複数の他の装置とも更に通信してもよい。ネットワーク270は、インターネット、WAN及びLANを含む1または複数のネットワークのあらゆる組合せ、並びに有線ネットワーク又は無線ネットワークのあらゆる組合せを含んでもよい。
印刷ユーザインタフェース装置200は、従来のマイクロプロセッサ又はカスタマイズされたマイクロプロセッサであってもよい1または複数のプロセッサ201(本明細書において「CPU201」とも呼ばれる)を備える。CPU201は、コンピュータ可読命令を読み出し且つ実行するように構成され、印刷ユーザインタフェース装置200の他の構成要素を指揮及び/又は制御してもよい。
印刷ユーザインタフェース装置200は、キーボード、表示装置、マウス、印刷装置、タッチスクリーン、ライトペン、光記憶装置、スキャナ、マイク、カメラ等の他の装置に通信インタフェースを提供するI/Oインタフェース203を更に備える。印刷ユーザインタフェース装置200は、ROM、RAM及びフラッシュメモリ等の揮発性又は不揮発性であってもよいメモリ205を更に備える。印刷ユーザインタフェース装置200は、印刷ユーザインタフェース装置200がネットワーク270と通信できるようにするネットワークインタフェース207を更に備える。記憶装置209は、データ又はモジュールを格納し、ハードドライブ、光記憶装置、ディスケット及び/又は固体ドライブ等を備えてもよい。印刷ユーザインタフェース装置200の構成要素は、バスを介して接続される。印刷ユーザインタフェース装置200は、ハードウェア、処理、割込み、メモリ及び/又は印刷ユーザインタフェース装置200のファイルシステムを管理するオペレーティングシステムを備える。
印刷ユーザインタフェース装置200は、ユーザインタフェースモジュール210と、プリンタドライバ220と、ルックアップテーブル225とを更に備える。モジュールは、印刷ユーザインタフェース装置200がある特定の動作を実行するように印刷ユーザインタフェース装置200により実行されてもよいが、説明を簡単にするために動作を実行するものとして説明されてもよい。モジュールは、論理命令及び/又はコンピュータ可読命令を含んでもよく、ソフトウェア、ファームウェア及び/又はハードウェアで実現されてもよい。他の実施形態において、印刷ユーザインタフェース装置200は多少のモジュールを備えてもよく、モジュールは、より少ないモジュールに結合されてもよく、あるいはより多くのモジュールに分割されてもよい。
ユーザインタフェースモジュール210は、実行される場合に印刷ユーザインタフェース装置200により印刷装置設定及び印刷装置機能等の印刷情報を含むユーザインタフェースを生成する命令を含む。ユーザインタフェースは、テキストとグラフィックスとのあらゆる組合せを含んでもよく、例えばテキストフィールドを介して、あるいはインタフェース上の制御のユーザ選択(例えば、メニュー、ボタン、チェックボックス)により、ユーザからデータを受信してもよい。上述したように、プリンタドライバ220は、印刷装置(例えば、印刷装置280)と通信する。上述したように、ユーザインタフェースモジュール210は、印刷ダイアログアプリケーションを実現してもよい。図2に示す実施形態において、印刷ユーザインタフェース装置200はルックアップテーブル225を更に備える。ルックアップテーブル225は印刷装置設定に関する情報を含み、印刷ユーザインタフェース装置200は、印刷装置280の1または複数の設定の選択されたオプションの変更に応答して1または複数の設定の機能の変更を判定するために、ルックアップテーブルを使用してもよい。
例えばルックアップテーブル225は、選択された印刷オプションを印刷機能にマッピング(例えば、PrintTicketをPrintCapabilitiesにマッピング)してもよい。ルックアップテーブル225は、設定毎(例えば、用紙サイズ、用紙種類、色、両面印刷、ステープリング、フォント)及び機能毎に列を含み、設定オプションの順列毎に行を含んでもよい。印刷装置が各行に示された設定オプションに設定される場合、ルックアップテーブルの行は、印刷装置に対する印刷機能を示してもよい。他の実施形態において、印刷ユーザインタフェース装置200は、論理、データツリー等を含む他の手段により、印刷機能の変更を判定する。
図3は、ユーザインタフェースを更新する方法の一実施形態を示すフローチャートである。本明細書において説明されるこの方法及び他の方法の他の実施形態は、ブロックを省略、追加及び結合してもよく、ブロックの順序を変更してもよく、且つ/あるいはブロックを別個のブロックに分割してもよい。また、印刷ユーザインタフェース装置200の構成要素(例えば、ユーザインタフェースモジュール210、プリンタドライバ220、ルックアップテーブル225)は、図3に示される方法及び本明細書において説明される他の方法を実現してもよい。
ブロック300から開始し、基本印刷機能は、例えばプリンタドライバから取得される。基本印刷機能は、基本印刷設定オプションと関連付けられてもよい。更に基本印刷機能は、例えば1または複数の基本印刷設定オプションを規定する印刷設定データ(例えば、オブジェクト、ファイル、ポインタ、データ構造)をプリンタドライバに提供することに応答して、プリンタドライバから受信されてもよい。印刷設定データは、マークアップ言語データの形式でプリンタドライバに提供されてもよく、いくつかの実施形態において、データはPrintTicketである。基本印刷機能は、マークアップ言語データの形式でドライバから取得されてもよく、PrintCapabilitiesの形式であってもよい。
次にブロック310において、ユーザインタフェースは、基本印刷機能に基づいて生成され、表示される場合に基本印刷機能のうちの1または複数をユーザに提示する。1または複数の印刷設定に対して選択されたオプションが更に表示されてもよい。方法はブロック320に進み、例えば印刷設定に対して選択されたオプションのうちの1または複数が変更された後、更新された印刷機能を取得する。例えば更新された印刷機能は、例えばプリンタドライバを呼び出し、且つ印刷設定に対して更新された選択されたオプションを含むプリンタドライバデータを渡すことに応答して、プリンタドライバから受信されてもよい。一実施形態において、印刷設定に対して更新された選択されたオプションを含むデータは、PrintTicket(例えば、差分PrintTicket)である。プリンタドライバは、例えば更新された印刷機能をタグ付けするか又は更新された印刷機能をデータの所定の場所に格納することにより、更新された印刷機能のみを含み且つ/あるいは更新された印刷機能を識別するデータを返してもよい。
更新された印刷機能を取得すると、ブロック330において、例えば基本印刷機能を更新された印刷機能と比較することにより、基本印刷機能と更新された印刷機能との差異を示すΔ印刷機能を生成する。特定の更新された印刷設定オプションに対するΔ印刷機能(例えば、ΔPrintTicket)は、ルックアップテーブル、ハッシュテーブル、ドキュメントオブジェクトモデル、文法、DevCaps構造体、DevMode構造体等を使用して生成されてもよい。そのような生成は、構文解析、テキスト比較、バイナリ比較、ハッシング等を含んでもよい。
最後にブロック340において、Δ印刷機能と関連付けられるユーザインタフェースの1または複数の部分が更新され、ユーザインタフェースの他の部分が維持されてもよい。従って、印刷機能の変更に応答して、ユーザインタフェースの一部のみ、特に変更された印刷機能を表示するユーザインタフェースの部分が更新されてもよい。また、印刷機能に変更がない場合、ユーザインタフェースは更新されなくてもよい。
図4は、ユーザインタフェースを更新する方法の一実施形態を示すフローチャートである。ブロック400から開始し、基本印刷設定データ480が取得される。印刷設定データは、テキストベースのデータを含んでもよい。テキストベースのデータは、マークアップ言語データ(例えば、XML、HTML、SGML、XHTML)を含む。XMLを含む印刷設定データの一例はPrintTicketである。更に印刷機能データは、テキストベースのデータを含んでもよい。XMLを含む印刷機能データの一例は、PrintCapabilitiesドキュメントである。
例示的な本実施形態において、基本印刷設定データ480は基本PrintTicket(「基本PT480」)である。また、本実施形態において、例として、他の印刷設定データはPrintTicketsであり且つ他の印刷設定データはPrintCapabilitiesであるが、これに限定されない。この方法の他の実施形態は、PrintTickets及びPrintCapabilitiesを含まなくてもよい。基本PT480は、基本PrintCapabilities(「基本PC490」)を取得するために使用される。例えば、基本PT480はプリンタドライバに渡されてもよく、プリンタドライバは基本PC490を返してもよい。次にブロック420において、初期ユーザインタフェースが生成される。初期ユーザインタフェースは、印刷設定のうちの1または複数と、基本PT480におけるそれぞれの選択されたオプションと、基本PC490におけるそれぞれの基本印刷機能のうちの1または複数とを含む。ユーザは、ユーザインタフェースを介して印刷設定のうちの1または複数の選択されたオプションを変更してもよく、選択されたオプションは、差分PrintTicket483(「ΔPT483」)に追加されてもよい。
ブロック430に進み、基本PT480は、ΔPT483とマージされ且つ検証され、結果PrintTicket(「結果PT485」)を生成する。従って、結果PT485は、変更された設定を基本設定と統合する。次にブロック440において、結果PT485は、結果PrintCapabilities487(「結果PC487」)を取得するために使用される。結果PC487は使用可能な印刷機能を示し、関連付けられた印刷装置は、結果PT485において選択されたオプションに従って構成される。
ブロック450に進み、差分印刷機能489(「ΔPC489」)は、結果PC487及び基本PC490に基づいて生成される。結果PC487は、基本PC490と比較され、印刷機能の変更を判定してもよく、変更された機能はΔPC489に追加される。ΔPC489は、印刷装置及びΔPT483において印刷設定に対して選択されたオプションの変更に少なくとも部分的に依存して、変更を示さなくてもよく、あるいは1つ又は複数の変更を示してもよい。ブロック460において、ΔPC489において変更された印刷機能と関連付けられるユーザインタフェースの部分がそれに応じて更新される。変更された印刷機能と関連付けられないユーザインタフェースの部分がそれらの現在の状態に維持されてもよいため、ユーザインタフェースの不要な変更を回避し、これにより時間及び計算リソースを節約できる。
図5は、差分印刷機能を生成する方法の一実施形態を示すフローチャートである。本実施形態はPrintTickets及びPrintCapabilitiesの使用を説明するが、方法の他の実施形態は、差分印刷機能を生成するためにPrintTickets及びPrintCapabilitiesを使用しなくてもよい。ブロック500において、基本PCデータが構文解析される。例えばXMLパーサ(例えば、SAXパーサ)は、基本PCを構文解析し且つドキュメントオブジェクトモデル(本明細書において「DOM」とも呼ばれる)を生成するために使用されてもよい。次にブロック510において、基本PCルックアップテーブルが生成される。基本PCルックアップテーブルは、基本PCに含まれた印刷機能のうちの1または複数を含んでもよい。一実施形態において、ルックアップテーブルエントリは、マークアップ要素名と、マークアップ要素名のXML文字列に対するポインタと、ドキュメントオブジェクトモデルからの文字列の長さとを含む。ルックアップテーブルの他の実施形態は、更なるフィールド、より少ないフィールド及び/又は種々のフィールドを含んでもよい。
ブロック520に進み、結果PCデータが構文解析される。ブロック530において、ΔPCが生成される。ΔPCを生成するために、一実施形態において、パーサから各マークアップ要素の開始指標を受信すると、マークアップ要素名及びマークアップ要素に対するストリームポインタが検索され、スタック上にプッシュされる。最後のマークアップ要素指標が受信される際、マークアップ要素名及びストリームポインタがスタックからポップされ、対応するノード(もしあれば)が基本PCルックアップテーブルで発見される。次に、基本PC要素ノードのXML文字列は、結果PC要素ノードのXML文字列と比較される。差異が見つかる場合、要素ノードがΔPC DOMに追加され、エントリは基本PCルックアップテーブルから削除される。差異が見つからない場合、エントリは基本PCルックアップテーブルから削除され、マークアップ要素ノードはΔPC DOMに追加されない。これは最後のドキュメント指標に到達するまで続き、ΔPCはΔPC DOMを使用して生成される。
また、ブロック540において、結果PCルックアップテーブルが生成される。ブロック540は、パーサから各イベントを受信すると結果PC DOMを構築し、且つ結果PC DOMを示すルックアップテーブルを構築することにより実行される。ブロック530及び540は、結果PCの単一の構文解析中に実行されてもよいため、ほぼ同時に実行されてもよい。最後にブロック550において、結果PCルックアップテーブルは、基本PCルックアップテーブルとして識別される。従って、別の結果PCが受信される場合、フローはブロック520に戻り、前の反復から結果印刷機能は、次の反復のためのΔPCを生成する際に基本印刷機能として使用される。
図6は、ユーザインタフェースを更新するシステム及びシステムにおけるデータの流れの一実施形態を示すブロック図である。最初に、段階1において、印刷ダイアログアプリケーション600は、基本PT603をプリンタドライバ650に渡す。次に段階2において、プリンタドライバ650は、基本PC605を生成し、それを再度印刷ダイアログアプリケーション600に返す。その後、印刷ダイアログアプリケーション600は、段階3において、基本PT603及び基本PC605に基づいて基本UI691を生成し、基本UI691を表示装置690に送信する。
段階4において、印刷ダイアログアプリケーション600は、ΔPT607をプリンタドライバ650に渡す。プリンタドライバ650は、ΔPT607を基本PT603とマージし、マージされたΔPT607及び基本PT603を検証し、段階5において結果PT613を返す。次に印刷ダイアログアプリケーションは、段階6において、例えば更新された印刷機能を取得する関数呼出しにおいて、結果PT615をプリンタドライバ650に渡す。プリンタドライバ650は、結果PC617を判定し、段階7において結果PC617を再度印刷ダイアログアプリケーション600に渡す。段階8において、印刷ダイアログアプリケーション600は、基本PC605及び結果PC617からΔPC619を生成する。ΔPC619を使用して、次に印刷ダイアログアプリケーション600は、ΔPC619において印刷機能に対応するUIの部分を変更し、結果UI693を生成する。最後に、段階9において、印刷ダイアログアプリケーション600は、結果UI693を表示装置690に渡す。
いくつかの実施形態において、印刷ダイアログアプリケーション600はローカル演算装置上で動作し、プリンタドライバはリモート分散コンピューティングサービス(例えば、クラウド)上で動作する。段階1、2、4、5、6及び7におけるデータは、1または複数のネットワークを介して印刷ダイアログアプリケーション600とプリンタドライバ650との間で送信される。
図7は、ユーザインタフェース700の例示的な一実施形態を示す。ユーザインタフェース700は、用紙サイズ710、向き、印刷モード、グレースケール、用紙種類、給紙、用紙品質、網掛け、フチなし印刷720、両面印刷、余白種類及び180度回転を含む複数の設定を含む。ユーザインタフェース700は、用紙サイズ710及び用紙サイズ710の選択されたオプション740(レター)に対する機能730を表示する。設定に対するオプションがユーザインタフェース700により示されるように設定される場合、用紙サイズ710に対する機能730は、レター、リーガル、A5、A4、B5等を含む。従って、フチなし印刷720に対するオプションが「off」に設定される場合、用紙サイズ710に対する機能730は、ユーザインタフェース700に示されるとおりである。しかし、図8を参照して以下に説明されるように、フチなし印刷720が「on」に設定され且つ用紙サイズ710より高い優先順位を有する場合、用紙サイズ710に対する機能730が変更される。
図8は、フチなし印刷820が「on」に設定され且つ用紙サイズ810より高い優先順位を有する場合の用紙サイズ810の機能830を示すユーザインタフェース800の例示的な一実施形態を示す。ここで機能830は、7つのオプション、すなわちレター、A4、L89×127mm、2L127×178mm、はがき100×148mm、クレジットカード2.13×3.39in.すなわち54×86mm及びカード2.16×3.58in.すなわち55×91mmを提供する。
従って、本実施形態において、フチなし印刷に対して最初に選択されたオプションが「off」であることを基本印刷設定データ(例えば、基本PT603)が示す場合、基本印刷設定データ(例えば、基本PT603)に基づいて生成された基本印刷機能データ(例えば、基本PC605)は、用紙サイズ設定に対する機能がレター、リーガル、A5、A4、B5、L89×127mm、2L127×178mm、はがき100×148mm、はがき2 200×148mm、長形3 120×235mm、長形4 90×205mm、洋形4 105×235mm、洋形6 98×190mm、クレジットカード2.13×3.39in.すなわち54×86mm、カード2.16×3.58in.すなわち55×91mm、CD−RトレイB及びカスタムであることを示す。ユーザがユーザインタフェースを介してフチなし印刷を「on」に設定する場合、フチなし印刷に対するオプションが「on」に変更されることを示す差分印刷設定データ(例えば、ΔPT607)が生成される。差分印刷設定データ(例えば、ΔPT607)は、更新された印刷設定データ(例えば、結果PT613)をプリンタドライバに送出する。その後、更新された印刷設定データ(例えば、結果PT615)は、更新された印刷機能データに対する要求と共にプリンタドライバに送出される。プリンタドライバは、用紙サイズに対する印刷機能がレター、A4、L89×127mm、2L127×178mm、はがき100×148mm、クレジットカード2.13×3.39in.すなわち54×86mm及びカード2.16×3.58in.すなわち55×91mmであることを示す対応する更新された印刷設定データ(例えば、結果PC617)を生成する。
次に印刷ダイアログアプリケーションは、基本印刷機能データ(例えば、基本PC605)及び更新された印刷設定データ(例えば、結果PC617)に基づいて差分印刷機能データ(例えば、ΔPC619)を生成する。差分印刷設定データ(例えば、ΔPC619)は、用紙サイズ設定に対する印刷機能がリーガル、A5、B5、はがき2 200×148mm、長形3 120×235mm、長形4 90×205mm、洋形4 105×235mm、洋形6 98×190mm、CD−RトレイB及びカスタムを含まないように変更されたことを示す。変更された印刷機能(例えば、使用不可能な用紙サイズオプションを除去する)及び選択されたオプションに対するあらゆる変更(例えば、フチなし印刷が「on」に設定されることを示す)に対応するユーザインタフェースの部分のみを実質的に変更し、且つユーザインタフェースの残りの部分を維持する結果ユーザインタフェース(例えば、結果UI693)が生成されてもよい。
図9は、図7及び図8に基づいて差分印刷設定データ900の例示的な一実施形態を示す。差分印刷設定データ900は、機能を変更した設定(すなわち、ページサイズ設定)、変更した機能のオプション及びオプションに対して実行されたそれぞれの変更を示す。差分印刷設定データ900はXMLドキュメントとしてフォーマットされ、機能の各オプションに対する変更は各オプションが使用不可能であることを示す(しかし、ここでオプションが使用可能である場合、印刷設定データ900はオプションが使用可能であることを示す)。差分印刷設定データ900は、用紙サイズ設定に対する機能に変更があること、特にリーガル、A5、B5、はがき2 200×148mm、長形3 120×235mm、長形4 90×205mm、洋形4 105×235mm、洋形6 98×190mm、CD−RトレイB及びカスタムのサイズが使用不可能であることを示す。
図10は、ユーザインタフェースの例示的な一実施形態を示す。ユーザインタフェース1000の第1の図は、用紙種類設定1010に対するオプションが印刷可能なディスク(その他)に設定されたことを示し、ユーザインタフェース1020の第2の図は、用紙サイズ設定1030に対する対応する機能1040を示す。ユーザインタフェース1020の第2の図は、両面印刷設定1050に対する機能がグレーアウトされることを更に示す。従って、両面印刷設定1050に対する機能は、選択されたオプションになるのは不可能である。しかし、図11に示されるように、用紙種類設定1010に対して異なるオプションが選択される場合、印刷機能のうちの少なくともいくつかは変更される。
図11は、図10の例に引き続き、ユーザインタフェースの例示的な一実施形態を示す。ユーザインタフェース1100の第1の図は、用紙種類設定1110に対して選択されたオプションが普通紙に設定されたことを示す。ユーザインタフェース1120の第2の図は、用紙サイズ設定1130に対して機能1140がオプションを追加するように変更されたことを示す。更に両面印刷設定1150に対して、機能は、両面印刷「on」、両面印刷「off」、自動「on」及び自動「off」(「on」及び「off」は、チェックボックスにより示される)のオプションを含むように変更された。
図12は、図10及び図11に基づいて差分印刷機能データ1200の例示的な一実施形態を示す。差分印刷機能データ1200は、表形式で配置され、機能を変更した設定1210(すなわち、ページサイズ設定)、変更したオプション1220、オプションに対して実行されたそれぞれの変更1230を示す。従って、差分印刷機能データ1200は、図10〜図11の用紙種類に対して選択されたオプションの変更に基づいて、機能1220のオプションが現在使用可能であることを示す。
図13は、印刷装置の機能の変更を判定するシステムの一実施形態を示すブロック図である。システムは、印刷機能装置1330と、印刷装置1380と、表示装置1390とを備える。システムの装置は、有線チャネル又は無線チャネルを介して通信してもよい。表示装置1390は画像をレンダリングできるディスプレイを有し、印刷装置1380は、データを受信し且つ受信したデータに基づいて1または複数の印刷用紙(例えば、用紙、ボール紙、プラスチック)上に画像(例えば、テキスト、グラフィックス、写真)を印刷するように構成される。更に印刷装置1380は、1または複数のユーザが調整可能な設定に従って画像を印刷用紙上に印刷してもよい。
印刷装置1380により送出された情報を含む情報は、表示装置1390を介してユーザに提示される。印刷機能装置1300は、ユーザが提供した情報(例えば、印刷設定のユーザ選択)を受信し、その情報を印刷装置1380に中継する。
印刷機能装置1300は、印刷ダイアログアプリケーション1340と、プリンタドライバ1350とを備える(しかし、他の実施形態において、印刷ダイアログアプリケーション140及びプリンタドライバ150は、例えば分散された演算環境で種々の装置上で動作してもよい)。印刷ダイアログアプリケーション1340は、情報をユーザに提示し且つ/あるいはユーザから情報を受信するユーザインタフェースを生成する。ユーザインタフェースは、プリンタ設定及びプリンタ機能を示し、且つ各設定に対するオプションの選択等のユーザ選択を受信するグラフィカルインタフェースの形式で情報を提示してもよい。情報は、ユーザが情報を閲覧し、且つ/あるいは1または複数のオプションを選択できるようにする他のあらゆる方法で更に提示されてもよい。UIは表示装置1390に送出され、表示装置1390はユーザインタフェースをユーザに提示する。
プリンタドライバ1350は、データを受信し、要求された動作を実行し、要求されたデータ(もしあれば)を印刷ダイアログアプリケーション1340に返す。例えば印刷ダイアログアプリケーション1340は、関数呼出しを介してプリンタドライバ1350の機能性を呼び出し、関数呼出しのパラメータの形式でデータをプリンタドライバ1350に渡し、関数により返されたデータを受信する。プリンタドライバ1350により実現された関数及び関数を呼び出すインタフェースは、WinFX PT/PC、Win32PT/PC及び印刷チケットAPI等のアプリケーションプログラミングインタフェース(API)に準拠してもよい。
プリンタドライバ1350は、受信したデータを印刷装置1380により読み取り可能な形式に変換してもよい。例えばプリンタドライバ1350は、ソフトウェアアプリケーションから印刷ジョブを受信し、印刷装置1380のために印刷ジョブをPDLデータに変換し、且つPDLデータを印刷装置1380に送信してもよい。プリンタドライバ1350は、印刷装置の設定及び状況(例えば、用紙レベル、インクレベル、トナーレベル、エラー、選択された用紙サイズ、色)に関して印刷装置1380と更に通信する。
プリンタドライバ1350は、印刷装置1380の設定と、機能と、選択された設定オプションとの間の関係で構成されてもよい。従って、プリンタドライバ1350は、1または複数の設定の選択されたオプションに基づいて、使用可能な印刷機能又は使用不可能な印刷機能及び制限される設定オプションを判定できる。
例えばプリンタドライバ1350は、種々の設定の優先順位で構成されてもよく、設定に対して選択された各オプションに従って印刷機能を調整してもよい。従って、より低い優先順位設定の選択されたオプションが変更される場合、プリンタドライバ1350は、より高い優先順位設定の機能を変更しない。しかし、より高い優先順位設定の選択されたオプションが変更される場合、プリンタドライバ1350は、必要に応じてより低い優先順位設定の機能を調整する。
上記の例に従って、プリンタドライバは、印刷用紙種類設定又はフチなし印刷設定より低い優先順位を印刷用紙サイズ設定に割り当てるように構成されてもよい。従って、印刷用紙サイズ設定に対して選択されたオプションが変更される場合、印刷用紙種類設定又はフチなし印刷設定に対する機能は、より高い優先順位を割り当てられるために変更されない。しかし、印刷用紙種類設定又はフチなし印刷設定に対して選択されたオプションが変更される場合、印刷用紙サイズ(及び他のより低い優先順位設定)に対する機能は、必要に応じて変更される。
図14は、表示装置1490及び印刷装置1480と通信している印刷機能装置1400の一実施形態を示すブロック図である。印刷機能装置1400は、ネットワーク1470を介して印刷装置1480と通信し、ネットワーク1470を介して表示装置1490等の1または複数の他の装置とも更に通信してもよい。ネットワーク1470は、インターネット、WAN及びLANを含む1または複数のネットワークのあらゆる組合せ、並びに有線ネットワーク又は無線ネットワークのあらゆる組合せを含んでもよい。
印刷機能装置1400は、従来のマイクロプロセッサ又はカスタマイズされたマイクロプロセッサであってもよい1または複数のプロセッサ1401(本明細書において「CPU1401」とも呼ばれる)を備える。CPU1401は、コンピュータ可読命令を読み出し且つ実行するように構成され、印刷機能装置1400の他の構成要素を指揮及び/又は制御してもよい。
印刷機能装置1400は、キーボード、表示装置、マウス、印刷装置、タッチスクリーン、ライトペン、光記憶装置、スキャナ、マイク、カメラ等の他の装置に通信インタフェースを提供するI/Oインタフェース1403を更に備える。印刷機能装置1400は、ROM、RAM及びフラッシュメモリ等の揮発性又は不揮発性であってもよいメモリ1405を更に備える。ネットワークインタフェース1407により、印刷機能装置1400はネットワーク1470と通信できる。記憶装置1409は、データ又はモジュールを格納し、ハードドライブ、光記憶装置、ディスケット、及び/又は固体ドライブ等を備えてもよい。印刷機能装置1400の構成要素は、バスを介して接続され且つ通信する。印刷機能装置1400は、ハードウェア、処理、割込み、メモリ及びファイルシステムのうちの1または複数を管理するオペレーティングシステムを備える。
印刷機能装置1400は、印刷ダイアログモジュール1410と、プリンタドライバ1420と、ルックアップテーブル1425とを更に備える。モジュールは、印刷機能装置1400がある特定の動作を実行するように印刷機能装置1400により実行されてもよいが、説明を簡単にするために動作を実行するものとして説明されてもよい。モジュールは、論理命令及び/又はコンピュータ可読命令を含んでもよく、ソフトウェア、ファームウェア及び/又はハードウェアで実現されてもよい。他の実施形態において、印刷機能装置1400は多少のモジュールを備えてもよく、モジュールは、より少ないモジュールに結合されてもよく、あるいはより多くのモジュールに分割されてもよい。
印刷ダイアログモジュール1410は、実行される場合に印刷機能装置1400により印刷装置設定、印刷装置機能及び選択されたオプション等の印刷情報を含む印刷ダイアログユーザインタフェースを生成する命令を含む。ユーザインタフェースは、テキストとグラフィックスとのあらゆる組合せを含んでもよく、例えばテキストフィールドを介して、あるいはインタフェース上の制御のユーザ選択(例えば、メニュー、ボタン、チェックボックス)により、ユーザからデータを受信してもよい。上述したように、プリンタドライバ1420は、印刷装置(例えば、印刷装置1480)と通信する。図14に示される実施形態において、印刷機能装置1400はルックアップテーブル1425を更に備える。ルックアップテーブル1425は、印刷装置設定及び印刷装置機能に関する情報を含み、印刷機能装置1400は、印刷装置機能を判定するためにルックアップテーブル1425を使用してもよい。
例えばルックアップテーブル1425は、選択された印刷オプションを印刷機能にマッピング(例えば、PrintTicketをPrintCapabilitiesにマッピングし且つ/あるいはDevModeをDevCapsにマッピング)してもよい。ルックアップテーブル1425は、設定毎(例えば、用紙サイズ、用紙種類、色、両面印刷、ステープリング、フォント)及び機能毎に列を含み、設定オプションの順列毎に行を含んでもよい。印刷装置が各行に示された設定オプションに設定される場合、ルックアップテーブルの行は、印刷装置に対する印刷機能を示してもよい。他の実施形態において、印刷機能装置1400は、論理、データツリー等を含む他の手段により、印刷機能の変更を判定する。
図15は、ユーザインタフェース上で印刷装置の機能を更新する方法の一実施形態を示すフローチャートである。本明細書において説明されるこの方法及び他の方法の他の実施形態は、ブロックを省略、追加及び結合してもよく、ブロックの順序を変更してもよく、且つ/あるいはブロックを別個のブロックに分割してもよい。また、印刷機能装置1400の1または複数の構成要素(例えば、印刷ダイアログモジュール1410、プリンタドライバ1420、ルックアップテーブル1425)は、図15に示される方法及び本明細書において説明される他の方法を実現してもよい。
ブロック1500から開始し、基本印刷機能はプリンタドライバから取得される。例えばプリンタドライバは、受信したデータに基づいて印刷装置の基本印刷機能を示す印刷機能データ(例えば、基本印刷設定データ等の基本印刷オプション)を生成し、且つ印刷機能データ(例えば、オブジェクト、ファイル、ポインタ、データ構造)を要求側のアプリケーション及び/又は装置に送出してもよい。受信したデータ(例えば、基本印刷オプションデータ)及び印刷機能データは、テキストベースのデータ、例えばPrintCapabilitiesドキュメント及び/又はPrintTicketドキュメント等のマークアップ言語データを含んでもよい。次にブロック1510において、ユーザインタフェースは、基本印刷機データ機能に基づいて生成される。ユーザインタフェースは、表示装置を介してユーザに提示されてもよい。
ブロック1520に進み、前の印刷機能(例えば、基本印刷機能)に対する印刷機能の変更を示すΔ印刷機能がプリンタドライバから取得される。プリンタドライバは、更新された印刷設定データを受信してもよく、それに応答して実質的にΔ印刷機能のみを含むデータを生成し、且つデータを要求側のアプリケーション及び/又は装置に送出してもよい。更にプリンタドライバは、Δ印刷機能データを含む更なるデータを含んでもよく、1または複数の指標をデータに追加してΔ印刷機能データを識別してもよい。
最後にブロック1530において、Δ印刷機能と関連付けられるユーザインタフェースの部分が更新される。例えばユーザインタフェースは、各印刷機能と関連付けられる1または複数のフィールドを有してもよい。印刷機能が変更される場合、ユーザインタフェース上の各フィールドが更新され、且つΔ印刷機能と関連付けられない1または複数の他のフィールドが維持されることにより、ユーザインタフェース全体をリフレッシュする必要はない。
図16は、印刷装置の機能の1または複数の変更の指標を生成する方法の一実施形態を示すフローチャートである。ブロック1600から開始し、基本PC1655は基本PT1651に基づいて生成される。例えばプリンタドライバは、印刷装置の印刷設定及び印刷機能(例えば、プリンタ設定が選択されたオプションに対して構成される間の印刷装置の印刷機能の全て及び特定の印刷機能)に関する情報で構成され、呼出しアプリケーションから基本PT1651を受信した後に基本PC1655を生成する。
次にブロック1610において、結果PT1657は、基本PT1651及びΔPT1653に基づいて生成される(例えば、プリンタドライバにより)。結果PT1657の生成は、マージ動作及び検証動作を含んでもよい。マージ動作は、基本PT及びΔPTを結果PT1657に結合する。検証動作は、印刷装置が結果PT1657の設定に対して選択されたオプションにより説明された機能性を実現できることを検証する。
最後にブロック1620において、ΔPC1659は、結果PT1657に基づいて判定される更新された印刷機能及び基本PC1655に基づいて生成される。ΔPC1659は、結果PT1657に追加される。例えばΔPC1659は、ΔPC1659及びΔPC1659を示すタグ(例えば、マークアップ言語タグ)を含むことにより結果PT1657に追加され、且つ/あるいは結果PT1657の所定の場所に格納されてもよい。結果PT1657(ΔPC1659を含む)は、アプリケーション又は装置(例えば、呼出しアプリケーション、要求側の装置)に提供されてもよい。
それに応じて、アプリケーション又は装置は、結果PT1657の生成を要求する(例えば、要求をプリンタドライバに送出することにより)場合、返しに結果PT1657及びΔPC1659を受信する。従って、結果PT1657を受信するアプリケーション又は装置は、更新された印刷機能を判定するために更新機能関数を呼び出す必要はない。例えば、いくつかの実施形態において、基本PT1651及びΔPT1653がMergeAndValidate(基本PT、ΔPT)関数呼出しを介してドライバに送出され、ドライバがΔPC1659を含む結果PT1657を返すため、アプリケーション及び/又は装置は、Windows(登録商標)により特定されたAPIを介してドライバと通信できる。また、ドライバに送出される基本PT又はΔPTは基本PC1655を含んでもよく、あるいはドライバは、基本PCを格納し且つ/あるいはそれをメモリの所定の場所から検索してもよい。
図17は、印刷装置の機能の1または複数の変更の指標を生成する方法の一実施形態を示すフローチャートである。ブロック1700から開始し、結果PC1761は入力PT1751に基づいて生成される。示される実施形態において、入力PT1751は基本PC1753を含むが、他の実施形態において、基本PC1753は、前のPT1751を受信することに応答して生成され且つ省かれていてもよい。入力PT1751と共に基本PC1753を含むことにより、GetPrintCapabilities(入力PT)関数呼出しにおいて基本PC1753をドライバに渡すことができるため、Windows(登録商標)により特定されたAPI(例えば、PrintTicket API)により規定されるように、関数呼出しがGetPrintCapabilitiesにより要求されたインタフェースと適合するようにしつつ、ドライバは基本PC1753を受信できる。
次にブロック1710において、ΔPC1763は、結果PC1761及び基本PC1753に基づいて生成される。最後にブロック1720において、ΔPC1763は結果PC1761に追加される。例えばΔPC1763は、ΔPC1763及びΔPC1763を示すタグ(例えば、マークアップ言語タグ)を含むことにより結果PC1761に追加され、且つ/あるいは結果PC1761の所定の場所に格納されてもよい。
いくつかの実施形態において、プリンタドライバは、印刷装置が入力PT1751において選択された設定オプションに構成される場合に各印刷装置の機能を判定するように構成される。プリンタドライバは、関数呼出しにおいて入力PT1751を受信し、例えば印刷装置の設定及び機能に関するデータの内部リポジトリ(例えば、ルックアップテーブル、格納された論理)にアクセスすることにより結果PC1761を生成し、且つΔPC1763を判定してもよい。プリンタドライバは、ΔPC1763を結果PC1761に追加し、結果PC1761を呼出しアプリケーション/装置に返す。従って、呼出しアプリケーション/装置は、入力PT1751に対して結果PC1761を生成する要求に応答して、結果PC1761及びΔPC1763の双方を受信する。
図18A〜図18Cは、印刷装置の機能の変更を判定する方法の実施形態を示すフローチャートである。図18Aにおいて、フローはブロック1800から開始する。ブロック1800において、基本PTは、ΔPTとマージされ、結果PTを生成する。ブロック1802に進み、基本PTは、結果PTと比較され、変更された設定オプションを識別する。次にブロック1804において、ΔPCは、変更された設定オプションに基づいて生成される。例えば、一実施形態において、各オプションが変更された最も高い優先順位設定が判定され、変更により影響を受けるより低い優先順位設定が判定され、影響を受けた設定の機能がΔPCに追加される。例えば、より高い優先順位設定及びより低い優先順位設定を示し且つより高い優先順位設定の選択されたオプションの変更をより低い優先順位設定の機能の変更にマッピングするルックアップテーブル等の1または複数のルックアップテーブルは、ΔPCを生成するために使用されてもよい。ブロック1806に移動し、ΔPCは結果PTに追加され、ブロック1808において結果PTが返される。
図18Bにおいて、フローはブロック1820から開始し、基本PTは、ΔPTとマージされ、結果PTを取得する。次にブロック1822において、基本PTは基本DevModeに変換される。ブロック1824に移動し、結果PTは結果DevModeに変換される。ブロック1826において、結果DevModeは、基本DevModeと比較され、ΔDevModeを生成する。DevMode構造体がデータを2進形式で示すため、比較は、構文解析を必要とする比較(例えば、マークアップ言語データの比較)より速く実行されるバイナリ比較であってもよい。
ブロック1828に進み、ΔPCは、ΔDevModeに基づいて生成される。例えば、1または複数のルックアップテーブルは、ΔDevModeにおいて選択された設定オプションの変更をDevCaps構造体の1または複数の変更にマッピングするために使用されてもよく、DevCaps構造体の1または複数の変更は、ΔPCを生成するために使用されてもよい。また、結果DevModeは、結果DevCapsを生成するために使用されてもよく、基本DevModeは、基本DevCapsを生成するために使用されてもよい。ΔPCは、結果DevCapsと基本DevCapsとを比較することにより生成されてもよい。ブロック1830に進み、ΔPCは結果PTに追加される。最後にブロック1832において、結果PTが返される。
図18Cにおいて、フローはブロック1850から開始し、基本PCは基本PTに基づいて生成される。次にブロック1852において、基本PTは、ΔPTとマージされ、結果PTを生成する。ブロック1854に進み、結果PCは結果PTから生成される。その後ブロック1856において、基本PCは、結果PCと比較され、ΔPCを生成する。ブロック1858に進み、ΔPCは結果PTに追加され、ブロック1860において結果PTが返される。
図19A及び図19Bは、印刷装置の機能の変更を判定する方法の実施形態を示すフローチャートである。図19Aにおいて、フローはブロック1900から開始し、結果PCは入力PTから生成される。ブロック1902に移動し、ΔPCは、結果PC及び基本PCに基づいて生成される。例えばΔPCは、結果PC及び基本PCを構文解析し且つそれらを比較することにより、且つ/あるいは結果PC及び基本PCをDevCapsに変換し且つDevCaps構造体を比較することにより生成されてもよい。次にブロック1904において、ΔPCは結果PCに追加される。最後にブロック1906において、結果PTが返される。
図19Bにおいて、フローはブロック1920から開始し、結果PCは入力PTから生成される。ブロック1922に進み、結果PCは、結果DevCapsに変換される。その後ブロック1924において、基本PCは基本DevCapsに変換される。次にブロック1926において、結果DevCapsは、基本DevCapsと比較され、ΔDevCapsを生成する。DevCapsが印刷機能を2進形式で示すため、DevCaps比較は、構文解析を必要とする比較より速く実行されるバイナリ比較である。ブロック1928に進み、ΔPCはΔDevCapsに基づいて生成される。ブロック1930において、ΔPCは結果PCに追加される。最後に、結果PCは、ブロック1932において返される。
図20は、印刷装置の機能に関する更新を生成するシステム及びシステムにおけるデータの流れの一実施形態を示すフローチャートである。段階1において、印刷ダイアログアプリケーション2010は、基本PT2051をプリンタドライバ2000に送信する。プリンタドライバ2000は、段階2において、基本PC2053を生成し、それを印刷ダイアログアプリケーションに返す。次に段階3において、印刷ダイアログアプリケーション2010は、基本UI2055を生成し、それを表示装置2020に送信する。段階4において、印刷ダイアログアプリケーション2010は、ΔPT2057(いくつかの実施形態において、基本PC2053を含む)を生成し、それをプリンタドライバ2000に送信する。段階5において、プリンタドライバ2000は、ΔPC2063を含む結果PT2059を生成し、それを印刷ダイアログアプリケーション2010に送信する。最後に、段階6において、ΔPC2063に基づいて、印刷ダイアログアプリケーション2010は、部分的に更新されたUI2061を生成し、それを表示装置2020に送信する。
いくつかの実施形態において、印刷ダイアログアプリケーション2010はローカル演算装置上で動作し、プリンタドライバ2000はリモート分散コンピューティングサービス(例えば、クラウド)上で動作する。段階1、2、4及び5におけるデータは、1または複数のネットワークを介して印刷ダイアログアプリケーション2010とプリンタドライバ2000との間で送信される。
図21は、ユーザインタフェース2100の例示的な一実施形態を示す。ユーザインタフェース2100は、用紙サイズ2110、向き、印刷モード、グレースケール、用紙種類、給紙、用紙品質、網掛け、フチなし印刷2120、両面印刷、余白種類及び180度回転を含む複数の設定を含む。ユーザインタフェース2100は、用紙サイズ2110及び用紙サイズ2110の選択されたオプション2140(レター)に対する機能2130を表示する。設定に対するオプションがユーザインタフェース2100により示されるように設定される場合、用紙サイズ2110に対する機能2130は、レター、リーガル、A5、A4、B5等を含む。従って、フチなし印刷2120に対するオプションが「off」に設定される場合、用紙サイズ2110に対する機能2130は、ユーザインタフェース2100に示されるとおりである。しかし、図22を参照して以下に説明されるように、フチなし印刷2120が「on」に設定され且つ用紙サイズ2110より高い優先順位を有する場合、用紙サイズ2110に対する機能2130が変更される。
図22は、フチなし印刷2220が「on」に設定され且つ用紙サイズ2210より高い優先順位を有する場合の用紙サイズ2210の機能2230を示すユーザインタフェース2200の例示的な一実施形態を示す。ここで機能2230は、7つのオプション、すなわちレター、A4、L89×127mm、2L127×178mm、はがき100×148mm、クレジットカード2.13×3.39in.すなわち54×86mm及びカード2.16×3.58in.すなわち55×91mmを提供する。
従って、本実施形態において、フチなし印刷に対して最初に選択されたオプションが「off」であることを基本印刷設定データ(例えば、基本PT2051)が示す場合、基本印刷設定データ(例えば、基本PT2051)に基づいて生成された基本印刷機能データ(例えば、基本PC2053)は、用紙サイズ設定に対する機能がレター、リーガル、A5、A4、B5、L89×127mm、2L127×178mm、はがき100×148mm、はがき2 200×148mm、長形3 120×235mm、長形4 90×205mm、洋形4 105×235mm、洋形6 98×190mm、クレジットカード2.13×3.39in.すなわち54×86mm、カード2.16×3.58in.すなわち55×91mm、CD−RトレイB及びカスタムであることを示す。ユーザがユーザインタフェースを介してフチなし印刷を「on」に設定する場合、フチなし印刷に対するオプションが「on」に変更されることを示す差分印刷設定データ(例えば、ΔPT2057)が生成される。差分印刷設定データ(例えば、ΔPT2057)は、更新された印刷設定データ(例えば、結果PT2059)を生成するプリンタドライバに送出される。プリンタドライバは、用紙サイズに対する印刷機能がレター、A4、L89×127mm、2L127×178mm、はがき100×148mm、クレジットカード2.13×3.39in.すなわち54×86mm及びカード2.16×3.58in.すなわち55×91mmであることを示す対応する更新された印刷設定データを更に生成する。
次にプリンタドライバは、基本印刷機能データ(例えば、基本PC2053)及び更新された印刷機能データに基づいて差分印刷機能データ(例えば、ΔPC2063)を生成する。差分印刷設定データは、用紙サイズ設定に対する印刷機能がリーガル、A5、B5、はがき2 200×148mm、長形3 120×235mm、長形4 90×205mm、洋形4 105×235mm、洋形6 98×190mm、CD−RトレイB及びカスタムを含まないように変更されたことを示す。変更された印刷機能に対応するユーザインタフェースの部分(例えば、使用不可能な用紙サイズオプションを除去する)及び選択されたオプションに対するあらゆる変更(例えば、フチなし印刷が「on」に設定されることを示す)のみを実質的に変更し、且つユーザインタフェースの残りの部分を維持する結果ユーザインタフェース(例えば、部分的に更新されたUI2061)が生成されてもよい。
図23は、図21及び図22に基づいて差分印刷設定データ2100の例示的な一実施形態を示す。差分印刷設定データ2100は、機能を変更した設定(すなわち、ページサイズ設定)、変更した機能のオプション及びオプションに対して実行されたそれぞれの変更を示す。差分印刷設定データ2100はXMLドキュメントとしてフォーマットされ、機能の各オプションに対する変更は各オプションが使用不可能であることを示す(しかし、ここでオプションが使用可能である場合、印刷設定データ2100はオプションが使用可能であることを示す)。差分印刷設定データ2100は、用紙サイズ設定に対する機能に変更があること、特にリーガル、A5、B5、はがき2 200×148mm、長形3 120×235mm、長形4 90×205mm、洋形4 105×235mm、洋形6 98×190mm、CD−RトレイB及びカスタムのサイズが使用不可能であることを示す。プリンタドライバは、差分印刷機能データ2100を結果印刷設定データ(例えば、結果PT)に追加してもよい。
図24は、ユーザインタフェースの例示的な一実施形態を示す。ユーザインタフェース2400の第1の図は、用紙種類設定2410に対するオプションが印刷可能なディスク(その他)に設定されたことを示し、ユーザインタフェース2420の第2の図は、用紙サイズ設定2430に対する対応する機能2440を示す。ユーザインタフェース2420の第2の図は、両面印刷設定2450に対する機能がグレーアウトされることを更に示す。従って、両面印刷設定2450に対する機能は、選択されたオプションになるのは不可能である。しかし、図25に示されるように、用紙種類設定2410に対して異なるオプションが選択される場合、印刷機能のうちの少なくともいくつかは変更される。
図25は、図24の例に引き続き、ユーザインタフェースの例示的な一実施形態を示す。ユーザインタフェース2500の第1の図は、用紙種類設定2510に対して選択されたオプションが普通紙に設定されたことを示す。ユーザインタフェース2520の第2の図は、用紙サイズ設定2530に対して機能2540がオプションを追加するように変更されたことを示す。更に両面印刷設定2550に対して、機能は、両面印刷「on」、両面印刷「off」、自動「on」及び自動「off」(「on」及び「off」は、チェックボックスにより示される)のオプションを含むように変更された。
図26は、図24及び図25に基づいて差分印刷機能データ2600の例示的な一実施形態を示す。差分印刷機能データ2600は、表形式で配置され、機能を変更した設定2610(すなわち、ページサイズ設定)、変更したオプション2620、オプションに対して実行されたそれぞれの変更2630を示す。従って、差分印刷機能データ2600は、図24〜図25の用紙種類に対して選択されたオプションの変更に基づいて、機能2620のオプションが現在使用可能であることを示す。
図27は、差分印刷機能データを含む印刷設定データ2700(例えば、PrintTicket)の例示的な一実施形態を示す。印刷設定データ2700は、XML形式で配置される。印刷設定データ2700は、印刷設定データ(例えば、PrintTicketデータ)の妥当性を維持し、差分印刷機能データ全体が挿入されるXML CDATAセクションを介した差分印刷機能データ又は他のXML要素を介した差分印刷機能データを説明する。印刷設定データ2700の特性は、差分印刷機能データを抽出する方法を説明する。
上述したシステム及び方法は、上述の動作を実現するためのコンピュータが実行可能な命令を有する記憶媒体を記憶媒体に格納されたコンピュータが実行可能な命令を読み出し且つ実行できる1または複数の演算装置(例えば、CPU、MPU)に供給することにより実現される。
この場合、コンピュータが実行可能な命令は、記憶媒体から読み出され且つ1または複数の演算装置により実行される場合に上述の実施形態の動作を実行する。従って、コンピュータが実行可能な命令又はコンピュータが実行可能な命令を格納する記憶媒体は、一実施形態を構成する。
あらゆる適用可能なコンピュータ可読記憶媒体(例えば、フロッピディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性メモリカード、ROM)は、コンピュータが実行可能な命令を供給する記憶媒体として採用されてもよい。
コンピュータが実行可能な命令は、演算装置に挿入された機能拡張ボード又は演算装置に接続された機能拡張ユニット上に提供されたメモリに格納されてもよく、機能拡張ボード又は機能拡張ユニット上に提供されたCPUは、上述の実施形態の動作を実現する実際の処理の一部又は全てを実行してもよい。また、コンピュータが実行可能な命令が1または複数の演算装置により実行される場合、演算システム上で動作するオペレーティングシステムは、上述の実施形態の動作を実現する実際の処理の一部又は全てを実行してもよい。
上記の開示内容は例示的な実施形態を説明するが、本発明は上記の開示内容に限定されないことが理解されるべきである。逆に本発明は、添付の特許請求の範囲の趣旨及び範囲内で種々の変形及び均等の構成を範囲に含む。

Claims (40)

  1. 印刷装置に対する印刷機能を示すユーザインタフェースを更新するための方法であって、
    第1の印刷機能データから1または複数の第1の印刷機能を読み込む工程と、
    前記1または複数の第1の印刷機能に関連付けられた複数のインタフェース要素を含むユーザインタフェースを生成する工程と、
    第2の印刷機能データから前記1または複数の第1の印刷機能とは異なる少なくとも1つの印刷機能を含む1または複数の第2の印刷機能を読み込む工程と、
    前記1または複数の第1の印刷機能と前記1または複数の第2の印刷機能とに基づいて、前記1または複数の第1の印刷機能とは異なる少なくとも1つの印刷機能を含む、変更された印刷機能を示す差分印刷機能データを生成する工程と、
    前記1または複数の第1の印刷機能とは異なる少なくとも1つの印刷機能を含む、前記差分印刷機能データによって示された前記変更された印刷機能に関連付けられた前記1または複数のインタフェース要素を更新する工程と、
    を有し、
    少なくとも1つのインタフェース要素は、前記変更された印刷機能に依存していないことを特徴とする方法。
  2. 前記変更された印刷機能に依存していない前記少なくとも1つのインタフェース要素を維持する工程を更に有することを特徴とする請求項1に記載の方法。
  3. 前記第1の印刷機能データに基づいて、印刷機能の基本ルックアップテーブルを生成する工程を更に有し、
    前記印刷機能の基本ルックアップテーブルは、前記1または複数の第1の印刷機能を含み、
    前記差分印刷機能データは、前記印刷機能の基本ルックアップテーブルの少なくとも一部に基づいて生成されることを特徴とする請求項1に記載の方法。
  4. 前記第2の印刷機能データに基づいて、前記第2の印刷機能を含む印刷機能の結果ルックアップテーブルを生成する工程と、
    前記印刷機能の結果ルックアップテーブルを前記印刷機能の基本ルックアップテーブルとして特定する工程と
    を更に有することを特徴とする請求項3に記載の方法。
  5. 前記基本ルックアップテーブルを生成する工程は、前記第1の印刷機能データに基づいて、ドキュメントオブジェクトモデルを生成する工程を有することを特徴とする請求項3に記載の方法。
  6. 前記基本ルックアップテーブルは、要素の名称、前記要素に対するマークアップ言語の文字列へのポインタ、および前記要素に対する前記ドキュメントオブジェクトモデルから前記マークアップ言語の文字列の長さを含むことを特徴とする請求項5に記載の方法。
  7. 前記第1の印刷機能データは、マークアップ言語データを含み、
    前記第2の印刷機能データは、マークアップ言語データを含み、
    前記差分印刷機能データは、マークアップ言語データを含む、ことを特徴とする請求項1に記載の方法。
  8. ポインタに関連付けられたプリンタドライバに第1のマークアップ言語印刷データを送信する工程を更に有し、
    前記第1の印刷機能データは、前記第1のマークアップ言語印刷データの送信に応答して前記プリンタドライバから受信されることを特徴とする請求項7に記載の方法。
  9. 前記プリンタドライバに第2のマークアップ言語印刷データを送信する工程を更に有し、
    前記第2の印刷機能データは、前記第2のマークアップ言語印刷データの送信に応答して前記プリンタドライバから受信されることを特徴とする請求項8に記載の方法。
  10. 印刷装置に対する印刷機能を示すユーザインタフェースを更新する装置であって、
    前記装置は、
    コンピュータ可読記憶デバイスと、
    印刷装置と通信するための出力インタフェースと、
    表示装置と通信するための表示インタフェースと、
    1または複数のモジュールを実行するための1または複数のプロセッサと、
    印刷機能モジュールと、
    を有し、
    前記印刷機能モジュールは、
    第1の印刷機能データから関連付けられた印刷装置の1または複数の印刷機能を読み込む手段と、
    複数のインタフェース要素を含み、前記複数のインタフェース要素のうちの1または複数のインタフェース要素が前記1または複数の第1の印刷機能に関連付けられているユーザインタフェースを生成する手段と、
    第2の印刷機能データから前記1または複数の第1の印刷機能とは異なる少なくとも1つの印刷機能を含む1または複数の第2の印刷機能を読み込む手段と、
    前記第1の印刷機能と前記第2の印刷機能とに基づいて、前記1または複数の第1の印刷機能とは異なる少なくとも1つの印刷機能を含む、変更された印刷機能を示す差分印刷機能データを生成する手段と、
    前記1または複数の第1の印刷機能とは異なる前記少なくとも1つの印刷機能を含む、前記差分印刷機能データによって示された前記変更された印刷機能に関連付けられた前記1または複数のインタフェース要素を更新する手段と、
    を有することを特徴とする装置。
  11. 前記印刷機能モジュールは更に、
    前記1または複数の第1の印刷機能を含む基本印刷機能ルックアップテーブルを生成する手段と、
    前記基本印刷機能ルックアップテーブルに基づいて、前記差分印刷機能を生成する手段と
    を有することを特徴とする請求項10に記載の装置。
  12. 前記印刷機能モジュールは更に、
    前記1または複数の第2の印刷機能を含む更新された印刷機能ルックアップテーブルを生成する手段と、
    前記差分印刷機能データの生成後、前記基本印刷機能ルックアップテーブルを前記更新された印刷機能ルックアップテーブルと置き換える手段と
    を有することを特徴とする請求項11に記載の装置。
  13. 前記印刷機能モジュールは更に、プリンタドライバへ第1の印刷設定データを送信することに応答して前記プリンタドライバから前記第1の印刷機能データを受信する手段を有することを特徴とする請求項10に記載の装置。
  14. 前記印刷機能モジュールは更に、前記プリンタドライバへ第2の印刷設定データを送信することに応答して前記プリンタドライバから前記第2の印刷機能データを受信する手段を有することを特徴とする請求項13に記載の装置。
  15. 前記複数のインタフェース要素のうちの少なくとも1つのインタフェース要素は、前記1または複数の第1の印刷機能に関連付けられた前記1または複数のインタフェース要素に依存していないことを特徴とする請求項10に記載の装置。
  16. 1または複数のコンピュータデバイスによって実行され、前記1または複数のコンピュータデバイスを、
    基本印刷機能データから基本印刷機能を読み込む手段、
    前記基本印刷機能に設定されたそれぞれの印刷機能に関連付けられた1または複数のフィールドを含む印刷ダイアログインタフェースを生成する手段、
    更新された印刷機能データから1または複数の更新された印刷機能を読み込む手段、
    前記基本印刷機能と前記更新された印刷機能とに基づいて、差異となる印刷機能を判定する手段、
    前記差異となる印刷機能に関連付けられた前記印刷ダイアログインタフェース内の1または複数のフィールドを更新する手段、
    前記異なる印刷機能に関連付けられていない前記印刷ダイアログインタフェース内の1または複数のフィールドを維持する手段
    として機能させるための命令を格納した1または複数のコンピュータ可読記憶媒体。
  17. 前記基本印刷機能データおよび前記更新された印刷機能データは、マークアップ言語データを含むことを特徴とする請求項16に記載のコンピュータ可読記憶媒体。
  18. 前記マークアップ言語は、XMLであることを特徴とする請求項17に記載のコンピュータ可読記憶媒体。
  19. 前記基本印刷機能データは、PrintCapabilitiesであり、
    前記更新された印刷機能は、PrintCapabilitiesであることを特徴とする請求項18に記載のコンピュータ可読記憶媒体。
  20. 印刷機能データを読み込む前記手段は、前記印刷機能データを構文解析する手段を含むことを特徴とする請求項17に記載のコンピュータ可読記憶媒体。
  21. 印刷装置の印刷機能を更新するための方法であって、
    初期印刷チケットマークアップ言語データを受信する工程と、
    前記初期印刷チケットマークアップ言語データに基づいて、1または複数の印刷デバイス機能を含む初期印刷装置機能データを生成する工程と、
    第2の印刷チケットマークアップ言語データを受信する工程と、
    前記第2の印刷チケットマークアップ言語データに基づいて、1または複数の更新された印刷装置機能を含む更新された印刷装置機能データを生成する工程と、
    前記初期印刷装置機能データと前記更新された印刷装置機能データとに基づいて、前記1または複数の初期印刷装置機能と前記1または複数の更新された印刷装置機能との間の差異を示す1または複数の変更された印刷装置機能を含む1または複数の変更された印刷装置機能マークアップ言語データを生成する工程と
    を有することを特徴とする方法。
  22. 前記初期印刷チケットマークアップ言語データと前記第2の印刷チケットマークアップ言語データとに基づいて、結果印刷チケットマークアップ言語データを生成する工程を更に有することを特徴とする請求項21に記載の方法。
  23. 結果印刷チケットマークアップ言語データを生成する前記工程は、前記初期印刷チケットマークアップ言語データと前記第2の印刷チケットマークアップ言語データとをマージし、検証する工程を含むことを特徴とする請求項22に記載の方法。
  24. 前記結果印刷チケットマークアップ言語データは更に、前記1または複数の変更された印刷装置機能マークアップ言語データを含むことを特徴とする請求項22に記載の方法。
  25. 前記初期印刷チケットマークアップ言語データに基づいて、初期DevMode構造体を生成する工程と、
    前記結果印刷チケットマークアップ言語データに基づいて、結果DevMode構造体を生成する工程と、
    前記初期DevMode構造体と前記結果DevMode構造体とに基づいて、変更されたDevMode構造体を生成する工程と、
    前記変更されたDevMode構造体に基づいて、前記1または複数の変更された印刷装置機能マークアップ言語データを生成する工程と
    を更に有することを特徴とする請求項22に記載の方法。
  26. 初期印刷装置機能データを生成する前記工程は、初期DevCaps構造体を生成する工程を含み、
    更新された印刷装置機能データを生成する前記工程は、更新されたDevCaps構造体を生成する工程を含む
    ことを特徴とする請求項21に記載の方法。
  27. 前記1または複数の変更された印刷装置機能データは、前記初期DevCaps構造体と前記更新されたDevCaps構造体との比較に基づいて、生成されることを特徴とする請求項26に記載の方法。
  28. プリンタに対する印刷機能への変更を判定するための装置であって、
    コンピュータ可読記憶装置と、
    プロセッサと、
    印刷デバイスドライバと、を有し、
    前記印刷デバイスドライバは、
    第1の印刷設定マークアップ言語ファイル内の1または複数の第1の印刷設定を読み込む手段と、
    前記1または複数の第1印刷設定に基づいて、1または複数の第1の印刷機能を示す第1の印刷機能データを生成する手段と、
    前記1または複数の第1の印刷設定とは異なる少なくとも1の印刷設定を含む、第2の印刷設定マークアップ言語ファイル内の1または複数の第2の印刷設定を読み込む手段と、
    前記1または複数の第2の印刷設定と前記1または複数の第1の印刷設定とに基づいて、前記1または複数の第1の印刷機能とは異なる印刷機能を含む1または複数の結果印刷機能を示す結果印刷機能データを生成する手段と、
    前記1または複数の第1の印刷機能とは異なる前記印刷機能を含む差分印刷機能を示す差分印刷機能マークアップ言語データを生成する手段と
    を有することを特徴とする装置。
  29. 前記印刷デバイスドライバは更に、前記1または複数の第1の印刷設定と前記1または複数の第2の印刷設定とに基づいて、結果印刷設定を生成する手段を有することを特徴とする請求項28に記載の装置。
  30. 前記印刷デバイスドライバは更に、前記結果印刷設定に基づいて、結果印刷設定マークアップ言語ファイルを生成する手段を更に有することを特徴とする請求項29に記載の装置。
  31. 前記結果印刷設定マークアップ言語ファイルは、前記差分印刷機能マークアップ言語データを含むことを特徴とする請求項30に記載の装置。
  32. 前記印刷デバイスドライバは更に、
    前記1または複数の第1の印刷設定マークアップ言語ファイルに基づいて、前記1または複数の第1の印刷設定を含む第1のDevMode構造体を生成する手段と、
    前記結果印刷設定マークアップ言語ファイルに基づいて、前記1または複数の結果印刷設定を含む結果DevMode構造体を生成する手段と、
    前記第1のDevMode構造体と前記結果DevMode構造体とに基づいて、前記差分印刷機能を生成する手段と
    を有することを特徴とする請求項30に記載の装置。
  33. 差分印刷機能を生成する前記手段は、前記結果DevMode構造体を前記第1のDevMode構造体と比較する手段を含むことを特徴とする請求項32に記載の装置。
  34. 前記マークアップ言語は、XMLであることを特徴とする請求項28に記載の装置。
  35. 印刷設定マークアップ言語ファイルは、PrintTicketであることを特徴とする請求項34に記載の装置。
  36. 1または複数のコンピュータデバイスによって実行され、前記1または複数のコンピュータデバイスを、
    入力印刷データが入力印刷機能と入力印刷設定とを含み、前記入力印刷設定に基づいて結果印刷機能を生成する手段、
    前記結果印刷機能と前記入力印刷機能とに基づいて、変更された印刷機能を生成する手段、
    前記変更された印刷機能と前記変更された印刷機能の1または複数の指標とを含む印刷機能データを生成する手段、
    として機能させるための命令を格納した1または複数のコンピュータ可読記憶媒体。
  37. 前記入力印刷データは、PrintTicketを含み、
    前記印刷機能データは、PrintCapabilitiesを含むことを特徴とする請求項36に記載のコンピュータ可読記憶媒体。
  38. 前記入力印刷機能に基づいて、入力DevCaps構造体を生成する手段を更に有し、
    結果印刷機能を生成する前記手段は、前記入力印刷設定に基づいて、結果DevCaps構造体を生成する手段を有し、
    変更された印刷機能を決定する前記手段は、前記入力DevCaps構造体と前記結果DevCaps構造体とのバイナリ比較を実行する手段を有する
    ことを特徴とする請求項36に記載のコンピュータ可読記憶媒体。
  39. 前記入力印刷データは、前記入力印刷機能を示す1または複数のXMLタグを含み、
    前記変更された印刷機能の1または複数の指標は、1または複数のXMLタグを含む、
    ことを特徴とする請求項36に記載のコンピュータ可読記憶媒体。
  40. 前記印刷機能データを呼び出している関数へ返す手段を更に有することを特徴とする請求項36に記載のコンピュータ可読記憶媒体。
JP2012009407A 2011-01-20 2012-01-19 印刷装置用のユーザインタフェースを更新するシステム及び方法 Pending JP2012185806A (ja)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US13/010,460 US20120188572A1 (en) 2011-01-20 2011-01-20 Systems and methods for updating a user interface for a printing device
US13/010,531 2011-01-20
US13/010,531 US8994985B2 (en) 2011-01-20 2011-01-20 Systems and methods for updating printing device capabilities
US13/010,460 2011-01-20
US13/344,466 2012-01-05
US13/344,466 US9141314B2 (en) 2011-01-20 2012-01-05 Systems and methods for updating a user interface for a printing device
US13/346,493 US20120188575A1 (en) 2011-01-20 2012-01-09 Systems and methods for updating printing device capabilities
US13/346,493 2012-01-09

Publications (2)

Publication Number Publication Date
JP2012185806A true JP2012185806A (ja) 2012-09-27
JP2012185806A5 JP2012185806A5 (ja) 2015-03-05

Family

ID=47015812

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012009407A Pending JP2012185806A (ja) 2011-01-20 2012-01-19 印刷装置用のユーザインタフェースを更新するシステム及び方法

Country Status (1)

Country Link
JP (1) JP2012185806A (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005063315A (ja) * 2003-08-19 2005-03-10 Canon Inc 情報処理装置、印刷システム、プリンタドライバのユーザインタフェース制御方法、コンピュータプログラム及びコンピュータ読み取り可能な記録媒体
JP2008276744A (ja) * 2007-04-02 2008-11-13 Seiko Epson Corp 印刷制御装置及び方法
JP2009064415A (ja) * 2007-08-16 2009-03-26 Ricoh Co Ltd 情報処理装置、デバイス制御方法、デバイス制御プログラム及び記録媒体

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005063315A (ja) * 2003-08-19 2005-03-10 Canon Inc 情報処理装置、印刷システム、プリンタドライバのユーザインタフェース制御方法、コンピュータプログラム及びコンピュータ読み取り可能な記録媒体
JP2008276744A (ja) * 2007-04-02 2008-11-13 Seiko Epson Corp 印刷制御装置及び方法
JP2009064415A (ja) * 2007-08-16 2009-03-26 Ricoh Co Ltd 情報処理装置、デバイス制御方法、デバイス制御プログラム及び記録媒体

Similar Documents

Publication Publication Date Title
US8355150B2 (en) Information processing apparatus, program product, and recording medium capable of appropriately executing an output process even when uninterpretable information is included in output setting information
US8705089B2 (en) Printer driver, storage medium, and information processing apparatus
US8384918B2 (en) Enforcing a minimum font size
JP5336819B2 (ja) 情報処理装置及び印刷制御方法
US9250833B2 (en) Printing control terminal device and method of printing XML paper specification (XPS) file
US20190130234A1 (en) Information processing apparatus, method of controlling the same, and storage medium
US10402139B2 (en) Information processing apparatus that generates print function information, and related control method and storage medium storing program
JP5581793B2 (ja) 情報処理装置、プログラムおよび記憶媒体
US11842100B2 (en) Server system, information processing apparatus communicating with server system, control method, and computer-readable storage medium
US20120188575A1 (en) Systems and methods for updating printing device capabilities
US20080250430A1 (en) Method and corresponding apparatus for creation of print drivers in a network
US20150170012A1 (en) Print control apparatus and non-transitory computer readable medium
US11520536B2 (en) Information processing apparatus, control method and program therefor, and server system capable of communicating with the information processing apparatus
US8856637B2 (en) Applying borders to each page in N-up printing
US11635927B2 (en) Control method and information processing apparatus for displaying information related to a function
US9141314B2 (en) Systems and methods for updating a user interface for a printing device
US10795617B2 (en) Information processing apparatus and control method
US8994985B2 (en) Systems and methods for updating printing device capabilities
US10592180B2 (en) Information processing device, information processing method, and recording medium
US10346110B2 (en) Information processing apparatus, method and storage medium performing prohibition processing for print settings
US11775236B2 (en) Information processing apparatus, processing method of information processing apparatus, and storage medium
JP2012185806A (ja) 印刷装置用のユーザインタフェースを更新するシステム及び方法
US20120188572A1 (en) Systems and methods for updating a user interface for a printing device
US8490109B2 (en) Printing control apparatus, printing control method, and computer-readable storage medium storing computer program
US11954386B2 (en) Information processing apparatus having enhanced printing functions, controlling method of information processing apparatus, and storage medium

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150119

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151222

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160415