(57)【特許請求の範囲】
【請求項１】
一つ以上の可変領域を保持するドキュメントテンプレートに対して、前記可変領域ごとに定義したマッピングルールに従ってデータベースのデータフィールドをマッピングすることで、前記データベースのレコードごとに印刷データを生成する情報処理装置であって、
前記マッピングルールから参照されている前記データフィールドに対し、前記データフィールドごとに暗号化するか否かの指定をユーザから受け付ける暗号化指定受付手段と、
前記暗号化指定受付手段により受け付けた暗号化が指定されたデータフィールドが前記マッピングルールにおいて使用されているかを前記可変領域ごとに判定する暗号化判定手段と、
前記暗号化判定手段で前記暗号化が指定されたデータフィールドを使用しているマッピングルールが定義されていると判定された前記可変領域に適用するコンテンツを暗号化する暗号化手段と
を有することを特徴とする情報処理装置。
【請求項２】
前記暗号化手段により暗号化された前記コンテンツの代わりに前記可変領域に適用される代替コンテンツを設定する代替コンテンツ設定手段を更に備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記暗号化判定手段は、前記マッピングルールにおいて前記データフィールドが前記可変領域にコンテンツを適用するための条件として参照されている場合は当該可変領域に適用する当該コンテンツを暗号化の対象としないと判定することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記暗号化指定受付手段は更に、前記マッピングルールの条件ごとに暗号化するか否かの指定をユーザから受け付け、
前記暗号化判定手段は、前記暗号化指定受付手段で指定された当該条件が成立する場合に、前記マッピングルールが定義されている前記可変領域に適用するコンテンツを暗号化すると判定する
ことを特徴とする請求項１乃至３のいずれか一項に記載の情報処理装置。
【請求項５】
前記暗号化指定受付手段は更に、前記マッピングルールを全てのレコードに適用した場合において、前記可変領域に適用するコンテンツであるインスタンスごとに暗号化するか否かの指定を受け付け、
前記暗号化判定手段は、前記暗号化指定受付手段にて指定された前記可変領域に適用する当該インスタンスを暗号化するか否かを判定する
ことを特徴とする請求項１乃至４のいずれか一項に記載の情報処理装置。
【請求項６】
前記データベースにおいて前記データフィールドは木構造で表現され、
前記暗号化判定手段は、前記暗号化指定受付手段で指定された前記データフィールドに伴って、木構造における当該データフィールドの下位要素であるデータフィールドを前記マッピングルールから参照されている前記可変領域に適用するコンテンツとして暗号化すると判定することを特徴とする請求項１乃至５のいずれか一項に記載の情報処理装置。
【請求項７】
一つ以上の可変領域を保持するドキュメントテンプレートに対して、前記可変領域ごとに定義したマッピングルールに従ってデータベースのデータフィールドをマッピングすることで、前記データベースのレコードごとに印刷データを生成する情報処理装置の制御方法であって、
前記情報処理装置の暗号化指定受付手段が、前記マッピングルールから参照されている前記データフィールドに対し、前記データフィールドごとに暗号化するか否かの指定をユーザから受け付ける暗号化指定受付工程と、
前記情報処理装置の暗号化判定手段が、前記暗号化指定受付工程により受け付けた暗号化が指定されたデータフィールドが前記マッピングルールにおいて使用されているかを前記可変領域ごとに判定する暗号化判定工程と、
前記情報処理装置の暗号化手段が、前記暗号化判定工程で前記暗号化が指定されたデータフィールドを使用しているマッピングルールが定義されていると判定された前記可変領域に適用するコンテンツを暗号化する暗号化工程と
を有することを特徴とする制御方法。
【請求項８】
コンピュータを、
マッピングルールから参照されているデータフィールドに対し、前記データフィールドごとに暗号化するか否かの指定をユーザから受け付ける暗号化指定受付手段と、
前記暗号化指定受付手段により受け付けた暗号化が指定されたデータフィールドが前記マッピングルールにおいて使用されているかを前記可変領域ごとに判定する暗号化判定手段と、
前記暗号化判定手段で前記暗号化が指定されたデータフィールドを使用しているマッピングルールが定義されていると判定された前記可変領域に適用するコンテンツを暗号化する暗号化手段と
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、制御方法、及びプログラムに関する。特に、バリアブル印刷可能なドキュメントに対して、暗号化指定する場合の効率化に関わる。
【背景技術】
【０００２】
ＰＯＤ（プリントオンデマンド）市場向けの印刷システムの普及に伴い、印刷文書を顧客毎にカスタマイズして印刷するバリアブル印刷が注目されてきている。バリアブル印刷は、顧客データを利用してひとりひとりに適したパーソナルな販促活動ができる。バリアブル印刷をするためには、顧客毎の個人情報などを集めたデータベースと、データベースに存在する実際のコンテンツデータが差し込まれるテンプレート（以降、ドキュメントテンプレート）が必要となる。ドキュメントテンプレートは、印刷時に挿入されるコンテンツデータが変更されない部分（以降、固定領域）と、印刷時にデータベースのレコード毎に挿入されるコンテンツデータが変更される部分（以降、可変領域）を、組み合わせてテンプレートをデザインする。さらに印刷時に、データベースに登録されているレコード毎にコンテンツデータを各領域に挿入することで、印刷文書から顧客毎の印刷データを作成し実際に印刷する。このようにバリアブル印刷は、顧客情報（コンテンツデータ）が登録されているデータベースと、印刷結果のデザインを決めるドキュメントテンプレートを用いて実行される。また、このように顧客情報を扱う印刷文書の場合には、個人情報が流出しないように十分にセキュリティを考慮に入れる必要がある。一方、デザインした結果が、どのように印刷されるかがわかるように配慮することも必要である。
【０００３】
従来から、レイアウト情報を残したまま個人情報の漏洩を防ぐ技術が開示されている。レイアウト用のデータを個人情報と分けて暗号化を行い、出力時に復号する技術が開示されている（特許文献１等参照）。また、可変領域に対して、マスキング処理設定を行うことでレイアウト情報を損なうことなく個人情報等を保護する技術が開示されている（特許文献２等参照）
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１５９０２９号公報
【特許文献２】特開２００６−２０９６６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来から、レイアウト情報を残しつつ、暗号化する機能が提供されている。しかしながら、可変領域が複数存在し、複数の可変領域にデータベースのコンテンツデータを挿入する場合には、可変領域の暗号化について指定漏れが発生する、指定するのに手間がかかる、という課題がある。また、不必要な暗号化は、暗号化や復号化に要する時間を無駄に使ってしまう。そこで本発明は、上記の問題点を解決するためになされたもので、レイアウト情報を残しつつ、暗号化指定漏れを減らし、効率のよい暗号化指定の方法を備えた情報処理装置を提供する。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の情報処理装置は、以下の構成を有する。一つ以上の可変領域を保持するドキュメントテンプレートに対して、前記可変領域ごとに定義したマッピングルールに従ってデータベースのデータフィールドをマッピングすることで、前記データベースのレコードごとに印刷データを生成する情報処理装置であって、前記マッピングルールから参照されている前記データフィールドに対し、前記データフィールドごとに暗号化するか否かの指定をユーザから受け付ける暗号化指定受付手段と、前記暗号化指定受付手段により受け付けた暗号化が指定されたデータフィールドが前記マッピングルールにおいて使用されているかを前記可変領域ごとに判定する暗号化判定手段と、前記暗号化判定手段で前記暗号化が指定されたデータフィールドを使用しているマッピングルールが定義されていると判定された前記可変領域に適用するコンテンツを暗号化する暗号化手段とを有する。
【発明の効果】
【０００７】
以上により、ユーザによる暗号化のための設定漏れを防止でき、ユーザビリティの向上が可能となる。また、必要な箇所のみを暗号化することにより、暗号化さらには復号化の処理の負荷を軽減することができる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態に係るＰＯＤシステムの構成図。
【図２】本実施形態に係る情報処理装置の構成を示すブロック図。
【図３】本実施形態に係るプログラムコードとデータに関するデータフロー図。
【図４】本実施形態に係るデータベースに関するイメージ図。
【図５】本実施形態に係るドキュメントテンプレートに関するイメージ図。
【図６】本実施形態に係る暗号化指定画面生成に関するフローチャートの図。
【図７】本実施形態に係る暗号化指定画面のイメージ図。
【図８】本実施形態に係る印刷文書生成に関するフローチャートの図。
【図９】本実施形態に係る復号できない場合の印刷結果のイメージ図。
【図１０】本実施形態に係る暗号化印刷文書のイメージ図。
【図１１】第二の実施形態に係るドキュメントテンプレートに関するイメージ図。
【図１２】第二の実施形態に係る暗号化指定画面生成に関するフローチャートの図。
【図１３】第二の実施形態に係る暗号化指定画面のイメージ図。
【図１４】第二の実施形態に係る印刷文書生成に関するフローチャートの図。
【図１５】本実施形態に係るツリー形式のデータベースへの暗号化指定に関するイメージ図。
【発明を実施するための形態】
【０００９】
＜第一の実施形態＞
図１は、本発明の実施の形態に係る印刷システムを含むＰＯＤシステムの構成を示す模式図である。このＰＯＤシステムは、サーバコンピュータ１０２、情報処理装置であるクライアントコンピュータ１０３、及び印刷装置１０４を有し、それらはネットワーク１０１を介して接続されている。サーバコンピュータ１０２は、ネットワーク１０１に接続された各種装置とのデータの送受信を管理する。クライアントコンピュータ１０３は、ネットワーク１０１を介して画像データを印刷装置１０４やサーバコンピュータ１０２に送信する。印刷装置１０４は、画像データを受け取ると、必要に応じてサーバコンピュータ１０２と通信し、印刷を開始する。また、クライアントコンピュータ１０３で作成された画像データは、ネットワーク１０１を介し、サーバコンピュータ１０２が属するネットワーク１０１とは異なるネットワーク１０５に属している別のクライアントコンピュータ１０６に送信される。また、同じくネットワーク１０５に属しているプリンタ装置１０７で画像データの印刷を行うことも可能である。
【００１０】
図２は、本実施形態に係る情報処理装置の構成を示すブロック図である。制御部２０１は、例えばＣＰＵであり、表示部２０２や入力部２０３等を制御する。よって、以下に記載した処理フローの処理は、制御部２０１が、ＲＡＭ２０４、ＲＯＭ２０５、外部記憶装置２０６などに格納されたプログラムコードをロードし、実行することにより実現される。表示部２０２は、ＣＲＴや液晶モニタ等の表示装置である。入力部２０３は、キーボードやマウス等のポインティングデバイスに対応している。ＲＡＭ２０４は、不揮発性の大容量メモリであり、ＲＯＭ２０５からロードされた各種プログラムコードや、データファイルを記憶する。ＲＯＭ２０５は、制御部２０１によって実行されるコンピュータプログラムを記憶する。外部記憶装置２０６は、ハードディスクとハードディスクへのデータの読み書きを行う駆動部で構成されており、ネットワークを介して別のハードディスクに保存されているデータのやり取りをすることも可能であり、印刷に必要なデータが格納されている。印刷装置２０７は、ネットワークまたはケーブルなどによってデータの送受信可能になっている。入力部２０３からの入力処理を、ＲＡＭ２０４に記憶されるＯＳが、各種のアプリケーションの実行処理を制御する。
【００１１】
本実施形態では、プログラムコードがＲＡＭ２０４上にロードされるものとして説明しているが、直接ＲＯＭ２０５から実行することも可能である。また、処理対象となる各データがＲＡＭ２０４上にあるものとして説明を行うが、これらはすべて、外部記憶装置２０６上に配置することも可能であり、必要に応じて外部記憶装置２０６からＲＡＭ２０４上にロードして使用することもできる。また、制御部２０１のキャッシュメモリ上に配置することも同様に可能である。
【００１２】
図３は、本実施形態で扱うプログラムコードとデータがどのような関係にあるかを示すデータフロー図である。ＵＩ制御部３０１は、図２における入力部２０３を介して入力されるデータを扱う。ユーザはこのＵＩ制御部３０１によりデータの入力を各処理部へ指示できるようになっている。また、ＵＩ制御部３０１は、データベース３０２のデータ及び印刷文書３０３を図２の外部記憶装置２０６などからロードして、図２の表示部２０２へ表示する。データベース３０２は、個人情報等をテーブル等で保持する。印刷文書３０３は、ドキュメントテンプレート３０３ａから構成される。ドキュメントテンプレート３０３ａは、レイアウト情報やデータベース３０２を参照する情報が含まれる。暗号化指定部３０４は、ＵＩ制御部３０１などから指示を受け動作する。暗号化指定部３０４は、ユーザによって指示された暗号化に関する内容を、暗号化情報３０５として保存する。暗号化判定部３０６は、印刷文書３０３と暗号化情報３０５から最終的に暗号化するかどうかを判定する。暗号化印刷文書生成部３０７は、暗号化判定部３０６によって暗号化すると判定された内容で印刷文書を生成する。そして、暗号化印刷文書生成部３０７は、その生成結果として暗号化印刷文書３０８を出力する。
【００１３】
これ以降の説明におけるフローチャートによる処理手順は、本実施形態にて示した例に限定されることはない。本発明の結果を満たす限りいかなる手順の組み合わせも、複数処理をまとめることも、処理を細分化することも可能である。また、各処理を個々に切り出してひとつの機能要素として単体として機能し、示している処理以外の処理と組み合わせて使用することも可能である。
【００１４】
以下、本発明の実施形態を図面およびフローチャートを参照して説明する。図４は、図３におけるデータベース３０２に含まれるデータ構造のイメージ図である。データベース３０２のデータフィールド４０１は、ＩＤ、ｆｉｒｓｔ＿ｎａｍｅ、ｌａｓｔ＿ｎａｍｅ等の各種項目４０３〜４１３で構成されている。ＵＩ制御部３０１は、ドキュメントテンプレート３０３ａからデータフィールド４０１を指定することでコンテンツデータのマッピングを行い、印刷時にデータベースに登録されている文字列や画像を利用する。
【００１５】
レコード４０２は、データベースに登録されている個々のレコードを示している。各データフィールドの内容は、例えば、項目４０３は、レコードを区別するためのＩＤである。項目４０４は、顧客の名前を示している。項目４０５は、顧客の姓を示している。項目４０６は、住所を示している。項目４０７は、住所の詳細部分を示している。項目４０８は、顧客に子供がいた場合に、その子供の数を示している。項目４０９は、子供がいた場合に一人目の子供の名前を示している。項目４１０は、最近訪れた店の名前を示している。項目４１１は、店に訪れた回数を示している。項目４１２は、最近購入した物を示している。項目４１３は、顧客に勧めたい広告を示している。なお、ここで示したデータ構造は一つの例であり、ここに示されているフィールドに限定されるわけではなく、必要に応じて、項目の追加／削除が可能である。また、レコードは、各項目の各コンテンツデータにより構成される。例えば、１レコード目（ＩＤ：０００１）は、コンテンツデータとして「田中」、「一郎」、「東京都」等の複数のコンテンツデータにより構成される。
【００１６】
図５（ａ）は、図３におけるドキュメントテンプレート３０３ａのイメージ図である。ワーク領域５０１は、ドキュメントテンプレートで使用するための領域を示している。可変領域５０２は、住所に関するコンテンツデータが挿入される領域である。なお、可変領域は、可変領域毎にルールが定義され、そのルールに従ってデータベースのコンテンツデータが挿入される。ここでは、可変領域に対するマッピングのためのルールをマッピングルールもしくはルールとして表記する。例えば、可変領域５０２は、ルール５０３によって、データベース３０２におけるデータフィールド＄ａｄｄｒｅｓｓ１と＄ａｄｄｒｅｓｓ２のコンテンツデータを挿入することが指定され、最終的に両者のコンテンツデータを連結して印刷することが定義されている。可変領域５０４は、名前１に関するコンテンツデータが挿入される領域であり、ルール５０５によって印刷内容が決まる。ルール５０５では、＄ｌａｓｔ＿ｎａｍｅと＄ｆｉｒｓｔ＿ｎａｍｅと文字列“様”とを連結して、名前１として印刷することが定義されている。可変領域５０６は、名前２に関するコンテンツデータが挿入される領域で、ルール５０７によって印刷内容が決まる。ルール５０７では、条件「ＩＦ  ＄ｃｈｉｌｄ＝＝１」が定義され、条件が成立する場合と、不成立の場合で印刷結果が異なるように定義されている。具体的には、処理対象のレコードのデータフィールド＄ｃｈｉｌｄを参照し、コンテンツデータが１の場合は、「＄ｃｈｉｌｄ１＿ｎａｍｅ  ちゃん」を印刷し、それ以外の場合は文字列「ご家族様」を印刷するように定義されている。なお、ここでのマッピングルール（または、ルール）とは、上記で述べたレイアウト情報を指す。
【００１７】
可変領域５０８は、情報１に関するコンテンツデータが挿入される領域で、ルール５０９によって印刷内容が決まる。ルール５０９では、条件「ＩＦ  ＄ａｄｄｒｅｓｓ１＝＝東京都」が存在し、条件が成立する場合と、不成立の場合で印刷結果が異なるように定義されている。具体的には、処理対象のレコードのデータフィールド＄ａｄｄｒｅｓｓ１を参照し、コンテンツデータが東京都である場合は、処理対象のレコードの「＄ｖｉｓｉｔ＿ｓｈｏｐ」のコンテンツデータを印刷する。一方、それ以外の場合、処理対象のレコードの「＄ｂｕｙ＿ｉｔｅｍ」のコンテンツデータを印刷するように定義されている。可変領域５１０は、名前３に関するコンテンツデータが挿入される領域で、ルール５１１によって印刷内容が決まる。ルール５１１では、処理対象のレコードの「＄ｌａｓｔ＿ｎａｍｅ  様」のコンテンツデータを、名前３として印刷することが定義されている。なお、ここで示した領域の構成及び可変領域に対応付けられたルールは一例であり、この定義および構成に限定されるものではない。
【００１８】
図５（ｂ）（ｃ）は、図４と図５（ａ）で説明したデータベース３０２及びドキュメントテンプレート３０３ａを適用した場合の、レコード毎に異なる印刷結果が得られることを示したイメージ図である。図５（ｂ）は、図４におけるデータベース３０２のレコード４０２の１番目のレコードを適用した印刷結果を示しており、図５（ｃ）は、図４におけるデータベース３０２のレコード４０２の２番目のレコードを適用した印刷結果をそれぞれ示している。可変領域６０１には、１番目のレコードの＄ａｄｄｒｅｓｓ１と＄ａｄｄｒｅｓｓ２のコンテンツデータが挿入され、住所として「東京都○△区○―△―□」が印刷されることを示している。可変領域６０２は、＄ｌａｓｔ＿ｎａｍｅと＄ｆｉｒｓｔ＿ｎａｍｅのコンテンツデータが挿入され、名前１として「田中一郎様」が印刷されることを示している。可変領域６０３は、１番目のレコードの、＄ｃｈｉｌｄが１であったために＄ｃｈｉｌｄ１＿ｎａｍｅのコンテンツデータが挿入されて「花子ちゃん」が印刷されることを示している。可変領域６０４は、１番目のレコードの＄ａｄｄｒｅｓｓ１を参照し、＄ａｄｄｒｅｓｓ１が東京都であったために＄ｖｉｓｉｔ＿ｓｈｏｐのコンテンツデータが挿入され、店舗情報として画像２．ＪＰＧの内容（ここでは、地図画像）が印刷されることを示している。可変領域６０５は、１番目のレコードの＄ｌａｓｔ＿ｎａｍｅのコンテンツデータが挿入され、名前３として「田中様」が印刷されることを示している。
【００１９】
可変領域６０６は、２番目のレコードの＄ａｄｄｒｅｓｓ１と＄ａｄｄｒｅｓｓ２のコンテンツデータが挿入され、住所として「埼玉県○△市○―△―□」が印刷されることを示している。可変領域６０７は、＄ｌａｓｔ＿ｎａｍｅと＄ｆｉｒｓｔ＿ｎａｍｅのコンテンツデータが挿入され、名前１として「佐藤二郎様」が印刷されることを示している。可変領域６０８は、２番目のレコードの＄ｃｈｉｌｄを参照し、＄ｃｈｉｌｄが２であったために、「ご家族様」が印刷されることを示している。可変領域６０９は、２番目のレコードの＄ａｄｄｒｅｓｓ１を参照し、＄ａｄｄｒｅｓｓ１が埼玉県であったために＄ｂｕｙ＿ｉｔｅｍのコンテンツデータが挿入され画像１．ＪＰＧの内容（ここでは、Ｔシャツの画像）が印刷されていることを示している。可変画像６１０は、＄ｌａｓｔ＿ｎａｍｅのコンテンツデータが挿入され、名前３として「佐藤様」が印刷されることを示している。このようにデータベース３０２とドキュメントテンプレート３０３ａを連携させることで、レコード毎に異なる印刷結果を得ることができる。
【００２０】
図６は、図３におけるＵＩ制御部３０１が、暗号化指定部３０４に対して暗号化指定画面の生成を指示したときのフローチャートである。暗号化を指定するための画面を生成するようにＵＩ制御部３０１から指示があると、Ｓ１０２で、暗号化指定部３０４は、データベース３０２で使用している全てのデータフィールドに対してＳ１０３〜Ｓ１０５を繰り返す。Ｓ１０３で、暗号化指定部３０４は、データベース３０２が有するデータフィールドを暗号化候補に加える。図４を使って具体的に説明する場合、暗号化指定部３０４は、Ｓ１０３の処理により、「ＩＤ」、「ｆｉｒｓｔ＿ｎａｍｅ」、「ｌａｓｔ＿ｎａｍｅ」等を暗号化指定画面に加える。
【００２１】
Ｓ１０４で、暗号化指定部３０４は、ドキュメントテンプレートに定義された可変領域のルールが、条件の部分以外でデータフィールドを使用しているかどうかを判定する。Ｓ１０４で、ルールがデータフィールドを使用していない場合は、Ｓ１０６へ進む。Ｓ１０４で、ルールがデータフィールドを使用している場合は、Ｓ１０５へ進む。Ｓ１０５で、暗号化指定部３０４は、ルールを暗号化指定画面に加える。Ｓ１０６で、暗号化指定部３０４は、全てのデータフィールドについてＳ１０３〜Ｓ１０５までの処理を行うと、Ｓ１０７へ進む。Ｓ１０７で、暗号化指定部３０４は、Ｓ１０３、Ｓ１０５の追加処理に基づいて暗号化指定画面を生成する。その後、Ｓ１０８へ進み、本シーケンスを終了する。具体的には、暗号化が指定できるようにチェックボックスを生成する。これによりユーザからの暗号化指定受付手段が実現される。
【００２２】
図７は、図５（ａ）のドキュメントテンプレート３０３ａに対して、図６のフローチャートを実行することにより得られる暗号化指定画面について、ユーザが暗号化を指定したときのイメージ図である。なお、ここで示した暗号化指定画面の構成は一例であり、表示方法及びその構成を限定するものではない。データフィールド一覧７０１は、Ｓ１０３により得られるデータベースの各データフィールド名が表示される。ユーザは、所望のデータフィールドに対してチェックをつけることで、データフィールドを使用している可変領域に暗号化を指定できる。ルール７０２〜７０６は、Ｓ１０５の処理により追加されたルールを示している。図７の暗号化指定画面において、データフィールドを参照して印刷データとして使用する場合は実線で表示し、データフィールドと何らかの関係（参照）がある場合は点線で表示している。また、ルール７０５では、「ＩＦ  ＄ｃｈｉｌｄ＝＝１」の結果として＄ｃｈｉｌｄ１＿ｎａｍｅを使用するため、暗号化が指定できるようにチェックボックスを表示している。
【００２３】
ルール７０６では、同様に「ＩＦ  ＄ａｄｄｒｅｓｓ１＝＝東京都」の結果として、＄ｖｉｓｉｔ＿ｓｈｏｐと＄ｂｕｙ＿ｉｔｅｍが使用されるので、それぞれチェックボックスを表示している。なお、図５（ａ）のテンプレートにおいて、ルール５０７には、「ＥＬＳＥ  ご家族様」が含まれているが、これはデータフィールドのデータの使用に該当しないので、Ｓ１０４においてＮｏと判定されることにより図７には表示されない。
【００２４】
可変領域７０７は、ドキュメントテンプレートに配置された可変領域であり、それぞれ「名前１」はルール７０２、「名前３」はルール７０３、「住所」はルール７０４、「名前２」はルール７０５、「情報１」はルール７０６が割り当てられている。以上が図６のフローチャートを実行した結果得られる暗号化指定画面である。チェックボックス７０８〜７１２は、ユーザによってチェックが入れられていることを示しており、つまり、暗号化指定画面において当該データフィールドの値に対し暗号化が指定されていることを示している。具体的には、＄ｆｉｒｓｔ＿ｎａｍｅ、＄ｌａｓｔ＿ｎａｍｅ、＄ａｄｄｒｅｓｓ１、＄ａｄｄｒｅｓｓ２、＄ｃｈｉｌｄ１＿ｎａｍｅについて、暗号化が指定されている。暗号化指定画面７１３は、データフィールド一覧７０１、ルール７０２〜７０６、可変領域７０７で構成される暗号化指定画面の全体を示している。
【００２５】
図８は、暗号化が指定された後に、最終的に暗号化印刷文書３０８を生成するときのフローチャートである。暗号化印刷文書３０８を出力するようにＵＩ制御部３０１に指示があると、Ｓ２０２で、暗号化印刷文書生成部３０７は、暗号化及び復号化に必要なデータを生成する。Ｓ２０３で、暗号化判定部３０６は、ドキュメントテンプレート３０３ａで使用している全ての可変領域を取得する。Ｓ２０４で、暗号化判定部３０６は、データベース３０２で使用している全てのレコードに対してＳ２０５〜Ｓ２１５を繰り返す。Ｓ２０５で、暗号化判定部３０６は、全ての可変領域に対してＳ２０６〜Ｓ２１４を繰り返す。Ｓ２０６で、暗号化判定部３０６は、可変領域に割り付けられているルールを取得する。Ｓ２０７で、暗号化判定部３０６は、ルール内で使用されている全てのデータフィールドに対してＳ２０８〜Ｓ２１１を繰り返す。
【００２６】
Ｓ２０８で、暗号化判定部３０６は、データフィールドに対して暗号化が指定されているかどうかを判定する。この判定は、図７の暗号化指定画面を操作しているユーザの指示結果を参照することで実現される。Ｓ２０８で暗号化が指定されていないと判定した場合は、Ｓ２１２へ進む。Ｓ２０８で暗号化が指定されていると判定した場合、Ｓ２０９で、暗号化判定部３０６は、データフィールドがルール内における条件以外で使用されているかどうかを判定する。この判定は、ドキュメントテンプレートのルールを参照することで実現される。Ｓ２０９で、条件のみで使用されていると判定すると、Ｓ２１２へ進む。データフィールドが条件以外で使用されている場合は、Ｓ２１０で、暗号化判定部３０６は、現在のレコードでルールの条件が成立した場合に、データフィールドを使用するかどうかを判定する。Ｓ２１０で、条件が不成立となりデータフィールドを使用しない場合は、Ｓ２１２へ進む。Ｓ２１０で、条件が成立しデータフィールドを使用する場合は、Ｓ２１１で、暗号化印刷文書生成部３０７は、データフィールドで参照しているコンテンツデータを暗号化し、暗号化したコンテンツデータの代わりとして代替コンテンツを参照先として設定する。なお、コンテンツデータを暗号化することで暗号化コンテンツが生成される。これにより、暗号化コンテンツ生成手段を実現する。
【００２７】
Ｓ２１２で、暗号化判定部３０６は、ルール内で使用されている全てのデータフィールドに対して処理が終わると、Ｓ２１３へ進む。Ｓ２１３で、暗号化判定部３０６は、Ｓ２０７〜Ｓ２１２の処理で暗号化コンテンツを生成したかどうかを判定する。Ｓ２１３で暗号化コンテンツを生成していると判定した場合は、Ｓ２１５へ進む。Ｓ２１３で暗号化コンテンツを生成していないと判定した場合は、Ｓ２１４で、暗号化印刷文書生成部３０７は、ルールに従って通常コンテンツを生成する。Ｓ２１５で、暗号化判定部３０６は、全ての可変領域に対して処理が終わるとＳ２１６へ進む。Ｓ２１６で、暗号化判定部３０６は、全てのレコードについて処理が終わるとＳ２１７へ進み、本シーケンスを終了する。
【００２８】
本シーケンスで、例えば、図７を使ってユーザから暗号化が指定された場合に、ルール７０２及びルール７０３は、＄ｌａｓｔ＿ｎａｍｅが暗号化が指定されているため、ｌａｓｔ＿ｎａｍｅのコンテンツデータが挿入される可変領域に対して暗号化が指定される。そのため、データフィールドに対して暗号化を指定するだけで、データフィールドを参照してコンテンツデータが挿入される可変領域をまとめて暗号化することができ、指定漏れを減らすことが可能となる。また、ルール７０６では、暗号化が指定された＄ａｄｄｒｅｓｓ１を参照しているが、条件のみで使用し印刷時には＄ａｄｄｒｅｓｓ１のコンテンツデータは利用されない。そのため、Ｓ２０９において可変領域である情報１は暗号化が指定されないと判定される。これにより、過度に暗号化することを防止し、レイアウト情報を残すことを可能とする。また、ルール７０５では、図４におけるデータベース３０２の２番目のレコードを適用した場合、Ｓ２１０で＄ｃｈｉｌｄが“２”となり、データフィールドを参照しない結果「ご家族様」となる。そのため、Ｓ２１１へは進まず、暗号化コンテンツを生成せず、レイアウト情報を残すことを可能とする。
【００２９】
図９は、図７の暗号化の指定がなされたときに復号化できない場合の印刷結果の例のイメージ図である。図９（ａ）は、図４におけるデータベース３０２の１番目のレコードを適用した場合のイメージ図である。図９（ｂ）は、図４におけるデータベース３０２の２番目のレコードを適用した場合のイメージ図である。図９（ａ）において、可変領域８０１は、住所についての可変領域である。ルール７０４で使用している＄ａｄｄｒｅｓｓ１、及び＄ａｄｄｒｅｓｓ２で暗号化が指定されているため、住所はそのまま印刷の対象にできず代替コンテンツを印刷している様子を示している。可変領域８０２は、名前１についての可変領域である。ルール７０２で使用している＄ｌａｓｔ＿ｎａｍｅ、及び＄ｆｉｒｓｔ＿ｎａｍｅに対して暗号化が指定されているため、名前１はそのまま印刷の対象にできず代替コンテンツを印刷している様子を示している。可変領域８０３は、名前２についての可変領域である。１番目のレコードを使用する場合、ルール７０５で条件「＄ｃｈｉｌｄ＝＝１」が成立し、＄ｃｈｉｌｄ１＿ｎａｍｅのコンテンツデータを使用するため、名前２のコンテンツデータではなく代替コンテンツを印刷している様子を示している。可変領域８０４は、情報１についての可変領域である。ルール７０６において＄ａｄｄｒｅｓｓ１を使用しているが、条件においてのみ使用しているため、暗号化することなくデータベースから挿入されたコンテンツデータをそのまま印刷している様子を示している。可変領域８０５は、名前３についての可変領域である。ルール７０３で使用している＄ｌａｓｔ＿ｎａｍｅで暗号化が指定されているため、名前３のコンテンツデータではなく代替コンテンツを印刷している様子を示している。
【００３０】
図９（ｂ）において、可変領域８０６、８０７、８０９−８１０は、対象レコードが２番目のレコードに変わっただけで、結果は同じであるため説明は省略する。可変領域８０８は、名前２についての可変領域である。２番目のレコードではルール７０５で条件「＄ｃｈｉｌｄ＝＝１」が不成立となり、２番目のレコードの＄ｃｈｉｌｄ１＿ｎａｍｅのコンテンツデータは使用されない。そのため、“ご家族様”をそのまま印刷している様子を示している。なお、ここでは代替コンテンツを鍵の画像で示しているが、これに限定するわけではなく、他のコンテンツを代替コンテンツとして用いてもよい。
【００３１】
図１０は、図９（ａ）（ｂ）の暗号化印刷文書３０８のイメージ図である。暗号化印刷文書３０８の具体的な出力及び復号データの取得のための認証などについては、周知であるため、ここでは省略する。領域９０１〜９０５は、図４におけるデータベース３０２の１番目のレコードについての部分であり、領域９０６〜９１０は、２番目のレコードについての部分である。なお、ここで暗号化されたオブジェクトを暗号化オブジェクトと称す。領域９０１は、住所について復号データがある場合は、暗号化オブジェクトにて参照されているａｄｄｒ＿１．ｄａｔａを復号化することを示している。また、Ｓ２１１で生成される暗号化コンテンツを復号化できない場合、すなわち、Ｓ２１１にて生成された復号化のための復号データを認証失敗などの理由により取得できず、復号化できない場合は、代替オブジェクトｐｒｏｘｙ．ｐｄｆを使用することを示している。領域９０２は、名前１について復号データがある場合は、暗号化オブジェクトにて参照されているｎａｍｅ１＿１．ｄａｔａを復号化することを示している。また、Ｓ２１１で生成される暗号化コンテンツを復号化できない場合は、代替オブジェクトｐｒｏｘｙ．ｐｄｆを使用することを示している。領域９０３は、名前２について復号データがある場合は、暗号化オブジェクトにて参照されているｎａｍｅ２＿１．ｄａｔａを復号化することを示している。また、Ｓ２１１で生成される暗号化コンテンツを復号化できない場合は、代替オブジェクトｐｒｏｘｙ．ｐｄｆを使用することを示している。領域９０４は、情報１についてＳ２１４で生成される通常コンテンツのｍａｐ＿１．ｐｄｆを使用することを示している。領域９０５は、名前３について復号データがある場合は、暗号化オブジェクトにて参照されているｎａｍｅ３＿１．ｄａｔａを復号化することを示している。また、Ｓ２１１で生成される暗号化コンテンツを復号化できない場合は、代替オブジェクトｐｒｏｘｙ．ｐｄｆを使用することを示している。
【００３２】
なお、領域９０６−９１０は、基本的に領域９０１−９０５と同じであるため説明は省略する。また、領域９０８は、名前２についてＳ２１４で生成される通常コンテンツのご家族様．ｐｄｆを使用することを示している。
【００３３】
以上説明してきた通り、データベースのデータフィールドを指定するだけで、暗号化すべき可変領域をまとめて指定でき、指定漏れを減らすことが可能となる。また、レイアウト情報を残したまま、暗号化する必要のある可変領域を漏れなく暗号化を指定できる。また、暗号化の指定をデータフィールド単位で行えるため、複数の可変領域で使用している場合には、一度に暗号化を指定出来、効率を上げることが可能となる。必要な個所のみ暗号化するため、より多くのレイアウト情報を残すことが可能となる。また、必要な個所のみ暗号化するため、復号化する場合であっても、復号化にかかる時間を短くすることが可能となる。
【００３４】
＜第二の実施形態＞
本発明における第１の実施形態では、データベースのデータフィールドを指定することで、複数の可変領域を一度に暗号化を指定できることを示した。しかしながら、可変領域においてデータフィールドを参照しない場合には、暗号化の指定の対象とできなかった。また、実際に参照する画像や文字列単位で暗号化を細かく制御することはできなかった。
【００３５】
図１１は、ドキュメントテンプレート３０３ａのイメージ図である。可変領域１００１は、情報２に関する可変領域である。可変領域１００１に挿入されるコンテンツデータは、ルール１００３によって決まる。ルール１００３では、ルール内の条件「ＩＦ  ＄ｖｉｓｉｔ＿ｔｉｍｅ＞＝１０」によって異なる内容のコンテンツデータ挿入される。第一の実施形態においては、条件の成立／不成立によらず、可変領域１００１に挿入されるコンテンツデータが、データフィールドのコンテンツデータではないため、可変領域１００１は暗号化の候補として選択されない。可変領域１００２は、情報３に関する可変領域である。可変領域１００２の場合、ルール１００４によって、データベース３０２のデータフィールド＄ｉｍａｇｅ０のコンテンツデータが挿入されることが定義されている。第一の実施形態においては、可変領域が＄ｉｍａｇｅ０においてレコード毎に異なるデータを参照する場合でも、全てのレコードで暗号化をする／しないの指定しかできない。そのため、第一の実施形態においては、暗号化の必要のないレコードであっても、１つでも暗号化すべき内容があれば、結果として全てのレコードで暗号化することとなる。
【００３６】
図１２は、本実施形態において図３におけるＵＩ制御部３０１が暗号化指定部３０４に対して暗号化指定画面の生成を指示したときのフローチャートである。暗号化を指定するための画面を生成するようにＵＩ制御部３０１から暗号化指定部３０４へ指示があると、Ｓ３０３で、暗号化指定部３０４は、データベース３０２で使用している全てのデータフィールドに対してＳ３０４〜Ｓ３０５を繰り返す。Ｓ３０４で、暗号化指定部３０４は、データフィールドを暗号化指定画面に加える。Ｓ３０５で、暗号化指定部３０４は、データフィールドで使用しているレコード毎の全てのインスタンスについて暗号化指定画面に加える。Ｓ３０６で、全てのデータフィールドについて処理が終わると、Ｓ３０７へ進む。
【００３７】
Ｓ３０７で、暗号化指定部３０４は、全てのルールに対してデータフィールドを参照する／しないに関わらず、条件と結果の組み合わせの単位を暗号化指定画面に加える。Ｓ３０８で、暗号化指定部３０４は、暗号化候補に基づいて暗号化指定画面を生成すると、Ｓ３０８へ進み、本シーケンスを終了する。具体的には、暗号化を指定できるようにチェックボックスを表示する。Ｓ３０９で、追加した暗号化候補に基づいて暗号化画面の生成を行う。その後、本処理フローを終了する。
【００３８】
図１３は、図１１のドキュメントテンプレート３０３ａに対して、図１２のフローチャートを実行することにより得られる暗号化指定画面について、ユーザが暗号化を指定したときのイメージ図である。なお、ここで示す暗号化指定画面は、一例であり、その構成及び表示方法を限定するものではない。領域１１０１は、データフィールドの一覧である。ユーザは、データフィールドに対してチェックをつけることで、データフィールドを使用している可変領域に暗号化を指定することができる。ルール１１０２は、可変領域に割り付けられているルールを示している。暗号化指定画面は、データフィールドを参照して印刷データとして使用する場合は実線で表示し、データフィールドを条件で参照する場合は点線で表示している。ルール１１０２では、条件「ＩＦ  ＄ｖｉｓｉｔ＿ｔｉｍｅ＞＝１０」が成立する場合は、対応する情報を暗号化することが指定されており、データフィールドのコンテンツデータを挿入しない場合でも暗号化を指定可能となっている。ルール１１０３では、データフィールド＄ｉｍａｇｅ０のレコード毎に定義されている実際のインスタンスである「画像１．ＪＰＧ」、「画像２．ＪＰＧ」、「画像３．ＪＰＧ」、の単位で暗号化する／しないを定義している様子を示している。領域１１０４は、可変領域の一覧である。領域１１０４の情報３では、＄ｉｍａｇｅ０を使用するが、「画像２．ＪＰＧ」に暗号化を指定するためのチェックがついているため、「画像２．ＪＰＧ」を使用する場合のみ可変領域を暗号化することを示している。
【００３９】
図１４は、暗号化が指定された後に、最終的に暗号化印刷文書３０８を生成するときのフローチャートである。暗号化印刷文書３０８を出力するようにＵＩ制御部３０１に指示があると、Ｓ４０２で、暗号化印刷文書生成部３０７は、暗号化及び復号に必要なデータを生成する。Ｓ４０３で、暗号化判定部３０６は、ドキュメントテンプレート３０３ａで使用している全ての可変領域を取得する。Ｓ４０４で、暗号化判定部３０６は、データベース３０２で使用している全てのレコードに対してＳ４０５〜Ｓ４１２を繰り返す。Ｓ４０５で、暗号化判定部３０６は、全ての可変領域に対してＳ４０６〜Ｓ４１１を繰り返す。Ｓ４０６で、暗号化判定部３０６は、可変領域または可変領域で参照するデータフィールドに割り付けられているルールを取得する。Ｓ４０７で、暗号化判定部３０６は、現在処理の対象としているレコード（以下、カレントレコード）を適用した場合に成立する条件及びその結果の値を取得する。
【００４０】
Ｓ４０８で、暗号化判定部３０６は、Ｓ４０７で成立した条件及び結果の組み合わせに暗号化の指定があるかどうかを判定する。Ｓ４０８で、暗号化の指定があると判定した場合は、Ｓ４１１へ進む。Ｓ４０８で、暗号化の指定がないと判定した場合は、Ｓ４０９へ進む。例えば、図１３のルール１１０２の場合には、図４におけるデータベースの１番目のレコードがカレントレコードである際に、Ｓ４０７では、＄ｖｉｓｉｔ＿ｔｉｍｅは“２０”であるため、条件「ＩＦ  ＄ｖｉｓｉｔ＿ｔｉｍｅ＞＝１０」が成立する。その結果、「わからないことがありましたら、担当Ａ（携帯  ○○○―△△△△）までお電話ください」が取得される。Ｓ４０８で、図１３のルール１１０２に指定されている通り、カレントレコードによって成立する条件に対して暗号化が指定されているため、Ｓ４１１へ進むこととなる。Ｓ４０９で、暗号化判定部３０６は、Ｓ４０７で成立した条件の中で、実際に印刷に使用する結果部分にデータフィールドが存在し、そのデータフィールドに暗号化の指定があるかどうかを判定する。Ｓ４０９で、暗号化の指定があると判定した場合は、Ｓ４１１へ進む。Ｓ４０９で、暗号化の指定がないと判定した場合は、Ｓ４１０へ進む。例えば、図１３のルール１１０３の場合には、図４におけるデータベース３０２の１番目のレコードがカレントレコードである際に、Ｓ４０９では、「画像２．ＪＰＧ」に暗号化の指定があるため、Ｓ４１１へ進むこととなる。Ｓ４１０で、暗号化印刷文書生成部３０７は、ルールに従って通常コンテンツを生成する。Ｓ４１１で、暗号化印刷文書生成部３０７は、コンテンツを暗号化し、さらには代替コンテンツを設定する。Ｓ４１２で、暗号化判定部３０６は、全ての可変領域に対して処理が終わるとＳ４１３へ進む。Ｓ４１３で、暗号化判定部３０６は、全てのレコードについて処理が終わるとＳ４１４へ進み、本シーケンスを終了する。
【００４１】
図９（ｃ）は、図１３の暗号化の指定がなされたときに復号できない場合に、図４におけるデータベース３０２の１番目のレコードを適用した印刷結果のイメージ図である。可変領域１２０１は、情報２についての可変領域である。可変領域１２０１は、暗号化が適用されて、代替コンテンツを印刷している様子を示している。可変領域１２０２は、情報３についての可変領域である。可変領域１２０２は、暗号化が適用されて、代替コンテンツを印刷している様子を示している。
【００４２】
以上で説明したように、データフィールドに参照がない場合でもルールの条件単位で暗号化の指定が行える。また、レコード毎に使用しているインスタンスが異なる場合でも、そのインスタンス単位で暗号化の指定が行える。つまり、ルールの条件単位で暗号化を指定出来、ルールにおいてデータフィールドを参照しない場合であっても、可変領域に対して暗号化を指定でき、暗号化の指定漏れを減らせる。さらに、データベースで使用しているインスタンス単位で暗号化を指定出来、レコード毎に異なるインスタンスを使用している場合に、レコード毎に細かく暗号化を指定でき、レイアウト情報を多く残せる。
【００４３】
＜第三の実施形態＞
第一の実施形態あるいは第二の実施形態では、データベースが単純な２次元テーブルの場合を前提に説明をしてきたが、ＸＭＬＤＢのように親子関係を有するような木構造の場合についても同様である。図１５は、木構造形式で表現できるデータベースについて、暗号化を指定する場合のイメージ図である。領域１３０１は、データベースの一部分であるＣｕｓｔｏｍｅｒ要素に対して暗号化を指定していることを示している。Ｃｕｓｔｏｍｅｒを親要素として、子要素にｆｉｒｓｔ＿ｎａｍｅ、ｌａｓｔ＿ｎａｍｅ、ａｄｄｒｅｓｓ１、ａｄｄｒｅｓｓ２、ｃｈｉｌｄｒｅｎ要素が存在する。つまり、Ｃｕｓｔｏｍｅｒ要素の子要素に図４で説明したデータベースの一番目のレコードに相当する要素が存在することを表現している。さらに、このような親子関係がある場合に、親要素に対して暗号化の指定をチェックすると、子要素も同様に暗号化が指定されていることを示している。なお、木構造がさらに階層的に構成されている場合においても、その子要素、孫要素と更なる下層に位置する下位要素に対して適用してもよい。
【００４４】
以上で説明したように、親子関係があるようなデータベースの場合には、親要素を指定するだけで、子要素についても一度に効率よく暗号化を指定でき、さらに暗号化を指定を簡易に設定できる。具体的には、親要素に暗号化が指定されているのであれば、子要素にも暗号化を指定するように実現する。
【００４５】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005489657.tif 000002
【図２】
0005489657.tif 000003
【図３】
0005489657.tif 000004
【図４】
0005489657.tif 000005
【図５】
0005489657.tif 000006
【図６】
0005489657.tif 000007
【図７】
0005489657.tif 000008
【図８】
0005489657.tif 000009
【図９】
0005489657.tif 000010
【図１０】
0005489657.tif 000011
【図１１】
0005489657.tif 000012
【図１２】
0005489657.tif 000013
【図１３】
0005489657.tif 000014
【図１４】
0005489657.tif 000015
【図１５】
0005489657.tif 000016