JP6554890B2 - 画像形成装置及びプログラム - Google Patents

画像形成装置及びプログラム Download PDF

Info

Publication number
JP6554890B2
JP6554890B2 JP2015084140A JP2015084140A JP6554890B2 JP 6554890 B2 JP6554890 B2 JP 6554890B2 JP 2015084140 A JP2015084140 A JP 2015084140A JP 2015084140 A JP2015084140 A JP 2015084140A JP 6554890 B2 JP6554890 B2 JP 6554890B2
Authority
JP
Japan
Prior art keywords
application
language data
language
function
access
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.)
Active
Application number
JP2015084140A
Other languages
English (en)
Other versions
JP2016206746A (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.)
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 JP2015084140A priority Critical patent/JP6554890B2/ja
Publication of JP2016206746A publication Critical patent/JP2016206746A/ja
Application granted granted Critical
Publication of JP6554890B2 publication Critical patent/JP6554890B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

この発明は、例えば、コピー機能、プリンタ機能、ファクシミリ機能、スキャン機能等の複数の機能を有する多機能デジタル画像形成装置であるMFP(Multi Function Peripheral)等の画像形成装置、及びプログラムに関する。
上記のような画像形成装置として、サードベンダー等により開発された、画像形成装置の機能をカスタマイズするための機能アプリケーション(単に機能アプリともいう)を、ユーザーが購入してインストール可能に構成されたものが知られている。
この様子を図12に示す。図12では、A社、B社、C社の各機能アプリA、B、Cをユーザーが購入して上記のMFP1000にインストールしたときに、MFP1000内の記憶装置1100の各ディレクトリA0000001、A0000002、A0000003に各アプリA、B、Cがそれぞれ格納された状態が示されている。
ただし、それぞれの機能アプリはセキュリティ上、他の機能アプリにアクセスすることはできない構成になっている。
ところで、機能アプリを実行する場合、機能名や設定名等の各種の用語が表示された設定画面等の表示画面が機能アプリによって生成され、表示パネルに表示されることになる。この場合、MFP1000は言語の異なる各国、各地域で販売され得ることから、機能アプリも、MFP1000が使用される国や地域に応じて、国や地域に対応する言語で表示画面を構成する必要がある。
機能アプリを各言語に対応させる方法として、各機能アプリにそれぞれの言語データを保持させておくことが考えられる。しかし、この場合は次のような問題があった。
特開2000−207395号公報 特開平1−42770号公報
すなわち、MFP1000の機能名や設定名は固定であることから、同じような言語データをそれぞれの機能アプリが重複して保持することになる。これでは、図13に示すように、各機能アプリA〜Cがそれぞれ保持されているMFP1000の記憶装置1100のディレクトリA0000001、A0000002、A0000003に、同種の言語データ1200(図13の例では言語IDで示される用語毎に英語と日本語の文字列が表されている)がリソースデータとしてそれぞれ格納されることになり、記憶装置1200の容量が無駄に使用され、その分容量を圧迫するという問題がある。また、機能アプリの開発ベンダーがそれぞれ重複した翻訳作業を行う必要があり、効率的でないという問題もある。
一方、MFP1000のファームウェアで言語データを保持することも考えられる。しかし、この場合は言語データの追加、変更ができず、追加するためにはファームウェアの更新が必要になるとか、MFP1000の機種毎のメンテナンスや、言語データの中から必要分だけマッピングするための変換データベースが必要となる、という問題がある。また、機種毎にワーディングや、用語を特定するための言語IDが変わる可能性があるとか、1ヶ国語の地域に向けたMFPに複数言語の言語データが保持され、ハードウェアリソースを無駄に使用することになる、といった問題もある。
なお、前記特許文献1には、仮名漢字変換装置への入力である仮名情報を日本語解析の語義決定処理に利用する場合に、仮名漢字変換、日本語解析を行う際に必要となる辞書の語彙データへのインデックスとして使用するメモリの使用量を削減でき、情報機器における貴重なリソースを節約可能な日本語解析装置が開示されている。
また、前記特許文献2には、辞書構築のための無駄なメモリ容量を必要とせず、言語表記の変換処理とその解析処理とを効果的に実行することのできる言語解析装置が提案されている。
しかし、これらの特許文献に記載の技術は、機能アプリを各言語に対応させるための技術ではなく、従ってこれらの特許文献によっては、各機能アプリにそれぞれの言語データを保持させておくことによる問題点や、画像形成装置のファームウェアで言語データを保持することによる問題点を解決しうるものではなかった。
この発明はこのような技術的背景に鑑みてなされたものであって、各機能アプリケーションにそれぞれの言語データを保持させることなく、しかも画像形成装置のファームウェアで言語データを保持することなく、機能アプリケーションを画像形成装置が使用される国や地域に応じた各言語に対応させることができる画像形成装置、及びプログラムを提供することを課題とする。
上記課題は、以下の手段によって解決される。
(1)言語データアプリケーション及び画像形成装置の機能をカスタマイズするための機能アプリケーションをインストール可能なインストール手段を備え、前記インストール手段によりインストールされた言語データアプリケーションは、複数の用語を1または複数の言語により表した言語データと、前記機能アプリケーションが前記言語データアプリケーションにアクセスするためのアクセス方法を規定する定義ファイルと、前記言語データアプリケーションへのアクセスを許容する機能アプリケーションとアクセスを拒否する機能アプリケーションを選別するための選別情報と、を含むデータ構造を備え、前記選別情報により前記言語データアプリケーションへのアクセスが許容され、前記インストール手段によってインストールされた前記機能アプリケーションは、動作時に、前記言語データアプリケーションが有する前記定義ファイルに規定されたアクセス方法により前記言語データアプリケーションにアクセスすることによって、目的の言語による用語を前記言語データから抽出し、該抽出した用語を用いて表示画面を構成するものとなされていることを特徴とする画像形成装置。
(2)前記言語データアプリケーションと前記機能アプリケーションが直接アクセスできないように仲介するプロキシ機能を備えている前項1に記載の画像形成装置。
(3)前記選別情報は前記定義ファイルに含まれている前項1または2に記載の画像形成装置。
(4)前記選別情報は、言語データアプリケーションにアクセス可能な機能アプリケーションを示す識別情報である前項1〜3のいずれかに記載の画像形成装置。
(5)前記定義ファイルに規定された、前記機能アプリケーションが前記言語データアプリケーションにアクセスするためのアクセス方法は、画像形成装置の内部モジュールの指定である前項1〜4のいずれかに記載の画像形成装置。
(6)前記内部モジュールは、前記言語データアプリケーションがインストールされることにより有効となる前項5に記載の画像形成装置。
(7)前記選別情報により、前記言語データアプリケーションへのアクセスを拒否する機能アプリケーションに対しては、言語データアプリケーションへのアクセスを拒否しまたはそのインストールを拒否する拒否手段を備えている前項1〜6のいずれかに記載の画像形成装置。
(8)画像形成装置のコンピュータで実行可能なプログラムであって、該プログラムは、複数の用語を1または複数の言語により表した言語データと、前記画像形成装置にインストールされ画像形成装置の機能をカスタマイズするための機能アプリケーションが言語データアプリケーションにアクセスするためのアクセス方法を規定する定義ファイルと、前記言語データアプリケーションへのアクセスを許容する機能アプリケーションとアクセスを拒否する機能アプリケーションを選別するための選別情報と、を含む前記言語データアプリケーションのプログラムであ、前記選別情報により前記言語データアプリケーションへのアクセスが許容された前記機能アプリケーションが、前記言語データアプリケーションが有する前記定義ファイルに規定されたアクセス方法により前記言語データアプリケーションにアクセスしたときに、目的の言語による表示画面を構成するための用語を前記言語データから抽出するステップを前記コンピュータに実行させるプログラム
(9)前記選別情報は前記定義ファイルに含まれている前項8に記載のプログラム
(10)前記選別情報は、言語データアプリケーションにアクセス可能な機能アプリケーションを示す識別情報である前項8または9に記載のプログラム
(11)前記定義ファイルに規定された、前記機能アプリケーションが前記言語データアプリケーションにアクセスするためのアクセス方法は、画像形成装置の内部モジュールの指定である前項8〜10のいずれかに記載のプログラム
前項(1)及び(8)に記載の発明によれば、選別情報により言語アプリケーションへのアクセスが許容され、画像形成装置にインストールされた機能アプリケーションは、動作時に、言語データアプリケーションが有する定義ファイルに規定されたアクセス方法により言語データアプリケーションにアクセスすることによって、目的の言語による用語を言語データから抽出し、この抽出した用語を用いて表示画面を構成する。
つまり、各機能アプリケーションは、言語データアプリケーションの言語データを共用して表示画面を構成するから、各機能アプリケーションにそれぞれ言語データを保持させる必要はなくなり、記憶装置が無駄に使用されてその分容量を圧迫するという問題を解消できる。また、機能アプリケーションの開発ベンダーがそれぞれ重複した翻訳作業を行う手間をなくすことができる。また、各機能アプリケーションが共通の言語データベースを使用するから、機能アプリケーション間で統一したワーディングにより表示画面を構成することができる。
しかも、画像形成装置のファームウェアで言語データを保持するのではなく、言語データアプリケーションに言語データが保持されるから、ファームウェアの更新を必要とすることなく、言語データの追加、変更を行うことができるとともに、画像形成装置の機種毎のメンテナンスや、言語データの中から必要分だけマッピングするための変換データベースが必要となる、という問題も解消できる。
さらには、機能アプリケーションが直接に言語データアプリケーションにアクセスするのではなく、言語データアプリケーションが有する定義ファイルに規定されたアクセス方法によりアクセスし、目的の言語による用語を言語データから抽出するするから、機能アプリケーションがサードパーティによって製作されたものであっても、セキュリティを確保しながら言語データの共有化を図ることができる。
さらにまた、言語データアプリケーションへのアクセスを許容する機能アプリケーションとアクセスを拒否する機能アプリケーションを選別するための選別情報により、アクセスを拒否する機能アプリケーションに対して、言語データアプリケーションへのアクセスを拒否しまたはそのインストールを拒否することができ、さらにセキュリティを確保することができる。
前項(2)に記載の発明によれば、プロキシ機能により言語データアプリケーションと機能アプリケーションが直接アクセスすることはできないから、さらにセキュリティを確保することができる。
前項(3)及び(9)に記載の発明によれば、選別情報は1つの定義ファイル内に含めることができる。
前項(4)及び(10)に記載の発明によれば、選別情報は、言語データアプリケーションにアクセス可能な機能アプリケーションを示す識別情報であるから、言語データアプリケーションへのアクセスを許容する機能アプリケーションとアクセスを拒否する機能アプリケーションを容易に選別することができる。
前項(5)及び(11)に記載の発明によれば、機能アプリケーションは画像形成装置内部のモジュールを指定することにより、言語データアプリケーションにアクセスできる。
前項(6)に記載の発明によれば、モジュールは言語データアプリケーションがインストールされることにより有効となるから、言語データアプリケーションがインストールされる前に、モジュールによる意図しないデータの書き換えや削除等を防止できる。
前項(7)に記載の発明によれば、言語データアプリケーションへのアクセスを拒否する機能アプリケーションに対しては、言語データアプリケーションへのアクセスを拒否しまたはそのインストールを拒否することができる。
この発明の一実施形態に係る画像形成装置を備えたネットワークシステムの構成図である。 言語データアプリケーションの内容と、言語データアプリケーションが画像形成装置にインストールされた後の画像形成装置の動作を説明するための図である。 言語データの他の例を示す図である。 言語データアプリケーション及び機能アプリケーションをサーバーから画像形成装置へダウンロードしたのち、機能アプリケーションが画面を構成するまでの動作の概要を説明するための図である。 画像形成装置にインストールされた機能アプリケーションによる用語抽出時の言語データアプリケーションとのやりとりを示すシーケンス図である。 言語データアプリケーションのインストール時の画像形成装置の動作を示すフローチャートである。 機能アプリケーションのインストール時の画像形成装置の動作を示すフローチャートである。 この発明の他の実施形態を示すもので、言語データアプリケーション及び機能アプリケーションをサーバーから画像形成装置へダウンロードして、機能アプリケーションが画面を構成するまでの動作の概要を説明するための図であり、図4に対応する図である。 コピー用の言語データとファクシミリ用の言語データの一例を示す図である。 言語毎にまとめられた言語データの一例を示す図である。 言語データがオプションデータとして機能毎にまとめられている場合の言語データを、言語データアプリケーションのプログラムに基づいて画像形成装置がインストールする場合の動作を示すフローチャートである。 従来の画像形成装置において、機能アプリケーションがインストールされた状態を説明するための図である。 従来の画像形成装置における問題点を説明するための図である。
以下、この発明の実施形態を図面に基づいて説明する。
図1はこの発明の一実施形態に係る画像形成装置を備えたネットワークシステムの構成図である。このネットワークシステムは、画像形成装置1とサーバー2がインターネット等のネットワーク3に接続されている。
この実施形態では、画像形成装置1として、コピー機能、プリンタ機能、スキャン機能、ファクシミリ機能等を備えた前述のMFPが用いられている。以下、画像形成装置をMFPともいう。
MFP1は、CPU101、ROM102、RAM103、記憶装置104、システム制御部105、入力装置管理部106、出力装置管理部107、操作パネル108、ネットワークインターフェース(ネットワークI/F)109、外部アプリケーション管理部110、外部アプリケーション実行部111、言語データアクセス管理部112、ウェブ(Web)サーバー部113等を備え、これらが互いにシステムバスを介して接続されている。
CPU101は、ROM102等に保存されているプログラムを実行することにより、MFP1の全体を統括的に制御するほか、後述する言語データアプリケーションや機能アプリケーションを実行する。
ROM102は、CPU101が実行するプログラムやその他のデータを格納する。
RAM103は、CPU101がプログラムを実行する際の作業領域となるものであり、プログラムやプログラムを実行する際のデータ等を一時的に保存する。
記憶装置104はハードディスク(HDD)からなり、アプリケーションや各種データ等を保存する。
システム制御部105は、前述したCPU101、ROM102、RAM103等を主要部として構成され、MFP1のコピー機能、プリンタ機能、スキャン機能等のシステム全体を制御する。
入力装置管理部106は、スキャナ等を備え、プラテンガラス上にセットされた原稿を走査することによって読み取り、読み取った原稿を画像データに変換する。
出力装置管理部107はプリンタ部等を備え、生成された複写画像を用紙上に形成する。
操作パネル108は、ユーザーがMFP1へジョブ等の指示や各種設定を行う際に用いられるものであり、タッチパネル付きの表示部108a等を備えている。
ネットワークインターフェース109は、サーバー2との間でデータの送受信を行う通信手段として機能する。
外部アプリケーション管理部110は、アプリケーションのインストール、アンインストール等の実行、インストール済みアプリケーションの管理等を行う。また、後述するように、言語データアプリケーションにアクセス可能な機能アプリケーションのみをインストールする制御を行う。
外部アプリケーション実行部111は、アプリケーションを実行するためのランタイムや画面表示のためのモジュール群からなり、ウェブブラウザ111aも含まれる。
言語データアクセス管理部112は、機能アプリケーションと言語データアプリケーションを仲介するためのモジュール群であり、後述するDLL等が含まれる。また、後述するように、言語データアプリケーションにアクセス可能な機能アプリケーションに対して、言語データアプリケーションへのアクセスを許可する制御を行う。
ウェブサーバー部113は、MFP1にウェブサーバーとしての機能を付与するものである。
なお、以下の説明において「アプリケーション」を単に「アプリ」ともいう。
機能アプリはMFP1の機能、例えば印刷機能やスキャン機能等をカスタマイズするためのアプリであり、MFP1の製造販売者の他に、製造販売者以外のサードパーティーによっても提供される。この実施形態では、機能アプリをインストールしたいユーザーは、サーバー2から機能アプリを購入してダウンロードし、MFP1にインストールできるようになっている。
言語データアプリは、MFP1が異なる国や地域で使用されるときに、各機能アプリが国や地域に対応する言語データベースを保持することなく各機能アプリで共有できるように、1または複数の言語による複数の用語のそれぞれについての言語データを保持するアプリであり、機能アプリが当該言語データアプリにアクセスするためのアクセス方法を規定し、さらに指定した言語による指定した用語を言語データから抽出するための関数を規定する定義ファイルを有している。言語データアプリについては後述する。
言語データアプリは、この実施形態では、ユーザーの指示に基づいてMFP1がサーバー2からダウンロードしてインストールされるようになっている。
サーバー2はパーソナルコンピュータ等によって構成され、機能的には、ウェブ(Web)サーバー部21と、アプリ/言語データ管理部22と、CGI処理部23等を備えている。
ウェブサーバー部21は、MFP1のウェブブラウザ111aの要求に応じて、ネットワーク3を通じ機能アプリや言語データアプリ等をMFP1に送信する役割を果たす。
アプリ/言語データ管理部22は、複数の機能アプリ、言語データアプリ、機能毎に用語と複数言語の翻訳がまとめられた言語データ等を備えると共に、機能アプリや言語データアプリのダウンロード先の管理などを行う。
CGI(Common Gateway Interface)は、ウェブサーバ−部21がMFP1から言語データアプリの取得要求を受けたときに、プログラムを起動してウェブサーバ−21から要求された処理を実行する。
図2は、言語データアプリ300の内容と、言語データアプリ300がMFP1にインストールされた後のMFP1の動作を説明するための図である。
言語データアプリ300は、機能アプリが言語データアプリ300にアクセスするためのアクセス方法を規定するとともに、指定した言語による指定した用語を言語データから抽出するための関数を規定する定義ファイル301と、言語データ(Resource.dat)302を有している。
定義ファイル301には、図2に示すように、言語データアプリ300のアプリ識別情報であるアプリID(ApplicationID)と、バージョン(Version)情報と、モジュール(Module)情報と、API(Application Programming Interface )情報と、アクセス可能なアプリIDが埋め込まれている。
言語データアプリ300の識別情報であるアプリIDは、言語データアプリ300を一意に特定すると共に、言語データアプリという種類であることを特定している。アプリIDにはあらかじめ指定されたフラグ(図2の例では「IDB」)が含まれ、MFP1は、このフラグを有するアプリが機能アプリで共有可能なアプリであると認識する。このアプリIDによって言語データアプリ300の偽造を防止している。なお、アプリIDを定義ファイル301に埋め込むのではなく、アプリIDを書き換えられないように証明書に埋め込み、MFP1が言語データアプリ300をインストールするときに、証明書を言語データアプリ300から取り出してアプリIDを確認する構成としても良い。
バージョン情報は、言語データアプリ300のバージョンを示す情報である。
モジュール情報は、機能アプリが言語データアプリ300にアクセスするためのアクセス方法として、モジュールであるDLL(Dynamic Link Library)の指定の仕方を規定している。この実施形態では、「LangData.dll」によりDLLを指定し呼び出す構成となっている。DLLはMFP1の言語データアクセス管理部112に例えばMFP1の製造段階で予めインストールされているが、言語データアプリ300に同梱され、言語データアプリ300のインストール時にMFP1にコピーされる構成としても良い。
API情報は、機能アプリが、指定した言語による指定した用語を言語データ302から抽出するための関数を規定するものである。この例では「GetLangData(LangID,lang)」により、言語ID(LangID)と言語(lang)を指定して言語データアプリ300にアクセスする。
アクセス可能なアプリIDは、言語データアプリ300へのアクセスを許容する予め設定された機能アプリの識別情報であり、言語データアプリ300へのアクセスを許容する機能アプリとアクセスを拒否する機能アプリを選別するための選別情報として機能する。
言語データアプリ300が保持する言語データ302は、図2に示すように、用語を特定する言語ID(LangID)と、各言語IDで示される用語を各言語により表した文字列(図2の例では英語と日本語)からなる。例えば言語ID1の用語については、英語で「Scan Settings」、日本語で「スキャン設定」が、言語ID2の用語については、英語で「Paper Size」、日本語で「用紙サイズ」が、言語ID3の用語については、英語で「Color Setting」、日本語で「カラー設定」が、それぞれ規定されている。
図2に示すように、ユーザーによって言語データアプリ300がサーバー2からダウンロードされMFP1にインストールされて、言語データアプリ300はMFP1の記憶装置104に格納される。言語データアプリ300の定義ファイル301のモジュール情報に規定されたDLLは、言語データアプリ300がインストールされるまでは無効となっているが、言語データアプリ300がインストールされると有効となり、MFP1のRAM103等のシステム内にロードされ使用可能となる。
このように、DLLは言語データアプリ300がインストールされるまでは無効となっているから、意図しないデータの書き換えや削除等を防止できる。また、言語データアプリ300がインストール後にMFP1のシステム内にロードされ使用可能となるから、言語データアプリ300の不使用時はメモリ使用量を削減することができる。
ユーザーは、必要な機能アプリをサーバー2からダウンロードしMFP1にインストールする。インストールによってMFP1の記憶装置104に格納された機能アプリ(例えば図2のディレクトリA0000001に格納された機能アプリ)が、「Getdata.exe」によって起動すると、モジュールであるDLLが指定され呼び出される。機能アプリは、定義ファイル301に規定された関数である「GetLangData(LangID,lang)」を用いて言語ID及び言語を指定し、言語データアプリ300にアクセスすると、指定された言語IDの用語についての指定された言語の文字列が言語データ302から抽出される。機能アプリは、抽出された文字列を用いて画面を構成し、表示部108aに表示する。
ただし、機能アプリ(例えば図2のディレクトリB0000002に格納された機能アプリ)がアクセス可能な機能アプリとして定義ファイル302に規定されていない場合は、言語データアプリ300へのアクセスが拒否される。また、アクセス可能な機能アプリとして定義ファイル302に規定されていない機能アプリについては、MFP1はインストールそのものを拒否しても良い。
また、言語データ302には、各用語の各言語による文字列のみならず、図3に示すように、その用語をアイコンとして表示するためのアイコン用画像データが含まれていても良い。機能アプリはアイコン用画像データを取得する場合は、言語IDとアイコン用画像データの取得であることを指定する。なお、アイコン用画像データは言語データ302とは別に独立したデータとして保持されていても良い。
このようなアイコン用画像データの存在により、言語データだけでなくアイコン用画像データも各機能アプリケーションで共有化することができ、各機能アプリケーションはこのアイコン用画像データに基づくアイコンを表示画面に表示させることができる。
図4は、言語データアプリ300及び機能アプリ400をサーバー2からMFP1へダウンロードしたのち、機能アプリ400が画面を構成するまでの動作の概要を説明するための図である。
サーバー2には、言語データアプリ300と機能アプリ400が保持されている。言語データアプリ300には、前述した定義ファイル301と言語データ302が含まれている。
一方、機能アプリ400は該機能アプリを実行するためのプログラム401を備えている。
MFP1のユーザーはサーバー2から言語データアプリ300をダウンロードしMFP1にインストールする。言語データアプリ300がインストールされると、DLL501が本体システム500にロードされ、使用可能となる。
言語データアプリ300がMFP1にインストールされた後、ユーザーは必要に応じて所望の機能アプリ400をサーバー2からダウンロードし、MFP1にインストールする。
MFP1にインストールされた機能アプリ400を実行させると、DLLが指定され呼び出される。機能アプリ400は関数「GetLangData(LangID,lang)」により言語IDと言語を指定し、DDLを介して言語データアプリ300にアクセスする。すると、言語データアプリ300の言語データ302から、指定された言語IDで示される用語の指定された言語による文字列が抽出される。処理効率の向上のため、言語データ302はRAM103上に展開されても良い。
機能アプリ400は、抽出された用語の文字列602を自身のUI601により配置して画面を構成し、MFP1のGUI(Graphical User Interface)600が構成された画面を受け付けて、ブラウザ111aを介して表示部108aに表示する。
この実施形態では、MFP1にはプロキシ部502が備えられている。このプロキシ部502は、機能アプリ400と言語データアプリ300、さらには機能アプリ400同士が直接アクセスできないように仲介する役割を果たす。これによりセキュリティのさらなる強化を図っている。
図5は、MFP1にインストールされた機能アプリ400による用語抽出時の言語データアプリ300とのやりとりを示すシーケンス図である。
機能アプリ400がDLL501を呼び出し、関数である「GetLangData(LangID,lang)」によって言語及び用語を指定し、言語データアプリ300へのアクセスを要求すると(ステップS1)、DLL501は「GetLangData(LangID,lang)」を言語データアプリ300に送信する(ステップS2)。
言語データアプリ300は、指定された言語ID、言語に対応する用語の文字列(図5の例ではScan Settings」)を言語データ302から抽出してDLL501に返し(ステップS3)、DLL501はさらに機能アプリ400に返す(ステップS4)。この処理を画面構成に必要な全ての用語の抽出が完了するまで繰り返す。必要な全ての用語を抽出すると、機能アプリ400は画面データを生成し、生成した画面データをウェブサーバー部113に送信し(ステップS5)、ウェブサーバー部113は画面データをブラウザ111aに送信する(ステップS6)。ブラウザ111aは画面データを表示部108aに表示する。
なお、機能アプリ400が必要な用語を抽出するのではなく、言語データに含まれる全ての用語を取得してブラウザ111aに送信しておき、ブラウザ111a側で機能アプリ400により指定された用語の文字列を指定された位置に表示することで、画面を表示しても良い。
このように、この実施形態では、言語データアプリ300は、機能アプリ400が言語データアプリ300にアクセスするためのアクセス方法であるDLL501の呼び出し方法を規定し、指定した言語による指定した用語を言語データから抽出するための関数を規定する定義ファイル301を含むデータ構造を有している。そして、MFP1にインストールされた機能アプリ400は、動作時に前記DLLを指定し呼び出して言語データアプリ300にアクセスし、関数に従って指定した言語による指定した用語を言語データ302から抽出し、該抽出した用語を用いて表示画面を構成する。つまり、各機能アプリ400は、言語データアプリ300の言語データ302を共用して表示画面を構成するから、各機能アプリ400にそれぞれ言語データを保持させる必要はなくなり、記憶装置104が無駄に使用されてその分容量を圧迫するという問題を解消できる。また、機能アプリ400の開発ベンダーがそれぞれ重複した翻訳作業を行う手間をなくすことができる。また、各機能アプリ400が共通の言語データベースを使用するから、機能アプリ400間で統一したワーディングにより表示画面を構成することができる。
しかも、MFP1のファームウェアで言語データを保持するのではなく、言語データアプリ300に言語データ302が保持されるから、ファームウェアの更新を必要とすることなく、言語データの追加、変更を行うことができるとともに、MFP1の機種毎のメンテナンスや、言語データの中から必要分だけマッピングするための変換データベースが必要となる、という問題も解消できる。
さらには、機能アプリ400が直接に言語データアプリ300にアクセスするのではなく、言語データアプリ300が有する定義ファイル301に規定されたアクセス方法によりアクセスし、指定した言語による指定した用語を言語データ302から抽出するための関数を用いて、言語データ302から用語を抽出するから、機能アプリ400がサードパーティによって製作されたものであっても、セキュリティを確保しながら言語データ302の共有化を図ることができる。
図6は、言語データアプリ300のインストール時のMFP1の動作を示すフローチャートである。
ステップS01でアプリインストールの指示を受け付けると、ステップS02で、アプリは言語データアプリかどうかを判断する。言語データアプリかどうかは、定義ファイル301のアプリIDにより判断する。
言語データアプリ300であれば(ステップS02でYES)、ステップS03で、API情報による関数(アクセス関数)を有効化したのち、ステップS04でインストールを継続する。ステップS02で、言語データアプリ300でなければ(ステップS02でNO)、そのままステップS04に進み、インストールを継続する。
図7は、機能アプリ400のインストール時のMFP1の動作を示すフローチャートである。
この実施形態では、前述したように、定義ファイル301にアクセス可能なアプリIDが規定されており、インストールされる機能アプリがアクセス可能なアプリIDとして定義ファイル302に規定されていない場合は、言語データアプリ300へのアクセスが拒否され、またはインストールそのものが拒否されるようになっている。
より詳細に説明すると、MFP1は言語データアプリ300の言語データ302が適正に利用される環境を構築する必要がある。例えば、言語データ302は時期や対応製品により用語が異なる場合がある。機能アプリ400が想定している用語と言語データ302の用語が異なる場合は、ユーザーに間違った用語を表示してしまう恐れがある。また、機能アプリが用語を使用しないにもかかわらず、不具合によって言語データにアクセスし、意図しない動作をMFP1に与える恐れもある。
そこで、言語データアプリ300にアクセス可能な機能アプリ400のIDを、定義ファイル301に規定し、アクセス可能な機能アプリとして定義ファイル302に規定されていない機能アプリ400については、MFP1は機能アプリ400のインストールを拒否する。また、アクセス可能な機能アプリ400として定義ファイル302に規定されていない機能アプリについては、言語データアプリ300へのアクセスを拒否しても良い。言語データアプリ300へのアクセス拒否は、特に言語データアプリ300が機能アプリ400よりも後にインストールされた場合に有効である。
さらに、この実施形態では、言語データアプリ300はバージョン情報を有するとともに、機能アプリ400は言語データアプリ300のどのバージョンをサポートしているかの情報を持っている。そして、MFP1は機能アプリ400をサーバー2からダウンロードしインストールするときに、アクセス可能な機能アプリ400として定義ファイル302に規定されている機能アプリ400であっても、言語データアプリ300のバージョンと合致するか否かを確認し、合致する場合にのみ機能アプリ400のインストールを継続するものとなされている。なお、ダウンロードした機能アプリ400のバージョンが言語データアプリ300のバージョンと一致しなかった場合、MFP1はサーバー2に言語データアプリ300のバージョン情報を通知し、対応するバージョンの機能アプリ400をサーバー2から提供してもらう構成としても良い。
図7において、ステップS11で機能アプリ400のインストールの指示を受け付けると、ステップS12で、機能アプリ400が言語データアプリ300を使用可能なアプリかどうかを判断する。言語データアプリ300を使用可能な機能アプリ400かどうかは、言語データアプリ300の定義ファイル301に規定されたアクセス可能なアプリIDにより判断する。
言語データアプリ300を使用可能な機能アプリ400であれば(ステップS12でYES)、ステップS13で、機能アプリ400のバージョンが言語データアプリ300のバージョンと合致しているかどうかを判断する。合致していれば(ステップS13でYES)、ステップS04でインストールを継続する。
ステップS12で、言語データアプリ300を使用可能な機能アプリ400でない場合(ステップS12でNO)、及びステップS13で、機能アプリ400のバージョンが言語データアプリ300のバージョンと合致していない場合は(ステップS13でNO)、いずれもステップS15でインストールを中止する。
図8はこの発明の他の実施形態を示すもので、言語データアプリ300及び機能アプリ400をサーバー2からMFP1へダウンロードして、機能アプリ400が画面を構成するまでの動作の概要を説明するための図であり、図4に対応する図である。
この実施形態では、言語データアプリ300のオプションデータ700として、MFP1の機能毎にパッケージとしてまとめられた言語データを有している。具体的には、コピー用の言語データ701、スキャン用の言語データ702、ファクシミリ用の言語データ703の各グループの言語データを備えている。また、言語データアプリ300には、定義ファイル301の他、各機能に共通する処理に関する言語データ302が標準仕様として保持されているとともに、オプションデータ700である各機能毎の言語データ701〜703をサーバー2からMFP1にダウンロードしインストールするためのプログラム303が保持されている。なお、言語データアプリ300に、各機能に共通する処理の言語データ302とともに、あるいは当該言語データ302に代えて、装置情報に関する言語データを標準仕様として保持していても良い。
図9にコピー用の言語データ701とファクシミリ用の言語データ703の一例を示す。いずれも、それぞれコピー機能及びファクシミリ機能に関連する用語が各言語IDで示されるとともに、各用語を各言語で表記した文字列が規定されている。なお、コピー用、スキャン用、ファクシミリ用の各言語データの他に、例えば認証処理用のグループの言語データが備えられていても良い。
図8の実施形態では、オプションデータについては、機能アプリ400の変更やMFP1の構成の変更等に応じ、MFP1にインストールされた言語データアプリ300のプログラム303が実行されることにより、必要な言語データ701〜703がサーバー2のオプションデータ700からMFP1にダウンロードされる。例えば新たにインストールされた機能アプリ400の使用機能情報に基づいて、機能アプリ400がコピー機能に関するアプリであるとMFP1が判断した場合は、コピー用の言語データ701がサーバー2のオプションデータ700からMFP1にダウンロードされインストールされる。また、機能アプリ400がスキャン機能に関するアプリの場合は、スキャン用の言語データ702がMFP1にインストールされる。図8の例では、コピー用の言語データ701がMFP1にインストールされている。
また、MFP1が自装置に搭載されている標準機能やオプション機能を確認し、搭載機能に応じた言語データをダウンロードしインストールしても良い。例えば、MFP1にファクシミリ機能が新たに搭載されたような場合は、ファクシミリ用の言語データ703がMFP1にインストールされる。
なお、ダウンロードされた機能毎の言語データや、言語データアプリ300に含まれている共通の言語データ302から必要な用語の文字列を取得して、機能アプリ400が画面を構成するまでの動作は、図4で説明した場合と同じである。
図8の例では、オプションデータ700として言語データ701〜703がMFP1の機能毎にまとめられている例を示したが、図10に示すように、言語毎にパッケージ化された言語データであっても良い。例えば図10では英語のグループにまとめられた言語データ704と日本語のグループにまとめられた言語データ705が示されている。言語毎に言語データがまとめられている場合、MFP1の使用地域や国に応じて、必要な言語の言語データがサーバー2のオプションデータ700からからダウンロードされMFP1にインストールされる。なお、言語毎のデータをさらに機能毎に分類してパッケージ化した言語データであってもよい。
このように、共通処理に関する言語データ、装置情報に関する言語データ、機能毎あるいは言語毎の言語データ等のように、言語データを複数のグループに分割して形成し、複数のグループのうちの一部のグループの言語データを言語データアプリ300に保持しておき、他のグループの言語データはオプションデータとしてサーバー2に保持しておくとともに、オプションデータをサーバー2からダウンロードしインストールするためのプログラムを言語データアプリ300に含ませておくことで、必要な言語データはサーバー2からダウンロードしインストールできる。従って、言語データアプリ300は必要最小限の言語データを保持すれば良く、全ての言語データを保持する場合に較べてその分記憶装置104の使用量を少なくできる。これによって、MFP1のハードウェアリソースの消費量を少なくできる。
すなわち、MFP1は多くの機能を有するため、言語データのサイズが巨大になる恐れがある。全ての言語データを言語データアプリ300に保持させて、MFP1にインストールすると、MFP1のハードウェアリソースを多く消費してしまう。ハードウェアリソースは他のMFP機能と共有しているため、例えば、スキャンできる画像の最大サイズが制限されるとか、インストールできるアプリが少なくなるとか、記憶領域であるボックスに保存できる文書が少なくなるといったように、場合によっては他の機能に影響を与える可能性がある。そこで、言語データを複数のグループに分割して必要な言語データのみをインストールすることで、ハードウェアリソースを効率的に使用することができる。
なお、不要になった言語データのグループをアンインストールする構成としても良い。
図11は、図8に示したように、言語データがオプションデータ700として機能毎にまとめられている場合の言語データ701〜703を、言語データアプリ300のプログラム303に基づいてMFP1がインストールする場合の動作を示すフローチャートである。
ステップS31では、MFP1の構成または機能アプリ400に変更があったかどうかを判断する。MFP1の構成に変更があった場合とは、例えば新たな機能がMFP1に追加されたり、既存の機能が削除されたような場合をいい、機能アプリ400に変更があった場合とは新たな機能アプリ400がインストールされたり、既存の機能アプリ400がアンインストールされたようなような場合をいう。
MFP1の構成または機能アプリ400に変更があった場合(ステップS31でYES)、ステップS32で、新たな言語データ701〜703の取得や不要となった言語データの削除が必要かを、既にインストールされている言語データと、変更があったMFP1の構成や機能アプリ400との対比により判断する。
新たな言語データ701〜703の取得や不要となった言語データの削除が必要と判断された場合(ステップS32でYES)、ステップS33で、新たな言語データ701〜703をサーバー2からダウンロードしてインストールし、あるいは不要となった言語データをMFP1からアンインストールする。
ステップS31で、MFP1の構成または機能アプリ400に変更がなかった場合(ステップS31でNO)、ステップS32で、新たな言語データ701〜703の取得や不要となった言語データの削除が必要でない場合は(ステップS32でNO)、何もせず処理を終了する。
以上、本発明の一実施形態を説明したが、本発明は上記実施形態に限定されることはない。
例えば、言語データアプリ300をサーバー2からダウンロードしてインストールする例を示したが、予めROM102内に言語データアプリ300を保持させておき、MFP1内で言語データアプリ300を実行可能となった場合に、ROM102から言語データアプリ300をインストールしても良い。例えば、言語データアプリ300の実行に必要なランタイム等がデフォルトでオフになっている場合等に有効である。
1 画像形成装置
101 CPU
102 ROM
104 記憶装置
105 システム制御部
109 ネットワークインターフェース
110 外部アプリケーション管理部
111 外部アプリケーション実行部
112 言語データアクセス管理部
2 サーバー

Claims (11)

  1. 言語データアプリケーション及び画像形成装置の機能をカスタマイズするための機能アプリケーションをインストール可能なインストール手段を備え、
    前記インストール手段によりインストールされた言語データアプリケーションは、複数の用語を1または複数の言語により表した言語データと、前記機能アプリケーションが前記言語データアプリケーションにアクセスするためのアクセス方法を規定する定義ファイルと、前記言語データアプリケーションへのアクセスを許容する機能アプリケーションとアクセスを拒否する機能アプリケーションを選別するための選別情報と、を含むデータ構造を備え、
    前記選別情報により前記言語データアプリケーションへのアクセスが許容され、前記インストール手段によってインストールされた前記機能アプリケーションは、動作時に、前記言語データアプリケーションが有する前記定義ファイルに規定されたアクセス方法により前記言語データアプリケーションにアクセスすることによって、目的の言語による用語を前記言語データから抽出し、該抽出した用語を用いて表示画面を構成するものとなされていることを特徴とする画像形成装置。
  2. 前記言語データアプリケーションと前記機能アプリケーションが直接アクセスできないように仲介するプロキシ機能を備えている請求項1に記載の画像形成装置。
  3. 前記選別情報は前記定義ファイルに含まれている請求項1または2に記載の画像形成装置。
  4. 前記選別情報は、言語データアプリケーションにアクセス可能な機能アプリケーションを示す識別情報である請求項1〜3のいずれかに記載の画像形成装置。
  5. 前記定義ファイルに規定された、前記機能アプリケーションが前記言語データアプリケーションにアクセスするためのアクセス方法は、画像形成装置の内部モジュールの指定である請求項1〜4のいずれかに記載の画像形成装置。
  6. 前記内部モジュールは、前記言語データアプリケーションがインストールされることにより有効となる請求項5に記載の画像形成装置。
  7. 前記選別情報により、前記言語データアプリケーションへのアクセスを拒否する機能アプリケーションに対しては、言語データアプリケーションへのアクセスを拒否しまたはそのインストールを拒否する拒否手段を備えている請求項1〜6のいずれかに記載の画像形成装置。
  8. 画像形成装置のコンピュータで実行可能なプログラムであって、
    該プログラムは、
    複数の用語を1または複数の言語により表した言語データと、前記画像形成装置にインストールされ画像形成装置の機能をカスタマイズするための機能アプリケーションが言語データアプリケーションにアクセスするためのアクセス方法を規定する定義ファイルと、前記言語データアプリケーションへのアクセスを許容する機能アプリケーションとアクセスを拒否する機能アプリケーションを選別するための選別情報と、を含む前記言語データアプリケーションのプログラムであ
    前記選別情報により前記言語データアプリケーションへのアクセスが許容された前記機能アプリケーションが、前記言語データアプリケーションが有する前記定義ファイルに規定されたアクセス方法により前記言語データアプリケーションにアクセスしたときに、目的の言語による表示画面を構成するための用語を前記言語データから抽出するステップを前記コンピュータに実行させるプログラム
  9. 前記選別情報は前記定義ファイルに含まれている請求項8に記載のプログラム
  10. 前記選別情報は、言語データアプリケーションにアクセス可能な機能アプリケーションを示す識別情報である請求項8または9に記載のプログラム
  11. 前記定義ファイルに規定された、前記機能アプリケーションが前記言語データアプリケーションにアクセスするためのアクセス方法は、画像形成装置の内部モジュールの指定である請求項8〜10のいずれかに記載のプログラム
JP2015084140A 2015-04-16 2015-04-16 画像形成装置及びプログラム Active JP6554890B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015084140A JP6554890B2 (ja) 2015-04-16 2015-04-16 画像形成装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015084140A JP6554890B2 (ja) 2015-04-16 2015-04-16 画像形成装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2016206746A JP2016206746A (ja) 2016-12-08
JP6554890B2 true JP6554890B2 (ja) 2019-08-07

Family

ID=57489709

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015084140A Active JP6554890B2 (ja) 2015-04-16 2015-04-16 画像形成装置及びプログラム

Country Status (1)

Country Link
JP (1) JP6554890B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109767516B (zh) * 2018-12-14 2021-06-11 汉海信息技术(上海)有限公司 日志设置和打印方法、设置和打印设备、及日志系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1166002A (ja) * 1997-08-18 1999-03-09 Alpine Electron Inc コンピュータプログラムの多国語対応方法
JP2003291425A (ja) * 2002-03-29 2003-10-14 Canon Inc 画像形成装置及び画像形成方法
JP2005135369A (ja) * 2003-10-09 2005-05-26 Seiko Epson Corp 処理装置、応用プログラム、リソース再生方法、応用プログラム生成方法及びリソースデータ群のデータ構造
EP1870804A1 (en) * 2006-06-22 2007-12-26 Microsoft Corporation Dynamic software localization
JP6147070B2 (ja) * 2012-08-29 2017-06-14 キヤノン株式会社 情報処理装置、その方法及びプログラム

Also Published As

Publication number Publication date
JP2016206746A (ja) 2016-12-08

Similar Documents

Publication Publication Date Title
JP6319175B2 (ja) 画像形成装置及びプログラム
JP6390510B2 (ja) 画像形成装置及びプログラム
EP2639735B1 (en) Information processor and recording medium
US10275192B2 (en) Information processing apparatus, image processing system, and printer driver
US9417862B2 (en) Information processing apparatus, function extension method for information processing apparatus, and non-transitory computer-readable storage medium
KR20090105830A (ko) 원격 어플리케이션 구성 관리 방법 및 장치
US11140291B2 (en) Information processing apparatus, control method thereof, and storage medium
JP5608985B2 (ja) 画像処理装置、情報処理装置、ユーザインタフェース提供方法、画像処理システムおよびプログラム
JP6368151B2 (ja) 情報処理装置、アプリケーションの管理方法、およびプログラム
KR102125816B1 (ko) 정보 처리 장치, 컴퓨터 프로그램, 정보 처리 장치의 제어 방법
CN109660688B (zh) 信息处理装置及其控制方法
US9606761B2 (en) Information processing apparatus for controlling an output process and method for the same
JP6554890B2 (ja) 画像形成装置及びプログラム
JP6303667B2 (ja) プログラム、情報処理装置および情報処理システム
US10397429B2 (en) Printing software system with dynamic customization capability
JP7080061B2 (ja) 画像処理装置
JP5144624B2 (ja) 画像形成装置
US20210042131A1 (en) Information processing apparatus, method of controlling the same, and storage medium
JP2010067063A (ja) 情報処理装置及び情報処理方法とそのプログラム及びそのプログラムを記録した記録媒体
JP6308526B2 (ja) 画像処理装置、画像処理装置の制御方法、及びプログラム
JP2016018508A (ja) 画像形成装置及びその制御方法
JP2019070885A (ja) プリンタードライバー
JP2020038547A (ja) 情報処理装置およびその制御方法、並びにプログラム
JP2018112816A (ja) プリンタードライバーのアンインストール方法
JP2017010081A (ja) 情報処理装置およびその制御方法、並びにプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180319

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190110

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190624

R150 Certificate of patent or registration of utility model

Ref document number: 6554890

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150