JP2021144291A - バージョンの異なるドライバーおよびuiモジュールを使用するプログラム、情報処理装置および方法 - Google Patents

バージョンの異なるドライバーおよびuiモジュールを使用するプログラム、情報処理装置および方法 Download PDF

Info

Publication number
JP2021144291A
JP2021144291A JP2020040756A JP2020040756A JP2021144291A JP 2021144291 A JP2021144291 A JP 2021144291A JP 2020040756 A JP2020040756 A JP 2020040756A JP 2020040756 A JP2020040756 A JP 2020040756A JP 2021144291 A JP2021144291 A JP 2021144291A
Authority
JP
Japan
Prior art keywords
driver
data format
setting
setting information
unit
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
JP2020040756A
Other languages
English (en)
Inventor
隆史 大塚
Takashi Otsuka
隆史 大塚
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.)
Konica Minolta Inc
Original Assignee
Konica Minolta 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 Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2020040756A priority Critical patent/JP2021144291A/ja
Publication of JP2021144291A publication Critical patent/JP2021144291A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Facsimiles In General (AREA)

Abstract

【課題】バージョンの異なるドライバーおよびUIモジュールを組み合わせて使用するプログラムを提供する。【解決手段】プログラムは、アプリケーションから第1のドライバーに対応する第1のデータ形式の設定情報を含む設定情報起動要求を受信するステップS505と、設定情報のデータ形式を第2のドライバーに対応する第2のデータ形式に変換するステップS510と、第2のデータ形式に変換された設定情報に基づいて、第2のドライバーに対応するユーザーインターフェイス(UI)を表示するステップS515と、UIを介して、設定情報に関する入力を受け付けるステップS520と、入力された内容を反映させた設定情報のデータ形式を第1のデータ形式に変換するステップS530と、第1のデータ形式に変換された設定情報を含む設定完了通知をアプリケーション402に送信するステップS535とをコンピューターに実行させる。【選択図】図5

Description

本開示は、ドライバーを使用するプログラムに関し、より特定的には、バージョンの異なるドライバーおよびUI(User Interface)モジュールを組み合わせて使用するプログラムに関する。
近年、PC(Personal Computer)、スマートフォンまたはタブレットなどのデバイスにおいて、タッチパネルなどの新しいユーザーインターフェイス(以下、UIと表わす)の普及が進んでいる。それに伴い、OS(Operating System)に搭載される周辺機器のためのドライバーソフトウェア(以下、単に「ドライバー」という)もこれらの新しいUIに対応する必要が出てきた。
新しいUIに対応する新バージョンのドライバーは、開発途上である場合、旧バージョンのドライバーが備える全ての機能を備えていないことがある。通常、新しいUIを備える装置には、新しいUIをサポートする新バージョンのドライバーがインストールされる。その結果、ユーザーは、新しいUIを使用して、当該装置に周辺機器の設定を入力できるものの、旧バージョンのドライバーが提供していた機能の一部が使用できなくなるという問題が出てきた。そこで、新バージョンのドライバーが提供するUIを表示するための機能(以下、「UIモジュール」という)を介して、旧バージョンのドライバーが提供する機能を使用するための技術が求められている。
ドライバーに関し、例えば、特開2019−128857号公報(特許文献1)は、「適切なドライバー本体とUIモジュールの組み合わせを探索し、関連付けを行うことでベンダーが用意したUIモジュールを設定画面として起動することができる」情報処理システムを開示している([要約]参照)。また、その他のドライバーに関する技術が、例えば、特開2018−101303号公報(特許文献2)に開示されている。
特開2019−128857号公報 特開2018−101303号公報
特許文献1および2に開示された技術によると、新バージョンのUIモジュールを介して、旧バージョンのドライバーが提供する機能を使用することができない。したがって、新バージョンのUIモジュールを介して、旧バージョンのドライバーが提供する機能を使用するための技術が必要とされている。
本開示は、上記のような背景に鑑みてなされたものであって、ある局面における目的は、新バージョンのUIモジュールを介して、旧バージョンのドライバーが提供する機能を使用するための技術を提供することにある。
ある実施の形態に従うプログラムは、アプリケーションから第1のドライバーに対応する第1のデータ形式の設定情報を含む設定情報起動要求を受信するステップと、設定情報のデータ形式を第2のドライバーに対応する第2のデータ形式に変換するステップと、第2のデータ形式に変換された設定情報に基づいて、第2のドライバーに対応するユーザーインターフェイス(UI)を表示するステップと、UIを介して、設定情報に関する入力を受け付けるステップと、入力された内容を反映させた設定情報のデータ形式を第1のデータ形式に変換するステップと、第1のデータ形式に変換された設定情報を含む設定完了通知をアプリケーションに送信するステップとをコンピューターに実行させる。
ある局面において、プログラムは、第1のドライバーに対応するUIと、第2のドライバーに対応するUIとを切り替えて表示するステップをさらにコンピューターに実行させる。
ある局面において、プログラムは、コンピューターのシステム情報に基づいて、コンピューターが備える入力インターフェイスが、第1のドライバーに対応するUIではサポートされず、第2のドライバーに対応するUIでサポートされるか否かを判定するステップと、判定の結果に基づいて、第1のドライバーに対応するUIと、第2のドライバーに対応するUIとを切り替えて表示するステップとをさらにコンピューターに実行させる。
ある局面に従うプログラムにおいて、第1のドライバーに対応するUIは、タッチパネルを含まず、第2のドライバーに対応するUIは、タッチパネルを含む。
ある局面において、プログラムは、UI設定画面を表示するステップと、UI設定画面において、表示されるUIを固定するための設定、または表示されるUIをコンピューターのシステム情報に基づいて自動選択するための設定のいずれかの入力を受け付けるステップとをさらにコンピューターに実行させる。
ある局面に従うプログラムにおいて、第1のデータ形式は、構造体により定義される。第2のデータ形式は、マークアップ言語により定義される。
ある局面において、プログラムは、アプリケーションから、設定完了通知に基づく印刷実行指示を受信するステップと、印刷実行指示に含まれる設定情報を第1のデータ形式として読み込み、印刷ジョブを生成するステップとをさらにコンピューターに実行させる。
ある局面に従うプログラムにおいて、第1のドライバーのバージョンは、第2のドライバーのバージョンよりも古い。
他の実施の形態に従うと、情報処理装置が提供される。この情報処理装置は、上記のいずれかに記載のプログラムを格納したメモリーと、プログラムを実行するためのプロセッサーとを備える。
さらに他の実施の形態に従うと、コンピューターにドライバーの設定情報を処理させる方法が提供される。この方法は、アプリケーションから第1のドライバーに対応する第1のデータ形式の設定情報を含む設定情報起動要求を受信するステップと、設定情報のデータ形式を第2のドライバーに対応する第2のデータ形式に変換するステップと、第2のデータ形式に変換された設定情報に基づいて、第2のドライバーに対応するユーザーインターフェイス(UI)を表示するステップと、UIを介して、設定情報に関する入力を受け付けるステップと、入力された内容を反映させた設定情報のデータ形式を第1のデータ形式に変換するステップと、第1のデータ形式に変換された設定情報を含む設定完了通知をアプリケーションに送信するステップとを含む。
ある局面において、方法は、第1のドライバーに対応するUIと、第2のドライバーに対応するUIとを切り替えて表示するステップをさらに含む。
ある局面において、方法は、コンピューターのシステム情報に基づいて、コンピューターが備える入力インターフェイスが、第1のドライバーに対応するUIではサポートされず、第2のドライバーに対応するUIでサポートされるか否かを判定するステップと、判定の結果に基づいて、第1のドライバーに対応するUIと、第2のドライバーに対応するUIとを切り替えて表示するステップとをさらに含む。
ある局面に従う方法において、第1のドライバーに対応するUIは、タッチパネルを含まず、第2のドライバーに対応するUIは、タッチパネルを含む。
ある局面において、方法は、UI設定画面を表示するステップと、UI設定画面において、表示されるUIを固定するための設定、または表示されるUIをコンピューターのシステム情報に基づいて自動選択するための設定のいずれかの入力を受け付けるステップとをさらに含む。
ある局面に従う方法において、第1のデータ形式は、構造体により定義される。第2のデータ形式は、マークアップ言語により定義される。
ある局面において、方法は、アプリケーションから、設定完了通知に基づく印刷実行指示を受信するステップと、印刷実行指示に含まれる設定情報を第1のデータ形式として読み込み、印刷ジョブを生成するステップとをさらに含む。
ある局面に従う方法において、第1のドライバーのバージョンは、第2のドライバーのバージョンよりも古い。
ある実施の形態に従うと、新バージョンのUIモジュールを介して、旧バージョンのドライバーが提供する機能を使用することが可能である。
この開示内容の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解されるこの本開示に関する次の詳細な説明から明らかとなるであろう。
ある実施の形態に従う画像形成システム10の構成の一例を示す図である。 画像形成装置110における主要な制御系の一例を示す図である。 情報処理装置140の構成の一例を示す図である。 デバイスドライバー403の構成の一例を説明するための図である。 デバイスドライバー403の処理の一例を示すシーケンス図である。 デバイスドライバー403の処理の一例を示すフローチャートである。 UI切替設定画面700の一例を示す図である。
以下、図面を参照しつつ、本開示に係る技術思想の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
本実施の形態に従うプログラムまたは装置は、ユーザーが、新バージョンのUIモジュールを介して、旧バージョンのドライバーが提供する機能を使用することを可能にする。その結果、当該プログラムまたは装置は、最新のUIをサポートすると共に、旧バージョンのドライバーが提供する全ての機能を使用可能にする。
OSが提供するプリンターの設定に関するライブラリまたはモジュールは、外部から入力された設定を処理するためのライブラリまたはモジュール(ドライバー)と、UIを表示するためのライブラリまたはモジュール(UIモジュール)とを含む。通常、ドライバーおよびUIモジュールは、同一のバージョンのものが使用される。なぜならば、あるバージョンのUIモジュール(A)は、UIモジュール(A)と同じバージョンのドライバー(B)の備える機能に対する設定入力を全てサポートする一方で、UIモジュール(A)と異なるバージョンのドライバー(C)の備える機能に対する設定入力を全てサポートするとは限らないためである。
各プリンターメーカーは、これらのプリンターの設定に関するライブラリまたはモジュールを用いて、さらに独自の機能を組み込むことで、デバイスドライバーを作成する。「デバイスドライバー」とは、画像形成装置ごとの印刷設定および印刷ジョブの生成などをするためのプログラムである。通常、ユーザーが、メーカーの製品ページなどから自身のPCなどにインストールして使用するソフトウェアは、このデバイスドライバーに相当する。OSが提供するドライバーおよびUIモジュールなどは、このデバイスドライバーに組み込むプログラムの部品として使用され得る。
これ以降の説明では、ユーザーの情報処理装置から画像形成装置に対する印刷設定の入力を例に説明するが、本開示の技術の適用範囲は画像形成装置のドライバーに限定されるものではなく、任意の周辺機器のドライバーに対して適用可能である。また、本実施の形態に従うプログラムをインストールされる情報処理装置は、PC、スマートフォン、タブレットまたはワークステーションなど任意の装置である。さらに、本実施の形態に従うプログラムは、情報処理装置にインストールされたアプリケーションと通信するデバイスドライバーとして説明するが、通常のアプリケーション、ウェブアプリケーションなどとして提供されてもよい。
まず、図1〜図3を参照して、本開示に係る技術思想の典型的な適用例として、周辺機器の一例である画像形成装置の外観およびハードウェア構成と、デバイスドライバーをインストールされる情報処理装置のハードウェア構成について説明する。
図1は、本実施の形態に従う画像形成システム10の構成の一例を示す図である。画像形成システム10は、給紙装置100と、画像形成装置110と、後処理装置120と、操作パネル130とを備える。実際には、画像形成装置110が処理の主体となり、上記の各装置が連携して1つの装置として動作するため、画像形成システム10自体が、1台の大型の画像形成装置であるとも言える。また、画像形成システム10は、ユーザーのPCなどの情報処理装置140と、プリンターコントローラー150と連携し得る。ある局面において、画像形成システム10は、ポスターなどを製造するための大型の画像形成装置であってもよいし、家庭、学校、研究機関またはオフィスなどで使用される小型または中型の画像形成装置であってもよい。
給紙装置100は、装置内部に印刷用の媒体を格納し、搬送ローラー(図示せず)により当該媒体を画像形成装置110に向けて搬送する。ある局面において、給紙装置100から搬送される媒体は、カット紙でもよいしロール紙であってもよい。また、他の局面において、給紙装置100と画像形成装置110との間には、搬送調整装置が配置されてもよい。搬送調整装置は、一例として、搬送される媒体の張力が一定になるようにロール紙などの搬送速度を調整し得る。
画像形成装置110は、給紙装置100から搬送されてくる媒体または画像形成装置110内に格納される媒体に画像を形成する。画像形成装置110は、シアン(C)、マゼンタ(M)、イエロー(Y)、キー・プレート(K)のそれぞれのトナー像を形成するイメージングユニットにより媒体に画像を転写し、定着部により、媒体に転写された画像を定着させる。定着処理後の媒体は、後処理装置120に向けて搬送される。また、画像形成装置110は、情報処理装置140またはプリンターコントローラー150などから印刷ジョブを受信し、当該印刷ジョブを実行し得る。
後処理装置120は、画像読取装置、断裁装置または製本装置など複数の装置を含み得る。画像読取装置は、イメージセンサーを内蔵し、画像形成装置110から高速で搬送されてくる媒体を素早く読み取り、画像の汚れなどを検出し得る。断裁装置は、搬送されてきた媒体を断裁する。製本装置は、印刷済みの媒体の束に対してステープル処理または背表紙の貼り付けなどを行ない得る。後処理装置120は、1つの装置でもよいし、複数の装置(例えば、断裁装置と、製本装置となど)を含んでいてもよい。
操作パネル130は、画像形成装置110に設置されており、タッチパネルと、ボタン操作部とを含む。タッチパネルは液晶モニター、有機EL(Electro Luminescence)モニターなどを含む。液晶モニター、有機ELモニターなどは、タッチセンサーを含み、操作メニューを表示すると共に、ユーザーからのタッチによる入力を受付けることができる。ボタン操作部は、複数のボタンを含み、タッチパネルと同様に、ユーザーからの入力を受付けることができる。
ある局面において、画像形成システム10は、さらに、加工装置を含んでいてもよい。加工装置は、一例として、搬送されてくる媒体に対して、デカール加工、ラミネート加工などを行う。
情報処理装置140は、ユーザーのPCなどであり、印刷ジョブを画像形成装置110に送信し得る。情報処理装置140には、画像形成装置110と通信するためのデバイスドライバーがインストールされる。デバイスドライバーは、テキスト作成用のアプリケーションなどと通信し、ユーザーに対して印刷設定の入力画面を提供し得る。
ユーザーは、情報処理装置140が備える入力インターフェイス、例えばキーボード、マウス、タッチパネルなど、を介して、入力画面に印刷設定を入力する。このとき、デバイスドライバーによって使用されるUIモジュールは、ユーザーが印刷設定の入力に使用する入力インターフェイスをサポートしている必要がある。例えば、ユーザーが、印刷設定の入力にタッチパネルを使用した場合、デバイスドライバーによって使用されるUIモジュールは、タッチパネルをサポートしている必要がある。
デバイスドライバーは、ユーザーからの印刷設定の完了操作に基づいて、印刷設定を含む設定完了通知を呼び出し元のアプリケーションに送信する。アプリケーションは、ユーザーから印刷処理の入力を受け付けたことに基づいて、デバイスドライバーから受信した印刷設定に基づいて生成した印刷実行指示をデバイスドライバーに送信する。デバイスドライバーは、受信した印刷実行指示に基づいて印刷ジョブを生成し、当該印刷ジョブを画像形成装置110に送信する。デバイスドライバーは、画像形成装置110から印刷完了通知を受信すると、アプリケーションに印刷完了通知を転送する。
プリンターコントローラー150は、印刷ジョブを画像形成装置110に送信し得る。情報処理装置140は、画像形成装置110の代わりに、プリンターコントローラー150に印刷ジョブを送信してもよい。
図2は、画像形成装置110における主要な制御系の一例を示す図である。ある局面において、本図に示す制御系は、ハードウェアまたはソフトウェアとして実現され得る。また、他の局面において、本図に示す制御系は、ハードウェアおよびソフトウェアの組み合わせによって実現されてもよい。また、他の局面において、本図に示す各構成は、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、汎用のプロセッサー、複数の部品を集めたモジュールまたはPCB(Printed Circuit Board)などを含んでいてもよい。また、他の局面において、画像形成装置110は、本図に示す以外の構成を含んでいてもよい。
画像形成装置110は、大きく分けて、画像取得部201Aと、画像形成部201Bとを備える。画像取得部201Aは、主に、外部の情報処理装置140などから受信した印刷ジョブを処理する。画像取得部201Aは、通信部207と、画像制御部208と、メモリー制御部209と、画像メモリー210とを含む。
通信部207は、情報処理装置140から印刷ジョブを受信する。画像制御部208は、受信した印刷ジョブに含まれる画像をラスタライズし、ラスタライズした画像を圧縮する。画像メモリー210は、一時的に画像データを格納する。メモリー制御部209は、画像制御部208が画像メモリー210または画像メモリー222と通信するときにアドレス指定などを行なう。
画像形成部201Bは、主に、取得した画像を媒体に形成する。画像形成部201Bは、イメージセンサー211と、スキャナー制御部212とを含む。イメージセンサー211およびスキャナー制御部212は、画像形成装置110のスキャナー機能を実現する。イメージセンサー211は、スキャンされた画像から画像データを生成する。ある局面において、イメージセンサー211は、CCD(Charge Coupled Device)イメージセンサーまたはCMOS(Complementary Metal Oxide Semiconductor)イメージセンサーであってもよい。スキャナー制御部212は、スキャン処理のための各種センサーおよびモーターなどを制御する。
画像形成部201Bは、さらに、表示部213と、操作制御部214とを含む。表示部213および操作制御部214は、操作パネル130を構成する。ある局面において、表示部213は、LCD(Liquid Crystal Display)であってもよい。
表示部213は、例えば、タッチセンサーと組み合わせて使用され、タッチ操作可能な画面を表示する。操作制御部214は、操作制御全体を管理する。操作制御部214は、一例として、表示部213の表示内容の制御と、受け付けた入力を制御部217に送る制御とを実行する。
画像形成部201Bは、さらに、読取処理部215と、圧縮処理部216と、制御部217と、不揮発メモリー218と、書込処理部219と、伸張処理部220と、メモリー制御部221と、画像メモリー222とを備える。
読取処理部215は、スキャン処理により取り込んだ画像を取得し、当該画像を圧縮処理部216に送る。圧縮処理部216は、画像を圧縮し、画像の圧縮データを画像メモリー222に保存する。メモリー制御部221は、画像メモリー222へのデータの読み書きを制御する。
伸張処理部220は、画像メモリー222に保存された圧縮データを伸張して画像を復元し、当該復元した画像を書込処理部219に送る。書込処理部219は、取得した画像をイメージングユニット223に送信して、イメージングユニット223に画像形成を開始させる。制御部217は、画像形成部201B全体を制御する。一例として、制御部217は、プリンター制御部224に制御用の信号を送信して、画像形成装置110全体のモーターやヒーターの動作を制御し得る。不揮発メモリー218は、制御部217によって実行されるプログラムなどを格納する。
画像形成部201Bは、さらに、イメージングユニット223と、プリンター制御部224とを含む。イメージングユニット223およびプリンター制御部224は、主に、画像の現像処理または定着処理などを実行する。イメージングユニット223は、媒体にトナー像を形成する。プリンター制御部224は、搬送ローラー、イメージングユニットおよび定着部などに使用されるモーターまたはヒーターなどを制御する。
図3は、情報処理装置140の構成の一例を示す図である。情報処理装置140は、CPU(Central Processing Unit)301と、1次記憶装置302と、2次記憶装置303と、外部機器インターフェイス304と、入力インターフェイス305と、出力インターフェイス306と、通信インターフェイス307とを含む。
CPU301は、情報処理装置140の各種機能を実現するためのプログラムを実行し得る。CPU301は、例えば、少なくとも1つの集積回路によって構成される。集積回路は、例えば、少なくとも1つのCPU、少なくとも1つのFPGA、またはこれらの組み合わせなどによって構成される。CPU301は、情報処理装置140にインストールされたアプリケーションと、画像形成装置110用のデバイスドライバーとを実行し得る。
1次記憶装置302は、CPU301によって実行されるプログラムと、CPU301によって参照されるデータとを格納する。ある局面において、DRAM(Dynamic Random Access Memory)またはSRAM(Static Random Access Memory)が、1次記憶装置302として使用されてもよい。例えば、図4に示すアプリケーション402およびデバイスドライバー403は、1次記憶装置302に読み込まれ、CPU301によって実行され得る。
2次記憶装置303は、不揮発性メモリーであり、CPU301によって実行されるプログラムおよびCPU301によって参照されるデータを格納してもよい。その場合、CPU301は、2次記憶装置303から1次記憶装置302に読み出されたプログラムを実行し、2次記憶装置303から1次記憶装置302に読み出されたデータを参照する。ある局面において、2次記憶装置303は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)またはフラッシュメモリー等によって実現されてもよい。
外部機器インターフェイス304は、プリンター、スキャナーおよび外付けHDDなどの任意の外部機器に接続され得る。ある局面において、外部機器インターフェイス304は、USB(Universal Serial Bus)端子等によって実現されてもよい。
入力インターフェイス305は、キーボード、マウス、タッチパッドまたはゲームパッドなどの任意の入力装置に接続され得る。ある局面において、入力インターフェイス305は、USB端子、PS/2端子およびBluetooth(登録商標)モジュール等によって実現されてもよい。
出力インターフェイス306は、ブラウン管ディスプレイ、液晶ディスプレイまたは有機EL(electro-luminescence)ディスプレイなどの任意の出力装置に接続され得る。ある局面において、出力インターフェイス306は、USB端子、D−sub端子、DVI(Digital Visual Interface)端子およびHDMI(登録商標)(High-Definition Multimedia Interface)端子等によって実現されてもよい。
通信インターフェイス307は、有線または無線のネットワーク機器と接続される。ある局面において、通信インターフェイス307は、有線LAN(Local Area Network)ポートおよびWi-Fi(登録商標)モジュール等によって実現されてもよい。他の局面において、通信インターフェイス307は、TCP/IP(Transmission Control Protocol/Internet Protocol)、UDP(User Datagram Protocol)などの通信プロトコルを用いてデータを送受信してもよい。
次に、図4〜図7を参照して、デバイスドライバーの構成および動作について説明する。より具体的には、デバイスドライバーが、第1のバージョンのドライバーと、第2のバージョンのUIモジュールを組み合わせて、ユーザーからの印刷設定の入力をどのようにして受け付け、かつどのように印刷設定を処理するのかについて説明する。
ある局面において、CPU301は、図4〜7に示す機能または処理を実現するためのプログラムを2次記憶装置303から1次記憶装置302に読み込んで、当該プログラムを実行してもよい。他の局面において、当該処理の一部または全部は、当該処理を実行するように構成された回路素子の組み合わせとしても実現され得る。
ここでの第1のバージョンは第2のバージョンよりも古いバージョンであるとする。これ以降、第1のバージョンのドライバーおよびUIモジュールを「第1のドライバー」、「第1のUIモジュール」と呼ぶ。また、第2のバージョンのドライバーおよびUIモジュールを「第2ドライバー」、「第2のUIモジュール」と呼ぶ。第2のUIモジュールがサポートするが、第1のUIモジュールがサポートしない入力インターフェースとは、一例として、タッチパネルなどである。
図4は、デバイスドライバー403の構成の一例を説明するための図である。図4に示される構成は全てソフトウェアにより実現され得る。また、デバイスドライバーに関する構成は、図3に示す情報処理装置140のCPU301などのハードウェア上で動作し得る。
デバイスドライバー403は、OS401上で提供される第1のドライバーのライブラリの機能と、メーカー独自の機能とを備えるソフトウェアである。OS401にインストールされたアプリケーション402は、デバイスドライバー403を介して、画像形成装置110に対して、印刷処理の実行を要求し得る。
デバイスドライバー403は、大きく分けて、UI部406と、描画部407とを含む。UI部406は、設定画面の表示と、ユーザーからの印刷設定の入力の取得とを行なう。UI部406は、呼出部408と、取得部409とを含む。呼出部408は、アプリケーション402からの印刷設定起動要求に基づいて、UIモジュール404を参照し、印刷設定の画面を表示する。UIモジュール404は、第1のUIモジュールでもよいし第2のUIモジュールでもよい。取得部409は、印刷設定の画面において、ユーザーが入力した印刷設定を取得する。
本図に示す例では、ドライバーと、UIモジュールの組み合わせは、2種類存在し得る。第1の組み合わせは、第1のドライバーと、第1のUIモジュールである。第2の組み合わせは、第1のドライバーと、第2のUIモジュールである。
第1の組み合わせにおいては、ドライバーのバージョンとUIモジュールのバージョンとが一致しているため、デバイスドライバーは問題無く動作する。これに対して、第2の組み合わせにおいては、ドライバーのバージョンとUIモジュールのバージョンとが一致しないため、ドライバーおよびUIモジュールの間で、データ形式の不整合またはサポートする機能の差異が発生し得る。そこで、デバイスドライバー403は、アプリケーション402およびUI部406の間の通信と、UI部406およびUIモジュール404の間の通信とにおいて、データ形式の変換を実行する。
旧バージョンである第1のバージョンのドライバーおよびUIモジュールは、第1のデータ形式を使用しているとする。ある局面において、第1のデータ形式は、構造体などによって定義されていてもよい。これに対して、新バージョンである第2のバージョンのドライバーおよびUIモジュールは、第2のデータ形式を使用しているとする。ある局面において、第2のデータ形式は、マークアップ言語などによって定義されていてもよい。
データ形式の変換は具体的には以下の手順にて実行される。UI部406は、アプリケーション402から、第1のドライバーがサポートする第1のデータ形式による印刷設定起動要求を受信する。次に、UI部406は、印刷設定起動要求を第1のデータ形式から第2のデータ形式に変換する。さらに、UI部406は、第2のデータ形式に変換した印刷設定起動要求に基づいて、第2のUIモジュールを呼び出して印刷設定の画面を表示する。当該印刷設定の画面は、第2のUIモジュールにより生成されているため、ユーザーは、タッチパネルなどの新しい入力インターフェイスを使用することができる。UI403は、当該印刷設定の画面を介して入力された印刷設定を第2のデータ形式で取得する。なぜならば、当該印刷設定の画面は、第2のUIモジュールによって生成されるためである。
UI403は、印刷設定の入力が完了したことに基づいて、印刷設定を第2のデータ形式から第1のデータ形式に変換する。ある局面において、第1のデータ形式に変換される印刷設定は、印刷設定起動要求に含まれる印刷設定に、印刷設定の画面でのユーザーの入力内容を反映させたものであってもよい。他の局面において、第1のデータ形式に変換される印刷設定は、印刷設定の画面でのユーザーの入力内容に基づいて、新しく生成された印刷設定であってもよい。そして、UI403は、第1のデータ形式の印刷設定を含む設定完了通知をアプリケーション402に返信する。
上記の処理により、アプリケーション402は、旧バージョンである第1のドライバーと通信する処理を実行するだけで、第2のUIモジュールがサポートする最新の入力インターフェイスをユーザーに提供することができる。
描画部407は、アプリケーション402から印刷実行指示を受信し、当該印刷実行指示に基づいて生成した印刷ジョブを画像形成装置110に送信する。また、描画部407は、印刷完了通知をアプリケーション402に送信する。ジョブ生成部410は、印刷実行指示に基づいて、印刷ジョブを生成する。ここで、描画部407がアプリケーション402から受信する印刷実行指示は、UI部によって生成された第1のデータ形式の印刷設定を含む。すなわち、アプリケーション402は、UI部406から第1の印刷設定を取得し、描画部407に当該第1の印刷設定を含む印刷実行指示を送信していることになる。
図5は、デバイスドライバー403の処理の一例を示すシーケンス図である。本図に示す例では、デバイスドライバー403は、第1のドライバーと、第2のUIモジュールとを組み合わせて使用する。
ステップS505において、アプリケーション402は、印刷設定起動要求をUI部406に送信する。例えば、ドキュメント作成アプリケーションにおいて、ユーザーがメニューから印刷処理を選択した場合などに、印刷設定起動要求は発行される。当該印刷設定起動要求は、第1のドライバーがサポートする第1のデータ形式である。
ステップS510において、UI部406は、印刷設定起動要求に含まれる印刷設定を第1のデータ形式から、第2のデータ形式に変換する。ステップS515において、UI部406は、第2のデータ形式に変換された印刷設定に基づいて、第2のUIモジュールであるUIモジュール404を呼び出し、情報処理装置140の出力インターフェイス306に、印刷設定の画面を出力させる。ある局面において、UI部406は、印刷設定起動要求に含まれる印刷設定の入力項目などの情報に基づいて、情報処理装置140の出力インターフェイス306に出力される画面の構成を変更してもよい。
ステップS520において、UIモジュール404は、情報処理装置140の出力インターフェイス306に出力される画面を介して、ユーザーからの印刷設定の入力を受け付ける。ユーザーは、画面に表示されている各設定項目に対する入力を行なうことで、印刷設定を編集し得る。UIモジュール404が保有する印刷設定は、第2のデータ形式である。
ステップS525において、UIモジュール404は、印刷設定をUI部406に送信する。ステップS530において、UI部406は、UIモジュール404から受信した印刷設定を第2のデータ形式から第1のデータ形式に変換する。ステップS535において、UI部406は、第1のデータ形式の印刷設定を含む設定完了通知をアプリケーション402に送信する。
ステップS540において、アプリケーション402は、印刷実行指示を描画部407に送信する。印刷実行指示は、設定完了通知に含まれていた第1のデータ形式の印刷設定を含む。
ステップS545において、描画部407は、印刷実行指示に基づいて、印刷ジョブを生成する。描画部407は、印刷実行指示に含まれる印刷設定を第1のデータ形式として読み込む。ステップS550において、描画部407は、印刷ジョブを画像形成装置110に送信する。
ステップS555において、描画部407は、画像形成装置110から、印刷完了通知を受信する。ステップS560において、描画部407は、印刷完了通知をアプリケーション402に送信する。
図6は、デバイスドライバー403の処理の一例を示すフローチャートである。ステップS605において、UI部406は、アプリケーション402から印刷設定起動要求を受信する。ステップS610において、UI部406は、印刷設定起動要求に含まれる印刷設定を取得する。
ステップS615において、UI部406は、アプリケーション402からUI切替の設定を取得する。UI切替の設定は、設定画面の表示において、第1のUIモジュールを使用するか、第2のUIモジュールを使用するか、または、第1もしくは第2のUIモジュールを自動選択にするかに関する設定である。ある局面において、UI切替の設定は、印刷設定起動要求に含まれていてもよい。他の局面において、UI部406は、印刷設定起動要求とは別にUI切替の設定を受信してもよい。また、他の局面において、UI部406は、UI切替の設定を受信しなくてもよい。その場合、UI部406は、設定画面の表示の際に、第1のUIモジュールまたは第2のUIモジュールを自動的に選択してもよい。
ステップS620において、UI部406は、UI切替の設定に基づいて、第2のUIモジュールを使用するか否かを判定する。UI部406は、第2のUIモジュールを使用すると判定した場合(ステップS620にてYES)、制御をステップS625に移す。そうでない場合(ステップS620にてNO)、UI部406は、制御をステップS660に移す。
ステップS625において、UI部406は、印刷設定起動要求に含まれる印刷設定を第1のデータ形式から第2のデータ形式に変換する。ステップS630において、UI部406は、起動要求を第2のUIモジュールに送信する。ステップS635において、UI部406は、第2のデータ形式に変換した印刷設定を第2のUIモジュールに送信する。ある局面において、印刷設定は起動要求に含まれていてもよい。
ステップS640において、UI部406は、第2のUIモジュールから印刷設定完了通知を受信する。ステップS645において、UI部406は、第2のUIモジュールから第2のデータ形式である印刷設定を受信する。ある局面において、印刷設定は、印刷設定完了通知に含まれていてもよい。
ステップS650において、UI部406は、受信した印刷設定を第1のデータ形式から第2のデータ形式に変換し、設定完了通知に含めるデータ(印刷設定)にユーザーによる入力内容(ステップS645にて受信した印刷設定)を反映する。
ステップS655において、UI部406は、UI部406は、ユーザーによる入力内容を反映した印刷設定を含む設定完了通知をアプリケーション402に送信し、印刷設定の処理を完了する。
ステップS660において、UI部406は、第1のUIモジュールによる印刷設定画面を出力インターフェイス306に出力する。ある局面において、第1のUIモジュールは、UI部406に組み込まれていてもよい。他の局面において、UI部406は、外部にある第1のUIモジュールを呼び出してもよい。
ステップS665において、UI部406は、印刷設定を編集する入力を受け付ける。ある局面において、第1のUIモジュールがUI部406の外部にある場合、第1のUIモジュールが印刷設定を編集する入力を受け付けてもよい。
ステップS670において、UI部406は、印刷設定が完了したか否かを判定する。ある局面において、UI部406は、印刷設定の完了を示す入力を受け付けたことに基づいて、印刷設定が完了したと判定してもよい。他の局面において、第1のUIモジュールがUI部406の外部にある場合、UI部406は、第1のUIモジュールから印刷設定完了通知を受信したことに基づいて、印刷設定が完了したと判定してもよい。UI部406は、印刷設定が完了したと判定した場合(ステップS670にてYES)、制御をステップS675に移す。そうでない場合(ステップS670にてNO)、UI部406は、制御をステップS665に移す。
ステップS675において、UI部406は、印刷設定画面を閉じる。ステップS680において、UI部406は、設定完了通知に含めるデータ(印刷設定)にユーザーによる入力内容(ステップS665にて入力された印刷設定)を反映する。第1のUIモジュールの印刷設定の画面によって取得される印刷設定は、第1のデータ形式であるため、UI部406は、本ステップにおいて印刷設定のデータ変換を行なわない。
図7は、UI切替設定画面700の一例を示す図である。UI切替設定画面700は、例えば、アプリケーション402から呼び出される。ユーザーは、UI表示切替701から、設定として、自動、第1のUIまたは第2のUIのいずれかを選択できる。設定「自動」は、UI部406が、印刷設定に含まれる情報またはOSのシステム情報などに基づいて、第1のUIモジュールまたは第2のUIモジュールのいずれかを自動的に選択する設定である。設定「第1のUI」は、UI部406が、第1のUIモジュールを選択する設定である。設定「第2のUI」は、UI部406が、第2のUIモジュールを選択する設定である。ユーザーのUI表示切替701の選択に基づいて、アプリケーション402は、UI切替の設定をUI部406に送信する。
ある局面において、UI部406は、OSのシステム情報に基づいて、情報処理装置140が備える入力インターフェースを判別してもよい。より具体的には、UI部406は、OSのシステム情報に基づいて、情報処理装置140が、第1のUIモジュールではサポートされず、第2のUIモジュールでのみサポートされる入力インターフェースを備えるか否かを判定し得る。その場合、UI部406は、システム情報に基づいて、第1のUIモジュールまたは第2のUIモジュールのいずれかを自動的に選択または切り替えて、設定画面を表示し得る。
本開示におけるOSは、一例として、Windows(登録商標)であってもよい。また、第1のドライバーおよび第1のUIモジュールは、一例として、それぞれWindowsのバージョン3のプリンタードライバーおよびUIモジュールであってもよい。また、第2のドライバーおよび第2のUIモジュールは、一例として、それぞれWindowsのバージョン4のプリンタードライバーおよびUIモジュールであってもよい。さらに、第1のデータ形式および第2のデータ形式は、一例として、それぞれDevModeのデータ形式、PrintTicketのデータ形式であってもよい。
以上の説明より、本実施の形態に従う情報処理装置140または情報処理装置140上で動作するプログラムは、バージョンの異なるドライバーと、UIモジュールとを組み合わせて使用する。そのために、情報処理装置140またはプログラムは、各バージョンで使用されるデータ形式の変換機能を備える。当該機能により、情報処理装置140またはプログラムは、新バージョンのUIモジュールのみがサポートする最新の入力インターフェイスを使用可能にすると共に、旧バージョンのドライバーのみがサポートする機能を使用可能にし得る。
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本開示の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内で全ての変更が含まれることが意図される。また、実施の形態および各変形例において説明された開示内容は、可能な限り、単独でも、組合わせても、実施することが意図される。
10 画像形成システム、100 給紙装置、110 画像形成装置、120 後処理装置、130 操作パネル、140 情報処理装置、150 プリンターコントローラー、201A 画像取得部、201B 画像形成部、207 通信部、208 画像制御部、209,221 メモリー制御部、210,222 画像メモリー、211 イメージセンサー、212 スキャナー制御部、213 表示部、214 操作制御部、215 読取処理部、216 圧縮処理部、217 制御部、218 不揮発メモリー、219 書込処理部、220 伸張処理部、223 イメージングユニット、224 プリンター制御部、301 CPU、302 1次記憶装置、303 2次記憶装置、304 外部機器インターフェイス、305 入力インターフェイス、306 出力インターフェイス、307 通信インターフェイス、401 OS、402 アプリケーション、403 デバイスドライバー、404 モジュール、406 UI部、407 描画部、408 呼出部、409 取得部、410 ジョブ生成部、700 UI切替設定画面、701 UI表示切替。

Claims (17)

  1. アプリケーションから第1のドライバーに対応する第1のデータ形式の設定情報を含む設定情報起動要求を受信するステップと、
    前記設定情報のデータ形式を第2のドライバーに対応する第2のデータ形式に変換するステップと、
    前記第2のデータ形式に変換された前記設定情報に基づいて、前記第2のドライバーに対応するユーザーインターフェイス(UI)を表示するステップと、
    前記UIを介して、前記設定情報に関する入力を受け付けるステップと、
    入力された内容を反映させた前記設定情報のデータ形式を前記第1のデータ形式に変換するステップと、
    前記第1のデータ形式に変換された前記設定情報を含む設定完了通知を前記アプリケーションに送信するステップとをコンピューターに実行させる、プログラム。
  2. 前記第1のドライバーに対応するUIと、前記第2のドライバーに対応するUIとを切り替えて表示するステップをさらに前記コンピューターに実行させる、請求項1に記載のプログラム。
  3. 前記コンピューターのシステム情報に基づいて、前記コンピューターが備える入力インターフェイスが、前記第1のドライバーに対応するUIではサポートされず、前記第2のドライバーに対応するUIでサポートされるか否かを判定するステップと、
    判定の結果に基づいて、前記第1のドライバーに対応するUIと、前記第2のドライバーに対応するUIとを切り替えて表示するステップとをさらに前記コンピューターに実行させる、請求項2に記載のプログラム。
  4. 前記第1のドライバーに対応するUIは、タッチパネルを含まず、前記第2のドライバーに対応するUIは、タッチパネルを含む、請求項3に記載のプログラム。
  5. UI設定画面を表示するステップと、
    前記UI設定画面において、表示されるUIを固定するための設定、または表示されるUIを前記コンピューターのシステム情報に基づいて自動選択するための設定のいずれかの入力を受け付けるステップとをさらに前記コンピューターに実行させる、請求項3に記載のプログラム。
  6. 前記第1のデータ形式は、構造体により定義され、
    前記第2のデータ形式は、マークアップ言語により定義される、請求項1〜5のいずれかに記載のプログラム。
  7. 前記アプリケーションから、前記設定完了通知に基づく印刷実行指示を受信するステップと、
    前記印刷実行指示に含まれる設定情報を前記第1のデータ形式として読み込み、印刷ジョブを生成するステップとをさらに前記コンピューターに実行させる、請求項1〜6のいずれかに記載のプログラム。
  8. 前記第1のドライバーのバージョンは、前記第2のドライバーのバージョンよりも古い、請求項1〜7のいずれかに記載のプログラム。
  9. 請求項1〜8のいずれかに記載のプログラムを格納したメモリーと、
    前記プログラムを実行するためのプロセッサーとを備える、情報処理装置。
  10. コンピューターにドライバーの設定情報を処理させる方法であって、
    前記方法は、
    アプリケーションから第1のドライバーに対応する第1のデータ形式の設定情報を含む設定情報起動要求を受信するステップと、
    前記設定情報のデータ形式を第2のドライバーに対応する第2のデータ形式に変換するステップと、
    前記第2のデータ形式に変換された前記設定情報に基づいて、前記第2のドライバーに対応するユーザーインターフェイス(UI)を表示するステップと、
    前記UIを介して、前記設定情報に関する入力を受け付けるステップと、
    入力された内容を反映させた前記設定情報のデータ形式を前記第1のデータ形式に変換するステップと、
    前記第1のデータ形式に変換された前記設定情報を含む設定完了通知を前記アプリケーションに送信するステップとを含む、方法。
  11. 前記方法は、前記第1のドライバーに対応するUIと、前記第2のドライバーに対応するUIとを切り替えて表示するステップをさらに含む、請求項10に記載の方法。
  12. 前記方法は、
    前記コンピューターのシステム情報に基づいて、前記コンピューターが備える入力インターフェイスが、前記第1のドライバーに対応するUIではサポートされず、前記第2のドライバーに対応するUIでサポートされるか否かを判定するステップと、
    判定の結果に基づいて、前記第1のドライバーに対応するUIと、前記第2のドライバーに対応するUIとを切り替えて表示するステップとをさらに含む、請求項11に記載の方法。
  13. 前記第1のドライバーに対応するUIは、タッチパネルを含まず、前記第2のドライバーに対応するUIは、タッチパネルを含む、請求項12に記載の方法。
  14. 前記方法は、
    UI設定画面を表示するステップと、
    前記UI設定画面において、表示されるUIを固定するための設定、または表示されるUIを前記コンピューターのシステム情報に基づいて自動選択するための設定のいずれかの入力を受け付けるステップとをさらに含む、請求項12に記載の方法。
  15. 前記第1のデータ形式は、構造体により定義され、
    前記第2のデータ形式は、マークアップ言語により定義される、請求項10〜14のいずれかに記載の方法。
  16. 前記方法は、
    前記アプリケーションから、前記設定完了通知に基づく印刷実行指示を受信するステップと、
    前記印刷実行指示に含まれる設定情報を前記第1のデータ形式として読み込み、印刷ジョブを生成するステップとをさらに含む、請求項10〜15のいずれかに記載の方法。
  17. 前記第1のドライバーは、前記第2のドライバーよりも古いバージョンのドライバーである、請求項10〜16のいずれかに記載の方法。
JP2020040756A 2020-03-10 2020-03-10 バージョンの異なるドライバーおよびuiモジュールを使用するプログラム、情報処理装置および方法 Pending JP2021144291A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020040756A JP2021144291A (ja) 2020-03-10 2020-03-10 バージョンの異なるドライバーおよびuiモジュールを使用するプログラム、情報処理装置および方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020040756A JP2021144291A (ja) 2020-03-10 2020-03-10 バージョンの異なるドライバーおよびuiモジュールを使用するプログラム、情報処理装置および方法

Publications (1)

Publication Number Publication Date
JP2021144291A true JP2021144291A (ja) 2021-09-24

Family

ID=77766526

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020040756A Pending JP2021144291A (ja) 2020-03-10 2020-03-10 バージョンの異なるドライバーおよびuiモジュールを使用するプログラム、情報処理装置および方法

Country Status (1)

Country Link
JP (1) JP2021144291A (ja)

Similar Documents

Publication Publication Date Title
US8400647B2 (en) Image forming apparatus, operation-screen updating method, and computer program product
US8705076B2 (en) Printing system and method thereof
JP5803834B2 (ja) 印刷設定装置、プログラムおよび画像形成システム
US8640148B2 (en) Information processing apparatus, information processing method and storage medium
US10324670B2 (en) Displaying information on a terminal device based on the terminal device type
JP5870904B2 (ja) 印刷システム、プリンタドライバプログラム、制御方法
US20110302512A1 (en) Information transmission apparatus, control method of information transmission apparatus, and recording medium storing computer program
US20100328689A1 (en) Host device and image forming apparatus controlled by host device, and peripheral device control method
US20110069341A1 (en) Print control device and controlling method thereof
US20130194601A1 (en) Information processing apparatus, control method, and recording medium
JP2012113384A (ja) 印刷システム、情報処理装置、印刷方法、及び、プログラム
JP5728896B2 (ja) 印刷システム及びプログラム
CN107656709B (zh) 图像形成设备及其控制方法和存储介质
JP2021012417A (ja) 画像処理装置、画像処理装置の制御方法およびコンピュータプログラム
JP2013084061A (ja) 画像処理装置、画像処理装置の制御方法、および制御プログラム
US8994988B2 (en) Image forming apparatus, host apparatus, and print method thereof
JP4876837B2 (ja) スキャナドライバ、及びスキャナドライバ連携装置
JP2012034277A (ja) 画像処理システム、その制御方法およびプログラム
JP2018106373A (ja) サーバー装置、画像処理ユニット及びプログラム
US20230053390A1 (en) Information processing system, information processing apparatus, and method therefor
JP2013062778A (ja) リモート端末、リモート端末の制御方法および制御プログラム
JP2021144291A (ja) バージョンの異なるドライバーおよびuiモジュールを使用するプログラム、情報処理装置および方法
JP2012081648A (ja) 画像形成装置、画像形成装置を用いる情報処理方法およびコンピュータプログラム
JP5157867B2 (ja) 画像形成装置、表示制御方法、及び表示制御プログラム
JP6648588B2 (ja) 画像形成システム、画像形成装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230216

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231018

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231128

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20240521