JP2022009060A - 印刷設定uiを表示するためのアプリケーション - Google Patents

印刷設定uiを表示するためのアプリケーション Download PDF

Info

Publication number
JP2022009060A
JP2022009060A JP2021167752A JP2021167752A JP2022009060A JP 2022009060 A JP2022009060 A JP 2022009060A JP 2021167752 A JP2021167752 A JP 2021167752A JP 2021167752 A JP2021167752 A JP 2021167752A JP 2022009060 A JP2022009060 A JP 2022009060A
Authority
JP
Japan
Prior art keywords
conflict
processing
print setting
conflict processing
rule
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.)
Granted
Application number
JP2021167752A
Other languages
English (en)
Other versions
JP7322116B2 (ja
Inventor
弘和 三枝
Hirokazu Saegusa
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 JP2019185516A external-priority patent/JP6701423B2/ja
Priority claimed from JP2020077440A external-priority patent/JP6961746B2/ja
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2021167752A priority Critical patent/JP7322116B2/ja
Publication of JP2022009060A publication Critical patent/JP2022009060A/ja
Application granted granted Critical
Publication of JP7322116B2 publication Critical patent/JP7322116B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】タッチパネル用印刷設定ユーザーインターフェース(UI)の情報処理方法及びプログラムを提供する。【解決手段】デバイスアプリは、OSが印刷設定のコンフリクト処理を行うOSコンフリクト処理手段と、前記OSコンフリクト処理手段時に利用するためのコンフリクトルールを取得するOSコンフリクトルール取得手段と、複数の印刷設定項目が配置されたプリンタードライバーの印刷設定UIを表示する表示手段と、印刷設定UI上で、前記OSコンフリクト処理手段と同じコンフリクト処理をUI上で行うためのUIコンフリクト処理手段と、前記UIコンフリクト処理を行うために、OSコンフリクト処理手段時に利用するためのコンフリクトルールと同じコンフリクトルールを取得するUIコンフリクトルール取得手段と、をコンピュータに実行させる。【選択図】図8

Description

本発明は、タッチパネル用印刷設定ユーザーインターフェース(UI)の情報処理方法及びプログラムに関する。
従来のプリンタードライバーには、印刷不可能な設定の組み合わせをプリンタードライバーUI上で設定できないようにするコンフリクト処理が存在する。このプリンタードライバーUI上でのコンフリクト処理は、ユーザーが任意の一つの設定項目を変えるたびに、設定可能かどうかを確認し、設定不可能ならばユーザーにその旨を通知する及び、他の設定項目を変更、無効な設定を選択不可能にすることを行っており、ユーザーは設定不可能な項目を一目瞭然に把握することができた(特許文献1参照)。
しかし、近年のプリンタードライバーの中には、コンフリクト処理を行うためのルールのみを持ち、コンフリクト処理をOS(オペレーティングシステム)が行うものが出てきている(非特許文献1参照)。
このOSのコンフリクト処理は、二つのタイミングでコンフリクト処理を行うパターンが存在する。一つは、ユーザーが設定項目を変更するたびに、プリンタードライバーUIが、OSのコンフリクト処理を呼び出し、確認を行うこと。もう一つは、全ての印刷設定の変更が終了後に、一括してOSがコンフリクト処理を呼び出し、確認を行うことである。しかし、OSの二つのコンフリクト処理には、それぞれ問題がある。前者のユーザーが設定項目を変更するたびにOSのコンフリクト処理をドライバUIが呼び出し、確認を行う場合、OSのコンフリクト処理の実行速度が遅く、ユーザビリティが非常に低下してしまう。後者は、ユーザーが、一括でコンフリクト処理を行うので、どのように変更されたかを認識しづらい問題がある。これらの問題を解決するために、プリンタードライバーUIが独自に禁則ルールを持ち、そのルールに沿って独自にコンフリクト処理をかけるのが一般的である(非特許文献2参照)。
特開2003-99170号公報
http://msdn.microsoft.com/en-us/library/windows/hardware/ff562063(v=vs.85).aspx http://msdn.microsoft.com/en-us/library/windows/hardware/jj218731(v=vs.85).aspx
しかしながら、前述の方法だと、OSで行われるコンフリクト処理のためのルールと、プリンタードライバーが独自に行うリアルタイムコンフリクト処理のためのルールを二重で保守する必要があり、コンフリクトルールを保守するための工数が上昇する問題が存在する。
本発明の構成は、
プリンタードライバーと印刷設定UIを有する情報処理装置において、
OSが印刷設定のコンフリクト処理を行うOSコンフリクト処理手段(320)と、前記OSコンフリクト処理手段時に利用するためのコンフリクトルールを取得するOSコンフリクトルール取得手段(321)と、
複数の印刷設定項目が配置されたプリンタードライバーの印刷設定UIを表示する表示手段(600)と、
印刷設定UI上で、前記OSコンフリクト処理手段と同じコンフリクト処理をUI上で行うためのUIコンフリクト処理手段(S1003)と、
前記UIコンフリクト処理を行うために、OSコンフリクト処理手段時に利用するためのコンフリクトルールと同じコンフリクトルールを取得するUIコンフリクトルール取得手段(S1001)と、
複数の設定項目のうちの少なくとも1つに対する操作が行われたとき、複数の設定項目の依存関係に従って、各設定項目の操作可又は不可を示す印刷設定UIを表示する表示更新手段(S802)と、
前記操作不可である所定の設定項目が選択された場合、前記所定の設定項目が操作不可となった理由を表示する表示制御手段(S809)とを備えることを特徴とする情報処理方法及びプログラムである。
本発明によれば、独自コンフリクト処理とOSのコンフリクト処理が、同じルールを利用することで、OSのコンフリクト処理のためのルールと、独自コンフリクト処理のルールの保守を一括で行うことができ、開発工数を減らすことができる。
本発明の一実施形態としての、クライアントとサーバー、そしてプリンターが接続されたネットワークの構成図 本発明の一実施形態としてのコンピュータを含むシステムの構成図 本発明の一実施形態としてのソフトウェアブロック図 本発明の一実施形態としての印刷フローチャート 本発明の実施形態に係る印刷処理システムのストアアプリからの印刷時に表示される印刷設定画面の一例 本発明の一実施形態としてのデバイスアプリの詳細設定画面の一例 本発明の一実施形態としてのデバイスアプリのコンフリクトポップアップ画面の一例 本発明の一実施形態としてのデバイスアプリの呼び出し処理のフローチャート 本発明の一実施形態としての禁則処理モジュールの呼び出し処理のフローチャート UI上でコンフリクト処理をかけた際には、禁則処理モジュール(320)呼び出し処理(ステップS809)をスキップする処理のフローチャート 本発明の一実施形態としてのノンコンフリクト画面の一例 本発明の一実施形態としてのノンコンフリクト画面を表示する際の印刷のフローチャート 本発明の一実施形態としてのノンコンフリクト画面を表示するフローチャート 本発明の一実施形態としてのグラフィクスフィルターの処理のフローチャート 本発明の一実施形態としてのグラフィクスフィルターからデバイスアプリの禁則処理モジュールを利用するフローチャート 本発明の一実施形態としてのGPDファイルの禁則ルールの一例 本発明の一実施形態としてのGPDファイルの用紙サイズの設定項目情報の一例 本発明の一実施形態としてのGPDファイルの両面印刷の設定項目情報の一例
本発明に係る情報処理装置の一実施形態としてのコンピュータについて説明する。
図1は、本発明の印刷システムが適用可能な装置構成例を示す図である。本印刷システムは、PC(10)、プリンター(20)とから構成される。PC(10)とプリンター(20)はLAN(1)を介して接続されている。LAN(1)はイーサーネットの通信方式に対応している。PC(10)とプリンター(20)は有線LAN、無線LAN、BlueTooth(登録商標)、USBなどその他の接続形態によって接続されても良い。本発明に係る情報処理装置の一実施形態としてのコンピュータについて説明する。なお、図2は、本実施形態のコンピュータを含むプリンター制御システムの構成を説明するブロック図である。
PC(10)はホストコンピュータで、ROM(102)のプログラム用ROMあるいは外部メモリ(109)に記憶された各種プログラムを実行するCPU(101)を備える。さらに、システムバス(120)に接続される各デバイスをCPU(101)が総括的に制御する。また、このROM(102)あるいは外部メモリ(109)には、CPU(101)の制御プログラムであるOS等を記憶する。なお、本実施例ではOSはWindows(登録商標)とするが、他のOSであってもよい。
103はRAMで、CPU(101)の主メモリ、ワークエリア等として機能する。104はキーボードI/Fで、キーボード(105)やマウス・タッチパネルなどのポインティングデバイス(113)からのキー入力を制御する。106はディプレイI/Fで、ディスプレイ(107)の表示を制御する。
108は外部メモリI/Fで、ハードディスク(HD)、フロッピー(登録商標)ディスク(FD)等の外部メモリ(109)とのアクセスを制御する。外部メモリ(109)は、本発明の重要な位置を占めるアプリケーション(10901)、デバイスアプリ(10902)、プリンタードライバー(10903)、OS(10904)等の各種プログラムが格納される。本実施例においてはMicrosoft Windowsであることを想定しているが、これに限定されるものではない。
110はプリンターI/Fで、プリンター(111)との接続を行う。112はポインティングデバイスI/Fで、タッチパネルなどを含むポインティングデバイス(113)と接続する。なお、特に断らない限り、本発明の機能が実行されるのであれば、機器の構成に係わらず本発明を適用できることは言うまでもない。単体の機器であっても、複数の機器からなるシステムであっても、LAN,WAN等のネットワークを介して接続が為され処理が行われるシステムであってもよい。
図3に本発明が対象とするソフトウェアモジュールの一例をブロック図で示す。ブロック図の基本構成は、アプリケーション(10901)、印刷システム(109041)、プリンタードライバー(10903)、システムスプーラー(109042)、デバイスアプリ(10902)で構成されている。これらのソフトウェアモジュールは、外部メモリ(109)に格納されており、ユーザーの要求や、他のシステムの要求に応じて、外部メモリ(109)からRAM(103)にロードされ、CPU(101)で実行される。ここにおけるアプリケーション(10901)とは、ワードプロセッサやブラウザなどの一般的なアプリケーションである。
ディスプレイ(107)上にUIを表示し、ポインティングデバイス(113)やキーボード(105)などの入力機器によってユーザーの印刷要求を受け付ける。ユーザーの印刷要求を受けて、アプリケーション(10901)は、印刷システム(109041)へ印刷要求を出す。印刷システム(109041)は、OS(10904)のサブシステムである。
アプリケーション(10901)とプリンタードライバー(10903)の中間に位置し、印刷処理における共通処理の実行を行う。具体的な実行処理は、印刷対象プリンターの選択や、選択されたプリンタードライバー(10903)のPrintTicket(311)、PrintCapabilities(310)の生成、PrintTicket(311)のコンフリクト処理、XPS(XML Paper Specification)ファイルをPage Description Language(PDL)へ変換することである。PrintCapabilities(310)は、用紙サイズなどを含むプリンター(20)で実行可能な項目の一覧のデータである。
一方、PrintTicket(311)は、印刷時に利用される印刷設定の情報であり、印刷及びコンフリクト処理時などに利用される。PrintCappaiblities(310)とPrintTicket(311)は、アプリケーション(10901)から印刷システム(109041)経由でプリンタードライバー(10903)に生成の依頼がされる。
PrintCappaiblities(310)とPrintTicket(311)の生成を依頼されたプリンタードライバー(10903)がそれらを生成し、印刷システム(109041)経由でアプリケーション(10901)に渡すことで、アプリケーション(10901)は、選択されたプリンタードライバー(10903)関連の情報を利用することができる。
XPSファイル(312)は、アプリケーション(10901)から渡される印刷対象のデータであり、アプリケーション(10901)によってPrintTicket(311)の情報が付加されている。アプリケーション(10901)から印刷システム(109041)経由で、プリンタードライバー(10903)に渡され、PDL(314)に変換することで、プリンター(20)が印刷を行うことができる。
なお、PrintCapabilities(310)とPrintTicket(311)、XPSファイル(312)は、それぞれマークアップ言語で記述されている。
プリンタードライバー(10903)は、印刷出力先のプリンター(20)に依存する処理を受け持つモジュールであり、大きくわけて2つのブロックで構成されている。
ひとつは、印刷設定関連の情報を作成する印刷設定ブロック(109030)であり、PrintTicket(311)のコンフリクト処理とPrintCappaiblities(310)の作成を行う。印刷設定ブロック(109030)は、禁則処理モジュール(320)、GPDファイル(321)、ConstraintJavascript(322)から構成される。禁則処理モジュール(320)は、PrintTicket(311)のコンフリクト処理やPrintCappaiblities(310)の作成を担う。GPDファイル(321)は、禁則ルールや印刷時に設定できる項目等を記述してあるデータである。GPDファイル(321)は、詳細な説明は図16を用いて後述する。ConstraintJavascript(322)は、GPDファイル(321)に記述できない設定や禁則ルールをPrintTicket(311)やPrintCapabilities(310)に反映させるために呼ばれる。ただし、セキュリティ面を考慮されてインタープリンタ言語であるjavascriptで記述されたモジュールであり、ネイティブ言語と異なり、事前に最適化が行われていないため、実行時に非常に時間がかかる。禁則処理モジュール(320)がコンフリクト処理をする際に、呼び出し元からPrintTicket(311)を受け取り、次にGPDファイル(321)に記述されている禁則ルールの情報を読み出す。禁則処理モジュール(320)は、GPDファイルの情報を基にPrintTicket(311)のコンフリクト処理を行い、その後にConstraintJavascriptを呼び出し、GPDファイルに記述できない禁則ルールをPrintTicket(311)に適応する。これらの一連の処理により、コンフリクト処理が行われる。
次に、プリンタードライバー(10903)を構成するもう一つのブロックの、グラフィクスフィルター(10931)について説明する。グラフィクスフィルター(10931)は、XPSファイル(312)をPDL(314)に変換する部分である。XPSファイル(312)に付加されているPrintTicket(311)の情報を抽出し、その情報からPrintTicket(311)を生成する。グラフィクスフィルター(109031)は、PrintTicket(311)を基に、XPSファイル(312)をPDL(314)に変換する。次にデバイスアプリ(10902)の説明を行う。デバイスアプリ(10902)は、プリンタードライバー(10903)の補助アプリである。プリンタードライバー(10903)と同様にプリンター(20)に対応したソフトウェアで、PrintCapabilities(310)とPrintTicket(311)を解釈できる。デバイスアプリ(10902)は、詳細設定画面、デバイスメタデータ(330)、禁則処理モジュール(307)で構成される。デバイスメタデータ(330)は、プリンタードライバー(10903)とデバイスアプリ(10902)を関連付けるものである。デバイスアプリ(10902)が補助することができるプリンタードライバー(10903)が記述されており、デバイスアプリ(10902)は、デバイスメタデータ(330)に記述されているプリンタードライバー(10903)の補助を、デバイスアプリ(10902)で行うことができる。
なお、デバイスアプリ(10902)は、一つで複数の種類のプリンタードライバー(10903)を補助することが可能である。
禁則処理モジュール(307)は、プリンタードライバー(10903)内の禁則処理モジュール(320)と同様の処理を行えるモジュールである。ここで、同様というのは、PrintTicket(311)とGPDファイルをインプットとし、コンフリクト処理を施したPrintTicket(311)をアウトプットとしたときに、プリンタードライバー(10903)の禁則処理モジュール(307)とデバイスアプリ(10902)内の禁則処理モジュール(320)は、同じインプットから同じアウトプットを出力することを意味する。禁則処理モジュール(307)は、呼び出し元からPrintTicket(311)を渡され、次に、ドライバプロパティバッグ(331)内のGPDファイル(315)内の禁則ルールを読み込み、その情報を基にPrintTicket(311)にコンフリクト処理を行い、アウトプットとしてPrintTicket(311)を出力する。
GPDファイル(315)はインストール時点で、ドライバプロパティバッグ(331)に配置されており、内容はGPDファイル(321)と同じものである。これは、デバイスアプリ(10902)が、GPDファイル(321)にアクセスできないため、アクセス可能な場所にGPDファイル(315)を置き、コンフリクト処理時にインプットとして利用するためである。ドライバプロパティバッグ(331)は、インストール前に定義しておきたいデータを記憶しておくことができる記憶領域であり、プリンタードライバー(10903)やデバイスアプリ(10902)からアクセスすることができる。
次に、印刷設定ブロック(109030)内のGPDファイル(321)とドライバプロパティバッグ内のGPDファイル(315)について図16(a)、図16(b)、図16(c)を用いて説明する。GPDファイルは、コンフリクト処理の不適切な組み合わせ、用紙サイズなどの選択項目の選択肢のデータ等から構成されている。
1700は、コンフリクト処理を行う組み合わせの例である。コンフリクト処理の禁則ルールは、無効な設定の組み合わせを記述するようになっている。この図では、用紙サイズの「はがき」と両面印刷の「長辺両面」の組み合わせになっており、それぞれMedeaType.PostCard,DUPLEX.VERTICALで表現されている。1701は、用紙サイズの選択項目の設定が記述されていることを表しており、同様に、1702は、両面印刷の設定が記述されていることを表している。1703は、設定項目の選択肢であり、本図では用紙サイズの「はがき」の詳細なデータに関して記述してある例である。1704は、用紙サイズの禁則処理の優先度であり、値が低い設定項目ほど優先されることを表す。例えば、本図では用紙サイズは禁則処理の優先度は1であり、1705は両面印刷の優先度は15であることを示している。従って、1700のコンフリクト処理を行う際には、用紙サイズである「はがき」は変更されずに両面印刷の設定が変更される。
ここで、図4のフローチャートを用いて、印刷処理の概要を説明する。本処理は、まずユーザーの印刷要求を受けてアプリケーション(10901)が印刷システム(109041)へ印刷要求を出すことにより開始する。ステップS401では印刷システム(109041)が現在設置されているプリンタードライバー(10903)の情報を基に、印刷可能なプリンター(20)の一覧を示すUI(不図示)をディスプレイ(107)上に表示する。ステップS402ではプリンター(20)の一覧を示すUI上でユーザーによる出力プリンター(20)の選択を受けて、印刷システム(109041)は、該当のプリンタードライバー(10903)を外部メモリ(108)からRAM(103)にロードする、CPU(101)で実行する。ステップS403では、印刷システム(109041)経由で、プリンタードライバー(10903)にPrintCapabilities(310)とPrintTicket(311)の生成を依頼する。印刷設定ブロック(109030)の禁則処理モジュール(320)はそれぞれ、GPDファイル(321)を読み出し、PrintCapabilities(310)とPrintTicket(311)を生成する。生成されたPrintCapabilities(310)とPrintTicket(311)を基に印刷システム(109041)は、図5の印刷設定画面(501)を構成し、ディスプレイ(107)に表示する。
次にステップS404では、印刷設定画面(501)に対するユーザーからの操作を受け付ける。ステップS405では印刷システム(109041)が印刷設定画面(501)の「More Settings」リンク(502)が押下されたかの判定を行う。「More Settings」リンク(502)が押下されたと判断した場合、ステップS406にて、印刷システム(109041)がデバイスアプリ(10902)を呼び出す。この時の、ステップS406の処理に関しては後述する。「More Settings」リンク(502)が押下されていないと判断した場合はステップS407へ進む。
ステップS407では、印刷システム(109041)は印刷設定画面(501)の戻るボタン(503)の押下を受けてプリンタードライバー(10903)へ現在のPrintTicket(311)を受け渡す。ステップS408では、禁則処理モジュール(320)を呼び出し、印刷設定が有効かどうかを確認する。ここは、本実施例の重要な個所のため、詳細は後述する。検証の結果を基に、ステップS409では、全ての設定値が有効か判断を行い、有効な場合は印刷設定画面(501)を閉じてステップS410に処理を移行する。全ての設定が有効でなかった場合は、ステップS404に移り、ユーザーの操作を受け付ける。ステップS410で、印刷システム(109041)は、有効になった現在の設定のPrintTicket(311)をXPSファイル(312)に付加し、ステップS411で、XPSファイル(312)をグラフィクスフィルター(109031)へ出力する。グラフィクスフィルター(109031)でPDL(314)に変換する。ステップS411は、グラフィクスフィルター(109031)の呼び出し処理である。詳細について図14を用いて後述する。ステップS411にて、OS(10904)のサブシステムであるシステムスプーラー(109042)に受け渡されプリンター(20)に送信される。以上の処理を行うことで、印刷処理が実行される。
次に、グラフィクスフィルター(109031)の処理について、図14用いて説明する。ステップS1501では、グラフィクスフィルター(109031)が受け取ったXPSファイル(312)を解析し、PrintTicket(311)を取り出す。ステップS1502で禁則処理モジュール(320)を呼び出し、生成したPrintTicket(311)にコンフリクト処理を施す。ステップS1503へ処理を移行する。ステップS1503で、XPSファイル(312)からPDL(314)を生成し、処理を終了する。次に、詳細設定画面(600)について、図6を用いて説明する。詳細設定画面(600)は、印刷設定画面(501)では設定できない設定などを行うことを目的とした印刷設定画面である。この画面は、図5の「More Settings」リンク(502)が押下された際に表示される。図に示されている601は戻るボタンであり、ユーザーによってタップされることで印刷設定画面(501)に、印刷設定画面(501)に遷移する。602は、印刷設定の用紙サイズを設定する用紙サイズコントロールボックスであり、ユーザーがタップをすることで用紙サイズの一覧が表示され、選択したい用紙サイズで、タップしている指を離すことで、用紙サイズを変更することができる。
なお、本図では用紙サイズは「はがき」が設定されている。603は、片面、両面の印刷設定を行う片面両面選択コントロールボックスであり、ユーザーがタップすることで、片面、短辺両面、長辺両面の一覧が表示され、選択したい項目で指を離すことで、印刷設定を変更することができる。なお、本図では「片面」が選択されている。
デバイスアプリ(10902)の呼び出し処理に関して図のフローチャートを用いて説明を行う。なお、特に断らない限り本実施例のフローチャートの主体はデバイスアプリ(10902)である。ステップS801では、印刷システム(109041)を介してプリンタードライバー(10903)から用紙サイズを含むPrintTicket(311)を取得する。ステップS802では、取得したPrintTicket(311)を基に、詳細設定画面(600)の表示を行う。
ステップS803では、ユーザーからの操作を受け付ける。ユーザーによって戻るボタン(601)イベントが発生した場合は、ステップS804の戻るボタン(601)イベントの判別処理からからステップS810へ処理を移行する。ユーザー操作で、印刷設定が何も変更されなかった場合ステップS805の詳細設定画面(600)の印刷設定の変更の判別処理からステップS803へと処理を移行し、再度、ユーザー操作を受け付ける。ステップS805で詳細設定画面(600)の印刷設定の項目が変更された場合、ステップS806へ遷移し、UIの参照先となっているPrintTicket(311)の設定値を変更する。その後、ステップS807へ遷移し、禁則処理モジュール(307)を呼び出す。この内容は、本実施例の重要な位置を占めるため、後述する。
ステップS808では、コンフリクト処理によりPrintTicket(311)の設定値が変更されたかどうかの確認を行う。コンフリクト処理が行われた場合、ステップS809に遷移し、ユーザーにコンフリクト時に通知する。コンフリクト通知に関しては、後述する。ステップS810は、戻るボタン(601)がタップされた際に遷移し、印刷設定画面(501)に遷移する前に、印刷システム(109041)に処理を渡し、印刷システム(109041)が禁則処理モジュール(320)呼び出し処理を行い、PrintTicket(311)にコンフリクト処理を行う。これにより、印刷設定画面(501)に戻るときには、PrintTicket(311)の設定値は、印刷可能な設定になっている。
次に、コンフリクト時に、ユーザーに通知する手段について図7を用いて説明する。図の示す700は、コンフリクトポップアップ画面である。デバイスアプリ(10902)がコンフリクト処理を行った際に、コンフリクトが行われたことをユーザーに通知するために、表示される。次に具体的な一例を示す。片面両面選択コントロールボックス(603)に「両面長辺」を設定している時に、用紙サイズコントロールボックス(602)に「はがき」に設定すると、片面両面選択コントロールボックス(603)は「両面長辺」を「片面」に変更するコンフリクト処理を行う。これは、先述したとおり、GPDファイルに記述されている優先度に依存する。その際にコンフリクトポップアップ(700)にコンフリクト処理行われたことと、どの設定がコンフリクトなのかを表示することでユーザーに通知を行う。なお、本実施例ではポップアップを用いて説明しているが、他の通知手段であってもよい。また、コンフリクト処理による他のPrintTicket(311)の設定値の変更の時にも同様の処理が行われる。
次に、禁則処理モジュール(307)を呼び出す処理について図9を用いて説明する。ステップS1000で、禁則処理モジュール(307)は、PrintTicket(311)を呼び出し元から受け取る。ステップS1001では、禁則処理モジュール(307)は、ドライバプロパティバッグのGPDファイル(315)を読み込み、禁則ルールを把握する。ステップS1002では、PrintTicket(311)が有効であるかを判別し、無効ならばステップS1003へ処理を移行し、コンフリクト処理をかける。ステップS1004では、禁則処理モジュール(307)は、呼び出し元にコンフリクト処理を施したPrintTicket(311)を渡す。このように、禁則処理モジュール(307)は、GPDファイル(321)と同じ内容のファイルを利用しつつ、インタープリタ言語を呼び出さないため、保守性を担保しながら高速にコンフリクト処理を行うことができる。
実施例1では、UI上でのリアルタイムコンフリクトをかけることの保守性について言及したが、UI上でのリアルタイムコンフリクトをかけると図8のステップS810の禁則処理モジュール呼び出し処理と、二重でコンフリクト処理をかけており、また、インタープリタ言語を利用する禁則処理モジュール(320)を利用するため、処理が遅くなる問題が存在する。しかし、ステップS810の処理を行わないと、ユーザーが詳細設定画面(600)の印刷設定を変更しなかった際に、一度もコンフリクト処理を行わないPrintTicket(311)が生成されてしまう。これは、PrintTicket(311)が有効な設定値であることを保証できない。
そこで、実施例2では、UI上でコンフリクト処理をかけた際には、禁則処理モジュール(320)呼び出し処理(ステップS809)をスキップし、UI上でコンフリクト処理をかけなかった際には、戻るボタン(601)イベント発生時に禁則処理モジュール(307)を呼び出す方法について図10を用いて説明する。なお、特に断らない限り本実施例のフローチャートの主体はデバイスアプリ(10902)である。ステップS1101からステップS1106までは、ステップS801からステップS806までと同じため、説明は省略する。
ステップS1107では、ユーザーが一度でもPrintTicket(311)を変更していた場合、変更されたことを示すChangedフラグをたてる。Changedフラグはデバイスアプリ(10902)内で保持するフラグである。ステップS1108からステップS1110までは、ステップS807からステップS809までと同じため説明は省略する。
ステップS1109では、ユーザーが一度でもPrintTicket(311)を変更しているかどうかを判別する。Changedフラグが立っていない場合、ステップS1110へ遷移し、禁則処理モジュール(307)がコンフリクト処理を行う。これにより、インタープリタ言語を利用している禁則処理モジュール(320)を利用せずに、必ずコンフリクト処理を行うことができ、また重複するコンフリクト処理を行わないため、デバイスアプリ(10902)の呼び出し処理全体で、コンフリクト処理を高速化することができる。
実施例2では、UI上でコンフリクト処理をかけた際には、禁則処理モジュール呼び出し処理(S810)をスキップできる方法について説明したが、UI上でコンフリクト処理をかけたくても、かけられない状態が存在する。例えば、デバイスアプリ(10902)がサポートしているプリンタードライバー(10903)の中には、ドライバプロパティバッグ(331)にGPDファイル(315)を保持していないものが存在する。その場合、実施例1のようなUI上でのコンフリクト処理を行うことができない。
そこで、本実施例では、GPDファイル(315)を保持していないプリンタードライバー(10903)には、UI上でコンフリクト処理をかけなくて済むUIを表示する手段について説明する。図11では、ノンコンフリクト画面について説明する。1200はノンコンフリクト画面であり、GPDファイル(315)が存在しなかった場合に表示される。1201は、戻るボタンであり、詳細設定画面(600)の戻るボタン(601)と同様、ユーザーにタップされることで印刷設定画面(501)に遷移するイベントを起動し、印刷設定画面(501)に遷移する。1202は、用紙サイズコントロールボックス(602)と同様の印刷時に利用される用紙のサイズを設定する用紙サイズコントロールボックスであり、ユーザーがタップをすることで用紙サイズを変更することができる。図12、図13は、ノンコンフリクト画面(1200)を表示するフローチャートである。なお、特に断らない限り、図12、図13の主語はデバイスアプリ(10902)である。
ステップS1301では、ドライバプロパティバッグ(331)にGPDファイル(315)が存在するかどうかを確認する。存在している場合は、禁則処理モジュール(307)を呼び出せることを意味するので、ステップS1303へ遷移し、詳細設定画面(600)を表示するための処理を行う。なおステップS1303からS1314までは、ステップS1101からS1112までと同じため、説明は省略する。GPDファイル(315)が存在しない場合、禁則処理モジュール(307)を呼び出せないことを意味するので、ステップS1302へ遷移し、ノンコンフリクト画面を表示するための処理フローを行う。
次に、ノンコンフリクト画面を表示するための処理フローについて図13を用いて説明する。ステップS1401は、PrintTicket(311)を取得する。ステップS1402はノンコンフリクト画面(1200)にPrintTicket(311)の設定値を反映させ、表示を行う。ステップS1403では、ユーザー操作を受け付ける。
ステップS1404では、戻るボタン(1201)イベントの発生を確認する。ユーザーが戻るボタンをタップせずに、ステップS1404に遷移し、ノンコンフリクト画面(1200)の印刷設定が変更すると、ステップS1405で、PrintTicket(311)の設定値を変更し、ステップS1402で、コンフリクトの確認をせずノンコンフリクト画面(1200)にPrintTicket(311)を反映させて表示する。印刷設定が変更されなかった場合は、ステップS1403へ遷移し、ユーザー操作を再度受け付ける。ステップS1404では、戻るボタン(1201)を押されることにより、戻るボタンイベントが発生する。この際に、ステップS1407にあるように、ノンコンフリクト画面(1200)は、OS(10904)がコンフリクト処理を行い、PrintTicket(311)を印刷可能な設定にする。その後、印刷設定画面(501)に遷移する。これにより、GPDファイル(315)が存在する状況としない状況とで、最も高速かつ正確なコンフリクト処理を行うことができる。
実施例1では、UI上でのコンフリクトのパフォーマンスについて言及したが、同様の処理をグラフィクスフィルター(109031)で行うこともできる。実施例4では、グラフィクスフィルター(109031)からデバイスアプリ(10902)の禁則処理モジュール(307)を利用する手段について図15を用いて説明する。なお、特に断らない限り本実施例のフローチャートの主体はグラフィクスフィルター(109031)である。
ステップS1601では、グラフィクスフィルター(109031)がXPSファイル(312)の解析を行い、PrintTicket(311)を取り出す。ステップS1602では、グラフィクスフィルター(109031)は、GPDファイル(315)が存在しているかを確認する。GPDファイル(315)が存在していた場合は、ステップS1603へ遷移し、デバイスアプリ(10902)の禁則処理モジュール(307)を呼び出す。GPDファイル(315)が存在していなかった場合、ステップS1604へ遷移し、プリンタードライバー(10903)の禁則処理モジュール(320)を呼び出す。その後、グラフィクスフィルター(109031)は、XPSファイル(312)からPDL(314)を生成する。これにより、グラフィクスフィルター(109031)は、GPDファイル(315)が存在する状況において、禁則処理モジュール(307)を呼び出し、高速にコンフリクト処理を行うことができる。
1 LAN、10 PC、20 プリンター
本発明は、印刷設定UIを表示するためのアプリケーションに関する。
しかしながら、例えば、ユーザからの印刷に関する指示を受取ったことに基づいて、第1の印刷設定UIであって、第2の印刷設定UIを開くためのオブジェクト及びプリンタの情報を含む第1の印刷設定UIをコンピュータに当該コンピュータのディスプレイへと表示させるための処理を行う第1のアプリケーションとは異なる第2のアプリケーションであって、 前記第2のアプリケーションは、前記第2の印刷設定UIをディスプレイに表示させる第1の表示制御工程と、前記第2の印刷設定UIに対するユーザからの操作に基づいて印刷設定を変更する変更工程と、前記変更工程で変更された後の印刷設定と共存できない印刷設定を判定する判定工程と、前記判定の結果に基づく第3の印刷設定UIを前記ディスプレイに表示させる第2の表示制御工程とを前記コンピュータに実行させることを特徴とする第2のアプリケーションは知られていなかった。
本発明の構成は、ユーザからの印刷に関する指示を受取ったことに基づいて、第1の印刷設定UIであって、第2の印刷設定UIを開くためのオブジェクト及びプリンタの情報を含む第1の印刷設定UIをコンピュータに当該コンピュータのディスプレイへと表示させるための処理を行う第1のアプリケーションとは異なる第2のアプリケーションであって、
前記第2のアプリケーションは、前記第2の印刷設定UIをディスプレイに表示させる第1の表示制御工程と、前記第2の印刷設定UIに対するユーザからの操作に基づいて印刷設定を変更する変更工程と、前記変更工程で変更された後の印刷設定と共存できない印刷設定を判定する判定工程と、前記判定の結果に基づく第3の印刷設定UIを前記ディスプレイに表示させる第2の表示制御工程とを前記コンピュータに実行させることを特徴とする第2のアプリケーションである。
本発明によれば、例えば、ユーザからの印刷に関する指示を受取ったことに基づいて、第1の印刷設定UIであって、第2の印刷設定UIを開くためのオブジェクト及びプリンタの情報を含む第1の印刷設定UIをコンピュータに当該コンピュータのディスプレイへと表示させるための処理を行う第1のアプリケーションとは異なる第2のアプリケーションであって、前記第2のアプリケーションは、前記第2の印刷設定UIをディスプレイに表示させる第1の表示制御工程と、前記第2の印刷設定UIに対するユーザからの操作に基づいて印刷設定を変更する変更工程と、前記変更工程で変更された後の印刷設定と共存できない印刷設定を判定する判定工程と、前記判定の結果に基づく第3の印刷設定UIを前記ディスプレイに表示させる第2の表示制御工程とを前記コンピュータに実行させることを特徴とする第2のアプリケーションを提供できる。

Claims (4)

  1. プリンタードライバーと印刷設定UIを有する情報処理装置において、
    OSが印刷設定のコンフリクト処理を行うOSコンフリクト処理手段(320)と、前記OSコンフリクト処理手段時に利用するためのコンフリクトルールを取得するOSコンフリクトルール取得手段(321)と、
    複数の印刷設定項目が配置されたプリンタードライバーの印刷設定UIを表示する表示手段(600)と、
    印刷設定UI上で、前記OSコンフリクト処理手段と同じコンフリクト処理をUI上で行うためのUIコンフリクト処理手段(S1003)と、
    前記UIコンフリクト処理を行うために、OSコンフリクト処理手段時に利用するためのコンフリクトルールと同じコンフリクトルールを取得するUIコンフリクトルール取得手段(S1001)と、
    複数の設定項目のうちの少なくとも1つに対する操作が行われたとき、複数の設定項目の依存関係に従って、各設定項目の操作可又は不可を示す印刷設定UIを表示する表示更新手段(S802)と、
    前記操作不可である所定の設定項目が選択された場合、前記所定の設定項目が操作不可となった理由を表示する表示制御手段(S809)とを備えることを特徴とする情報処理方法及びプログラム。
  2. 請求項1に記載の情報処理方法であって、印刷設定UIでUIコンフリクト処理を行われたかどうかを判別する判別手段(S1107、S1111)と、行われていない場合に、OSコンフリクト処理手段を行わないことと、前記UIコンフリクト処理手段により、コンフリクト処理行う(S1112)ことを特徴とする情報処理装置及びプログラム。
  3. 請求項1に記載の情報処理方法およびプログラムであって、前記UIコンフリクト処理手段で利用するUIコンフリクトルールの存在の有無を確認する確認手段(S1301)と、存在しなかった際にUIコンフリクト処理を行わない印刷設定UIを表示する表示手段(S1302)を有することを特徴とする情報処理方法及びプログラム。
  4. 請求項1に記載の情報処理方法およびプログラムであって、プリンタードライバーで、OSコンフリクト処理手段時に利用するためのコンフリクトルールの存在の有無を確認する確認手段(S1602)と、存在している場合に、プリンタードライバーから、前記UIコンフリクト処理手段を利用してコンフリクト処理を行う手段(S1603)を有することを特徴とする情報処理装置及びプログラム。
JP2021167752A 2019-10-08 2021-10-12 印刷設定uiを表示するためのアプリケーション Active JP7322116B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021167752A JP7322116B2 (ja) 2019-10-08 2021-10-12 印刷設定uiを表示するためのアプリケーション

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2019185516A JP6701423B2 (ja) 2019-10-08 2019-10-08 アプリケーション及び情報処理装置
JP2020077440A JP6961746B2 (ja) 2019-10-08 2020-04-24 印刷設定画面を表示する機能を持つアプリケーション、及び、情報処理装置
JP2021167752A JP7322116B2 (ja) 2019-10-08 2021-10-12 印刷設定uiを表示するためのアプリケーション

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2020077440A Division JP6961746B2 (ja) 2019-10-08 2020-04-24 印刷設定画面を表示する機能を持つアプリケーション、及び、情報処理装置

Publications (2)

Publication Number Publication Date
JP2022009060A true JP2022009060A (ja) 2022-01-14
JP7322116B2 JP7322116B2 (ja) 2023-08-07

Family

ID=87852722

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021167752A Active JP7322116B2 (ja) 2019-10-08 2021-10-12 印刷設定uiを表示するためのアプリケーション

Country Status (1)

Country Link
JP (1) JP7322116B2 (ja)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008186114A (ja) * 2007-01-29 2008-08-14 Konica Minolta Business Technologies Inc 制御装置及び制御方法並びに制御プログラム
JP2009163574A (ja) * 2008-01-08 2009-07-23 Canon Inc 情報処理装置、印刷設定制御方法、及びコンピュータプログラム
JP2010244317A (ja) * 2009-04-07 2010-10-28 Seiko Epson Corp プリンタードライバー
JP2011123730A (ja) * 2009-12-11 2011-06-23 Fuji Xerox Co Ltd 印刷制御装置、禁則管理装置及びプログラム
JP2011133995A (ja) * 2009-12-22 2011-07-07 Fuji Xerox Co Ltd 印刷制御装置及びプログラム
JP2012053627A (ja) * 2010-08-31 2012-03-15 Canon Inc 印刷制御装置及びその制御方法
JP2012181823A (ja) * 2011-02-09 2012-09-20 Ricoh Co Ltd 情報処理装置及びプログラム
JP2013037391A (ja) * 2011-08-03 2013-02-21 Canon Inc 情報処理装置、制御方法、プログラム
JP2013186835A (ja) * 2012-03-09 2013-09-19 Canon Inc 情報処理装置、情報処理方法とプログラム

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008186114A (ja) * 2007-01-29 2008-08-14 Konica Minolta Business Technologies Inc 制御装置及び制御方法並びに制御プログラム
JP2009163574A (ja) * 2008-01-08 2009-07-23 Canon Inc 情報処理装置、印刷設定制御方法、及びコンピュータプログラム
JP2010244317A (ja) * 2009-04-07 2010-10-28 Seiko Epson Corp プリンタードライバー
JP2011123730A (ja) * 2009-12-11 2011-06-23 Fuji Xerox Co Ltd 印刷制御装置、禁則管理装置及びプログラム
JP2011133995A (ja) * 2009-12-22 2011-07-07 Fuji Xerox Co Ltd 印刷制御装置及びプログラム
JP2012053627A (ja) * 2010-08-31 2012-03-15 Canon Inc 印刷制御装置及びその制御方法
JP2012181823A (ja) * 2011-02-09 2012-09-20 Ricoh Co Ltd 情報処理装置及びプログラム
JP2013037391A (ja) * 2011-08-03 2013-02-21 Canon Inc 情報処理装置、制御方法、プログラム
JP2013186835A (ja) * 2012-03-09 2013-09-19 Canon Inc 情報処理装置、情報処理方法とプログラム

Also Published As

Publication number Publication date
JP7322116B2 (ja) 2023-08-07

Similar Documents

Publication Publication Date Title
US11016782B2 (en) Information processing apparatus, information processing method, and storage medium
EP3846019B1 (en) Information processing apparatus and method of controlling the same
US10846032B2 (en) Information processing apparatus and method of controlling information processing apparatus, with display control for displaying print setting screens as data become available
JP5621793B2 (ja) 印刷システム、印刷制御装置、および印刷制御プログラム
JP6184212B2 (ja) 情報処理装置および制御方法およびプログラム
JP5235695B2 (ja) 印刷制御装置とその制御方法
CN109976681B (zh) 信息处理装置、图像形成装置和计算机可读取的记录介质
JP2014109854A (ja) 情報処理装置および制御方法およびプログラム
JP2012168894A (ja) 情報処理装置、印刷方法、及びプログラム
JP2017194766A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP6961746B2 (ja) 印刷設定画面を表示する機能を持つアプリケーション、及び、情報処理装置
JP6362423B2 (ja) リアルタイムコンフリクト処理システム
JP7322116B2 (ja) 印刷設定uiを表示するためのアプリケーション
JP6639570B2 (ja) アプリケーションプログラム
JP6701423B2 (ja) アプリケーション及び情報処理装置
JP2009211713A (ja) ユーザインタフェース制御装置および方法
JP2017130080A (ja) 印刷制御プログラムおよび印刷制御装置
US20190258436A1 (en) Information processing apparatus, control method of information processing apparatus, and program
JP6007015B2 (ja) 画像形成装置及び画像形成プログラム
JP5726344B2 (ja) 情報処理装置、制御方法、プログラム
JP2021012430A (ja) 情報処理装置、情報処理方法およびプログラム
JP2020201829A (ja) 情報処理装置、情報処理方法、及びプログラム
JP2007079743A (ja) 情報処理装置及びその制御方法、プログラム
JP2006228103A (ja) 情報処理装置
JP2016033771A (ja) 画像形成制御装置及び画像形成制御システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211108

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221011

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230404

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230529

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230627

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230726

R151 Written notification of patent or utility model registration

Ref document number: 7322116

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151