JP2020017304A - アプリケーション及び情報処理装置 - Google Patents

アプリケーション及び情報処理装置 Download PDF

Info

Publication number
JP2020017304A
JP2020017304A JP2019185516A JP2019185516A JP2020017304A JP 2020017304 A JP2020017304 A JP 2020017304A JP 2019185516 A JP2019185516 A JP 2019185516A JP 2019185516 A JP2019185516 A JP 2019185516A JP 2020017304 A JP2020017304 A JP 2020017304A
Authority
JP
Japan
Prior art keywords
print setting
setting screen
information
application
printer
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
JP2019185516A
Other languages
English (en)
Other versions
JP6701423B2 (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
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2019185516A priority Critical patent/JP6701423B2/ja
Publication of JP2020017304A publication Critical patent/JP2020017304A/ja
Priority to JP2020077440A priority patent/JP6961746B2/ja
Application granted granted Critical
Publication of JP6701423B2 publication Critical patent/JP6701423B2/ja
Priority to JP2021167752A priority patent/JP7322116B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】 印刷データの出力先のプリンターが互いに共通しており、かつ、何れも印刷設定画面を構築しない第1及び第2のプリンタードライバーの何れとも分離しているアプリケーションであって、前記第1のプリンタードライバーの情報を受け取った場合と前記第2のプリンタードライバーの情報を受け取った場合とでは、異なる印刷設定画面情報を選択するアプリケーションは知られていなかった。【解決手段】 上記知られていなかったアプリケーションを提供する。【選択図】 図8

Description

本発明は、印刷設定画面情報を選択するアプリケーション及び情報処理装置に関する。
従来のプリンタードライバーには、印刷不可能な設定の組み合わせをプリンタードライバー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
しかしながら、印刷データの出力先のプリンターが互いに共通しており、かつ、何れも印刷設定画面を構築しない第1及び第2のプリンタードライバーの何れとも分離しているアプリケーションであって、前記第1のプリンタードライバーの情報を受け取った場合と前記第2のプリンタードライバーの情報を受け取った場合とでは、異なる印刷設定画面情報を選択するアプリケーションは知られていなかった。
本発明に係るアプリケーションは、印刷データの出力先のプリンターが互いに共通しており、かつ、何れも印刷設定画面を構築しない第1及び第2のプリンタードライバーの何れとも分離しているアプリケーションであって、 所定の印刷設定画面内の所定のオブジェクトがユーザにより選択された際に、当該アプリケーションは、前記コンピュータに、
前記第1及び第2のプリンタードライバーを含む複数のプリンタードライバーのうちの何れかのプリンタードライバーの情報を受け取る受取工程と、前記受け取った情報に基づいて、互いに異なる印刷設定画面を構築可能な複数の印刷設定画面情報から、表示に用いる印刷設定画面情報を選択する選択工程と、前記選択された印刷設定画面情報に基づいて印刷設定画面を前記コンピュータのディスプレイに表示させる工程と、を実行させ、前記第1のプリンタードライバーの情報を受け取った場合と前記第2のプリンタードライバーの情報を受け取った場合とでは、前記選択工程で異なる印刷設定画面情報を選択することを特徴とするアプリケーション。
本発明によれば、印刷データの出力先のプリンターが互いに共通しており、かつ、何れも印刷設定画面を構築しない第1及び第2のプリンタードライバーの何れとも分離しているアプリケーションであって、前記第1のプリンタードライバーの情報を受け取った場合と前記第2のプリンタードライバーの情報を受け取った場合とでは、異なる印刷設定画面情報を選択するアプリケーションを提供することができる。
本発明の一実施形態としての、クライアントとサーバー、そしてプリンターが接続されたネットワークの構成図 本発明の一実施形態としてのコンピュータを含むシステムの構成図 本発明の一実施形態としてのソフトウェアブロック図 本発明の一実施形態としての印刷フローチャート 本発明の実施形態に係る印刷処理システムのストアアプリからの印刷時に表示される印刷設定画面の一例 本発明の一実施形態としてのデバイスアプリの詳細設定画面の一例 本発明の一実施形態としてのデバイスアプリのコンフリクトポップアップ画面の一例 本発明の一実施形態としてのデバイスアプリの呼び出し処理のフローチャート 本発明の一実施形態としての禁則処理モジュールの呼び出し処理のフローチャート 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 プリンター

Claims (36)

  1. 印刷データの出力先のプリンターが互いに共通しており、かつ、何れも印刷設定画面を構築しない第1及び第2のプリンタードライバーの何れとも分離しているアプリケーションであって、
    所定の印刷設定画面内の所定のオブジェクトがユーザにより選択された際に、
    当該アプリケーションは、前記コンピュータに、
    前記第1及び第2のプリンタードライバーを含む複数のプリンタードライバーのうちの何れかのプリンタードライバーの情報を受け取る受取工程と、
    前記受け取った情報に基づいて、互いに異なる印刷設定画面を構築可能な複数の印刷設定画面情報から、表示に用いる印刷設定画面情報を選択する選択工程と、
    前記選択された印刷設定画面情報に基づいて印刷設定画面をディスプレイに表示させる工程と、を実行させ、
    前記第1のプリンタードライバーの情報を受け取った場合と前記第2のプリンタードライバーの情報を受け取った場合とでは、前記選択工程で異なる印刷設定画面情報を選択することを特徴とするアプリケーション。
  2. 印刷データの出力先のプリンターが互いに共通している第1及び第2のプリンタードライバーの何れとも分離しているアプリケーションであって、
    当該アプリケーションは、所定の印刷設定画面内の所定オブジェクトがユーザにより選択されたことに従って実行され、
    当該アプリケーションは、前記コンピュータに実行されることによって、
    前記第1及び第2のプリンタードライバーを含む複数のプリンタードライバーのうちの何れかのプリンタードライバーの情報を受け取り、
    前記受け取った情報に基づいて、互いに異なる印刷設定画面を構築可能な複数の印刷設定画面情報から、表示に用いる印刷設定画面情報を選択し、
    前記選択された印刷設定画面情報に基づいて印刷設定画面をディスプレイに表示させ、
    前記第1のプリンタードライバーの情報を受け取った場合と前記第2のプリンタードライバーの情報を受け取った場合とでは、異なる印刷設定画面情報を選択することを特徴とするアプリケーション。
  3. 印刷データの出力先のプリンターが互いに共通している第1及び第2のプリンタードライバーの何れとも分離しているアプリケーションであって、
    当該アプリケーションは、所定の印刷設定画面内の所定のオブジェクトがユーザにより選択されたことに従って起動され、
    当該アプリケーションは、前記コンピュータに起動されることによって、
    前記第1及び第2のプリンタードライバーを含む記複数のプリンタードライバーのうちの何れかのプリンタードライバーの情報を受け取る工程と、
    前記受け取った情報に基づいて、互いに異なる印刷設定画面を構築可能な複数の印刷設定画面情報から、表示に用いる印刷設定画面情報を選択する工程と、
    前記選択された印刷設定画面情報に基づいて印刷設定画面をディスプレイに表示させる工程と、を実行させ、
    前記第1のプリンタードライバーの情報を受け取った場合と前記第2のプリンタードライバーの情報を受け取った場合とでは、前記選択工程で異なる印刷設定画面情報を選択することを特徴とするアプリケーション。
  4. 前記アプリケーションは、前記所定のオブジェクトがユーザにより選択されたことに従って起動される実行型アプリケーションであることを特徴とする請求項1乃至3の何れか1項に記載のアプリケーション。
  5. 前記アプリケーションは、前記コンピュータに実行されることにより、前記選択された印刷設定画面情報から、前記表示させる印刷設定画面を構築することを特徴とする請求項4に記載のアプリケーション。
  6. 前記所定の印刷設定画面上で設定できる印刷設定項目とは異なる印刷設定項目の設定を、前記表示された印刷設定画面上で設定できることを特徴とする請求項5に記載のアプリケーション。
  7. 前記所定の印刷設定画面上で設定できる印刷設定項目には、用紙サイズが含まれることを特徴とする請求項6に記載のアプリケーション。
  8. 前記所定のオブジェクトとは、その他の設定を示すボタンであることを特徴とする請求項1乃至7の何れか1項に記載のアプリケーション。
  9. 前記受け取る情報は、前記複数のプリンタードライバーのうちの選択されているプリンタードライバーの情報であり、
    前記選択された印刷設定画面情報に基づいて表示された印刷設定画面上でユーザにより行われた印刷設定を、前記アプリケーションは、前記選択されているプリンタードライバーに提供することを特徴とする請求項1乃至8の何れか1項に記載のアプリケーション。
  10. 前記複数の印刷設定画面情報は、印刷設定画面が表示された際にユーザが設定できる印刷設定項目が互いに異なる複数の印刷設定画面情報を含むことを特徴とする請求項1乃至9の何れか1項に記載のアプリケーション。
  11. 前記複数のプリンタードライバーは、いずれも、XPSファイルをPDLに変換することができるプリンタードライバーであることを特徴とする請求項1乃至10の何れか1項に記載のアプリケーション。
  12. 前記複数の印刷設定画面情報を内包することを特徴とする請求項1乃至11の何れか1項に記載のアプリケーション。
  13. 前記複数のプリンタードライバーは、いずれも、印刷設定画面情報を内包しないことを特徴とする請求項1乃至12の何れか1項に記載のアプリケーション。
  14. 印刷設定画面情報とは、印刷設定画面を構築するための情報であることを特徴とする請求項1乃至13の何れかに記載のアプリケーション。
  15. 前記情報は、前記プリンタードライバーからではなく、前記プリンタードライバーとは分離した領域から受け取ることを特徴とする請求項1乃至14の何れか1項に記載のアプリケーション。
  16. 前記領域は、オペレーティングシステム内のドライバプロパティバッグであることを特徴とする請求項1乃至15の何れか1項に記載のアプリケーション。
  17. 前記所定の印刷設定画面は、オペレーティングシステムにおける印刷用のモジュールによって提供される画面であることを特徴とする請求項1乃至16の何れか1項に記載のアプリケーション。
  18. 複数のプリンタードライバーと分離しているアプリケーションとは、前記複数のプリンタードライバーの何れにも含まれておらず、かつ、前記複数のプリンタードライバーとは別のアプリケーションであることを特徴とする請求項1乃至17の何れか1項に記載のアプリケーション。
  19. 印刷データの出力先のプリンターが互いに共通しており、かつ、何れも印刷設定画面を構築しない第1及び第2のプリンタードライバーの何れとも分離しているアプリケーションがインストールされた情報処理装置であって、
    所定の印刷設定画面内の所定のオブジェクトがユーザにより選択された際に、
    前記情報処理装置は、前記アプリケーションの命令により、
    前記第1及び第2のプリンタードライバーを含む複数のプリンタードライバーのうちの何れかのプリンタードライバーの情報を受け取り、
    前記受け取った情報に基づいて、互いに異なる印刷設定画面を構築可能な複数の印刷設定画面情報から、表示に用いる印刷設定画面情報を選択し、
    前記選択された印刷設定画面情報に基づいて印刷設定画面をディスプレイに表示させ、
    前記第1のプリンタードライバーの情報を受け取った場合と前記第2のプリンタードライバーの情報を受け取った場合とでは、異なる印刷設定画面情報を選択することを特徴とする情報処理装置。
  20. 印刷データの出力先のプリンターが互いに共通している第1及び第2のプリンタードライバーの何れとも分離しているアプリケーションがインストールされた情報処理装置であって、
    所定の印刷設定画面内の所定オブジェクトがユーザにより選択されたことに従って前記情報処理装置は前記アプリケーションを実行し、
    前記アプリケーションは、前記情報処理装置に実行されることによって、
    前記第1及び第2のプリンタードライバーを含む複数のプリンタードライバーのうちの何れかのプリンタードライバーの情報を受け取り、
    前記受け取った情報に基づいて、互いに異なる印刷設定画面を構築可能な複数の印刷設定画面情報から、表示に用いる印刷設定画面情報を選択し、
    前記選択された印刷設定画面情報に基づいて印刷設定画面を前記コンピュータのディスプレイに表示させ、
    前記第1のプリンタードライバーの情報を受け取った場合と前記第2のプリンタードライバーの情報を受け取った場合とでは、異なる印刷設定画面情報を選択することを特徴とする情報処理装置。
  21. 印刷データの出力先のプリンターが互いに共通している第1及び第2のプリンタードライバーの何れとも分離しているアプリケーションがインストールされた情報処理装置であって、
    所定の印刷設定画面内の所定オブジェクトがユーザにより選択されたことに従って前記情報処理装置は前記アプリケーションを起動し、
    前記アプリケーションは、前記情報処理装置に起動されたことに従って、
    前記第1及び第2のプリンタードライバーを含む複数のプリンタードライバーのうちの何れかのプリンタードライバーの情報を受け取り、
    前記受け取った情報に基づいて、互いに異なる印刷設定画面を構築可能な複数の印刷設定画面情報から、表示に用いる印刷設定画面情報を選択し、
    前記選択された印刷設定画面情報に基づいて印刷設定画面を前記コンピュータのディスプレイに表示させ、
    前記第1のプリンタードライバーの情報を受け取った場合と前記第2のプリンタードライバーの情報を受け取った場合とでは、異なる印刷設定画面情報を選択することを特徴とする情報処理装置。
  22. 前記アプリケーションは、前記所定のオブジェクトがユーザにより選択されたことに従って起動される実行型アプリケーションであることを特徴とする請求項19乃至21の何れか1項に記載の情報処理装置。
  23. 前記アプリケーションは、前記コンピュータに実行されることにより、前記選択された印刷設定画面情報から、前記表示させる印刷設定画面を構築することを特徴とする請求項22に記載の情報処理装置。
  24. 前記所定の印刷設定画面上で設定できる印刷設定項目とは異なる印刷設定項目の設定を、前記表示された印刷設定画面上で設定できることを特徴とする請求項23に記載の情報処理装置。
  25. 前記所定の印刷設定画面上で設定できる印刷設定項目には、用紙サイズが含まれることを特徴とする請求項24に記載の情報処理装置。
  26. 前記所定のオブジェクトとは、その他の設定を示すボタンであることを特徴とする請求項19乃至25の何れか1項に記載の情報処理装置。
  27. 前記受け取る情報は、前記複数のプリンタードライバーのうちの選択されているプリンタードライバーの情報であり、
    前記選択された印刷設定画面情報に基づいて表示された印刷設定画面上でユーザにより行われた印刷設定を、前記アプリケーションから、前記選択されているプリンタードライバーに提供することを特徴とする請求項19乃至26の何れか1項に記載の情報処理装置。
  28. 前記複数の印刷設定画面情報は、印刷設定画面が表示された際にユーザが設定できる印刷設定項目が互いに異なる複数の印刷設定画面情報を含むことを特徴とする請求項19乃至27の何れか1項に記載の情報処理装置。
  29. 前記複数のプリンタードライバーは、いずれも、XPSファイルをPDLに変換することができるプリンタードライバーであることを特徴とする請求項19乃至28の何れか1項に記載の情報処理装置。
  30. 前記複数の印刷設定画面情報を内包することを特徴とする請求項19乃至29の何れか1項に記載の情報処理装置。
  31. 前記複数のプリンタードライバーは、いずれも、印刷設定画面情報を内包しないことを特徴とする請求項19乃至30の何れか1項に記載の情報処理装置。
  32. 印刷設定画面情報とは、印刷設定画面を構築するための情報であることを特徴とする請求項19乃至31の何れかに記載の情報処理装置。
  33. 前記情報は、前記プリンタードライバーからではなく、前記プリンタードライバーとは分離した領域から受け取ることを特徴とする請求項19乃至32の何れか1項に記載の情報処理装置。
  34. 前記領域は、オペレーティングシステム内のドライバプロパティバッグであることを特徴とする請求項19乃至33の何れか1項に記載の情報処理装置。
  35. 前記所定の印刷設定画面は、オペレーティングシステムにおける印刷用のモジュールによって提供される画面であることを特徴とする請求項19乃至34の何れか1項に記載の情報処理装置。
  36. 複数のプリンタードライバーと分離しているアプリケーションとは、前記複数のプリンタードライバーの何れにも含まれておらず、かつ、前記複数のプリンタードライバーとは別のアプリケーションであることを特徴とする請求項19乃至35の何れか1項に記載の情報処理装置。
JP2019185516A 2019-10-08 2019-10-08 アプリケーション及び情報処理装置 Active JP6701423B2 (ja)

Priority Applications (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を表示するためのアプリケーション

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019185516A JP6701423B2 (ja) 2019-10-08 2019-10-08 アプリケーション及び情報処理装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2018117800A Division JP6639570B2 (ja) 2018-06-21 2018-06-21 アプリケーションプログラム

Related Child 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
JP2020017304A true JP2020017304A (ja) 2020-01-30
JP6701423B2 JP6701423B2 (ja) 2020-05-27

Family

ID=69581538

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019185516A Active JP6701423B2 (ja) 2019-10-08 2019-10-08 アプリケーション及び情報処理装置

Country Status (1)

Country Link
JP (1) JP6701423B2 (ja)

Also Published As

Publication number Publication date
JP6701423B2 (ja) 2020-05-27

Similar Documents

Publication Publication Date Title
EP3065062B1 (en) Converting pdf forms into browser-editable forms
US20170371682A1 (en) Information processing apparatus, information processing method, and storage medium
EP3846019B1 (en) Information processing apparatus and method of controlling the same
US8736877B2 (en) Print system, client, control method, and storage medium
JP2007249860A (ja) 情報処理装置におけるプリンタドライバ変更方法とプログラム
US20140362409A1 (en) Information processing apparatus, method, and program
JP2013149085A (ja) 印刷システム、印刷制御装置、および印刷制御プログラム
US20090244585A1 (en) Information processing apparatus, control method therefor, and printer driver program
JP6362423B2 (ja) リアルタイムコンフリクト処理システム
JP2017194766A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP6639570B2 (ja) アプリケーションプログラム
JP5955245B2 (ja) 画像処理装置
JP6701423B2 (ja) アプリケーション及び情報処理装置
JP7322116B2 (ja) 印刷設定uiを表示するためのアプリケーション
JP6961746B2 (ja) 印刷設定画面を表示する機能を持つアプリケーション、及び、情報処理装置
JP5917016B2 (ja) 情報処理装置、その制御方法、および制御プログラム
JP2023034958A (ja) 情報処理装置、情報処理装置の制御方法およびプログラム
JP2017130080A (ja) 印刷制御プログラムおよび印刷制御装置
JP6007015B2 (ja) 画像形成装置及び画像形成プログラム
JP7350525B2 (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2021018774A (ja) 情報処理システム及びプログラム
JP2021012430A (ja) 情報処理装置、情報処理方法およびプログラム
JP2007079743A (ja) 情報処理装置及びその制御方法、プログラム
JP2006338166A (ja) 情報処理装置及びその制御方法、プログラム
JP2016033771A (ja) 画像形成制御装置及び画像形成制御システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191008

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20191008

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20191023

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191203

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200203

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: 20200331

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200501

R151 Written notification of patent or utility model registration

Ref document number: 6701423

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151