以下、本発明を実施するための最良の形態について、図面を用いて説明する。
<実施形態1>
(システム構成)
はじめに、本発明の一実施形態であるMFPを含むシステム全体の構成について図1を用いて説明する。
図1は、本実施形態におけるシステム構成図である。
図1に例示するシステムには、少なくともMFP131とクライアントコンピュータ111とが含まれている。
MFP131は、スキャン、プリント、コピー、送信が可能となっている。MFP131のその他の機能については、以下の、本実施形態に関する説明により明らかにされる。
クライアントコンピュータ111は、ネッワーク101を介して、MFP131の送信したデータを、受信し保存することができる。また、クライアントコンピュータ111は、保存したデータを表示することができる。
また、図1に示されているように、ネットワーク101に、複数のクライアントコンピュータ111、112、複数のMFP131、132およびファイルサーバ121が接続されていても良い。
(文書および原稿)
次に、本明細書で説明する文書と原稿について図2を用いて説明する。
図2はMFP131がスキャンする原稿群の一例を示す図である。
MFP131がスキャンする原稿群は、単一文書で構成されるとは限らない。図2の例においては、2ページものの文書1(原稿201、原稿202)と、1ページもの文書2(原稿203)と、同じく1ページものの文書3(原稿204)で構成されている。このように、スキャンされる原稿群は、複数の文書で構成されており(もちろん単一の文書で構成される場合もある)、文書は1または複数の原稿から構成される。
またMFP131がスキャンする原稿群には、2次元コードが含まれる文書と、2次元コードが含まれない文書の両方が含まれてしまうことも考えられる。図2の例においては、文書1(原稿201、原稿202)、文書2(原稿203)には、文書のコンテンツに加えて網点上の2次元コードが付加されているが、原稿204には、2次元コードが付加されていない。
(2次元コードの情報)
続いて2次元コードの中に格納されている情報について、さらに図3を用いて説明する。
図3は2次元コードの中に格納されている情報(元情報)の一例である。
図2の文書1の1ページ目の原稿201には、元情報301の情報が2次元コードの形式で格納されている。図2の文書1の2ページ目の原稿202には、元情報302の情報が2次元コードの形式で格納されている。
なお、2次元コードは、文書識別番号と、ページ属性と、文書名と、そしてスキャン許可用パスワードハッシュ値を格納することができる。
文書識別番号は文書を一意に識別する番号である。本実施形態ではUUID(Universally Unique Identifier)を用いている。2つの原稿の元情報の中に同じ番号のUUIDがあれば同じ文書だと認識する。異なる文書の場合、元情報の中には、異なった文書識別番号が格納される。
ページ属性は、文書のページ総数と、その原稿が文書のどのページに該当するかを示す情報である。文書名は、文書を一意に識別するための名前である。
スキャン許可用パスワードハッシュ値は、スキャン許可のために必要とされるパスワードのハッシュ値である。本実施形態ではハッシュ方式としてSHA1を用いるが、パスワードの機密性が守れれば他形式のハッシュ方式を用いてもかまわない。元情報301と元情報302は、同じ文書1であるためページ属性以外(すなわち文書識別番号、文書名、スキャン許可用パスワードハッシュ値)は同じものとなっている。なお、本明細書においては、原稿画像上の「2次元コードから元情報を得ること」を「デコード」と称している。
(電子ファイルの生成)
2次元コードが付加された原稿を含む図2の複数個の文書が含まれる原稿群をスキャンする場合に、スキャン後の出力結果である電子ファイルの出力形態には2つの形態がある。
1つは、図4に示すように、2次元コードに含まれる元情報に従って、スキャンして得られた原稿画像に対して、文書毎に電子ファイルを生成する形態である。もう一つは、図5に示すようなスキャンして得られた原稿画像を、すべて同じ1つの電子ファイル501にまとめる形態である。
(文書毎に電子ファイルを生成する形態)
ここで、図4を用いて、2次元コードに含まれる元情報に従って、スキャンして得られた原稿画像に対して、文書毎に電子ファイルを生成する形態を説明する。
図4は、スキャンした原稿画像を文書毎にファイル化する例を示す図である。
原稿画像上の2次元コードをデコードすることにより同じ文書と認識したものを1つの電子ファイルにまとめている。もし原稿画像上に2次元コードがない、または2次元コードを認識できないものがあった場合、その原稿画像は元情報がない文書として認識し処理する。なお、そうした2次元コードがない原稿画像が複数ページ分含まれていた場合は、それらの原稿画像を1つの電子ファイルとしてまとめて出力する。
図4の例の場合、同じ文書1の1ページ目である原稿201と2ページ目である原稿202の原稿画像は、一つにまとめて電子ファイル401として出力している。さらに原稿画像上の2次元コードをデコードすることにより、文書2の1ページ目である原稿203を電子ファイル402として出力している。
一方、原稿画像上に2次元コードがない原稿204は元情報がわからない。そのため、電子ファイル401、402とは別の電子ファイル403として出力している。なお、図4に示される各文書の元情報にスキャン許可用パスワードハッシュ値が含まれるときは、MFP131はスキャン時に文書毎にパスワードによる許可確認を行う必要がある。
(1つの電子ファイルにまとめる形態)
続いて、図5および図6を用いて、スキャンして得られた原稿画像をすべて同じ1つの電子ファイル501にまとめる形態を説明する。
図5は、スキャンした原稿画像をまとめて1つにファイル化する例を示す図であり、図6は、この場合のスキャン処理のフローチャートである。
図5の例では、スキャンされた原稿201〜204が1つの電子ファイル501として出力される。この形態は、従来の2次元コードが原稿に付加されていない場合のスキャン処理と似ている。なお、文書の元情報にスキャン許可用パスワードハッシュ値が含まれる場合、MFP131はパスワードによるスキャン操作の許可確認を行う必要がある。
図6に示す処理は、MFP131の操作画面上に表示された送信モードの選択と、操作パネル上のスタートボタンの押下の入力をユーザから受付けると開始する。なお、図6に示す各ステップの処理は、MFP131内のCPUにより統括的に制御される。
まず、ステップS600より処理が開始される。
次いで、ステップS601で、MFP131は原稿自動送り装置(ADF)上の原稿をチェックし、原稿をすべてスキャンしたか判断する。もしすべての原稿をスキャンした場合はステップS605に処理が進む。一方、スキャン対象の原稿が残っている場合は、ステップS602に処理が進む。
ステップS602で、MFP131は、原稿台の原稿をスキャンし、電気信号としての原稿画像を生成し、MFP131内の記憶装置にビットマップ形式で原稿画像として保存する。
ステップS603で、MFP131は、ステップS602で保存した原稿画像から2次元コードの存在領域を検知する。さらにMFP131は、検知された領域の2次元コードをデコードし当該原稿の元情報をMFP131内のメモリに格納する。このように、このステップS603では、2次元コードがあるか否か検知し、その上で元情報をメモリに格納する。そして、ステップS604に処理が進む。
次いでステップS604で、MFP131は、メモリ上の原稿画像管理データにステップS603で抽出した元情報を追加する。そしてステップS601に処理が進む。
ここで、上記原稿画像管理データについて、図7を用いて説明する。
図7は、図2で示したような複数の文書を含む原稿群をスキャンした場合の原稿画像管理データ700の例である。
MFP131は、原稿201〜204の原稿画像を、それぞれの対応する元情報701〜704の情報と関連付ける。さらにMFP131は、元情報701〜704をリンク構造で管理する原稿画像管理データ700を生成する。新しくスキャンして得られた原稿画像の元情報を原稿画像管理データ700の最後尾に追加することにより、スキャン時の原稿出現順で元情報701〜704が管理される。
なお、ステップS603で2次元コードの検知やデコードができなかった原稿画像については、MFP131は、2次元コードが含まれない原稿として認識する。すなわち、この原稿画像管理テーブル上では、元情報704に示されるように、元情報が特定できない文書として管理する。すなわち、テーブル上では、文書識別番号:なし、ページ属性:不明、文書名:不明、スキャン許可パスワードハッシュ値:なし、となる。
引き続き、図6のスキャン処理の説明に戻る。
ステップS605で、MFP131は、スキャンして得られた原稿画像の電子ファイル化処理を行う。この処理の詳細は図8を用いて後に詳細に説明する。
この後、ステップS605に処理が進む。ステップS606で、MFP131は、「送信モード」で設定された宛先に、生成した電子ファイルを送信する。
そして、ステップS607に処理が進み終了する。
(電子ファイル化処理)
次に、図8を用いて、ステップS605の原稿画像の電子ファイル化処理を説明する。
図8に示す各ステップの処理は、MFP131内のCPUにより統括的に制御される。
まず、ステップS800より処理が開始される。
続いて、ステップS801で、MFP131は、前述のステップS604で構築した原稿画像管理データ700を基に、スキャンした原稿群が複数文書で構成されていないか確認する。具体的には、原稿画像管理データ700中の異なる文書識別番号の個数を確認する。文書識別番号の個数が1つの場合は、スキャンした原稿群が1つの文書で構成されていると判断する。異なる文書識別番号の個数が2つ以上の場合は、スキャンした原稿群が複数の文書で構成されていると判断する。そしてステップS802へ処理が進む。
ステップS802(原稿構成判断)で、MFP131は、スキャンした原稿群が1つの文書で構成されている場合は、ステップS803へ処理を進める。一方、スキャンした原稿群が複数の文書で構成されている場合は、ステップS805へ処理を進める。
ステップS803では、MFP131は、一つの文書で構成されている原稿群を処理対象として、ステップS804へ処理が進む。
ステップS804で、MFP131は、文書単位での電子ファイル化処理を実行し、ステップS812へ処理を進め、一連の処理を終了する。なお、文書単位での電子ファイル化処理は図10を用いて後に詳細に説明する。
一方、ステップS805では、MFP131は、原稿群を構成する複数文書の電子ファイル化方法をユーザに選択させる。本実施形態では、図9に示す複数文書の電子ファイル化方法をユーザに選択させる操作画面900をMFP131の操作画面上に表示し、ユーザによる選択入力を待つ。
図9の「文書別」ボタン901がユーザにより押下されると、図4に示した文書別に電子ファイル化することをユーザが選択したとMFP131は認識する。図9の「1ファイル」ボタン902がユーザにより押下されると、複数ページ分の原稿画像が、複数の文書から得られた場合であっても、それらをすべて同じ1つの電子ファイル501にまとめることを、ユーザが選択したとMFP131は認識する。なお、「文書別」ボタン901と「1ファイル」ボタン902は排他的に選択可能となっている。また初期設定では「文書別」ボタン901が選択状態である。
ユーザによる選択操作の後、「OK」ボタン904がユーザにより押下されると、現在選択中の「文書別」ボタン901または「1ファイル」ボタン902の設定を保持し、ステップS806へ処理が進む。ここで「設定取消」ボタン904がユーザにより押下されると、初期設定状態のまま、ステップS806へ処理が進む。
本実施形態では、ステップS805のタイミングで、図9の複数文書の電子ファイル化方法の操作画面900を表示したが、操作パネル上のスタートボタンの押下前の送信モードの選択時に設定できるようにしてもよい。
次いでステップS806(構成決定)で、MFP131は、ステップS805の選択状態を確認し、電子ファイルの構成決定を行う。すなわち、文書毎に別々に電子ファイル化する場合は、ステップS807へ処理を進める。一方、スキャンしたすべての原稿画像を1つの電子ファイルに変換する場合は、ステップS811へ処理を進める。
ステップS807では、MFP131は、図7で例を示した原稿画像管理データ700の先頭の文書を処理対象として、ステップS808へ処理を進める。
そしてステップS808で、MFP131は、原稿画像管理データ700内に電子ファイル化していない文書がまだあると確認できた場合は、ステップS809へ処理を進める。一方、原稿画像管理データ700内のすべての文書を電子ファイル化した場合は、MFP131は、ステップS812へ処理を進め、処理を終える。
ステップS809では、MFP131は、現在の処理対象のために、文書単位での電子ファイル化処理を実行する。文書単位での電子ファイル化処理は図10を用いて後に詳細に説明する。ステップS810へ処理が進む。
ステップS810では、MFP131は、原稿画像管理データ700を確認し、電子ファイル化していない次の文書を処理対象として、ステップS808へ処理を進める。
一方、ステップS811では、MFP131は、原稿画像管理データ700で管理されるすべての複数文書を1つの電子ファイルに電子ファイル化する処理を実行し、ステップS812へ処理を進め、一連の処理を終了する。なお、複数文書を1つの電子ファイル化する処理は、図14を用いて後に詳細に説明する。
(文書単位での電子ファイル化処理)
ここで、図10を用いて、前述のステップS804とステップS809における文書単位での電子ファイル化処理を説明する。
図10は、文書単位での電子ファイル化処理のフローチャートである。なお、図10に示される各ステップの処理は、MFP131内のCPUにより統括的に制御される。
まず、ステップS1000より処理が開始される。
続いて、ステップS1001で、MFP131は、前述のステップS604で構築した原稿画像管理データ700から、現在の処理対象の文書に関連する元情報を抽出して再リスト化し、メモリ上に保存する。
次いで、ステップS1002(パスワード検出)で、MFP131は、処理対象の文書の元情報にスキャン許可用パスワードハッシュ値が設定されている場合、ステップS1003へ処理を進める。一方、処理対象の文書の元情報にスキャン許可用パスワードハッシュ値が設定されていない場合、MFP131は、ステップS1012へ処理を進める。
ステップS1003では、MFP131は、操作画面上にスキャン許可用パスワード入力画面の表示を行い、ユーザにスキャン許可用パスワード入力画面の入力を促す。本実施形態では、図11に示すスキャン許可用パスワード入力操作画面1100をMFPの操作画面上に表示する。
ここで、スキャン許可用パスワード入力画面について、図11を用いて説明する。
図11は、文書1のスキャン許可用パスワード入力画面の例である。
スキャン許可用パスワード入力操作画面1100は、1101に示すように、現在の処理対象の文書の文書名である文書1を指示する「文書1」ボタン1102と、パスワードの入力フィールド1103を有する。操作画面上で「文書1」ボタン1102を押下することにより、パスワードの入力フィールド1103が選択され、操作パネル上のテンキーより文書1に対するパスワードが入力可能になる。さらにパスワードの入力フィールド1103がタッチされることにより、操作画面上にソフトキーボードが立ち上がり、パスワードの入力が可能になる。
またスキャン許可用パスワード入力操作画面1100には、電子ファイルへ適用するパスワードを選択するセレクトボタン1104が存在する。
ここでさらに図12を用いて、セレクトボタンの説明をする。
図12はセレクトボタン1104がタッチされた場合のスキャン許可用パスワード入力操作画面1100の状態を示す図である。
セレクトボタン1104はタッチされることにより、図12に示すようにオプション1201(文書パスワードを適用)、1202(新規パスワードを設定)、1203(パスワードを設定しない)が表示される。更にオプションのどれかがタッチされることにより、選択されたオプションの右端に丸が追加され選択状態となる。さらに図11の表示状態に移行し、セレクトボタン1104上に選択されたオプションの内容が表示される。電子ファイルへ適用するパスワードを選択するセレクトボタン1104は、このように3つの排他的オプション1201、1202、1203を有している。なお、初期状態ではオプション1201が選択状態となっている。
第1のオプション1201は、処理対象の文書の元情報に含まれるスキャン許可用ハッシュ値に関連するパスワードを電子ファイルの保護に適用するオプションである。このオプションを選択すると電子ファイルは、スキャン許可用パスワードと同じパスワードを用いて暗号化される。
第2のオプション1202は、新規に電子ファイルのパスワードを設定するオプションである。ステップS1412で図13の操作画面1300を表示し、新規のパスワードの入力をユーザに促す。この処理の詳細に関しては、ステップS1412を用いてあとで説明する。
第3のオプション1203は、電子ファイルにパスワードを設定しないオプションである。
さらにこのスキャン許可用パスワード入力操作画面1100には、電子ファイル内の原稿画像の並び順選択のためのセレクトボタン1105が存在する。セレクトボタン1105はオプションとして、[文書情報を元にソート]と[原稿の出現順のまま](図示せず)の2つの排他的オプションを有している。初期状態では[文書情報を元にソート]が選択されている。このセレクトボタン1105がタッチされることにより、上記2つの排他的オプションが表示される。更にオプションのどれかがタッチされることにより、選択されたオプションの右端に丸が追加され選択状態となる。さらに図11の表示状態に移行し、セレクトボタン1105上に選択されたオプションの内容が表示される。
加えて、スキャン許可用パスワード入力操作画面1100には、[OK]ボタン1107と[キャンセル]ボタン1106がある。この[OK]ボタン1107または[キャンセル]ボタン1106が押下されると、ステップS1104へ処理が移り、下記のように処理が進む。
以上、スキャン許可用パスワード入力画面1100について説明した。
ここで、図10の説明に戻る。
ステップS1004でMFP131は、スキャン許可用パスワード入力操作画面1100で、[OK]ボタン1107が押下された場合、ステップS1006へ処理を進める。一方、MFP131はスキャン許可用パスワード入力操作画面1100で、[キャンセル]ボタン1106が押下された場合、ステップS1005へ処理を進める。
ステップS1005では、MFP131は、スキャン許可用パスワード入力操作画面1100で[キャンセル]ボタン1106が押下されているので、処理対象の文書に関する原稿画像の電子ファイル化処理がキャンセルされたと認識する。MFP131は、キャンセル処理として、処理対象の文書の元情報のリストから、関連する原稿画像を確認し、この関連原稿画像をMFP131内の記憶装置より削除する。また処理対象の文書の元情報リストもメモリより削除する。以上の処理後、ステップS1015へ処理が進み、一連の処理が終了する。
一方、ステップS1006では、MFP131は、文書の元情報のスキャン許可用パスワードハッシュ値を用いて、スキャン許可用パスワード入力操作画面1100のパスワードの入力フィールド1103に入力されたパスワードが正しいかを確認する。
本実施形態において、パスワードが正しいかの確認処理は以下のように行う。
まず、スキャン許可用パスワード入力操作画面のパスワードの入力フィールド1103に入力されたパスワードより一方向ハッシュ値を計算する。そして、得られた一方向ハッシュ値が、文書の元情報のスキャン許可用パスワードハッシュ値と等しい場合は、入力されたパスワードは正しいと判断する。一方、パスワードの入力フィールド1103に入力されたパスワードより計算された一方向ハッシュ値と、文書の元情報のスキャン許可用パスワードハッシュ値が等しくない場合は、入力されたパスワードは正しくないと判断する。本実施形態では、上記処理のようにハッシュ値に基づいてパスワードの判定を行なったが、鍵となる別の共通値を混ぜるなどの工夫を行っても構わない。
ステップS1007(パスワード検証)で、MFP131は、パスワードの検証を行い、パスワードの入力フィールド1103に入力されたパスワードが正しくない場合、ステップS1008へ処理を進める。一方、パスワードの入力フィールド1103に入力されたパスワードが正しい場合、ステップS1009へ処理を進める。
ステップS1008では、MFP131は、パスワードが正しくないことを示す表示を操作画面上に表示する。次いで、ステップS1003へ処理が進む。ステップS1003における処理は前述のとおりである。
一方、ステップS1009では、MFP131は、図11のスキャン許可用パスワード入力操作画面1100上の電子ファイルへ適用するパスワードを選択するセレクトボタン1104の選択オプションの設定を確認する。
第1のオプション1201が選択されている場合、スキャン許可用パスワード入力操作画面1100のパスワードの入力フィールド1103に入力されたパスワードを電子ファイルへ適用するために、MFP131は、ステップS1010へ処理を進める。
第2のオプション1202が選択されている場合、新規で電子ファイル用のパスワードを設定するために、MFP131は、ステップS1012へ処理を進める。
第3のオプション1203が選択されている場合、パスワードを設定しないので、MFP131はステップS1014へ処理を進める。
ステップS1010では、MFP131は、スキャン許可用パスワード入力操作画面1100のパスワードの入力フィールド1103に入力されたパスワードを現在のパスワードとする。そして、ステップS1011へ処理が進む。
ステップS1011で、MFP131は、先の電子ファイル内の原稿画像の並び順選択のためのセレクトボタン1105の選択オプションに従い、原稿画像の出現順を並べ替える。さらにMFP131は処理対象の文書に関連するビットマップ形式の原稿画像と、現在のパスワードを用いて暗号化PDFを生成する。さらにMFP131は処理済となった処理対象の文書の元情報のリストをメモリより削除する。以上の処理後、ステップS1015へ処理が進み、一連の処理は終了する。
本実施形態においては、電子ファイルの形式はPDF(Portable Document Format)を用いた。電子ファイルにパスワードによる保護を行う場合、すなわち電子ファイルを暗号化する場合は、暗号化PDFを用いる。暗号化PDFはPDFファイルの一種である。そして、上記「ビットマップ形式の原稿画像とパスワードとを用いて暗号化PDFを生成する」とは、以下のような意味である。すなわち、ビットマップ形式の原稿画像をPDF形式に変換してPDFファイルを生成し、当該PDF形式の原稿画像の閲覧を制限するために、PDFファイルに対してパスワードを適用することを意味する。このパスワードを適用することによって、暗号化PDFが生成されるのである。なお、この暗号化PDFは、送信先の装置上で、ユーザから閲覧指示があった場合には、適用されたパスワードと、送信先の装置上でユーザにより入力されたパスワードが一致する場合に、PDF形式の原稿画像が表示される。一方、パスワードが一致しない場合には、PDF形式の原稿画像は、表示されない。
なお、本発明に係る実施形態の記載では、MFP131に読み込まれた原稿画像から生成される電子データを記録する電子ファイルの一例として、PDFファイルを用いて説明を行っている。しかし、暗号化が可能な電子ファイルであれば、どのような電子ファイルでも本発明に係る実施形態に適用することができる。
引き続き、ステップS1012で、MFP131は、操作画面上に、新規パスワードの設定画面を表示し、電子ファイルの新規パスワードの設定を促す。図13に新規パスワードの設定画面1300の一例を示す。新規パスワードの設定画面1300は、[新しいパスワード]ボタン1301とその入力フィールド1302を有する。加えて[確認用入力]ボタン1303とその入力フィールド1304を有する。[新しいパスワード]ボタン1301または[確認用入力]ボタン1303がタッチされることにより、それぞれ対応する入力フィールドが選択され、操作パネル上のテンキーより文書1に対するパスワードが入力可能になる。そして、入力フィールド1302または入力フィールド1304がタッチされることにより、操作画面上にソフトキーボードが立ち上がりパスワードの入力が可能になる。
さらに新規パスワードの設定画面1300は、[キャンセル]ボタン1305と[OK]ボタン1306を有する。[OK]ボタン1306が押された場合は、MFP131は、入力フィールド1302と入力フィールド1304に入力されたものが同じパスワードであるか確認し、異なればパスワード入力が異なることを表示する。同じパスワードの場合は、そのパスワードを現在のパスワードとする。[キャンセル]ボタン1305または[OK]ボタン1306が押下されることにより、MFP131はステップS1013へ処理を進める。
ステップS1013で、MFP131は、[OK]ボタン1306または[キャンセル]ボタン1305のどちらが押下されたかを判断する。[OK]ボタン1306が押下されたと判定された場合は、MFP131は、前述のステップS1011へ処理を進める。一方、[キャンセル]ボタン1305が押下された場合は、MFP131は、ステップS1014へ処理を進める。
ステップS1014では、MFP131は、電子ファイル内の原稿画像の並び順選択のためのセレクトボタン1105の選択オプションに従い、原稿画像の出現順を並べ替える。さらにMFP131は処理対象の文書に関連するビットマップ形式の原稿画像でPDFを生成する。最後に、MFP131は処理済となった処理対象の文書の元情報のリストをメモリより削除する。以上の処理の後、ステップS1015へ処理が進み、一連の処理が終了する。
(複数文書を1つの電子ファイルにする処理)
次に、図14を用いて、ステップS811の複数文書を1つの電子ファイルにする処理の詳細を説明する。
図14に示す各ステップの処理は、MFP131内のCPUにより統括的に制御される。
まず、ステップS1400より処理が開始される。
続いて、ステップS1401で、MFP131は、前述のステップS604で構築した原稿画像管理データ700を基に、元情報としてスキャン許可用パスワードハッシュ値が設定されている文書があるか確認する。
次いで、ステップS1402(パスワード検出)で、MFP131は、スキャン許可用パスワードハッシュ値が設定されている文書がある場合、ステップS1403へ処理を進める。一方、スキャンされた原稿群に含まれるすべての文書の元情報において、スキャン許可用パスワードハッシュ値が設定されていない場合、MFP131は、ステップS1412へ処理を進める。
ステップS1403で、MFP131は操作画面上にスキャン許可用パスワード入力画面の表示を行い、ユーザにスキャン許可用パスワードの入力を促す。本実施形態においては、MFP131は、図15に示すスキャン許可用パスワード入力操作画面1500をMFP131の操作画面上に表示する。
ここで、スキャン許可用パスワード入力操作画面1500について、図15を用いて説明する。
スキャン許可用パスワード入力操作画面1500は、スキャン許可パスワードハッシュ値を持つ文書に対してのみ、パスワードの入力フィールドを有する。さらに、スキャン許可用パスワード入力操作画面1500は、スキャン許可パスワードハッシュ値を持つ文書が多い場合のために、パスワードの入力フィールドのスクロールボタン1507を有する。図15は、図2に示した原稿群200の場合におけるスキャン許可用パスワード入力画面の例である。原稿群200は、2次元コードの元情報で認識可能な文書1と文書2を含む。さらに文書1と文書2はスキャン許可パスワードハッシュ値をそれぞれ有している。そのためスキャン許可用パスワード入力操作画面1500は、パスワードの入力フィールド1503、1506を有している。
本実施形態では、スキャン許可用パスワード入力操作画面1500は、どの文書に対して入力されたパスワードかを区別するために、文書名である[文書1]ボタン1502と[文書2]ボタン1505を有する。さらに後で説明するセレクトボタン1508での、電子ファイルへ適用するパスワードの選択のために、スキャン許可用パスワード入力操作画面1500は、文書1と文書2にそれぞれ対応する文書番号1501と1504を有する。
[文書1]ボタン1502が押下されることにより、パスワードの入力フィールド1503が選択され、操作パネル上のテンキーより文書1に対するパスワードが入力可能になる。さらにパスワードの入力フィールド1503がタッチされることにより、操作画面上にソフトキーボードが立ち上がり、文書1に対するパスワードの入力も可能になる。同様に[文書2]ボタン1505が押下されることにより、パスワードの入力フィールド1506が選択され、操作パネル上のテンキーより文書2に対するパスワードが入力可能になる。さらにパスワードの入力フィールド1506がタッチされることにより、操作画面上にソフトキーボードが立ち上がり、文書2に対するパスワードの入力も可能になる。このように、スキャン許可パスワードハッシュ値を持つ文書が複数ある場合、2つ以上のパスワードの入力が発生する。
加えて、スキャン許可用パスワード入力操作画面1500は、電子ファイルへ適用するパスワードの選択をユーザに要求するセレクトボタン1508(パスワード決定手段)を有する。[新規パスワードを設定]と[パスワードを設定しない]のオプションの他に、スキャン許可パスワードハッシュ値を持つ文書に対してのみセレクトボタン1508はオプションをもつ。それぞれのオプションは、文書番号1501と1504の値を使って、[No.(文書番号)のパスワードを適用]の形式で表現される。初期状態では[No.1のパスワードを適用]オプションが選択されている。この場合では、文書番号に対応付けてパスワードが設定されることになる。図15は原稿群200の場合の例であるので、セレクトボタン1508は、オプションとして、[No.1のパスワードを適用]、[No.2のパスワードを適用]、[新規パスワードを設定]、[パスワードを設定しない]の4つの排他的オプションを有する。
加えて、スキャン許可用パスワード入力操作画面1500には、[OK]ボタン1510と[キャンセル]ボタン1509を持つ。[OK]ボタン1510または[キャンセル]ボタン1509が押下されると、ステップS1404へ処理が進む。
ステップS1404では、MFP131は、スキャン許可用パスワード入力操作画面1500で[OK]ボタン1510が押下された場合、ステップS1406へ処理を進める。一方、スキャン許可用パスワード入力操作画面1500で[キャンセル]ボタン1509が押下された場合、MFP131はステップS1405へ処理を進める。
ステップS1405では、MFP131は、スキャン許可用パスワード入力操作画面1500で、[キャンセル]ボタン1509が押下されたので、複数文書を1つの電子ファイル化する処理がキャンセルされたと認識する。よってMFP131は、原稿画像管理データ700を基に、関連する原稿画像を確認し、すべての原稿画像をMFP131の記憶装置より削除する。さらに原稿画像管理データ700もメモリより削除する。以上の処理の後、ステップS1415へ処理が進み、一連の処理が終了する。
一方、ステップS1406では、MFP131は、パスワードの入力フィールド1503、1506に入力された全てのパスワードについて、該当する文書の元情報のスキャン許可用パスワードハッシュ値を用いて、入力されたパスワードが正しいかを確認する。
次いで、ステップS1407(パスワード検証)で、MFP131は、パスワードの検証を行い、パスワードの入力フィールド1503、1506に入力されたパスワードが1つでも正しくない場合、ステップS1408へ処理を進める。一方、パスワードの入力フィールド1503、1506に入力されたパスワードが全て正しい場合、ステップS1409へ処理を進める。
ステップS1408では、MFP131は、入力されたパスワードが正しくないことを示す表示を操作画面上に表示する。そして前述のステップS1403へ処理が進む。
一方、ステップS1409では、MFP131は、スキャン許可用パスワード入力操作画面1500上の電子ファイルへ適用するパスワードを選択するセレクトボタン1508の選択オプションを確認する。
ここで、[No.(文書番号)のパスワードを適用]が選択されている場合、該当文書番号のパスワードの入力フィールドに入力されたパスワードを電子ファイルへ提供するために、MFP131は、ステップS1410へ処理を進める。
[新規パスワードを設定]が選択されている場合、新規で複数のパスワードの全ての代替になるたった一つの電子ファイル用のパスワードを設定するために、MFP131は、ステップS1412へ処理を進める。
[パスワードを設定しない]が選択されている場合、パスワードを設定しないので、MFP131はステップS1414へ処理を進める。
ステップS1410では、MFP131は、[No.(文書番号)のパスワードを適用]オプションの文書番号に該当するパスワードの入力フィールドに入力されたパスワードを現在のパスワードとする。例えば、[No.1のパスワードを適用オプションが選択されている場合、パスワードの入力フィールド1503へ入力されたパスワードを、現在のパスワードとする。
次いで、ステップS1411で、MFP131は、処理対象の文書に関連するビットマップ形式の原稿画像と、現在のパスワードを用いて、暗号化PDFを生成する。さらに、MFP131は、原稿画像管理データ700をメモリより削除する。以上の処理の後、ステップS1415へ処理が進み一連の処理を終了する。
一方、ステップS1412では、MFP131は、操作画面上に図13の新規パスワードの設定画面1300を表示し、電子ファイルの新規パスワードの設定を促す。新規パスワードの設定画面1300での動作は前述したとおりである。そして、[OK]ボタン1306または[キャンセル]ボタン1305が押下されることにより、MFP131はステップS1413へ処理を進める。
ステップS1413で、MFP131は、[OK]ボタン1306または[キャンセル]ボタン1305のどちらが押下されたかを判断する。[OK]ボタン1306が押下された場合は、MFP131は、ステップS1411へ処理を進める。一方、[キャンセル]ボタン1305が押下された場合は、MFP131は、ステップS1411へ処理を進める。
ステップS1414では、MFP131は、処理対象の文書に関連するビットマップ形式の原稿画像を用いてPDF形式の電子ファイルを生成する。最後に、MFP131は原稿画像管理データ700をメモリより削除する。以上の処理の後、ステップS1415へ処理が進み一連の処理を終了する。
以上、本発明よる実施形態1の詳細を説明した。
上記実施形態1においては、MFP131は、図15に示すスキャン許可用パスワード入力操作画面1500を操作画面上に表示する。そして、該当文書のパスワードの入力フィールドに、毎回パスワードを、テンキーもしくはソフトキーボードのような入力手段により入力させていた。以下に説明する本発明による実施形態2および3では、実施形態1に対して同じパスワードの入力回数を軽減するために、以下の工夫を行っている。
<実施形態2>
以下では、実施形態1と異なる部分についてのみ説明する。
本実施形態では、前述の実施形態1のステップS1403で表示するスキャン許可用パスワード入力操作画面1500に対して、図16に示すように文書番号が2番目以降のパスワードの入力フィールドの横にセレクトボタン1601を追加する。
セレクトボタン1601が選択されると、MFP131は[No.(文書番号)のパスワードの入力]形式のオプションを表示し、ユーザにオプションの選択を促す。MFP131は、セレクトボタン1601に対応するパスワードの入力フィールド1506(図15)へ、選択されたオプションの文書番号のパスワードを設定する。このようにして、既に入力済みのパスワードを選択して自動的に入力できるので、同じパスワードの入力回数を軽減することができる。
以上、本発明による実施形態2について説明した。
<実施形態3>
以下では、実施形態1と異なる部分についてのみ説明する。
本実施形態では、前述の実施形態1のステップS1403で、図17のスキャン許可用パスワード入力操作画面1700を表示する。このスキャン許可用パスワード入力操作画面1700では、文書名ごとにパスワードの入力フィールドを出すのではなく、原稿群の元情報に含まれる異なるスキャン許可用パスワードハッシュ値の数だけ入力フィールド1702を表示する。これにより、異なる文書でも同じスキャン許可パスワードハッシュ値を持つ文書へのパスワードの入力回数を減らすことができる。なお、本実施形態においては、ステップS1406で、MFP131は、個々の入力パスワードに対して、原稿群に含まれる元情報の全てのスキャン許可パスワードハッシュ値について、正しいか確認する必要がある。
以上、本発明による実施形態3について説明した。
<実施形態4>
本実施形態では、文書プレビューともなうウイザード形式のスキャン許可用パスワードの入力を行うための実施形態を、図18、19を用いて説明する。以下では、実施形態1と異なる部分についてのみ説明する。
図18は、文書毎のプレビューを伴うスキャン許可用パスワード入力操作画面を表している。図18は、原稿群200の場合を例とした表示例である。文書プレビュー1800、1808、1810は、それぞれの原稿群200に含まれる文書1、文書2、そして文書3のプレビュー画面である。文書プレビューは、文書の原稿画像表示部1801と、その表示ページを指定する入力フィールド1802と、原稿画像プレビュー表示の拡大/縮小と表示範囲移動を行うボタン1803を有する。また文書の元情報にスキャン許可用パスワードハッシュ値がある場合の文書プレビューは、パスワードの入力ボタン1804と、その入力フィールド1805を持っている。原稿群200の場合、文書1と文書2がスキャン許可用パスワードで保護されているので、文書プレビュー1800、1808には、パスワードの入力ボタン1804と、その入力フィールド1805が存在する。
更に、文書プレビューは、電子ファイルへ適用パスワードを選択するボタン1806をもっている。ボタン1806が押下されることにより、図19の電子ファイルへのパスワード設定操作画面1900がMFP131の操作画面上に表示される。電子ファイルへのパスワード設定操作画面1900には、セレクトボタン1901(パスワード決定手段)があり、実施形態1のセレクト1508と同じオプションを持っており動作も同じである。
[新規パスワードを設定]のオプションが選択されたときに、新規パスワードの設定のためのボタン1902と1904の押下により、パスワードの入力フィールド1903と1905での入力を受け付けることが可能になる。ボタン1902、1904は、実施形態1における図13のボタン1301、1303と、また、入力フィールド1903、1905は、入力フィールド1302、1304と、その動作は同じである。
さらに電子ファイルへのパスワード設定操作画面1900には、[キャンセル]ボタン1906または[OK]ボタン1907が存在する。[OK]ボタン1907を押下されたときは、MFP131は、ボタン1806が押下された文書プレビュー画面に戻す。但しセレクトボタン1901で[新規パスワードを設定]のオプションが選択されていた場合は、入力フィールド1903と1905に同じパスワードが入力された場合のみ、MFP131はボタン1806が押下された文書プレビュー画面を戻す。また、[キャンセル]ボタン1906が押された場合は、MFP131はセレクトボタン1901の初期値のまま、ボタン1806が押下された文書プレビュー画面に戻す。
文書プレビュー1800、1808、1810はウイザード形式で制御されるため、文書間を移動するための[次へ]ボタン1807、[前へ]ボタン1809を有する。また最終文書のプレビュー画面1810は、[キャンセル]ボタン1811と[OK]ボタン1812を有する。[キャンセル]ボタン1811また[OK]ボタン1812が押された場合、MFP131は、前述のステップS1404へ処理を進めることになる。
以上、本発明による実施形態4について説明した。
なお、上述の諸実施形態においては、二次元コードを用いるものとしたが、一次元コードや電子透かしやステガノグラフィーを用いてもよい。
また、上記諸実施形態では、データを格納する媒体としてメモリを用いて説明を行ったが、データを格納できる媒体(例えば、HDDやRAM)であれば、メモリに代わることができる。
また、上記諸実施形態では、MFPが原稿群をスキャンすることを前提に説明した。一般に、スキャンとは、原稿上の画像を光学的に読取ることを意味する。例えば、デジタルカメラによる撮影などであっても本発明の目的を達成することができる。
また、上記諸実施形態では、画像の読取り、情報の処理、画像のシート上への印字の何れもが可能な単一のMFPを取り上げて説明したが、画像の読取り、情報処理、画像のシート上への印字を行う装置が夫々、別の装置であっても構わない。
なお、本明細書では、少なくとも情報の処理を行うことができる装置を画像処理装置と称する。また、少なくとも情報の処理、及び、画像のシート上への印字を行うことができる装置を画像形成装置と称する。
上記諸実施形態では、MFPにADFが装着されている場合を説明した。ADFが装着されていない場合であっても、ユーザがすべての原稿をスキャンしたことを通知するためのボタンを操作画面上に設けることによって、MFPはすべての原稿がスキャンされたことを判断可能である。
以下に、さらなる諸実施形態について図面を参照し説明する。
以下に説明する諸実施形態は、所定の情報をもたせたバーコードを印刷するための画像処理装置に関するものである。
この分野の技術には、特願2000−345504号公報に開示された技術のように、2次元バーコードの作成に複数の色を使用することでバーコード内の情報量を増加させたものがある。また、特開2003−280469号公報には、グリフコード(登録商標)について開示されている。このグリフコードは、記号“/”と“\”で構成されている。そして、“/”が情報1を示し、“\”が情報0を示すものと定義している。つまり、紙上に“/”又は“\”の形のドットを打つことで、グリフコード対応のデコード装置でデコード可能な情報を表現している。また、特開2006−333213号公報には、事前に作成済みの特定のパターンが持つ特色を壊さずに、リアルタイムで情報を追加する技術が開示されている。
本明細書では、Code128(JIS規格)の様にバーとスペースのパターンに意味を持たせるようなバーコードを「パターン型バーコード」と称する。また、グリフコードの様に特定の意味を持たせたドットを並べることで情報を保持することが可能なバーコードを「ドット型バーコード」と称する。現在では、PC上のアプリケーションからの印刷において、プリンタドライバがこれらのコードを付加する技術が存在し、一般に利用されている。
しかしながら、上記の技術ではバーコードの情報量や、読み取りやすさ、読み取りの精度が重視され、バーコードに入っている情報の保護については、ほとんど考慮されていなかった。一方で、バーコードに入れることができる情報量は増えており、様々な情報をバーコードに入れることができるようになった。そのため、バーコードに入っていると便利だが誰にでも読み取られるのは困る情報(印刷者名や社内用整理コードなど)をバーコードに入れることには心理的な抵抗が大きかった。
以下に説明する諸実施形態は、上記課題を解決するためになされたものである。その目的とするところはバーコードをバーコードリーダでそのまま読み込んでも情報を読み取ることがでない、つまり情報が保護されたバーコードを出力できるようにするところにある。
以下に、さらなる実施形態5〜8について図面を用いて説明する。
<印刷システムの構成(実施形態5〜8に共通)>
図20は、本発明の実施形態に係る印刷システムの構成を示すブロック図である。
なお、この印刷システムは、以下に説明する機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、LAN,WAN等のネットワークを介して接続され、処理が行われるシステムであってもよい。
同図において、ホストコンピュータ4000は、CPU2001を備えている。
CPU2001は、ROM2003のプログラム用ROMや外部メモリ4003に記憶された文書処理プログラム等に基づく印刷処理の実行を制御する。具体的には、後述される各実施形態に係わる処理を含む、図形、イメージ、文字、表等が混在した文書処理およびそれに基づく印刷処理の実行を制御する。またCPU2001は、システムバス4に接続される各デバイスの制御を総括する。
ROM2003のプログラム用ROMや外部メモリ4003には、CPU2001の制御プログラムであるオペレーティングシステムプログラム(以下、OSと記す)等が記憶されている。また、ROM2003のフォント用ROMあるいは外部メモリ4003には上記文書処理の際に使用するフォントデータ等が記憶されている。さらに、ROM2003のデータ用ROMあるいは外部メモリ4003には上記文書処理等を行う際に使用する各種データが記憶されている。RAM2002は、CPU2001の主メモリ、ワークエリア等として機能する。
キーボードコントローラ(KBC)2005は、キーボード4001や不図示のポインティングデバイスからのキー入力を制御する。CRTコントローラ(CRTC)2006は、バーコード画像の表示を含む、CRTディスプレイ(CRT)4002による表示を制御する。
2007はディスクコントローラ(DKC)を示し、ハードディスク(HD)、フロッピー(登録商標)ディスク(FD)等の外部メモリ11とのアクセスを制御する。こうした外部記憶装置は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム(以下プリンタドライバと称す)等を記憶する。
プリンタコントローラ(PRTC)2008は、双方向性インターフェース7000を介してプリンタ6000に接続されて、プリンタ6000との通信制御処理を実行する。
なお、CPU2001は、CRT4002上に表示される不図示のマウスカーソル等で指示されたコマンドに基づいて、予め登録された種々のウィンドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷の設定に関するウィンドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行うことができる。
プリンタ6000は、そのCPU5001によって制御される。プリンタCPU5001は、ROM5003に記憶された制御プログラムや、外部メモリ14に記憶された制御プログラム等に基づいてシステムバス15に接続される印刷部(プリンタエンジン)6002に印刷出力情報としての画像信号を出力する。
また、このROM5003のプログラムROMには、CPU5001の制御プログラム等が記憶される。また、ROM5003のフォント用ROMには上記印刷出力情報を生成する際に使用するフォントデータ等が記憶される。また、ROM5003のデータ用ROMには、ハードディスク等の外部メモリ6003がないプリンタの場合には、コンピュータ上で利用される情報等が記憶されている。
CPU5001は入力部5004を介してホストコンピュータ4000との通信処理が可能となっている。これにより、プリンタ内の情報等をホストコンピュータ4000に通知できる。RAM5002は、CPU5001の主メモリや、ワークエリア等として機能するRAMである。また、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。なお、RAM5002は、出力情報展開領域、環境データ格納領域、NVRAM等に用いられる。
前述したハードディスク(HD)、ICカード等の外部メモリ6003は、メモリコントローラ(MC)5006によりアクセスを制御される。外部メモリ6003は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、入力部5004は、前述した操作パネルで操作のためのスイッチおよびLED表示器等である。
また、プリンタ6000に図示しないNVRAMを実装し、操作パネル6001からのプリンタモード設定情報を記憶するようにしてもよい。
印刷部6002は、以下に説明する諸実施形態では電子写真方式のエンジンとしている。従って、バーコード画像を含む印刷データはトナーのドットによって最終的に紙などの媒体上に記録される。なお、印刷方式は、このような電子写真方式に限られないことはもちろんである。例えば、インクジェット方式など、ドットを形成して印刷を行ういずれの方式の印刷装置を用いても、以下の諸実施形態を実現できる。
図21は、図20に示したコンピュータ4000における印刷処理のための一構成を示す図である。
同図に示すアプリケーション2101、グラフィックエンジン2102、プリンタドライバ2103、およびシステムスプーラ2104は、外部メモリ4003に保存されたファイルとして存在する。これらは、OSやこれらを利用するモジュールによってRAM2にロードされて実行されるプログラムモジュールである。
また、アプリケーション2101およびプリンタドライバ2103は、外部メモリ4003のFDや不図示のCD−ROM、あるいは不図示のネットワークを経由して外部メモリ4003のHDに追加することが可能となっている。外部メモリ4003に保存されているアプリケーション2101はRAM2002にロードされて実行される。実行中のアプリケーション2101からプリンタ6000に対して印刷を行う際には、同様にRAM2002にロードされ実行可能となっているグラフィックエンジン2102を利用して出力(描画)を行う。
グラフィックエンジン2102は、プリンタなどの印刷装置ごとに用意されたプリンタドライバ2103を外部メモリ4003からRAM2002にロードし、アプリケーション2101の出力をプリンタドライバ2103に設定する。またグラフィックエンジン2102はアプリケーション2101から受け取るGDI(Graphic Device Interface)関数をDDI(Device Driver Interface)関数に変換してプリンタドライバ2103へ出力する。
プリンタドライバ2103は、グラフィックエンジン2102から受け取ったDDI関数に基づいて、プリンタが認識可能な制御コマンド、例えばPDL(Page Description Language)に変換する。変換されたプリンタ制御コマンドは、OSによってRAM2002にロードされたシステムスプーラ2104を経てインターフェース7000経由でプリンタ6000へ印刷データとして出力される仕組みとなっている。
本実施形態の印刷システムは、プリンタドライバ2103内にバーコード処理部2105を有する。バーコード処理部2105はプリンタドライバ2103のビルドインモジュールであってもよいし、個別のインストーレーションによって追加されるライブラリモジュールの形式であっても構わない。また、プリンタドライバ2103は、バーコード画像の印刷に関し、そのバーコード処理部2105の実行により、後述するバーコード画像の描画などの処理を行う。
<実施形態5>
本実施形態5では、パターン型バーコードに有効な形態を説明する。
はじめに、バーコード生成時の色に関する設定をするUIについて図22を用いて説明する。
図22は、バーコード生成時の色に関する設定をするUIの例である。
バーコードに関する設定が可能なUI2201は、プリンタドライバ2103から呼び出すことが可能である。このUI2201は、基本的にプリンタドライバ2103から呼び出され開かれるが、事前に独自に開いて設定しておけるようにすることもできる。
このUI2201では、情報タブ2202に用意されたGUIでバーコードに含める情報を指定し、カラータブ2203に用意されたGUIでバーコードを生成するときに使用する色を指定することができる。
情報タブ2202には、図示しないが、バーコード生成日時、ページ番号、印刷者名、社内整理コードなどの項目があり、各情報をバーコードに含めるか含めないかを設定できる。また、社内整理コードのようにユーザが任意の値を設定したい項目にはその値の入力欄があり、任意の値を設定できる。
カラータブ2203では、情報を格納する色(以下、特定色と呼ぶ)と、情報をカモフラージュするための色(以下、カモフラージュ色と呼ぶ)を指定することができる。特定色リストボックス2210には、特定色として使用される色がリストされている。カモフラージュ色リストボックス2220には、カモフラージュ色として使用される色がリストされている。バーコードに使用しない色リストボックス2250には、特定色もしくはカモフラージュ色として指定が可能だがどちらにも指定されていない色がリストされている。
特定色として使用したくない色が特定色リストボックス310にリストされている場合は、その色を選択状態にして、特定色から削除ボタン2211を押下する。特定色から削除ボタン2211を押下すると、選択されていた色が特定色リストボックス2210からバーコードに使用しない色リストボックス2250に移動する。
カモフラージュ色として使用したくない色がカモフラージュ色リストボックス2220にリストされている場合は、その色を選択状態にして、カモフラージュ色から削除ボタン2221を押下する。カモフラージュ色から削除ボタン2221を押下すると、選択状態になっている色がカモフラージュ色リストボックス2220からバーコードに使用しない色リストボックス2250に移動する。
バーコードに使用しない色リストボックス2250に特定色として使用したい色があれば、その色を選択状態にして特定色に追加ボタン2251を押下する。特定色に追加ボタン2251を押下すると、選択状態になっている色が特定色リストボックス2210に移動する。一方、バーコードに使用しない色リストボックス2250にカモフラージュ色として使用したい色があれば、その色を選択状態にしてカモフラージュ色に追加ボタン2252を押下する。そして、カモフラージュ色に追加ボタン2252を押下すると、選択状態になっている色がカモフラージュ色リストボックス2220に移動する。なお、このとき同じ色を特定色とカモフラージュ色の両方で使用することはできない。
次に、本実施形態5におけるバーコードの生成処理について、図23を参照し説明する。
図23は、本実施形態5におけるバーコードの生成フローを説明した図である。図23に示した処理は、バーコード処理部2105が行う。
バーコード処理部2105で処理が開始されると、まずS2301で、バーコードに含められる情報(データ)がバーコードのパターンに変換される。ここで変換されるデータは、情報タブ2202で設定されたデータである。
次にS2302でバーコードの描画色を特定色で指定する。ここで特定色として使用する色は、特定色リストボックス2210にリストされた色である。もし、特定色リストボックス2210で複数の色がリストされた場合は、バーコード中のバー毎やバーの一部毎にランダムに複数ある特定色から指定するようにする。
次にS2303でバーコード中のスペース部分をカムフラージュ色で描画をするか、スペースのまま残すかの指定をする。このとき、スペース毎やスペースの一部毎にその指定をする。カモフラージュ色で描画と指定された部分は、S2304で描画色が指定される。S2304で指定される描画色は、カモフラージュ色リストボックス2220にリストされた色である。もし、カモフラージュ色リストボックス2220で複数の色がリストされた場合は、バーコード中のスペース毎やスペースの一部毎にランダムになるように複数ある描画色から指定する。
最後にS2305でバーコードを出力する。
図13に、本実施形態5におけるカモフラージュ処理が施されて出力されたバーコードのイメージ図を示す。同図に示すように、出力されたバーコードの情報は、カモフラージュ処理により保護されている。そのため、特定色に使用した色がわかっていれば、その色の部分だけを読み込んでデコードすることでバーコードから情報を取り出すことができるが、特定色が判別できないと情報を取り出すことができないものとなっている。
<実施形態6>
本実施形態6では、ドット型バーコードに有効な形態を説明する。
以下では、本実施形態6におけるバーコードの生成処理について図24を用いて説明する。
図24は、本実施形態6におけるバーコードの生成フローを説明した図である。なお、図24の処理は、バーコード処理部2105が行う。また、本実施形態6で有効なUIとしては、図22に例示した実施形態5で用いたものを使用することができる。
バーコード処理部2105で処理が開始されると、まずS2401で、バーコードに含められる情報(データ)がドット型バーコードのパターンに従ったドット情報に変換される。ここで変換されるデータは、情報タブ2202で設定された情報と同じである。
次にS2402でドットの描画色を特定色で指定する。このとき、ドットに指定する特定色は、特定色リストボックス2210にリストされた色である。もし、特定色リストボックス2210で複数の色がリストされている場合は、ドットごとにランダムに複数ある特定色から指定する。
次にS2203でドットからなる情報であるドット情報にカモフラージュ用のドットを追加する。ドット型バーコードでは、並んでいるドットからなる情報を順番に読み込んでデコードする。そのため、並んでいる(配列化された)ドットの間に任意の間隔で所定のパターンのドットを追加することでS2403が実現できる。
次にS2404で追加したドットの描画色としてカモフラージュ色を指定する。
ここでカモフラージュ色として使用する色は、カモフラージュ色リストボックス2220にリストされた色である。もし、カモフラージュ色リストボックス2220に複数の色がリストされた場合は、ドット毎にランダムに複数あるカモフラージュ色から指定するようにする。また、S2403とS2404の処理を同時に行い、カモフラージュ色で描画色を指定したカモフラージュ用のドットを追加しても良い。
次にS2405で作成されたドット情報をドット型バーコードの仕様に従って繰り返してパターンを作成する。
最後にS2406でバーコードを出力する。
図33に、本実施形態6におけるカモフラージュ処理が施されて出力されたバーコードのイメージ図を示す。出力されたバーコードの情報は、カモフラージュ処理により保護されている。そのため、特定色に使用した色がわかっていれば、その色の部分だけを読み込んでデコードすることでバーコードから情報を取り出すことができるが、特定色が判別できないと情報を取り出すことができないものとなる。
<実施形態7>
本実施形態7では、パターン型バーコードにおいて、後述する情報を取り出すための鍵となる情報(以下、解析情報と呼ぶ)が同一バーコード内に存在する形態について説明する。
はじめに、バーコード生成時の色に関する設定をするためのUIについて図25を用いて説明する。
図25は、バーコード生成時の色に関する設定をするためのUIの一例である。
バーコードに関する設定が可能なUI2501は、プリンタドライバ2103から呼び出すことが可能である。このUI2501は、基本的にプリンタドライバから呼び出され開かれるが、事前に独自に開いて設定しておけるようにすることもできる。
このUI2501では、情報タブ2502に用意されたGUIでバーコードに含める情報を指定し、カラータブ603に用意されたGUIでバーコードを生成するときに使用する色を指定する。
情報タブ2502には、図示しないが、バーコード生成日時、ページ番号、印刷者名、社内整理コードなどの項目があり、各情報をバーコードに含めるか含めないかを設定できる。また、社内整理コードのようにユーザが任意の値を設定したい項目にはその値の入力欄があり、任意の値を設定できる。
カラータブ2203では、特定色と、解析情報を格納する色(以下、解析情報色と呼ぶ)と、上記設定をされた情報と解析情報とが重なったときに使用する色(以下、重なり色と呼ぶ)とカモフラージュ色を指定することができる。
特定色リストボックス2510には、特定色として使用される色がリストされている。解析情報色リストボックス2520には、解析情報色として使用される色がリストされている。重なり色リストボックス2530には、重なり色として使用される色がリストされている。カモフラージュ色リストボックス2540には、カモフラージュ色として使用される色がリストされている。バーコードに使用しない色リストボックス2550には、特定色、解析情報色、重なり色、カモフラージュ色として指定が可能だがいずれにも指定されていない色がリストされている。
特定色として使用したくない色が、特定色リストボックス2510にリストされている場合は、その色を選択状態にして、特定色から削除ボタン2511を押下する。特定色から削除ボタン2511を押下すると、選択状態になっている色が特定色リストボックス2510からバーコードに使用しない色リストボックス2550に移動する。
解析情報色として使用したくない色が、解析情報色リストボックス2520にリストされている場合は、その色を選択状態にして、解析情報色から削除ボタン2521を押下する。解析情報色から削除ボタン2521を押下すると、選択状態になっている色が解析情報色リストボックス2520からバーコードに使用しない色リストボックス2550に移動する。
重なり色として使用したくない色が、重なり色リストボックス2530にリストされている場合は、その色を選択状態にして、重なり色から削除ボタン2531を押下する。重なり色から削除ボタン2531を押下すると、選択状態になっている色が重なり色リストボックス2530からバーコードに使用しない色リストボックス2550に移動する。
カモフラージュ色として使用したくない色がカモフラージュ色リストボックス2540にリストされている場合は、その色を選択状態にして、カモフラージュ色から削除ボタン2541を押下する。カモフラージュ色から削除ボタン2541を押下すると、選択状態になっている色がカモフラージュ色リストボックス2540からバーコードに使用しない色リストボックス2550に移動する。
特定色として使用したい色があれば、その色を選択状態にして、特定色に追加ボタン2551を押下する。特定色に追加ボタン2551を押下すると、選択状態になっている色が特定色リストボックス2510に移動する。
解析情報色として使用したい色があれば、その色を選択状態にして、解析情報色に追加ボタン2552を押下する。解析情報色に追加ボタン2552を押下すると、選択状態になっている色が解析情報色リストボックス2520に移動する。
重なり色として使用したい色があれば、その色を選択状態にして、重なり色に追加ボタン2553を押下する。重なり色に追加ボタン2553を押下すると、選択状態になっている色が重なり色リストボックス2530に移動する。
カモフラージュ色として使用したい色があれば、その色を選択状態にして、カモフラージュ色に追加ボタン2554を押下する。カモフラージュ色に追加ボタン2554を押下すると、選択状態になっている色がカモフラージュ色リストボックス2540に移動する。このとき1つの色は、特定色と解析情報色と重なり色とカモフラージュ色のいずれか1つの色としてだけ使用することができる。
次に、本実施形態7におけるバーコードの生成処理について図26を参照し説明する。
図26は、本実施形態7におけるバーコードの生成フローを説明した図である。図26の処理は、バーコード処理部2105が行う。また図27は、本実施形態7における、バーコードの生成イメージを表す概念図である。
バーコード処理部2105で処理が開始されると、まずS2601で、バーコードに含められるデータがバーコードのパターンに変換される。ここで変換されるデータは、情報タブ2502で設定された情報と同じである。S2601で生成されるバーコードの一例が、図27に示すバーコード2701である。
次に、S2602で解析情報がバーコードのパターンに変換される。解析情報とは、特定色として何色を使用しているかを示す情報(以下、これを特に特定色情報と呼ぶ)のことである。解析情報には、特定色情報のほかに情報の保護を強化するためにパスワードのハッシュなどが入っていることもある。このS2602で生成されるバーコードの一例が、図27に示すバーコード2702である。
次いでS2603では、S2601で生成した、上記情報タブ2502を用いて設定された情報のバーコード(以下、情報のバーコードと呼ぶ)と、S2602で生成した、解読情報のバーコードとを重ね合わせる形で合成する。このS2603で生成されるバーコードの一例が、図27に示すバーコード2710である。
このとき、情報のバーコード単独のバー(以下、情報単独バーと呼ぶ)、解読情報のバーコード単独のバー(以下、解読情報単独バーと呼ぶ)、両方のバーコードが重なっているバー(以下、重なりバーと呼ぶ)のどれであるかがかわかるようにしておく。1つのバーであっても、一部分だけバーが重なっているところもあるので、そこはバーを分割してどのようなバーであるかわかるようにしておく。
図28は、一例として、バーの情報を持つ方法を説明するための図である。図28では、バーの情報をバー情報テーブル2801として保持している。このバー情報テーブル2801には、バーの幅2811とバーの種類2812の情報が記載されている。
ここで、バー情報テーブル2801の生成処理について図36を用いて説明する。
図36は、バー情報テーブル2801の生成フローを説明したフローチャートである。図36の処理は、バーコード処理部2105が行う。
まず、S3601においてバーコード2701を所定の単位に分割し、それぞれ分割された部分にたいして、以下のようにバーであるのかスペースであるのかが分かるようにしておく。バーコードの分割単位は、バーコードで使われる一番細い線の幅とする。バーであるのかスペースであるのかの情報はテーブルで保持し、バーであれば“B”をスペースであれば“S”を記載する。このテーブルは、「BSBBBSBSSSBBBSBBBSBSSSBSB」のようになっている。
次に、S3602においてバーコード2702を所定の単位に分割し、それぞれ分割された部分にたいして、以下のようにバーであるのかスペースであるのかわかるようにしておく。ここでもバーコードの分割単位は、バーコードで使われる一番細い線の幅とする。バーであるのかスペースであるのかの情報はテーブルで保持し、バーであれば“B”をスペースであれば“S”を記載する。このテーブルは、「BSBSBSBBBSBSSSB」のようになっている。
続いて、バーコード2701とバーコード2702を重ねたときの情報を生成する。
S3603では、バーコード2701とバーコード2702の最初の情報を取り出す。
S3610では、バーコードに入れた情報と解析情報の両方の意味をもつバー(以下、重なりバー)であるかを判定する。取り出されたバーコード801の情報が“B”でバーコード2702の情報が“B”であれば、該当のバーを重なりバーと判断しS3611に進む。一方、重なりバーと判断できなかった場合は、S3612に進む。S3611では、判定済みテーブルに重なりバーであることを示す“d”を記載する。
S3612では、バーコードに入れた情報単体のバー(以下、情報バーと呼ぶ)であるかを判定する。取り出されたバーコード2701の情報が“B”でバーコード2702の情報が“S”であれば、該当のバーを情報バーと判断しS3613に進む。一方、情報バーと判断できなかった場合は、S3614に進む。S3613では、判定済みテーブルに情報バーであることを示す“j”を記載する。
S3614では、解析情報単体のバー(以下、解析情報バーと呼ぶ)であるかを判定する。取り出されたバーコード2701の情報が“S”でバーコード2702の情報が“B”であれば、該当のバーを解析情報バーと判断しS3615に進む。一方、重なりバーと判断できなかった場合は、S3616に進む。S3615では、判定済みテーブルに解析情報バーであることを示す“k”を記載する。
S3616では、判定済みテーブルに、合成したバーコードでもスペースであることを示す“s”を記載する。
S3617では、バーコード2701とバーコード2702の次の情報を取り出す。このときにバーコード2701とバーコード2702の次の情報がとれたかを、S3620とS3630で判断する。
S3620では、バーコード2701の次の情報が取れたか確認する。バーコード2701から次の情報が取れていればS3630に進み、一方、バーコード2701の次の情報が取れていなければS3621に進む。
S3621では、バーコード2702の残りの情報について判断済みテーブルへの記載処理を行う。バーコード2701に対する情報の取り出しは終了しているため、バーコード2702のバー部分は全て解析情報バーである。バーコード2702の今取り出している情報とその後ろの情報においてBになっている部分を”k”に変換し、判断済みテーブルに追記する。
S3630では、バーコード2702の次の情報が取れたか確認する。バーコード2702から次の情報が取れていればS3610に進み、一方、次の情報が取れていなければS3631に進む。S3631では、バーコード2701の残りの情報について判断済みテーブルへの記載処理を行う。バーコード2702の情報の取り出しは終了しているため、バーコード2701のバー部分は全て情報バーである。バーコード2701のテーブルで、今取り出している情報とその後ろの情報においてBになっている部分を”j”に変換し、判断済みテーブルに追記する。
この時点で判断済みテーブルは「dsdjdsdkksdjjsdjjsjsssjsj」のようになっている。
続いて、バー情報テーブル2801の形に変換する。
まず、S3640で判断済みテーブルの最初のデータを取り出す。
次に、S3641で取り出した情報がスペースを示す“s”であるかを判断する。ここでスペースを示す“s”が記載されていたらS3644に進み、そうでなければS3642に進む。
S3642では、取り出した情報をバー情報テーブル2801の種類欄2812に記載する。
続いてS3643で同じ記号がいくつ続くか数えて、幅欄2811に記載する。
S3644では、判定済みテーブルに対する処理を続けるかを判断する。ここで判定済みテーブルに次の情報があればS3640に進み、判断済みテーブルの最後まで処理をしたのであれば終了する。
以上がバー情報テーブル2801の生成処理である。
ここで、図26に示すバーコードの生成処理に話を戻す。
S2604〜S2642では、バー毎にバーの種類を判定し、描画色を指定する。
S2604では、バー情報テーブル2801から最初に記載されているバーの幅と種類をセットで取り出す。
S2611では、バーの種類が情報バーであるか判定する。種類が“j”ならば情報バーと判定してS2612の処理に進み、一方、種類が“j”でなければS2621の処理に進む。
S2612では、情報バーの描画色として特定色を指定する。ここで特定色として使用できる色は、特定色リストボックス2510にリストされた色である。もし、特定色リストボックス2510に複数の色がリストされた場合は、バー毎やバーの一部毎にランダムに複数ある特定色から指定する。
S2621では、バーの種類が解析情報バーであるか判定する。ここで種類が“k”ならば解析情報バーと判定してS2622の処理に進み、一方、種類が“k”でなければS2631の処理に進む。
S2622では、解析情報バーの描画色として解析情報色を指定する。ここで解析情報色として使用できる色は、解析情報色リストボックス2520にリストされた色である。もし、解析情報色リストボックス2520に複数の色がリストされた場合は、バー毎やバーの一部毎にランダムに複数ある特定色から指定する。
S2631では、バーの種類が重なりバーであるか判定する。ここで種類が“d”ならば重なりバーと判定してS2632の処理に進み、一方、種類が“d”でなければS2641の処理に進む。
S2632では、重なりバーの描画色として重なり色を指定する。ここで重なり色として使用できる色は、重なり色リストボックス2530にリストされた色である。もし、重なり色リストボックス2530に複数の色がリストされた場合は、バー毎やバーの一部毎にランダムに複数ある重なり色から指定する。
S2641ではバー情報テーブル2801から次のバーの幅と種類のセットを取り出す。そしてS2642で、取り出したセットのうち種類がバーコード終了か判定する。種類がバーコード終了を示す“e”であればS2651に進み、一方、種類が“e”出なければS2611に進む。
S2651ではスペース部分をカムフラージュ色で描画をするか、スペースのまま残すかの指定をする。このとき、スペース毎やスペースの一部毎に指定するようにする。カモフラージュ色で描画すると指定された部分は、S2652で描画色が指定される。ここでカモフラージュ色として使用できる色は、カモフラージュ色リストボックス2540にリストされた色である。もし、カモフラージュ色リストボックス2540に複数の色がリストされた場合は、複数あるカモフラージュ色の中からランダムに描画色が指定される。
最後にS2653でバーコードを出力する。
図34は、本実施形態7におけるカモフラージュ処理が施されて出力されたバーコードのイメージ図である。出力されたバーコードの情報は、カモフラージュ処理により保護されている。そのため、特定色と重なり色に使用した色がわかっていれば、その色の部分だけを読み込んでデコードすることでバーコードから情報を取り出すことができるが、特定色が判別できないと情報を取り出すことができないものとなる。
<実施形態8>
本実施形態8では、ドット型バーコードにおいて、解析情報が同一バーコード内に存在する形態について説明する。
はじめに、バーコード生成時の色に関する設定をするUIについて図29を用いて説明する。
図29は、バーコード生成時の色に関する設定をするUIの一例である。
バーコードに関する設定が可能なUI2901は、プリンタドライバ2103から呼び出すことが可能である。このUI2901は、基本的にプリンタドライバ2103から呼び出され開かれるが、事前に独自に開いて設定しておけるようにすることもできる。
このUI2901では、情報タブ2902に用意されたGUIでバーコードに含める情報を指定し、カラータブ2903に用意されたGUIでバーコードを生成するときに使用する色を指定する。
情報タブ2902には、バーコード生成日時、ページ番号、印刷者名、社内整理コードなどの項目があり、各情報をバーコードに含めるか含めないかを設定できる。また、社内整理コードのようにユーザが任意の値を設定したい項目にはその値の入力欄があり、任意の値を設定できる。
カラータブ2903では、特定色と、解析情報色と、カモフラージュ色を指定することができる。
特定色リストボックス2910には、特定色として使用される色がリストされている。解析情報色リストボックス2920には、解析情報色として使用される色がリストされている。カモフラージュ色リストボックス2930には、カモフラージュ色として使用される色がリストされている。バーコードに使用しない色リストボックス2950には、特定色、解析情報色、カモフラージュ色として指定が可能だがいずれにも指定されていない色がリストされている。
特定色として使用したくない色が、特定色リストボックス2910にリストされている場合は、その色を選択状態にして、特定色から削除ボタン2911を押下する。特定色から削除ボタン2911を押下すると、選択されていた色が特定色リストボックス2910からバーコードに使用しない色リストボックス2950に移動する。
解析情報色として使用したくない色が、解析情報色リストボックス2920にリストされている場合は、その色を選択状態にして、解析情報色から削除ボタン2921を押下する。この解析情報色から削除ボタン2921を押下すると、選択状態になっている色が解析情報色リストボックス2920からバーコードに使用しない色リストボックス2950に移動する。
カモフラージュ色として使用したくない色がカモフラージュ色リストボックス2930にリストされている場合は、その色を選択状態にして、カモフラージュ色から削除ボタン2931を押下する。このカモフラージュ色から削除ボタン2931を押下すると、選択状態になっている色がカモフラージュ色リストボックス2930からバーコードに使用しない色リストボックス2950に移動する。
特定色として使用したい色があれば、その色を選択状態にして、特定色に追加ボタン2951を押下する。この特定色に追加ボタン2951を押下すると、選択状態になっている色が特定色リストボックス2910に移動する。
解析情報色として使用したい色があれば、その色を選択状態にして、解析情報色に追加ボタン2952を押下する。この解析情報色に追加ボタン2952を押下すると、選択状態になっている色が解析情報色リストボックス2920に移動する。
カモフラージュ色として使用したい色があれば、その色を選択状態にして、カモフラージュ色に追加ボタン2953を押下する。カモフラージュ色に追加ボタン2953を押下すると、選択されていた色がカモフラージュ色リストボックス2930に移動する。
このとき1つの色は特定色と解析情報色とカモフラージュ色のいずれか1つの色としてだけ使用することができる。
次に、本実施形態8におけるバーコードの生成処理について図30を用いて説明する。
図30は、本実施形態8におけるバーコードの生成フローを説明した図である。図30の処理は、バーコード処理部2105が行う。
バーコード処理部2105で処理が開始されると、まずS3001でバーコードに含められる情報(データ)がドット型バーコードのパターンに従ったドット情報に変換される。ここで変換されるデータは、情報タブ2902で設定された情報と同じである。
次にS3002でドットの描画色を特定色で指定する。ここで特定色として指定する色は、特定色リストボックス2910にリストされた色である。このとき、特定色リストボックス2910に複数の色がリストされた場合は、ドットに指定する描画色を複数ある特定色からランダムに指定する。
S3003では、解析情報をドット型バーコードのパターンに従ったドット情報に変換する。このS3003でドット情報に変換される解析情報には、特定色情報が入っている。またこの解析情報には、特定色情報のほかに情報の保護を強化するためにパスワードのハッシュなどが入っていることもある。
次にS3004でドットの描画色を任意の解析情報色で指定する。ここで特定色として使用する色は、解析情報色リストボックス2920にリストされた色である。もし、解析情報色リストボックス2920に複数の色がリストされた場合は、ドットに指定する描画色を複数ある解析情報色からランダムに指定する。
次にS3005で情報タブ2902に用意されたGUIで設定されたデータの入っているドット情報と解析情報の入っているドット情報を合成する。図31は、ドット情報を合成するときのイメージを示す概念図である。ドット情報はドットなどの記号の配列なので、データのドット情報3101と解析情報のドット情報3102を所定の個数ずつ並べることで合成したドット情報3110を生成する。
次にS3006ではS3005で生成したドット情報3110にカモフラージュ用のドットを任意の間隔で追加する。
次にS3007で追加したドットに任意のカモフラージュ色を描画色として指定する。ここでカモフラージュ色として使用できる色は、カモフラージュ色リストボックス2930にリストされている色と同じである。また、S3006とS3007を同時に行い、カモフラージュ色で描画色を指定したカモフラージュ用のドットを追加しても良い。
次にS3008で作成されたドット情報をドット型バーコードの仕様に従って繰り返してパターンを作成する。
最後にS3009でバーコードを出力する。
図35は、本実施形態8におけるカモフラージュ処理が施されて出力されたバーコードのイメージ図である。出力されたバーコードの情報は、カモフラージュ処理により保護されている。そのため、特定色に使用した色がわかっていれば、その色の部分だけを読み込んでデコードすることでバーコードから情報を取り出すことができるが、特定色が判別できないと情報を取り出すことができないものとなる。
以上に説明した実施形態5〜8では、バーコードを生成するときの設定を行う設定手段と、バーコードを生成するバーコード生成手段を有し、バーコード生成手段においてバーコードのカモフラージュ処理を行う。カモフラージュ処理され出力されたバーコードを通常のバーコードリーダでそのまま読み込んでも情報を読み取ることができない。つまり情報が保護されたバーコードの出力を行うことができる。一方、特定の人だけは、このバーコードから簡単に情報を取得できる。
上述の実施形態5〜8は、例えば、以下に示す特徴を有する。
(特徴1)
バーコードを生成するときの設定を行う設定手段(2201,2501,2901)と、
バーコードを生成するバーコード処理部(2105)とを有し、
バーコード処理部においてバーコードのカモフラージュ処理(S2302,S2303,S2304,S2402,S2403,S2404)を行う。
(特徴2)
バーコードを生成するときの設定を行う設定手段(2201,2501,2901)と、
バーコードを生成するバーコード処理部(2105)とを有し、
バーコード処理部(2105)においては、
バーコードパターンに変換された情報とバーコードパターンに変換された情報を読み取るための解析情報を生成(S2601,S2602,S3001,S3003)して、
情報と解析情報の入っているバーコードパターンと合成して1つのバーコードパターンを生成(S2603,S3005)する。
<その他の実施形態>
また本発明の目的は、上記実施形態で示したフローチャートの手順を実現するプログラムコードを記憶したコンピュータ読み取り可能な記憶媒体から、コンピュータが、そのプログラムコードを読出し実行することによっても達成される。この場合、この記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになる。そのため、このプログラムコードやプログラムコードを記憶した記憶媒体も本発明を構成することができる。
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。