<通信システムの構成>
図1に、本願に係る実施形態として例示される通信システム1のブロック図を示す。通信システム1は、MFP(Multifunction Peripheralの略)(本発明の画像読取装置の一例)10、サーバ(本発明の外部装置の一例)80、PC(Personal Computerの略)82を備える。
MFP10は、CPU(本発明の制御部の一例)12、記憶部(本発明の記憶部の一例)14、ディスプレイ(本発明の表示部の一例)16、入力I/F(本発明の操作部の一例)18、記録部(本発明の記録部及び出力部の一例)20、読取部(本発明の読取部の一例)22、ネットワークI/F(本発明の通信部及び出力部の一例)24、USBデバイスI/F(本発明の通信部及び出力部の一例)26、USBホストI/F(本発明の接続部及び出力部の一例)28、モデム30、電話回線接続部32を主に備えている。これらの構成要素は、入出力ポート36を介して互いに通信可能とされている。
CPU12は、記憶部14内の制御プログラム40に従って処理を実行する。制御プログラム40は、コピー処理,スキャン処理等の各種処理を実行するためのプログラムである。以降、制御プログラム40を実行するCPU12のことを、単にプログラム名でも記載する場合がある。例えば、「制御プログラム40が」という記載は、「制御プログラム40を実行するCPU12が」ということを意味する場合がある。なお、記憶部14は、RAM(Random Access Memoryの略)、ROM(Read Only Memoryの略)、フラッシュメモリー、HDD(Hard Disk・Driveの略)、CPU12が備えるバッファなどが組み合わされて構成されている。また、記憶部14は、データ記憶領域42を備える。データ記憶領域42は、制御プログラム40の実行に必要なデータなどを記憶する領域であるが、記憶容量は比較的少ない。
ディスプレイ16は、MFP10の各種機能を表示する表示面を備える。ディスプレイ16の一例としては、例えば、LCD、有機EL、プラズマディスプレイ等が挙げられる。なお、ディスプレイ16は、画面解像度(画素密度)が低く、ディスプレイ16の表示性能は低い。入力I/F18は、例えば、ディスプレイ16と一体的に構成されているタッチパネルであってよく、ディスプレイ16上に表示されたアイコンへのユーザ操作を受け付ける。また、タッチパネル以外にも、ハードキー等であってもよい。
記録部20は、印刷機構であり、例えば、インクジェットヘッドが挙げられる。CPU12は、記録部20へ駆動信号を入力し、記録部20がインクジェットヘッドである場合は入力された駆動信号に応じて、ノズルからインクを吐出する。読取部22は、原稿に記された画像を読み取り画像データを作成するスキャン処理を実行する部位であり、例えば、CCDイメージセンサ、コンタクトイメージセンサ等を含む。
ネットワークI/F24は、ルータ46を介して、インターネット48に接続されており、インターネット48上に存在するサーバ80に接続される。これにより、MFP10は、サーバ80と各種データの送受信を行うことが可能である。また、USBデバイスI/F26は、USBケーブルを介して、PC82に接続されている。これにより、MFP10は、PC82と各種データの送受信を行うことが可能である。
USBホストI/F28には、USBメモリ(本発明の外部記憶装置の一例)50が着脱可能に接続されており、USBメモリ50は、データ記憶領域52を有している。これにより、MFP10は、USBメモリ50のデータ記憶領域52に各種データを記憶させ、データ記憶領域52から各種データを読み出すことが可能である。また、USBメモリ50には、プレビュースクリプト60、スキャンtoUSB実行スクリプト64、画面表示スクリプト66、画像データ削除スクリプト68が格納されている。プレビュースクリプト60は、Luaで記載されたデータであり、スキャンtoUSB実行スクリプト64、画面表示スクリプト66、画像データ削除スクリプト68は、XML(Extensible Markup Languageの略)形式のデータである。なお、プレビュースクリプト60を実行するCPU12のことを、単にプログラム名でも記載する場合がある。例えば、「プレビュースクリプト60が」という記載は、「プレビュースクリプト60を実行するCPU12が」ということを意味する場合がある。
モデム30は、ファクシミリ機能によって送信する画像データを、電話回線網70に伝送可能な信号に変調して電話回線接続部32を介して送信したり、電話回線網70から電話回線接続部32を介して入力された信号を受信し、画像データを復調するものである。これにより、MFP10は、ファックス送信および、ファックス受信を行うことが可能である。
<MFPにおける各種処理の実行>
MFP10では、上述した構成により、制御プログラム40の実行により、コピー処理、スキャン処理、ファックスの送受信処理等のうちの任意の処理が実行される。例えば、コピー処理では、読取部22により読み取られた画像データが、記録紙に画像として出力される。つまり、読取部22により読み取られた画像データに基づく画像が、記録部20により記録用紙に記録される。また、スキャン処理では、読取部22により読み取られた画像データが任意の記憶領域に出力され、その記憶領域において記憶される。つまり、読取部22により読み取られた画像データが、USBメモリ50,サーバ80,PC82等に出力され、各デバイスの記憶領域に記憶される。
ちなみに、読取部22により読み取られた画像データがUSBメモリ50に記憶されるスキャン処理を、スキャンtoUSB処理と記載し、読取部22により読み取られた画像データがサーバ80に記憶されるスキャン処理を、スキャンtoサーバ処理と記載し、読取部22により読み取られた画像データがPC82に記憶されるスキャン処理を、スキャンtoPC処理と記載する。
また、MFP10では、プレビュー表示を行うために要する十分な容量が、データ記憶領域42単体では確保できない。しかし、USBメモリ50をUSBホストI/F28に接続することで、USBメモリ50に格納されているプレビュースクリプト60によって、スキャンtoUSB処理が実行され、USBメモリ50に記憶された画像データに基づく画像が、プレビュー画像としてディスプレイ16に表示される。
具体的には、MFP10のディスプレイ16には、まず、制御プログラム40の実行により、図2に示すメイン画面100が表示される。メイン画面100には、ファックスアイコン102、コピーアイコン104、スキャンアイコン106が表示される。そして、例えば、コピーアイコン104が操作されると、USBホストI/F28にUSBメモリ50が接続されているか否かが、制御プログラム40によって判断される。そして、USBホストI/F28にUSBメモリ50が接続されている場合には、そのUSBメモリ50にプレビュースクリプト60が記憶されているかをさらに判断する。プレビュースクリプト60が記憶されている場合は、そのプレビュースクリプト60にスクリプトの問合せイベントが、制御プログラム40によって通知される。
プレビュースクリプト60は、この通知を受けると、USBメモリ50において、スキャンtoUSB実行スクリプト64、画面表示スクリプト66、画像データ削除スクリプト68の検索を行う。つまり、プレビュースクリプト60は、USBメモリ50にスキャンtoUSB実行スクリプト64、画面表示スクリプト66、画像データ削除スクリプト68の全てのスクリプトがUSBメモリ50に格納されているか否かを判断する。そして、それら全てのスクリプトがUSBメモリ50に格納されている場合には、イベント受信の返答として、「真」を返信する。一方、それら全てのスクリプトがUSBメモリ50に格納されていない場合には、イベント受信の返答として、「偽」を返信する。
次に、制御プログラム40は、イベント送信の返答として、「真」を受信すると、メイン画面100に代えて、図3に示す第1コピー画面(本発明の第1受付画面の一例)110をディスプレイ16に表示する。この第1コピー画面110の画像データは、記憶部14のデータ記憶領域42に記憶されており、制御プログラム40は、その画像データに基づいて第1コピー画面110を、ディスプレイ16に表示する。この第1コピー画面110には、オプションボタン112、設定表示欄114、プレビューボタン116、スタートボタン118が表示される。
オプションボタン112は、コピー処理における設定を変更するためのボタンであり、オプションボタン112が操作されると、制御プログラム40は、設定画面(図示省略)をディスプレイ16に表示する。そして、その設定画面において、拡縮率,印刷濃度,印刷色(カラー印刷とモノクロ印刷との選択)等の設定が変更される。また、設定表示欄114には、デフォルト設定、若しくは、設定画面において変更された設定が表示される。そして、スタートボタン118が操作されることで、制御プログラム40は、設定表示欄114に表示されている設定に従ってコピー処理を実行する。つまり、フラットベット等の原稿の載置台に載置された原稿を、読取部22によって読み取り、その読取により作成された画像データに基づく画像を、記録部20によって記録用紙に記録する。
また、ユーザは、記録用紙に画像が記録される前に、記録画像のイメージを確認したい場合がある。このような場合に、ユーザはプレビューボタン116を操作する。プレビューボタン116が操作されると、制御プログラム40は、プレビューボタン116の操作イベントをプレビュースクリプト60に通知する。プレビュースクリプト60は、この通知を受けると、スキャンtoUSB実行スクリプト64を読み込み、読み込んだスキャンtoUSB実行スクリプト64を改変する。
詳しくは、プレビュースクリプト60は、スキャンtoUSB実行スクリプト64、画面表示スクリプト66、画像データ削除スクリプト68のそれぞれに対して以下の処理を実行するように記載されている、
1)読み込む
2)読み込んだスクリプトの記載の少なくとも1部を制御プログラムが解釈可能な形式に変更する。その際、必要に応じて、スクリプトが示す処理の設定値をプレビュー表示に適した値に変更する
3)制御プログラム40へ出力する
プレビュースクリプト60を実行するCPU12は、スキャンtoUSBの解像度に関する設定値を、読取部22によって読み取り可能な解像度のうちの最も低い解像度に変更する。また、プレビュースクリプト60を実行するCPU12は、スキャンtoUSBの印刷色に関する設定値を、第1コピー画面110において設定されている印刷色に改変する。
なお、スキャンtoUSB実行スクリプト64には、読取部22により読み取られた画像の画像データの記憶先を指定するロケーションも設定値として書き込まれているが、この設定値は変更不可となっている。つまり、スキャンtoUSB実行スクリプト64に基づく指令に従って、スキャンtoUSB処理が実行された場合に、読み取られた画像の画像データは、USBメモリ50の予め設定されたファイル,フォルダ等の記憶領域(以下、「固定記憶領域」と記載する場合がある)に記憶される。
上述した手順に従って、スキャンtoUSB実行スクリプト64が改変されると、プレビュースクリプト60は、変更したスキャンtoUSB実行スクリプト64に基づく指令を制御プログラム40に送信する。そして、制御プログラム40は、その指令を受信すると、スキャンtoUSB実行スクリプト64に書き込まれている設定に従って、スキャンtoUSB処理を実行する。つまり、フラットベット等の原稿の載置台に載置された原稿を、読取部22によって読み取り、その読取により作成された画像データを、USBメモリ50の固定記憶領域に記憶する。そして、その指令に従ったスキャンtoUSB処理の実行が完了すると、制御プログラム40は、処理完了イベントをプレビュースクリプト60に通知する。
プレビュースクリプト60は、その処理完了イベントを受信すると、画面表示スクリプト66に基づく指令を制御プログラム40に送信する。画面表示スクリプト66には、USBメモリ50の固定記憶領域に記憶されている画像データに基づく画像のプレビュー画面への表示を指示する旨のコマンドが記載されている。また、画面表示スクリプト66には、プレビュー画面においてプレビュー画像とともに表示されるボタンに関する表示指示も記載されている。このため、制御プログラム40は、画面表示スクリプト66に基づく指令を受信すると、その指令に従って、USBメモリ50の固定記憶領域に記憶されている画像データを読み出す。また、制御プログラム40は、その指令に従って、読み出した画像データ及び、アイコン表示指示に基づいて、プレビュー画面を作成し、そのプレビュー画面(図4参照)120をディスプレイ16に表示する。
そのプレビュー画面120には、図4に示すように、スキャンtoUSB実行スクリプト64の指令に従って読み取られた画像の画像データ、つまり、USBメモリ50の固定記憶領域に記憶されていた画像データに基づく画像122が、表示される。これにより、ユーザは、記録用紙に画像が記録される前に、記録用紙に記録される画像のイメージを確認することができる。また、プレビュー画面120には、戻るボタン124も表示されている。ちなみに、この戻るボタン124をプレビュー画面120に表示するための情報は、画面表示スクリプト66に書き込まれており、制御プログラム40は、その情報に基づいて戻るボタンをプレビュー画面120に表示する。そして、ユーザが、画像122を確認した後に、戻るボタンを操作すると、制御プログラム40は、戻るボタン124の操作イベントをプレビュースクリプト60に通知する。
プレビュースクリプト60は、その操作イベントを受信すると、画像データ削除スクリプト68に基づく指令を制御プログラム40に送信する。画像データ削除スクリプト68には、USBメモリ50の固定記憶領域に記憶されている画像データの削除を指示する旨のコマンドが記載されている。このため、制御プログラム40は、画像データ削除スクリプト68に基づく指令を受信すると、その指令に従って、USBメモリ50の固定記憶領域に記憶されている画像データを削除する。また、制御プログラム40は、戻るボタン124の操作により、プレビュー画面120の代わりに、第1コピー画面110をディスプレイ16に表示する。そして、ユーザは、プレビュー画面120の確認により、コピー予定の画像が気に入れば、第1コピー画面110において、スタートボタン118を操作し、コピー処理を実行する。
また、USBメモリ50は、USBホストI/F28に着脱可能であるため、そのUSBホストI/F28にUSBメモリ50が接続されていない場合がある。このような場合には、制御プログラム40は、USBメモリ50に格納されているプレビュースクリプト60に、イベントを通知することができないため、ディスプレイ16に、図3に示す第1コピー画面110ではなく、図5に示す第2コピー画面(本発明の第2受付画面の一例)130を表示する。
また、USBホストI/F28にUSBメモリ50が接続されている場合であっても、
プレビュースクリプト60がUSBメモリ50に格納されていない場合がある。このような場合には、制御プログラム40はUSBメモリにおいてプレビュースクリプトが記憶されているか否かを判断し、記憶されていないと判断した場合も、ディスプレイ16に、図3に示す第1コピー画面110ではなく、図5に示す第2コピー画面(本発明の第2受付画面の一例)130を表示する。また、プレビュースクリプト60がUSBメモリ50に記憶されている場合であっても、スキャンtoUSB実行スクリプト64等のスクリプトがUSBメモリ50に格納されていない場合がある。このような場合には、プレビュースクリプト60は、問合せイベントを受信し、スキャンtoUSB実行スクリプト64等の検索を行った際に、上述したように、イベント受信の返答として、「偽」を返信する。そして、制御プログラム40は、イベント受信の返答として、「偽」を受信した場合に、ディスプレイ16に第2コピー画面130を表示する。
なお、第2コピー画面130は、第1コピー画面110の画像データに基づいて作成される。詳しくは、第1コピー画面110の画像データでは、プレビューボタン116を隠した状態、つまり、ディスプレイ16に表示させない状態とすることが可能である。このため、第1コピー画面110の画像データに基づく画像を、プレビューボタン116を隠した状態でディスプレイ16に表示することで、第2コピー画面130がディスプレイ16に表示される。このため、第2コピー画面130は、プレビューボタン116を除いて、第1コピー画面110と同じ画面である。つまり、第2コピー画面130には、第1コピー画面110のオプションボタン112、設定表示欄114、スタートボタン118が表示される。このため、第2コピー画面130においても、第1コピー画面110と同様に、オプションボタン112の操作により設定が変更され、スタートボタン118の操作によりコピー処理が実行される。
以上の説明が、メイン画面100においてコピーアイコン104が操作された際のコピー処理に関する説明である。また、メイン画面100において、スキャンアイコン106が操作されると、制御プログラム40の実行により、図6に示すスキャン処理選択画面140がディスプレイ16に表示される。スキャン処理選択画面140には、スキャンtoサーバ処理選択アイコン142、スキャンtoPC処理選択アイコン144、スキャンtoUSB処理選択アイコン146が表示される。そして、各アイコンが操作されることで、各アイコンに応じたスキャン処理が実行される。
ちなみに、スキャンtoサーバ処理選択アイコン142への操作によりスキャンtoサーバ処理が実行され、スキャンtoPC処理選択アイコン144への操作によりスキャンtoファイル処理が実行され、スキャンtoUSB処理選択アイコン146への操作によりスキャンtoUSB処理が実行される。以下に、各スキャン処理について説明するが、各スキャン処理は、概ね共通しているため、共通している箇所は、纏めて説明し、異なる箇所を各処理に応じて説明する。
まず、スキャン処理選択画面140において、スキャンtoサーバ処理選択アイコン142等の各アイコンが操作されると、コピーアイコン104が操作された場合と同様に、USBホストI/F28にUSBメモリ50が接続されているか否かが、制御プログラム40によって判断される。USBメモリ50が接続されている場合に、プレビュースクリプト60がUSBメモリ50に格納されているかが制御プログラム40によって、さらに判断される。プレビュースクリプト60がUSBメモリ50に格納されていると判断されると、問合せイベントが、プレビュースクリプト60に制御プログラム40によって通知される。
プレビュースクリプト60は、USBメモリ50にスキャンtoUSB実行スクリプト64、画面表示スクリプト66、画像データ削除スクリプト68の全てのスクリプトが格納されているか否かを判断し、それら全てのスクリプトがUSBメモリ50に格納されている場合には、イベント受信の返答として、「真」を返信する。一方、それら全てのスクリプトがUSBメモリ50に格納されていない場合には、イベント受信の返答として、「偽」を返信する。
次に、制御プログラム40は、イベント送信の返答として、「真」を受信すると、メイン画面100に代えて、第1スキャン画面(図示省略)(本発明の第1受付画面の一例)をディスプレイ16に表示する。この第1スキャン画面は、設定表示欄114に第1コピー画面110とは一部異なる設定項目に対応した設定が表示される点、イラストが異なる点などを除けば、図3に示す第1コピー画面110と共通であるため、この第1コピー画面110を利用して説明する。第1スキャン画面のオプションボタン112は、スキャン処理における設定を変更するためのボタンであり、このオプションボタン112が操作されると、制御プログラム40は、図7に示す設定画面150をディスプレイ16に表示する。
設定画面150には、複数の設定ボタン152が表示され、設定ボタン152への操作によりスキャン処理における設定が変更される。なお、各設定ボタン152への操作によって、各種記憶領域に記憶される際の画像データのファイル名,画像データの記憶先を特定するためのディレクトリ,画像読取時のカラースキャンとモノクロスキャンとの選択,画像読取時の解像度等が設定される。そして、設定ボタン152への操作によりスキャン処理の設定が完了した後に、OKボタン154が操作されることで、設定画面150の代わりに、第1スキャン画面がディスプレイ16に表示される。ちなみに、スキャンtoサーバ処理時における画像データの記憶先は、PCのブラウザ等を用いてMFP10に搭載されたEWS(embedded web server)へアクセスするなどの方法によりサーバ80の記憶領域の所定のディレクトリが予め設定されている。このため、スキャンtoサーバ処理時の設定画面150には、画像データの記憶先を設定するための設定ボタン152は表示されない。
また、第1スキャン画面の設定表示欄114には、スキャン処理におけるデフォルト設定、若しくは、設定画面150において変更された設定が表示される。そして、第1スキャン画面において、スタートボタン118が操作されることで、制御プログラム40は、設定表示欄114に表示されている設定に従ってスキャン処理を実行する。つまり、フラットベット等の原稿の載置台に載置された原稿が、読取部22によって読み取られ、その読取により作成された画像データが、USBメモリ50,サーバ80,PC82のうちの何れかの所定の記憶領域に出力され、記憶される。なお、スキャンtoサーバ処理、スキャンtoPC処理、スキャンtoUSB処理のそれぞれが選択された場合、一部、互いに異なる設定項目に対応した設定値が第1スキャン画面や、設定画面において表示される。
また、ユーザは、読取部22によって読み取られた画像のイメージを確認したい場合がある。このような場合に、ユーザは、第1スキャン画面において、プレビューボタン116を操作する。プレビューボタン116が操作されると、制御プログラム40は、プレビューボタン116の操作イベントをプレビュースクリプト60に通知する。なお、プレビュースクリプト60にプレビューボタン116の操作イベントが通知されてから、MFP10のディスプレイ16にプレビュー画面120が表示され、USBメモリ50に記憶された画像データが消去される迄の処理は、コピーアイコン104が操作された際の処理と同じであるため、説明を省略する。
そして、各種スキャン処理においてディスプレイ16にプレビュー画面120が表示されている際に、戻るボタン124が操作されると、プレビュー画面120の代わりに、第1スキャン画面がディスプレイ16に表示される。そして、ユーザは、プレビュー画面120の確認により、スキャン予定の画像が気に入れば、第1スキャン画面において、スタートボタン118を操作し、スキャン処理を実行する。
スキャン処理においても、コピー処理と同様に、USBホストI/F28にUSBメモリ50が接続されていない場合、及び、USBホストI/F28にUSBメモリ50が接続されていてもプレビュースクリプト60が記憶されていない場合、プレビュースクリプト60が記憶されていても問合せイベントの返答として「偽」が返信された場合には、制御プログラム40は、ディスプレイ16に第2スキャン画面を表示する。この第2スキャン画面も、第1コピー画面110及び第2コピー画面130と同様に、第1スキャン画面の画像データに基づいて作成される。詳しくは、第1スキャン画面の画像データでは、プレビューボタン116を隠した状態、つまり、ディスプレイ16に表示させない状態とすることが可能である。このため、第1スキャン画面の画像データに基づく画像を、プレビューボタン116を隠した状態でディスプレイ16に表示することで、第2スキャン画面がディスプレイ16に表示される。このため、第2スキャン画面は、プレビューボタン116を除いて、第1スキャン画面と同じ画面である。つまり、第1スキャン画面には、第1スキャン画面のオプションボタン112、設定表示欄114、スタートボタン118が表示される。このため、第2スキャン画面においても、第1スキャン画面と同様に、オプションボタン112の操作により設定が変更され、スタートボタン118の操作によりスキャン処理が実行される。
このように、MFP10では、データ記憶領域42に記憶されている制御プログラム40の実行により、スキャンtoUSB処理を実行することが可能である。また、USBホストI/F28に接続されたUSBメモリ50には、スキャンtoUSB実行スクリプト64が格納されており、そのスキャンtoUSB実行スクリプト64には、スキャンtoUSB処理の実行指令が書き込まれている。そして、制御プログラム40が、スキャンtoUSB実行スクリプト64に基づく指令に従って、スキャンtoUSB処理を実行することで、読取部22に読み取られた画像データが、USBメモリ50の固定記憶領域に記憶される。また、USBメモリ50には、画面表示スクリプト66が格納されており、その画面表示スクリプト66には、USBメモリ50の固定記憶領域に記憶されている画像データに基づいてプレビュー画面120を形成するとともに、そのプレビュー画面120をディスプレイ16に表示させる旨の指令が書き込まれている。このため、制御プログラム40が、画面表示スクリプト66に基づく指令に従って、プレビュー画面120をディスプレイ16に表示することで、ユーザがコピー処理、若しくは、スキャン処理におけるプレビュー画像をディスプレイ16において確認することが可能となる。
これにより、記憶容量の少ないデータ記憶領域42を用いることなく、MFP10においてプレビュー機能を利用することが可能となる。また、ディスプレイ16にプレビュー画像が表示される際には、制御プログラム40により実行されるスキャンtoUSB処理を利用して、プレビュー画像の画像データが作成され、その画像データがUSBメモリ50に記憶される。この際、制御プログラム40は、スキャンtoUSB実行スクリプト64に基づく指令に従って、プレビュー画像の作成および、記憶を行う。このため、制御プログラム40を変更することなく、スキャンtoUSB実行スクリプト64等のスクリプトを作成するだけで、プレビュー機能が追加される。これにより、既存の機能を利用してプレビュー画像の作成および、記憶を実行することが可能となり、MFP10においてプレビュー機能を利用するための設計負荷を少なくすることが可能となる。
また、USBメモリ50には、画像データ削除スクリプト68が格納されており、その画像データ削除スクリプト68には、USBメモリ50の固定記憶領域に記憶されている画像データの削除指令が書き込まれている。このため、制御プログラム40が、プレビュー画面120をディスプレイ16に表示させた後に、画像データ削除スクリプト68に基づく指令に従って、USBメモリ50の固定記憶領域に記憶されている画像データを削除する。これにより、USBメモリ50に記憶される画像データの容量の増大を抑制することが可能となる。
また、スキャンtoUSB実行スクリプト64に基づいてスキャンtoUSB処理が実行される際に、読取部22により読み取り可能な解像度のうちの最も低い解像度で、画像の読み取りが行われる。これは、ディスプレイ16の画面解像度(画素密度)が低いので、高解像度の画像を表示することができないためである。これにより、無駄に解像度の高い画像の作成を防止し、プレビュー画像の作成に要する時間を短くすることが可能となる。
また、スキャンtoUSB処理時の画像データの記憶先は、設定画面においてUSBメモリ50のデータ記憶領域52の任意の領域に設定することが可能であるが、プレビュー画像の画像データの記憶先は、USBメモリ50の固定記憶領域に設定されており、任意に変更することができない。これにより、スキャンtoUSB処理時の画像データと、プレビュー画像の画像データとの混同を防止することが可能となる。
また、第1コピー画面110と第2コピー画面130、若しくは、第1スキャン画面と第2スキャン画面は、同一の画像データに基づいて作成される。これにより、画像データのデータ量を抑制することが可能となる。
<制御プログラム>
上述したMFP10による各種処理の実行及び、プレビュー画像の表示は、MFP10のCPU12において制御プログラム40および、プレビュースクリプト60が実行されることによって行われる。以下に、図8乃至図12を用いて、CPU12で制御プログラム40が実行される際のフローを説明し、図13を用いて、CPU12でプレビュースクリプト60が実行される際のフローを説明する。
MFP10では、制御プログラム40が実行されると、図8に示すように、メイン画面100がディスプレイ16に表示される(S100)。次に、メイン画面100において、コピー処理が選択されたか否か、つまり、コピーアイコン104が操作されたか否かが、制御プログラム40によって判断される(S102)。コピー処理が選択された場合(S102:YES)には、スクリプト対応処理サブルーチンが実行される(S104)。
スクリプト対応処理サブルーチンでは、図9に示すように、USBホストI/F28にUSBメモリ50が接続されているか否かが、制御プログラム40によって判断される(S200)。USBホストI/F28にUSBメモリ50が接続されている場合(S200:YES)には、USBメモリ50にプレビュースクリプト60が記憶されているか否かが、制御プログラム40によって判断される(S202)。USBメモリ50にプレビュースクリプト60が記憶されている場合(S202:YES)には、制御プログラム40は、スクリプトの問合せイベントをプレビュースクリプト60に通知する(S204)。そして、その問合せイベントの返答として、「真」をプレビュースクリプト60から受信したか否かが、制御プログラム40によって判断される(S206)。
問合せイベントの返答として、「真」を受信している場合(S206:YES)には、制御プログラム40は、第1コピー画面110を、第1受付画面としてディスプレイ16に表示する(S208)。次に、第1コピー画面110において、プレビューボタン116が操作されたか否かが、制御プログラム40によって判断される(S210)。この際、プレビューボタン116が操作されている場合(S210:YES)には、制御プログラム40は、プレビューボタン116の操作イベントをプレビュースクリプト60に通知する(S212)。そして、制御プログラム40は、スキャンtoUSB実行スクリプト64に基づく指令を、プレビュースクリプト60から受信する(S214)。
続いて、制御プログラム40は、スキャンtoUSB実行スクリプト64に基づく指令に従って、スキャンtoUSB処理を実行する(S216)。つまり、読取部22によって原稿を読み取り、その読み取られた画像の画像データをUSBメモリ50の固定記憶領域に記憶させる。そして、図10に示すように、スキャンtoUSB処理が完了したか否かが、制御プログラム40によって判断される(S218)。この際、スキャンtoUSB処理が完了していない場合(S218:NO)には、S218の処理が繰り返される。一方、スキャンtoUSB処理が完了している場合(S218:YES)には、制御プログラム40は、処理完了イベントをプレビュースクリプト60に通知する(S220)。
次に、制御プログラム40は、画面表示スクリプト66に基づく指令を、プレビュースクリプト60から受信する(S222)。そして、制御プログラム40は、画面表示スクリプト66に基づく指令に従って、USBメモリ50の固定記憶領域に記憶された画像データを読み出し、その画像データを利用して作成されたプレビュー画面120をディスプレイ16に表示する(S224)。続いて、そのプレビュー画面120において、戻るボタン124が操作されたか否かが、制御プログラム40によって判断される(S226)。
戻るボタン124が操作されていない場合(S226:NO)には、S226の処理が繰り返される。一方、戻るボタン124が操作されている場合(S226:YES)には、制御プログラム40は、戻るボタン124の操作イベントをプレビュースクリプト60に通知する(S228)。そして、制御プログラム40は、画像データ削除スクリプト68に基づく指令を、プレビュースクリプト60から受信する(S230)。次に、制御プログラム40は、画像データ削除スクリプト68に基づく指令に従って、USBメモリ50の固定記憶領域に記憶されている画像データを削除する(S232)。これにより、スクリプト対応処理サブルーチンが終了し、図8に示すように、メインルーチンのS104に戻る。
また、図9に示すように、S200でUSBホストI/F28にUSBメモリ50が接続されていない場合(S200:NO)、若しくは、USBメモリ50にプレビュースクリプト60が記憶されていない場合(S202:NO)、若しくは、S206で問合せイベントの返答として、「偽」を受信している場合(S206:NO)には、制御プログラム40は、第2コピー画面130を、第2受付画面としてディスプレイ16に表示する(S234)。そして、スクリプト対応処理サブルーチンが終了し、図8に示すように、メインルーチンのS110に進む。また、S210で第1コピー画面110のプレビューボタン116が操作されていない場合(S210:NO)にも、スクリプト対応処理サブルーチンが終了し、図8に示すように、メインルーチンのS110に進む。
メインルーチンのS110では、第1コピー画面110若しくは、第2コピー画面130において、スタートボタン118が操作されたか否かが、制御プログラム40によって判断される(S110)。スタートボタン118が操作されていない場合(S110:NO)には、オプションボタン112が操作されたか否かが、制御プログラム40によって判断される(S112)。オプションボタン112が操作されている場合(S112:YES)には、設定処理、つまり、設定画面がディスプレイ16に表示され、設定画面においてコピー処理の各種設定が実行される(S114)。そして、S104に戻る。一方、オプションボタン112が操作されていない場合(S112:NO)には、S114の処理がスキップされ、S104に戻る。
また、S110でスタートボタン118が操作されている場合(S110:YES)には、制御プログラム40は、コピー処理に応じた設定値を読み出す(S116)。次に、制御プログラム40は、読取部22に原稿の読み取りを実行させる(S118)。続いて、制御プログラム40は、原稿の読取により作成された画像データを、記録部20に出力し、記録部20によって画像データに基づく画像を記録用紙に記録させる(S120)。そして、S104に戻る。
また、S102でコピー処理が選択されていない場合(S102:NO)には、図11に示すように、メイン画面100において、スキャン処理が選択されたか否か、つまり、スキャンアイコン106が操作されたか否かが、制御プログラム40によって判断される(S130)。この際、スキャン処理が選択された場合(S130:YES)には、制御プログラム40は、スキャン処理選択画面140をディスプレイ16に表示する(S132)。そして、スキャン処理選択画面140において、スキャンtoUSB処理が選択されたか否か、つまり、スキャンtoUSB処理選択アイコン146が操作されたか否かが、制御プログラム40によって判断される(S134)。スキャンtoUSB処理が選択された場合(S134:YES)には、スクリプト対応処理サブルーチンが実行される(S136)。
S136のスクリプト対応処理サブルーチンは、S104のスクリプト対応処理サブルーチン、つまり、図9及び図10に示すスクリプト対応処理サブルーチンと略同じであるため、図9及び図10を用いて、異なるステップのみを説明する。本スクリプト対応処理サブルーチン(S136)では、S208において、制御プログラム40は、第1スキャン画面を、第1受付画面としてディスプレイ16に表示する。また、S234において、制御プログラム40は、第2スキャン画面を、第2受付画面としてディスプレイ16に表示する。また、S232の処理の終了後に、本スクリプト対応処理サブルーチン(S136)が終了し、図11に示すメインルーチンのS136に戻る。また、S234の処理の終了後、若しくは、S210でプレビューボタン116が操作されていないと判断された場合(S210:NO)に、本スクリプト対応処理サブルーチン(S136)が終了し、図11に示すメインルーチンのS140に進む。
メインルーチンのS140では、第1スキャン画面若しくは、第2スキャン画面において、スタートボタン118が操作されたか否かが、制御プログラム40によって判断される(S140)。スタートボタン118が操作されていない場合(S140:NO)には、オプションボタン112が操作されたか否かが、制御プログラム40によって判断される(S142)。オプションボタン112が操作されている場合(S142:YES)には、設定処理、つまり、設定画面150がディスプレイ16に表示され、設定画面150においてスキャンtoUSB処理の各種設定が実行される(S144)。そして、S136に戻る。一方、オプションボタン112が操作されていない場合(S142:NO)には、S144の処理がスキップされ、S136に戻る。
また、S140でスタートボタン118が操作されている場合(S140:YES)には、制御プログラム40は、スキャンtoUSB処理に応じた設定値を読み出す(S146)。次に、制御プログラム40は、読取部22に原稿の読み取りを実行させる(S148)。続いて、制御プログラム40は、原稿の読取により作成された画像データを、USBメモリ50に出力し、記憶させる(S150)。そして、S136に戻る。
また、S134でスキャンtoUSB処理が選択されていない場合(S134:NO)には、図12に示すように、スキャン処理選択画面140において、スキャンtoサーバ処理が選択されたか否か、つまり、スキャンtoサーバ処理選択アイコン142が操作されたか否かが、制御プログラム40によって判断される(S160)。スキャンtoサーバ処理が選択された場合(S160:YES)には、スクリプト対応処理サブルーチンが実行される(S162)。
S162のスクリプト対応処理サブルーチンは、S104のスクリプト対応処理サブルーチン、つまり、図9及び図10に示すスクリプト対応処理サブルーチンと略同じであるため、図9及び図10を用いて、異なるステップのみを説明する。本スクリプト対応処理サブルーチン(S162)では、S208において、制御プログラム40は、第1スキャン画面を、第1受付画面としてディスプレイ16に表示する。また、S234において、制御プログラム40は、第2スキャン画面を、第2受付画面としてディスプレイ16に表示する。また、S232の処理の終了後に、本スクリプト対応処理サブルーチン(S162)が終了し、図12に示すメインルーチンのS162に戻る。また、S234の処理の終了後、若しくは、S210でプレビューボタン116が操作されていないと判断された場合(S210:NO)に、本スクリプト対応処理サブルーチン(S162)が終了し、図12に示すメインルーチンのS170に進む。
メインルーチンのS170では、第1スキャン画面若しくは、第2スキャン画面において、スタートボタン118が操作されたか否かが、制御プログラム40によって判断される(S170)。スタートボタン118が操作されていない場合(S170:NO)には、オプションボタン112が操作されたか否かが、制御プログラム40によって判断される(S172)。オプションボタン112が操作されている場合(S172:YES)には、設定処理、つまり、設定画面150がディスプレイ16に表示され、設定画面150においてスキャンtoサーバ処理の各種設定が実行される(S174)。そして、S162に戻る。一方、オプションボタン112が操作されていない場合(S172:NO)には、S174の処理がスキップされ、S162に戻る。
また、S170でスタートボタン118が操作されている場合(S170:YES)には、制御プログラム40は、スキャンtoサーバ処理に応じた設定値を読み出す(S176)。次に、制御プログラム40は、読取部22に原稿の読み取りを実行させる(S178)。続いて、制御プログラム40は、原稿の読取により作成された画像データを、サーバ80に出力し、記憶させる(S180)。そして、S162に戻る。
また、S160でスキャンtoサーバ処理が選択されていない場合(S160:NO)すなわち、スキャンtoPC処理選択アイコンが操作された場合には、スキャンtoPC処理が実行される。スキャンtoPC処理は、スキャンtoUSB処理と略同じであり、図11のS150を除くS136〜S148と略同じ処理が実行される。このため、図11のS136〜S150を用いて、スキャンtoUSB処理と異なるステップのみを説明する。
スキャンtoPC処理では、S144において、設定画面150がディスプレイ16に表示され、設定画面150においてスキャンtoPC処理の各種設定が実行される。また、S176において、制御プログラム40は、スキャンtoPC処理に応じた設定値を読み出す。また、S150において、制御プログラム40は、原稿の読取により作成された画像データを、PC82に出力し、記憶させる。なお、S164の処理が終了すると、S100に戻る。
また、S130でスキャン処理が選択されていない場合(S130:NO)には、メイン画面100において操作されたアイコンに応じた処理が実行される(S138)。具体的には、ファックスアイコン102が操作された場合には、ファックスの送受信処理が実行される。なお、ファックスの送受信処理は、一般的な処理であるため説明を省略する。そして、S164の処理が終了すると、S100に戻る。
また、MFP10では、プレビュースクリプト60が実行されると、図13に示すように、制御プログラム40から何らかのイベントを受信しているか否かが、プレビュースクリプト60によって判断される(S300)。制御プログラム40からイベントを受信していない場合(S300:NO)には、S300の処理が繰り返される。一方、制御プログラム40からイベントを受信している場合(S300:YES)には、その受信しているイベントが戻るボタン124の操作イベントであるか否かが、プレビュースクリプト60によって判断される(S302)。
受信しているイベントが戻るボタン124の操作イベントである場合(S302:YES)には、プレビュースクリプト60は、画像データ削除スクリプト68に基づく指令を、制御プログラム40に送信する(S304)。そして、S300に戻る。一方、受信しているイベントが戻るボタン124の操作イベントでない場合(S302:NO)には、受信しているイベントがスクリプトの問合せイベントであるか否かが、プレビュースクリプト60によって判断される(S306)。
受信しているイベントがスクリプトの問合せイベントである場合(S306:YES)には、スキャンtoUSB実行スクリプト64と画面表示スクリプト66と画像データ削除スクリプト68との3つのスクリプトがUSBメモリ50に格納されているか否かが、プレビュースクリプト60によって判断される(S308)。3つのスクリプトがUSBメモリ50に格納されている場合(S308:YES)には、プレビュースクリプト60は、「真」を制御プログラム40に送信する(S310)。そして、S300に戻る。一方、3つのスクリプトがUSBメモリ50に格納されていない場合(S308:NO)には、プレビュースクリプト60は、「偽」を制御プログラム40に送信する(S312)。そして、S300に戻る。
また、S306で受信しているイベントがスクリプトの問合せイベントでない場合(S306:NO)には、受信しているイベントがプレビューボタン116の操作イベントであるか否かが、プレビュースクリプト60によって判断される(S314)。受信しているイベントがプレビューボタン116の操作イベントである場合(S314:YES)には、プレビュースクリプト60が、スキャンtoUSB実行スクリプト64を改変し(S316)、その改変したスキャンtoUSB実行スクリプト64に基づく指令を、制御プログラム40に送信する(S318)。そして、S300に戻る。
また、受信しているイベントがプレビューボタン116の操作イベントでない場合(S314:NO)には、画面表示スクリプト66に基づく指令を、制御プログラム40に送信する(S318)。そして、S300に戻る。
なお、S102の処理は、出力先受付処理の一例である。S118の処理は、読取制御処理の一例である。S120の処理は、出力処理の一例である。S144の処理は、出力先受付処理、及び設定受付処理の一例である。S148の処理は、読取制御処理の一例である。S150の処理は、出力処理の一例である。S160の処理は、出力先受付処理の一例である。S170の処理は、出力処理の一例である。S174の処理は、設定受付処理の一例である。S178の処理は、読取制御処理の一例である。S200の処理は、判断処理の一例である。S208の処理は、第1表示制御処理の一例である。S224の処理は、第2表示制御処理の一例である。S232の処理は、削除処理の一例である。S234の処理は、第3表示制御処理の一例である。
なお、本発明は、上記実施形態に限定されるものではなく、当業者の知識に基づいて種々の変更、改良を施した種々の態様で実施することが可能である。具体的には、上記実施形態では、スクリプトを利用したプレビュー機能が、コピー処理及びスキャン処理において実行されているが、他の処理、例えば、ファックスの送受信処理等において実行することが可能である。
また、上記実施形態では、プレビュースクリプト60,スキャンtoUSB実行スクリプト64等の各種スクリプトがUSBメモリ50に記憶されているが、それら各種スクリプトがMFP10の記憶部14に記憶されてもよい。また、各種スクリプトが、USBメモリ50と記憶部14との両方に記憶され、USBメモリ50に記憶されたスクリプトと、記憶部14に記憶されたスクリプトとが選択的に用いられてもよい。
また、上記実施形態では、第1コピー画面110の画像データがデータ記憶領域42に記憶され、その画像データに基づいて第1コピー画面110がディスプレイ16に表示されるが、第1コピー画面110を作成するための情報と、その情報に基づいて第1コピー画面110を作成する旨の指令と、作成された第1コピー画面110をディスプレイ16に表示する旨の指令が書き込まれたスクリプトを、USBメモリ50に記憶させ、そのスクリプトを利用して、第1コピー画面110をディスプレイ16に表示させてもよい。
また、上記実施形態では、プレビュースクリプト60等の各種スクリプトが、外部記憶装置としてのUSBメモリ50に記憶されているが、SDカード、外付けHDD等、他の外部記憶装置に各種スクリプトが記憶されてもよい。
また、上記実施形態では、CPU12によって図8乃至図13に示す処理が実行される例を説明したが、これら処理は、CPU12に限らず、ASICや他の論理集積回路により実行されてもよいし、これら処理が、CPU等やASIC、他の論理集積回路が協働することにより実行されてもよい。