以下、本願の実施の形態を図面に基づいて詳細に説明する。
図1は、本願の一実施の形態に係る通信システム1の制御構成を示している。通信システム1は、PC(Personal Computer)10、スキャナ30及びルーター32を備えている。
PC10は、CPU(Central Processing Unit)12、記憶部14、パネル16、マウス18、ネットワークI/F(Interface)20を主に備えている。これらの構成要素12,14,16,18及び20は、入出力ポート22を介して互いに通信可能とされている。
ネットワークI/F20は、ルーター32を介して外部装置と通信するものであり、本実施形態では、ルーター32を介してスキャナ30に接続されている。これにより、PC10は、スキャナ30と各種データの送受信を行うことが可能である。
パネル16は、表示面を有しており、表示面に画像データに基づく画像等を表示する。マウス18は、パネル16の表示面に表示されるカーソルを移動させるためのものであり、ユーザによるドラッグ操作やクリック操作等を受け付ける。
CPU12は、記憶部14内の制御プログラム26に従って処理を実行する。制御プログラム26は、スキャナ30にスキャン処理を実行させるためのプログラムである。
なお、記憶部14は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、HDD(Hard Disk Drive)、CPU12が備えるバッファなどが組み合わされて構成されている。また、記憶部14は、データ記憶領域28を備える。データ記憶領域28は、スキャナ30から取得したスキャンデータ、制御プログラム26の実行に必要なデータなどを記憶する領域である。
通信システム1では、スキャナ30が、PC10からのスキャン指令に従って、スキャン処理を実行し、スキャン処理により生成されたスキャンデータが、PC10に送信される。この際、スキャナ30によって、少なくとも1枚以上の原稿が纏めてスキャンされた場合には、それら少なくとも1枚以上の原稿のスキャンデータが、1群のスキャンデータ(以下、「スキャンデータ群」と記載する場合がある)として、PC10に記憶される。
そして、ユーザが、そのスキャンデータ群に新たなスキャンデータを追加したい場合には、さらにスキャン処理が行われる。つまり、例えば、少なくとも1枚以上の原稿がスキャンされ、それら少なくとも1枚以上の原稿のスキャンデータがPC10に記憶されているとする。その後に、新たな原稿のスキャンデータを、先にスキャンした原稿のスキャンデータと一緒に記憶させたい場合がある。この場合、先のスキャンに続いて新たなスキャンが行われ、新たな原稿のスキャンデータと、先にスキャンした原稿のスキャンデータとが、関連付けてデータ記憶領域28内に記憶される。
図2は、パネル16上に表示されたスキャンデータ保存画面の一例を示している。図2(a)に示すスキャンデータ保存画面100は、主として、スキャンデータ群をプレビュー表示するプレビュー表示領域110と、スキャンデータ群の保存(Save)/共有(Share)を指示するための複数のボタンを表示する保存/共有指示領域120とにより構成されている。なお、図2(b)に示すスキャンデータ保存画面101も、後述する図3及び図4のスキャンデータ保存画面102〜104も、その主な画面構成は、スキャンデータ保存画面100と同様である。
図2(a)の例では、スキャンデータ群には4つのスキャンデータが含まれている。この4つのスキャンデータは、スキャナ30によって2枚の原稿それぞれの表面と裏面がスキャンされ、4つのスキャンデータとして、PC10のデータ記憶領域28に記憶されたものである。このためプレビュー表示領域110には、4つのスキャンデータのそれぞれを表示するための表示枠110a〜110dが形成され、各表示枠110a〜110d内に、各スキャンデータに係る画像(以下「スキャン画像」という)が表示されている。ここで、表示枠110a内の画像と表示枠110b内の画像はそれぞれ、1枚の原稿の表面の画像と裏面の画像に対応し、表示枠110c内の画像と表示枠110d内の画像はそれぞれ、もう1枚の原稿の表面の画像と裏面の画像に対応するものとする。なお、表示枠は、スキャンデータの数だけ形成され、本実施形態では、画像が表示されない空の表示枠は存在しない。
保存/共有指示領域120には、「PCへ保存(Save to PC)」ボタン121と、「クラウドサービスへ保存(Scan to Cloud Service)」ボタン122と、「アプリケーションで開く(Open in Application)」ボタン123と、「Eメール添付(Attach to Email)」ボタン124とが表示されている。
「PCへ保存」ボタン121は、スキャンデータ群、つまり、図2(a)の例では、表示枠110a〜110d内に表示された各画像を基にした各スキャンデータからなるスキャンデータ群をPC10のデータ記憶領域28、例えばHDD内に保存する指示を行うためのボタンである。「クラウドサービスへ保存」ボタン122は、スキャンデータ群を、ネットワークI/F20を介して接続されたサーバー(図示せず)に保存する指示を行うためのボタンである。「アプリケーションで開く」ボタン123は、スキャンデータ群に対してデータ変換等の編集を行うためのアプリケーションを起動させて、そのアプリケーションにスキャンデータ群を渡す指示を行うためのボタンである。「Eメール添付」ボタン124は、スキャンデータ群をEメールに添付して、送信先に送信する指示を行うためのボタンである。
パネル16上の表示面には、マウス18の操作に応じて表示面上を上下左右に移動するカーソル200が表示される。図2(a)は、カーソル200が表示枠110b内に位置している状態を示している。このように、ユーザがカーソル200を表示枠110b内に位置させ、表示枠110bに対して他の操作をしていない状態を、本実施形態では「マウスオーバー」という。つまり、ユーザによるこのようなカーソル操作は、「表示枠110bの画像がマウスオーバーされた」と表現する。
図2(a)に示すように、表示枠110bの画像がマウスオーバーされると、表示枠110bの中心から左側に、アイコン群150が表示される。アイコン群150には、本実施形態では、挿入アイコン150aと、削除アイコン150b(図3(a)参照)と、右回転アイコンと、左回転アイコンとが含まれる。但し、本実施形態では、挿入アイコン150a及び削除アイコン150bは本実施形態における制御処理に関連するものの、右回転アイコン及び左回転アイコンは本実施形態における制御処理に関連しない。このため、右回転アイコン及び左回転アイコンについての説明は省略する。
アイコン群150は、表示枠110bの左辺に一部が掛かっていればよく、表示枠110b内に収まっている必要はない。但し、アイコン群150の全体が、表示枠110bから外に出て表示されると、アイコン群150が、表示枠110a〜110dのどの表示枠についてのものであるか分かり難くなるため、少なくともアイコン群150の一部が表示枠110bと重なっていることが好ましい。
挿入アイコン150aは、アイコン群150が表示されている表示枠、つまり、図2(a)では、表示枠110bの左側に、新たな表示枠を設け、その表示枠に新たな原稿のスキャン画像を表示させる指示を行うためのアイコンである。挿入アイコン150aが操作されると、PC10(のCPU12)は、スキャン指令を、ネットワークI/F20及びルーター32を介してスキャナ30に送信する。これに応じてスキャナ30が新たな原稿をスキャンし、そのスキャンデータをPC10に送信すると、PC10は、そのスキャンデータを受信し、新たな表示枠を生成して、その表示枠に受信したスキャンデータに係る画像を表示する。
図2(b)は、図2(a)のスキャンデータ保存画面100において、挿入アイコン150aが操作されたときのスキャンデータ保存画面101を示している。スキャンデータ保存画面101では、新たな表示枠110eが生成され、その表示枠110eに新たな原稿のスキャン画像が表示されている。図2(b)の例では、生成された表示枠は、1つの表示枠110eのみであるので、表示枠110eの画像は、新たな1枚の原稿の片面の画像である。つまり、図2(b)におけるスキャンデータ群は、表裏ペアの2組の画像を基にしたスキャンデータと、片面の画像を基にしたスキャンデータとを含んでいる。
削除アイコン150bは、アイコン群150が表示されている表示枠、つまり、図3(a)では、表示枠110eを削除する指示を行うためのアイコンである。削除アイコン150bが操作されると、CPU12は、表示枠110eを削除するとともに、表示枠110eに表示されている画像を基にしたスキャンデータをスキャンデータ群から削除する。なお、図3(a)のスキャンデータ保存画面101は、図2(b)のスキャンデータ保存画面101と同じ画面である。但し、図3(a)と図2(b)とでは、カーソル200の位置が異なっている。
図3(b)は、図3(a)のスキャンデータ保存画面101において、削除アイコン150bが操作されたときのスキャンデータ保存画面102を示している。スキャンデータ保存画面102では、削除してもよいか注意を促すアラートウィンドウ160がポップアップ表示されている。このように、表示枠の削除は、削除アイコン150bの1回の操作だけで実行されるのではなく、その前にアラートウィンドウ160を表示して、ユーザに最終確認をさせる。ユーザは、アラートウィンドウ160内の削除ボタン162又はキャンセルボタン164を押下することにより、表示枠、つまり、図3(b)では、表示枠110eの削除をするか、削除を止めるかを選択することができる。
図4(a)は、図2(b)のスキャンデータ保存画面101において、「PCへ保存」ボタン121が押下されたときのスキャンデータ保存画面103を示している。スキャンデータ保存画面103では、「PCへ保存」を実行させる指示を行うための実行ウィンドウ170がポップアップ表示されている。実行ウィンドウ170では、PCへ保存する際のファイル名やファイルタイプも選択できるようになっている。現在、ファイルタイプとして、PDF(Portable Document Format)が選択されている。そして、実行ウィンドウ170内の設定ボタン172が押下されると、図4(b)に示すように、設定ウィンドウ180がポップアップ表示される。なお、実行ウィンドウ170のように、ファイル名やファイルタイプを選択できる画面は、上記「クラウドサービスへ保存」ボタン122、「アプリケーションで開く」ボタン123及び「Eメール添付」ボタン124のいずれかを押下することによっても表示できる。
図4(b)は、設定ボタン172が押下されたときのスキャンデータ保存画面104を示している。スキャンデータ保存画面104では、図4(a)のスキャンデータ保存画面103からさらに、設定ウィンドウ180がポップアップ表示されている。
設定ウィンドウ180では、PDFについての各種設定を行うことができる。最後のチェックボックス182aは、画像単位でのファイル分割を指示するラジオボタン182bと、原稿単位でのファイル分割を指示するラジオボタン182cのいずれか一方の指示を有効にするか否かを設定するためのチェックボックスである(以下、ラジオボタン182bあるいはラジオボタン182cの指示を有効にするか否かを「ファイル分割設定」と略す)。このように、ファイル分割の単位は、ラジオボタン182cの指示に基づく原稿毎のファイル分割に限らず、ラジオボタン182bの指示に基づく画像毎のファイル分割も認められる。なお、分割後の各ファイルに含まれる画像の個数も(画像毎のファイル分割の場合)原稿の枚数も(原稿毎のファイル分割の場合)、本実施形態ではそれぞれ、1〜99のうちのいずれかの整数値を選択設定することができる。図4(b)の設定ウィンドウ180では、分割後の各ファイルに含まれる画像の個数も原稿の枚数もともに“1”に設定されている。
図5は、画像毎のファイル分割及び原稿毎のファイル分割を説明するための図である。そして、図5(a)は、スキャンされる原稿の一例を示し、図5(b)は、図5(a)の原稿に対して画像毎のファイル分割を実行した結果を示し、図5(c)は、図5(a)の原稿に対して原稿毎のファイル分割を実行した結果を示している。なお、図5におけるファイル分割では、分割後の各ファイルに含まれる画像の個数も原稿の枚数もともに“1”に設定した場合が例示されている。
図5(a)の図示例では、5枚の原稿D1〜D5が纏めてスキャンされる。これら5枚の原稿D1〜D5のうち、3枚の原稿D1,D2,D5は、表面と裏面の両面に画像が記載され、2枚の原稿D3,D4は、表面のみに画像が記載されている。スキャナ30の白紙除去機能を有効にした状態でスキャンを実行した場合、原稿D1,D2,D5については表面と裏面の両面がスキャンされ、表面のスキャン画像D1a,D2a,D5aと裏面のスキャン画像D1b,D2b,D5bとが生成される。これに対して、原稿D3,D4についても表面と裏面の両面がスキャンされるものの、スキャナ30の白紙除去機能により、表面のスキャン画像D3a,D4aのみが生成される。
図5(a)の8つのスキャン画像D1a,D1b,D2a,D2b,D3a,D4a,D5a,D5bに対してユーザが画像毎のファイル分割を指示すると、CPU12は、図5(b)に示すように、スキャンデータ毎に1つのファイルを生成する。その結果、8つのファイルF1〜F8が生成される。ここで、“F1”〜“F8”は、CPU12がファイルを生成するときに自動的に付けたファイル名であり、8つのスキャン画像D1a,D1b,D2a,D2b,D3a,D4a,D5a,D5bのプレビュー表示領域110における並び順に沿って昇順となるファイル名が付与される。
なお、図5(b)の画像毎のファイル分割は、上述のように分割後のファイルに含まれる画像の個数を“1”に設定した場合のものである。これに対して、分割後のファイルに含まれる画像の個数を、例えば“4”に設定した場合には、4つのスキャン画像D1a,D1b,D2a,D2bを含むファイルと、4つのスキャン画像D3a,D4a,D5a,D5bを含むファイルの2つのファイルが生成されることになる。
一方、図5(a)の8つのスキャン画像D1a,D1b,D2a,D2b,D3a,D4a,D5a,D5bに対してユーザが原稿毎のファイル分割を指示すると、CPU12は、図5(c)に示すように、表面と裏面の両面に画像が記載されている原稿D1,D2,D5については、表裏ペアのスキャン画像を含むファイルF11,F12,F15を生成し、片面のみに画像が記載されている原稿D3,D4については、片面のスキャン画像を含むファイルF13,F14とを生成する。その結果、5つのファイルF11〜F15が生成される。これら“F11”〜“F15”も、CPU12がファイルを生成するときに自動的に付けたファイル名であり、8つのスキャン画像D1a,D1b,D2a,D2b,D3a,D4a,D5a,D5bのプレビュー表示領域110における並び順に沿って昇順となるファイル名が付与される。
なお、図5(c)の原稿毎のファイル分割は、上述のように分割後のファイルに含まれる原稿の枚数を“1”に設定した場合のものである。これに対して、分割後のファイルに含まれる原稿の枚数を、例えば“2”に設定した場合には、4つのスキャン画像D1a,D1b,D2a,D2bを含むファイルと、2つのスキャン画像D3a,D4aを含むファイルと、2つのスキャン画像D5a,D5bを含むファイルの3つのファイルが生成されることになる。
次に、原稿毎のファイル分割を適正に行うためにスキャンデータを管理する方法について説明する。
図6(a)は、スキャナ30によって3枚の原稿D11〜D13それぞれの表面と裏面がスキャンされて、6つのスキャン画像D11a〜D13bが生成され、プレビュー表示領域110に表示された例を示している。各スキャン画像D11a〜D13bには、2桁の整数値からなるID(Identification)が付与されている。例えば、原稿D11の表面のスキャン画像D11aには、“11”というIDが付与されている。“11”のうち、2桁目の“1”は、プレビュー表示領域110に最初に表示されている原稿D11のスキャン画像であることを示している。そして、1桁目の“1”は、原稿D11の表面であることを示している。なお、1桁目の整数値が“2”である場合は、原稿D11の裏面であることを示している。したがって、プレビュー表示領域110に3番目に表示されている原稿D13の裏面のスキャン画像D13bには、“32”というIDが付与される。なお、図6(a)には(図6(b),(c)や図7〜図11でも同様)、IDが各スキャン画像D11a〜D13b上に表示されているが、これは説明の便宜上そのように記載しているに過ぎず、実際には、IDは、各スキャン画像D11a〜D13b上には表示されない。但し、図2〜図4において、プレビュー表示領域110に形成された各表示枠110a〜110e内の画像上の整数値は、実際の画像を示し、IDではない。また、表裏ペアのスキャン画像の下に表示されている整数値、例えば、原稿D11に対する表裏ペアのスキャン画像D11a,D11bの下に表示されている“1”は、プレビュー表示領域110内の並び順を示している。この整数値は、本実施形態では、プレビュー表示領域110内に表示されるが、これに限らず、表示しなくてもよい。
図6(b)は、ユーザの指示に応じて、図6(a)に示すスキャン画像D11a〜D13bから原稿D12の表裏ペアのスキャン画像D12a,D12bを削除した状態を示している。図6(a)に示すように、スキャン画像D12bがマウスオーバーされると、スキャン画像D12aの左端にアイコン群150が表示される。なお、スキャン画像D12aがマウスオーバーされたときも同様に、アイコン群150は、スキャン画像D12aの左端に表示される。このように、ユーザがカーソル200により表裏ペアのスキャン画像のいずれかを指示したときに、アイコン群150が、表面のスキャン画像の左端のみに表示されるのは、アイコン群150に含まれる削除アイコン150bを操作することにより、表裏ペアのスキャン画像を一括削除できるようにするためである。
図6(c)は、原稿D12の表裏ペアのスキャン画像D12a,D12bが一括削除された後のプレビュー表示領域110の表示状態を示している。図6(c)に示すように、プレビュー表示領域110には、3番目に表示されていた原稿D13の表裏ペアのスキャン画像D13a,D13bに係る各画像が、2番目に表示されていた原稿D12の表裏ペアのスキャン画像D12a,D12bに係る各画像の位置に詰めて表示される。そして、スキャン画像D13a,D13bにそれぞれ付けられていたID“31”,“32”も、それぞれID“21”,“22”に付け替えられる。
このように、図6は、3枚の原稿D11〜D13の表裏ペアのスキャン画像D11a〜D13bから、1枚の原稿D12の表裏ペアのスキャン画像D12a,D12bを一括削除した場合を示している。これに対して、図7は、3枚の原稿D11〜D13の表裏ペアのスキャン画像D11a〜D13bから、1枚の原稿D12の裏面のスキャン画像D12bを削除した場合を示している。
ユーザが、プレビュー表示領域110に表示されている表裏ペアのスキャン画像上をカーソル200で、例えば対角線状になぞると、各スキャン画像上にアイコン群が表示される。具体的には、図7(a)の矢印の前に示すように、ユーザが表裏ペアのスキャン画像D12a,D12b上をカーソル200で対角線状になぞると、スキャン画像D12a上にアイコン群150が表示されるとともに、スキャン画像D12b上にアイコン群150′が表示される。そして、ユーザがカーソル200をアイコン群150′内の削除アイコン150′bに位置させ、マウス18をクリック操作すると、上述のようにアラートウィンドウ160のポップアップ表示を経て、図7(a)の矢印の後に示すように、CPU12は、スキャン画像D12bをプレビュー表示領域110から消去するとともに、スキャン画像D12bの基とするスキャンデータも、スキャンデータ群から削除する。このとき、各スキャン画像に対するIDの更新はなされない。
図7(b)は、図7(a)に対して、表裏ペアのスキャン画像の一方を削除する方法が異なっている。図7(b)の矢印の前に示すように、スキャン画像D12bがマウスオーバーされると、図6(a)と同様に、スキャン画像D12aの左端にアイコン群150が表示される。そして、ユーザがカーソル200をアイコン群150内の削除アイコン150bに位置させ、マウス18をクリック操作すると、CPU12は、表裏ペアのスキャン画像全体、表裏ペアのスキャン画像のうちの表面のスキャン画像、及び、表裏ペアのスキャン画像のうちの裏面のスキャン画像のいずれの画像を削除するかを選択する画面(図示せず)をパネル16上にポップアップ表示する。ユーザが、表裏ペアのスキャン画像のうちの裏面のスキャン画像を削除する指示を行うと、図7(b)の矢印の後に示すように、CPU12は、スキャン画像D12bをプレビュー表示領域110から消去するとともに、スキャン画像D12bの基とするスキャンデータも、スキャンデータ群から削除する。このとき、各スキャン画像に対するIDの更新はなされない。
なお、図6及び図7においてスキャン画像を削除する場合、誤操作によりスキャン画像を削除することが起こり得る。これに対処するために、削除したスキャン画像を一時的に、上記データ記憶領域28に保存しておき、ユーザのアンドゥ操作に応じて、CPU12がデータ記憶領域28から保存されたスキャン画像を読み出して、プレビュー表示領域110に戻すようにすればよい。このとき、CPU12は、スキャン画像を削除するユーザ操作の履歴を記憶し、直前の削除操作に限らず、何回か前の削除操作に係るスキャン画像も復元できるようにしてもよい。
このように、図6及び図7はそれぞれ、表裏ペアのスキャン画像及び片面のスキャン画像をプレビュー表示領域110から削除する場合を示している。これに対して、図8は、プレビュー表示領域110に表裏ペアのスキャン画像及び片面のスキャン画像を挿入する場合を示している。
図8(a)に示すように、スキャン画像D12bがマウスオーバーされると、図6(a)と同様に、スキャン画像D12aの左端にアイコン群150が表示される。そして、ユーザがカーソル200をアイコン群150内の挿入アイコン150aに位置させ、マウス18をクリック操作すると、CPU12は、両面スキャン及び片面スキャンのいずれを行うかを選択する画面(図示せず)をパネル16上にポップアップ表示する。
ユーザが、両面スキャンの実行を指示すると、図8(b)に示すように、CPU12は、最初の原稿D11の表裏ペアのスキャン画像D11a,D11bと、2番目の原稿D12の表裏ペアのスキャン画像D12a,D12bとの間に、4番目の原稿D14の表裏ペアのスキャン画像D14a,D14bを挿入して表示する。そして、CPU12は、原稿D14の表裏ペアのスキャン画像D14a,D14bにそれぞれ、ID“21”,“22”を付与する。これに応じて、CPU12は、原稿D12,D13についてのスキャン画像D12a,D12b,D13a,D13bの各IDを後ろにずらし、それぞれ“31”,“32”,“41”,“42”に更新する。
一方、ユーザがポップアップ表示された画面から片面スキャンの実行を指示すると、図8(c)に示すように、最初の原稿D11の表裏ペアのスキャン画像D11a,D11bと、2番目の原稿D12の表裏ペアのスキャン画像D12a,D12bとの間に、4番目の原稿D14′の片面のスキャン画像D14′aを挿入して表示する。そして、CPU12は、原稿D14′の片面のスキャン画像D14′aにID“21”を付与する。これに応じて、CPU12は、原稿D12,D13についてのスキャン画像D12a,D12b,D13a,D13bの各IDを後ろにずらし、それぞれ“31”,“32”,“41”,“42”に更新する。
図6〜図8に示す方法で各スキャン画像にIDを付与すると、新たなスキャンデータの挿入後あるいはスキャンデータの削除後にスキャンデータをファイル分割することによって生じ得るスキャンデータの不整合を回避することができる。この理由は、各スキャン画像がどの原稿のどの面についてのものであるかを示す情報が、各スキャン画像に付与されたID内に含まれているからである。したがって、IDに基づいて各スキャン画像をファイル分割すれば、整合性を保ったまま原稿毎のファイル分割を実行することができる。
図8は、原稿と原稿との間に、つまり、先行する原稿の裏面のスキャン画像と後続する原稿の表面のスキャン画像との境界位置に、表裏ペアのスキャン画像又は片面のスキャン画像を挿入する場合を示している。これに対して、図9は、1枚の原稿の表面のスキャン画像と裏面のスキャン画像との間に、片面のスキャン画像を挿入する場合を示している。なお、図9には、図8(c)と同様に、原稿と原稿との間に片面のスキャン画像を挿入する場合と、図7(b)と同様に、表裏ペアのスキャン画像から裏面のスキャン画像を削除する場合も示されている。
図9(a)は、図6(a)と同様に、スキャナ30によって3枚の原稿D11〜D13それぞれの表面と裏面をスキャンし、生成した6つのスキャン画像D11a〜D13bを示している。
図9(b)は、図9(a)の6つのスキャン画像D11a〜D13bのうち、原稿D11の表面のスキャン画像D11aと裏面のスキャン画像D11bとの間に、4枚目の原稿の片面のスキャン画像D15を挿入するとともに、原稿D12の表裏ペアのスキャン画像D12a,D12bと、原稿D13の表裏ペアのスキャン画像D13a,D13bとの間に、5枚目の原稿の片面のスキャン画像D16を挿入した場合を示している。
図9(b)の例では、挿入したスキャン画像D15,D16のIDとして、CPU12は、挿入前のスキャンデータ群に含まれるスキャン画像D11a〜D13bとは種類の異なるIDを付与している。具体的には、スキャン画像D11a〜D13bに付与したIDは、2桁の整数値であるのに対して、スキャン画像D15,D16に付与したIDは、大文字のアルファベットである。なお、挿入したスキャン画像D15,D16のIDは、大文字のアルファベットに限らず、1桁の整数値等、挿入前のスキャンデータ群に含まれるスキャン画像と種類の異なるIDであれば、どのような態様のものを採用してもよい。
このように、挿入前のスキャンデータ群に含まれるスキャン画像のIDの種別と、挿入後のスキャン画像のIDの種別とを異ならせたのは、次の理由による。つまり、1枚の原稿の表面のスキャン画像と裏面のスキャン画像との間に、片面のスキャン画像を挿入すると、挿入した片面のスキャン画像が、隣接する表面のスキャン画像に属するものであるか、隣接する裏面のスキャン画像に属するものか、あるいは、その1枚の原稿に属するものかの判断が、挿入した時点では分からず、図11に基づいて後述するように、最終的にユーザの判断を仰ぐことになるからである。したがって、挿入後のスキャン画像のIDの種別を、挿入前のスキャンデータ群に含まれるスキャン画像のIDの種別と異ならせれば、スキャン画像が挿入前のものであるか、挿入後のものであるかが分かり、後述の処理を実行するときに便利だからである。
図9(c)は、図9(a)の6つのスキャン画像D11a〜D13bから、原稿D11の裏面のスキャン画像D11bを削除した状態を示している。図9(c)の例は、上記図7の例と、削除対象の原稿が異なるのみであるので、これ以上の説明は省略する。
図10は、図9に対して、スキャン画像D11a′〜D13b′に付与するIDの態様が異なっている。つまり、図9におけるスキャン画像D11a〜D13bには、プレビュー表示領域110に表示された表裏ペアのスキャン画像の表示位置と、表面及び裏面のいずれかとをそれぞれ示す整数値のペアからなる態様のIDを付与していたのに対して、図10におけるスキャン画像D11a′〜D13b′には、“1”から連番とする整数値からなる態様のIDを付与する点が異なっている。図10の例では、IDと、表裏ペアのスキャン画像の表示位置と、表面及び裏面のいずれかとをそれぞれ示す情報との対応付けを、例えばテーブルデータの形式で上記データ記憶領域28内に記憶しておく必要がある。
このように、図10に示す方法で各スキャン画像にIDを付与した場合でも、新たなスキャンデータの挿入後あるいはスキャンデータの削除後にスキャンデータをファイル分割することによって生じ得るスキャンデータの不整合を回避することができる。この理由は、各スキャン画像がどの原稿のどの面についてのものであるかを示す情報が、各スキャン画像に付与されたID内に含まれていなくても、上記テーブルデータを参照すれば分かるからである。したがって、ID及びテーブルデータに基づいて各スキャン画像をファイル分割すれば、整合性を保ったまま原稿毎のファイル分割を実行することができる。
図11は、図9(b)のスキャン画像を1原稿毎にファイル分割した場合を示している。但し、図11には、図9(b)の8つのスキャン画像D11a〜D13b全てではなく、そのうちの5つのスキャン画像D11a〜D12bが図示されている。
5つのスキャン画像D11a〜D12bには、上述のように、原稿D11の表面のスキャン画像D11aと裏面のスキャン画像D11bとの間に、4枚目の原稿の片面のスキャン画像D15が挿入されている。この場合、スキャン画像D15は、分割後のどのファイルに含まれるか問題となる。具体的には、スキャン画像D15は、矢印G1〜G3でそれぞれ示されるファイルのいずれかに含まれることになるが、CPU12は、どのファイルに含ませるか判断することができないからである。したがって、ユーザが1原稿毎のファイル分割を指示すると、CPU12は、矢印G1〜G3でそれぞれ示される3種類の分割態様を提示する画面(図示せず)をポップアップ表示し、その中からユーザが選択した態様にファイル分割するようにすればよい。
次に、PC10、特にCPU12が実行する制御処理を、図12及び図13に基づいてさらに詳細に説明する。
図12及び図13は、CPU12が実行するスキャナ関連処理の手順を示している。以降、各処理の手順の説明において、ステップを「S」と表記する。
スキャナ関連処理は、上記制御プログラム26に含まれる一処理であり、例えば、ユーザによるスキャナ関連処理の起動指示に応じて開始する。スキャナ関連処理は、主として、スキャンデータ群を生成する処理(S12〜S18)と、スキャンデータ群にスキャンデータを挿入するスキャンデータ挿入処理(S22〜S34)と、スキャンデータ群からスキャンデータを削除するスキャンデータ削除処理(S42〜S48)と、ファイル分割処理(S52〜S64)とにより構成されている。
図12において、まずCPU12は、例えば、パネル16上に表示された両面スキャン開始ボタン(図示せず)が押下されたか否かを判断する(S10)。なお、本実施形態では説明の複雑化を避けるため、スキャンデータ群の生成は、スキャナ30に原稿の両面スキャンを実行させることにより行うこととする。つまり、スキャナ30に原稿の片面スキャンのみを実行させたり、両面スキャンと片面スキャンとを併せて実行させたりして、スキャンデータ群を生成することはしないものとする。但し、原稿の両面スキャンによって生成されたスキャンデータ群は、表裏ペアのスキャンデータのみからなるとは限らず、スキャナ30の白紙除去機能によってスキャナ30から受信した片面のスキャンデータも混在するものとする(図5(a)参照)。
上記S10の判断において、両面スキャン開始ボタンが押下されたと判断される場合(S10:YES)、CPU12は、両面スキャンのスキャン指令を、上記ネットワークI/F20及び上記ルーター32を介してスキャナ30に送信する(S12)。
次にCPU12は、スキャナ30からスキャンデータを受信するまで待機し(S14:NO)、スキャナ30からスキャンデータを受信する(S14:YES)と、CPU12は、受信したスキャンデータにIDを付与し、スキャンデータ群として、上記データ記憶領域28、例えばRAM内に一時的に記憶する(S16)。
次にCPU12は、スキャンデータ群に含まれる各スキャンデータに係る各画像、つまり、各スキャン画像を、上記図6(a)に示すようにプレビュー表示領域110に表示した(S18)後、処理をS20に進める。
一方、上記S10の判断において、両面スキャン開始ボタンが押下されないと判断される場合(S10:NO)、CPU12は、処理をS20に進める。
S20では、CPU12は、スキャン画像の挿入が指示されたか否かを判断する。スキャン画像を挿入する指示は、例えば、図8(a)を用いて上述したように、ユーザがスキャン画像D12bをマウスオーバーすることによってスキャン画像D12aの左端にアイコン群150を表示させ、さらにカーソル200をアイコン群150内の挿入アイコン150aに位置させた状態で、マウス18をクリック操作することにより行う。
S20の判断において、スキャン画像の挿入が指示されたと判断される場合(S20:YES)、CPU12は、表裏ペアのスキャン画像の挿入が指示されたか否かを判断する(S22)。図8を用いて上述したように、ユーザは、スキャン画像を挿入するに際して、表裏ペアのスキャン画像及び片面のスキャン画像のうち、いずれかのスキャン画像を選択して挿入することができる。S22において、CPU12は、ユーザがいずれのスキャン画像の挿入を指示しているかを判断している。
S22の判断において、表裏ペアのスキャン画像の挿入が指示されたと判断される場合(S22:YES)、CPU12は、スキャナ30から受信した表裏ペアのスキャンデータに係る画像、つまり、表裏ペアのスキャン画像をプレビュー表示領域110上、挿入が指示された位置に表示するとともに、その表裏ペアのスキャンデータにIDを付与する(S24)。上記図8(b)の例では、CPU12は、最初の原稿D11の表裏ペアのスキャン画像D11a,D11bと、2番目の原稿D12の表裏ペアのスキャン画像D12a,D12bとの間に、4番目の原稿D14の表裏ペアのスキャン画像D14a,D14bを挿入して表示する。そして、CPU12は、原稿D14の表裏ペアのスキャン画像D14a,D14bにそれぞれ、ID“21”,“22”を付与する。
次にCPU12は、受信した表裏ペアのスキャンデータを所属させるスキャンデータ群に含まれているスキャンデータのIDを更新する(S26)。上記図8(b)の例では、CPU12は、原稿D12,D13についてのスキャン画像D12a,D12b,D13a,D13bの各IDを後ろにずらし、それぞれ“31”,“32”,“41”,“42”に更新する。但し、原稿D11についてのスキャン画像D11a,D11bの各IDは、更新されず、それぞれ“11”,“12”を維持する。
次にCPU12は、受信した表裏ペアのスキャンデータ、つまり、S24においてIDを付与した表裏ペアのスキャンデータを、S26においてIDを更新した後のスキャンデータ群に所属させた(図13のS28)後、処理をS50に進める。
一方、上記S22の判断において、表裏ペアのスキャン画像の挿入が指示されなかったと判断される場合(S22:NO)、つまり、片面のスキャンデータの挿入が指示されたと判断される場合、CPU12は、スキャナ30から受信した片面のスキャンデータに係る画像、つまり、片面のスキャン画像をプレビュー表示領域110上、挿入が指示された位置に表示するとともに、その片面のスキャンデータにIDを付与する(S30)。上記図8(c)の例では、CPU12は、最初の原稿D11の表裏ペアのスキャン画像D11a,D11bと、2番目の原稿D12の表裏ペアのスキャン画像D12a,D12bとの間に、4番目の原稿D14′の片面のスキャン画像D14′aを挿入して表示する。そして、CPU12は、原稿D14′の片面のスキャン画像D14′aにID“21”を付与する。
次にCPU12は、受信した片面のスキャンデータを所属させるスキャンデータ群に含まれているスキャンデータのIDを更新する(S32)。上記図8(c)の例では、CPU12は、原稿D12,D13についてのスキャン画像D12a,D12b,D13a,D13bの各IDを後ろにずらし、それぞれ“31”,“32”,“41”,“42”に更新する。但し、原稿D11についてのスキャン画像D11a,D11bの各IDは、更新されず、それぞれ“11”,“12”を維持する。
次にCPU12は、受信した片面のスキャンデータ、つまり、S30においてIDを付与した片面のスキャンデータを、S32においてIDを更新した後のスキャンデータ群に所属させた(図13のS34)後、処理を上記S50に進める。
一方、上記S20の判断において、スキャン画像の挿入が指示されなかったと判断される場合(S20:NO)、CPU12は、スキャン画像の削除が指示されたか否かを判断する(S40)。スキャン画像を削除する指示は、例えば、図7(b)を用いて上述したように、ユーザがスキャン画像D12bをマウスオーバーすることによってスキャン画像D12aの左端にアイコン群150を表示させ、さらにカーソル200をアイコン群150内の削除アイコン150bに位置させた状態で、マウス18をクリック操作することにより行う。
S40の判断において、スキャン画像の削除が指示されたと判断される場合(S40:YES)、CPU12は、表裏ペアのスキャン画像の削除が指示されたか否かを判断する(S42)。図6及び図7を用いて上述したように、ユーザは、スキャン画像を削除するに際して、表裏ペアのスキャン画像及び片面のスキャン画像のうち、いずれかのスキャン画像を選択して削除することができる。S42において、CPU12は、ユーザがいずれのスキャン画像の削除を指示しているかを判断している。
S42の判断において、表裏ペアのスキャン画像の削除が指示されたと判断される場合(S42:YES)、CPU12は、削除指示された表裏ペアのスキャンデータに係る画像、つまり、表裏ペアのスキャン画像をプレビュー表示領域110から消去するとともに、その表裏ペアのスキャンデータをスキャンデータ群から削除する(S44)。上記図6(b)の例では、CPU12は、上記図6(a)に示すスキャン画像D11a〜D13bから原稿D12の表裏ペアのスキャン画像D12a,D12bを削除する。これに応じて、上記図6(c)に示すように、プレビュー表示領域110には、3番目に表示されていた原稿D13の表裏ペアのスキャン画像D13a,D13bに係る各画像が、2番目に表示されていた原稿D12の表裏ペアのスキャン画像D12a,D12bに係る各画像の位置に詰めて表示される。
次にCPU12は、表裏ペアのスキャンデータの削除後のスキャンデータ群に含まれるスキャンデータのIDを更新した(図13のS46)後、処理を上記S50に進める。上記図6(c)の例では、CPU12は、スキャン画像D13a,D13bにそれぞれ付けられていたID“31”,“32”を、それぞれID“21”,“22”に付け替える。但し、原稿D11についてのスキャン画像D11a,D11bの各IDは、更新されず、それぞれ“11”,“12”を維持する。
一方、上記S42の判断において、表裏ペアのスキャン画像の削除が指示されなかったと判断される場合(S42:NO)、つまり、片面のスキャン画像の削除が指示されたと判断される場合、CPU12は、削除指示された片面のスキャンデータに係る画像、つまり、片面のスキャン画像をプレビュー表示領域110から消去するとともに、その片面のスキャンデータをスキャンデータ群から削除した(S48)後、処理を上記S50に進める。この場合、図7を用いて上述したように、片面のスキャンデータの削除後のスキャンデータ群に含まれるスキャンデータのIDは更新されない。
一方、上記S40の判断において、スキャン画像の削除が指示されなかったと判断される場合(S40:NO)、CPU12は、処理を上記S50に進める。
S50(図13)では、CPU12は、ファイル分割が指示されたか否かを判断する。この判断において、ファイル分割が指示されなかったと判断される場合(S50:NO)、CPU12は、スキャナ関連処理を終了する。
一方、S50の判断において、ファイル分割が指示されたと判断される場合(S50:YES)、CPU12は、指示されたファイル分割は、原稿毎のファイル分割であるか否かを判断する(S52)。図4を用いて上述したように、本実施形態ではファイル分割として、画像毎のファイル分割と原稿毎のファイル分割とがあり、ユーザはいずれかを選択できるようになっている。このため、CPU12は、S52において、ユーザがいずれのファイル分割を選択しているかを判断している。
S52の判断において、指示されたファイル分割が原稿毎のファイル分割であると判断される場合(S52:YES)、CPU12は、スキャンデータ群に属するスキャンデータをID及び設定されている原稿の枚数に基づいてファイル分割した(S54)後、処理をS60に進める。例えば、上記図8(c)のスキャンデータ群がプレビュー表示領域110に表示され、かつ、原稿の枚数として“1”が設定されている状態で、ユーザが原稿毎のファイル分割を指示したとする。これに応じて、まずCPU12は、2桁のIDのうち、2桁目の整数値が異なる数だけファイルを生成する。次にCPU12は、生成した各ファイルにスキャンデータを入れる。このとき、CPU12は、2桁目の整数値が一致するスキャンデータがあるか否かを判断し、一致するスキャンデータがあれば、表裏ペアのスキャンデータとして1つのファイルに入れるが、例えば、1桁目の整数値が“1”である表面のスキャンデータを、1桁目の整数値が“2”である裏面のスキャンデータより前に配列して入れる。一方、一致するスキャンデータがなければ、片面のスキャンデータとして1つのファイルに入れる。この結果、4つの分割ファイルが生成される。
一方、S52の判断において、指示されたファイル分割が原稿毎のファイル分割でないと判断される場合(S52:YES)、つまり、指示されたファイル分割が画像毎のファイル分割であると判断される場合、CPU12は、スキャンデータ群に属するスキャンデータをID及び設定されている画像の枚数に基づいてファイル分割した(S56)後、処理をS60に進める。原稿毎のファイル分割が指示されたときと同様に、例えば、上記図8(c)のスキャンデータ群がプレビュー表示領域110に表示され、かつ、画像の個数として“1”が設定されている状態で、ユーザが画像毎のファイル分割を指示したとする。この場合、CPU12は、各スキャンデータを区別するために各IDを使用する。したがって、CPU12は、IDの数だけファイルを生成し、各ファイルに1つのスキャンデータを入れる。この結果、7つの分割ファイルが生成される。
S60では、CPU12は、ファイル名の自動付与設定がなされているか否かを判断する。この判断において、ファイル名の自動付与設定がなされていると判断される場合(S60:YES)、CPU12は、各分割ファイルに対して、ファイル名を自動付与した(S62)後、スキャナ関連処理を終了する。これにより、図5(b),(c)を用いて上述したように本実施形態では、プレビュー表示領域110における並び順に沿って昇順となるファイル名が付与される。もちろん、昇順に限らず、降順であってもよいし、ファイル分割した日付や時刻を加えるようにしてもよい。
一方、S60の判断において、ファイル名の自動付与設定がなされていないと判断される場合(S60:NO)、CPU12は、各分割ファイルに対して、ユーザが入力したファイル名を付与した(S64)後、スキャナ関連処理を終了する。
以上説明したように、本実施形態の制御プログラム26は、原稿の表面及び裏面の各画像を読取り可能なスキャナ30と通信を行うPC10に、スキャナ30によって読み取られた原稿の画像であって、スキャナ30から受信した画像に基づき、原稿の表面画像と、原稿の裏面画像とを交互に並べてなるプレビュー表示領域110をPC10のパネル16に表示する表示処理と、表示処理によってプレビュー表示領域110内に表示されている複数の画像を、先行する原稿の裏面画像と後続する原稿の表面画像とを境界にして分割する原稿単位分割を行い、原稿単位分割された画像をそれぞれ別のファイルとして作成する作成処理と、スキャナ30によって新たに読み取られる原稿の画像を、表示処理によってプレビュー表示領域110内に表示されている画像と同一の群として挿入する挿入処理、及び、表示処理によってプレビュー表示領域110内に表示されている画像の一部を削除する削除処理のうち、少なくとも一方を行う編集処理と、編集処理の前における原稿の画像、及び、編集処理の後における原稿の画像のそれぞれに対して、画像を一意的に特定できるIDを付与する付与処理と、を実行させ、作成処理は、付与処理によって原稿のそれぞれに付与されたIDに基づいて、原稿単位分割を行う。
このように、本実施形態の制御プログラム26では、新たなスキャンデータの挿入後あるいはスキャンデータの削除後にスキャンデータをファイル分割することによって生じ得るスキャンデータの不整合を回避することができる。
ちなみに、本実施形態において、制御プログラム26は、「情報処理プログラム」の一例である。スキャナ30は、「画像読取装置」の一例である。PC10は、「情報処理装置」の一例である。プレビュー表示領域110は、「読取結果画面」の一例である。パネル16は、「表示部」の一例である。IDは、「特定情報」の一例である。
また、付与処理は、同一原稿であっても、表面画像と裏面画像とにそれぞれ異なるIDを付与し、作成処理は、付与処理によって表面画像と裏面画像とにそれぞれ付与されたIDに基づいて、原稿単位分割を行う。
これにより、整合性を保ったまま原稿単位分割を実行することができる。
また、付与処理は、編集処理が実行される度に、プレビュー表示領域110内に表示されている画像の順序に沿うようにIDを更新する。
これにより、プレビュー表示領域110内に表示されている画像について、整合性を保ったまま原稿単位分割を実行することができる。
また、付与処理は、編集処理によって新たな画像が挿入された場合には、挿入された画像には、プレビュー表示領域110内に表示されている画像に付与されたIDとは種類の異なるIDを付与する。
これにより、挿入された画像と、プレビュー表示領域110内に表示されている画像とを区別して認識することができる。
また、PC10にさらに、編集処理によって画像の一部が削除された場合に、削除された一部の画像の一部又は全部を元に戻すアンドゥ処理を実行させる。
これにより、画像の削除操作に対する誤操作に対処することができる。
また、作成処理は、編集処理によって同一原稿の表面画像と裏面画像との間に新たな原稿の画像が挿入された場合には、表面画像と挿入された画像とからなる第1分割態様、挿入された画像と裏面画像とからなる第2分割態様、及び、表面画像と挿入された画像と裏面画像とからなる第3分割態様のうち、少なくとも2つの選択枝を提示し、ユーザによって選択された分割態様に従って、原稿単位分割を行う。
これにより、ユーザの意図通りに原稿単位分割を実行することができる。
また、作成処理は、原稿単位分割された画像を指定したページ数分含むファイルも作成できる。
これにより、ユーザの意図通りに原稿単位分割を実行することができる。
また、作成処理は、プレビュー表示領域110内に表示されている画像の順序に沿うようなファイル名のファイルを作成する。
これにより、ファイル名と画像の表示順とを対応付けることができるので、ユーザにとって便利である。
なお、本発明は上記実施形態に限定されるものでなく、その趣旨を逸脱しない範囲で様々な変更が可能である。
(1)上記実施形態では、スキャナ30は、PC10とネットワークI/F20及びルーター32を介して、通信ネットワーク経由で接続されているが、これに限らず、通信ネットワークを経由せず、直接、例えばUSB(Universal Serial Bus)によって接続されていてもよい。
(2)上記実施形態では、スキャナ30は、主としてスキャン機能のみを備えたものを採用したが、これに限らず、スキャン機能を含む複合機を採用してもよい。
(3)上記実施形態では、PC10に接続される機器は、1台のスキャナ30のみとしたが、これに限らず、複数台のスキャナが接続され、その中からいずれかを選択可能に構成してもよい。この場合、スキャナだけでなく、複合機も接続され、選択対象としてもよい。