説明

帳票作成システム、帳票作成方法、及び、帳票作成プログラム

【課題】帳票データに含まれた所定の文字を、機密を保持しながら印字することを可能にする。
【解決手段】帳票作成システム100は、転置キー103を用いて文字列の転置処理をする文字列転置処理部106、転置キー103を用いて文字列の復元処理をする文字列復元処理部110、源文字列を有する源帳票データを作成し、文字列転置処理部106を用いて源帳票データが有する源文字列を転置して転置済文字列を作成し、源帳票データが有する源文字列を転置済文字列で置換した転置済帳票データ105を作成してスプール領域104に記憶する帳票データ作成部107、文字列復元処理部110を用いて、スプール領域104が記憶した転置済帳票データ105が有する転置済文字列から源文字列を復元して復元済帳票データを作成して出力するプリンタ制御部108を備えた。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、帳票に印刷する帳票データに含まれる文字列がそのまま印刷されることを防止する帳票作成システム、帳票作成方法、及び、帳票作成プログラムに関する。
【背景技術】
【0002】
例えば、特開2010−224830号公報に記載された情報処理装置の発明では、帳票データに含まれる文字列に対して、印刷処理直前で、文字列を予め設定した特定文字からなる文字列に置換する伏字処理が施される。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2010−224830号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特開2010−224830号公報に記載された発明では、印刷処理が行われるまでのコンピュータ内での処理においては、帳票データに含まれる文字列は平文のままである。このため、文字列が機密情報或いは個人情報であった場合、機密情報或いは個人情報が流出する可能性があるとの問題点がある。
【0005】
また、文字列が予め設定した特定文字に置換されるので、文字列に含まれる文字が必ずしも印字されるとは限らない。このため、テスト印字の目的が達せられない可能性があるとの問題点がある。
【0006】
この発明は、上記した問題点を解決するものであり、帳票データに含まれる源文字列を転置キーを用いて転置することにより、帳票データに含まれる源文字列が何ら加工されずに平分のまま流出することを防止することを目的とする。
また、転置した文字列を印刷した場合であっても、転置する前の源文字列に含まれた文字が全て印字されることを可能にすることを目的とする。
【課題を解決するための手段】
【0007】
この発明に係る帳票作成システムは、転置キーを記憶装置に記憶する転置キー記憶部と、上記転置キー記憶部が記憶装置に記憶した転置キーを用いて文字列の転置処理をする文字列転置処理部と、源文字列を有する源帳票データを作成し、上記文字列転置処理部を用いて上記源帳票データが有する源文字列を転置して転置済文字列を作成し、上記源帳票データが有する源文字列を転置済文字列で置換した転置済帳票データを作成し、転置済帳票データを記憶装置のスプール領域に記憶する帳票データ作成部と、上記帳票データ作成部により記憶装置のスプール領域に記憶された転置済帳票データを読み出して出力する帳票出力制御部と、を備えたことを特徴とする。
【0008】
上記帳票作成システムは、さらに、
上記転置キー記憶部が記憶装置に記憶した転置キーを用いて文字列の復元処理をする文字列復元処理部を備え、上記帳票出力制御部は、上記スプール領域に記憶された転置済帳票データを読み出し、上記文字列復元処理部を用いて、転置済帳票データが有する転置済文字列から源文字列を復元し、復元した源文字列を有する帳票データを復元済帳票データとして出力することを特徴とする。
【0009】
上記帳票データ作成部は、帳票レイアウトが同じ源帳票データを複数作成し、上記文字列転置処理部は、上記帳票データ作成部が作成した複数の源帳票データの所定個所から源文字列を収集し、収集した複数の源文字列の文字を転置キーに従って配置換えして複数の転置済文字列を生成し、上記帳票データ作成部は、上記文字列転置処理部が生成した複数の転置済文字列を用いて複数の源帳票データの所定個所の源文字列を書き換えて複数の転置済帳票データを作成し、上記文字列復元処理部は、上記帳票データ作成部が作成した複数の転置済帳票データの所定個所から転置済文字列を収集し、収集した複数の転置済文字列の文字を転置キーに従って配置換えして複数の源文字列を復元し、上記帳票出力制御部は、上記文字列復元処理部が復元した複数の源文字列を用いて上記複数の転置済帳票データの所定個所の転置済文字列を書き換えて複数の復元済帳票データを作成することを特徴とする。
【0010】
上記帳票データ作成部は、同一帳票内に複数の源文字列を有する源帳票データを作成し、上記文字列転置処理部は、上記帳票データ作成部が作成した同一帳票内の源文字列を収集し、収集した複数の源文字列の文字を転置キーに従って配置換えして複数の転置済文字列を生成し、上記帳票データ作成部は、上記文字列転置処理部が生成した複数の転置済文字列を用いて上記同一帳票内の源帳票データの複数の源文字列を書き換えて転置済帳票データを作成し、上記文字列復元処理部は、上記帳票データ作成部が作成した転置済帳票データの複数の転置済文字列を収集し、収集した複数の転置済文字列の文字を転置キーに従って配置換えして複数の源文字列を復元し、上記帳票出力制御部は、上記文字列復元処理部が復元した複数の源文字列を用いて上記同一帳票内の転置済帳票データの複数の転置済文字列を書き換えて復元済帳票データを作成することを特徴とする。
【0011】
上記帳票作成システムは、さらに、本番出力とテスト出力とのいずれかを選択する帳票操作部を備え、上記帳票出力制御部は、上記帳票操作部によりテスト出力が選択された場合に、上記スプール領域に記憶された転置済帳票データを読み出し、読み出した転置済帳票データを出力することを特徴とする。
【0012】
上記帳票作成システムは、さらに、帳票レイアウトを記憶するとともに、転置と伏字と空白と無変換とのいずれかを文字列のテスト出力方法として記憶する帳票定義体記憶部を備え、
上記帳票データ作成部は、帳票定義体記憶部に記憶されたテスト出力方法が転置と伏字と空白とのいずれかである場合、上記転置済帳票データを作成し、上記帳票出力制御部は、上記帳票定義体記憶部に記憶されたテスト出力方法が伏字の場合、上記スプール領域に記憶された転置済帳票データを読み出し、読み出した転置済帳票データの転置済文字列を伏字に置換した帳票データを復元済帳票データとして出力し、上記帳票定義体記憶部に記憶されたテスト出力方法が空白の場合、スプール領域に記憶された転置済帳票データを読み出し、読み出した転置済帳票データの転置済文字列を空白に置換した帳票データを復元済帳票データとして出力する
ことを特徴とする。
【0013】
この発明に係る帳票作成システムは、
転置キーを第1の記憶装置に記憶する第1の転置キー記憶部と、
上記第1の転置キー記憶部が第1の記憶装置に記憶した転置キーを用いて文字列の転置処理をする文字列転置処理部と、
源文字列を有する源帳票データを作成し、上記文字列転置処理部を用いて上記源帳票データが有する源文字列を転置して転置済文字列を作成し、上記源帳票データが有する源文字列を転置済文字列で置換した転置済帳票データを作成し、転置済帳票データを第1の記憶装置の第1のスプール領域に記憶する帳票データ作成部と、
上記帳票データ作成部により第1の記憶装置の第1のスプール領域に記憶された転置済帳票データを読み出し、ネットワークを介して出力する帳票出力制御部と
を備えた第1の帳票作成装置と、
上記第1の帳票作成装置が出力した転置済み帳票データを、上記ネットワークを介して入力し、第2の記憶装置の第2のスプール領域に記憶する帳票データ入力部
を備えた第2の帳票作成装置と
を備えたことを特徴とする。
【0014】
上記第2の帳票作成装置は、さらに、
上記第1の記憶装置に記憶された転置キーと同じ転置キーを、上記第2の記憶装置に記憶する第2の転置キー記憶部と、上記第2の転置キー記憶部が第2の記憶装置に記憶した転置キーを用いて文字列の復元処理をする文字列復元処理部と、上記第2のスプール領域に記憶された転置済帳票データを読み出し、上記文字列復元処理部を用いて、読み出した転置済帳票データが有する転置済文字列から源文字列を復元し、復元した源文字列を有する帳票データを復元済帳票データとして出力する第2の帳票出力制御部と
を備えたことを特徴とする。
【0015】
この発明に係る転置キーを記憶装置に記憶する転置キー記憶部と、上記転置キー記憶部に記憶された転置キーを用いて文字列の転置処理をする文字列転置処理部と、上記転置キー記憶部に記憶された転置キーを用いて文字列の復元処理をする文字列復元処理部と、帳票データ作成部と、帳票出力制御部とを備えた帳票作成システムの帳票作成方法は、
上記帳票データ作成部が、
源文字列を有する源帳票データを作成し、
上記文字列転置処理部を用いて上記源帳票データが有する源文字列を転置して転置済文字列を作成し、
上記源帳票データが有する源文字列を転置済文字列で置換した転置済帳票データを作成し、
作成した転置済帳票データを記憶装置のスプール領域に記憶し、
上記帳票出力制御部が、
上記記憶装置のスプール領域に記憶された転置済帳票データを読み出し、
上記文字列復元処理部を用いて、転置済帳票データが有する転置済文字列から源文字列を復元し、
復元した源文字列を有する帳票データを復元済帳票データとして出力する
ことを特徴とする。
【0016】
この発明に係る転置キーを記憶装置に記憶する転置キー記憶部と、上記転置キー記憶部に記憶された転置キーを用いて文字列の転置処理をする文字列転置処理部と、上記転置キー記憶部に記憶された転置キーを用いて文字列の復元処理をする文字列復元処理部と、帳票データ作成部と、帳票出力制御部と、処理装置とを備えたコンピュータに実行させる帳票作成プログラムは、
上記処理装置が、上記帳票データ作成部により、
源文字列を有する源帳票データを作成し、上記文字列転置処理部を用いて上記源帳票データが有する源文字列を転置して転置済文字列を作成し、上記源帳票データが有する源文字列を転置済文字列で置換した転置済帳票データを作成し、作成した転置済帳票データを記憶装置のスプール領域に記憶する帳票データ作成処理と、
上記処理装置が、上記帳票出力制御部により、
上記記憶装置のスプール領域に記憶された転置済帳票データを読み出し、上記文字列復元処理部を用いて、転置済帳票データが有する転置済文字列から源文字列を復元し、復元した源文字列を有する帳票データを復元済帳票データとして出力する帳票出力制御処理と
をコンピュータに実行させることを特徴とする。
【0017】
この発明に係る転置キーを第1の記憶装置に記憶する第1の転置キー記憶部と、上記第1の転置キー記憶部が第1の記憶装置に記憶した転置キーを用いて文字列の転置処理をする文字列転置処理部と、帳票データ作成部と、第1の帳票出力制御部とを有する第1の帳票作成装置と、
上記第1の記憶装置に記憶された転置キーと同じ転置キーを、第2の記憶装置に記憶する第2の転置キー記憶部と、上記第2の転置キー記憶部が第2の記憶装置に記憶した転置キーを用いて文字列の復元処理をする文字列復元処理部と、帳票データ入力部と、第2の帳票出力制御部とを有する第2の帳票作成装置と
を備えた帳票作成システムの帳票作成方法は、
上記帳票データ作成部が、源文字列を有する源帳票データを作成し、上記文字列転置処理部を用いて上記源帳票データが有する源文字列を転置して転置済文字列を作成し、上記源帳票データが有する源文字列を転置済文字列で置換した転置済帳票データを作成し、転置済帳票データを第1の記憶装置の第1のスプール領域に記憶し、
上記第1の帳票出力制御部が、上記帳票データ作成部により第1の記憶装置の第1のスプール領域に記憶された転置済帳票データを読み出し、ネットワークを介して出力し、
上記帳票データ入力部が、上記第1の帳票作成装置が出力した転置済み帳票データを、上記ネットワークを介して入力し、第2の記憶装置の第2のスプール領域に記憶し、
上記第2の帳票出力制御部が、上記第2のスプール領域に記憶された転置済帳票データを読み出し、上記文字列復元処理部を用いて、読み出した転置済帳票データが有する転置済文字列から源文字列を復元し、復元した源文字列を有する帳票データを復元済帳票データとして出力する
ことを特徴とする。
【0018】
この発明に係る転置キーを第1の記憶装置に記憶する第1の転置キー記憶部と、上記第1の転置キー記憶部が第1の記憶装置に記憶した転置キーを用いて文字列の転置処理をする文字列転置処理部と、帳票データ作成部と、第1の帳票出力制御部と、第1の処理装置とを有する第1の帳票作成装置と、
上記第1の記憶装置に記憶された転置キーと同じ転置キーを、第2の記憶装置に記憶する第2の転置キー記憶部と、上記第2の転置キー記憶部が第2の記憶装置に記憶した転置キーを用いて文字列の復元処理をする文字列復元処理部と、帳票データ入力部と、第2の帳票出力制御部と、第2の処理装置とを有する第2の帳票作成装置と
を備えた帳票作成システムの帳票作成プログラムは、
上記第1の処理装置が、上記帳票データ作成部により、源文字列を有する源帳票データを作成し、上記文字列転置処理部を用いて上記源帳票データが有する源文字列を転置して転置済文字列を作成し、上記源帳票データが有する源文字列を転置済文字列で置換した転置済帳票データを作成し、転置済帳票データを第1の記憶装置の第1のスプール領域に記憶する帳票データ作成処理と、
上記第1の処理装置が、上記第1の帳票出力制御部により、上記帳票データ作成部により第1の記憶装置の第1のスプール領域に記憶された転置済帳票データを読み出し、ネットワークを介して上記第2の帳票作成装置に出力する第1の帳票出力制御処理と
を上記第1の帳票作成装置に実行させ、
上記第2の処理装置が、上記帳票データ入力部により、上記第1の帳票作成装置が出力した転置済み帳票データを、上記ネットワークを介して入力し、上記第2の記憶装置の第2のスプール領域に記憶する帳票データ入力処理と、
上記第2の処理装置が、上記第2の帳票出力制御部により、上記第2のスプール領域に記憶された転置済帳票データを読み出し、上記文字列復元処理部を用いて、読み出した転置済帳票データが有する転置済文字列から源文字列を復元し、復元した源文字列を有する帳票データを復元済帳票データとして出力する第2の帳票出力制御処理と
を上記第2の帳票作成装置に実行させることを特徴とする。
【発明の効果】
【0019】
この発明に係る帳票作成システムによれば、帳票データに含まれる源文字列を転置キーを用いて転置することにより、帳票データに含まれる文字列が何ら加工されずに平分のまま流出することを防止できる効果を奏する。さらに、転置した文字列を印刷した場合であっても、転置する前の源文字列に含まれた文字が全て印字されるので、文字の印字テストを確実に行える効果を奏する。
【図面の簡単な説明】
【0020】
【図1】実施の形態1の帳票作成システムの構成の一例を示す構成図。
【図2】帳票作成システムの外観の一例を示す図。
【図3】帳票作成システムのハードウェア資源の一例を示す図。
【図4】帳票定義体の構造を説明する図。
【図5】帳票定義体に記憶されたデータを帳票設計部がグラフィカルに表示したマンマシンインターフェースの一例を示す図。
【図6】帳票設計部が表示する可変フィールド属性群が有する各可変フィールド属性を設定する設定ウィンドウの一例を示す図。
【図7】帳票データ作成部が作成する転置済帳票データの一例を説明する図。
【図8】プリンタ制御部が、各種テスト印字方法に従い印字する文字列の一例を示す図。
【図9】プリンタ制御部が、各種テスト印字方法に従い印字する数字の一例を示す図。
【図10】実施の形態1の転置処理実行前の源文字列群を説明する図であり、(A)は、源文字列群の一例を示し、(B)は、転置処理における行列の一例を示す。
【図11】実施の形態1の転置処理の途中経過の一例を説明する図。
【図12】実施の形態1の転置処理の途中経過の一例を説明する図。
【図13】実施の形態1の転置済文字列群の一例を示す図。
【図14】実施の形態1の帳票データ作成部の動作の一例を示すフローチャート図。
【図15】実施の形態1の文字列転置処理部の動作の一例を示すフローチャート図。
【図16】プリンタ制御部によるプリンタ制御処理(帳票出力制御処理の一例)を説明するフローチャート図。
【図17】文字列復元処理部による文字列復元処理の動作を示すフローチャート図。
【図18】実施の形態2の源文字列群の一例を示す図。
【図19】実施の形態3の複数の文字列を行列Mに展開した一例を示す図。
【図20】実施の形態5の帳票作成システム600の装置構成を表す構成図。
【発明を実施するための形態】
【0021】
実施の形態1.
この実施の形態では、転置する前の源文字列を含む源帳票データから、転置キーを用いて転置した転置済文字列を含む転置済帳票データを生成する帳票作成システムについて一例を説明する。また、転置済帳票データを印刷する帳票作成システムについて一例を説明する。
【0022】
図1は、この実施の形態の帳票作成システムの構成の一例を示す構成図である。
図1において、帳票作成システム100は、記憶装置101、帳票設計部111、帳票データ作成部107、文字列転置処理部106、プリンタ制御部108、帳票操作部109、文字列復元処理部110を備える。また、帳票作成システム100は、データベース群記憶部300をアクセスする。また、帳票作成システム100は、プリンタ200を接続する。
記憶装置101は、磁気ディスク装置、RAM、ROM等の記憶装置である。記憶装置101は、帳票設計部111が作成した帳票定義体113を記憶する帳票定義体記憶部112を有する。記憶装置101は、帳票データ作成部107が作成した転置済帳票データ105を記憶するスプール領域104を有する。記憶装置101は、転置キー記憶部102により記憶された、転置キー103を記憶する。
【0023】
帳票設計部111は、帳票定義体113の表示、作成、修正をし、帳票定義体113を帳票定義体記憶部112に記憶する。
帳票定義体113は、例えば、帳票属性、ページ内の固定データ、可変フィールドの印刷属性をデータとして有する。
帳票属性とは、例えば、印刷に使用する用紙サイズなど、帳票の全ページに共通する属性である。
ページ内の固定データとは、毎回の帳票印刷、あるいは帳票内のすべてのページで、同一に印刷されるデータ(いわゆるテンプレート、様式)であって、たとえば、タイトル等の固定文字列のデータや罫線等の図形データが相当する。
可変フィールドとは、印刷ごと、ページごとに異なるデータが印字される領域で、その属性として、例えば、座標値(用紙左上からのインチ数など)、文字のサイズ、フォントの種類、文字間隔、印字すべき値の取得方法(例えば、値が格納されたデータベース名、テーブル名、カラム名)、値の加工方法(例えば、5%増しの数値を3桁コンマ区切りで印字など)、テスト印字方法(無変換/転置/伏字/空白/序数)などが相当する。ひとつの帳票には可変フィールドは一般には複数個存在する。例えば、可変フィールド1は住所、可変フィールド2は氏名、可変フィールド3は金額、などである。
【0024】
帳票データ作成部107は、帳票定義体記憶部112が記憶した帳票定義体113とパラメータとを入力し、帳票定義体113とパラメータに基づいてデータベース群記憶部300に記憶されたデータベース300aからデータベース300nをアクセスし、源帳票データに含める源文字列を取得する。そして、取得した源文字列を含む源帳票データを、帳票定義体113に基づいて作成する。
パラメータの例としては、印刷対象となるデータベース検索条件がある。例えば、全顧客に対し、今月の請求金額が1円以上という検索条件をパラメータとする。帳票データ作成部107は、可変フィールド属性が表すデータベースからこのパラメータとして指定された条件を満たす項目(カラム)の値(値とは、文字列や数値)を検索結果としてデータベース群記憶部300から取得する。
帳票データ作成部107は、検索結果を有する源帳票データを作成する。
【0025】
文字列転置処理部106は、源帳票データ内に含まれる文字を、例えば同一フィールドでグループ化し、グループごとに当該グループに含まれる文字をある一定規則で入れ替える。
文字列転置処理部106が行う文字の入れ替え規則は、転置キーを用いる鍵式転置式暗号による転置処理である。
転置キー記憶部102は、文字列転置処理部106が行う転置処理において使用する転置キーを、予め転置キー103に記憶する。
帳票データ作成部107は、文字列転置処理部106により源帳票データに含まれた源文字列を転置処理し、源文字列を転置済文字列で置換した転置済帳票データ105を作成し、転置済帳票データ105をスプール領域104に記憶する。
【0026】
帳票操作部109は、スプール領域104に記憶された転置済帳票データ105に対して行う操作を指示するマンマシンインターフェースを有し、操作の指示或いは操作の選択を行う。操作の指示の例としては、指定した転置済帳票データ105を、本番印字する/テスト印字する/削除するなどを指示、或いは、選択する。
【0027】
文字列復元処理部110は、転置キー103を用いて文字列転置処理部106と逆の処理である復元処理を行い、転置済文字列から源文字列を復元する。文字列復元処理部110が行う復元処理は、転置済帳票データ105に含まれた所定の箇所の転置済文字列を収集し、収集した転置済文字列を転置キー103に従い配置換えして源文字列を復元する処理である。
【0028】
プリンタ制御部108は、帳票出力制御部の一例であり、転置済帳票データ105をプリンタ言語に翻訳してプリンタ200に出力する。プリンタ制御部108は、文字列復元処理部110により、転置済帳票データ105に含まれた転置済文字列から源文字列を復元し、復元済文字列を生成し、復元済文字列を用いて復元済帳票データを作成し、復元済帳票データをプリンタ言語に翻訳してプリンタ200に出力する。
プリンタ制御部108は、帳票操作部109によりテスト印字との指示があり、可変フィールド属性のテスト印字方法が無変換なら源文字列をそのままプリンタに送信する。可変フィールド属性のテスト印字方法が転置の場合は、転置処理した転置済文字列を送信する。伏字の場合は、すべての文字を決められた特定文字に置換して送信する。空白の場合は、何も送信しない。また、帳票操作部109により本番印刷との指示があった場合は、転置された文字列を本番印字用に復元してから復元済文字列をプリンタ200に送信する。
【0029】
データベース群記憶部300は、帳票作成システム100に接続され、帳票作成システム100によりアクセス可能な磁気ディスク装置、フレキシブルディスク装置、コンパクトディスク装置等の記憶装置である。データベース群記憶部300は、源帳票データに含まれる源文字列を記憶するデータベース300aからデータベース300nの複数のデータベースを記憶する。図1では、帳票作成システム100は、データベース群記憶部300を含まない構成としたが、帳票作成システム100は、データベース群記憶部300を含む構成としてもかまわない。
【0030】
プリンタ200は、帳票作成システム100に接続され、帳票作成システム100により制御可能なプリンタ装置等の出力装置である。図1では、帳票作成システム100は、プリンタ200を含まない構成としたが、帳票作成システム100は、プリンタ200を含む構成としてもかまわない。
【0031】
図2は、帳票作成システム100の外観の一例を示す図である。
図2において、帳票作成システム100は、システムユニット910、CRT(Cathode・Ray・Tube)やLCD(液晶)の表示画面を有する表示装置901、キーボード902(Key・Board:K/B)、マウス903、FDD904(Flexible・Disk・ Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。
システムユニット910は、コンピュータであり、ファクシミリ機932、電話器931とケーブルで接続され、また、ローカルエリアネットワーク942(LAN)、ゲートウェイ941を介してインターネット940に接続されている。
プリンタ装置906、スキャナ装置907、ファクシミリ機932は、プリンタ200の一例である。
【0032】
図3は、帳票作成システム100のハードウェア資源の一例を示す図である。
図3において、帳票作成システム100は、プログラムを実行するCPU911(Central・Processing・Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介してROM913、RAM914、通信ボード915、表示装置901、キーボード902、マウス903、FDD904、CDD905、プリンタ装置906、スキャナ装置907、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置920の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信ボード915、キーボード902、スキャナ装置907、FDD904などは、入力部、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力部、出力装置の一例である。
【0033】
通信ボード915は、ファクシミリ機932、電話器931、LAN942等に接続されている。通信ボード915は、LAN942に限らず、インターネット940、ISDN等のWAN(ワイドエリアネットワーク)などに接続されていても構わない。インターネット940或いはISDN等のWANに接続されている場合、ゲートウェイ941は不用となる。
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924、が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。磁気ディスク装置920は、例えば、記憶装置101の一例であり、帳票定義体記憶部112、スプール領域104、転置キー103を記憶する。
【0034】
上記プログラム群923には、帳票作成システム100において動作する「帳票設計部」「帳票データ作成部」「文字列転置処理部」「帳票操作部」「プリンタ制御部」「文字列復元処理部」として説明する動作を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」、「〜追跡結果」、「〜特定結果」、「〜指示」「〜検索結果」として説明する情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・入力・出力・印刷・表示・判定などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・入力・印刷・表示・抽出・判定のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disk)等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【0035】
また、以下に述べる実施の形態の説明において「帳票設計部」「帳票データ作成部」「文字列転置処理部」「帳票操作部」「プリンタ制御部」「文字列復元処理部」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「手段」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、以下に述べる「〜部」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」の手順や方法をコンピュータに実行させるものである。
【0036】
次に、帳票作成システム100において使用するデータの例を説明する。
図4は、帳票定義体113の構造を説明する図である。
図4において、帳票定義体113は、帳票属性113a、ページ内固定データ113b、複数の可変フィールド属性を有する可変フィールド属性群113cからなる。
帳票属性113aは、例えば、印刷に使用する用紙サイズなど、帳票の全ページに共通する属性を記憶する。
ページ内固定データ113bは、毎回の帳票印刷、あるいは帳票内のすべてのページで、同一に印刷されるデータ(いわゆるテンプレート、様式)であって、たとえば、タイトル等の固定文字列のデータや罫線等の図形データを記憶する。
可変フィールド属性群113cが有する各可変フィールド属性は、印刷ごと、ページごとに異なるデータが印字される領域で、その属性として、例えば、座標値(用紙左上からのインチ数など)、文字のサイズ、フォントの種類、文字間隔、印字すべき値の取得方法(例えば、値が格納されたデータベース名、テーブル名、カラム名)、値の加工方法(例えば、5%増しの数値を3桁コンマ区切りで印字など)、テスト印字方法(無変換/転置/伏字/空白/序数)などを記憶する。ひとつの帳票には可変フィールドは一般には複数個存在する。例えば、可変フィールド1は住所フィールド、可変フィールド2は氏名フィールド、可変フィールド3は金額フィールド、などである。
【0037】
図5は、帳票定義体113に記憶されたデータを帳票設計部111がグラフィカルに表示したマンマシンインターフェースの一例を示す図である。
帳票設計部111は、帳票定義体113に記憶されたデータに基づいて帳票レイアウト115を表示装置901が有する表示画面に表示する。
例えば、帳票設計部111は、帳票属性113aが記憶する用紙サイズを、画面上に実寸で表示する。また、帳票設計部111は、ページ内固定データ113bが記憶する「様」「請求書」「いろは商事」「品名」「金額」「合計」という固定の文字列と数本の直線図形を画面上に表示する。また、帳票設計部111は、可変フィールド属性群113cが有する各可変フィールドに対応する表示として、×印を画面上に表示する。
帳票レイアウト115の「請求書」は、ページ内固定データ113bと対応する。帳票レイアウト115の郵便番号を印字するための可変フィールド115a、住所を印字するための可変フィールド115b、可変フィールド115cは、可変フィールド属性群113cが有する可変フィールド1属性である住所フィールドと対応する。帳票レイアウト115の氏名を印字するための可変フィールド115dは、可変フィールド属性群113cが有する可変フィールド2属性である氏名フィールドと対応する。帳票レイアウト115の金額を印字するための可変フィールド115eは、可変フィールド属性群113cが有する可変フィールド3属性である金額フィールドと対応する。
【0038】
図6は、帳票設計部111が表示する可変フィールド属性群113cが有する各可変フィールド属性を設定する設定ウィンドウの一例を示す図である。
帳票設計部111は、図5に示した複数の可変フィールドのうち属性を設定する対象とする対象可変フィールドにマウスポインタが合わされ、マウスポインタがダブルクリックされると、属性設定用の設定ウィンドウ111aを表示装置901が有する表示画面に表示する。対象可変フィールドに既に値が設定されている場合は、帳票設計部111は、設定されている値を表示する。帳票設計部111は、可変フィールド属性として設定する属性値の一例として、文字サイズ、文字のフォント、文字の印字位置、文字間隔、印字色、値の取得方法、値の加工方法、テストの印字方法等を設定させる入力枠を表示する。
例えば、帳票設計部111は、値の取得方法の入力枠には、データベース群記憶部300に記憶された複数のデータベースのうち、取得する値を記憶しているデータベース名(DB名)、表名、カラムを入力させる。
帳票設計部111は、テスト印字方法の複数の入力枠から、無変換/転置/伏字/空白/序数のうちのひとつの入力枠を選択させる。無変換とは、本番印字と同じ文字列、すなわち、源文字列をテスト印字することを意味する。転置とは、本番印字の源文字列中の源文字を一定規則で入れ替えて印刷することを意味する。伏字とは、源文字列中の源文字をある特定の文字に置き換えて印字することを意味する。空白は何も印字しないことを意味する。序数とは、数値のみに適用可能で、0,1,2,….の順序で前から順に数字を当てはめて印字することを意味する。
帳票設計部111は、OKボタンが押されることで、選択されたテスト印字方法やその他の設定値を帳票定義体113の可変フィールド属性群113cのうちの該当可変フィールド属性として記憶する。
【0039】
図7は、帳票データ作成部が作成する転置済帳票データの一例を説明する図である。
帳票データ作成部107は、転置済帳票データ105を作成する。転置済帳票データ105は、帳票属性、ページ内固定データ、複数の可変フィールド属性を有する帳票定義体113と、複数のページの各ページに含まれて印字される転置済文字列群105aから転置済文字列群105nとを有する。転置済文字列群105aは、1ページ目に印字される複数の転置済文字列群を有し、転置済文字列群105nはnページ目(nは1より大きい整数)に印字される複数の転置済文字列を有する。帳票データ作成部107は、帳票定義体記憶部112から帳票定義体113を取得し、転置済帳票データ105に設定する。
帳票データ作成部107は、文字列転置処理部106により図7に示す「一口伊文」「樋葉英藤」「口野世博」との転置済文字列を生成し、転置済帳票データ105に設定する。
【0040】
図8は、プリンタ制御部108が、各種テスト印字方法に従い印字する文字列の一例を示す図である。
図8では、文字列、例えば「樋口一葉」「野口英世」「伊藤博文」との源文字列群を、無変換/転置/伏字/空白との各種テスト印字方法に従い印字する文字列サンプル108xを示す。上記した3つの文字列は、同じレイアウトの帳票内の異なるペーの同じ位置に印字されるものとする。
帳票データ作成部107は、テスト印字方法に関わらず文字列転置処理部106により源文字列群を転置するが、プリンタ制御部108は、テスト印字方法に従う印字制御を行う。
テスト印字方法が無変換の場合、プリンタ制御部108は、各ページに3つの源文字列群をそのまま印字する。
テスト印字方法が転置の場合、プリンタ制御部108は、文字列転置処理部106により転置処理された転置済文字列を各ページに印字する。この時、印字される文字列群は、図8に示すように、3つの文字列群に含まれる文字がシャッフルされて印字されているだけであり、すなわち、文字の印字順が源文字列群の印字順と異なるだけであり、3つの文字列群に含まれる文字は全て印字される。このように、3つの文字列群に含まれる文字が全て印字されるので、正確に文字が印字されるか印字テストすることができる。
テスト印字方法が伏字の場合、プリンタ制御部108は、3つの文字列群の各文字列に含まれた文字を、予め設定され例えばファイル群924に記憶されたダミー文字(伏字)、例えば図8に示すような黒塗りの三角マークに置き換えて、各ページに印字する。このように、3つの文字列群がダミー文字に置き換えられて印字されると、文字の印字位置や印字桁数等が正しいか確認できる。
テスト印字方法が空白の場合、プリンタ制御部108は、3つの文字列群を、図8に示すように空白に置き換えて、各ページに印字する。このように、3つの文字列群が空白に置き換えられて印字されると、機密にしたい文字を含む帳票のテスト印字を行える。
各種テスト印字方法はそれぞれ効果が異なるので、ユーザは、テスト印字の目的に応じて帳票レイアウトに含まれた各フィールドにテスト印字方法を指定することができる。
【0041】
図9は、プリンタ制御部108が、各種テスト印字方法に従い印字する数字の一例を示す図である。
図9では、ハイフン記号を含む数値列、例えば「03−3456−7890」「03−3456−0987」「06−6543−2109」との源文字列群を、無変換/転置/伏字/空白/序数との各種テスト印字方法に従い印字する数字サンプル108yを示す。上記した3つの文字列は、同じレイアウトの帳票内の異なるページの同じ位置に印字されるものとする。
帳票データ作成部107は、テスト印字方法に関わらず文字列転置処理部106により源文字列群を転置するが、プリンタ制御部108は、テスト印字方法に従う印字制御を行う。
テスト印字方法が無変換の場合、プリンタ制御部108は、各ページに3つの源文字列群をそのまま印字する。
テスト印字方法が転置の場合、プリンタ制御部108は、文字列転置処理部106により転置処理された転置済文字列を各ページに印字する。この時、印字される文字列群は、図9に示すように、3つの文字列群に含まれる文字(数値及びハイフン記号)がシャッフルされて印字されているだけであり、すなわち、文字の印字順が源文字列群の印字順と異なるだけであり、3つの源文字列群に含まれる文字は全て印字される。このように、3つの源文字列群に含まれる文字が全て印字されるので、正確に文字が印字されるか印字テストすることができる。
テスト印字方法が伏字の場合、プリンタ制御部108は、3つの文字列群を、予め設定され例えばファイル群924に記憶されたダミー文字(伏字、特定文字)、例えば図9に示すような‘X’に置き換えて、各ページに印字する。このように、3つの文字列群がダミー文字に置き換えられて印字されると、文字の印字位置や印字桁数等が正しいか確認できる。
テスト印字方法が空白の場合、プリンタ制御部108は、3つの源文字列群を、図9に示すように空白に置き換えて、各ページに印字する。このように、3つの文字列群が空白に置き換えられて印字されると、機密にしたい文字を含む帳票のテスト印字を行える。
テスト印字方法が序数の場合、プリンタ制御部108は、3つの文字列群のうちハイフン記号を除く部分の文字列(数値列)を、図9に示すように0から9の順に並べた数値列に置き換えて、各ページに印字する。このように、3つの文字列群が0から9の順に並べた数値列に置き換えられて印字されると、機密にしたい文字を含む帳票のテスト印字を行えるとともに、さらに、機密にしたい文字を含む帳票のテスト印字を行える。
各種テスト印字方法はそれぞれ効果が異なるので、ユーザは、帳票レイアウトに含まれた数値列が印字されるフィールドについても、テスト印字の目的に応じてテスト印字方法を指定することができる。
【0042】
次に、図10から図15を用いて、帳票データ作成部107の帳票データ作成処理を説明する。
図10は、この実施の形態の転置処理実行前の源文字列群を説明する図であり、(A)は、源文字列群の一例を示し、(B)は、転置処理における行列の一例を示す。
図11,図12は、この実施の形態の転置処理の途中経過の一例を説明する図である。
図13は、この実施の形態の転置済文字列群の一例を示す図である。
図14は、この実施の形態の帳票データ作成部の動作の一例を示すフローチャート図である。
図15は、この実施の形態の文字列転置処理部の動作の一例を示すフローチャート図である。
図14に示した帳票データ作成処理は、1ページ内の可変フィールド数が1の場合であって、複数ページ分を印刷する転置済帳票データ105を作成する例を示す。つまり、帳票データ作成部107は、図14のS11からS20を実行し、図7に示した転置済帳票データ105を作成する。1ページ内に複数の可変フィールドを有する場合は、1ページ内の可変フィールドの数に対応する数分図14の帳票データ作成処理を繰り返す。ただし、図7に示すように、帳票定義体113は、転置済帳票データ105において1つであるため、2回目以降の繰り返しの処理では、帳票定義体113を転置済帳票データ105に書き出すS14,S15の処理をスキップする。
【0043】
図14の処理を開始する前に、帳票データ作成処理で使用する変数に初期値を設定する。帳票データ作成処理で使用する変数は、K,N,STRである。変数Kは、1つの可変フィールドを構成する文字数を格納する。変数Nは、データベースを検索してパラメータの条件を満たす値がいくつあったかカウントする。この実施の形態では、1つのページに1つの可変フィールドとしたので、Nはページ数と同じである。STRは、パラメータの条件を満たす値を並べて記憶する。STRは、源帳票データの一例である。K、Nには、初期値として0を設定し、STRには、初期値としてスペースを設定する。
図14のS11において、帳票データ作成部107は、帳票定義体記憶部112から帳票定義体113を入力する。さらに、帳票データ作成部107は、パラメータを入力する。帳票データ作成部107は、データベースを検索する条件を表すパラメータをマウス903やキーボード902等の入力装置を用いて入力する。或いは、ファイル群924に予め記憶されたパラメータを入力する。そして、帳票データ作成部107は、入力した帳票定義体113が有する可変フィールド属性群113cから「値の取得方法」に設定された情報を取得する。図6に示したように「値の取得方法」には、可変フィールドを特定するデータベース名(DB名)と表名とカラムとの取得方法情報が指定されている。帳票データ作成部107は、取得方法情報に基づいて、データベース群記憶部300を検索し、取得方法情報により特定されるデータベースのカラムから可変フィールドに印字する値(文字列)を取得する。この時、帳票データ作成部107は、取得した値(文字列)がパラメータが表す条件を満たすか否か判定する。
【0044】
図14のS12において、帳票データ作成部107は、条件を満たすとの判定を行った値(文字列)を源文字列としてSTRに設定する。STRには、既に設定されている文字列(初期値は除く)に繋げて、条件を満たすとの判定を行った値(文字列)を設定する。帳票データ作成部107は、可変フィールドを構成する文字数をKに設定する。文字数は、取得方法情報に基づいてデータベースから取得する。帳票データ作成部107は、条件を満たすとの判定を行った値の個数をカウントしてNに設定する。条件を満たすとの判定を行った値(文字列)を源文字列として全てSTRに設定すると、STRの文字数は、KとNとを乗算した乗算値の文字数になる。
帳票データ作成部107は、S11において、条件を満たす値(文字列)を1つ判定したら、S12に進む。このため、S11とS12とは、複数回繰り返す。また、2回目以降のS12の処理では、Kの設定は省略する。省略する理由は、各ページの可変フィールドの構成文字数は同じであるからである。具体的には、データベースに条件を満たす値(文字列)が3件あると、帳票データ作成部107は、S11とS12とを3回繰り返す。
S11とS12とを繰り返した結果、STRには、例えば、3件分の値が並べられて設定される。
【0045】
図14のS13において、帳票データ作成部107は、Nが0であれば、図14の帳票データ作成処理を終了する。帳票データ作成部107は、Nが0でない、つまり、条件を満たすとの判定を行った値(文字列)が1つ以上あると、S14に進む。
【0046】
図14のS14において、帳票データ作成部107は、帳票定義体記憶部112に記憶された帳票定義体113から帳票属性113aを取得し、転置済帳票データ105に記憶する。
図14のS15において、帳票データ作成部107は、帳票定義体記憶部112に記憶された帳票定義体113からページ内固定データ113bを取得し、転置済帳票データ105に記憶する。
【0047】
図14のS16において、帳票データ作成部107は、帳票定義体記憶部112に記憶された帳票定義体113が有する可変フィールド属性群113cからテスト印字方法を取得し、取得したテスト印字方法が、伏字、転置、空白、序数のいずれかである場合は、S17の文字列転置処理部106を呼び出す処理を行う。取得したテスト印字方法が、無変換である場合は、S18へ進む。
STRに記憶した値(文字列)は、テスト印字方法属性が無変換の場合のみそのまま転置済帳票データとして書き込む。しかし、それ以外の場合は、文字列転置処理を実施して転置済文字列群を生成し、転置済文字列群を転置済帳票データとして書き込む。このため、帳票データ作成部107は、文字列転置処理部106を呼び出す。ここで、テスト印刷属性が伏字、空白、序数の場合でも転置を行う理由は、本番印刷の際に、プリンタ制御部108で文字を元に戻すからである。
【0048】
図14のS17の処理は、図15に示す。図15の処理の詳細は後で説明する。帳票データ作成部107は、図15の処理を行った結果を文字列転置処理部106から入力し、STRに上書きを行う。
【0049】
図14のS18において、帳票データ作成部107は、帳票定義体記憶部112に記憶された帳票定義体113が有する可変フィールド属性群113cから可変フィールド属性を取得し、転置済帳票データ105に記憶する。ここで、帳票データ作成部107は、1つの可変フィールを構成する文字数Kと、パラメータの条件を満たす値の個数を表すNを可変フィールド属性に含める。K,Nを可変フィールド属性に含める理由は、文字列復元処理で使用するためである。
【0050】
図14のS19において、帳票データ作成部107は、STRの先頭からK文字列分の文字列を抽出し、抽出した文字列を転置済帳票データ105が有する転置済文字列群105aから転置済文字列群105nに順次記憶する。帳票データ作成部107は、抽出した文字列をSTRから削除し、STRに残っている文字列をSTRの先頭から記憶されるように先頭方向にシフトする。
【0051】
図14のS20において、帳票データ作成部107は、N回のループを行ったか否かを判定し、N回のループを行ったことを判定した場合、図14の帳票データ作成処理を終了する。帳票データ作成部107は、N回のループを行っていないことを判定したら、S19の処理を繰り返す。
N回のループ処理が終わると、図7の転置済帳票データ105が作成される。図7では各ページの可変フィールドの値が複数あることが記載されているが、ここでは、可変フィールドを1つとしたので、各ページの可変フィールドの値は1つである。
帳票データ作成部107は、作成した転置済帳票データ105をスプール領域104に記憶する。
転置済帳票データはファイルであり、コンピュータのOS921が管理するスプール領域104に格納される。格納する目的は、一般的に時間のかかる印刷処理の完了を待たずに、次の処理をコンピュータに実施させることを可能にすることと、印刷処理完了後も印刷不具合(印刷ずれ、用紙汚れや折り目など)のために一部のページを再印刷可能にするためである。転置済帳票データには、可変フィールドの属性と、実際に印字する値(文字列)が含まれる。テスト印字方法が無変換の場合のみ、文字列は本番印刷用のものであり、源文字列である。無変換以外のテスト印字方法の場合は、文字列は転置処理が施されている。
【0052】
以上説明したS11からS20の処理が帳票データ作成処理である。上記した説明では、帳票定義体113が有する可変フィールド属性群113cとして1つの可変フィールが記憶されている場合を説明した。可変フィールド属性群113cとして2つ以上の可変フィールドが記憶されている場合は、S11からS20の処理を記憶されている可変フィールドの個数分繰り返す。繰り返す場合、転置済帳票データ105の帳票属性、ページ内固定データは異なる可変フィールドで共通であるため、1度記憶させればよい。すなわち、S14,S15を省略する。
【0053】
次に、図14のS17に対応する文字列転置処理を図15に基づいて説明する。
帳票データ作成部10により呼び出された文字列転置処理部106は、図15のS41において、準備処理を行う。
以下に、準備処理を説明する。
文字列転置処理部106は、ファイル群924やROM913やRAM914に予め記憶された鍵(転置キーの一例)を入力する。鍵は、重複がなく、かつ、整数0,1,・・・Nk−1の値を、任意の順序に入れ替えたものとする。各鍵は、k[0]、k[1]、k[2]、k[Nk−1]と表す(Nkは鍵の個数であり、1以上の整数)。
文字列転置処理部106は、STRに記憶された文字数P(PはN×K、Pは1以上の整数)が、鍵の個数の倍数であるか否かを判定する。文字列転置処理部106は、Pが鍵の個数の倍数でないことを判定した場合、STRの文字数が鍵の個数の倍数になるまで、STRの末尾の文字の後ろにダミーの文字を追加する。ダミーの文字は予めファイル群924に記憶され、文字列転置処理部106は、ファイル群924からダミーの文字を入力する。文字列転置処理部106は、ダミーの文字を追加したSTRに記憶された文字数を新たなPとする。STRの末尾の文字の後ろにダミーの文字を追加するとは、つまり、帳票にさらに新たなページを追加することである。文字列転置処理部106は、ダミー文字を追加したらNに1を加算する。文字列転置処理部106は、STRに記憶された文字列群を先頭から1文字ごとに行列AのA[0]、A[1]、・・・A[P−1]の順に設定する。
【0054】
図15のS42において、文字列転置処理部106は、行列の作成処理を行う。
以下に、行列の作成処理を説明する。
文字列転置処理部106は、横方向(行列の列方向)にNk個、縦方向(行列の行方向)にP/Nk個の行列を作成する。文字列転置処理部106は、作成した行列の左上隅から右方向にA[0]、A[1]、・・・A[P−1]を格納する。行の一番右まで行ったら一つ下の段(次の行)の左端から前段に格納した続きの行列Aの文字を格納する。つまり、行列のi行j列成分M[i][j]=A[i×Nk+j]となる。ただし、iは0以上P/Nk−1以下の整数、jは0以上Nk−1以下の整数とする。
【0055】
図15のS43において、文字列転置処理部106は、列の並べ替え処理を行う。
以下に、列の並べ替え処理を説明する。
文字列転置処理部106は、複数の鍵のうちk[0]=xとすると、行列の0カラム目とxカラム目を入れ替える。つまり、M[0][j]とM[x][j]を入れ替える。ただし、jは0以上Nk−1以下の整数とする。
次に、文字列転置処理部106は、複数の鍵のうちk[1]=yとすると、行列の1カラム目とyカラム目を入れ替える。つまり、M[1][j]とM[y][j]を入れ替える。
以下同様に、鍵k[Nk−1]になるまで、入れ替えを行う。
【0056】
図15のS44において、文字列転置処理部106は、結果の文字列作成処理を行う。
以下に、結果の文字列作成処理を説明する。
文字列転置処理部106は、行列を左上から下方向に文字を拾って結果文字列Bとする。そして、一番下まで行ったら一つ右のカラムについて同様に文字を拾って結果文字列Bとする。つまり、文字列転置処理部106は、結果文字列Bを、M[i][j]―>B[i+j×P/Nk]で生成する。
以上のS41からS44が、文字列転置処理である。
文字列転置処理部106は、作成した結果文字列Bを帳票データ作成部107に出力する。帳票データ作成部107は、文字列転置処理部106から出力された結果文字列Bを入力し、STRに上書きする。これにより、STRには、複数ページに印刷される文字がシャッフルされて記憶される。
【0057】
図10から図13を用いて、文字列転置処理を説明する。
例えば、各ページの可変フィールドの値が図10(A)の源文字列群108aであるとする。源文字列群108aに示した1つの可変フィールドの構成文字数は、4文字である。図10(A)に示した源文字列群108aは、帳票データ作成部107がS12でSTRに設定したN個の文字列を、1つの可変フィールドに対応する値(文字列)が分かりやすいように表により表している。
図15のS41において、文字列転置処理部106は、S41において、源文字列群108aを図10(B)の行列A108bのように展開する。このとき、鍵の個数は3つとする。鍵の個数が3つであり、行列A108bに記憶された文字数は12文字であるため、文字数12は鍵の個数3の倍数であることを文字列転置処理部106は、判定する。
【0058】
次に、文字列転置処理部106は、S42において、行列A108bから図11の行列M108dを生成する。文字列転置処理部106は、行列M108dの列方向に鍵(転置キー108c)を対応させる。例えば、M(i,0)に鍵の値0を対応させ、M(i,1)に鍵の値1を対応させ、M(i,2)に鍵の値2を対応させる。
【0059】
次に、文字列転置処理部106は、S43において、鍵(転置キー108e)の値の順番を図12のように、0,1,2から2,0,1に変更する。文字列転置処理部106は、設定された鍵(転置キー108e)の値に基づいて文字を入れ替える。入れ替えた結果は、図12の行列M‘108fの通りである。
【0060】
最後に、文字列転置処理部106は、S44において、1文字ずつ文字を拾って、図13の転置済文字列群108gを生成する。転置済文字列群108gは、1つの可変フィールドに対応する値(文字列)が分かりやすいように表により表している。転置済文字列群108gの各行の文字列を先頭から順に並べた文字列群は、結果文字列Bである。
転置済文字列群108gを見るとわかるように、転置済文字列群108gには、転置処理を実行する前の源文字列群108aの文字がすべて含まれている。
図14のS17において、帳票データ作成部107は、文字列転置処理部106から結果文字列Bを入力し、結果文字列BをSTRに上書きする。
【0061】
文字列転置処理に使用する鍵はコンピュータ内の特定の場所(例えばファイル群924)に保存され、文字列復元処理部110からも参照される。
実際には鍵は16個(桁)程度で、0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,Fの文字を任意の順序で重複なしで並べ替えたものを使用する。このような文字列転置処理を施すことにより、元の文字列の意味が理解しにくくなるため、機密情報や個人情報の秘匿に効果がある。
【0062】
次に、スプール領域104に記憶された転置済帳票データ105をプリンタ制御部108が出力する動作を図16を用いて説明する。
図16は、プリンタ制御部108によるプリンタ制御処理(帳票出力制御処理の一例)を説明するフローチャートである。
以下に、プリンタ制御処理を説明する。なお、プリンタ制御処理において使用する転置済帳票データ105には、複数ページ分の帳票を印刷するためのデータが記憶され、各ページには固定データの他に、1つの可変フィールドの値が印刷されるためのデータが記憶されている。
図16のS31において、プリンタ制御部108は、スプール領域104に記憶された転置済帳票データ105を入力する。プリンタ制御部108は、転置済帳票データ105が有する帳票属性を取得し、プリンタ200に出力する。
図16のS32において、プリンタ制御部108は、転置済帳票データ105が有するページ内固定データを取得し、プリンタ200に出力する。
【0063】
図16のS33において、プリンタ制御部108は、転置済帳票データ105が有する可変フィールド属性を取得し、可変フィールド属性に含まれた1つの可変フィールドを構成する文字数Kを変数Kに設定する。プリンタ制御部108は、可変フィールド属性に含まれたパラメータの条件を満たす値の個数を表すNを変数Nに設定する。プリンタ制御部108は、転置済帳票データ105が有する複数の可変フィールドの値を並べたK×N個の文字列を変数STRに設定する。転置済帳票データ105に含まれたK,Nは、図14のS18において帳票データ作成部107により転置済帳票データ105に含まれたものである。
【0064】
図16のS34において、帳票操作部109は、マウス903、キーボード902等の入力装置を用いて本番印刷とテスト印刷とのいずれの印刷を行うか指示する印刷指示情報を入力する。プリンタ制御部108は、帳票操作部109が入力した印刷指示情報が、本番印刷を指示する場合、S42へ進む。プリンタ制御部108は、印刷指示情報がテスト印刷を指示する場合、S35へ進む。S35からS40では、プリンタ制御部108は、転置済帳票データ105の可変フィールドの属性にテスト印字方法として伏字、転置、空白、序数、無変換とのいずれが設定されているか判定する。
S35において、伏字が設定されていることを判定したら、プリンタ制御部108は、S36へ進む。S36では、プリンタ制御部108は、予め伏字として記憶した伏字文字を入力し、STRに記憶された文字を伏字文字に置換する。S36の後、S43へ進む。伏字文字は、予めファイル群924に記憶されている。
S37において、転置が設定されていることを判定したら、プリンタ制御部108は、S43へ進む。
S38において、空白が設定されていることを判定したら、プリンタ制御部108は、S39へ進む。S39において、プリンタ制御部108は、STRに記憶された空白文字を表す文字で置換する。S39の後、S43へ進む。
S40おいて、序数が設定されていることを判定したら、プリンタ制御部108は、S41へ進む。S41において、プリンタ制御部108は、STRに記憶された文字を、0から9までの数値がSTRの文字数分繰り返されるようにSTRに上書きする。
S40において、序数以外が設定されていると(つまり、無変換が設定されている)、プリンタ制御部108は、S43へ進む。
上記S35〜S41では、帳票操作部109によりテスト印字との指示があり、その方法が無変換なら転置済帳票データ105中の文字をそのままプリンタに送信する。その方法が転置の場合もそのまま送信する。伏字の場合は、すべての文字を決められた特定文字に置換して送信する。空白の場合は、STRに空白を設定する。
【0065】
上記S34で、本番印刷との指示があった場合は、S42へ進む。S42では、転置された文字列を本番印字用に復元してからプリンタに送信する。S42では、復元のために、プリンタ制御部108が文字列復元処理部110を呼び出す。
プリンタ制御部108は、文字列復元処理部110の処理終了後、文字列復元処理部110から、復元された文字列群を入力し、STRに格納する。文字列復元処理部110の動作は、後で説明する。
【0066】
図16のS43において、プリンタ制御部108は、転置済帳票データ105が有する可変フィールドの属性を取得し、可変フィールドの属性をプリンタ200へ送信する。
図16のS44において、プリンタ制御部108は、STRの先頭の文字からK文字分を抽出し、抽出したK文字分の文字列をプリンタ200へ送信する。そして、プリンタ制御部108は、抽出したK文字分の文字列の後に続く文字がSTRの先頭の文字になるように、抽出したK文字分の文字列をSTRから削除し、後続の文字列群をSTRの先頭へK文字分シフトする。
図16のS45において、プリンタ制御部108は、改ページ命令をプリンタ200へ送信する。
図16のS46において、プリンタ制御部108は、S43からS45をN回ループしたか判定する。プリンタ制御部108は、N回ループしていないことを判定したら、S43へ戻る。Nループしたことを判定したら、図16のプリンタ制御処理を終了する。
S43からS45は帳票1ページ分に対応する処理である。上述したように転置済帳票データ105には複数ページ分を印刷するためのデータが記憶され、各ページに固定データの他に1つの可変フィールドの値を印刷するための可変フィールドの値が記憶されている。つまり、Nはページ数であるため、1ページ分に対応する処理をN回繰り返す。
転置済帳票データ105に、1ページ当たり複数の可変フィールの値を印刷するためのデータが記憶されていたら、S33からS44を、1ページに含まれる複数の可変フィールド数分繰り返す。
【0067】
S34では、プリンタ制御部108は、本番印字とテスト印字とのいずれかを判定している。しかし、印刷指示情報として、オペレータから削除を指示される場合もある。このため、プリンタ制御部108は、本番印字とテスト印字との他に、削除であるか否かを判定し、削除を判定した場合は、スプール領域104から転置済帳票データ105を削除する。削除した後、プリンタ制御部108は図16の処理を終了する。
【0068】
次に、S42の文字列復元処理を説明する。
図17は、文字列復元処理部110による文字列復元処理の動作を示すフローチャートである。文字列復元処理部110は、文字列転置処理部106の逆の処理を行い、転置された文字列から源文字列を復元し、復元済帳票データを作成する。なお、文字列復元処理部110は、文字列復元処理を行う際に、文字列転置処理部106が使用した鍵と同じ鍵を使用する。
図17のS51において、文字列復元処理部110は、前準備処理を行う。
以下に、前準備処理を説明する。
文字列転置処理部106は、STRに記憶された文字列群を1文字ごとに行列BにB[0]、B[1]、・・・B[P−1]の順に設定する。ただし、Pは0以上かつN×K以下の整数。
【0069】
図17のS52において、文字列復元処理部110は、行列の作成処理を行う。
以下に、行列の作成処理を説明する。
文字列復元処理部110は、横方向(行列の行方向)にNk個、縦方向(行列の列方向)にP/Nk個の行列を作成する。文字列転置処理部106は、作成した行列の左上隅から下方向にB[0]、B[1]、・・・B[P/Nk−1]に設定した値を格納する。行の一番下まで行ったら一つ右の列の上端から、前列に格納した続きの行列Bの文字から格納する。つまり、行列のi行j列成分M[i][j]=B[i+j×P/Nk]となる。ただし、iは0以上P/(Nk−1)以下の整数、jは0以上Nk−1以下の整数とする。
【0070】
図17のS53において、文字列復元処理部110は、列の並べ替え処理を行う。
以下に、列の並べ替え処理を説明する。
文字列復元処理部110は、ファイル群924やROM913やRAM914に予め記憶された鍵(転置キーの一例)を入力する。複数の鍵であるk[0]、k[1]、・・・k[Nk−1]のから一番小さな値を有する鍵k[s]を抽出する。文字列復元処理部110は、行列の0カラム目とsカラム目を入れ替える。つまり、M[0][j]とM[s][j]を入れ替える。ただし、jは0以上Nk−1以下の整数とする。
次に、文字列復元処理部110は、複数の鍵から次に小さな値を有する鍵k[t]を抽出する。文字列復元処理部110は、行列の1カラム目とtカラム目を入れ替える。つまり、M[1][j]とM[t][j]を入れ替える。
以下同様に、全ての鍵について、入れ替えを行う。
【0071】
図17のS54において、文字列復元処理部110は、結果の文字列作成処理を行う。
以下に、結果の文字列作成処理を説明する。
文字列復元処理部110は、行列を左上から右方向に文字を拾って結果文字列Aとする。そして、一番右まで行ったら一つ下の段(行)について同様に文字を拾って結果文字列Aとする。つまり、文字列転置処理部106は、結果文字列Aを、M[i][j]―>A[i×Nk+j]で生成する。
以上のS51からS54が、文字列復元処理である。
文字列復元処理部110は、作成した結果文字列Aをプリンタ制御部108に出力する。プリンタ制御部108は、文字列復元処理部110から出力された結果文字列Aを入力し、STRに上書きする。これにより、STRには、複数ページに印刷される源文字列が復元された復元済文字列が記憶される。
【0072】
この実施の形態の帳票作成システム100は、以下の効果を奏する。
スプール領域に記憶した転置済帳票データに含まれる複数の文字列は、源帳票データに含まれた複数の源文字列の複数の源文字が鍵式転置式暗号化により転置処理されている。このため、許可されないソフトウェアを使用してスプール領域内の転置済帳票データを印刷したり、画面表示したり、あるいは、技術調査目的で帳票作成システムの外へ持ち出されたり、転置済帳票データがネットワーク転送中に盗聴されたり、あるいは、テスト印字終了後の不要になった印字済み用紙の流出に対し、セキュリティが保たれる。
転置式暗号なので印刷すべきすべての文字が帳票内に現れるため、すべての文字がテスト印字できる。
【0073】
実施の形態2.
実施の形態1では、図10(A)に示すように、可変フィールドに記憶された値の文字数が等しい場合を説明した。この実施の形態では、可変フィールドに記憶された値の文字数が異なる場合を説明する。
【0074】
図18は、この実施の形態の源文字列群の一例を示す図である。
図18と図10(A)とに示した源文字列群108aの違いは、1ページ目に印刷される文字列の文字数が図18の場合は3文字であり、図10(A)の場合は4文字であることである。2ページ目、3ページ目に印刷される文字列の文字数は、図18と図10(A)ともに等しい。
帳票データ作成部107は、図14のS12において、データベースを検索した結果、検索結果が可変フィールドの構成文字数Kと一致するか否か判定する。一致しないことを判定した場合、帳票データ作成部107は、判定した検索結果の文字列の後ろに文字数がK文字になるようにダミー文字を挿入する。ダミー文字は予めファイル群924に記憶されている。このように、ダミー文字を挿入することにより、1つの可変フィールドについて全ページの可変フィールドの値の文字数が等しくなる。
例えば、図18の源文字列群108aは、3文字(「井上一」)の文字列と、4文字(「野口英世」「伊藤博文」)の文字列からなる。可変フィールドの構成文字数Kは4文字とする。帳票データ作成部107は、3文字の文字列の後ろにダミー文字を1文字挿入し、4文字の文字列にする。
同じ可変フィールドであっても、データベースには、可変フィールドの構成文字数として最大の文字数が設定されている。例えば、氏名フィールドは、4文字と設定されていても、2文字の氏名や3文字の氏名が記憶されている。このような場合に、文字数を揃えるために、ダミー文字を挿入する。
【0075】
文字列転置処理部106は、ダミー文字を含む文字列を、ダミー文字を含まない文字列と同様に転置処理する。また、文字列復元処理部110は、ダミー文字を含む文字列を、ダミー文字を含まない文字列と同様に復元処理する。その結果、転置済文字列には、ダミー文字が含まれる。このため、プリンタ制御部108は、図16のS44において、プリンタ200に文字列を送信する際に、ダミー文字を削除してから送信する、或いは、ダミー文字をスペースを表す文字に置き換えてから送信する。
【0076】
この実施の形態の帳票作成システム100は、以下の効果を奏する。
同じフィールドであっても、記憶されている文字列の文字数が同じか異なるかによらず転置処理、復元処理が行える。
【0077】
実施の形態3.
実施の形態1では、図11に示すように、可変フィールドの値としてデータベースから取得した複数の値(文字列)の文字数を合計した文字数が、鍵の数を整数倍した数と等しい場合を説明した。この実施の形態では、上記合計した文字数が、鍵の数を整数倍した数と異なる場合を説明する。
【0078】
図19は、この実施の形態の複数の文字列を行列Mに展開した一例を示す図である。
図19の行列M108dに含まれるダミー文字を除く文字は、データベースを検索して得られた検索結果である。検索結果の文字数は12文字である。転置キー108c(鍵)の個数は、0,1,2,3,4の5個である。文字数12は、鍵の個数5の倍数ではない。このため、帳票データ作成部107は、検索結果の文字数が鍵の個数の倍数になるように複数の文字列の後にダミー文字を追加する。この結果、行列M108dに文字を記憶させる際、記憶する文字が存在しない場所(セル)には、ダミー文字が記憶される。ダミー文字は予めファイル群924に記憶されている。ダミー文字を挿入することにより、検索結果の文字数が鍵の個数の倍数でない場合に対処できる。
例えば、可変フィールドの構成文字数Kは、4文字とする。検索結果数Nを3個とする。転置キー108cの個数Nkを5個とする。文字列転置処理部106は、図15のS41において、図10(B)に示した行列A108bと同じ行列Aを作成する。行列Aの文字数は3×4により12文字であり、鍵の個数5の倍数ではない。このため、帳票データ作成部107は、文字数が鍵の個数の倍数になるように行列Aの最後尾の文字の後ろにダミー文字を3文字追加する。これにより、行列Aの文字数は15文字になり、鍵の個数の倍数になる。
【0079】
文字列転置処理部106は、ダミー文字を含む文字列を、ダミー文字を含まない文字列と同様に転置処理する。また、文字列復元処理部110は、ダミー文字を含む文字列を、ダミー文字を含まない文字列と同様に復元処理する。その結果、転置済文字列には、ダミー文字が含まれる。このため、プリンタ制御部108は、図16のS44において、プリンタ200に文字列を送信する際に、ダミー文字を削除してから送信する、或いは、ダミー文字をスペースを表す文字に置き換えてから送信する。
【0080】
この実施の形態の帳票作成システム100は、以下の効果を奏する。
鍵の個数に合わせて文字列を転置処理しているため、転置処理と同じ鍵を用いて復元処理が行える。
【0081】
実施の形態4.
実施の形態1では、1つのページに1つの可変フィールドを有する帳票について説明した。この実施の形態では、1つのページに複数の可変フィールドを有し、これら複数の可変フィールドを1つのグループとして、グループ単位に文字列転置処理を行う例について説明する。
【0082】
図5に示した帳票レイアウト115は、可変フィールド115a、可変フィールド115b、可変フィールド115cの3つの可変フィールドを有する。3つの可変フィールドは、住所を表す可変フィールドである。可変フィールド115aは、郵便番号を表す可変フィールドであり、数値と郵便記号とハイフン記号により構成される。可変フィールド115bと可変フィールド115cは、県、市、区、町、番地等を表す可変フィールドであり、漢字文字、ひらがな文字、カタカナ文字、数値等の文字により構成される。この実施の形態では、可変フィールド115bと可変フィールド115cとを1つのグループとして帳票定義体に指定する。
【0083】
この実施の形態で設定する帳票定義体は、図4に示した帳票定義体113と帳票属性113a、ページ内固定データ113bは同じである。可変フィールド属性群113cが、実施の形態1と異なる。可変フィールド属性群113cの各可変フィールドは、図6に示した文字サイズ、フォント、文字の印字位置等の属性を実施の形態1と同様に有し、これらの属性の他に、可変フィールドのグループを表すグループ番号等のグループ識別情報を図6の設定ウィンドウにより設定する。例えば、可変フィールド115bと可変フィールド115cとの属性情報を設定する設定ウィンドウにより、同じグループ番号を設定する。
【0084】
帳票データ作成部107は、図14のS11で帳票定義体記憶部112に記憶された帳票定義体113から可変フィールドの属性を入力する際、グループ番号が同じである可変フィールに対応する値(文字列)をデータベースを検索して取得し、S12で検索結果を各変数に記憶する。Kは、グループに含まれる各可変フィールドの構成文字数を合わせた文字数とする。Nは、グループ単位の検索結果の数とする。STRは、K×N個の文字列とする。
例えば、1ページに1つのグループが含まれ、このグループに可変フィールド115b、可変フィールド115cが含まれ、可変フィールド115b、可変フィールド115cが共に24文字とすると、Kは24+24により48となる。検索結果が5ページとすると、Nは5となる。この結果、K×Nは48×5となり、240となる。
帳票データ作成処理のうち、図4のS11、S12は、上記したように実施の形態1と異なるが、S13以降の動作は実施の形態1で説明した動作と同じである。また、文字列転置処理部106による文字列転置処理は、実施の形態1で説明した図15の文字列転置処理と同じである。
この実施の形態で帳票データ作成部107が作成する転置済帳票データ105は、1つのグループに含まれる複数の可変フィールド対応する文字列が転置処理された転置済文字列を有する。
【0085】
プリンタ制御部108によるプリンタ制御処理において、図16のS42で復号されSTRに記憶された復号済文字列は、1つのグループに含まれる複数の可変フィールドに対応する文字列を合わせたものである。プリンタには1つの可変フィールドに対応する文字列を出力するので、プリンタ制御部108は、1つのグループに含まれる複数の可変フィールドに対応する文字列を合わせたものを、各可変フィールドに対応する文字列に分割する。このため、プリンタ制御部108は、S43で帳票定義体記憶部112に記憶された帳票定義体113からグループ番号が同じである各可変フィールに対応する各構成文字数をデータベースから取得する。プリンタ制御部108は、S44で、STRから取得したK文字文の文字列を、各可変フィールドに対応する構成文字数に分割し、構成文字数分に分割し文字列を順次プリンタ200に出力する。
【0086】
例えば、図5の帳票レイアウト場合、可変フィールド115b、可変フィールド115cを1つのグループとした。プリンタ制御部108は、S43で、可変フィールド115bに対応する構成文字数として24をデータベースから取得し、可変フィールド115cに対応する構成文字数として24をデータベースから取得する。Kは上述したように48であるため、プリンタ制御部108は、S44で、STRから先頭の48文字分の文字列を取得する。48文字の文字列を先頭から24文字と後の24文字に分割する。プリンタ制御部108は、分割した先頭の24文字を可変フィールド115bに対応する復元済文字列としてプリンタ200に出力する。また、分割した後の24文字を可変フィールド115cに対応する復元済文字列としてプリンタ200に出力する。
【0087】
プリンタ制御処理のうち、図16のS43、S44は、上記したように実施の形態1と異なるが、S43、S44以外の動作は実施の形態1で説明した動作と同じである。また、文字列復元処理部110による文字列復元処理は、実施の形態1で説明した図17の文字列復元処理と同じである。
【0088】
上記した例では、可変フィールド115b、可変フィールド115cとの構成文字数は、同じ構成文字数の場合を説明したが、異なる文字数であってもかまわない。また、1つのページに1つのグループが含まれる場合を説明したが、1つのページに複数のグループが含まれてもかまわない。また、1つのグループに2つの可変フィールドが含まれる場合を説明したが、1つのグループに含まれる可変フィールドの数は、3つ以上であってもかまわない。
【0089】
この実施の形態では、複数の可変フィールドを含むグループ単位に、文字列転置処理、文字列復元処理を行う帳票作成システム100について一例を説明した。
グループ単位に文字列転置処理、文字列復元処理を行うことにより、例えば、複数の可変フィールドからなる住所フィールドを帳票が有する場合、住所フィールドに対応する文字列群がシャッフルされたテスト印字を行うことができる。
【0090】
実施の形態5.
この実施の形態では、転置済帳票データ105を生成する装置(第1の帳票作成装置)と、転置済帳票データを用いてテスト印字、本番印字を行う装置(第2の帳票作成装置)とをネットワークで接続する帳票作成システム600の一例を説明する。
【0091】
図20は、この実施の形態の帳票作成システム600の装置構成を表す構成図である。
図20において、帳票作成システム600は、第1の帳票作成装置400と第2の帳票作成装置500とを備え、第1の帳票作成装置400と第2の帳票作成装置500とをネットワーク、例えばインターネット940により接続する。第1の帳票作成装置400、第2の帳票作成装置500はそれぞれ、図2の装置外観を有し、図3のハードウェア構成を有する。
第1の帳票作成装置400は、帳票設計部111、帳票データ作成部107、文字列転置処理部106、第1の記憶装置101a、第1の転置キー記憶部102a、第1の帳票出力制御部408を備える。第1の記憶装置101は、帳票定義体記憶部112、第1のスプール領域104a、転置キー103を記憶する。第1の記憶装置101aは、例えば、図3の磁気ディスク装置920やROM913やRAM914等の記憶装置である。帳票定義体記憶部112は、帳票定義体113を記憶する。第1のスプール領域104aは、転置済帳票データ105を記憶する。帳票データ作成部107は、図1のデータベース群記憶部300に記憶されたデータベース300a,300b,300nを検索し、検索結果を取得する。第1の帳票作成装置400が備える要素のうち、図1と同じ符号を附した要素は、同じ動作を行うため、説明は省略する。第1の転置キー記憶部102aは、図1の転置キー記憶部102と同じである。第1の記憶装置101aは、図1の記憶装置101と同じである。第1のスプール領域104aは、図1のスプール領域104と同じである。
第1の帳票出力制御部408は、第1のスプール領域104aに記憶された転置済帳票データ105を入力し、転置済帳票データ105をインターネット940を介して第2の帳票作成装置500に送信する。第1の帳票出力制御部408が転置済帳票データ105を送信するタイミングは、予めスケジュールされた時間になったときや、オペレータにより送信の指示が入力されたときや、転置済帳票データ105が作成されて第1のスプール領域104aに記憶されたとき等である。
【0092】
第2の帳票作成装置500は、帳票データ入力部513、帳票操作部509、第2の帳票出力制御部508、文字列復元処理部510、第2の記憶装置501、第2の転置キー記憶部502を備える。第2の記憶装置501は、第2のスプール領域104b、転置キー503を記憶する。第2の記憶装置501は、例えば、図3の磁気ディスク装置920やROM913やRAM914等の記憶装置である。第2のスプール領域104bは、転置済帳票データ105を記憶する。第2の帳票出力制御部508は、プリンタ200に復元済文字列を出力する。第2の帳票作成装置500が備える要素のうち、図1と同じ符号を附した要素は、同じ動作を行うため、説明は省略する。第2の転置キー記憶部502は、図1の転置キー記憶部102と同じである。第2のスプール領域104bは、図1のスプール領域104と同じである。帳票操作部509は、図1の帳票操作部109と同じである。第2の帳票出力制御部508は、図1のプリンタ制御部108と同じである。文字列復元処理部510は、図1の文字列復元処理部110と同じである。
帳票データ入力部513は、第1の帳票作成装置400からインターネット940を介して送信された転置済帳票データ105を受信する。帳票データ入力部513は、受信した転置済帳票データ105を第2のスプール領域104bに記憶する。
【0093】
図1の帳票作成システム100と図20の帳票作成システム600との違いは、帳票作成システム600は、転置済帳票データを作成する装置と、転置済帳票データを用いて帳票を印刷する装置とが別々の装置として構成されたことである。別々の装置として構成されたことにより、帳票作成システム600では、転置済帳票データをネットワークを介して送信する動作が必要になる。転置済帳票データをネットワークを介して転送すると、転送中に転置済帳票データが漏洩する恐れがある。しかし、転置済帳票データが漏洩されても、転置済帳票データに含まれた文字列群は、源文字列に対して転置処理が施された転置済文字列群であるため、源文字列群を判別しにくい。
【0094】
この実施の形態において説明した帳票作成システム100は、リモート印刷システム、つまり、データベースとプリンタが距離的に離れているときに採用されるシステムであり、帳票作成装置を実現するコンピュータは2台で構成される。2台のコンピュータ間はネットワークで接続されており、一方のコンピュータ(第1の帳票作成装置400)のスプールの内容は他方のコンピュータ(第2の帳票作成装置500)のスプール領域に転送される。この帳票作成システム600では、外部ネットワーク上に帳票データが流れるが、盗聴されたとしても内部の文字列は転置されているので、機密情報や個人情報の流出を防ぐことができる。
なお、この実施の形態の場合、人手によって2台のコンピュータ間の鍵(転置キー)が同一になるよう管理される。
【符号の説明】
【0095】
100,600 帳票作成システム、101 記憶装置、101a 第1の記憶装置、102 転置キー記憶部、102a 第1の転置キー記憶部、103 転置キー、104 スプール領域、104a 第1のスプール領域、104b 第2のスプール領域、105 転置済帳票データ、105a〜105n 転置済文字列群、106 文字列転置処理部、107 帳票データ作成部、108 プリンタ制御部、108a 源文字列群、108b 行列A、108c,108e 転置キー、108d 行列M、108f 行列M‘、108g 転置済文字列群、108x 文字列サンプル、108y 数字サンプル、109 帳票操作部、110 文字列復元処理部、111 帳票設計部、111a 設定ウィンドウ、112 帳票定義体記憶部、113 帳票定義体、113a 帳票属性、113b ページ内固定データ、113c 可変フィールド属性群、115 帳票レイアウト、115a,115b,115c,115d,115e 可変フィールド、200 プリンタ、300 データベース群記憶部、300a,300b,300c データベース、400 第1の帳票作成装置、408 第1の帳票出力制御部、500 第2の帳票作成装置、501 第2の記憶装置、502 第2の転置キー記憶部、503 転置キー、508 第2の帳票出力制御部、509 帳票操作部、510 文字列復元処理部、513 帳票データ入力部、901 表示装置、902 キーボード、903 マウス、904 FDD、905 CDD、906 プリンタ装置、907 スキャナ装置、910 システムユニット、911 CPU、912 バス、913 ROM、914 RAM、915 通信ボード、920 磁気ディスク装置、921 OS、922 ウィンドウシステム、923 プログラム群、924 ファイル群、931 電話器、932 ファクシミリ機、940 インターネット、941 ゲートウェイ、942 LAN。

【特許請求の範囲】
【請求項1】
転置キーを記憶装置に記憶する転置キー記憶部と、
上記転置キー記憶部が記憶装置に記憶した転置キーを用いて文字列の転置処理をする文字列転置処理部と、
源文字列を有する源帳票データを作成し、上記文字列転置処理部を用いて上記源帳票データが有する源文字列を転置して転置済文字列を作成し、上記源帳票データが有する源文字列を転置済文字列で置換した転置済帳票データを作成し、転置済帳票データを記憶装置のスプール領域に記憶する帳票データ作成部と、
上記帳票データ作成部により記憶装置のスプール領域に記憶された転置済帳票データを読み出して出力する帳票出力制御部と
を備えたことを特徴とする帳票作成システム。
【請求項2】
上記帳票作成システムは、さらに、
上記転置キー記憶部が記憶装置に記憶した転置キーを用いて文字列の復元処理をする文字列復元処理部を備え、
上記帳票出力制御部は、上記スプール領域に記憶された転置済帳票データを読み出し、上記文字列復元処理部を用いて、転置済帳票データが有する転置済文字列から源文字列を復元し、復元した源文字列を有する帳票データを復元済帳票データとして出力することを特徴とする請求項1記載の帳票作成システム。
【請求項3】
上記帳票データ作成部は、帳票レイアウトが同じ源帳票データを複数作成し、
上記文字列転置処理部は、上記帳票データ作成部が作成した複数の源帳票データの所定個所から源文字列を収集し、収集した複数の源文字列の文字を転置キーに従って配置換えして複数の転置済文字列を生成し、
上記帳票データ作成部は、上記文字列転置処理部が生成した複数の転置済文字列を用いて複数の源帳票データの所定個所の源文字列を書き換えて複数の転置済帳票データを作成し、
上記文字列復元処理部は、上記帳票データ作成部が作成した複数の転置済帳票データの所定個所から転置済文字列を収集し、収集した複数の転置済文字列の文字を転置キーに従って配置換えして複数の源文字列を復元し、
上記帳票出力制御部は、上記文字列復元処理部が復元した複数の源文字列を用いて上記複数の転置済帳票データの所定個所の転置済文字列を書き換えて複数の復元済帳票データを作成する
ことを特徴とする請求項2記載の帳票作成システム。
【請求項4】
上記帳票データ作成部は、同一帳票内に複数の源文字列を有する源帳票データを作成し、
上記文字列転置処理部は、上記帳票データ作成部が作成した同一帳票内の源文字列を収集し、収集した複数の源文字列の文字を転置キーに従って配置換えして複数の転置済文字列を生成し、
上記帳票データ作成部は、上記文字列転置処理部が生成した複数の転置済文字列を用いて上記同一帳票内の源帳票データの複数の源文字列を書き換えて転置済帳票データを作成し、
上記文字列復元処理部は、上記帳票データ作成部が作成した転置済帳票データの複数の転置済文字列を収集し、収集した複数の転置済文字列の文字を転置キーに従って配置換えして複数の源文字列を復元し、
上記帳票出力制御部は、上記文字列復元処理部が復元した複数の源文字列を用いて上記同一帳票内の転置済帳票データの複数の転置済文字列を書き換えて復元済帳票データを作成する
ことを特徴とする請求項2又は3記載の帳票作成システム。
【請求項5】
上記帳票作成システムは、さらに、
本番出力とテスト出力とのいずれかを選択する帳票操作部を備え、
上記帳票出力制御部は、上記帳票操作部によりテスト出力が選択された場合に、上記スプール領域に記憶された転置済帳票データを読み出し、読み出した転置済帳票データを出力することを特徴とする請求項1〜4いずれかに記載の帳票作成システム。
【請求項6】
上記帳票作成システムは、さらに、
帳票レイアウトを記憶するとともに、転置と伏字と空白と無変換とのいずれかを文字列のテスト出力方法として記憶する帳票定義体記憶部を備え、
上記帳票データ作成部は、帳票定義体記憶部に記憶されたテスト出力方法が転置と伏字と空白とのいずれかである場合、上記転置済帳票データを作成し、
上記帳票出力制御部は、上記帳票定義体記憶部に記憶されたテスト出力方法が伏字の場合、上記スプール領域に記憶された転置済帳票データを読み出し、読み出した転置済帳票データの転置済文字列を伏字に置換した帳票データを復元済帳票データとして出力し、
上記帳票定義体記憶部に記憶されたテスト出力方法が空白の場合、スプール領域に記憶された転置済帳票データを読み出し、読み出した転置済帳票データの転置済文字列を空白に置換した帳票データを復元済帳票データとして出力する
ことを特徴とする請求項1〜5いずれかに記載の帳票作成システム。
【請求項7】
転置キーを第1の記憶装置に記憶する第1の転置キー記憶部と、
上記第1の転置キー記憶部が第1の記憶装置に記憶した転置キーを用いて文字列の転置処理をする文字列転置処理部と、
源文字列を有する源帳票データを作成し、上記文字列転置処理部を用いて上記源帳票データが有する源文字列を転置して転置済文字列を作成し、上記源帳票データが有する源文字列を転置済文字列で置換した転置済帳票データを作成し、転置済帳票データを第1の記憶装置の第1のスプール領域に記憶する帳票データ作成部と、
上記帳票データ作成部により第1の記憶装置の第1のスプール領域に記憶された転置済帳票データを読み出し、ネットワークを介して出力する帳票出力制御部と
を備えた第1の帳票作成装置と、
上記第1の帳票作成装置が出力した転置済み帳票データを、上記ネットワークを介して入力し、第2の記憶装置の第2のスプール領域に記憶する帳票データ入力部
を備えた第2の帳票作成装置と
を備えたことを特徴とする帳票作成システム。
【請求項8】
上記第2の帳票作成装置は、さらに、
上記第1の記憶装置に記憶された転置キーと同じ転置キーを、上記第2の記憶装置に記憶する第2の転置キー記憶部と、
上記第2の転置キー記憶部が第2の記憶装置に記憶した転置キーを用いて文字列の復元処理をする文字列復元処理部と、
上記第2のスプール領域に記憶された転置済帳票データを読み出し、上記文字列復元処理部を用いて、読み出した転置済帳票データが有する転置済文字列から源文字列を復元し、復元した源文字列を有する帳票データを復元済帳票データとして出力する第2の帳票出力制御部と
を備えたことを特徴とする請求項7記載の帳票作成システム。
【請求項9】
転置キーを記憶装置に記憶する転置キー記憶部と、
上記転置キー記憶部に記憶された転置キーを用いて文字列の転置処理をする文字列転置処理部と、
上記転置キー記憶部に記憶された転置キーを用いて文字列の復元処理をする文字列復元処理部と、
帳票データ作成部と、
帳票出力制御部と
を備えた帳票作成システムの帳票作成方法であって、
上記帳票データ作成部が、
源文字列を有する源帳票データを作成し、
上記文字列転置処理部を用いて上記源帳票データが有する源文字列を転置して転置済文字列を作成し、
上記源帳票データが有する源文字列を転置済文字列で置換した転置済帳票データを作成し、
作成した転置済帳票データを記憶装置のスプール領域に記憶し、
上記帳票出力制御部が、
上記記憶装置のスプール領域に記憶された転置済帳票データを読み出し、
上記文字列復元処理部を用いて、転置済帳票データが有する転置済文字列から源文字列を復元し、
復元した源文字列を有する帳票データを復元済帳票データとして出力する
ことを特徴とする帳票作成方法。
【請求項10】
転置キーを記憶装置に記憶する転置キー記憶部と、
上記転置キー記憶部に記憶された転置キーを用いて文字列の転置処理をする文字列転置処理部と、
上記転置キー記憶部に記憶された転置キーを用いて文字列の復元処理をする文字列復元処理部と、
帳票データ作成部と、
帳票出力制御部と、
処理装置と
を備えたコンピュータに実行させる帳票作成プログラムであって、
上記処理装置が、上記帳票データ作成部により、
源文字列を有する源帳票データを作成し、上記文字列転置処理部を用いて上記源帳票データが有する源文字列を転置して転置済文字列を作成し、上記源帳票データが有する源文字列を転置済文字列で置換した転置済帳票データを作成し、作成した転置済帳票データを記憶装置のスプール領域に記憶する帳票データ作成処理と、
上記処理装置が、上記帳票出力制御部により、
上記記憶装置のスプール領域に記憶された転置済帳票データを読み出し、上記文字列復元処理部を用いて、転置済帳票データが有する転置済文字列から源文字列を復元し、復元した源文字列を有する帳票データを復元済帳票データとして出力する帳票出力制御処理と
をコンピュータに実行させることを特徴とする帳票作成プログラム。
【請求項11】
転置キーを第1の記憶装置に記憶する第1の転置キー記憶部と、上記第1の転置キー記憶部が第1の記憶装置に記憶した転置キーを用いて文字列の転置処理をする文字列転置処理部と、帳票データ作成部と、第1の帳票出力制御部とを有する第1の帳票作成装置と、
上記第1の記憶装置に記憶された転置キーと同じ転置キーを、第2の記憶装置に記憶する第2の転置キー記憶部と、上記第2の転置キー記憶部が第2の記憶装置に記憶した転置キーを用いて文字列の復元処理をする文字列復元処理部と、帳票データ入力部と、第2の帳票出力制御部とを有する第2の帳票作成装置と
を備えた帳票作成システムの帳票作成方法であって、
上記帳票データ作成部が、源文字列を有する源帳票データを作成し、上記文字列転置処理部を用いて上記源帳票データが有する源文字列を転置して転置済文字列を作成し、上記源帳票データが有する源文字列を転置済文字列で置換した転置済帳票データを作成し、転置済帳票データを第1の記憶装置の第1のスプール領域に記憶し、
上記第1の帳票出力制御部が、上記帳票データ作成部により第1の記憶装置の第1のスプール領域に記憶された転置済帳票データを読み出し、ネットワークを介して出力し、
上記帳票データ入力部が、上記第1の帳票作成装置が出力した転置済み帳票データを、上記ネットワークを介して入力し、第2の記憶装置の第2のスプール領域に記憶し、
上記第2の帳票出力制御部が、上記第2のスプール領域に記憶された転置済帳票データを読み出し、上記文字列復元処理部を用いて、読み出した転置済帳票データが有する転置済文字列から源文字列を復元し、復元した源文字列を有する帳票データを復元済帳票データとして出力する
ことを特徴とする帳票作成方法。
【請求項12】
転置キーを第1の記憶装置に記憶する第1の転置キー記憶部と、上記第1の転置キー記憶部が第1の記憶装置に記憶した転置キーを用いて文字列の転置処理をする文字列転置処理部と、帳票データ作成部と、第1の帳票出力制御部と、第1の処理装置とを有する第1の帳票作成装置と、
上記第1の記憶装置に記憶された転置キーと同じ転置キーを、第2の記憶装置に記憶する第2の転置キー記憶部と、上記第2の転置キー記憶部が第2の記憶装置に記憶した転置キーを用いて文字列の復元処理をする文字列復元処理部と、帳票データ入力部と、第2の帳票出力制御部と、第2の処理装置とを有する第2の帳票作成装置と
を備えた帳票作成システムの帳票作成プログラムであって、
上記第1の処理装置が、上記帳票データ作成部により、源文字列を有する源帳票データを作成し、上記文字列転置処理部を用いて上記源帳票データが有する源文字列を転置して転置済文字列を作成し、上記源帳票データが有する源文字列を転置済文字列で置換した転置済帳票データを作成し、転置済帳票データを第1の記憶装置の第1のスプール領域に記憶する帳票データ作成処理と、
上記第1の処理装置が、上記第1の帳票出力制御部により、上記帳票データ作成部により第1の記憶装置の第1のスプール領域に記憶された転置済帳票データを読み出し、ネットワークを介して上記第2の帳票作成装置に出力する第1の帳票出力制御処理と
を上記第1の帳票作成装置に実行させ、
上記第2の処理装置が、上記帳票データ入力部により、上記第1の帳票作成装置が出力した転置済み帳票データを、上記ネットワークを介して入力し、上記第2の記憶装置の第2のスプール領域に記憶する帳票データ入力処理と、
上記第2の処理装置が、上記第2の帳票出力制御部により、上記第2のスプール領域に記憶された転置済帳票データを読み出し、上記文字列復元処理部を用いて、読み出した転置済帳票データが有する転置済文字列から源文字列を復元し、復元した源文字列を有する帳票データを復元済帳票データとして出力する第2の帳票出力制御処理と
を上記第2の帳票作成装置に実行させることを特徴とする帳票作成プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate


【公開番号】特開2012−203483(P2012−203483A)
【公開日】平成24年10月22日(2012.10.22)
【国際特許分類】
【出願番号】特願2011−65180(P2011−65180)
【出願日】平成23年3月24日(2011.3.24)
【出願人】(501158538)三菱電機インフォメーションテクノロジー株式会社 (28)
【Fターム(参考)】