JP5326477B2 - 情報処理装置、情報処理プログラム、記録媒体及び情報処理方法 - Google Patents

情報処理装置、情報処理プログラム、記録媒体及び情報処理方法 Download PDF

Info

Publication number
JP5326477B2
JP5326477B2 JP2008262122A JP2008262122A JP5326477B2 JP 5326477 B2 JP5326477 B2 JP 5326477B2 JP 2008262122 A JP2008262122 A JP 2008262122A JP 2008262122 A JP2008262122 A JP 2008262122A JP 5326477 B2 JP5326477 B2 JP 5326477B2
Authority
JP
Japan
Prior art keywords
processing
information
function information
program
function
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.)
Expired - Fee Related
Application number
JP2008262122A
Other languages
English (en)
Other versions
JP2009163711A (ja
Inventor
英樹 柳
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2008262122A priority Critical patent/JP5326477B2/ja
Priority to US12/314,123 priority patent/US20090157906A1/en
Priority to EP08253970A priority patent/EP2071448A3/en
Priority to CN2008101871112A priority patent/CN101458615B/zh
Publication of JP2009163711A publication Critical patent/JP2009163711A/ja
Application granted granted Critical
Publication of JP5326477B2 publication Critical patent/JP5326477B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Stored Programmes (AREA)

Description

この発明は、入力するデータに対して特定の処理を行って処理結果を入力元に返す処理手段を有する情報処理装置、情報処理プログラム、記録媒体及び情報処理方法に関する。
近年、コンピュータによりデバイスを制御する場合、オペレーティングシステム(OS)上でそのデバイスを制御するためのデバイスドライバプログラムを実行することにより、デバイスを制御するデバイスドライバの機能を実現することが行われている。この場合、ユーザが、文書作成ソフトや表計算ソフト、画像編集ソフト等の各種アプリケーションプログラム(以下単に「アプリケーション」という)を実行して、デバイスに何らかの動作をさせることを指示すると、アプリケーションがその指示をデバイスドライバ(のプロセス)に渡し、デバイスドライバが指示に従ってデバイスの制御を行う。
例えばプリンタを制御して印刷を実行させる場合、ユーザが文書作成ソフトや表計算ソフト、画像編集ソフト等の各種アプリケーションで作成・閲覧した文書を印刷する指示を行うと、アプリケーションは、指示に従って印刷すべき文書のデータをプリンタドライバに渡し、プリンタドライバがその文書のデータをプリンタに渡して印刷を実行させる。
またこの時、集約、製本、拡大縮小、仕上げ処理等、プリンタが有する豊富な印刷機能に関する設定を受け付ける機能を提供し、ユーザが様々な設定を組み合わせることで、よりユーザの要望に適した印刷物を得ることを可能とする機能を搭載したプリンタドライバも提供されている。
ここで、プリンタドライバは、プリンタに印刷を実行させる際には、印刷を指示したアプリケーションから渡される印刷すべき文書の文書データを、印刷を実行させるプリンタが解釈可能なプリンタ言語形式のプリントデータに変換して、プリンタへデータを出力するためのポートモニタのスプールディレクトリにスプールする、という処理を行うことが一般的である。
そして、上記の集約、製本、拡大縮小、仕上げ処理等の機能を用いた印刷を行おうとする場合には、文書データからプリントデータを生成する際に、これらの機能に応じた処理を施し、これらの機能における設定内容(集約ページ数、ページの配置順、サイズ、ステープル有無等)を反映させたプリントデータを生成するようにしていた。
しかし、ユーザによっては、これらの機能の全てを必要とするわけではなかったり、業務環境によっては機能の着脱ができるようにすることを求める声もある。そこで、このような要望に応えるため、プリンタドライバを、文書データを通常印刷用のプリントデータに変換する処理を行なう基本部分と、集約、製本、拡大縮小、仕上げ処理等に関する処理を行う拡張部分とに分離し、拡張部分をプラグインモジュールとして構成することが行われている。この場合、必要な機能に応じたプラグインモジュールを基本部分に対して自由に着脱して、プリンタドライバに持たせる機能を変更することができる。このようなプリンタドライバについては、例えば特許文献1に記載されている。
また、マイクロソフト社により、非特許文献1にあるように、Microsoft Windows Vista(商標)における印刷支援機能として、文書データからプリントデータを生成する処理をいくつかのフィルタに分解して用意しておき、文書データからプリントデータを生成する際には、入力する文書データを必要なフィルタに順次処理させることにより、必要なプリントデータを生成させる機能が提案されている。また、この場合において、フィルタには、文書への地紋の付加等の特殊な機能に応じた処理を行うものもあり得ること、および、1つのフィルタが複数のドライバから呼び出されてもよいことも提案されている。
特開2004−326601号公報 "The XPSDrv Filter Pipeline"、[online]、2005年11月3日、Microsoft Corporation、インターネット
ところで、上述したプラグインモジュールにより機能の追加/削除を実現しようとする場合、プラグインモジュールは、あくまでもドライバ本体に対する拡張モジュールという位置づけであった。従って、プラグインモジュールの機能は、予め利用を想定している特定のドライバを介してしか利用することができず、アプリケーションが直接プラグインモジュールにアクセスしてその情報を取得したり、機能を利用したりすることはできなかった。また、アプリケーションが把握していないドライバに対して用意されたプラグインモジュールの機能は、そのアプリケーションからは全く利用することができなかった。このため、拡張機能の利用に関する自由度が低いという問題があった。
また、プリンタドライバ本体やプラグインモジュールの機能をアプリケーションから利用できるようにするためには、プリンタドライバに専用のAPI(Application Program Interface)を用意することが行われている。しかし、プリンタドライバ本体側において、機能拡張等のバージョンアップを行う場合、プラグインモジュールの機能自体は変更しない場合でも、プラグインモジュールとの関連性まで意識してAPIの改変を行う必要が生じ、開発の負荷が大きくなってしまうという問題があった。
このような問題は、アプリケーションからプリンタドライバ以外の機能を利用しようとする場合でも、利用しようとする機能がプリントデータの生成以外の機能である場合でも、同様に発生するものである。
また、非特許文献1にも、Microsoft Windows Vista(商標)における印刷支援機能を活用して適切にこの問題を解決する手法は記載されていない。
この発明は、このような問題を解決し、外部のデータ処理機能を高い自由度でアプリケーションから呼び出して使用できる環境を、容易に構築できるようにすることを目的とする。
上記の目的を達成するため請求項1に係る発明は、画像処理装置を制御する印刷制御プログラムと前記印刷制御プログラムからの要求に応じて処理を行う複数の処理プログラムを有する情報処理装置であって、前記処理プログラムは、コンピュータを、前記処理プログラムが処理を行う際に使用可能な機能情報を記憶する記憶手段と、前記印刷制御プログラムからの要求に応じて前記記憶手段に記憶された前記機能情報を送信する機能情報送信手段と、前記機能情報に基づいた設定内容に従って前記印刷制御プログラムからの要求に応じて処理を行う処理手段として機能させ、前記機能情報送信手段は、前記印刷制御プログラムとは異なるプログラムからの要求に応じて前記記憶手段に記憶された前記機能情報を送信することを特徴とする。
また、この発明の記録媒体は、上記のいずれかのプログラムを記録したコンピュータにより読み取り可能な記録媒体である。
以上のようなこの発明の情報処理装置、情報処理プログラム、記録媒体及び情報処理方法によれば、外部のデータ処理機能を高い自由度でアプリケーションから呼び出して使用できる環境を、容易に構築できるようにすることができる。
また、この発明のプログラムによれば、コンピュータを情報処理装置として機能させ、上記の効果を得ることができる。この発明の記録媒体によれば、上記のプログラムを記憶していないコンピュータにそのプログラムを読み出させて実行させ、上記の効果を得ることができる。
以下、この発明を実施するための最良の形態を図面に基づいて具体的に説明する。
まず図1に、この発明の情報処理装置の実施形態である端末装置と、その端末装置により処理した情報の送信先となる画像形成装置とを含む画像形成システムの構成例を示す。
この画像形成システムは、端末装置10と画像形成装置20とをネットワーク30により接続して構成したものである。
このうち、端末装置10は、PC(パーソナルコンピュータ)等のコンピュータにより構成することができる。画像形成装置20は、プリンタやMFP(デジタル複合機)等、受信したデータに基づいて用紙に画像を形成する装置である。また、ネットワーク30としては、LAN(ローカルエリアネットワーク)を始め、有線、無線を問わず、任意の通信経路を採用可能である。
そして、端末装置10から画像形成装置20に印刷すべき画像のデータを送信し、印刷を要求することにより、画像形成装置20にそのデータに従った画像の形成(印刷)を行わせることができる。
また、画像形成システムを構成する端末装置10と画像形成装置20の数は任意であり、各1台のみであっても構わない。さらに、端末装置10と画像形成装置20とを、USB(Universal Serial Bus)ケーブル等の通信経路40によりネットワーク30を介さずローカル接続しても構わない。
次に、図2に、上述した端末装置10のハードウェア構成を示す。
端末装置10は、ハードウェアとしては公知のPCを用いて構成することができ、例えば、CPU101,ROM102,RAM103,不揮発性メモリ104,通信インタフェース(I/F)105を備え、これらがシステムバス106により接続された構成とすることができる。
そして、CPU101に、ROM102や不揮発性メモリ104に記憶されている適当なプログラムを実行させることにより、後述する種々の機能を実現することができる。
また、画像形成装置20のハードウェア構成については図示を省略するが、画像形成装置20については、CPU,ROM,RAM等によって構成される制御部と、通信I/Fと、電子写真方式やインクジェット方式等、任意の方式で用紙に画像を形成するプリントエンジン等を有する公知のプリンタを採用することができる。
次に、図3に、端末装置10からの指示により画像形成装置20に画像形成を行わせる動作に関連する各装置の機能の構成を示す。
この図に示すように、端末装置10には、一般的に、ワードプロセッサや表計算、ドローイングを始めとする種々の機能を実現するためのアプリケーション11を備えており、ユーザは、このアプリケーション11で取り扱う文書や図等を印刷するために、アプリケーション11に対して印刷の指示を行う。
また端末装置10には、アプリケーション11が出力する、印刷すべき画像の内容を示す文書データを、画像形成装置20が処理できる形式のプリンタ言語で記載されたプリントデータに変換するプリンタドライバ12を備えている。そして、アプリケーション11は、ユーザが印刷を指示した場合に、指定されたプリンタと対応するプリンタドライバ12に、出力する画像の内容を示すデータを渡し、プリンタドライバ12が、そのデータを、ユーザが指定したプリンタが処理できる形式のプリントデータに変換して図示しないスプールディレクトリにスプールする。
ポートモニタ13は、端末装置10と画像形成装置20との間のデータの転送を行う機能を有し、スプールディレクトリにスプールされたデータを、使用する画像形成装置20に送信する。
一方、画像形成装置20には、通信I/F部21と、主制御部22と、プリントエンジン23とを設けている。
そしてこのうち、通信I/F部21は、端末装置10等の外部装置から送信されてくるプリントデータを受信して主制御部22に渡す機能を有する。
主制御部22は、通信I/F部21から渡されたプリントデータに基づいてプリントエンジン23を駆動し、そのデータが示す内容の画像を形成させる機能を有する。この画像形成に係る処理は、例えばプリントデータに基づいて画像メモリに描画を行い、ビットマップ形式の画像データを生成し、その画像データに基づいてプリントエンジン23を駆動することにより、用紙上に、受信したプリントデータに基づく画像を形成させるものである。
次に、図4に、図3に示したプリンタドライバの機能構成をより詳細に示す。また、図5には図4に示したフィルタ1つの構成をより詳細に示す。
この実施形態においては、図3に示したプリンタドライバ12の機能は、図4に示すフィルタパイプラインマネージャ121,フィルタ構成ファイル122,UI制御部123及び、フィルタ記憶部140に格納されるフィルタ141により実現される。
そしてこのうち、アプリケーション11が出力する文書データを画像形成装置20が処理できるプリントデータに変換する機能に係る変換処理を実際に担当するのは、フィルタ141である。
すなわち、このフィルタ141は、入力するデータに対し、そのデータと共に与えられた設定内容に従った特定の処理を行って処理結果を入力元に返すモジュールであり、この処理に、文書データをプリントデータに変換する処理が含まれる。フィルタ141のうち、図5に示すデータ処理部201がこの処理を担当する処理手段である。
ただし、1つのフィルタ141が、アプリケーション11が出力する文書データから最終的に画像形成装置20に出力するプリントデータを生成する処理の全工程を担当するとは限らない。すなわち、フィルタ記憶部140に印刷に関するそれぞれ違った処理を担当するフィルタを複数設けておき、プリンタドライバ12が、アプリケーション11から渡される文書データを、これらのフィルタのうちから任意に選択されるフィルタに順次処理させることにより、最終的に画像形成装置20に出力するプリントデータが得られる仕組みとしている。
なお、1つのフィルタに担当させる処理は、印刷の1つの機能と対応するものとすることが好ましい。この機能としては、集約、マーク/地紋付加、解像度設定、色調整、仕上げ(パンチ穴開け,ステープル等)等が考えられる。また、プリントデータの生成に最低限必要な処理を担当させる基本のフィルタを最低1つ用意し、この基本のフィルタに、上記のような各種機能を担当するフィルタを任意に組み合わせて、機能の着脱を行うことができるようにするとよい。
またフィルタ141は、図5に示すように、機能情報300として、データ処理部201が入力するデータを処理する際に使用する設定内容に関して、設定し得る設定項目及びその各項目毎に設定し得る値の情報を示す情報を含んでいる。この機能情報300は、フィルタ141の提供者が、データ処理部201で実行させる処理の内容に合わせて作成するものである。そして、情報提供手段であるI/F部202により、特定のコマンドや関数呼び出しに応じてその機能情報300をコマンド送信元や関数呼び出し元に提供することができる。
ここでは、全てのフィルタ141について、外部から同じコマンドにより機能情報300を取得できるようにしている。しかし、機能情報300を要求する側が、フィルタ毎に使用するコマンドや関数を把握できるのであれば、フィルタ毎に異なるコマンドや関数を用いることもできる。
このフィルタ141の機能を実現するためのプログラムは、OS(オペレーティングシステム)としてMicrosoft Windows Vista(商標)を用いる場合には、フィルタ1つ毎にDLL(ダイナミックリンクライブラリ)として用意しておけばよい。また、機能情報300については、OSの規格により定められるPrintCapabilityのフォーマットで、XML(Extensible Markup Language)を用いて記載すればよい。
なお、端末装置10は、外部(ネットワーク30上のサーバ、種々の記憶媒体(CD、USBメモリ等))からフィルタ141を取得し、取得したフィルタ141をフィルタ記憶部140以外の記憶領域に記憶する。フィルタ記憶部140以外の記憶領域に記憶されたフィルタ141はフィルタ構成ファイル122及びフィルタ記憶部140に登録されていないため、後述する選択済みリストおよび未選択リストに登録されていない。UI制御部123またはUI制御部110は、フィルタ記憶部140以外の記憶領域に記憶されたフィルタ141から、そのフィルタ141のファイル名と機能名の情報を取得し、それらをフィルタ構成ファイル122に登録し、そのフィルタ141をフィルタ記憶部140に記憶する。これにより、そのフィルタ141は選択済みリストに登録される。なお、フィルタ構成ファイル122には登録せずに、フィルタ記憶部140のみに記憶することで、そのフィルタ141は、未選択リストに登録されるとしてもよい。
一方、図4に示すフィルタ構成ファイル122は、フィルタ記憶部140に設けられたフィルタのうち、プリントデータを生成する際に使用するフィルタの組み合わせと、その使用順とを示すデータを記憶するファイルであり、使用モジュール情報記憶手段である。なお、使用するフィルタが1つのみである場合もある。
そして、フィルタパイプラインマネージャ121は、アプリケーション11から印刷内容を示す文書データと共にプリントデータの生成を要求する印刷コマンドを受け取った場合に、適当なフィルタ141にそのデータを渡してそのフィルタが担当する処理を実行させ、画像形成装置20に出力するプリントデータを生成してポートモニタ13に渡す。
この時、フィルタパイプラインマネージャ121は、フィルタ構成ファイル122を参照して処理に使用するフィルタを特定し、それらのフィルタに係るプログラムをロードする。そして、まず文書データ及び印刷コマンドに含まれる設定データを初めに使用するフィルタに渡して、その文書データに対して設定データの内容に従った処理を実行させ、その処理後のデータを受け取る。その後、その処理後のデータ及びコマンドに含まれる必要な設定データを次に使用するフィルタに渡して、その渡したデータに対して設定データの内容に従った処理を実行させ、その処理後のデータを受け取る。この動作を、使用する全てのフィルタについて繰り返すことにより、最終的に画像形成装置20に出力するプリントデータを得ることができる。
このフィルタパイプラインマネージャ121は、処理制御手段に該当する。また、フィルタパイプラインマネージャ121及びフィルタ構成ファイル122については、例えばMicrosoft Windows Vista(商標)において標準の機能として提供されるものを利用することができる。この場合、フィルタ構成ファイル122のフォーマットはOSの規格により定められているので、XMLを用いてその定められたフォーマットで記載すればよい。
UI制御部123は、プリンタドライバ12を用いてプリントデータを生成する際に必要な設定を受け付けるためのGUI(グラフィカル・ユーザ・インタフェース)のデータを生成するGUI作成手段である。
ここで、プリントデータを生成する際に必要な設定の内容は、生成の際に行う処理の内容、すなわち使用するフィルタの種類によって異なる。そこで、UI制御部123は、GUIのデータを作成する際、まずフィルタ構成ファイルを参照してプリントデータの生成に使用するフィルタを特定する。その後、使用する各フィルタにアクセスしてそのフィルタに係る処理に必要な設定項目及び各設定項目毎に設定し得る設定値の情報を取得し、取得した全ての設定項目につき、設定し得る値の範囲内で印刷に使用する値の指定を受け付けるためのGUIのデータを生成する。
GUIを使用する際に、必ずフィルタ構成ファイル122を参照してデータを生成するようにすれば、プリントデータの生成に使用するフィルタが変更された場合でも、必ず、使用するフィルタに合った設定を受け付けるGUIを生成することができる。
なお、具体的なGUIのフォーマットについては、プリンタドライバ12の作成者が任意に定めることができる。
また、UI制御部123は、アプリケーション11等から印刷設定を行うためのGUIの表示を要求された場合には、作成したデータに基づいてGUIを画面に表示させ、印刷設定を受け付ける指定受付手段の機能も有する。そして、ここで受け付けた印刷設定の内容は、プリントデータの生成を要求する印刷コマンドに含める形で、フィルタパイプラインマネージャ121に渡される。
なお、UI制御部123と同様な機能は、フィルタ構成ファイル122及びフィルタ141にアクセスして内容を取得可能なモジュールであれば、どこにでも設けることができる。これは、フィルタ構成ファイル122及びフィルタ141を参照することにより、必要な設定項目や設定値の情報を取得できるためである。例えば、上述のようにOSの規格により定められるフォーマットでフィルタ構成ファイル122や機能情報300を記載する場合、これらの内容を参照するためのプログラムはOSの規格に従って開発することができる。
従って、フィルタ141の機能を実現するDLLやフィルタ構成ファイル122の格納位置がアプリケーション11から把握できる場合には、アプリケーション11側に、UI制御部123と同様な機能を有するUI制御部110を設けてもよい。このようにすれば、アプリケーション11の開発者が、自由にGUIをデザインすることができ、設計の自由度が高まる。
なお、アプリケーション11側にUI制御部110があれば、プリンタドライバ12がUI制御部123を有することは必須ではない。しかし、UI制御部を有しないアプリケーションからもプリンタドライバ12を利用できるようにするためには、プリンタドライバ12にもUI制御部123を設けておくことが好ましい。
次に、上述の機能情報300及びフィルタ構成ファイル122の内容について説明する。
まず、図6乃至図9に、機能情報300の例を示す。これらの図に示す例においては、PrintCapabilitiesの形式で機能情報300を記載している(符号は300a〜300dを用いている)が、説明の用に供するため、簡略化して特徴的な部分のみを示している。なお、Microsoft Windows Vista(商標)の規格において、PrintCapabilitiesはプリンタドライバにより制御するプリンタが有する機能の内容を示すデータであるが、ここではデータ形式のみを流用し、これとは異なる目的に用いている。
図6に示す機能情報300aは、XML形式のデータであり、最上位の要素として、これがPrintCapabilitiesの形式で記載されたデータであることを示すPrintCapabilities要素1つを有している。また、このPrintCapabilities要素のname属性301として、フィルタ141の機能の名称を示す文字列を記載しており、この例ではその機能の名称は「集約」である。
そして、PrintCapabilities要素の子要素であるFeature要素1つが、フィルタによりデータを処理する際に用いる設定内容のうち設定項目1つを示す。また、そのname属性が、設定項目の内容を示す。図6の例では、2つのFeature要素310〜320により、「集約」機能に係る処理を行うフィルタにおいて、「集約ページ数」及び「順番」の2つの設定項目の設定が可能であることが示されている。ただし、これらの項目の設定は必須ではなく、フィルタに対して処理が要求される場合に、これらの設定項目の設定内容が渡されない場合には、所定のデフォルト値(例えば最初の選択肢の内容)を用いて処理するといった対応も可能である。
また、各Feature要素の子要素であるOption要素は、Feature要素が示す設定項目について設定できる各選択肢を示している。例えば、「集約ページ数」のFeature要素310(name属性の値が「集約ページ数」であるFeature要素)は、4つのOption要素311〜314を子要素として持ち、これらの各々のname属性の値が、「集約ページ数」の設定項目に設定可能な値として、「1」,「2」,「4」,「6」の4つの選択肢を示している。同様に、「順番」のFeature要素320が持つ4つのOption要素321〜324は、「順番」の設定項目に設定可能な値として、「右から」,「左から」,「上から」,「下から」の4つの選択肢を示している。
図7,図8に示す機能情報300b,300cは、図6に示したものとは別のフィルタについての機能情報の例である。しかし、これらの機能情報300b,300cも、データの構造は図6に示したものと同様である。
すなわち、図7に示した例は、PrintCapabilities要素のname属性の値により、「マーク」機能に係る処理を行うフィルタに関する機能情報であることを示しており、その下位のFeature要素331〜333により、「色」,「角度」,「位置」の設定項目の設定が可能であること、及びこれらの項目に設定可能な値を示している。
図8に示した例では、同様に、「解像度」機能に係る処理を行うフィルタについては、「解像度」の設定項目の設定が可能であること、及びこの項目に設定可能な値を示している。
なお、図6乃至図8に示した例では、各設定項目に設定可能な値を選択肢により示していたが、設定可能な値の範囲を規定できるようにしてもよい。この範囲は、数値を設定すべき設定項目については、その上限値と下限値により規定すればよい。この時、設定可能な値が連続値であるか、離散値(整数等)であるかを規定できるようにしてもよい。また、テキストや論理値(YES/NO)を設定可能である旨を規定できるようにしてもよい。
図9には、整数値を設定すべき設定項目を含む機能情報の例を示している。この図に示す機能情報300dは、「基本」のフィルタに関する機能情報であり、2つのFeature要素351,352により「用紙サイズ」と「部数」の設定項目を示している。
このうち「用紙サイズ」については、所定の選択肢から選択を受け付けるここまで述べてきたような設定項目であるが、「部数」は、所定範囲の整数値を設定すべき設定項目である。Fueature要素352の子要素である3つのProperty要素353〜355により、整数値を設定すべきこと、その最小値が1であること、及びその最大値が999であることをそれぞれ示している。
次に、図10に、フィルタ構成ファイル122に記載するフィルタ構成情報の例を示す。この図に示す例は、Microsoft Windows Vista(商標)の規格に従ったデータであるが、説明の用に供するため、特徴的な部分を簡略化して示している。
図10に示すフィルタ構成情報400も、XML形式のデータであり、最上位の要素として、これがフィルタ構成情報のデータであることを示すFilters要素1つを有している。
そして、Filters要素の子要素であるFIlter要素1つが、プリントデータの生成処理に使用するフィルタ1つを示す。Filter要素の記載順は、各フィルタを使用する順番を示す。
そして、Fiter要素のdll属性の値は、フィルタの機能を実現するためのプログラムのファイル名を示し、name属性の値は、フィルタにより実現される機能の名称を示す。なお、この名称としては、フィルタ構成情報の作成時に、フィルタが有する機能情報中の、PrintCapabilities要素のname属性の値を転記する。
図10の例では、Filter要素401〜403により、プリンタドライバ12においては、「基本」,「集約」,「マーク」の3つの機能に係るフィルタをこの順で使用することが示されている。
次に、これらのフィルタ構成情報及び機能情報に基づいて、プリンタドライバ12がプリントデータを生成する際に必要な設定を受け付けるためのGUIを表示する処理について説明する。
図11に、この処理のフローチャートを示す。この処理は、図4に示したUI制御部123又はUI制御部110として機能するCPU101が実行する処理である。また、処理の開始タイミングは、プリンタドライバ12に関する設定画面の表示が指示された場合(主として印刷実行に伴って印刷内容の設定を行う場合である)と、プリンタドライバ12に対して後述する機能の追加/削除が行われた場合とである。
そして、CPU101は、図11に示す処理を開始すると、まずステップS11で、印刷に使用する又は設定を行うプリンタドライバ12に関するフィルタ構成ファイル122の内容(フィルタ構成データ)を構文解析(パース)する。このパースのためには、フィルタ構成データの書式に合ったパーサを予め準備しておく。また、フィルタ構成ファイル122の位置については、UI制御部にプリンタドライバ12の識別情報と共に保持させておいたり、OSの設定により定められた所定の記憶位置(フォルダ等)を検索して得たりすることが考えられる。
その後、ステップS12で、フィルタ構成ファイルに登録されていた全フィルタについて、そのフィルタの機能を実現するためのプログラムがアクセス可能な位置に存在しているか否か判断する。図10に示した例では、フィルタ構成データにはプログラムのファイル名のみ記載しているが、OSの設定等により、フィルタ記憶部140として用いるフォルダが定められていれば、そのフォルダに格納されているファイルを検索し、フィルタ構成データに記載されたプログラムがあったか否かに応じて、ステップS12の判断を行うことができる。
そして、ステップS12でYESであれば、ステップS13に進み、フィルタ構成ファイルに登録されていた各フィルタから、機能情報を取得する。上述のように、フィルタの機能を実現するためのプログラムを起動して、そのプログラムに係るプロセスに、機能情報を取得するための特定のコマンドを送信すれば、そのプロセスが、図5に示したI/F部202の機能により機能情報の内容を返してくる。
次のステップS14では、フィルタ構成ファイルに登録されていた各フィルタに関して、取得した機能情報に従って、設定可能な各設定項目につき、設定可能な範囲の値の指定を受け付けるためのGUIのデータを作成する。図6等を用いて説明した通り、機能情報には、フィルタによりデータを処理する際に用いる設定項目毎に、設定し得る設定値の情報が記載されているから、これらの情報に基づいて、どのようなGUIを作成すればよいか判断できる。例えば、図6のFeature要素310が示す「集約ページ」の設定項目については、「1」,「2」,「4」,「6」の4つの選択肢を有するドロップダウンリストやラジオボタン、あるいは選択用アイコン等を用意すればよい。ただし、具体的にどのような操作によって指定を受け付けるGUIとするかは、UI制御部の任意でよい。
このようなGUIのデータは、例えば、XML形式で記載された機能情報を所定の規則に従って変換することにより作成できる。Feature要素のName属性の値に見出しを示すタグを付し、その下位のOption要素のName属性の値に、ドロップダウンリストに記載される選択候補であることを示すタグを付す等である。
次のステップS15では、各フィルタについてステップS14で作成したGUIのデータを基本骨格に組み入れ、設定指示を受け付けるためのGUIのデータを作成する。この基本骨格は、GUIのうちフィルタの内容に依存しない部分であり、例えば印刷ボタンやキャンセルボタン等がこれに該当する。なお、GUIを表示するシチュエーションに応じて異なる基本骨格を用いてもよい。
次のステップS16では、作成したデータに基づいて画面にGUIを表示し、ユーザからの操作を受け付ける状態に移行して、処理を終了する。
表示したGUI上に何か操作があった場合には、CPU101は、その操作に応じて図11とは別の処理を実行し、操作内容に従った動作を行う。
以上の処理において、CPU101は取得手段、GUI作成手段及び指定受付手段として機能する。
図12に、図10に示したフィルタ構成情報に従って図11に示した処理により表示されるGUIの例を示す。
図12に示す印刷設定画面500は、印刷実行時の印刷内容の設定を受け付ける画面である。そして、中央に位置する設定受付部501と、その下側の印刷ボタン502、キャンセルボタン503、および機能追加/削除ボタン504とを備える。
このうち設定受付部501が、フィルタ構成データ及び機能情報に従って生成される部分であり、その他の部分が基本骨格に相当する部分である。図12の例では、フィルタ1つ毎に、そのフィルタが使用する設定項目に関する設定を受け付けるための画面を用意し、これらの画面をタブにより切り換えることができるようにしている。
印刷設定画面500においては、図10に示したフィルタ構成情報に「基本」,「集約」,「マーク」のフィルタが登録されていることに対応し、基本タブ511,集約タブ521,マークタブ531が設けられている。これらのタブのキャプションとしては、ここでは、フィルタ構成情報中のFilter要素のname属性の値をそのまま用いている。
また、図12には、印刷設定画面500において集約タブ521が選択され、集約機能に関する設定を受け付けるための集約設定画面520が表示された状態を示している。また、集約機能に係るフィルタの構成情報は、図6に示した構成情報300であり、この情報から、このフィルタに関する設定項目としては、「集約ページ数」と「順番」があることがわかる。
そこで、これらの項目に関する設定を受け付けるためのドロップダウンリスト522,523を設けている。またここでは、これらのドロップダウンリストの見出し524,525として、機能情報300中のFeature要素310,320のname属性の値をそのまま用いている。
また、ドロップダウンリスト523については、ボタン523aが押下され、選択肢が表示された状態を示している。この選択肢としては、「順番」のFeature要素320の下位のOption要素321〜324のname属性の値をそのまま用いている。
この図には示していないが、基本タブ511やマークタブ531と対応する画面についても、同様にフィルタと対応する機能情報に基づいて自動的に作成することができる。
また、設定受付部501以外の部分については、印刷ボタン502は、印刷の実行指示を受け付けるためのボタンである。この印刷ボタン502が押下された場合、印刷設定画面500を表示させたUI制御部123又は110は、印刷設定画面500により受け付けた各フィルタの各設定項目についての設定値を含む印刷コマンドを生成し、印刷すべき文書のデータと共にフィルタパイプラインマネージャ121に渡して、プリントデータの生成を行わせる。
また、キャンセルボタン503は、印刷を取り止める指示を受け付けるためのボタンである。
機能追加/削除ボタン504は、プリンタドライバ12における機能の追加や削除を行うための画面を表示させる指示を受け付けるためのボタンである。
図11に示した処理によれば、GUIを表示する時点のフィルタ構成ファイル122及び各フィルタの機能情報300の内容に従って印刷設定画面のデータを生成しているため、プリントデータの生成に使用するフィルタが変更された場合でも、必ず、使用するフィルタに合った設定を受け付けるGUIを生成することができる。
ここで、図13に、アプリケーション11が自身に備えるUI制御部110により印刷設定を受け付ける場合における、印刷指示受付から印刷実行までの手順で各部が実行する処理のシーケンスを示す。
アプリケーション11が画像形成装置20を用いた印刷の指示を受け付けた場合、自身が備えるUI制御部110の機能により、印刷に使用するプリンタドライバ12についてのフィルタ構成ファイル122を参照して、その内容を構文解析する(S21)。
ここで、フィルタ構成ファイル122が図10に示した内容であったとすると、構文解析により、プリントデータの生成にはフィルタ141a〜フィルタ141cの3つのフィルタを用いることがわかる。そこでUI制御部110は、これらの各フィルタ141a〜141cに、PrintCapabilities取得のための所定のコマンドを送信し、これらの各フィルタ141a〜141cが使用する設定項目及び設定値の情報を示すPrintCapabilitiesを取得する(S22〜S24)。これらの取得順は順不同でよい。
また、UI制御部110は、使用する各フィルタからPrintCapabilitiesを取得できると、その取得したPrintCapabilitiesに基づき図12に示したようなGUIを作成し、ディスプレイに表示して、各フィルタ14a〜14cが使用する設定項目についてのユーザからの設定操作を受け付ける(S25)。
そして、ユーザが必要な設定を行った後、印刷ボタン502を押下すると、UI制御部110は、送信する文書データに基づいてプリントデータを生成することを指示するコマンドを生成し、そのコマンドと共に印刷すべき文書の内容を示す文書データをフィルタパイプラインマネージャ121に対して送信する。なお、ここで送信するコマンドは、ステップS25で受け付けた設定内容の情報を含むものである。また、OSとしてMicrosoft Windows Vista(商標)を用いる場合、この設定内容の情報は、各フィルタのPrintCapabilitiesにおけるFeature属性毎にそのOption属性のいずれかを含むPrintTicket形式のデータとして記載するとよい。
また、フィルタパイプラインマネージャ121は、上記のコマンドと文書データを受け取ると、フィルタ構成ファイル122を参照し、プリントデータの生成に使用するフィルタ141a〜141cを起動する。そして、これらの各フィルタ141a〜141cに対し、コマンドに含まれていた設定値のうち、フィルタにおける処理に使用する設定項目の設定値と共に、処理させるデータを送信し、処理後のデータを受け取るという動作を繰り返す(S27〜S29)。
またこのとき、フィルタにデータを送信する順番は、フィルタ構成ファイル122の内容に従って定める。そして、初めのフィルタから受け取った処理後のデータを次のフィルタに送信してそのデータに対して次の処理を実行させ、そのフィルタから受け取った処理後のデータをその次のフィルタに送信してそのデータに対して次の処理を実行させ、という手順で各フィルタに順次処理を実行させる。そして、最後のフィルタから受け取った処理結果が、画像形成装置20に送信すべきプリントデータになっているはずである。
そこで、フィルタパイプラインマネージャ121は、最後のフィルタから処理結果を受け取ると、そのデータを、画像形成装置20に印刷を指示する印刷コマンドと共に、ポートモニタ13に送信し、所定のスプールディレクトリにスプールさせる(S30)。
その後、ポートモニタ13が適当なタイミングでそのデータを画像形成装置20に送信することにより(S31)、画像形成装置20に、送信したプリントデータに従った印刷、すなわちアプリケーション11が出力した文書データ及びステップS25でユーザから受け付けた設定内容に基づく印刷を行わせることができる(S32)。
次に、プリンタドライバ12に対する機能の追加/削除について説明する。図4の説明で述べた通り、プリンタドライバ12においては、フィルタパイプラインマネージャ121がプリントデータの生成時に使用するフィルタの種類を変更することにより、すなわち、フィルタ構成ファイル122の内容を変更することにより、印刷時に使用できる機能の追加/削除を行うことができる。
ここで、図14に、フィルタ構成ファイル122の内容の初期値を、図15に、この内容に基づいて生成される印刷設定画面の例を示す。
プリンタドライバ12において、フィルタ構成ファイル122の内容(フィルタ構成データ)の初期値は、図14に示すように、プリントデータの生成に基本のフィルタのみ使用するものとしている。そして、このフィルタにおいては、用紙サイズ及び部数といった基本的な設定のみが可能であり、図14に示したフィルタ構成データに基づき、図9に示した基本のフィルタのPrintCapabilitiesを参照して図11に示す処理により生成される印刷設定画面は、図15に示すものとなる。
この画面においては、設定受付部501には、「基本」のフィルタと対応する画面を選択するための基本タブ511のみを設け、基本機能に関する設定項目である「用紙サイズ」と「部数」の設定を受け付けるための基本画面510が表示された状態となる。そして、「用紙サイズ」については、所定の選択肢から選択させるものであるため、ドロップダウンリスト512により選択を受け付け、「部数」については、数値を指定させるものであるため、数値入力部513を設けてテキスト入力を受け付けると共に、増減ボタン513a,513bにより、入力した数値を増減させることができるようにしている。
そして、ユーザはこの設定受付画面500′において必要な設定を行って印刷ボタン502を押下することにより、基本機能のみを使った印刷を指示することができる。しかし、拡張機能も利用したい場合には、機能追加/削除ボタン504を押下することにより、フィルタパイプラインマネージャ121に使用させるフィルタを追加/削除するための機能変更モードに移行することができる。この点は、図12に示したような、既にいくつか機能の追加された状態の設定受付画面500において機能追加/削除ボタン504が押下された場合も同様である。
図16に、この機能変更モードの処理のフローチャートを示す。この処理は、図4に示したUI制御部123又はUI制御部110として機能するCPU101が実行する処理である。
CPU101は、図11のステップS16の処理でディスプレイに表示させた設定受付画面において、機能追加/削除ボタン504が押下されると、図16のフローチャートに示す処理を開始する。このとき、フィルタ記憶部140以外の記憶領域にフィルタ141が記憶されている場合、UI制御部123またはUI制御部110は、フィルタ記憶部140以外の記憶領域に記憶されたフィルタ141から、そのフィルタ141のファイル名と機能名の情報を取得し、それらをフィルタ構成ファイル122に登録し、そのフィルタ141をフィルタ記憶部140に記憶する。
これにより、新たにフィルタ構成ファイル122に登録されたフィルタ141は、後述する選択済みリストに登録される。なお、フィルタ記憶部140以外の記憶領域に記憶されたフィルタ141をフィルタ構成ファイル122には登録せずに、フィルタ記憶部140のみに記憶することで、そのフィルタ141は、後述する未選択リストに登録されるとしてもよい。
そして、まずステップS41で、図11のステップS11の場合と同様、フィルタ構成ファイル122の内容を構文解析する。そして、ステップS42乃至S44で、フィルタ構成ファイル122に登録されていた各フィルタについて、そのフィルタのPrintCapabilitiesを参照して機能名(Filter要素のname属性の値)の情報を取得し、フィルタ機能を実現するプログラムのファイル名と共に、選択済みリストに登録する。
図17(a)にこの選択済みリストの例を示すが、このリストはフィルタ構成ファイル122に登録されている各フィルタのファイル名と機能名を登録するリストである。ここで示すのは、フィルタ構成ファイル122の内容が図10に示したものである場合の例である。また、リストの形式については、フィルタ記憶部140に記憶しているフィルタの中でフィルタ構成ファイル122に登録されていない各フィルタのリストを示す、(b)の未選択リストも同様である。なお、これらのリストの内容は、図16の処理を開始する時点で空にしておく。
図16の説明に戻る。ステップS42乃至S44において、フィルタ構成ファイル122に登録されていた全フィルタの情報を選択済みリストに登録完了すると、ステップS42の判断がNOになり、処理はステップS45に進む。そして、所定のフィルタ保管場所(フィルタ記憶部140)に保管されているフィルタを検索する。なお、フィルタ保管場所の位置については、OSの設定を参照して把握できることが好ましいが、そうでない場合には、他の何らかの手段により、UI制御部123とUI制御部110との双方から把握できるようにする。
ステップS45の後は、ステップS46乃至S49で、これらのフィルタのうち選択済みリストに登録されていないもの、すなわちフィルタ構成ファイル122に登録されていないものにつき、ファイル名と機能名の情報を、図17(b)に示した未選択リストに登録する。そして、以上のステップS49までの処理により、フィルタ記憶部140に記憶しているフィルタ全ての情報を選択済みリスト又は未選択リストに登録完了すると、ステップS46の判断がNOになり、処理はステップS50に進む。
次のステップS50では、ここまでの処理で作成した選択済みリスト及び未選択リストの内容に従い、ディスプレイにフィルタ構成設定画面を表示させる。その後ステップS51で、この画面においてフィルタ構成の変更を指示する操作を受け付け、その操作内容に応じて選択済みリスト及び未選択リストの内容を更新する。
ここで、図18に、フィルタ構成設定画面の例を示す。
この図に示すように、図16のステップS50の処理で表示させるフィルタ構成設定画面600は、選択済みフィルタ表示部601、未選択フィルタ表示部602、削除ボタン603、追加ボタン604、OKボタン605、キャンセルボタン606を備えるものである。
このうち選択済みフィルタ表示部601は、フィルタ構成ファイル122に登録することが選択されているフィルタの一覧を表示する部分であり、初期値としては、図16の処理で作成した選択済みリストに登録されている各機能名を表示する。
また、未選択フィルタ表示部602は、フィルタ構成ファイル122に登録可能だが登録することが選択されていないフィルタの一覧を表示する部分であり、初期値としては、図16の処理で作成した未選択リストに登録されている各機能名を表示する。
そして、選択済みフィルタ表示部601においてフィルタ(機能)を選択して削除ボタン603を押下することにより、このフィルタを未選択フィルタ表示部602に移動させることができる。逆に、未選択フィルタ表示部606においてフィルタ(機能)を選択して追加ボタン604を押下することにより、このフィルタを選択済みフィルタ表示部601に移動させることができる。また、これらの操作がなされた場合、各表示部601,602の表示だけでなく、これに合わせて選択済みリスト及び未選択リストの内容も更新する。従って、これらの操作により、フィルタ構成ファイル122に登録するフィルタの追加/削除、すなわち印刷時に使用する機能の追加/削除を指示することができる。
また、OKボタン605はこのフィルタ構成設定画面600で受け付けたフィルタ構成をフィルタ構成ファイル122に反映させる指示を受け付けるためのボタンである。キャンセルボタン606は、フィルタ構成ファイル122を変更せずにフィルタ構成設定画面600を閉じる指示を受け付けるためのボタンである。
そして、これらのいずれかが押下された場合、図16に示した処理は、ステップS51からS52に進む。
そして、変更を反映させる場合、すなわちOKボタン605が押下された場合には、ステップS53に進み、この時点で選択済みリストに登録されている各フィルタをフィルタパイプラインマネージャ121が処理に使用するよう、選択済みリストの内容に基づいてフィルタ構成ファイル122の内容を更新する。
その後、ステップS54で、フィルタ構成設定画面600を閉じると共に、図11に示した処理を実行して、更新後のフィルタ構成ファイル122の内容に基づくGUI画面をディスプレイに表示させ、処理を終了する。
また、ステップS52でNOの場合、すなわちフィルタ構成設定画面600でキャンセルボタン606が押下された場合には、ステップS55でフィルタ構成設定画面600を閉じて、以前表示していた設定受付画面500に戻る。
以上の処理により、ユーザは、フィルタパイプラインマネージャ121がプリントデータの生成に使用するフィルタ、すなわち印刷時に使用できる機能を、予め用意されたフィルタ(機能)の中から任意に組み合わせて設定することができる。
そして、使用する機能を追加又は削除した場合でも、図11に示した処理により、使用する機能について必要な設定項目の設定を過不足なく受け付ける印刷設定画面のGUIが自動生成され、そのGUIにより印刷設定を行うことができるため、設定時に混乱を来たすこともない。例えば、図14に示した初期状態に、「集約」及び「マーク」のフィルタを追加したとすると、初期状態では図15に示す内容であった印刷設定画面は、追加後には自動的に図12に示す内容とすることができる。
また、フィルタ構成ファイル122の内容及び各フィルタの機能情報を外部から取得可能としているため、使用するフィルタの設定機能や、GUIの自動生成機能は、アプリケーション11によって提供することが可能である。従って、アプリケーション11の開発者にとっては、アプリケーション11の外部にあるプリンタドライバ12によるデータ処理機能の利用や、そのためのGUIの設計を、高い自由度で行うことができる。
この効果は、第一義的には、各フィルタ141に機能情報300及びその機能情報300を外部に提供するI/F部202を設けたことによりもたらされるものである。また、UI制御部110がフィルタ構成ファイル122の内容に基づいて適切な機能情報300を取得し、その内容に基づいてGUIのデータを生成するようにしたことによってももたらされるものである。
以上で実施形態の説明を終了するが、この発明において、装置の構成、具体的な処理内容、表示する画面の内容や用途、データの形式等が、以上説明してきた実施形態において具体的に説明したものに限られないことは、もちろんである。
例えば、図4に示した例では、プリンタドライバ12を1つのみ示したが、端末装置10にプリンタドライバ12を複数設けてもよいことはもちろんである。この場合、フィルタ記憶部140に記憶させたフィルタ141については、複数のプリンタドライバにより共有することが可能である。
すなわち、フィルタ記憶部140には、どのドライバで使用するフィルタであるかに関わらずフィルタを登録可能であり、実際にどのフィルタを処理に使用するかは、フィルタ構成ファイル122により指定すればよい。そして、複数のフィルタ構成ファイル122に同じフィルタが登録されていても、全く問題ない。
また、フィルタ構成ファイル122を特定のフォルダに格納するようにしておけば、プリンタドライバ12が複数ある場合であっても、アプリケーションがそのフォルダを検索してフィルタ構成ファイル122の内容を参照することにより、端末装置10にどのような処理を行うプリンタドライバが登録されているかを把握することができる。
また、フィルタパイプラインマネージャ121やUI制御部123の設計によっては、プリンタドライバ毎にこれらの構成要素を用意しなくても、単にフィルタ構成ファイル122を複数設け、場合によって使用するフィルタ構成ファイルを切り換えることにより、1つのフィルタパイプラインマネージャやUI制御部をこの切り替えに応じて異なるプリンタドライバとして機能させる構成とすることも可能である。
また、上述した実施形態では、図12,図15,図18に示したGUIのキャプションとして、フィルタ構成情報やフィルタの機能情報に含まれる要素のname属性の値をそのまま用いていた。しかし、これらのname属性をより記号的な値とし、name属性の値とキャプションとの対応関係を示すデータを別途用意し、任意の文字列をキャプションとして用いることができるようにしてもよい。この場合に、ユーザがキャプションを変更できるようにしてもよい。
また、上述した実施形態では、各フィルタが有する機能情報をPrintCapabilities形式のデータとして取扱い、フィルタ構成ファイル122も、Microsoft Windows Vista(商標)により規定された形式のデータとして取り扱う例について説明した。この形式であると、公知のOSが提供する機能を利用して容易にこの発明の情報処理装置を構成することができるが、他のデータ形式を用いたとしても、同等な機能を実現することは可能である。
また、各プリンタやプリンタドライバが有する機能や選択可能な選択肢が、上述した実施形態のものに限られないことは、もちろんである。
また、上述した実施形態では、フィルタをプリンタドライバ12と同じ端末装置10に記憶させる例について説明したが、フィルタの記憶位置はこれに限られない。フィルタパイプラインマネージャ121及びUI制御部123,110から参照できる位置であれば、プリンタドライバ12やアプリケーション11とは異なる装置に記憶されていてもよい。
また、この発明を、プリンタ以外のデバイスを制御するデバイスドライバ手段を有する情報処理装置に適用してもよいことはもちろんである。例えば、この発明は、スキャナ・ファクシミリ装置・複写機を始めとする種々の画像形成装置,ネットワーク家電,自動販売機,医療機器,電源装置,空調システム,ガス・水道・電気等の計量システム,自動車,航空機等の任意の電子装置を制御するためのデバイスドライバ手段及びそのデバイスドライバ手段を有する情報処理装置を構成する場合に適用可能である。
また、この発明の記録媒体は、コンピュータにハードウェアを制御させて上述したようなデバイスドライバ手段として機能させるためのプログラムを記録した記録媒体である。このような記録媒体からこのプログラムをRAMに読み出させてCPUに実行させることにより、上述した実施形態や変形例と同様の効果を得ることができる。また、このようなプログラムを、記録媒体の配布によらず、ダウンロード等により提供することも可能である。
また、以上述べてきた各実施形態の構成及び変形例は、矛盾しない範囲で適宜組み合わせて適用することも可能である。
以上説明してきたように、この発明の情報処理装置、情報処理装置の制御方法、プログラム又は記録媒体によれば、外部のデータ処理機能を高い自由度でアプリケーションから呼び出して使用できる環境を、容易に構築できるようにすることができる。
従って、この発明を適用することにより、利便性の高い情報処理装置を提供することができる。
この発明の情報処理装置の実施形態である端末装置と、その端末装置により処理した情報の送信先となる画像形成装置とを含む画像形成システムの構成例を示すブロック図である。 図1に示した端末装置のハードウェア構成を示すブロック図である。 図1に示した端末装置からの指示により画像形成装置に画像形成を行わせる動作に関連する各装置の機能の構成を示す機能ブロック図である。 図3に示したプリンタドライバの機能構成をより詳細に示す図である。 図4に示したフィルタ1つの構成をより詳細に示す機能ブロック図である。 図5に示した機能情報の例を示す図である。 機能情報の別の例(その1)を示す図である。 機能情報の別の例(その2)を示す図である。 機能情報の別の例(その3)を示す図である。 図4に示したフィルタ構成ファイルに記載するフィルタ構成情報の例を示す図である。 フィルタ構成情報及び機能情報に基づいて、プリンタドライバがプリントデータを生成する際に必要な設定を受け付けるためのGUIを表示する処理のフローチャートである。 図10に示したフィルタ構成情報に従って図11に示した処理により表示されるGUIの例を示す図である。 図4に示したアプリケーションが自身に備えるUI制御部により印刷設定を受け付ける場合における、印刷指示受付から印刷実行までの手順で各部が実行する処理のシーケンスを示す図である。 フィルタ構成ファイルの内容の初期値を示す図である。 図14に示した内容に基づいて生成される印刷設定画面の例を示す図である。 機能変更モードの処理のフローチャートである。 図16に示した処理で生成される選択済みリスト及び未選択リストの例を示す図である。 フィルタ構成設定画面の例を示す図である。
符号の説明
10:端末装置、11:アプリケーション、12:プリンタドライバ、
13:ポートモニタ、20:画像形成装置、21:通信I/F部、22:主制御部、
23:プリントエンジン、110,123:UI制御部、
121:フィルタパイプラインマネージャ、122:フィルタ構成ファイル、
201:データ処理部、202:I/F部、300:機能情報

Claims (15)

  1. 画像処理装置を制御する印刷制御プログラムと前記印刷制御プログラムからの要求に応じて処理を行う複数の処理プログラムを有する情報処理装置であって、
    前記処理プログラムは、コンピュータを、
    前記処理プログラムが処理を行う際に使用可能な機能情報を記憶する記憶手段と、
    前記印刷制御プログラムからの要求に応じて前記記憶手段に記憶された前記機能情報を送信する機能情報送信手段と、
    前記機能情報に基づいた設定内容に従って前記印刷制御プログラムからの要求に応じて処理を行う処理手段として機能させ、
    前記機能情報送信手段は、
    前記印刷制御プログラムとは異なるプログラムからの要求に応じて前記記憶手段に記憶された前記機能情報を送信する
    ことを特徴とする情報処理装置。
  2. 前記印刷制御プログラムは、コンピュータを、
    前記複数の処理プログラムのうち要求可能な処理プログラムの情報を記憶する処理プログラム情報記憶手段と、
    前記要求可能な処理プログラムの情報に基づいて前記処理プログラムそれぞれに前記機能情報を要求する第一の機能情報要求手段と、
    前記第一の機能情報要求手段によ要求に応じて前記処理プログラムそれぞれから送信された前記機能情報を受信する第一の機能情報受信手段と、
    前記第一の機能情報受信手段により受信した機能情報に基づいて、設定内容を受け付けるための画面を生成する第一の画面生成手段と、
    して機能させることを特徴とする請求項1に記載の情報処理装置。
  3. 前記印刷制御プログラムと異なるプログラムは、コンピュータを、
    前記要求可能な処理プログラムの情報に基づいて前記処理プログラムそれぞれに前記機能情報を要求する第二の機能情報要求手段と、
    前記第二の機能情報要求手段によ要求に応じて前記処理プログラムそれぞれから送信された前記機能情報を受信する第二の機能情報受信手段と、
    前記第二の機能情報受信手段により受信した機能情報に基づいて、設定内容を受け付けるための画面を生成する第二の画面生成手段と、
    して機能させることを特徴とする請求項2に記載の情報処理装置。
  4. 前記処理プログラムを外部装置から受け付ける受付手段と、
    前記受付手段で受け付けた処理プログラムの情報を前記処理プログラム情報記憶手段に記憶する処理プログラム情報記憶制御手段と、
    を有することを特徴とする請求項2に記載の情報処理装置。
  5. 前記第一の画面生成手段又は前記第二の画面生成手段によって生成された画面より設定内容の指定を受け付ける指定受付手段と、
    処理を行うデータと共に前記指定受付手段が受け付けた設定内容を送信する処理要求送信手段と、
    前記処理要求送信手段からの前記処理を行うデータと前記設定内容に従った情報を受信した場合、前記処理プログラムの情報に基づいて前記処理プログラムそれぞれに順次前記処理を行うデータと前記設定内容を送信する処理制御手段と、
    を有することを特徴とする請求項に記載の情報処理装置。
  6. 前記処理制御手段が各処理プログラムに処理をさせて得られた処理結果を外部装置に出力する出力手段を有することを特徴とする請求項5に記載の情報処理装置。
  7. 画像処理装置を制御する印刷制御プログラムを有する情報処理装置によって実行され、前記印刷制御プログラムからの要求に応じて処理を行う処理プログラムであって、
    ンピュータを、
    前記処理プログラムが処理を行う際に使用可能な機能情報を記憶する記憶手段と、
    前記印刷制御プログラムからの要求に応じて前記記憶手段に記憶された前記機能情報を送信する機能情報送信手段と、
    前記機能情報に基づいた設定内容に従って前記印刷制御プログラムからの要求に応じて処理を行う処理手段として機能させ、
    前記機能情報送信手段は、
    前記印刷制御プログラムとは異なるプログラムからの要求に応じて前記記憶手段に記憶された前記機能情報を送信する
    ことを特徴とする処理プログラム。
  8. 前記印刷制御プログラムは、コンピュータを、
    前記複数の処理プログラムのうち要求可能な処理プログラムの情報を記憶する処理プログラム情報記憶手段と、
    前記要求可能な処理プログラムの情報に基づいて前記処理プログラムそれぞれに前記機能情報を要求する第一の機能情報要求手段と、
    前記第一の機能情報要求手段によ要求に応じて前記処理プログラムそれぞれから送信された前記機能情報を受信する第一の機能情報受信手段と、
    前記第一の機能情報受信手段により受信した機能情報に基づいて、設定内容を受け付けるための画面を生成する第一の画面生成手段と、
    して機能させることを特徴とする請求項7に記載の処理プログラム。
  9. 前記印刷制御プログラムと異なるプログラムは、コンピュータを、
    前記要求可能な処理プログラムの情報に基づいて前記処理プログラムそれぞれに前記機能情報を要求する第二の機能情報要求手段と、
    前記第二の機能情報要求手段によ要求に応じて前記処理プログラムそれぞれから送信された前記機能情報を受信する第二の機能情報受信手段と、
    前記第二の機能情報受信手段により受信した機能情報に基づいて、設定内容を受け付けるための画面を生成する第二の画面生成手段と、
    して機能させることを特徴とする請求項8に記載の処理プログラム。
  10. 請求項7乃至の何れか一項に記載の処理プログラムを記録したコンピュータにより読み取り可能な記録媒体。
  11. 画像処理装置を制御する印刷制御プログラムと前記印刷制御プログラムからの要求に応じて処理を行う複数の処理プログラムを有する情報処理装置における情報処理方法であって、
    前記処理プログラムにより、
    前記処理プログラムが処理を行う際に使用可能な機能情報を記憶する記憶手順と、
    前記印刷制御プログラムからの要求に応じて前記記憶手順に記憶された前記機能情報を送信する機能情報送信手順と、
    前記機能情報に基づいた設定内容に従って前記印刷制御プログラムからの要求に応じて処理を行う処理手順とが実行され、
    前記機能情報送信手順は、
    前記印刷制御プログラムとは異なるプログラムからの要求に応じて前記記憶手順により記憶された前記機能情報を送信する
    ことを特徴とする情報処理方法。
  12. 前記印刷制御プログラムにより、
    前記複数の処理プログラムのうち要求可能な処理プログラムの情報を記憶する処理プログラム情報記憶手順と、
    前記要求可能な処理プログラムの情報に基づいて前記処理プログラムそれぞれに前記機能情報を要求する第一の機能情報要求手順と、
    前記第一の機能情報要求手順によ要求に応じて前記処理プログラムそれぞれから送信された前記機能情報を受信する第一の機能情報受信手順とが実行され、
    前記第一の機能情報受信手順により受信した機能情報に基づいて、設定内容を受け付けるための画面を生成する第一の画面生成手順が実行されることを特徴とする請求項11に記載の情報処理方法。
  13. 前記印刷制御プログラムと異なるプログラムにより、
    前記要求可能な処理プログラムの情報に基づいて前記処理プログラムそれぞれに前記機能情報を要求する第二の機能情報要求手順と、
    前記第二の機能情報要求手順によ要求に応じて前記処理プログラムそれぞれから送信された前記機能情報を受信する第二の機能情報受信手順と、
    前記第二の機能情報受信手順により受信した機能情報に基づいて、設定内容を受け付けるための画面を生成する第二の画面生成手順と、
    が実行されることを特徴とする請求項12に記載の情 報処理方法。
  14. 前記処理プログラムを外部装置から受け付ける受付手順と、
    前記受付手順で受け付けた処理プログラムの情報を記憶する処理プログラム情報記憶制御手順と、
    を有することを特徴とする請求項12に記載の情報処理方法。
  15. 前記第一の画面生成手順又は前記第二の画面生成手順によって生成された画面より設定内容の指定を受け付ける指定受付手順と、
    処理を行うデータと共に前記指定受付手順で受け付けた設定内容を送信する処理要求送信手順と、
    前記処理要求送信手順により前記処理を行うデータと前記設定内容に従った情報を受信した場合、前記処理プログラムの情報に基づいて前記処理プログラムそれぞれに順次前記処理を行うデータと前記設定内容を送信する処理制御手順と、
    を有することを特徴とする請求項13に記載の情報処理方法。
JP2008262122A 2007-12-14 2008-10-08 情報処理装置、情報処理プログラム、記録媒体及び情報処理方法 Expired - Fee Related JP5326477B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2008262122A JP5326477B2 (ja) 2007-12-14 2008-10-08 情報処理装置、情報処理プログラム、記録媒体及び情報処理方法
US12/314,123 US20090157906A1 (en) 2007-12-14 2008-12-04 Information processing device, information processing device controlling method, and computer-readable recording medium
EP08253970A EP2071448A3 (en) 2007-12-14 2008-12-11 Information processing device, information processing device controlling method, and computer-readable recording medium
CN2008101871112A CN101458615B (zh) 2007-12-14 2008-12-12 信息处理设备和信息处理设备控制方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007322838 2007-12-14
JP2007322838 2007-12-14
JP2008262122A JP5326477B2 (ja) 2007-12-14 2008-10-08 情報処理装置、情報処理プログラム、記録媒体及び情報処理方法

Publications (2)

Publication Number Publication Date
JP2009163711A JP2009163711A (ja) 2009-07-23
JP5326477B2 true JP5326477B2 (ja) 2013-10-30

Family

ID=40769493

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008262122A Expired - Fee Related JP5326477B2 (ja) 2007-12-14 2008-10-08 情報処理装置、情報処理プログラム、記録媒体及び情報処理方法

Country Status (2)

Country Link
JP (1) JP5326477B2 (ja)
CN (1) CN101458615B (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5257377B2 (ja) * 2010-02-22 2013-08-07 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置の操作パネル及び該パネルを備えた画像処理装置
JP5754277B2 (ja) * 2011-07-15 2015-07-29 株式会社リコー 画像形成制御プログラム
JP5998665B2 (ja) * 2012-06-14 2016-09-28 株式会社リコー 情報処理装置、プログラムおよび記録媒体
JP6079081B2 (ja) * 2012-09-18 2017-02-15 株式会社リコー 情報処理装置、プログラム及び記録媒体
JP6212971B2 (ja) * 2013-06-12 2017-10-18 株式会社リコー 印刷制御装置、印刷制御方法、プログラムおよび印刷制御システム
JP6265738B2 (ja) * 2013-12-27 2018-01-24 キヤノン株式会社 情報処理装置、情報処理方法およびコンピュータプログラム
CN108762694B (zh) * 2018-04-28 2021-05-14 珠海奔图电子有限公司 Linux操作系统中打印驱动处理方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7284246B2 (en) * 2002-04-23 2007-10-16 Canon Kabushiki Kaisha Extensible device driver
JP4377141B2 (ja) * 2003-02-21 2009-12-02 株式会社リコー 画像形成装置及び印刷データ処理プログラム
JP2006048537A (ja) * 2004-08-06 2006-02-16 Canon Inc 印刷システム及び印刷処理方法
JP4810282B2 (ja) * 2006-03-31 2011-11-09 キヤノン株式会社 モジュールインストール方法、モジュールインストール装置、及びプログラム
JP4861883B2 (ja) * 2006-05-02 2012-01-25 株式会社リコー 画像形成装置及びアプリケーション実行方法

Also Published As

Publication number Publication date
CN101458615A (zh) 2009-06-17
JP2009163711A (ja) 2009-07-23
CN101458615B (zh) 2011-11-23

Similar Documents

Publication Publication Date Title
JP4565505B2 (ja) 印刷制御装置、印刷制御方法、プログラム及び記録媒体
JP5692294B2 (ja) 情報処理装置、印刷制御プログラム、記録媒体及び画像処理システム
JP5326477B2 (ja) 情報処理装置、情報処理プログラム、記録媒体及び情報処理方法
US8405859B2 (en) Output instruction apparatus and output instruction program
US8144346B2 (en) Apparatus and method for controlling a device with a device driver
JP4673260B2 (ja) 情報処理装置及びジョブチケット生成方法
JP5825565B2 (ja) プリンタドライバ及びプリンタドライバの印刷機能の追加方法
US8171503B2 (en) Image processing system and image processing method in which a plurality of devices cooperate to perform image processing, wherein the image processing system and image processing method are capable of displaying information on operations to be performed by the devices
US8830492B2 (en) Data processing apparatus for sending a single job based on common document information
US8605316B2 (en) Information processing apparatus and control method thereof, and storage medium
EP2071448A2 (en) Information processing device, information processing device controlling method, and computer-readable recording medium
US20070206217A1 (en) Printer device
JP5804749B2 (ja) データ処理装置、データ処理方法およびプログラム
JP2015187843A (ja) 情報処理装置、情報処理方法、プログラム
JP2009181401A (ja) 情報処理装置、デバイス制御システム、プログラム及び記録媒体
US20110286034A1 (en) Information processing apparatus and non-transitory computer-readable recording medium
JP2024052771A (ja) 情報処理装置、制御方法およびプログラム
US20210240407A1 (en) Information processing apparatus, control method and program therefor, and server system capable of communicating with the information processing apparatus
JP6370156B2 (ja) 情報処理装置及びその制御方法
US9552332B2 (en) Information processing apparatus having improved preview function
JP2012128690A (ja) 情報処理装置及び情報処理装置の制御方法
JP2023108440A (ja) サポートプログラム
JP5729652B2 (ja) プリンタドライバ及びプリンタドライバのローカライズ方法
JP2015179505A (ja) 情報処理装置、プログラム
JP7362384B2 (ja) 情報処理装置、その制御方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110812

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121219

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130409

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130610

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130708

R151 Written notification of patent or utility model registration

Ref document number: 5326477

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees