JP2014071789A - 情報処理装置およびプログラム - Google Patents

情報処理装置およびプログラム Download PDF

Info

Publication number
JP2014071789A
JP2014071789A JP2012219069A JP2012219069A JP2014071789A JP 2014071789 A JP2014071789 A JP 2014071789A JP 2012219069 A JP2012219069 A JP 2012219069A JP 2012219069 A JP2012219069 A JP 2012219069A JP 2014071789 A JP2014071789 A JP 2014071789A
Authority
JP
Japan
Prior art keywords
information
driver
unit
setting
information processing
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
JP2012219069A
Other languages
English (en)
Inventor
Kazuki Obara
一樹 小原
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 JP2012219069A priority Critical patent/JP2014071789A/ja
Publication of JP2014071789A publication Critical patent/JP2014071789A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】特定のベンダに依存することなく、ベンダ依存の設定情報についても、ユーザが解釈可能な形式で取得して、ログを生成することができる、情報処理装置およびプログラムを提供すること。
【解決手段】情報処理装置100が処理したデータをプリンタ212といった他の装置に使用させるための設定情報を構造情報と共に生成するためのドライバUI210と、ドライバUI210が生成した設定情報をログとして取得させる固有設定出力部226と、生成した設定情報を解析し、生成した設定情報の値を取得するためのドライバUI解析部228と、生成した設定情報が修正された場合に修正された設定情報を取得手段に通知するフック関数手段222aと、情報処理装置100が処理したデータを他の装置に処理依頼した時までに修正された前記設定情報をログ情報として生成する固有設定値情報230(530)とを含んでいる。
【選択図】 図2

Description

本発明は、他の装置を動作させた履歴を記録する技術に関し、より詳細には、情報処理装置が他の装置に処理を依頼して実行させた処理についてベンダにかかわらず、情報処理装置による他の装置の利用履歴を生成する技術に関する。
パーソナル・コンピュータ(以下、単にPCとして参照する。)などでアプリケーションを操作して作成されたデータを印刷する場合、例えばWindows(登録商標)などのオペレーティング・システム(OS)の場合、GDI(Graphic Device Interface)やDDI(Device Driver Interface)を経由して、データが他の装置であるプリンタドライバへと送付される。プリンタドライバに渡されたデータは、プリントプロセッサなどの処理により印刷データに変換され、OSが管理する所謂スプーラといったバッファ領域に格納される。その後、印刷データが順次スプーラからプリンタへと送信され、印刷が実行される。
多くの場合、スプーラの動作を監視しておけば、PCがプリンタドライバを使用して実行した処理のうち、標準的な印刷設定を使用するログを取得することができる。例えば、上述したWindows(登録商標)系のOSの場合、Devmode構造体のパブリック領域に記録された履歴を取得することでログを生成することができる。
近年では、プリンタの機能が多様化し、例えばユーザの希望により、ウォーターマークの追加、カスタマイズされたトナー色、トナー使用制限など、各種のベンダ依存の機能が利用されるようにされている。このようなベンダ固有の印刷を行う場合、その条件は、Devmode構造体のうち、ベンダが任意に設定できるプライベート領域に設定されている。
プライベート領域の印刷設定で印刷が行われる場合、プライベート領域から情報を取得することが必要になるが、プライベート領域には高いアクセス制限があり、一般に公開されていない。このため、該当するベンダが提供するプリンタドライバなどのプログラムから印刷設定などの履歴を取得しなければならない。
なお、最近では、印刷設定の共有化を行う目的で、PrinterTicket形式で印刷設定を行うプリンタも知られている。PrinterTicket方式では、各種の印刷設定を例えばXMLといった構造化文書で公開するので、ベンダ固有の設定であっても比較的容易に取得し、プリンタドライバのログを生成することができる。しかしながら、PrinterTicket形式を採用しないプリンタも依然として存在するので、PrinterTicket方式だけにターゲットを絞ってログを生成するのでは、ログの利用性や汎用性が失われるので、望ましくない。また、PrinterTicket方式の場合でも、例えばウォーターマークを印刷する設定について、単なるフラグや、隠語が使用される場合もあるので、構造化文書から設定を取得しても有意義なログを生成することができない場合もある。
プリンタの動作に関するログを取得する技術は各種知られており、例えば、特開2005−182486号公報(特許文献1)には、プリンタの機種やメーカによらず、印刷ログや印刷制限などを管理する技術が記載されている。特許文献1では、OSの標準コマンドを傍受して、その時点での印刷設定値を取得する。しかしながら特許文献1に記載された技術では、ベンダ固有の設定値や隠語はそのまま取得できるにすぎないため、有意義なログを蓄積できないという問題は依然として未解決であった。さらには、プリンタばかりではなく、外部接続された装置に対してその動作を設定するための設定情報を、ベンダに依存することなく取得することを可能とするという問題も依然として未解決であった。
本発明は、従来技術の上記問題点に鑑みなされたものであって、本発明では、特定のベンダに依存することなく、情報処理装置が処理を依頼する他の装置について、ベンダ依存の設定情報についても、ユーザが解釈可能な形式で取得して、ログを生成することができる、情報処理装置およびプログラムを提供することを目的とする。
本発明は、上述した従来技術の問題点を解決するために、アプリケーションに他の装置を設定するための設定取得手段を構成する。設定取得手段は、設定のために提供されるユーザ・インタフェース(以下、単にUIとして参照する。)の設定情報を解析する解析手段と、設定のために使用するドライバ手段やブラウザ手段などにおいて設定される設定情報を監視する監視手段とを備える。アプリケーションが設定のためのUIが生成されることを検知すると、解析手段は、生成されたUIの内部構造の解析を行ない、監視手段は、ユーザによるUIへの操作入力を検出し、ユーザ入力の結果を、解析手段に渡し、設定情報をログとして保存させる。
さらに、監視手段は、他の装置の動作開始および動作終了を検出し、その間に有効とされた各種設定値を時系列的にログとして保存する。またログは、必要に応じてハードプリントすることもできる。本発明では、設定のためのUIが呼び出されてから、UIを介して設定された各設定値をアプリケーション側が取得するので、ベンダ固有の設定があった場合でもユーザが認識できる形式で、その履歴をログとして生成することができる。
本発明の情報処理装置100の構成を示した概略図。 本実施形態の情報処理装置100を含む情報処理システムの機能ブロックを示す図。 本実施形態の印刷システムが実行する処理のシーケンス図。 本実施形態のドライバUI210が表示するGUI400を示す図。 本実施形態で使用する図2で示した各種情報の実施形態をリスト500〜530の形式として示す図。 本実施形態の情報処理装置100が実行する監視処理のフローチャート。 固有設定取得部220が実行するドライバUI解析処理および固有設定についての初期値を取得する処理のフローチャート。 図3のプロセスp9および図7のステップS712の固有設定値更新処理について詳細に説明する図。 本実施形態の第2の実施形態の固有設定取得部900の機能ブロックを示す。 ベンダ固有の印刷設定がある場合に、印刷を制限することを可能とする処理のフローチャート。 本実施形態の第3の実施形態について説明する図。
以下、本発明を図面に示した特定の実施の形態をもって説明するが、本発明は、後述する実施の形態に限定されるものではない。
図1は、本発明の情報処理装置100の構成を示した概略図である。図1に示す情報処理装置100は、CPU102と、RAM106と、ROM104を含んでいて、オペレーティング・システムの制御下で、少なくとも1つのアプリを実行させている。CPU102は、例えば、PENTIUM(登録商標)ファミリ、64ビット・アーキテクチャのXEON(登録商標)、POEWRPC(登録商標)などのCISCまたはRISCアーキテクチャの下で、Windows(登録商標)、Windows(登録商標)2000、Windows(登録商標)2000Prpfessional、Windows(登録商標)XP、Windows(登録商標)XP SP2、Windows(登録商標)XP Professional、Windows(登録商標)200X Server、Windows (登録商標)CEなどのオペレーティング・システム(OS)を実行している。
CPU102は、オブジェクト指向プログラミングの実行を可能とする資源を使用して、例えば、C#、C++、Java(登録商標)、Javascript(登録商標)などのオブジェクト指向プログラムが実行可能とされている。OSは、種々のシステム・コールまたはシステム・コマンドを使用して、オブジェクト指向プログラムのプロセスを調停しており、同時にハードウェア資源の共有化およびデータの共有化を可能としている。
RAM106は、CPU102によるオブジェクト指向プログラムの実行に伴って生成されるインスタンスを提供する実行空間を提供しており、CPU102による処理を可能としている。さらに、ROM104は、BIOS(Basic Input Output System)などのマイクロ・コードやデータなどを格納していて、情報処理装置100の起動に際してOSの起動に先立って、情報処理装置の検査を行い、また起動後の入出力装置の管理を実行する。
情報処理装置100には、USBやIEEE1284などのシリアルまたはパラレル・バスを介してキーボード、マウス、またはプリンタなどの入出力装置108に接続されており、適切なインタフェース110を介してCPU102へとユーザ入力を渡している。また、情報処理装置100には、ATA、シリアルATA、ウルトラATA、ATAPIなどの規格のIDE、またはSCSI、SCSI-2、SCSI-3といったインタフェース120を介して、記憶装置122が接続されている。記憶装置122は、ハードディスク装置または半導体メモリ装置などから選択することができ、情報処理装置100に内蔵されていてもよく、またカード型ハードディスクや、随時読み書き可能な半導体メモリとされていてもよい。
CPU102は、ユーザからの指令に基づき、実行形式のプログラムを読み出して実行し、その実行結果を、内部バス124を介してRAM104や記憶装置122へと書き込みを行い、また記憶装置122に格納されたデータを取得して処理に使用している。図1に示した情報処理装置100は、内部バス124を介してVRAM126およびグラフィック・チップ128と通信し、処理の結果などを適切なGUI(Graphical User Interface)を介してユーザに提供している。情報処理装置100は、内部バス124を介してイーサネット(登録商標)などのネットワーク・インタフェース132と通信して、LAN(Local Area Network)、WAN(Wide Area Network)またはインターネットといったネットワーク134と接続されて、Webサーバなどとの通信を可能としている。
図2は、本実施形態の情報処理装置100を含む情報処理システムの機能ブロックを示す。なお、以下の実施形態では、情報処理装置100と、他の装置としてのプリンタ212とを含む印刷システムにおいて、情報処理装置100による設定をログとして取得することを例示的に説明するが、本発明は、情報処理装置100が他の装置を制御するために設定する設定情報を、ベンダに依存することなくログとして取得する情報処理システムであれば、特に制限なく適用できるものである。
例えば、情報処理装置100が接続する装置としてはプリンタ212以外にも、プロジェクタ、電子情報ボード、VGA設定、ネットワーク設定、暗号方法および暗号強度の情報、その他、外部接続される周辺装置を挙げることができ、そのための設定を生成する手段としては、ドライバソフトウェア手段、ブラウザ手段など、情報処理装置100のデスクトップ画面上にユーザ・インタフェースを提供できるいかなる手段でも、情報処理装置100の設定を他の装置に反映させることができれば制限されるものではない。
以下、本実施形態では、説明をさらに具体的に行うことを目的とし、OSとしてWindows(登録商標)系のOSを使用するものとして説明する。しかしながら、OSとしては、LINUX(登録商標)やUNIX(登録商標)、MacOS(登録商標)などを使用することができる。情報処理装置100は、印刷を行うためのデータを生成するためのアプリケーション200と、GDI202と、ドライバ204と、ドライバUI210とを含んでいる。ドライバUI210は、本実施形態における設定情報を生成する生成手段として機能する。
GDI202は、OSが提供する画像処理の汎用インタフェースであり、説明する実施形態では、Devmode構造体、データ、アプリケーション200、ドライバUI210、ドライバ204などの各機能部とOSと間のインタフェースを提供する。なお、ドライバUI210は、プリンタドライバといったドライバ204の設定を行うためのUIであり、アプリケーション200から呼び出されてそのインスタンスを生成し、ユーザの操作に応じてグラフィカルにDevmode構造体の設定を行う。
また、ドライバ204は、GDI202から渡された設定などを使用してアプリケーション200が作成したデータからプリンタ212のための印刷データを生成したり、OSのスプーラ206に処理を依頼したり、プリンタ212に対してネットワークやバスラインなどの通信ライン208を介して印刷データを送付させて、印刷処理を可能とさせている。スプーラ206は、ドライバ204が生成した印刷データを、プリンタ212に送付されるまで一時的に保持する機能を有する。
プリンタ212は、ローカルプリンタでもネットワークプリンタであっても良く、電子写真方式、インクジェット方式、感熱転写方式などの印刷方式を使用して印刷データを上質紙などの受像体に可視像としてハードプリントする。また、プリンタ212は、プリント専用機、複写機、複写機、ファクシミリ、イメージリーダ、ネットワークアクセス機能などを含む多機能複写機として実装することができる。
さらに本実施形態の情報処理装置100は、固有設定取得部220を備えている。なお、本実施形態で固有設定とは、ドライバUI210によりユーザが設定することができる設定のうち、ベンダが提供するOSなどが標準的にサポートしてはいないベンダ固有の印刷に関する設定を意味し、以下、単に固有設定として参照する。固有設定としては、例えばスタンプ印刷、ウォーターマーク印刷、省エネ印刷など、ベンダが印刷の利便性や機能を改善する目的で、ドライバ204に追加する印刷条件のための設定を挙げることができるがこれらに限定されるものではない。
固有設定取得部220は、さらにドライバUI監視部222と、ドライバUI解析部228と、固有設定出力部226とを含んでいる。ドライバUI監視部222は、ユーザが操作を行うドライバUI210を監視し、ドライバUI210の生成、フック関数といった通知手段の追加処理、およびユーザが入力した設定情報への変更を記録する処理を担当する。また、固有設定出力部226は、ドライバUI解析部228がドライバUI210のUIコンポーネントを解析して得た固有設定値の位置を参照して、ドライバUI 監視部222が検出した設定情報への変更を、固有設定値をフック関数手段222aなどの通知手段を使用して取得して、固有設定値情報230として記憶装置122に格納させログ情報を生成させる機能を提供している。
また、ドライバUI解析部228は、取得する必要のある固有設定値を保有するドライバUI210上のUIコンポーネントを、ドライバUI210上から割り出し、UIコンポーネント識別情報234としてハードディスクなどの記憶装置122に登録し、管理する。また、固有設定取得部220は、ドライバUI名リスト224を含んでおり、ドライバUIリストは、本実施形態において監視対象とするドライバUI210を、ユーザ指定または本実施形態の固有設定取得部220が設定する。
固有設定取得部220は、また、固有設定値情報230、固有設定名情報232、およびコンポーネント識別情報234を記憶装置122などに管理している。固有設定値情報230は、現在ドライバUIなどにおいて設定されている固有設定値を固有設定値名に対応づけて登録する。なお、本実施形態の好ましい実施形態では、固有設定値情報230は、情報処理装置100の動作において他の装置に対する設定情報を生成した時点で作成され、これを時系列的に蓄積するログ記録手段としても機能する。さらに他の実施形態では、別のデータやファイルとして固有設定情報を時系列的にコピーして蓄積するデータベースなどを設けても良い。固有設定名情報232は、ドライバUI210に対し、設定される固有設定の値を取得するため、固有設定の名称を管理している。また、コンポーネント識別情報234は、取得するべき固有設定に関連づけられるドライバUI210のコンポーネントと、当該コンポーネントの固有設定の名称とを対応付けて管理する情報である。
図3は、本実施形態の印刷システムが実行する処理のシーケンス図である。本実施形態の印刷システムは、ユーザが情報処理装置100に対してアプリケーション200または固有設定取得部220の機能を提供するためのアプリケーションを起動させ、プロセスp1で固有設定取得部220を呼び出して開始される。なお、固有設定取得部220は、アプリケーション200のプラグイン・プログラムとして構成することもできるし、アプリケーションから独立したプログラムとして構成することができる。
取得機能が起動されると、プロセスp2で印刷を行う可能性のあるアプリケーションに対して、ドライバUI210を呼び出すための関数、印刷要求開始関数、印刷要件終了関数に対してフック関数を設定する。なお、フック関数とは、アプリケーション200から呼び出される関数について、当該関数の呼び出し要求がアプリケーション200から発行されると、当該関数が実行される前に当該関数を取得し、所定の処理を実行する関数でありOSまたはアプリケーション200自身から呼び出される関数のことである。
なお、フック関数を設定するOS関数としては、ドライバUI210を生成させるためのPrintProperties関数や、PrintDlg関数を挙げることができ、また印刷要求開始関数としてはGDI202のStartDoc関数やEndDoc関数を挙げることができる。
以下、これら3つの関数について設定するフック関数をそれぞれ、印刷設定エントリフック関数、印刷要求開始フック関数、印刷要求終了フック関数として参照する。フック関数は、OSに関しては、SetWindowsHookEx関数や、アプリケーション200内のインポートセクション書き換えなど、既知の手法が多数存在する。なお、本実施形態では、フック関数は、すべてのアプリケーション200に対してシステムが設定するシステムフックとして実装することができるが、アプリケーション200を指定し、指定したアプリケーション200についてのみフック関数を適用するローカルフックとして設定することが、情報処理装置100の全体の処理に対する影響を軽減できるため好ましい。
プロセスp3でユーザがフック関数を設定したアプリケーション200に対してドライバUI210を開くよう指示すると、プロセスp4でOSまたはアプリケーション200が、まずプロセスp4で印刷設定エントリフック関数を呼び出す。呼び出された印刷設定エントリフック関数は、プロセスp5でその後に呼び出されるドライバUI210の監視を始める。なお、監視プロセスの詳細は、図6を使用して後述する。
プロセスp6では、印刷設定エントリフック関数が呼び出された後、アプリケーション200は、ドライバUI210を生成するが、このとき、ドライバUI210が生成されると、アプリケーション200は、ドライバUI210への参照をOSから検索し、プロセスp5からの破線で示すように、ドライバUI210の固有設定の初期値を取得する。また、ドライバUI210に対し、ユーザ操作を通知させるための、他のフック関数、例えばWH_JOURNALPLAYBACK、WH_MOUSE、WH_MSGFILTERなどを設定する。これらの関数は、本実施形態における通知手段に相当する。
ドライバUI210に対してこの段階でフック関数を設定することにより、生成されるドライバUI210に対するGUIやキーボード入力されたユーザ設定が、プロセスp5で設定したフック関数を通じてプロセスp7およびプロセスp8で固有設定取得部220に通知される。
固有設定取得部220は、プロセスp8で通知を受け取ると、プロセスp9に処理を渡し、ドライバUI210から取得した初期値を、プロセスp8で通知された新しい値へと変更していく。この処理は、ユーザがプロセスp10でドライバUI210をクローズするまで継続される。ドライバUI210のクローズは、プロセスp5で設定したフック関数を通じてプロセスp11で固有設定取得部220に通知される。
固有設定取得部220は、プロセスp11で通知を受けると、プロセスp6で追加されたドライバUI210へのフック関数を破棄し、プロセスp12で、その監視プロセスを終了する。その後、ユーザが印刷開始を指令すると、説明する実施形態では、アプリケーション200は、直接印刷要求開始関数を呼び出すのではなく、プロセスp7で固有設定取得部220が設定した印刷要求開始フック関数をプロセスp14で呼び出す。
固有設定取得部220は、プロセスp15で印刷要求開始フック関数内でドライバUI210から取得していた固有設定値を確定させ、その後、プロセスp16で本来の印刷要求開始関数を呼び出す。本来の印刷要求開始関数が呼び出されると、GDI202は、プロセスp17でドライバ204へ印刷要求開始を通知する。アプリケーション200がGDI202を通じ印刷要求を送り終えると、プロセスp18で印刷要求終了フック関数を呼び出す。
この関数の実行時も説明する実施形態では、アプリケーション200は、本来の印刷要求終了関数ではなく印刷要求終了フック関数を呼び出す。固有設定取得部220は、プロセスp19で印刷要求終了フック関数内でプロセスp15にて確定した固有設定値を保存する。その後、固有設定取得部220は、プロセスp20で本来の印刷要求終了関数を呼び出し、それを受け、プロセスp21でGDI202は、プロセスp21でドライバ204に対し、印刷要求終了を通知する。
ドライバ204は、それを受けプロセスp22でスプーラ206へ印刷するべきデータを渡し、印刷の開始を要求する。その後、スプーラ206は、プリンタ212へデータを渡し、プロセスp23でプリンタ212へと印刷を要求する。以上のシーケンスを使用することによってドライバUI210においてユーザが設定を変更した値を、ドライバUI210のコンポーネント単位で固有設定取得部220が取得できるようになる。
図4は、本実施形態のドライバUI210が表示するGUI400を示す。図示したドライバUI210は、固有設定として“スタンプ印字”406および“印字文字列”408の設定を行う入力部であるチェックボックス404および410を含んでいる。なお、図4では、その他、OSがサポートするべき標準の印刷設定については簡略化のため省略して示している。
GUI400には、タイトルバー402が表示されており、タイトルバーには、「MFP 2001のプロパティ」として当該ドライバUI210の名前が表示されている。また、各種の入力を受け付けるための入力部として、図4では、チェックボックス404と、テキストボックス410とが設けられている。チェックボックス404は、スタンプ印字の有効・無効を設定する機能を提供しており、スタンプ印字が有効である場合にスタンプとして印字する文字列を設定する機能を提供している。図4中、チェックボックス404と、その説明である“スタンプ印字”406は、1つのUIコンポーネントとして定義されているが、“印字文字列”408およびテキストボックス410は、それぞれ別のUIコンポーネントとして定義される。また、ボタン412も別のコンポーネントを構成しており、ユーザがこのボタン412をクリックするか、特定のキー入力を行うことで、ドライバUIをクローズすることができる。
本実施形態では、各UIコンポーネントは、アプリケーション200が一意に識別するために識別子を設定することで対応付けを行う。例えば、Windows(登録商標)をOSとする場合、コントロールIDがUIコンポーネントごとに設定されており、コントロールIDを使用することにより、多くの場合、UIコンポーネントを一意に特定することができる。
ただし、コントロールIDは、実装条件や実行環境によりドライバUI210の生成毎に変化する場合も想定されるので、コンポーネントとの相対位置や、キャプション、名称など様々な属性を組み合わせてUIコンポーネントを識別することができる。
図5には、本実施形態で使用する図2で示した各種情報の実施形態をリスト500〜530の形式として示す。ドライバUI名リスト500は、固有設定の取得対象となるドライバUI210を定義したものである。当該ドライバUI名リスト500は、ユーザがGUIから設定することもできるし、固有設定取得部220やアプリケーション200自体、またはそのためのプラグイン・プログラムなど、他のアプリケーションが自動で生成することができる。
なお、ドライバUI名リスト500のドライバUIIDは、固有設定取得部220がドライバUI210を一意に識別するために、たとえは設定された順または発見された順など、自動で生成する識別子である。また、ドライバUI名は、ドライバUI210のGUI400にタイトルバーなどとして表示されるタイトルを使用することができる。本実施形態で、アプリケーション200が提供する全てのドライバUI210に対して固有設定を取得するなど、取得対象を選ばない場合などは、このドライバUI名リスト500は、必ずしも作成されずとも良い。
また、図5中、固有設定名リスト510は、ドライバUIIDで指定されるドライバUIから取得する固有設定名を定義したものである。当該固有設定名リスト510は、ドライバUI名リスト500と同様に、ユーザが作成しても良いし、固有設定取得部220やアプリケーション200、または当該機能を提供する他のアプリケーションが自動で生成しても良い。
固有設定名リスト510のカラムを構成する固有設定名は、固有設定取得部220がドライバUI210から取得する固有設定の名称である。この名称は、説明“スタンプ印字”406および“印字文字列”408に対応する機能を有するが、完全一致する必要はなく、部分一致としても良い。例えば、“印字文字列”408という設定を取得する際、実際のドライバUI210には“印字文字列:”として、「コロン」などが追加されて表示されている場合があるからである。
図5のコンポーネント識別情報リスト520は、固有設定とその固有設定の実際の値を持つコンポーネントを紐付けるための情報である。例えば、チェックボックス404とその説明“スタンプ印字”406のように、説明ラベルと、入力部とが同一のUIコンポーネントとして登録されている場合は、固有設定の名称からUIコンポーネントを特定することができる。しかしながら、説明“印字文字列:”408と、テキストボックス410のように説明ラベルと、入力部とが異なるUIコンポーネントとして与えられる場合は固有設定の名称からUIコンポーネントを一意的に特定することができない。
例えば、コンポーネントIDを使用して具体的に説明すると、“スタンプ印字”406であれば、コンポーネントID“12034450”で参照される。また、“印字文字列”408の場合、実際の入力値は別のUIコンポーネントであるテキストボックス410が保持しているため、コンポーネントIDは、テキストボックス410を参照する“12034458”としなければならない。この情報は、ドライバUI解析部228によってアプリケーション毎にドライバUI210の構造を解析することにいって一時的情報として生成される。
さらに図5に示す固有設定値情報リスト530は、コンポーネント識別情報リスト520内の固有設定名に対応し、対応する識別子は、コンポーネントIDに対応する。また固有設定値情報リスト530は、固有設定取得部220がドライバUI解析部228の解析によって実際に取得することができた設定値である。固有設定値情報リスト530中の固有設定名は、コンポーネント識別情報リスト520、固有設定名リスト510内の固有設定名にそれぞれ対応し、対応づけられた値は、ユーザがドライバUI210を介して実際に設定した情報を反映した現時点での固有設定値である。なお、固有設定値情報リスト530もドライバUI解析部228によってアプリケーション毎に生成されるが、固有設定情報リスト530の内容自体は、時系列的に他の情報と共に、記憶装置122内でテキストファイルやデータベースとして保管され、ログ情報として使用されるデータ内容を提供している。
図6は、本実施形態の情報処理装置100が実行する監視処理のフローチャートである。図6の処理は、ステップS600から開始し、ステップS601でアプリケーション200のプロセスおよびメインウィンドウのそれぞれプロセスIDおよびウィンドウ名などを取得する。ステップS602では、メインウィンドウに紐づけられた子、孫などのウィンドウ名を累代的に取得してゆく。
ステップS603では、取得したウィンドウ名がドライバUI名リスト500に登録してある名前を有するか否かを判断し、ない場合(no)、処理をステップS607に分岐させてタイムアウトが経過したか否かを判断する。タイムアウトが満了していない場合(no)、処理をステップS602に分岐させ、さらに生成したウィンドウ名の取得を継続する。一方、一定時間経過しても有意なドライバUI名が検出されない場合(yes)、プロセスの異常として処理をステップS606に進め、処理を終了させ、以後のアプリケーション200の起動まで処理を停止させる。
一方、ステップS603の判断で、ドライバUI名リスト500に登録されたドライバUI名が見出された場合(yes)、ステップS604で、ドライバUI解析部228を呼び出してドライバUIのUIコンポーネントを解析し、説明する本実施形態では、固有設定名リスト510に登録された名称のコンポーネントが存在するか否かを検査し、固有設定名リスト510に設定された名称を有するUIコンポーネントを取得し、コンポーネント識別情報リスト520に該当するコンポーネントIDを固有設定名に対応づけて登録する。
さらにステップS605では、当該ドライバUIに対して固有設定値を固有設定取得部220に通知させるためのフック関数を追加し、以下、当該ドライバUIが終了するまで、固有設定値を取得可能な状態とさせておき、ドライバUIが終了した時に、ステップS606で処理を終了させる。ドライバUIに追加されるフック関数は、ローカルフックとして設定されるので、ステップS606で処理を終了させる時にはフック関数も解放され、無駄なリソースの消費は発生しない。なお、ステップS605で追加できるフック関数としては、Windows(登録商標)をOSとして使用する場合、SetWindowsHookEx()といったAPI関数を使用し、ShellProc関数や、CallWndProc関数、CallWndProcRet関数を追加することを挙げることができるがこれらに限定されるものではない。ユーザ操作を通知させるための、他のフック関数、例えばWH_JOURNALPLAYBACK、WH_MOUSE、また、WH_MSGFILTERなどを設定する。これらの関数は、いずれも本実施形態における通知手段に相当する。
なお、ドライバUIに対してフック関数を追加するためにはフッククラスなどを固有設定取得部220のモジュールとして構成しておき、フック関数を設定するべきドライバUI名の検出に応じて、フッククラスのメンバ関数を呼び出す構成とすることができるし、また動作環境が許可する場合、DLL(Dynamic Link Library)や、パブリック・ライブラリなどとして追加しておき、追加するとの判断に応答して所定のフック関数を呼び出す構成とすることができる。
図7は、固有設定取得部220が実行するドライバUI解析処理および固有設定についての初期値を取得する処理のフローチャートを示す。なお、ドライバUI解析処理は、ドライバUI解析部228が実行し、固有設定の初期値の取得は、ドライバUIに追加されたフック関数によって実行される。この処理は、図5のコンポーネント識別情報リスト520の作成および固有設定値情報リスト530の初期化および更新を行う処理に相当する。
処理は、ステップS700から開始し、ドライバUI監視部222からドライバUI210への、例えばハンドルといった参照値およびドライバUIIDが渡される。その後、ステップS701でドライバUI監視部222から渡されたドライバUIIDで指定されるドライバUI中のUIコンポーネントを全て列挙し、その後、ステップS702で、列挙したコンポーネントを配列Xを定義し、この配列Xに格納する。このとき、配列Xには、コンポーネントIDが格納される。
ステップS703では、固有設定名リスト510からドライバUIに対応する固有設定名を取得し、ステップS704では、配列Yを定義して取得した固有設定名を配列Yに格納する。ステップS704が終了した時点で、配列Yには、例えば、ドライバUIID“2”に対応する“スタンプ印字”406および“印字文字列”408が格納される。
その後、ステップS705でコンポーネント識別情報リスト520を初期化し、具体的には、配列Yに格納された固有設定名毎に識別情報(コンポーネントID)を対応づけて記憶する領域を確保し、識別情報をクリアする。さらにステップS706では、固有設定値情報リスト530の初期化を行うが、ステップS706でも固有設定名毎に、固有設定値を記憶するための領域を確保し、確保した領域をクリアする。
ステップS707〜ステップS716では、現在処理対象とされているドライバUIの全ての固有設定名について初期値およびコンポーネントIDを取得する。ステップS707では、カウンタを初期設定し、ステップS708で配列Xの中から固有設定名を文字列として含むUIコンポーネントを検索し、見出された場合(yes)、見出された固有設定名を取得する。
例えば、UIコンポーネントとして“スタンプ印字”406、“印字文字列”408が取得される。なお、ステップS708で、抽出される固有設定名が存在しない場合(no)、固有設定名リスト510の設定ミスまたはドライバUIのバージョンアップなどにより固有設定名が変更されたことが考えられるので、見出されなかった固有設定については処理をスキップして処理をステップS715に分岐させる。
固有設定名が取得できた場合、ステップS709で当該UIコンポーネントの表示ラベルと、入力部が同一か否かの確認を行う。例えば、Windows(登録商標)では、UIコンポーネントのチェックボックスやボタンは、表示ラベルと対となったUIコンポーネントであり、取得するべき値はチェックボックス404の間として一義的に決定できる。これらが一致するUIコンポーネントの場合(yes)には、識別したUIコンポーネントに設定された値を直接取得すれば正しい設定値が取得できるので、ステップS710でそのUIコンポーネントを一意に識別できるコンポーネントIDなどを、ステップS711でコンポーネント識別情報リスト520に設定する。なお、同一のドライバUI210を繰り返して呼び出す場合には、バージョン情報などを識別して同一のUIコンポーネントについての冗長的な構造解析を省略することもできる。
ステップS712では、当該コンポーネントについて更新されたことを検出するとフック関数が呼び出され、そのたびに更新された固有設定値を取得し、固有設定値情報リスト530の対応する行に格納することで、最新の設定値を取得できる。具体的には、チェックボックス404を指定するコンポーネントID“12034450”を“スタンプ印字”406の固有設定名に対応づけて登録する。なお、テキストボックス410の場合には、“印字文字列”408に対応づけてコンポーネントID“12034458”を登録する。
ところで、コンポーネントの表示ラベルと、入力部が同一でない場合、例えば“印刷文字列”408といった表示ラベルを伴うテキストボックス410の場合、取得するべき値は、表示ラベルではなく、テキストボックス410の値である。このため、ステップS709の判断で、表示ラベルと、UIコンポーネントの入力部が一致していない種類のUIコンポーネントであと判断した場合(no)、ステップS713で対応づけられる実設定値を与えるUIコンポーネントの探索を行い、ステップS714で固有設定値を与えるべきUIコンポーネントが見出された場合、処理をステップS710に戻して固有設定値の更新を行う。一方、対応する入力部を与えるUIコンポーネントの探索に失敗した場合には、固有設定値を更新せず、ステップS715でさらに次のUIコンポーネントの処理を実行させる。なお、ステップS713およびステップS714の処理については、より詳細に後述する。
ステップS715では、カウンタのインクリメントを行い、ステップS716で、カウント値が配列Yのサイズ以上となった場合(yes)、ステップS717で処理を終了させ、カウント値が配列Yのサイズ未満の場合(no)、処理をステップS708に戻し、さらに他のUIコンポーネントの探索を繰り返す。
以下、ステップS713およびS714で固有設定名の文字列を含むUIコンポーネントから入力部となるUIコンポーネントの取得を行う方法について説明する。このための方法は、OSの種類やアプリケーションによりいくつか方法がある。例えば、入力部と、当該入力部のラベルを表示させるためのUIコンポーネントとを対応させたリストを予め作成したり、入力部がラベルを表示させるためのUIコンポーネントの参照を持っていたりするような実装やOSであれば、単にラベルを表示させるUIコンポーネントに紐付いている入力部のコンポーネントIDを判断し、その値を固有設定値として取得すればよい。
これ以外にも、ラベルを表示させるUIコンポーネントとの距離、上下関係、左右関係などを判断し、ドライバUI上で最も近くに配置されたUIコンポーネントを入力部として選択する実施形態を採用することもできる。さらに、UIを生成させる手段が、Internet Exploler(登録商標)、Chrome(登録商標)、FireFox(登録商標)などのブラウザ手段の場合、ドライバUI監視部222の代わりに、またはドライバUI監視部222の並列モジュールとして適すとパーサやXMLパーサを実装させ、タグの属性やタグの配置を参照して、UIコンポーネントとその入力部の位置関係を判断することもできる。
図8は、図3のプロセスp9および図7のステップS712の固有設定値更新処理について詳細に説明する。以下の実施形態で、ドライバUI210からユーザがテキストボックス410の内容を、デフォルト設定の“DRAFT”から“TEST”に変更した場合を例として説明する。
プロセスp6でドライバUI210へのフック関数追加により、ドライバUIを介してユーザが操作を行った場合、ドライバUI監視部222に、更新されたUIコンポーネントであるテキストボックス410と、その内容とが時系列的に通知されることになる。
図8の処理は、ステップS800から開始し、ドライバUI監視部222がドライバUIの変更を検出するとステップS801で、UIコンポーネントのコンポーネントIDが、コンポーネント識別情報リスト520に登録されているか否かを判断する。ステップS801で、コンポーネント識別情報リスト520に含まれておらず、監視対象ではないと判断した場合(no)、処理をステップS804に分岐させて処理を終了させる。一方、ステップS801で、UIコンポーネントのコンポーネントIDが、コンポーネント識別情報リスト520に登録されている場合(yes)、監視対象の固有設定値が修正されたのでステップS802で、当該UIコンポーネントの値を、固有設定値として取得し、ステップS803で、固有設定値を固有設定値情報リスト530に登録し、ユーザによるドライバUI210の修正により、固有設定値情報リスト530の内容を更新し、処理をステップS804で終了させる。
なお、ステップS801の処理は、ドライバUI監視部222がドライバUI210の修正を検出すると、ドライバUI解析部228に通知し、通知されたコンポーネントID、例えば“12034458”を取得し、当該値が、コンポーネント識別情報リスト520に含まれているか確認することにより行われる。コンポーネントIDが“12034458”であれば、固有設定名である“印字文字列”408と共に登録されている。コンポーネントID=“12034458”が登録されていれば、当該UIコンポーネントについての固有設定値を取得し、固有設定値情報リスト530の対応する固有設定名の行の値“DRAFT”を、取得した修正後の固有設定値“TEST”で上書き保存することで更新処理が終了する。
以下、さらに本発明の他の実施形態について説明する。図9は、第2の実施形態の固有設定取得部900の機能ブロックを示す。第2の実施形態では、図2で示した機能手段と同一の機能を提供する機能手段については、同一の参照符号を使用して示す。図2で示した固有設定取得部220に対してさらに、印刷許可部902と、印刷制限情報904と、クライアント環境取得部906とが追加されている。
印刷許可部902は、印刷制限情報904を用いてユーザが印刷を行うことが出来るか否かの判定を行う。また、クライアント環境取得部906は、アプリケーション200が動作する環境の任意のパラメータを取得し、アプリケーション200の固有設定として、固有設定値情報230に登録する。印刷制限情報904は、ユーザが印刷を行う場合の制限事項を、ユーザやアプリケーションが設定した情報であり、固有設定の一部としてとらえることができる。例えばこれらの情報としては、スタンプ印刷可否、フルカラー印刷可否、集約印刷の可否、両面印刷の可否などを挙げることができる。
図9に示した実施形態では、これらの任意設定される設定情報についても固有設定値情報として、固有設定値情報230に印刷制限も同時に固有設定値として取得することを可能とする。なお、図9には、印刷制限情報904の実施形態を、印刷制限情報リスト910として示す。上述した印刷制限情報のうち、ドライバUIによらずに設定されてしまう固有設定も想定でき、このようなドライバUIIDが存在しないものは、ドライバUIによらない固有設定を表す。例えば、いかなるドライバUIでも制限の及ぶものや、クライアント環境から取得した固有設定値を、固有設定名として例えば“アプリケーション名”とし、クライアント環境から取得した値を、固有設定値として登録することができる。
図10は、ベンダ固有の印刷設定がある場合に、印刷を制限することを可能とする処理のフローチャートを示す。処理は、ステップS1000から開始し、ステップS1001で図3のプロセスp15の設定値確定時に、ドライバUI監視部222が、印刷許可部902に対して、現在の固有設定値情報が、印刷制限情報リスト910を満たしているか確認する。印刷許可部902は、現在の固有設定値情報と印刷制限情報リスト910に共に登録されている固有設定すべてについて、その値が等しいことを確認する。
ステップS1001で印刷許可部902が固有設定値情報の全てが等しいことを確認すると(yes)、ドライバUI監視部222は、ステップS1002で印刷要求開始処理を実行させる。
一方、固有設定値情報において1つでも異なる値があった場合、ドライバUI監視部222は、印刷要求開始処理を依頼せず、印刷を実行させず、処理をステップS1003で終了させるので、印刷は行われない。さらに他の実施形態では、ステップS1001の処理を、図3のプロセスp8およびp9のステージで実行させ、固有設定値情報が一致していない場合に、OSが強制的にドライバUI上のUIコンポーネントの設定値を変更することにより、ユーザに特定の設定を強制する様に印刷制限を行うことができる。
さらに以下、図11を使用して第3の実施形態について説明する。第3の実施形態は、印刷実行時のクライアント環境も同時に固有設定として取得することを可能とする処理である。この様な処理を適用する具体的用途は、印刷を実行したアプリケーションの名称や、印刷時その印刷を実行したアプリケーションと同時に実行されていたアプリケーションの名称、その他システム起動時間やハードウェア情報などをログとして取得することが有効な場合に追加的な処理として実装することができる。
図11の処理は、ステップS1100から開始し、ステップS1101で、クライアント環境から固有設定値を取得する。この処理は、図3のプロセスp15の設定値確定処理時にドライバUI監視部222がクライアント環境取得部906に、クライアント環境からの固有設定値を取得するよう指示を行う。それを受け、クライアント環境取得部906は、事前に実装されていた処理に基づき、クライアント環境から固有設定値を取得する。その後、事前に実装されていた固有設定名と共に取得したクライアント情報を固有設定値情報230に追加する。ステップS1102では、固有設定値情報が印刷制限情報を満たしているか否かを、図10のステップS1102と同様にして判断し、満たしている場合(yes)ステップS1103で印刷要求を開始させ、満たしていない場合(no)ステップS1104で処理を終了させることで印刷制限を行ない、クライアント環境に応じた印刷制限を可能としながらログを取得することが可能とされている。
さらに他の実施形態では、クライアント環境取得部906が取得したOS環境を固有設定値情報として使用し、印刷制限情報リスト910と比較して、OS環境が異なる場合に、印刷実行を要求せず、OS環境が一致する場合に印刷実行を要求することで、印刷実行時のクライアントのOS環境に応じて印刷を制限することができると共にその状況をログとして記録させることができる。
さらに、他の実施形態では、設定手段としてはドライバUIではなく、ブラウザ手段を使用することができる。この場合、ブラウザ手段のUIコンポーネントについてもドライバUIと同様の方法によりUIコンポーネントおよび固有設定情報を取得でき、その際にもフック関数を構成しておき、ブラウザ手段の起動時に拡張機能として追加するなどすることにより、ブラウザ手段を使用した他の装置の設定に関してもログを取得することが可能となる。
以上のように、本発明によれば、特定のベンダに依存することなく、ベンダ依存の設定情報についても、ユーザが解釈可能な形式で取得して、ログを生成することができる、情報処理装置およびプログラムを提供することができる。
これまで本発明を実施形態をもって説明してきたが、本発明は、説明した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
100 情報処理装置
108 入出力装置
110 インタフェース
120 インタフェース
122 記憶装置
124 内部バス
128 グラフィック・チップ
132 ネットワーク・インタフェース
134 ネットワーク
200 アプリケーション
204 ドライバ
206 スプーラ
208 通信ライン
212 プリンタ
220 固有設定取得部
222 監視部
226 固有設定出力部
228 解析部
230 固有設定値情報
232 固有設定名リスト
234 コンポーネント識別情報
400 GUI
402 タイトルバー
404 チェックボックス
406 表示ラベル
408 表示ラベル
410 テキストボックス
412 ボタン
特開2005−182486号公報

Claims (11)

  1. 情報処理装置が処理したデータを他の装置に使用させるための設定情報を構造情報と共に生成する生成手段と、
    生成した前記設定情報を解析し、生成した前記設定情報の値を取得するための構造情報を与える解析手段と、
    前記生成手段が生成した設定情報をログとして取得するための取得手段と、
    生成した前記設定情報の修正を監視し、前記設定情報が修正されたことを検出した場合に修正された設定情報を前記取得手段に登録する監視手段と、
    前記情報処理装置が処理したデータを他の装置に処理依頼した時までに修正された前記設定情報をログ情報として生成するログ記憶手段と
    を含む、情報処理装置。
  2. 前記監視手段は、ユーザ入力により設定情報が修正された場合に当該修正の内容を前記取得手段に通知する通知手段を含む、請求項1に記載の情報処理装置。
  3. 前記監視手段は、前記構造情報を使用してユーザ入力に対応した修正に関わる前記設定情報を登録する、請求項1または2に記載の情報処理装置。
  4. 前記ログ記憶手段は、前記生成手段の初期設定とは異なり、前記生成手段からのユーザ入力を使用して修正された前記設定情報を前記ログ情報として記憶する、請求項1〜3のいずれか1項に記載の情報処理装置。
  5. 前記生成手段は、情報処理装置上にユーザ・インタフェースを表示させ、前記解析手段は、前記ユーザ・インタフェースの構造情報を解析して前記設定情報を取得するべき前記ユーザ・インタフェースの構造を取得して、前記設定情報と前記ユーザ・インタフェースの構造とを対応づけて記憶手段に登録させる、請求項1〜4のいずれか1項に記載の情報処理装置。
  6. 前記監視手段は、前記設定情報が修正されるときに、修正された構造に対応づけて修正後の設定情報を前記取得手段に通知する、請求項1〜5のいずれか1項に記載の情報処理装置。
  7. 前記生成手段が生成する構造情報は、ユーザ・インタフェースを構成するためのコンポーネントの属性および位置情報を含む、請求項1〜6のいずれか1項に記載の情報処理装置。
  8. 前記生成手段が生成する構造情報は、タグで指定される入力属性およびタグの配置位置を含む、請求項1〜7のいずれか1項に記載の情報処理装置。
  9. 前記生成手段は、プリンタドライバ手段またはブラウザ手段であり、前記監視手段は、通知手段としてフック関数手段を備える、請求項1〜8のいずれか1項に記載の情報処理装置。
  10. 前記解析手段はさらに、前記取得手段から前記情報処理装置が処理したデータを作成するためのアプリケーション手段に前記生成手段の生成および終了を通知する第2の通知手段を含む、請求項1〜9のいずれか1項に記載の情報処理装置。
  11. 情報処理装置を、請求項1〜10のいずれか1項に記載の各手段として機能させるための情報処理装置実行可能なプログラム。
JP2012219069A 2012-10-01 2012-10-01 情報処理装置およびプログラム Pending JP2014071789A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012219069A JP2014071789A (ja) 2012-10-01 2012-10-01 情報処理装置およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012219069A JP2014071789A (ja) 2012-10-01 2012-10-01 情報処理装置およびプログラム

Publications (1)

Publication Number Publication Date
JP2014071789A true JP2014071789A (ja) 2014-04-21

Family

ID=50746898

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012219069A Pending JP2014071789A (ja) 2012-10-01 2012-10-01 情報処理装置およびプログラム

Country Status (1)

Country Link
JP (1) JP2014071789A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113553578A (zh) * 2021-07-08 2021-10-26 北京奇艺世纪科技有限公司 一种日志打印响应方法、装置、电子设备和存储介质
JP7400495B2 (ja) 2020-01-23 2023-12-19 株式会社リコー 情報処理装置、情報処理システム、情報処理方法、及びプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008134820A (ja) * 2006-11-28 2008-06-12 Fuji Xerox Co Ltd 印刷制限処理プログラムおよび情報処理装置
JP2008152674A (ja) * 2006-12-19 2008-07-03 Canon Inc 情報処理装置及びその制御方法、コンピュータプログラム
JP2010146483A (ja) * 2008-12-22 2010-07-01 Nec Corp 操作支援システム、操作支援方法および操作支援プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008134820A (ja) * 2006-11-28 2008-06-12 Fuji Xerox Co Ltd 印刷制限処理プログラムおよび情報処理装置
JP2008152674A (ja) * 2006-12-19 2008-07-03 Canon Inc 情報処理装置及びその制御方法、コンピュータプログラム
JP2010146483A (ja) * 2008-12-22 2010-07-01 Nec Corp 操作支援システム、操作支援方法および操作支援プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7400495B2 (ja) 2020-01-23 2023-12-19 株式会社リコー 情報処理装置、情報処理システム、情報処理方法、及びプログラム
CN113553578A (zh) * 2021-07-08 2021-10-26 北京奇艺世纪科技有限公司 一种日志打印响应方法、装置、电子设备和存储介质
CN113553578B (zh) * 2021-07-08 2024-04-12 北京奇艺世纪科技有限公司 一种日志打印响应方法、装置、电子设备和存储介质

Similar Documents

Publication Publication Date Title
KR101643601B1 (ko) 원격 어플리케이션 구성 관리 방법 및 장치
EP2639735B1 (en) Information processor and recording medium
JP4784506B2 (ja) 画像履歴管理装置及びプログラム
US8982386B2 (en) Device, charging method, and system
US20120096465A1 (en) Image forming apparatus, log management method, and storage medium
JP2015046075A (ja) 情報処理装置、その制御方法、及びコンピュータプログラム
US20110058219A1 (en) Printer driver, information processing apparatus, and computer program product
JP5482407B2 (ja) 情報処理装置、画像処理装置、画像処理システム、画面カスタマイズ方法、画面カスタマイズプログラム、及びそのプログラムを記録した記録媒体
US20130094045A1 (en) Information processing apparatus, control method, and storage medium
JP2020004158A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
US8767253B2 (en) Information processing apparatus and computer program product
US9965299B2 (en) Information processing apparatus, method for controlling the same, and storage medium
JP2010198299A (ja) 画像処理装置、情報処理装置、ユーザインタフェース提供方法、画像処理システムおよびプログラム
JP6840986B2 (ja) 印刷管理装置及びプログラム
US8842321B2 (en) Information processing apparatus, printer driver, print setting method and data structure
JP7229293B2 (ja) 画像処理装置、その制御方法、及びプログラム
JP5790143B2 (ja) 情報処理装置及びプログラム
US8422040B2 (en) Image forming system and method, management apparatus, and recording medium
JP2014071789A (ja) 情報処理装置およびプログラム
US10545704B2 (en) Image forming apparatus and control method to update an application in an image forming apparatus
JP2009163760A (ja) 情報処理装置とその方法及びプログラム
JP6365247B2 (ja) 情報処理装置、情報処理システム、及び情報処理方法
US10338857B2 (en) Information processing apparatus, information processing system, and information processing method
US9092431B2 (en) Document management system and document management method for determining whether at least one managed document was printed and updating print information of the at least one managed document based on the determination
JP2016218887A (ja) 端末装置、プログラム及び出力システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150915

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160906

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170307