(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022107911
(43)【公開日】2022-07-25
(54)【発明の名称】プログラム及びスキャンシステム
(51)【国際特許分類】
H04N 1/00 20060101AFI20220715BHJP
【FI】
H04N1/00 127Z
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2021002606
(22)【出願日】2021-01-12
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000992
【氏名又は名称】弁理士法人ネクスト
(72)【発明者】
【氏名】神間 唯
【テーマコード(参考)】
5C062
【Fターム(参考)】
5C062AA02
5C062AA05
5C062AA13
5C062AA29
5C062AB02
5C062AB17
5C062AB20
5C062AB23
5C062AB38
5C062AB42
5C062AC02
5C062AC05
5C062AC22
5C062AC34
5C062AE03
5C062AE07
5C062AE15
5C062AF00
5C062AF02
5C062AF15
(57)【要約】
【課題】スキャン画像の保存領域の位置が間違って記載されていたとしても、可及的に正しい位置の保存領域にスキャン画像を保存することが可能となる技術を提供する。
【解決手段】情報処理プログラムは、CPU140に、通信IF160を介して受信したスキャン画像を、CPU140が参照可能な外部ファイルに記載されたメモリ150上のフォルダであって、その位置がフォルダパスにより示されるフォルダに保存する保存処理と、フォルダのフォルダパスを補正する必要があるか否かを判断する判断処理と、判断処理によりフォルダのフォルダパスを補正する必要があると判断した場合、フォルダのフォルダパスを補正する補正処理と、を実行させ、保存処理では、補正処理による補正後のフォルダパスが示す位置のフォルダに受信したスキャン画像を保存する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
通信インタフェースを備えた情報処理装置のコンピュータが実行可能なプログラムであって、
前記コンピュータに、
前記通信インタフェースを介して受信したスキャン画像を、前記コンピュータが参照可能な所定のファイルに記載された記憶装置上の保存領域であって、その位置が文字列により示される保存領域に保存する保存処理と、
前記保存領域の位置を示す前記文字列を補正する必要があるか否かを判断する判断処理と、
前記判断処理により前記保存領域の位置を示す前記文字列を補正する必要があると判断した場合、前記保存領域の位置を示す前記文字列を補正する補正処理と、
を実行させ、
前記保存処理では、前記補正処理による補正後の文字列が示す位置の保存領域に前記受信したスキャン画像を保存する、
プログラム。
【請求項2】
前記判断処理では、前記保存領域の位置を示す前記文字列内に所定の文字又は文字列が含まれているときに、前記保存領域の位置を示す前記文字列を補正する必要があると判断し、
前記補正処理では、前記保存領域の位置を示す前記文字列から前記所定の文字又は文字列を削除することにより、前記保存領域の位置を示す前記文字列を補正する、
請求項1に記載のプログラム。
【請求項3】
前記保存処理では、前記補正処理により前記保存領域の位置を示す前記文字列から前記所定の文字又は文字列が削除された後の文字列が示す位置の保存領域が前記記憶装置上に存在しない場合、前記記憶装置上に存在する所定の保存領域に前記受信したスキャン画像を保存する、
請求項2に記載のプログラム。
【請求項4】
前記所定の文字又は文字列は、前記保存領域の位置としての使用が禁止されている文字又は文字列である、
請求項2又は3に記載のプログラム。
【請求項5】
前記判断処理では、前記保存領域の位置を示す前記文字列内に誤入力文字が含まれているときに、前記保存領域の位置を示す前記文字列を補正する必要があると判断し、
前記補正処理では、前記誤入力文字を正しい文字に修正することにより、前記保存領域の位置を示す前記文字列を補正する、
請求項1に記載のプログラム。
【請求項6】
前記受信したスキャン画像が、スキャナに対する直接のユーザ操作に応じて前記スキャナが生成して送信したスキャン画像を、前記通信インタフェースを介して受信したものであり、かつ前記ユーザ操作がなされる前に前記保存領域の位置の確認が一度もなされておらず、さらに前記保存領域が前記記憶装置上に存在しない場合、前記保存処理では、前記記憶装置上の一時的な保存領域に前記受信したスキャン画像を保存する、
請求項1~5のいずれか1項に記載のプログラム。
【請求項7】
前記情報処理装置はさらに、ディスプレイを備え、
前記所定のファイルには、前記保存処理により前記スキャン画像を保存したときに、保存した前記スキャン画像を、その保存領域の位置を提示しつつ、前記ディスプレイに表示する表示処理を前記コンピュータに実行させるか否かを指示する指示情報を記載でき、
前記保存処理により前記記憶装置上の一時的な保存領域に前記受信したスキャン画像を保存したときには、前記指示情報が前記表示処理を実行させないことを指示している場合であっても、前記表示処理を前記コンピュータに強制的に実行させる、
請求項6に記載のプログラム。
【請求項8】
前記記憶装置上の保存領域は、記憶装置上のフォルダであり、
前記保存領域の位置は、フォルダパスである、
請求項1~7のいずれか1項に記載のプログラム。
【請求項9】
情報処理装置と、前記情報処理装置と接続されたスキャナとを含むスキャンシステムであって、
前記情報処理装置は、
通信インタフェースと、制御装置と、
を備え、
前記制御装置は、
前記通信インタフェースを介して接続されたスキャナにスキャン指示を行ったことに応じて、又は、前記スキャナに対する直接のユーザ操作によるスキャン指示を行ったことに応じて、前記スキャナが生成して送信したスキャン画像を、前記通信インタフェースを介して受信し、受信した前記スキャン画像を、前記制御装置が参照可能な所定のファイルに記載された記憶装置上の保存領域であって、その位置が文字列により示される保存領域に保存する保存処理と、
前記保存領域の位置を示す前記文字列を補正する必要があるか否かを判断する判断処理と、
前記判断処理により前記保存領域の位置を示す前記文字列を補正する必要があると判断した場合、前記保存領域の位置を示す前記文字列を補正する補正処理と、
を実行し、
前記保存処理では、前記補正処理による補正後の文字列が示す位置の保存領域に前記受信したスキャン画像を保存し、
前記スキャナは、
通信インタフェースと、制御装置と、
を備え、
前記スキャナの前記制御装置は、
前記スキャン指示を、前記スキャナの前記通信インタフェースを介して受信したことに応じて、又は前記ユーザ操作によるスキャン指示に応じて原稿をスキャンし、生成したスキャン画像を、前記スキャナの前記通信インタフェースを介して前記情報処理装置に送信する、
スキャンシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、通信インタフェースを介して受信したスキャン画像を記憶装置上の保存領域に保存する技術に関するものである。
【背景技術】
【0002】
特許文献1には、外部のパラメータ設定ファイルに登録されている設定情報を読み出して設定する画像処理装置が記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、特許文献1に記載の画像処理装置では、パラメータ設定ファイルにスキャン画像を保存する保存領域の位置が、例えば、間違って記載されていた場合には、その間違って記載された位置の保存領域にスキャン画像を保存しようとするので、スキャン画像が保存できなかったり、意図と異なる保存領域に保存されたりする。
【0005】
本願は、スキャン画像の保存領域の位置が間違って記載されていたとしても、可及的に正しい位置の保存領域にスキャン画像を保存することが可能となる技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本願のプログラムは、通信インタフェースを備えた情報処理装置のコンピュータが実行可能なプログラムであって、コンピュータに、通信インタフェースを介して受信したスキャン画像を、コンピュータが参照可能な所定のファイルに記載された記憶装置上の保存領域であって、その位置が文字列により示される保存領域に保存する保存処理と、保存領域の位置を示す文字列を補正する必要があるか否かを判断する判断処理と、判断処理により保存領域の位置を示す文字列を補正する必要があると判断した場合、保存領域の位置を示す文字列を補正する補正処理と、を実行させ、保存処理では、補正処理による補正後の文字列が示す位置の保存領域に受信したスキャン画像を保存する。
【発明の効果】
【0007】
本願によれば、スキャン画像の保存領域の位置が間違って記載されていたとしても、可及的に正しい位置の保存領域にスキャン画像を保存することが可能となる。
【図面の簡単な説明】
【0008】
【
図1】本願の一実施の形態に係るスキャンシステムの制御構成を示すブロック図である。
【
図2】第1フォルダパス決定処理の手順を示すフローチャートである。
【
図3】
図2の第1フォルダパス決定処理の続きの手順を示すフローチャートである。
【
図4】第2フォルダパス決定処理の手順を示すフローチャートである。
【
図5】
図4の第2フォルダパス決定処理の続きの手順を示すフローチャートである。
【
図6】プッシュスキャンの事前準備からプッシュスキャンの完了に至るまでの手順を示すシーケンス図である。
【
図7】保存先フォルダ決定処理の手順を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、本願の実施の形態を図面に基づいて詳細に説明する。
【0010】
図1は、本願の一実施の形態に係るスキャンシステム1の制御構成を示している。スキャンシステム1は、PC100(「情報処理装置」の一例)、スキャナ200及びサーバ250を備えている。
【0011】
PC100は、ユーザIF110、ディスプレイ120、CPU140(「コンピュータ」の一例)、メモリ150及び通信IF160を備えている。そして、ユーザIF110、ディスプレイ120、CPU140、メモリ150及び通信IF160は、バス170を介して相互に接続されている。なお、IFは、interfaceの略語である。
【0012】
ユーザIF110は、典型的には、キーボードとマウスにより構成される。
【0013】
ディスプレイ120は、液晶ディスプレイや有機ELディスプレイなどの表示装置、表示装置を駆動する駆動回路などにより構成されている。ディスプレイ120として、タッチパネル方式のものを用いた場合には、ユーザは、画面上の入力ボタンをタッチ操作することで、入力操作をすることができる。したがって、この場合には、ディスプレイ120は、ユーザIF110としての役割も果たすことになる。
【0014】
CPU140は、情報処理プログラム(「プログラム」の一例)を含む各種アプリケーションプログラム(以下「アプリ」と略す)やファームウェア等を実行する。
【0015】
メモリ150は、ROM、RAM、HDD、SSD及び光ディスクドライブなどを含んでいる。メモリ150のデータ記憶領域150aは、CPU140が情報処理プログラムなどを実行する際に必要なデータなどを記憶する領域である。また、メモリ150の制御プログラム領域150bは、OS、情報処理プログラム、その他各種のアプリやファームウェアなどを記憶する領域である。
【0016】
メモリ150は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non-transitoryな媒体である。non-transitoryな媒体には、上記の例の他に、CD-ROM、DVD-ROM等の記録媒体も含まれる。また、non-transitoryな媒体は、tangibleな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、non-transitoryなコンピュータが読み取り可能なストレージ媒体には含まれない。
【0017】
なお、本明細書では、基本的に、プログラムに記述された命令に従ったCPU140の処理を示す。すなわち、以下の説明における「判断」「抽出」「選択」「算出」「決定」「特定」「取得」「受付」「制御」「設定」等の処理は、CPU140の処理を表している。CPU140による処理は、OSを介したハードウェア制御も含む。なお、「取得」は要求を必須とはしない概念で用いる。すなわち、CPU140が要求することなくデータを受信するという処理も、「CPU140がデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。また、「命令」「応答」「要求」等の処理は、「命令」「応答」「要求」等を示す情報を通信することにより行われる。また、「命令」「応答」「要求」等の文言を、「命令」「応答」「要求」等を示す情報そのものという意味で記載してもよい。
【0018】
情報処理プログラムを含む各種アプリは、通信IF160を介してサーバ250からダウンロードすることができる。
【0019】
通信IF160は、PC100を通信ネットワーク300に接続するものである。通信ネットワーク300には、本実施形態では、スキャナ200とサーバ250が接続されている。したがって、通信IF160は、通信ネットワーク300を介してスキャナ200及びサーバ250と通信することが可能である。なお、通信ネットワーク300は、様々な形式のネットワークであってよい。例えば、有線又は無線LAN、WAN、USB、Bluetooth(登録商標)、NFCのネットワークなどでよい。
【0020】
サーバ250は、上述のように情報処理プログラムを含む各種アプリを供給する機能に加えて、本実施形態では、外部ファイルを記憶し、PC100からの要求に応じてダウンロードする機能も備えている。情報処理プログラムは、本実施形態では、スキャナ200を含む各種画像処理装置に対して各種制御を行うプログラムであり、外部ファイルは、本実施形態では、情報処理プログラムがスキャナ200に対して各種制御を行う際に使用する各種設定項目の各デフォルト値を記載したものである。外部ファイルは、例えば、テキスト形式のファイルであり、その記載内容は、Section及びKeyにより構成される。Sectionは、スキャナ200の各機能に対応する。本実施形態では、スキャナ200として、スキャン機能のみを備えたものを採用しているので、Sectionには、スキャン機能に対応するものと、スキャン結果の保存に対応するものとがある。各Keyは、各Sectionに含まれる各種設定項目に対応し、各デフォルト値は、Key=値のフォーマットで記載される。本実施形態では、Keyとして、スキャン画像の保存先を記載でき、その値として、ファイルパスを記載できるようになっている。そして、スキャナ200が原稿をスキャンして生成したスキャン画像をPC100のメモリ150内に保存する機能を実行するときに、PC100は、外部ファイルに記載されたファイルパスを読み出して、スキャン画像をそのファイルパスに保存するようにしている。なお、外部ファイルは、テキスト形式のファイルに限られず、XML形式やJson形式など他の形式のファイルであってもよい。
【0021】
なお、外部ファイルは、本実施形態では、所定の権限(例えば、管理者権限)を有する操作者のみが作成・編集でき、サーバ250内の記憶装置上の所定のフォルダに置かれ、さらに所定のファイル名が付けられている。これに限らず、外部ファイルは、所定の権限を有していなくても作成・編集できるとしてもよい。
【0022】
PC100が情報処理プログラムの起動を開始すると、情報処理プログラムは、所定のタイミングでサーバ250にアクセスし、サーバ250から外部ファイルをダウンロードする。ダウンロードされた外部ファイルは、PC100のメモリ150上の所定領域に記憶され、情報処理プログラムを実行する際に適宜参照されて、スキャナ200の制御に使用される。なお、本実施形態では、外部ファイルは、上述のようにサーバ250内に置かれるとしたが、これに限らず、サーバ250を介さず直接、PC100内に置かれるとしてもよい。
【0023】
図2及び
図3は、PC100、特にCPU140が実行する第1フォルダパス決定処理の手順を示している。第1フォルダパス決定処理は、情報処理プログラムに含まれ、外部ファイル内にスキャン画像を保存するファイルパスとして、例えば、メモリ150上のフォルダパスが記載されている場合に、そのフォルダパスに禁止文字が使用されているときには、スキャン画像を保存するフォルダを“Document”フォルダに決定する処理を示している。第1フォルダパス決定処理の開始タイミングとしては、例えば、スキャナ200から取得したスキャン画像を実際に外部ファイルに記載されているファイルパスに保存するタイミングを採用すればよいが、このタイミングに限らず、CPU140が外部ファイルをダウンロードしたタイミングなどであってもよい。
【0024】
図2において、まずCPU140は、外部ファイルが所定の場所に存在するか否かを判断する(S10)。外部ファイルは、本実施形態では上述のように、サーバ250内の記憶装置上の所定のフォルダに記憶されているので、S10では、CPU140は、外部ファイルがその所定のフォルダに存在しているか否かを判断している。
【0025】
S10の判断において、外部ファイルが所定の場所に存在しない場合(S10:NO)、CPU140は、第1フォルダパス決定処理を終了する。一方、外部ファイルが所定の場所に存在している場合(S10:YES)、CPU140は、外部ファイル内に所定のSection及びKeyが存在するか否かを判断する(S12)。外部ファイルは、上述のように、スキャナ200の各種機能に対応する各種Sectionと、各Sectionで設定される各種項目に対応する各種Keyとを記載でき、各Key=値により対応する項目の値を設定できるようになっている。したがって、S12では、CPU140は、スキャン画像の保存場所を示す値を記載しているSection及びKeyが存在するか否かを判断している。
【0026】
S12の判断において、外部ファイル内に所定のSection及びKeyが存在しない場合(S12:NO)、CPU140は、第1フォルダパス決定処理を終了する。一方、外部ファイル内に所定のSection及びKeyが存在する場合(S12:YES)、CPU140は、そのKeyの値であるファイルパスを読み込み、そのファイルパスに含まれるフォルダパスを示す文字列をFolder[n]とする(S14)。つまり、フォルダパスを示す文字列を構成する各文字がFolder[0],…,Folder[n]に代入される。なお、第1フォルダパス決定処理の処理対象がフォルダパスであるのに対して、所定のKeyの値はファイルパスで記載されるので、S14では、CPU140は、読み込んだファイルパスからファイル名を除いてフォルダパスを取得し、そのフォルダパスの文字列をFolder[n]としている。
【0027】
次にCPU140は、OSからフォルダパスに使用が禁止されている文字を取得し、Forbidden[o]とする(S16)。つまり、取得した禁止文字が1文字ずつ、Forbidden[0],…,Forbidden[o]に代入される。したがって、この場合、禁止文字の個数は、o+1個である。
【0028】
次にCPU140は、Forbidden[ ]の添え字を示し、上記S16で取得した禁止文字をそれぞれ指定するための変数iと、Folder[ ]の添え字を示し、上記S14で取得したフォルダパスを示す文字列の各文字をそれぞれ指定するための変数jを、それぞれ“0”に初期化する(S18)。
【0029】
そして、CPU140は、S20~S32(
図3)の処理により、フォルダパスを示す文字列の各文字の中に禁止文字と一致するものがあるか否かを判断し(S24)、一致するものがある場合(S24:YES)、フォルダパスが禁止文字を含んでいたことを“1”で示す禁止文字含有フラグを“1”にセットする(S26)とともに、フォルダパスからその禁止文字に一致する文字を削除する(S28)処理を、フォルダパスを示す文字列の全文字及び全禁止文字について行う。
【0030】
このようにして、フォルダパスを示す文字列中の最後の文字と、全禁止文字中の最後の禁止文字との一致判断が完了した場合(S20:NO)、CPU140は、禁止文字含有フラグ=1であるか否かを判断する(S34)。この判断において、禁止文字含有フラグ=0である場合(S34:NO)、CPU140は、第1フォルダパス決定処理を終了する。一方、禁止文字含有フラグ=1である場合(S34:YES)、CPU140は、スキャン画像を保存するフォルダを“Document”フォルダに決定した後、第1フォルダパス決定処理を終了する。
【0031】
このように第1フォルダパス決定処理によれば、スキャン画像を保存するフォルダのフォルダパスに禁止文字が含まれていた場合、スキャン画像を保存するフォルダを、存在が確実視される“Document”フォルダに決定するようにしたので、可及的に正しいフォルダパスのフォルダにスキャン画像を保存することが可能となる。
【0032】
なお、第1フォルダパス決定処理では、スキャン画像を保存するフォルダのフォルダパスに禁止文字が1文字でも含まれていた場合、スキャン画像を保存するフォルダを、“Document”フォルダに決定するようにしたが、これに限らず、第1フォルダパス決定処理を次のように変更してもよい。すなわち、フォルダパスを示す文字列中の最後の文字と、全禁止文字中の最後の禁止文字との一致判断が完了した場合(上記S20:NO)、CPU140は、上記S34の判断に代えて、Folder文字列、つまり上記S28の処理による禁止文字の削除後のフォルダパスを示す文字列が空文字であるか否かを判断するようにする。この判断において、Folder文字列が空文字でない場合、第1フォルダパス決定処理を終了する。一方、Folder文字列が空文字である場合、CPU140は、スキャン画像を保存するフォルダを“Document”フォルダに決定した(上記S36)後、第1フォルダパス決定処理を終了する。そして、第1フォルダパス決定処理の終了後、CPU140は、禁止文字含有フラグの値を判断し、禁止文字含有フラグ=1の場合、第1フォルダパス決定処理の処理対象となっている、外部ファイル内のファイルパスに含まれるフォルダパスを、第1フォルダパス決定処理により決定されたフォルダパスに書き換える。これにより、外部ファイル内のファイルパスに含まれるフォルダパスは、Folder文字列(Folder文字列が空文字でない場合)及び“Document”フォルダのフォルダパス(Folder文字列が空文字である場合)のうちのいずれか一方に書き換えられる。その結果、スキャン画像を外部ファイルに記載されたファイルパスに保存する場合、スキャン画像は、外部ファイル内の書き換えられたフォルダパスを含むファイルパスに保存されるので、禁止文字が削除された正しいファイルパスに保存されることになる。
【0033】
図4及び
図5は、CPU140が実行する第2フォルダパス決定処理の手順を示している。第2フォルダパス決定処理は、第1フォルダパス決定処理と同様に、情報処理プログラムに含まれ、外部ファイルに記載されている、スキャン画像を保存するフォルダのフォルダパスが間違って記載されていた場合に、正しいフォルダパスを決定するものであるが、その決定方法が第1フォルダパス決定処理と異なっている。なお、
図4の第2フォルダパス決定処理中、
図2の第1フォルダパス決定処理中の処理と同様の処理には同一ステップ番号を付し、その説明は省略する。
【0034】
図4において、S14′では、CPU140は、そのKeyの値であるファイルパスを読み込み、そのファイルパスに含まれるフォルダパスを示す文字列をFolderとする。そして、CPU140は、Folderが示すフォルダパスがメモリ150内に存在するか否かを判断する(S46)。この判断において、Folderが示すフォルダパスがメモリ150内に存在する場合(S46:YES)、CPU140は、第2フォルダパス決定処理を終了する。一方、Folderが示すフォルダパスがメモリ150内に存在しない場合(S46:NO)、CPU140は、Folderが示すフォルダパスを「¥」毎に分割し、分割後の文字列をFolderPath[n]とする(S48)。つまり、「¥」は、階層構造となっているフォルダの各階層の区切りを示す記号であるので、S48では、CPU140は、フォルダの各階層を示す文字列を階層毎にFolderPath[0],…,FolderPath[n]に代入している。
【0035】
次にCPU140は、FolderPath[ ]の添え字を示す変数jと、変数jをnから1ずつ減少させるための変数iとをそれぞれ初期化する(S50)。具体的には、i=1,j=n-iに初期化する。
【0036】
そして、CPU140は、Folderが示すフォルダパスにおいて、最下位階層のFolderPath[n]の1つ上の階層のFolderPath[n-1]を起点として、FolderPath[n-1]がメモリ150内に存在するか否かを判断し(S54)、FolderPath[n-1]がメモリ150内に存在しない場合(S54:NO)、階層を1つ上位に上げながら(S56)、階層が最上位になるまでS54の処理を繰り返す(S52)。階層が最上位になっても、FolderPath[0]がメモリ150内に存在しない場合(S52:YES)、CPU140は、正しいフォルダパスを決定する判断ができないとした(S66)後、第2フォルダパス決定処理を終了する。
【0037】
一方、最下位の1つ上位の階層から最上位の階層までのいずれかの階層にFolderPath[j]が存在している場合(S54:YES)、CPU140は、その階層の直下の階層に存在するフォルダを取得する(
図5のS58)。
【0038】
そして、CPU140は、取得したフォルダのフォルダパスを示す文字列内に、FolderPath[j+1]を示す文字列と1文字違いのフォルダが複数あるか否かを判断し(S60)、複数ある場合(S60:YES)、処理を上記S66に進める。一方、複数ない場合(S60:NO)、CPU140は、1文字違いのフォルダが1つあるか否かを判断し(S62)、1つある場合には、その1文字違いのフォルダを正しいフォルダに決定した(S64)後、第2フォルダパス決定処理を終了する。一方、1文字違いのフォルダが1つもない場合(S62:NO)、CPU140は、処理を上記S66に進める。
【0039】
このように第2フォルダパス決定処理によっても、第1フォルダパス決定処理と同様に、スキャン画像を保存するフォルダのフォルダパスが間違って記載されていたとしても、可及的に正しいフォルダパスのフォルダにスキャン画像を保存することが可能となる。
【0040】
なお、第2フォルダパス決定処理では、1文字違いのフォルダを正しいフォルダに決定するようにしたが、1文字違いに限らず、2文字や3文字違いであってもよいし、間違って記載し易い文字又は文字列を、例えばテーブルデータとして予め保持しておき、テーブルデータ内の文字又は文字列との一致判断をすることにより、正しいフォルダを決定するようにしてもよい。また、第2フォルダパス決定処理のS66では、CPU140は、判断不可として、正しいフォルダの決定を停止しているが、これに限らず、第2、第3の候補を利用してもよいし、上記S36(
図2)の処理と同様に、“Document”フォルダに決定するようにしてもよい。第2、第3の候補は、例えば、外部ファイルに記載しておき、それを読み出して利用するようにすればよい。さらにこの場合、第2、第3の候補及び“Document”フォルダのいずれを用いるかをユーザに選択させるようにしてもよい。
【0041】
図6は、プッシュスキャンの事前準備からスキャン結果がディスプレイ120に表示されるまでの手順の一例を示している。プッシュスキャンとは、ユーザがスキャナ200の操作パネルを操作することで、スキャナ200に対して直接スキャン指示を行うと、スキャナ200は生成したスキャン画像を、スキャナ200の外部、本実施形態では、例えばPC100に送信して保存することをいう。そして、上記外部ファイルには、プッシュスキャン実行時のスキャン画像の保存先のフォルダを示すフォルダパスが記載されている。
図6及び
図7では、そのフォルダパスが間違って記載されているなどにより、スキャン画像をそのフォルダに保存できない場合に対処する方法を示している。
【0042】
図6において、まずユーザが、ドライバと情報処理プログラムのインストールの指示をPC100に行う(P1)。これに応じてPC100は、スキャナ200の情報を保持し(P2)、保持したスキャナ200の情報に基づいてスキャナ200のドライバのインストールと、情報処理プログラムのインストールとを実行する(P3)。
【0043】
次にユーザが、例えばスキャナ200のパネルを操作することにより、プッシュスキャン実行の指示をスキャナ200に行うと(P4)、スキャナ200は、プッシュスキャン実行通知をPC100に送信する(P5)。これに応じてPC100は、外部ファイルを読み込む(P6)。外部ファイルは、それが記憶された記憶場所から読み出される。外部ファイルの記憶場所は、上述のようにサーバ250の記憶装置内でもよいし、PC100のメモリ150内でもよい。
【0044】
次にPC100は、保存先フォルダ決定処理を実行する(P7)。
図7は、PC100、特にCPU140が実行する保存先フォルダ決定処理の手順を示している。
図7において、まずCPU140は、プッシュスキャン機能を登録済みか否かを判断する(S70)。この判断において、プッシュスキャン機能を登録済みである場合(S70:YES)、CPU140は、プッシュスキャン機能の登録時に設定した値、特にスキャン結果(スキャン画像)の保存先フォルダを、設定画面等のUIで確認したことがあるかを判断する(S72)。例えば、プッシュスキャン機能の登録後にユーザが再度、その設定値をUIで確認したときに、再確認フラグを“1”にセットするようにしておき、S72では、CPU140は、再確認フラグの値に基づいて判断するようにすればよい。
【0045】
S72の判断において、設定した値をUIで確認したことがある場合(S72:YES)、CPU140は、保存先フォルダ決定処理を終了する。一方、設定した値をUIで確認したことがない場合(S72:NO)、処理をS74に進める。
【0046】
一方、上記S70の判断において、プッシュスキャン機能が未登録の場合(S70:NO)、CPU140は、S72をスキップして、処理をS74に進める。
【0047】
S74では、外部ファイルに記載された保存先フォルダが存在するか否かを判断する。この判断において、保存先フォルダが存在しない場合(S74:NO)、CPU140は、スキャン結果を保存後に保存先フォルダを開く設定を強制的にオンにする(S76)とともに、例えば“Document”フォルダ等の一時フォルダを保存先フォルダに決定した(S78)後、保存先フォルダ決定処理を終了する。
【0048】
一方、上記S74の判断において、保存先フォルダが存在する場合(S74:YES)、CPU140は、保存先フォルダ決定処理を終了する。
【0049】
図6に戻り、次にPC100は、スキャナ200にスキャン開始を指示する(P8)。これに応じてスキャナ200は、原稿のスキャンを行い、スキャン結果(スキャン画像)をPC100に送信する(P9)。PC100は、受信したスキャン結果を保存先フォルダに保存する保存処理を行う(P10)。この保存処理では、PC100は、外部ファイルに記載された保存先フォルダが存在すれば、その保存先フォルダにスキャン結果を保存し、外部ファイルに記載された保存先フォルダが存在しなければ、
図7の上記S78で保存先フォルダとして決定された一時フォルダにスキャン結果を保存する。
【0050】
次にPC100は、保存先フォルダを開く設定がオンの場合、スキャン結果を保存した保存先フォルダを表示する(P11)。
【0051】
このように本実施形態のスキャンシステム1によれば、プッシュスキャン実行時に、外部ファイルに記載された保存先フォルダが存在しない場合には、スキャン結果をPC100内の一時フォルダに保存するようにしたので、スキャン結果がPC100内に保存されないという状況を回避することができる。そして、スキャン結果を一時フォルダに保存した場合、ユーザはスキャン結果の保存先フォルダがどのフォルダであるかを知らない虞があるので、保存先フォルダを開く設定がオフに設定されていても、強制的にオンに設定し、保存先フォルダである一時フォルダを開いて、スキャン結果の保存先を表示するようにしている。これにより、ユーザは常にスキャン結果の保存先を知ることができるので、スキャン結果の保存先を探す必要がない。
【0052】
なお、本発明は上記実施形態に限定されるものでなく、その趣旨を逸脱しない範囲で様々な変更が可能である。
【0053】
(1)上記実施形態では、スキャナ200は、主としてスキャン機能のみを備えたものを採用したが、これに限らず、スキャン機能を含む複合機を採用してもよい。
【0054】
(2)上記実施形態では、PC100に接続される機器は、1台のスキャナ200のみとしたが、これに限らず、複数台のスキャナが接続され、その中からいずれかを選択可能に構成してもよい。この場合、スキャナだけでなく、複合機も接続され、選択対象としてもよい。
【0055】
(3)上記実施形態では、外部ファイルは、サーバ250内の記憶装置上に置かれるとしたが、これに限らず、PC100のメモリ150上に置かれるとしてもよい。この場合、外部ファイルは、情報処理プログラムがPC100にインストールされるときに、一緒にメモリ150上の所定領域に記憶されるようにすればよい。その他に、外部ファイルを記憶したUSBメモリ等が渡されたPC100のユーザが、自身で外部ファイルを読み出して、メモリ150上の所定領域に記憶させる方法も考えられる。
【符号の説明】
【0056】
1…スキャンシステム、100…PC、110…ユーザIF、120…ディスプレイ、140…CPU、150…メモリ、160…通信IF、200…スキャナ、250…サーバ、300…通信ネットワーク。