(57)【要約】      （修正有）【課題】アプリケーションプログラムを容易に生成する。【解決手段】画像形成装置は、複数のアプリケーションインターフェース（ＡＰＩ）コマンドを取得する取得部６１と、画面テンプレートを決定する画面テンプレート決定部６５と、２以上のＡＰＩコマンドを選択するコマンド選択手段と、ＡＰＩコマンドが処理実行部５５により実行されて出力される表示データを表示するための領域に画面テンプレートの複数の表示領域のいずれかを設定する表示領域設定部６７と、ＡＰＩコマンドに入力データと出力データとをそれぞれ設定する入出力データ設定部６９と、を備え、入出力データ設定部６９は、第１のＡＰＩコマンドの出力データを、第２のＡＰＩコマンドの入力データに設定するコマンド関連付部７７を含む。【選択図】図６
2015022326.tif 000002
【特許請求の範囲】
【請求項１】
複数種類のハードウェア資源を制御する処理と、予め定められたデータ処理と、を実行可能な処理実行手段と、
前記処理実行手段との間で予め定められたアプリケーションインターフェースコマンドで記述されたアプリケーションプログラムを実行することにより、前記アプリケーションインターフェースコマンドにより特定される処理を前記処理実行手段に実行させるアプリケーション実行手段と、
前記アプリケーションプログラムを生成する生成手段と、を備え、
前記生成手段は、前記処理実行手段との間で予め定められた複数のアプリケーションインターフェースコマンドを取得する取得手段と、
複数の表示領域を含む画面テンプレートを決定する画面テンプレート決定手段と、
前記取得された複数のアプリケーションインターフェースコマンドのうちから２以上を選択するコマンド選択手段と、
前記選択された２以上のアプリケーションインターフェースコマンドそれぞれに対して、当該アプリケーションインターフェースコマンドが前記処理実行手段により実行されて前記処理実行手段が出力する表示データを表示するための領域に前記選択された画面テンプレートの複数の表示領域のいずれかを、設定する表示領域設定手段と、
前記選択された２以上のアプリケーションインターフェースコマンドそれぞれに対して、当該アプリケーションインターフェースコマンドが前記処理実行手段により実行される場合に、外部から入力される入力データと、外部に出力する出力データと、をそれぞれ設定する入出力データ設定手段と、を備え、
前記入出力データ設定手段は、前記選択された２以上のアプリケーションインターフェースコマンドそれぞれに対して、当該第１のアプリケーションインターフェースコマンドの出力データを、前記第１のアプリケーションインターフェースコマンドとは別の第２のアプリケーションインターフェースコマンドの入力データに設定することによって、当該第１のアプリケーションインターフェースコマンドと第２のアプリケーションインターフェースコマンドとを関連付けるコマンド関連付手段を含む、画像形成装置。
【請求項２】
前記入出力データ設定手段は、前記コマンド関連付手段により関連付けられた第１のアプリケーションインターフェースコマンドと第２のアプリケーションインターフェースコマンドとにおいて、前記第１のアプリケーションインターフェースコマンドの出力データのうちから前記第２のアプリケーションインターフェースコマンドの入力データの属性と同じ属性の出力データを抽出する処理を定めた第３のアプリケーションインターフェースコマンドを生成するコマンド生成手段を、さらに含む、請求項１に記載の画像形成装置。
【請求項３】
前記取得手段は、前記複数のアプリケーションインターフェースコマンドを、サーバーから取得する、請求項１または２に記載の画像形成装置。
【請求項４】
前記画面テンプレート決定手段は、サーバーから複数の画面テンプレートを取得する画面テンプレート取得手段と、
前記取得された複数の画面テンプレートのうちから１つを選択する指示を受け付ける選択指示受付手段と、を含む、請求項１〜３のいずれかに記載の画像形成装置。
【請求項５】
前記コマンド関連付手段は、前記画面テンプレートの前記複数の表示領域の第１の表示領域と、前記第１の表示領域とは異なる第２の表示領域との指定を受け付ける領域指定手段を含み、
前記領域指定手段により第１の表示領域および第２の表示領域が受け付けられることに応じて、前記第１の表示領域が設定された第１のアプリケーションインターフェースコマンドの出力データを、前記第２の表示領域が設定された第２のアプリケーションインターフェースコマンドの入力データに設定する、請求項１〜４のいずれかに記載の画像形成装置。
【請求項６】
前記生成手段は、前記第１のアプリケーションインターフェースコマンドが前記処理実行手段により実行された後に、前記第２のアプリケーションインターフェースコマンドを前記処理実行手段に実行させるタイミング決定手段を、さらに含む、請求項１〜５のいずれかに記載の画像形成装置。
【請求項７】
画像形成装置で実行されるアプリケーションプログラム生成方法であって、
前記画像形成装置は、
複数種類のハードウェア資源を制御する処理と、予め定められたデータ処理と、を実行可能な処理実行手段と、
前記処理実行手段との間で予め定められたアプリケーションインターフェースコマンドで記述されたアプリケーションプログラムを実行することにより、前記アプリケーションインターフェースコマンドにより特定される処理を前記処理実行手段に実行させるアプリケーション実行手段と、を備え、
前記処理実行手段との間で予め定められた複数のアプリケーションインターフェースコマンドを取得する取得ステップと、
複数の表示領域を含む画面テンプレートを決定する画面テンプレート決定ステップと、
前記取得された複数のアプリケーションインターフェースコマンドのうちから２以上を選択するコマンド選択ステップと、
前記選択された２以上のアプリケーションインターフェースコマンドそれぞれに対して、当該アプリケーションインターフェースコマンドが前記処理実行手段により実行されて前記処理実行手段が出力する表示データを表示するための領域に前記選択された画面テンプレートの複数の表示領域のいずれかを、設定する表示領域設定ステップと、
前記選択された２以上のアプリケーションインターフェースコマンドそれぞれに対して、当該アプリケーションインターフェースコマンドが前記処理実行手段により実行される場合に、外部から入力される入力データと、外部に出力する出力データと、をそれぞれ設定する入出力データ設定ステップと、を含み、
前記入出力データ設定ステップは、前記選択された２以上のアプリケーションインターフェースコマンドそれぞれに対して、当該第１のアプリケーションインターフェースコマンドの出力データを、前記第１のアプリケーションインターフェースコマンドとは別の第２のアプリケーションインターフェースコマンドの入力データに設定することによって、当該第１のアプリケーションインターフェースコマンドと第２のアプリケーションインターフェースコマンドとを関連付けるコマンド関連付ステップを含む、アプリケーションプログラム生成方法。
【請求項８】
画像形成装置を制御するコンピュータで実行されるアプリケーションプログラム生成プログラムであって、
前記コンピュータは、
複数種類のハードウェア資源を制御する処理と、予め定められたデータ処理と、を実行可能な処理実行手段と、
前記処理実行手段との間で予め定められたアプリケーションインターフェースコマンドで記述されたアプリケーションプログラムを実行することにより、前記アプリケーションインターフェースコマンドにより特定される処理を前記処理実行手段に実行させるアプリケーション実行手段と、を備え、
前記処理実行手段との間で予め定められた複数のアプリケーションインターフェースコマンドを取得する取得ステップと、
複数の表示領域を含む画面テンプレートを決定する画面テンプレート決定ステップと、
前記取得された複数のアプリケーションインターフェースコマンドのうちから２以上を選択するコマンド選択ステップと、
前記選択された２以上のアプリケーションインターフェースコマンドそれぞれに対して、当該アプリケーションインターフェースコマンドが前記処理実行手段により実行されて前記処理実行手段が出力する表示データを表示するための領域に前記選択された画面テンプレートの複数の表示領域のいずれかを、設定する表示領域設定ステップと、
前記選択された２以上のアプリケーションインターフェースコマンドそれぞれに対して、当該アプリケーションインターフェースコマンドが前記処理実行手段により実行される場合に、外部から入力される入力データと、外部に出力する出力データと、をそれぞれ設定する入出力データ設定ステップと、を前記コンピュータに実行させ、
前記入出力データ設定ステップは、前記選択された２以上のアプリケーションインターフェースコマンドそれぞれに対して、当該第１のアプリケーションインターフェースコマンドの出力データを、前記第１のアプリケーションインターフェースコマンドとは別の第２のアプリケーションインターフェースコマンドの入力データに設定することによって、当該第１のアプリケーションインターフェースコマンドと第２のアプリケーションインターフェースコマンドとを関連付けるコマンド関連付ステップを含む、アプリケーションプログラム生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は画像形成装置、アプリケーションプログラム生成方法およびアプリケーションプログラム生成プログラムに関し、特に、アプリケーションプログラムを実行可能な画像形成装置、その画像形成装置で実行されるアプリケーションプログラム生成方法およびアプリケーションプログラム生成プログラムに関する。
【背景技術】
【０００２】
近年、複合機（ＭＦＰ）で代表される画像形成装置は、アプリケーションプログラムを実行可能なものがある。このアプリケーションプログラムは、一般に公開されたＡＰＩコマンド（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）コマンドで記述される。公開とは、画像形成装置を製造するメーカー以外の第三者が使用可能な状態をいう。
【０００３】
しかしながら、ＡＰＩコマンドを用いてアプリケーションプログラムを作成するためには、ＡＰＩコマンドの仕様などを事前に知らなければならず、作成者に専門的な能力が要求される。
【０００４】
特開２０１３−０３３３０７号公報には、電子機器における動作制御に用いられ、複数の機能の組み合わせでなるワークフローを作成する情報処理装置であって、前記電子機器で実行可能な複数のワークフローを記憶するワークフロー記憶部と、前記ワークフロー記憶部に記憶されているワークフローの中から、当該ワークフロー作成作業を行う作業者により、結合の対象とする複数のワークフローを選択する選択指示を受け付けるワークフロー受付部と、前記ワークフロー記憶部に記憶されている各ワークフロー同士を結合可能とする条件を示す結合条件を記憶し、前記ワークフロー受付部によって受け付けられた複数のワークフロー同士が、当該結合条件に合致するか否かを判定する判定部と、前記判定部によって前記結合条件に合致すると判定された複数のワークフローを結合させて結合ワークフローを作成する結合部とを備える情報処理装置が記載されている。
【０００５】
しかしながら、従来の情報処理装置においては、結合条件を予め定めておかなければ、結合することができない。また、結合条件が満たされない合致しないワークフローを結合することができないので、結合ワークフローが限られた組み合わせに制限されるといった問題があった。また、先に実行されるワークフローの実行結果によっては、次のワークフローを実行することができない場合があるといった問題がある。
【特許文献１】特開２０１３−０３３３０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
この発明は上述した問題点を解決するためになされたもので、この発明の目的の１つは、アプリケーションプログラムを容易に生成することが可能な画像形成装置を提供することである。
【０００７】
この発明の他の目的は、アプリケーションプログラムを容易に生成することが可能なアプリケーションプログラム生成方法を提供することである。
【０００８】
この発明のさらに他の目的は、アプリケーションプログラムを容易に生成することが可能なアプリケーションプログラム生成プログラムを提供することである。
【課題を解決するための手段】
【０００９】
上述した目的を達成するためにこの発明のある局面によれば、画像形成装置は、複数種類のハードウェア資源を制御する処理と、予め定められたデータ処理と、を実行可能な処理実行手段と、処理実行手段との間で予め定められたアプリケーションインターフェースコマンドで記述されたアプリケーションプログラムを実行することにより、アプリケーションインターフェースコマンドにより特定される処理を処理実行手段に実行させるアプリケーション実行手段と、アプリケーションプログラムを生成する生成手段と、を備え、生成手段は、処理実行手段との間で予め定められた複数のアプリケーションインターフェースコマンドを取得する取得手段と、複数の表示領域を含む画面テンプレートを決定する画面テンプレート決定手段と、取得された複数のアプリケーションインターフェースコマンドのうちから２以上を選択するコマンド選択手段と、選択された２以上のアプリケーションインターフェースコマンドそれぞれに対して、当該アプリケーションインターフェースコマンドが処理実行手段により実行されて処理実行手段が出力する表示データを表示するための領域に選択された画面テンプレートの複数の表示領域のいずれかを、設定する表示領域設定手段と、選択された２以上のアプリケーションインターフェースコマンドそれぞれに対して、当該アプリケーションインターフェースコマンドが処理実行手段により実行される場合に、外部から入力される入力データと、外部に出力する出力データと、をそれぞれ設定する入出力データ設定手段と、を備え、入出力データ設定手段は、選択された２以上のアプリケーションインターフェースコマンドそれぞれに対して、当該第１のアプリケーションインターフェースコマンドの出力データを、第１のアプリケーションインターフェースコマンドとは別の第２のアプリケーションインターフェースコマンドの入力データに設定することによって、当該第１のアプリケーションインターフェースコマンドと第２のアプリケーションインターフェースコマンドとを関連付けるコマンド関連付手段を含む。
【００１０】
この局面に従えば、予め定められた複数のアプリケーションインターフェースコマンドを取得し、画面テンプレートを決定し、複数のアプリケーションインターフェースコマンドのうちから選択された２以上のアプリケーションインターフェースコマンドそれぞれに対して、表示データを表示するための領域に画面テンプレートの複数の表示領域のいずれかを設定し、選択された２以上のアプリケーションインターフェースコマンドそれぞれに対して、当該第１のアプリケーションインターフェースコマンドの出力データを、第２のアプリケーションインターフェースコマンドの入力データに設定する。このため、画面テンプレートを用いて２以上のアプリケーションインターフェースコマンドを互いに関連付けることによって、複数のアプリケーションインターフェースコマンドを含むアプリケーションプログラムを生成することができる。その結果、アプリケーションプログラムを容易に生成することが可能な画像形成装置を提供することができる。
【００１１】
好ましくは、入出力データ設定手段は、コマンド関連付手段により関連付けられた第１のアプリケーションインターフェースコマンドと第２のアプリケーションインターフェースコマンドとにおいて、第１のアプリケーションインターフェースコマンドの出力データのうちから第２のアプリケーションインターフェースコマンドの入力データの属性と同じ属性の出力データを抽出する処理を定めた第３のアプリケーションインターフェースコマンドを生成するコマンド生成手段を、さらに含む。
【００１２】
この局面に従えば、第１のアプリケーションインターフェースコマンドの出力データのうちから第２のアプリケーションインターフェースコマンドの入力データの属性と同じ属性の出力データを抽出する処理を定めた第３のアプリケーションインターフェースコマンドを生成するので、第２のアプリケーションインターフェースコマンドを確実に実行させることができる。その結果、２つのアプリケーションインターフェースコマンドを容易に関連付けすることができる。
【００１３】
好ましくは、取得手段は、複数のアプリケーションインターフェースコマンドを、サーバーから取得する。
【００１４】
このため、アプリケーションインターフェースコマンドをサーバーで管理することができるので、アプリケーションインターフェースコマンドの変更が容易である。
【００１５】
好ましくは、画面テンプレート決定手段は、サーバーから複数の画面テンプレートを取得する画面テンプレート取得手段と、取得された複数の画面テンプレートのうちから１つを選択する指示を受け付ける選択指示受付手段と、を含む。
【００１６】
この局面に従えば、画面テンプレートをサーバーに記憶するので、画面テンプレートの追加、変更、削除が容易となる。
【００１７】
好ましくは、コマンド関連付手段は、画面テンプレートの複数の表示領域の第１の表示領域と、第１の表示領域とは異なる第２の表示領域との指定を受け付ける領域指定手段を含み、領域指定手段により第１の表示領域および第２の表示領域が受け付けられることに応じて、第１の表示領域が設定された第１のアプリケーションインターフェースコマンドの出力データを、第２の表示領域が設定された第２のアプリケーションインターフェースコマンドの入力データに設定する。
【００１８】
この局面に従えば、２つのアプリケーションプログラムを関連付けるための操作を容易にすることができる。
【００１９】
好ましくは、生成手段は、第１のアプリケーションインターフェースコマンドが処理実行手段により実行された後に、第２のアプリケーションインターフェースコマンドを処理実行手段に実行させるタイミング決定手段を、さらに含む。
【００２０】
この局面に従えば、２つのアプリケーションインターフェースコマンドを実行するタイミングを決定するので、確実に実行されるアプリケーションプログラムを生成することができる。
【００２１】
この発明の他の局面によれば、アプリケーションプログラム生成方法は、画像形成装置で実行されるアプリケーションプログラム生成方法であって、画像形成装置は、複数種類のハードウェア資源を制御する処理と、予め定められたデータ処理と、を実行可能な処理実行手段と、処理実行手段との間で予め定められたアプリケーションインターフェースコマンドで記述されたアプリケーションプログラムを実行することにより、アプリケーションインターフェースコマンドにより特定される処理を処理実行手段に実行させるアプリケーション実行手段と、を備え、処理実行手段との間で予め定められた複数のアプリケーションインターフェースコマンドを取得する取得ステップと、複数の表示領域を含む画面テンプレートを決定する画面テンプレート決定ステップと、取得された複数のアプリケーションインターフェースコマンドのうちから２以上を選択するコマンド選択ステップと、選択された２以上のアプリケーションインターフェースコマンドそれぞれに対して、当該アプリケーションインターフェースコマンドが処理実行手段により実行されて処理実行手段が出力する表示データを表示するための領域に選択された画面テンプレートの複数の表示領域のいずれかを、設定する表示領域設定ステップと、選択された２以上のアプリケーションインターフェースコマンドそれぞれに対して、当該アプリケーションインターフェースコマンドが処理実行手段により実行される場合に、外部から入力される入力データと、外部に出力する出力データと、をそれぞれ設定する入出力データ設定ステップと、を含み、入出力データ設定ステップは、選択された２以上のアプリケーションインターフェースコマンドそれぞれに対して、当該第１のアプリケーションインターフェースコマンドの出力データを、第１のアプリケーションインターフェースコマンドとは別の第２のアプリケーションインターフェースコマンドの入力データに設定することによって、当該第１のアプリケーションインターフェースコマンドと第２のアプリケーションインターフェースコマンドとを関連付けるコマンド関連付ステップを含む。
【００２２】
この局面に従えば、アプリケーションプログラムを容易に生成することが可能なアプリケーションプログラム生成方法を提供することができる。
【００２３】
この発明のさらに他の局面によれば、アプリケーションプログラム生成プログラムは、画像形成装置を制御するコンピューターで実行されるアプリケーションプログラム生成プログラムであって、コンピューターは、複数種類のハードウェア資源を制御する処理と、予め定められたデータ処理と、を実行可能な処理実行手段と、処理実行手段との間で予め定められたアプリケーションインターフェースコマンドで記述されたアプリケーションプログラムを実行することにより、アプリケーションインターフェースコマンドにより特定される処理を処理実行手段に実行させるアプリケーション実行手段と、を備え、処理実行手段との間で予め定められた複数のアプリケーションインターフェースコマンドを取得する取得ステップと、複数の表示領域を含む画面テンプレートを決定する画面テンプレート決定ステップと、取得された複数のアプリケーションインターフェースコマンドのうちから２以上を選択するコマンド選択ステップと、選択された２以上のアプリケーションインターフェースコマンドそれぞれに対して、当該アプリケーションインターフェースコマンドが処理実行手段により実行されて処理実行手段が出力する表示データを表示するための領域に選択された画面テンプレートの複数の表示領域のいずれかを、設定する表示領域設定ステップと、選択された２以上のアプリケーションインターフェースコマンドそれぞれに対して、当該アプリケーションインターフェースコマンドが処理実行手段により実行される場合に、外部から入力される入力データと、外部に出力する出力データと、をそれぞれ設定する入出力データ設定ステップと、をコンピューターに実行させ、入出力データ設定ステップは、選択された２以上のアプリケーションインターフェースコマンドそれぞれに対して、当該第１のアプリケーションインターフェースコマンドの出力データを、第１のアプリケーションインターフェースコマンドとは別の第２のアプリケーションインターフェースコマンドの入力データに設定することによって、当該第１のアプリケーションインターフェースコマンドと第２のアプリケーションインターフェースコマンドとを関連付けるコマンド関連付ステップを含む。
【００２４】
この局面に従えば、アプリケーションプログラムを容易に生成することが可能なアプリケーションプログラム生成プログラムを提供することができる。
【図面の簡単な説明】
【００２５】
【図１】本実施の形態の一つにおける画像形成システムの全体概要の一例を示す図である。
【図２】ＭＦＰの外観を示す斜視図である。
【図３】操作パネルの一例を示す平面図である。
【図４】ＭＦＰのハードウェア構成の概要の一例を示すブロック図である。
【図５】ＭＦＰが備えるＣＰＵのソフトウェアアーキテクチャの一例を示す図である。
【図６】ＭＦＰが備えるＣＰＵが有する機能の一例を示すブロック図である。
【図７】設定画面の一例を示す図である。
【図８】アプリケーションプログラム生成処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【００２６】
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００２７】
図１は、本実施の形態の一つにおける画像形成システムの全体概要の一例を示す図である。図１を参照して、画像形成システムは、画像形成装置として機能するＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）１００と、サーバー２００と、を含む。ＭＦＰ１００と、サーバー２００とは、ネットワーク５に接続され、互いに通信可能である。
【００２８】
ネットワーク５は、インターネットであり、接続形態は有線または無線を問わない。また、ネットワーク５は、インターネットに限らず、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、公衆交換電話網（ＰＳＴＮ）等であってもよい。
【００２９】
サーバー２００は、一般的なコンピューターである。そのハードウェア構成および機能は周知なので、ここでは説明を繰り返さない。サーバー２００は、ＭＦＰ１００を製造するメーカー等により管理され、ＭＦＰ１００で実行されるアプリケーションインターフェースコマンドを記憶している。アプリケーションインターフェースコマンドは、ＡＰＩコマンド（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）コマンドとして、公開されたコマンドである。以下、アプリケーションインターフェースコマンドを単に「ＡＰＩコマンド」という。公開とは、ＭＦＰ１００を製造するメーカー以外の第三者が使用可能な状態をいう。このため、第三者は、ＡＰＩコマンドを用いてＭＦＰ１００にインストール可能なアプリケーションプログラムを開発することができる。
【００３０】
図２は、ＭＦＰの外観を示す斜視図である。図３は、操作パネルの一例を示す平面図である。図２および図３を参照して、ＭＦＰ１００は、原稿を読み取るための原稿読取部１３０と、原稿を原稿読取部１３０に搬送するための自動原稿搬送装置１２０と、原稿読取部１３０が原稿を読み取って出力する画像データに基づいて用紙等に画像を形成するための画像形成部１４０と、画像形成部１４０に用紙を供給するための給紙部１５０と、ユーザーインターフェースとしての操作パネル１６０とを含む。
【００３１】
操作パネル１６０は、ＭＦＰ１００の上面に設けられる。操作パネル１６０は、表示部１６１と、タッチパネル１６５と、ハードキー部１６７とを含む。表示部１６１は、例えば、液晶表示装置（ＬＣＤ）であり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。ユーザーがＭＦＰ１００を操作する場合は直立した姿勢となるので、表示部１６１の表示面およびタッチパネル１６５の操作面は、上方を向いて配置される。ユーザーが表示部１６１の表示面を容易に視認することができ、ユーザーが指でタッチパネルを指示する動作を容易にするためである。
【００３２】
ハードキー部１６７は、「ＢＯＸ」、「ＦＡＸ」、「ＣＯＰＹ」、「ＥＣＯ」の文字がそれぞれ表された４つのハードキー１６７Ａ〜１６７Ｄを含む。タッチパネル１６５は、表示部１６１の上面または下面に表示部１６１に重畳して設けられたマルチタッチ対応のタッチパネルであり、表示部１６１の表示面中でユーザーにより指示された位置を検出する。ユーザーがタッチパネル１６５を指示する操作は、タッチパネル１６５を、同時に複数個所を指で指示するマルチタッチ操作と、一度に１つの個所を指で指示するシングルタッチ操作と、を含む。
【００３３】
自動原稿搬送装置１２０は、原稿給紙トレイ上にセットされた複数枚の原稿を１枚ずつ自動的に原稿読取部１３０のプラテンガラス上に設定された所定の原稿読み取り位置まで搬送し、原稿読取部１３０により原稿画像が読み取られた原稿を原稿排紙トレイ上に排出する。原稿読取部１３０は、原稿読取位置に搬送されてきた原稿に光を照射する光源と、原稿で反射した光を受光する光電変換素子とを含み、原稿のサイズに応じた原稿画像を走査する。光電変換素子は、受光した光を電気信号である画像データに変換して、画像形成部１４０に出力する。給紙部１５０は、給紙トレイに収納された用紙を画像形成部１４０に搬送する。
【００３４】
画像形成部１４０は、周知の電子写真方式により画像を形成するものであって、原稿読取部１３０から入力される画像データにシェーディング補正などの各種のデータ処理を施した、データ処理後の画像データまたは、外部から受信された画像データに基づいて、給紙部１５０により搬送される用紙に画像を形成する。
【００３５】
図４は、ＭＦＰのハードウェア構成の概要の一例を示すブロック図である。図４を参照して、ＭＦＰ１００は、メイン回路１１０を含む。メイン回路１１０は、ＣＰＵ１１１と、通信インターフェース（Ｉ／Ｆ）部１１２と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１１３と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１４と、大容量記憶装置としてのハードディスクドライブ（ＨＤＤ）１１５と、ファクシミリ部１１６と、外部記憶装置１１７と、を含む。ＣＰＵ１１１は、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０、給紙部１５０および操作パネル１６０と接続され、ＭＦＰ１００の全体を制御する。
【００３６】
ＲＯＭ１１３は、ＣＰＵ１１１が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。ＲＡＭ１１４は、ＣＰＵ１１１がプログラムを実行する際の作業領域として用いられる。また、ＲＡＭ１１４は、原稿読取部１３０から連続的に送られてくる読取画像を一時的に記憶する。
【００３７】
ファクシミリ部１１６は、公衆交換電話網（ＰＳＴＮ）に接続され、ＰＳＴＮにファクシミリデータを送信する、またはＰＳＴＮからファクシミリデータを受信する。ファクシミリ部１１６は、受信したファクシミリデータを、ＨＤＤ１１５に記憶するか、または、画像形成部１４０でプリント可能なプリントデータに変換して、画像形成部１４０に出力する。これにより、画像形成部１４０は、ファクシミリ部１１６により受信されたファクシミリデータを用紙に画像を形成する。また、ファクシミリ部１１６は、原稿読取部１３０によって読み取られたデータ、またはＨＤＤ１１５に記憶されたデータをファクシミリデータに変換して、ＰＳＴＮに接続されたファクシミリ装置に送信する。
【００３８】
通信Ｉ／Ｆ部１１２は、ネットワーク５にＭＦＰ１００を接続するためのインターフェースである。通信Ｉ／Ｆ部１１２は、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）またはＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）等の通信プロトコルで、ネットワークに接続された他のコンピューターと通信する。なお、通信のためのプロトコルは、特に限定されることはなく、任意のプロトコルを用いることができる。
【００３９】
外部記憶装置１１７は、ＣＰＵ１１１により制御され、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１１８、または半導体メモリーが装着される。ＣＰＵ１１１は、外部記憶装置１１７を介してＣＤ−ＲＯＭ１１８または半導体メモリーにアクセス可能である。ＣＰＵ１１１は、外部記憶装置１１７に装表されたＣＤ−ＲＯＭ１１８に記録されたプログラムをＲＡＭ１１４にロードして実行する。なお、ＣＰＵ１１１が実行するプログラムは、ＣＤ−ＲＯＭ１１８に記録されたプログラムに限られず、ＨＤＤ１１５に記憶されたプログラムをＲＡＭ１１４にロードして実行するようにしてもよい。この場合、通信Ｉ／Ｆ部１１２に接続されるネットワークを介して、ネットワークに接続された他のコンピューターが、ＭＦＰ１００のＨＤＤ１１５に記憶されたプログラムを書換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、ＭＦＰ１００が、ネットワークに接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをＨＤＤ１１５に記憶するようにしてもよい。ここでいうプログラムは、ＣＰＵ１１１が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【００４０】
なお、ＣＰＵ１１１が実行するプログラムを記憶する媒体としては、ＣＤ−ＲＯＭ１１８に限られず、光ディスク（ＭＯ（Ｍａｇｎｅｔｉｃ  Ｏｐｔｉｃａｌ  Ｄｉｓｃ）／ＭＤ（Ｍｉｎｉ  Ｄｉｓｃ）／ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ））、ＩＣカード、光カード、マスクＲＯＭ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍａｂｌｅ  ＲＯＭ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  ＥＰＲＯＭ）などの半導体メモリーであってもよい。
【００４１】
操作パネル１６０は、表示部１６１と操作部１６３とを含む。表示部１６１は、液晶表示装置（ＬＣＤ）、有機ＥＬＤ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ  Ｄｉｓｐｌａｙ）等のディスプレイであり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。操作部１６３は、タッチパネル１６５と、複数のキーからなるハードキー部１６７と、を含む。ハードキー部１６７が含む複数のキーそれぞれは、接点スイッチを含み、ＣＰＵ１１１に接続される。ハードキーは、操作ユーザーにより押下されると接点を閉じて、ＣＰＵ１１１に接続される回路を閉じる。ハードキーは、ＭＦＰ１００を操作する操作ユーザーにより押下されている間は回路を閉じ、操作ユーザーにより押下されていない間は回路を開く。
【００４２】
操作部１６３は、ハードキー部１６７が有する複数のキーが押下されると、押下されたキーに対応する指示、文字、数字などのデータの入力を受け付ける。タッチパネル１６５は、表示部１６１の上面または下面に設けられ、操作ユーザーにより指示された位置の座標をＣＰＵ１１１に出力する。タッチパネル１６５は、操作ユーザーが指またはスタイラスペンで指示した位置を検出し、検出した位置の座標をＣＰＵ１１１に出力する。タッチパネル１６５は、マルチタッチ対応のタッチパネルであり、ユーザーがマルチタッチ操作を入力する場合、ユーザーにより同時に指示された複数の位置にそれぞれ対応する複数の座標をＣＰＵ１１１に出力する。また、タッチパネル１６５は、ユーザーがシングルタッチ操作を入力する場合に、ユーザーにより指示された単一の位置に対応する座標をＣＰＵ１１１に出力する。
【００４３】
タッチパネル１６５は、表示部１６１の表示面と同じまたはそれ以上のサイズであるのが好ましい。タッチパネル１６５は、表示部１６１に重畳して設けられるので、タッチパネル１６５は、操作ユーザーが表示部１６１の表示面を指示すれば、表示部１６１の表示面中で操作ユーザーが指示した位置の座標をＣＰＵ１１１に出力する。タッチパネル１６５は、例えば、抵抗膜方式、表面弾性波方式、赤外線方式、電磁誘導方式、静電容量方式を用いることができ、その方式は限定されない。操作部１６３が受け付け可能な操作は、ハードキー部１６７が有する複数のキーを押下する操作、タッチパネル１６５を指示するシングルタッチ操作およびマルチタッチ操作を含む。
【００４４】
図５は、ＭＦＰが備えるＣＰＵのソフトウェアアーキテクチャの一例を示す図である。図５を参照して、ＣＰＵ１１１には、オペレーティングシステム（ＯＳ）層が形成され、その上の階層に、ＭＦＰプロセス層が形成される。ＭＦＰプロセス層の上層に、アプリケーションプラットフォーム（ＰＦ）層、アプリケーション層の順に形成される。
【００４５】
ＯＳ層は、ＣＰＵ１１１がＯＳプログラムを実行するタスクが属する。ＯＳ層に属するタスクは、ＭＦＰ１００のハードウェア資源を制御する処理を実行する。ハードウェア資源は、ここでは、通信Ｉ／Ｆ部１１２、ＲＯＭ１１３、ＲＡＭ１１４、ＨＤＤ１１５、ファクシミリ部１１６、外部記憶装置１１７、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０、給紙部１５０、操作パネル１６０を含む。ＯＳ層に属するタスクは、ＭＦＰプロセス層から入力されるオペレーティングコマンドに従って、ハードウェア資源を制御する。また、ＯＳ層は、ＭＦＰプロセス層との間で、ハードウェア資源の１つである操作部１６３が受け付け可能な複数種類の操作それぞれを識別するための操作識別情報を共有しており、ＯＳ層に属するタスクは、操作部１６３によって操作ユーザーによる操作が検出されることに応じて、検出された操作を示す操作識別情報をＭＦＰプロセス層に出力する。
【００４６】
アプリケーション層は、ＣＰＵ１１１がアプリケーションプログラムを実行するタスクが属する。複数種類のアプリケーションプログラムがＭＦＰ１００にインストールされる場合、アプリケーション層に、複数種類のアプリケーションプログラムをそれぞれ実行する複数のタスクが属する場合がある。
【００４７】
アプリケーションプログラムを実行するタスクは、アプリケーションプログラムによって定められた複数種類の処理を実行する。複数種類の処理は、ＭＦＰプロセス層において実行される処理をＭＦＰプロセス層に属するタスクに実行させる処理を含む。アプリケーションプログラムを実行するタスクは、ＭＦＰプロセス層に属するタスクに処理を実行させる場合、ＡＰＩコマンドを出力する。
【００４８】
さらに、アプリケーションプログラムを実行するタスクは、ＭＦＰ１００を操作する操作ユーザーが入力する操作に基づいて、アプリケーションプログラムによって定められた複数種類の処理のうちから実行する処理を特定し、処理を実行する。ＭＦＰ１００を操作する操作ユーザーが入力する操作は、操作ユーザーが操作部１６３を操作して入力することにより、ＯＳ層において受け付けられる。
【００４９】
アプリケーションＰＦ層は、アプリケーション層とＭＦＰプロセス層との間に配置され、ＣＰＵ１１１がＭＦＰプロセスプログラムを実行するタスクが属する。アプリケーションＰＦ層は、アプリケーション層に属する複数のタスクを調停するとともに、アプリケーション層に属する複数のタスクが出力するＡＰＩコマンドを制御するタスクが属する。具体的には、アプリケーションＰＦ層は、アプリケーション層に属する複数のタスクそれぞれが出力するＡＰＩコマンドを受け付け、受け付けられたＡＰＩコマンドを、予め定められた規則に従って内部コマンドに変換することにより標準化し、内部コマンドをＭＦＰプロセス層に出力する。このため、複数のアプリケーションプログラム間で、バージョンが異なる場合等に対応することができる。また、アプリケーションＰＦ層は、アプリケーション層に属する複数のタスクのいずれか１つをカレント状態に決定する。そして、ＯＳ層において受け付けられ、ＭＦＰプロセス層に属するタスクから入力される操作を、アプリケーション層に属する複数のタスクのうちカレント状態に決定したカレントタスクに出力する。
【００５０】
ＡＰＩコマンドと内部コマンドとは予め対応付けられている。例えば、ＡＰＩコマンドと内部コマンドとを対応付けたコマンド対応テーブルを記憶しておくようにすればよい。ＡＰＩコマンドと内部コマンドとは、１対１に対応してもよいし、１つのＡＰＩコマンドに２以上の内部コマンドの組が対応していてもよい。さらに、バージョンの異なる複数のＡＰＩコマンドに対して、１つの内部コマンド、または複数の内部コマンドからなる１組が対応していてもよい。このため、複数のアプリケーションプログラム間で、バージョンが異なる場合等に対応することができる。内部コマンドは、ＭＦＰ１００のハードウェア資源に依存するコマンドである。内部コマンドは、通常は、公開されていないが、公開されていてもよい。
【００５１】
ＭＦＰプロセス層は、アプリケーションＰＦ層とＯＳ層との間に配置され、ＣＰＵ１１１が、アプリケーションＰＦ層と同様にＭＦＰ制御プログラムを実行するタスクが属する。ＭＦＰプロセス層は、アプリケーションＰＦ層に属するタスクが出力する内部コマンドを、ＯＳ層に属するタスクが解釈可能なオペレーティングコマンドに変換し、ハードウェア資源を制御するためにオペレーティングコマンドをＯＳ層に属するタスクに出力する。なお、実際には、内部コマンドを、ＯＳ層に属するタスクが実行可能な１以上のオペレーティングコマンドに変換する場合があるが、ここでは説明のために、内部コマンドとＯＳ層に属するタスクが実行可能な１以上のオペレーティングコマンドとの関係は１対１として、説明する。
【００５２】
上述したように、アプリケーションプログラムは、ＭＦＰ１００に、Ｗｅｂページ、画像データ等のコンテンツを表示するコンテンツ表示処理、コピー処理、スキャン処理、プリント処理、ファクシミリ送受信処理、データ送信処理、データを記憶する処理、データを読み出しする処理、画像データを加工する画像処理等を実行させるためのアプリケーションプログラムである。
【００５３】
図６は、ＭＦＰが備えるＣＰＵが有する機能の一例を示すブロック図である。図６に示す機能は、ＭＦＰ１００が備えるＣＰＵ１１１が、ＲＯＭ１１３、ＨＤＤ１１５またはＣＤ−ＲＯＭ１１８に記憶されたプログラムを実行することにより、ＣＰＵ１１１により実現される機能である。具体的には、ＣＰＵ１１１が、ＯＳプログラム、ＭＦＰ制御プログラム、およびアプリケーションプログラムを実行することにより、ＣＰＵ１１１により実現される。
【００５４】
図６を参照して、ＣＰＵ１１１は、アプリケーションプログラムを生成する生成部５１と、アプリケーションプログラムを実行するアプリケーション実行部５３と、処理実行部５５と、を含む。生成部５１およびアプリケーション実行部５３は、図５に示したソフトウェアアーキテクチャにおいてアプリケーション層に属する。処理実行部５５は、図５に示したソフトウェアアーキテクチャにおいて、アプリケーションＰＦ層、ＭＦＰプロセス層およびＯＳ層に属する。
【００５５】
生成部５１は、ＡＰＩコマンドを取得する取得部６１と、複数のＡＰＩコマンドのうちから２以上を選択するコマンド選択部６３と、画面テンプレートを決定する画面テンプレート決定部６５と、表示領域設定部６７と、入出力データ設定部６９と、タイミング決定部７１と、を含む。
【００５６】
取得部６１は、ＡＰＩコマンドをサーバー２００から取得する。取得部６１は、通信Ｉ／Ｆ部１１２を制御して、サーバー２００にＡＰＩコマンドの取得要求を送信する。ＨＤＤ１１５に、サーバー２００のネットワークアドレスを予め記憶しており、そのネットワークアドレス宛にＡＰＩコマンドの取得要求を送信する。ＡＰＩコマンドの取得要求は、ＭＦＰ１００を識別するための装置識別情報を含む。この装置識別情報は、具体的には、ＭＦＰ制御プログラムのバージョン番号を含むと好ましい。ＡＰＩコマンドの取得要求を受信するサーバー２００は、取得要求に含まれる装置識別情報で特定される装置に対応をするＡＰＩコマンドを返信する。例えば、ＭＦＰ制御プログラムのバージョン番号に対応するＡＰＩコマンドを返信する。取得部６１は、通信Ｉ／Ｆ部１１２がサーバー２００からＡＰＩコマンドを受信すると、受信されたＡＰＩコマンドを取得する。取得部６１は、取得されたＡＰＩコマンドをコマンド選択部６３に出力する。
【００５７】
コマンド選択部６３は、取得部６１から複数のＡＰＩコマンドが入力され、複数のＡＰＩコマンドのうちからユーザーにより指示された２以上のＡＰＩコマンドを選択する。具体的には、表示部１６１に、複数のＡＰＩコマンドの一覧を表示し、ユーザーが操作部１６３に入力する指示により特定されるＡＰＩコマンドを選択する。コマンド選択部６３は、ユーザーにより選択された２つ以上のＡＰＩコマンドを表示領域設定部６７に出力する。
【００５８】
画面テンプレート決定部６５は、画面テンプレート取得部７３と、選択指示受付部７５とを含む。画面テンプレート取得部７３は複数の画面テンプレートをサーバー２００から取得する。画面テンプレートは、複数の表示領域を含み、１つの画面に複数の表示領域それぞれを配置する位置を定める。画面テンプレート取得部７３は、通信Ｉ／Ｆ部１１２を制御して、サーバー２００に画面テンプレートの取得要求を送信する。画面テンプレートの取得要求を受信するサーバー２００は、それが備えるＨＤＤに予め記憶された複数の画面テンプレートを返信する。画面テンプレート取得部７３は、通信Ｉ／Ｆ部１１２がサーバー２００から複数の画面テンプレートを受信すると、受信された複数の画面テンプレートを取得する。画面テンプレート取得部７３は、取得された複数の画面テンプレートを選択指示受付部７５に出力する。なお、複数の画面テンプレートをＨＤＤ１１５に記憶しておき、画面テンプレート取得部７３がＨＤＤ１１５から複数の画面テンプレートを読み出すようにしてもよい。
【００５９】
選択指示受付部７５は、画面テンプレート取得部７３から複数の画面テンプレートが入力され、複数の画面テンプレートのうちから１つの画面テンプレートを選択する指示を受け付ける。具体的には、表示部１６１に、複数の画面テンプレートの一覧を表示し、ユーザーが操作部１６３に複数の画面テンプレートのうちから１つを選択する選択指示を受け付ける。選択指示受付部７５は、ユーザーによる選択指示を受け付けると、複数の画面テンプレートのうちから選択指示により特定される画面テンプレートを表示領域設定部６７に出力する。
【００６０】
表示領域設定部６７は、コマンド選択部６３から２以上のＡＰＩコマンドが入力され、選択指示受付部７５から１つの画面テンプレートが入力される。表示領域設定部６７は、コマンド選択部６３から入力される２以上のＡＰＩコマンドそれぞれに対して、そのＡＰＩコマンドがアプリケーション実行部５３により実行されて処理実行部５５が出力する表示データを表示するための領域に、選択指示受付部７５から入力される画面テンプレートに含まれる複数の表示領域のいずれかを、設定する。
【００６１】
具体的には、表示部１６１に、設定画面を表示部１６１に表示する。設定画面は、選択指示受付部７５から入力される画面テンプレートと、コマンド選択部６３から入力される２以上のＡＰＩコマンドを選択可能なコマンド識別情報の一覧とを含む。ユーザーが操作部１６３に、設定画面に中の選択可能に表示された２以上のＡＰＩコマンドのコマンド識別情報のいずれかをドラッグする操作と、ドラッグされたコマンド識別情報を画面テンプレートに含まれる複数の領域のいずれかにドロップする操作と、を入力すれば、表示領域設定部６７は、ドラッグする操作によりコマンド識別情報を特定し、ドロップする操作により表示領域を特定する。表示領域設定部６７は、特定されたコマンド識別情報で識別されるＡＰＩコマンドに対して、表示データを特定された表示領域に表示する設定をする。表示領域設定部６７は、２以上のＡＰＩコマンドそれぞれに対して、ＡＰＩコマンドと表示領域との組と、画面テンプレートとを入出力データ設定部６９に出力する。
【００６２】
図７は、設定画面の一例を示す図である。図７を参照して、設定画面３００は、画面テンプレート３１０と、コマンド識別情報の一覧を表示する領域３２０と、を含む。画面テンプレート３１０は、第１表示領域３１１と、第２表示領域３１２と、第３表示領域３１３と、を含む。コマンド識別情報の一覧を表示する領域３２０に、リスト表示ＡＰＩコマンドのコマンド識別情報３２１、サムネイル表示ＡＰＩコマンドのコマンド識別情報３２２、画像処理ＡＰＩコマンドのコマンド識別情報３２３と、を含む。
【００６３】
ユーザーが、リスト表示ＡＰＩコマンドのコマンド識別情報３２１をドラッグし、第１表示領域３１１にドロップすれば、リスト表示ＡＰＩコマンドの表示データを表示するための表示領域に第１表示領域３１１を設定する。ユーザーが、サムネイル表示ＡＰＩコマンドのコマンド識別情報３２２をドラッグし、第２表示領域３１２にドロップすれば、サムネイル表示ＡＰＩコマンドの表示データを表示するための表示領域に第２表示領域３１２を設定する。さらに、ユーザーが、画像処理ＡＰＩコマンドのコマンド識別情報３２３をドラッグし、第３表示領域３１３にドロップすれば、画像処理ＡＰＩコマンドの表示データを表示するための表示領域に第３表示領域３１３を設定する。
【００６４】
以下の説明では、リスト表示ＡＰＩコマンドの表示領域に第１表示領域３１１が設定され、サムネイル表示ＡＰＩコマンドの表示領域に第２表示領域３１２が設定され、画像処理ＡＰＩコマンドの表示領域に第３表示領域３１３が設定される場合を例に説明する。
【００６５】
図６に戻って、表示領域設定部６７は、リスト表示ＡＰＩコマンドの表示領域に第１表示領域３１１が設定され、サムネイル表示ＡＰＩコマンドの表示領域に第２表示領域３１２が設定され、画像処理ＡＰＩコマンドの表示領域に第３表示領域３１３が設定される場合、リスト表示ＡＰＩコマンドと第１表示領域３１１の組、サムネイル表示ＡＰＩコマンドと第２表示領域３１２の組、および画像処理ＡＰＩコマンドと第３表示領域３１３の組、および画面テンプレート３１０とを入出力データ設定部６９に出力する。
【００６６】
リスト表示ＡＰＩコマンドは、ＨＤＤ１１５が有するフォルダまたは、そのフォルダに記憶されたファイルの一覧を表示する処理を実行する。フォルダは、ＨＤＤ１１５が有する複数の記憶領域の１つである。ＨＤＤ１１５に記憶されるデータは、複数のフォルダのいずれかに分類され、ファイルとして記憶される。リスト表示ＡＰＩコマンドの入力データは、フォルダを識別するためのフォルダ識別情報またはデータである。例えば、リスト表示ＡＰＩコマンドを、フォルダ識別情報「フォルダＡ」を入力データとして実行させると、フォルダ識別情報「フォルダＡ」に分類されたフォルダのフォルダ識別情報および／またはファイルを識別するためのファイル識別情報を一覧表示する一覧画面を、第１表示領域３１１に表示する。
【００６７】
また、リスト表示ＡＰＩコマンドを、ファイル識別情報「ファイルＣ」で特定されるデータを入力データとして実行させると、データにファイル識別情報「ファイルＣ」を付与して、カレント状態のフォルダに分類してＨＤＤ１１５に記憶するとともに、カレント状態のフォルダに分類されたフォルダのフォルダ識別情報および／またはファイルのファイル識別情報を一覧表示する一覧画面を、第１表示領域３１１に表示する。
【００６８】
さらに、リスト表示ＡＰＩコマンドは、第１表示領域３１１に表示された一覧画面に含まれるフォルダ識別情報がユーザーにより指示されると、指示されたフォルダ識別情報に分類された１以上のファイルをそれぞれ識別するためのファイル識別情報を、出力データとして出力する。また、リスト表示ＡＰＩコマンドは、第１表示領域３１１に表示された一覧画面に含まれるファイル識別情報がユーザーにより指示されると、指示されたファイル識別情報を、出力データとして出力する。ファイル識別情報は、フォルダ識別情報を含み、ＨＤＤ１１５に記憶されたデータを、特定可能である。
【００６９】
また、サムネイル表示ＡＰＩコマンドは、画像データを縮小した縮小画像であるサムネイルを表示する処理を実行する。サムネイル表示ＡＰＩコマンドの入力データは、フォルダ識別情報またはファイル識別情報である。例えば、サムネイル表示ＡＰＩコマンドを、フォルダ識別情報「フォルダＢ」を入力データとして実行させると、フォルダ識別情報「フォルダＢ」に記憶された１以上のデータのサムネイルを、第２表示領域３１２に表示する。また、サムネイル表示ＡＰＩコマンドを、ファイル識別情報「ファイルＡ」を入力データとして実行させると、ファイル識別情報「ファイルＡ」で特定されるデータのサムネイルを、第２表示領域３１２に表示する。さらに、サムネイル表示ＡＰＩコマンドは、第２表示領域３１２に表示された１以上のサムネイルのいずれかがユーザーにより指示されると、指示されたサムネイルに対応するデータのファイル識別情報を、出力データとして出力する。
【００７０】
また、画像処理ＡＰＩコマンドは、画像データを画像処理する。画像処理ＡＰＩコマンドにより実行される画像処理は、特に限定するものではないが、例えば、先鋭化処理、エッジ強調処理、等である。画像処理ＡＰＩコマンドの入力データは、ファイル識別情報である。例えば、画像処理ＡＰＩコマンドを、ファイル識別情報「ファイルＡ」を入力データとして実行させると、ファイル識別情報「ファイルＡ」で特定される画像データに画像処理を実行し、画像処理を実行した後の画像データを、第３表示領域３１３に表示する。さらに、画像処理ＡＰＩコマンドは、ユーザーにより所定の操作が受け付けられると、第３表示領域３１３に表示された画像処理後の画像データを、出力データとして出力する。ユーザーによる所定の操作は、特に限定するものではないが、例えば、第３表示領域３１３に表示された画像処理後の画像データの画像を指示する操作である。
【００７１】
入出力データ設定部６９は、コマンド関連付部７７と、コマンド生成部７９と、を含む。コマンド関連付部７７は、表示領域設定部６７からＡＰＩコマンドと表示領域との組が２以上と、画面テンプレートとが入力される。コマンド関連付部７７は、２以上の組にそれぞれ含まれる２以上のＡＰＩコマンドそれぞれに対して、当該第１のＡＰＩコマンドの出力データを、第１のＡＰＩコマンドとは別の第２のＡＰＩコマンドの入力データに設定することによって、第１のＡＰＩコマンドと第２のＡＰＩコマンドとを関連付ける。コマンド関連付部７７は、領域指定部８１を含む。領域指定部８１は、表示部１６１に表示された画面テンプレートに含まれる複数の表示領域のうち２つの指定を受け付ける。
【００７２】
具体的には、コマンド関連付部７７は、領域指定部８１により受け付けられた２つの表示領域を、出力用表示領域と入力用表示領域とのいずれかに特定する。出力用表示領域と入力用表示領域とは、領域指定部８１によって表示領域が指定された順番により決定するようにしても良いし、ユーザーが指定するようにしてもよい。コマンド関連付部７７は、出力用表示領域と組になるＡＰＩコマンドの出力データを、入力用表示領域と組になるＡＰＩコマンドの入力データに設定する。
【００７３】
ここで、コマンド関連付部７７に、表示領域設定部６７から、リスト表示ＡＰＩコマンドと第１表示領域の組、サムネイル表示ＡＰＩコマンドと第２表示領域の組、および画像処理ＡＰＩコマンドと第３表示領域の組、が入力される場合を例に、具体的に説明する。コマンド関連付部７７は、第１表示領域が出力用表示領域に指定されて第２表示領域が入力用表示領域に指定される場合、第１表示領域と組になるリスト表示ＡＰＩコマンドの出力データを、第２表示領域と組になるサムネイル表示ＡＰＩコマンドの入力データに設定する。コマンド関連付部７７は、第２表示領域が出力用表示領域に指定されて第３表示領域が入力用表示領域に指定される場合、第２表示領域と組になるサムネイル表示ＡＰＩコマンドの出力データを、第３表示領域と組になる画像処理ＡＰＩコマンドの入力データに設定する。コマンド関連付部７７は、第３表示領域が出力用表示領域に指定されて第１表示領域が入力用表示領域に指定される場合、第３表示領域と組になる画像処理ＡＰＩコマンドの出力データを、第１表示領域と組になるリスト表示ＡＰＩコマンドの入力データに設定する。
【００７４】
コマンド生成部７９は、コマンド関連付部７７により関連付けられた第１のＡＰＩコマンドと第２のＡＰＩコマンドとにおいて、第１のＡＰＩコマンドの出力データのうちから第２のＡＰＩコマンドの入力データの属性と同じ属性の出力データを抽出する処理を定めた第３のＡＰＩコマンドを生成する。
【００７５】
コマンド生成部７９は、コマンド関連付部７７が、リスト表示ＡＰＩコマンドの出力データをサムネイル表示ＡＰＩコマンドの入力データに設定する場合、リスト表示ＡＰＩコマンドの出力データのうちからサムネイル表示ＡＰＩコマンドの入力データの属性と同じ属性の出力データを抽出する処理を定めた第１データ抽出ＡＰＩコマンドを生成する。サムネイル表示ＡＰＩコマンドの入力データの属性は、画像に変換可能なデータの属性であり、例えば、画像データ、テキストデータ、アプリケーションプログラムによって生成された文書データ等である。例えば、データに対応するアプリケーションプログラムがインストールされていない場合、そのデータの画像を生成することができないので、そのようなデータはサムネイル表示ＡＰＩコマンドの入力データの属性とは異なる。
【００７６】
コマンド生成部７９は、コマンド関連付部７７が、サムネイル表示ＡＰＩコマンドの出力データを画像処理ＡＰＩコマンドの入力データに設定する場合、サムネイル表示ＡＰＩコマンドの出力データのうちから画像処理ＡＰＩコマンドの入力データの属性と同じ属性の出力データを抽出する処理を定めた第２データ抽出ＡＰＩコマンドを生成する。画像処理ＡＰＩコマンドの入力データの属性は、画像データの属性である。
【００７７】
コマンド生成部７９は、コマンド関連付部７７が、画像処理ＡＰＩコマンドの出力データをリスト表示ＡＰＩコマンドの入力データに設定する場合、画像処理ＡＰＩコマンドの出力データのうちからリスト表示ＡＰＩコマンドの入力データの属性と同じ属性の出力データを抽出する処理を定めた第３データ抽出ＡＰＩコマンドを生成する。リスト表示ＡＰＩコマンドの入力データの属性は、特に定めがないので、コマンド生成部７９は、第３データ抽出ＡＰＩコマンドを生成しない。
【００７８】
入出力データ設定部６９は、コマンド関連付部７７によって関連付けられた２つのＡＰＩコマンドと、コマンド生成部７９によってデータ抽出ＡＰＩコマンドが生成されている場合にはそのデータ抽出ＡＰＩコマンドとを含む組の１以上をタイミング決定部７１に出力する。
【００７９】
タイミング決定部７１は、入出力データ設定部６９からの入力される１以上の組に基づいて、１以上の組に含まれる第１のＡＰＩコマンドと、第２のＡＰＩコマンドと、その組が第３のＡＰＩコマンドを含む場合にはその第３のＡＰＩコマンドを実行する順番を決定する。具体的には、タイミング決定部７１は、第１のＡＰＩコマンド、第３のＡＰＩコマンド、第２のＡＰＩコマンドの順に決定する。
【００８０】
より具体的には、出力用ＡＰＩコマンドであるリスト表示ＡＰＩコマンドと入力用ＡＰＩコマンドであるサムネイル表示ＡＰＩコマンドと第１データ抽出ＡＰＩコマンドとを含む第１の組、出力用ＡＰＩコマンドであるサムネイル表示ＡＰＩコマンドと入力用ＡＰＩコマンドである画像処理ＡＰＩコマンドと第２データ抽出ＡＰＩコマンドを含む第２の組、および出力用ＡＰＩコマンドである画像処理ＡＰＩコマンドと入力用ＡＰＩコマンドであるリスト表示ＡＰＩコマンドとを含む第３の組が入力される場合を例に説明する。タイミング決定部７１は、第１の組に対して、リスト表示ＡＰＩコマンド、第１データ抽出ＡＰＩコマンド、サムネイル表示ＡＰＩコマンドの順に決定し、第２の組に対して、サムネイル表示ＡＰＩコマンド、第２データ抽出ＡＰＩコマンド、画像処理ＡＰＩコマンドの順に決定し、第３の組に対して、画像処理ＡＰＩコマンド、リスト表示ＡＰＩコマンドの順に決定する。
【００８１】
タイミング決定部７１は、決定された順にＡＰＩコマンドを記述したアプリケーションプログラムを生成し、生成したアプリケーションプログラムをアプリケーション実行部５３に出力する。
【００８２】
アプリケーション実行部５３は、図５に示したソフトウェアアーキテクチャにおいて、アプリケーション層に属する。アプリケーション実行部５３は、ＣＰＵ１１１が生成部５１から入力されるアプリケーションプログラムを実行することによってＣＰＵ１１１に形成される機能である。アプリケーション実行部５３は、アプリケーションプログラムに記述されたＡＰＩコマンドを、処理実行部５５に出力する。
【００８３】
処理実行部５５は、図５に示したソフトウェアアーキテクチャにおいて、アプリケーション層とＭＦＰプロセス層とに属する。処理実行部５５は、アプリケーション実行部５３が出力するＡＰＩコマンドを受け付け、受け付けられたＡＰＩコマンドを、予め定められた規則に従って内部コマンドに変換し、内部コマンドをオペレーティングコマンドに変換し、オペレーティングコマンドをＯＳ層に属するタスクに出力する。
【００８４】
図８は、アプリケーションプログラム生成処理の流れの一例を示すフローチャートである。アプリケーションプログラム生成処理は、ＭＦＰ１００が備えるＣＰＵ１１１が、ＲＯＭ１１３、ＨＤＤ１１５またはＣＤ−ＲＯＭ１１８に記憶されたアプリケーションプログラム生成プログラムを実行することにより、ＣＰＵ１１１により実行される処理である。
【００８５】
図８を参照して、ＣＰＵ１１１は、ＡＰＩコマンドを取得する。通信Ｉ／Ｆ部１１２を制御して、サーバー２００にＡＰＩコマンドの取得要求を送信し、処理をステップＳ０２に進める。ＡＰＩコマンドの取得要求は、ＭＦＰ１００を識別するための装置識別情報を含む。ＡＰＩコマンドの取得要求を受信するサーバー２００は、取得要求に含まれる装置識別情報で特定される装置に対応するＡＰＩコマンドを返信するので、通信Ｉ／Ｆ部１１２がサーバー２００からＡＰＩコマンドを受信すると、受信されたＡＰＩコマンドを取得する。
【００８６】
ステップＳ０２においては、画面テンプレートを取得し、処理をステップＳ０３に進める。通信Ｉ／Ｆ部１１２を制御して、サーバー２００に画面テンプレートの取得要求を送信する。画面テンプレートの取得要求を受信するサーバー２００は、それが備えるＨＤＤに予め記憶された複数の画面テンプレートを返信するので、通信Ｉ／Ｆ部１１２がサーバー２００から複数の画面テンプレートを受信すると、受信された複数の画面テンプレートを取得する。画面テンプレートは、複数の表示領域を含み、１つの画面に複数の表示領域それぞれを配置する位置を定める。
【００８７】
ステップＳ０３においては、画面テンプレートを決定し、処理をステップＳ０４に進める。表示部１６１に、ステップＳ０２において取得された複数の画面テンプレートの一覧を表示し、ユーザーが操作部１６３に複数の画面テンプレートのうちから１つを選択する指示を受け付け、指示により特定される画面テンプレートを決定する。
【００８８】
ステップＳ０４においては、設定画面を表示部１６１に表示し、処理をステップＳ０５に進める。設定画面は、ステップＳ０３において決定された画面テンプレートと、ステップＳ０１において取得されたＡＰＩコマンドを選択可能なコマンド識別情報の一覧とを含む。
【００８９】
ステップＳ０５においては、ＡＰＩコマンドがユーザーにより選択されたか否かを判断する。ＡＰＩコマンドが選択されたならば処理をステップＳ０６に進めるが、そうでなければ処理をステップＳ０８に進める。ユーザーが操作部１６３に、表示部１６１に表示された設定画面中のＡＰＩコマンドのコマンド識別情報のいずれかを指示する操作を入力すれば、指示されたＡＰＩコマンドを選択する。ここでは、設定画面中のＡＰＩコマンドのコマンド識別情報を指示する操作を、設定画面中のコマンド識別情報を所定時間指示するドラッグ操作としている。
【００９０】
ステップＳ０６において、表示領域が決定されたか否かを判断する。表示領域が決定されたならば処理をステップＳ０７に進めるが、そうでなければ処理をステップＳ０８に進める。ユーザーが操作部１６３に、表示部１６１に表示された設定画面中の画面テンプレートに含まれる複数の表示領域のいずれかを指示する操作を入力すれば、指示された表示領域を決定する。ここでは、画面テンプレートに含まれる複数の表示領域のいずれかを指示する操作を、ステップＳ０５においてドラッグされたコマンド識別情報を、画面テンプレートに含まれる複数の表示領域のいずれかにドロップする操作としている。画面テンプレートに含まれる複数の表示領域のうち、コマンド識別情報がドロップされた表示領域を決定する。より具体的には、ユーザーが表示部１６１の表示面に指を触れた段階で、指を触れた位置に表示されているコマンド識別情報をドラッグする操作を受け付け、ユーザーが表示部１６１の表示面に指を触れながら画面テンプレートの複数の表示領域のいずれかが表示されている位置まで指を移動させて表示面から指を離すと、指で最後に触れていた位置に表示されている表示領域を選択するドロップ操作を受け付ける。
【００９１】
ステップＳ０７においては、ステップＳ０５において選択されたＡＰＩコマンドと、ステップＳ０６において決定された表示領域とを関連付ける。ステップＳ０５において選択されたＡＰＩコマンドに対して、ＡＰＩコマンドがＣＰＵ１１１により実行されて出力される表示データを、ステップＳ０６において決定された表示領域に表示する設定をする。
【００９２】
ステップＳ０８においては、領域関連付操作が終了したか否かを判断する。ユーザーが、領域関連付操作を終了する指示を操作部１６１に入力すれば、領域関連付操作が終了したと判断する。領域関連付操作が終了したならば処理をステップＳ０９に進めるが、そうでなければ処理をステップＳ０５に戻す。
【００９３】
ステップＳ０９においては、出力用表示領域の指定を受け付けたか否かを判断する。出力用表示領域の指定を受け付けたならば処理をステップＳ１０に進めるが、そうでなければ処理をステップＳ１５に進める。設定画面３００の画面テンプレート３１０に含まれる第１表示領域３１１、第２表示領域３１２および第３表示領域３１３のいずれかがユーザーにより指示されると、出力用表示領域の指定を受け付ける。出力用表示領域の指定を受け付けたならば、ユーザーにより指示された表示領域を出力用表示領域に決定し、処理をステップＳ１０に進める。ステップＳ１０においては、出力用表示領域に関連付けられたＡＰＩコマンドを出力用ＡＰＩコマンドに設定し、処理をステップＳ１１に進める。
【００９４】
ステップＳ１１においては、入力用表示領域の指定を受け付けたか否かを判断する。入力用表示領域の指定を受け付けたならば処理をステップＳ１２に進めるが、そうでなければ処理をステップＳ１５に進める。設定画面３００の画面テンプレート３１０に含まれる第１表示領域３１１、第２表示領域３１２および第３表示領域３１３のいずれかがユーザーにより指示されると、入力用表示領域の指定を受け付ける。入力用表示領域の指定を受け付けたならば、ユーザーにより指示された表示領域を入力用表示領域に決定し、処理をステップＳ１２に進める。ステップＳ１２においては、入力用表示領域に関連付けられたＡＰＩコマンドを入力用ＡＰＩコマンドに設定し、処理をステップＳ１３に進める。
【００９５】
ステップＳ１３においては、ステップＳ１０において出力用ＡＰＩコマンドに設定されたＡＰＩコマンドと、ステップＳ１２において入力用ＡＰＩコマンドに設定されたＡＰＩコマンドとを関連付ける。出力用ＡＰＩコマンドの出力データを、入力用ＡＰＩコマンドの入力データに設定する。
【００９６】
具体的には、第１表示領域３１１が出力用表示領域に指定されて第２表示領域３１２が入力用表示領域に指定される場合、第１表示領域３１１と関連付けられたリスト表示ＡＰＩコマンドの出力データを、第２表示領域と関連付けられたサムネイル表示ＡＰＩコマンドの入力データに設定する。第２表示領域３１２が出力用表示領域に指定されて第３表示領域３１３が入力用表示領域に指定される場合、第２表示領域３１２と関連付けられたサムネイル表示ＡＰＩコマンドの出力データを、第３表示領域３１３と関連付けられた画像処理ＡＰＩコマンドの入力データに設定する。第３表示領域３１３が出力用表示領域に指定されて第１表示領域３１１が入力用表示領域に指定される場合、第３表示領域３１３と関連付けられた画像処理ＡＰＩコマンドの出力データを、第１表示領域３１１と関連付けられたリスト表示ＡＰＩコマンドの入力データに設定する。
【００９７】
次のステップＳ１４においては、データ抽出ＡＰＩコマンドを生成し、処理をステップＳ１５に進める。ステップＳ１３において関連付けられた２つのＡＰＩコマンドにおいて、出力用ＡＰＩコマンドの出力データのうちから入力用ＡＰＩコマンドの入力データの属性と同じ属性の出力データを抽出する処理を定めたデータ抽出ＡＰＩコマンドを生成する。
【００９８】
リスト表示ＡＰＩコマンドを出力用ＡＰＩコマンドとし、サムネイル表示ＡＰＩコマンドを入力用ＡＰＩコマンドとして２つのＡＰＩコマンドが関連付けられる場合、リスト表示ＡＰＩコマンドの出力データのうちからサムネイル表示ＡＰＩコマンドの入力データの属性と同じ属性の出力データを抽出する処理を定めた第１データ抽出ＡＰＩコマンドを生成する。
【００９９】
サムネイル表示ＡＰＩコマンドを出力用ＡＰＩコマンドとし、画像処理ＡＰＩコマンドを入力用ＡＰＩコマンドとして２つのＡＰＩコマンドが関連付けられる場合、サムネイル表示ＡＰＩコマンドの出力データのうちから画像処理ＡＰＩコマンドの入力データの属性と同じ属性の出力データを抽出する処理を定めた第２データ抽出ＡＰＩコマンドを生成する。画像処理ＡＰＩコマンドの入力データの属性は、画像データの属性である。
【０１００】
画像処理ＡＰＩコマンドを出力用ＡＰＩコマンドとし、リスト表示ＡＰＩコマンドを入力用ＡＰＩコマンドとして２つのＡＰＩコマンドが関連付けられる場合、画像処理ＡＰＩコマンドの出力データのうちからリスト表示ＡＰＩコマンドの入力データの属性と同じ属性の出力データを抽出する処理を定めた第３データ抽出ＡＰＩコマンドを生成する。リスト表示ＡＰＩコマンドの入力データの属性は特に定めがないので、この場合には、第３データ抽出ＡＰＩコマンドを生成しない。
【０１０１】
ステップＳ１５においては、コマンド関連付操作が終了したか否かを判断する。ユーザーが、コマンド関連付操作を終了する指示を操作部１６１に入力すれば、コマンド関連付操作が終了したと判断する。コマンド関連付操作が終了したならば処理をステップＳ１６に進めるが、そうでなければ処理をステップＳ０９に戻す。
【０１０２】
ステップＳ１６においては、ステップＳ０９〜ステップＳ１５において関連付けられた２つのＡＰＩコマンドと、それら２つのＡＰＩコマンドに対してデータ抽出ＡＰＩコマンドが生成されている場合にはそのデータ抽出ＡＰＩコマンドと、を実行する順番を決定する。具体的には、出力用ＡＰＩコマンド、データ抽出ＡＰＩコマンド、入力用ＡＰＩコマンドの順に決定する。
【０１０３】
具体的には、出力用ＡＰＩコマンドであるリスト表示ＡＰＩコマンドと入力用ＡＰＩコマンドであるサムネイル表示ＡＰＩコマンドと第１データ抽出ＡＰＩコマンドとを含む第１の組、出力用ＡＰＩコマンドであるサムネイル表示ＡＰＩコマンドと入力用ＡＰＩコマンドである画像処理ＡＰＩコマンドと第２データ抽出ＡＰＩコマンドを含む第２の組、および出力用ＡＰＩコマンドである画像処理ＡＰＩコマンドと入力用ＡＰＩコマンドであるリスト表示ＡＰＩコマンドとを含む第３の組が入力される場合を例に説明する。第１の組に対して、リスト表示ＡＰＩコマンド、第１データ抽出ＡＰＩコマンド、サムネイル表示ＡＰＩコマンドの順に決定し、第２の組に対して、サムネイル表示ＡＰＩコマンド、第２データ抽出ＡＰＩコマンド、画像処理ＡＰＩコマンドの順に決定し、第３の組に対して、画像処理ＡＰＩコマンド、リスト表示ＡＰＩコマンドの順に決定する。
【０１０４】
なお、ステップＳ０９〜ステップＳ１５において関連付けられた２つのＡＰＩコマンドの組が複数存在する場合には、複数の組の順番を決定するようにしても良い。例えば、組の順番は、第１の組に含まれる出力用ＡＰＩコマンドと同じＡＰＩコマンドを入力用ＡＰＩコマンドとして含む第２の組が存在する場合には、第１の組を第２の組よりも先にする。  次のステップＳ１７においては、ステップＳ１６に置いて決定された順にＡＰＩコマンドを記述したアプリケーションプログラムを生成し、処理をステップＳ１８に進める。ステップＳ１８においては、生成されたアプリケーションプログラムを出力し、処理を終了する。例えば、生成されたアプリケーションプログラムをＨＤＤ１１５に記憶する。
以上説明したように、本実施の形態におけるＭＦＰ１００が備えるＣＰＵ１１１は、複数種類のハードウェア資源を制御する処理と、予め定められたデータ処理と、を実行可能な処理実行部５５と、アプリケーションインターフェースコマンドで記述されたアプリケーションプログラムを実行することにより、アプリケーションインターフェースコマンドにより特定される処理を処理実行部５５に実行させるアプリケーション実行部５３と、アプリケーションプログラムを生成する生成部５１と、を備え、生成部５１は、処理実行部５５との間で予め定められた複数のアプリケーションインターフェースコマンドを取得する取得部６１と、複数の表示領域を含む画面テンプレートを決定する画面テンプレート決定部６５と、取得された複数のアプリケーションインターフェースコマンドのうちから２以上を選択するコマンド選択部６３と、選択された２以上のアプリケーションインターフェースコマンドそれぞれに対して、当該アプリケーションインターフェースコマンドが処理実行部５５により実行されて処理実行部５５が出力する表示データを表示するための領域に選択された画面テンプレートの複数の表示領域のいずれかを、設定する表示領域設定部６７と、選択された２以上のアプリケーションインターフェースコマンドそれぞれに対して、当該アプリケーションインターフェースコマンドが処理実行部５５により実行される場合に、外部から入力される入力データと、外部に出力する出力データと、をそれぞれ設定する入出力データ設定部６９と、を備え、入出力データ設定部６９は、選択された２以上のアプリケーションインターフェースコマンドそれぞれに対して、当該第１のアプリケーションインターフェースコマンドの出力データを、第２のアプリケーションインターフェースコマンドの入力データに設定するコマンド関連付部７７を含む。このため、画面テンプレートを用いて２以上のアプリケーションインターフェースコマンドを互いに関連付けることによって、複数のアプリケーションインターフェースコマンドを含むアプリケーションプログラムを生成することができる。
【０１０５】
また、コマンド関連付部７７により関連付けられた第１のアプリケーションインターフェースコマンドと第２のアプリケーションインターフェースコマンドとにおいて、第１のアプリケーションインターフェースコマンドの出力データのうちから第２のアプリケーションインターフェースコマンドの入力データの属性と同じ属性の出力データを抽出する処理を定めた第３のアプリケーションインターフェースコマンドを生成するコマンド生成部７９を、さらに含む。このため、第２のアプリケーションインターフェースコマンドを確実に実行させることができる。
【０１０６】
さらに、取得部６１は、複数のアプリケーションインターフェースコマンドを、サーバー２００から取得する。このため、アプリケーションインターフェースコマンドをサーバーで管理することができるので、アプリケーションインターフェースコマンドの変更が容易である。
【０１０７】
さらに、サーバー２００から複数の画面テンプレートを取得する画面テンプレート取得部７３と、複数の画面テンプレートのうちから１つを選択する指示を受け付ける選択指示受付部７５と、を含む。このため、画面テンプレートをサーバー２００に記憶するので、画面テンプレートの追加、変更、削除が容易となる。
【０１０８】
さらに、画面テンプレートの複数の表示領域の第１の表示領域と、第１の表示領域とは異なる第２の表示領域との指定を受け付ける領域指定部８１を含み、領域指定部８１により第１の表示領域および第２の表示領域が受け付けられることに応じて、第１の表示領域が設定された第１のアプリケーションインターフェースコマンドの出力データを、第２の表示領域が設定された第２のアプリケーションインターフェースコマンドの入力データに設定する。このため、２つのアプリケーションプログラムを関連付けるための操作を容易にすることができる。
【０１０９】
さらに、生成部５１は、第１のアプリケーションインターフェースコマンドが処理実行部５５により実行された後に、第２のアプリケーションインターフェースコマンドを処理実行部５５に実行させるタイミング決定部７１を、さらに含む。このため、２つのアプリケーションインターフェースコマンドを実行するタイミングを決定するので、確実に実行されるアプリケーションプログラムを生成することができる。
【０１１０】
なお、上述した実施の形態においては、画像形成装置の一例としてＭＦＰ１００について説明したが、図８に示したアプリケーションプログラム生成処理を、ＭＦＰ１００に実行させるアプリケーションプログラム生成方法、また、そのアプリケーションプログラム生成方法をＭＦＰ１００が備えるＣＰＵ１１１に実行させるためのアプリケーションプログラム生成プログラムとして、発明を捉えることができるのは言うまでもない。
【０１１１】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１１２】
５  ネットワーク、１００  ＭＦＰ、２００  サーバー、５１  生成部、５３  アプリケーション実行部、５５  処理実行部、６１  取得部、６３  コマンド選択部、６５  画面テンプレート決定部、６７  表示領域設定部、６９  入出力データ設定部、７１  タイミング決定部、７３  画面テンプレート取得部、７５  選択指示受付部、７７  コマンド関連付部、７９  コマンド生成部、８１  領域指定部、１１０  メイン回路、１１１  ＣＰＵ、１１２  通信Ｉ／Ｆ部、１１３  ＲＯＭ、１１４  ＲＡＭ、１１５  ＨＤＤ、１１６  ファクシミリ部、１１７  外部記憶装置、１２０  自動原稿搬送装置、１３０  原稿読取部、１４０  画像形成部、１５０  給紙部、１６０  操作パネル、１６１  表示部、１６３  操作部、１６５  タッチパネル、１６７  ハードキー部。
【図１】
2015022326.tif 000003
【図２】
2015022326.tif 000004
【図３】
2015022326.tif 000005
【図４】
2015022326.tif 000006
【図５】
2015022326.tif 000007
【図６】
2015022326.tif 000008
【図７】
2015022326.tif 000009
【図８】
2015022326.tif 000010