(57)【特許請求の範囲】
【請求項１】
予め定めた検索パターンを所定の記法に基づくスクリプトとして登録する手段と、
予め定めた置換パターンであって、マークアップ言語データに埋め込むメタデータを含む置換パターンを所定の記法に基づくスクリプトとして登録する手段と、
前記スクリプトを記憶する手段と、
装置外部へ出力する画面の情報に対応するマークアップ言語データを入力する手段と、
装置外部へ出力する画面の情報に対応するマークアップ言語データが前記検索パターンに合致するか否かを前記スクリプトを解釈・実行することで判定する手段と、
前記マークアップ言語データ上の前記検索パターンに合致したパターンを前記スクリプトを解釈・実行することで前記置換パターンで置換し、メタデータを埋め込む手段と、
置換された前記マークアップ言語データに対応する画面の情報を装置外部へ出力する手段と
を備えたことを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置において、
前記装置外部へ出力する画面の情報に対応するマークアップ言語データは、ネットワーク上に送出するデータである
ことを特徴とする情報処理装置。
【請求項３】
コンピュータを、
予め定めた検索パターンを所定の記法に基づくスクリプトとして登録する手段、
予め定めた置換パターンであって、マークアップ言語データに埋め込むメタデータを含む置換パターンを所定の記法に基づくスクリプトとして登録する手段、
前記スクリプトを記憶する手段、
装置外部へ出力する画面の情報に対応するマークアップ言語データを入力する手段、
装置外部へ出力する画面の情報に対応するマークアップ言語データが前記検索パターンに合致するか否かを前記スクリプトを解釈・実行することで判定する手段、
前記マークアップ言語データ上の前記検索パターンに合致したパターンを前記スクリプトを解釈・実行することで前記置換パターンで置換し、メタデータを埋め込む手段、
置換された前記マークアップ言語データに対応する画面の情報を装置外部へ出力する手段
として機能させるプログラム。
【請求項４】
情報処理装置が実行する方法であって、
予め定めた検索パターンを所定の記法に基づくスクリプトとして登録する工程と、
予め定めた置換パターンであって、マークアップ言語データに埋め込むメタデータを含む置換パターンを所定の記法に基づくスクリプトとして登録する工程と、
前記スクリプトを記憶する工程と、
装置外部へ出力する画面の情報に対応するマークアップ言語データを入力する工程と、
装置外部へ出力する画面の情報に対応するマークアップ言語データが前記検索パターンに合致するか否かを前記スクリプトを解釈・実行することで判定する工程と、
前記マークアップ言語データ上の前記検索パターンに合致したパターンを前記スクリプトを解釈・実行することで前記置換パターンで置換し、メタデータを埋め込む工程と、
置換された前記マークアップ言語データに対応する画面の情報を装置外部へ出力する工程と
を備えたことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、コンピュータ装置等の情報処理装置におけるカスタマイズの技術に関する。
【背景技術】
【０００２】
レーザビームプリンタ、インクジェットプリンタ、デジタル複写機等の画像形成装置では、他社製品を含む他機種とのリプレースに際し、互換性維持の目的で受信データのフィルタ技術（受信データから所定のデータ列を検索し、所定のデータ列に置換する技術）が既に知られている。
【０００３】
また、このフィルタ技術（フィルタプログラム）を応用し、製品のカスタマイズを行う技術も既に知られている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述した従来のフィルタ技術を応用したカスタマイズは、固定的なカスタマイズには適しているものの、カスタマイズの内容を変えるためのフィルタプログラムの変更はファームウェアそのものの変更を意味していたため、販売やサービス等の場面における開発が困難であるという問題があった。
【０００５】
一方、特許文献１には、装置に搭載されているｈｔｔｐ（hypertext transfer protocol）サーバのｃｇｉ（common gateway interface）プログラム（スクリプト）を外部から登録させ、そのｃｇｉプログラムによりユーザインタフェース等のカスタマイズを行う技術が開示されているが、ｈｔｔｐサーバの関与する部分についてしかカスタマイズを行うことができないという問題があった。
【０００６】
本発明は上記の従来の問題点に鑑み提案されたものであり、その目的とするところは、ファームウェアの変更をせずに、データの出力が行われる部分でのカスタマイズに広範に対応することのできる情報処理装置を提供することにある。
【課題を解決するための手段】
【０００７】
上記の課題を解決するため、本発明にあっては、予め定めた検索パターンを所定の記法に基づくスクリプトとして登録する手段と、予め定めた置換パターンであって、マークアップ言語データに埋め込むメタデータを含む置換パターンを所定の記法に基づくスクリプトとして登録する手段と、前記スクリプトを記憶する手段と、装置外部へ出力する画面の情報に対応するマークアップ言語データを入力する手段と、装置外部へ出力する画面の情報に対応するマークアップ言語データが前記検索パターンに合致するか否かを前記スクリプトを解釈・実行することで判定する手段と、前記マークアップ言語データ上の前記検索パターンに合致したパターンを前記スクリプトを解釈・実行することで前記置換パターンで置換し、メタデータを埋め込む手段と、置換された前記マークアップ言語データに対応する画面の情報を装置外部へ出力する手段とを備える。
【発明の効果】
【００１２】
本発明の情報処理装置にあっては、検索と置換による簡易なデータ加工を基本として、スクリプトにより機能拡張が行えるようにするとともに、出力データに対して処理を行うようにしているため、ファームウェアの変更をせずに、データの出力が行われる部分でのカスタマイズに広範に対応することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態にかかるシステムのネットワーク構成例を示す図である。
【図２】情報処理装置としての画像形成装置の構成例を示す図である。
【図３】検索パターンおよび置換パターンの登録のユーザインタフェース例を示す図である。
【図４】スクリプトの登録のユーザインタフェース例を示す図である。
【図５】ネットワーク上に送出するデータの加工の処理例を示す図である。
【図６】表示装置に表示する文字列データの加工の処理例を示す図である。
【図７】装置内部で生成される印刷物の文字列データの加工の処理例を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の好適な実施形態につき説明する。
【００１５】
＜構成＞
図１は本発明の一実施形態にかかるシステムのネットワーク構成例を示す図である。
【００１６】
図１において、ネットワーク１には情報処理装置としての画像形成装置２が接続されるとともに、クライアントＰＣ（Personal Computer）３、４が接続されている。画像形成装置２には、印刷等の本来の機能の他に、装置外部へ出力する情報に対応するデータに対してカスタマイズのための加工を行う機能が備わっている。クライアントＰＣ３、４には、画像形成装置２を操作するためのリモートＵＩ（User Interface）、ＷＷＷ（World Wide Web）ブラウザ、機器情報管理ツール等が備えられている。
【００１７】
図２は情報処理装置としての画像形成装置２の構成例を示す図である。
【００１８】
図２において、画像形成装置２は、コントローラ２１と入出力パネル２２と大容量記憶装置２３とプリンタエンジン２４とを備えている。
【００１９】
コントローラ２１は、その時に設定されている制御モードおよびホストからの制御コードに従って、ホストからの印字データをビデオデータに変換してプリンタエンジン２４へ出力する制御を行う。
【００２０】
入出力パネル２２は、装置の状態を表示部により表示するとともに、スイッチ部によりユーザ操作を入力して装置のモード、フォント等の切り替えの指示を受け付ける。
【００２１】
大容量記憶装置２３は、ＨＤＤ（Hard Disk Drive）等の記憶容量の大きい記憶媒体である。
【００２２】
プリンタエンジン２４は、コントローラ２１からのビデオデータおよび制御信号に基づき、レーザプリンタの場合、感光体上に静電潜像を作り、現像し、給紙部より転写紙を給紙し、転写および定着し、画像を形成する。なお、プリンタエンジン２４はレーザプリンタに限らず、インクジェットプリンタに対応するものであってもよい。
【００２３】
コントローラ２１は、バス２１１に接続されたＣＰＵ（Central Processing Unit）２１２とプログラム／フォントＲＯＭ（Read Only Memory）２１３とＲＡＭ（Random Access Memory）２１４と不揮発ＲＡＭ２１５と通信制御部２１６と印刷制御部２１７とエンジンＩ／Ｆ（Interface）２１８とを備えている。
【００２４】
ＣＰＵ２１２は、プログラム／フォントＲＯＭ２１３に格納されたプログラムに従ってホストからのデータ（印字データ，制御データ）を処理する。
【００２５】
プログラム／フォントＲＯＭ２１３は、コントローラ２１内でのデータの処理、管理や、周辺モジュールを制御するためのプログラムが格納されているとともに、印字に使用されるさまざまな種類のフォントを有している。
【００２６】
ＲＡＭ２１４は、ＣＰＵ２１２が処理する時のワークメモリとして使用されるほか、ホストからのデータをページ単位に管理して一時記憶するバッファ、バッファに記憶されたデータを実際の印字パターンに変換してビデオデータを記憶するためのビットマップメモリ等に使用される。
【００２７】
不揮発ＲＡＭ２１５は、電源を切っても保持したいデータを格納しておくための不揮発性メモリである。
【００２８】
通信制御部２１６は、ホストから装置への制御信号およびデータ、装置からホストへのステータス信号のインタフェースである。また、近年ではネットワークのインタフェースを備え、ＷＷＷブラウザを用いたユーザインタフェースを提供するためのｈｔｔｐサーバ（ｈｔｔｐｄ：ｈｔｔｐデーモン）や、ＳＮＭＰ（Simple Network Management Protocol）でアクセスされるＭＩＢ（Management Information Base）データベースの機能も提供するのが一般的になっている。
【００２９】
印刷制御部２１７は、プリンタエンジン２４における印刷の制御を行う。
【００３０】
エンジンＩ／Ｆ２１８は、コントローラ２１からプリンタエンジン２４への制御信号やビデオ信号、プリンタエンジン２４からコントローラ２１へのステータス信号のインタフェースである。
【００３１】
＜動作＞
先ず、図２に示した画像形成装置２の基本的な動作を説明する。
【００３２】
通信制御部２１６を通してクライアントＰＣ３、４等のホストから送られてきたデータは、ＣＰＵ２１２がプログラム／フォントＲＯＭ２１３上のデータ解析プログラムに従って解析し、印字データおよび印字制御データ（ＳＰ，ＣＲ，ＬＦ，ＨＴ，ＶＴ，…等）とその他のデータに分ける。印字データ、印字制御データおよびその他のデータはＲＡＭ２１４上の受信バッファに一旦記憶される。
【００３３】
一旦記憶された受信データは、ＣＰＵ２１２がプログラム／フォントＲＯＭ２１３上の制御プログラムにより一つずつ取り出し、所定の処理を行う。例えば、取り出したデータが文字コードであれば、印字位置、印字サイズ、文字コード、フォント情報等を備えた中間コードを作成し、ＲＡＭ２１４上に設けられた中間バッファに収納する。取り出したデータが制御コードやエスケープシーケンス等のコマンドであった場合、それらに予め定義された処理を行う。それは、例えば、印字位置の指定であったら、次に来た文字コードの位置を指定された位置にするとか、フォントの変更であった場合は、次に来た文字コードのフォント情報を指定されたフォントにするといった具合に処理を行う。
【００３４】
こうして、ＣＰＵ２１２は、ホストからのプリント命令の処理を行うか、または処理を行ったデータが１ページ分を超えたら、ＲＡＭ２１４の中間バッファに貯えられた中間コードを、制御プログラムに従って画像データに変換・圧縮する処理を行う。
【００３５】
圧縮が終了したら、ＣＰＵ２１２は、エンジンＩ／Ｆ２１８を通してプリンタエンジン２４にプリントスタートの命令を出し、それに同期して圧縮画像データを伸張しながら転送する。あるいは、一旦、圧縮画像データをコントローラ２１に接続された大容量記憶装置２３に蓄積し、ＲＡＭ２１４上から削除する。
【００３６】
大容量記憶装置２３に蓄積された圧縮画像データは、データの受信や解析と非同期に、コントローラ２１の制御プログラムの指示するタイミングでＲＡＭ２１４上にロードされ、蓄積されない場合と同様の手順で、プリンタエンジン２４に対して画像転送される。
【００３７】
以上のような一連の流れで、ホストからの印字データがプリンタエンジン２４を介して印字される。
【００３８】
次に、プログラム／フォントＲＯＭ２１３に格納されＣＰＵ２１２で実行されるフィルタプログラムに対する事前準備としての、検索パターンおよび置換パターンの登録について説明する。
【００３９】
図３は検索パターンおよび置換パターンの登録のユーザインタフェース例を示す図である。ネットワーク１を介してクライアントＰＣ３、４のＷＷＷブラウザ等によるユーザインタフェースから、あるいは画像形成装置２の入出力パネル２２から、検索パターンおよび置換パターンの入力を行い、登録を行う。この場合、ＣＰＵ２１２、通信制御部２１６、入出力パネル２２等は検索パターンおよび置換パターンを登録する手段として機能する。
【００４０】
図３の例では、アイコンの画像ファイルを示す「＜ｉｍｇ  ｓｒｃ＝"ｃｏｍｐａｎｙ１．ｇｉｆ"」の文字列を検索パターンとし、「＜ｉｍｇ  ｓｒｃ＝"ｃｏｍｐａｎｙ２．ｇｉｆ"」の文字列を置換パターンとして登録する場合について示している。検索パターンおよび置換のパターンのセットは複数持つことができ、装置内のテーブルに格納される。
【００４１】
次に、プログラム／フォントＲＯＭ２１３に格納されＣＰＵ２１２で実行されるフィルタプログラムに代わり、あるいはその機能を拡張するためのスクリプトの登録について説明する。スクリプトは、所定の記法によって書かれた簡易プログラムであり、独自仕様でもよいし、Ｐｅｒｌのような言語仕様でも構わない。Ｐｅｒｌのようなスクリプト言語を用いた方が処理の自由度は格段に高くなる。また、サーバで実行されるｃｇｉプログラムに限定されず、任意の種類のプログラムデータに適用可能である。
【００４２】
登録されたスクリプトはフィルタプログラムとして動作し、通常の検索・置換のみではなく、更に複雑な処理を施したいという要求が発生した場合に、条件分岐や変数を用いることができる。
【００４３】
図４はスクリプトの登録のユーザインタフェース例を示す図であり、ネットワーク１を介してクライアントＰＣ３、４のＷＷＷブラウザ等によるユーザインタフェースから、あるいは画像形成装置２の入出力パネル２２から、スクリプトファイルの選択もしくは入力を行わせ、登録を行う。この場合、ＣＰＵ２１２、通信制御部２１６、入出力パネル２２等はスクリプトを登録する手段として機能する。
【００４４】
次に、装置外部へ出力する情報に対応するデータについての、カスタマイズのための加工処理につき、ケース毎に説明する。
【００４５】
図５はネットワーク上に送出するデータの加工の処理例を示す図である。
【００４６】
図５において、装置内で動作するｈｔｔｐデーモン２５２は、クライアントＰＣ３、４からのリクエストを受けてｈｔｍｌ（Hyper Text Markup Language）データを生成する。
【００４７】
このｈｔｍｌデータはフィルタプログラム２５１に入力され、フィルタプログラム２５１は予め登録された内容に従って加工を行う。
【００４８】
例えば、クライアントＰＣ３、４のＷＷＷブラウザに表示されるアイコンのカスタマイズを行うために、図３で示したような検索パターンと置換パターンが登録されている場合を例にすると、フィルタプログラム２５１は次のような処理を行う。
【００４９】
すなわち、フィルタプログラム２５１は、入力されたｈｔｍｌデータから「＜ｉｍｇ  ｓｒｃ＝"ｃｏｍｐａｎｙ１．ｇｉｆ"」という検索パターンの文字列を検索し、該当する文字列を発見すると、「＜ｉｍｇ  ｓｒｃ＝"ｃｏｍｐａｎｙ２．ｇｉｆ"」という置換パターンの文字列に置換する。
【００５０】
フィルタプログラム２５１で加工されたｈｔｍｌデータは通信制御部２１６からリクエスト元のクライアントＰＣ３、４に送出され、クライアントＰＣ３、４側のＷＷＷブラウザによってｈｔｍｌデータが解釈され、ユーザに理解できるようにＷＷＷブラウザ上に表現される。この際、元のｈｔｍｌデータではｃｏｍｐａｎｙ１．ｇｉｆの画像データが表示されるところ、ｃｏｍｐａｎｙ２．ｇｉｆの画像データに変更されているため、クライアントＰＣ３、４側のＷＷＷブラウザ上にはｃｏｍｐａｎｙ２．ｇｉｆの画像が表示されることとなり、装置から出力される情報に対応するデータのカスタマイズを行うことが可能となる。
【００５１】
また、登録されたスクリプトにより加工が行われる場合の処理は次のようになる。
【００５２】
すなわち、図４のようにして登録されたスクリプト（ファイル）は、装置内のスクリプト言語の実行環境により実行され、フィルタプログラム２５１として動作する。装置内には、スクリプトファイルを保持するメモリ領域と、処理データの入出力部として適切なサイズのバッファが設けられる。
【００５３】
そして、フィルタプログラム２５１は、ｈｔｔｐデーモン２５２が生成したｈｔｍｌデータを入力し、加工されたｈｔｍｌデータを通信制御部２１６からネットワークを介してクライアントＰＣ３、４に送出する。
【００５４】
装置が通常ユーザに見せる以上の情報をメタデータとしてｈｔｍｌデータに埋め込んで送出していたり、フィルタプログラム２５１だけがアクセスする情報取得専用のＵＲＩ（Uniform Resource Identifier）を備えていたりする場合には、フィルタプログラム２５１により様々な情報を加工し、必要なフォーマットでＷＷＷブラウザ上に表示するというカスタマイズが可能となる。
【００５５】
ネットワークへ送出するデータであれば、同一の機構でＭＩＢデータベースへのアクセス、ＰＪＬ（Print Job Language）のステータスリードバックやＵＳＴＡＴＵＳ、リモートユーザインタフェースでの表示文字列などの加工を行い、カスタマイズの実現が可能である。ｃｇｉプログラムに加え、ＭＩＢやＰＪＬのデータにも共通して適用でき、ＭＩＢやＰＪＬといった複数種類のデータ加工についてデータ検索／登録の構成を共通して用いることが可能であるため、メモリのスペースを抑えることができる。また、各々のデータを加工する場合に、対応するｃｇｉプログラムを逐一登録する必要がない。
【００５６】
図６は表示装置に表示する文字列データの加工の処理例を示す図である。
【００５７】
図６において、本来は入出力パネル２２に直接に与えられる表示データをフィルタプログラム２５１に入力する。フィルタプログラム２５１は予め登録された内容に従って加工を行い、キャラクタジェネレータ２５３によりグラフィックデータに変換され、入出力パネル２２により表示される。
【００５８】
入出力パネル２２で表示される文字列データは、通常はキャラクタジェネレータ２５３（ソフトウェアで実現する場合とハードウェアで実現される場合とがある）にてグラフィックデータに変換され、入出力パネル２２で表示される。表示データがグラフィックデータに変換される前であれば、フィルタプログラム２５１により処理が可能であることから、カスタマイズが実現できることがわかる。
【００５９】
表示データがレイアウト情報を持っている場合には、レイアウト情報を生成するソフトウェアブロックもしくはハードウェアブロックがキャラクタジェネレータ２５３の代わりに配置されるが、この場合でも表示データの表現形式をフィルタプログラム２５１が解釈可能な形式にしておけば、もしくはフィルタプログラム２５１を表示データの表現形式に対応させていれば、レイアウト情報まで含めたカスタマイズを行うことができる。
【００６０】
図７は装置内部で生成される印刷物の文字列データの加工の処理例を示す図である。
【００６１】
装置外部からの印刷データは受信データフィルタで加工することが可能であるが、装置内部でデータを生成し、外部へ出力するレポート印刷のような印刷は、受信データフィルタではカスタマイズはできない。
【００６２】
図７では、装置内部で生成されるデータを印刷物として外部へ出力する場合のデータフローを示している。
【００６３】
レポートデータは文字列と用紙サイズなどを含めたレイアウト情報であり、フィルタプログラムを適切に作成することにより、そのいずれの加工も可能となる。このとき、データにメタ情報が含まれていると、本来必要な情報のみを抜き出すことが容易となり、カスタマイズの幅を広げることになる。
【００６４】
レポートデータ生成部２５４により作成されたレポートデータは、フィルタプログラム２５１を通して文字列やレイアウト情報が変更され、レンダリング部２５５によりグラフィックデータに変換され、印刷制御部２１７へ渡されることにより、カスタマイズされたレポート印刷が行われる。
【００６５】
＜総括＞
以上説明したように、本実施形態によれば、検索と置換による簡易なデータ加工を基本として、スクリプトにより機能拡張が行えるようにするとともに、出力データに対して処理を行うようにしているため、ファームウェアの変更をせずに、データの出力が行われる部分でのカスタマイズに広範に対応することができる。
【００６６】
なお、本発明は、一般的な情報処理装置としても、画像形成装置としても、情報システムとしても、プログラムとしても、プログラムを格納した記録媒体としても実施することができる。
【００６７】
以上、本発明の好適な実施の形態により本発明を説明した。ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範な趣旨および範囲から逸脱することなく、これら具体例に様々な修正および変更を加えることができることは明らかである。すなわち、具体例の詳細および添付の図面により本発明が限定されるものと解釈してはならない。
【符号の説明】
【００６８】
１          ネットワーク
２          画像形成装置
２１        コントローラ
２１１      バス
２１２      ＣＰＵ
２１３      プログラム／フォントＲＯＭ
２１４      ＲＡＭ
２１５      不揮発ＲＡＭ
２１６      通信制御部
２１７      印刷制御部
２１８      エンジンＩ／Ｆ
２２        入出力パネル
２３        大容量記憶装置
２４        プリンタエンジン
２５１      フィルタプログラム
２５２      ｈｔｔｐデーモン
２５３      キャラクタジェネレータ
２５４      レポートデータ生成部
２５５      レンダリング部
３、４      クライアントＰＣ
【先行技術文献】
【特許文献】
【００６９】
【特許文献１】特開２００４−４６４６９号公報
【図１】
0005552893.tif 000002
【図２】
0005552893.tif 000003
【図３】
0005552893.tif 000004
【図４】
0005552893.tif 000005
【図５】
0005552893.tif 000006
【図６】
0005552893.tif 000007
【図７】
0005552893.tif 000008