帳票作成システム、帳票作成方法、プログラム、記憶媒体
【課題】 帳票作成時に、帳票テンプレートに異なる帳票データがオーバレイされても識別可能な帳票管理システムを提供する。
【解決手段】 帳票テンプレートから作成されるテンプレートIDとオーバレイする帳票データから作成される帳票データIDとから、作成される帳票の帳票IDを生成し、生成される帳票の帳票テンプレートと帳票データを識別可能に管理する。
【解決手段】 帳票テンプレートから作成されるテンプレートIDとオーバレイする帳票データから作成される帳票データIDとから、作成される帳票の帳票IDを生成し、生成される帳票の帳票テンプレートと帳票データを識別可能に管理する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、印刷データを生成する情報処理装置と、該印刷データを受信する印刷装置とがネットワークを介して接続されて構成される、帳票作成システム、印刷管理システム、印刷装置及び情報処理装置及びそれらの制御方法、プログラムに関するものである。
【背景技術】
【0002】
最近のセキュリティ意識の向上に伴い、機密情報が印刷されて漏洩した場合に、漏洩経路を追跡可能とするために、印刷データと印刷ログ情報を関連付けて格納して管理するシステムが存在する。ここで印刷ログ情報とは、ユーザ名、クライアントPC名、印刷文書名、印刷日時などである。
【0003】
このシステムでは、後に、情報漏洩が発覚した場合に、漏洩した文言や画像と類似する印刷データを格納庫から検索して、類似性の高い印刷データに関連する印刷ログ情報を閲覧する。このシステムは、文書保管システムと呼ばれる。
【0004】
このシステムは、プリンタ上で動作する文書保管クライアント部と、一般的なPCやサーバ装置(サーバ専用計算機)で動作する文書保管サーバ部とから構成され、それぞれがネットワークを介して接続されている。
【0005】
文書保管クライアント部は、クライアントPCからプリンタに送信される印刷文書の印刷データを取得して、印刷ログ情報とともに文書保管サーバ部に送信する。文書保管サーバ部では、印刷データをページ単位に分割した後、各ページをテキスト領域と画像領域に分割して、それぞれの検索用データを生成する。その後、1ページ分の印刷データと、テキスト領域情報と、画像領域情報と、テキスト領域検索用データと、画像領域検索データとを関連付けて集積し、ページ単位の格納データを生成する。さらに、元の印刷データと、各ページのページ単位格納データとを関連付けて集積し、印刷データ単位の格納データを生成し、記憶装置に保存する。
【0006】
また、特許文献1のように、過去に印刷され印刷データが既に文書保管システムに存在するような印刷文書が再印刷される場合、同じ印刷データを再度文書保管システムに保存する替わりに、保存済みの印刷データへのリンク情報を印刷ログ情報に記録する技術もある。
【特許文献1】特開2006−081119号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
日本全国規模や全世界規模の企業においては、支店や営業所等の数十〜数千の多数の拠点があり、そこで働く従業員のために、1人1台のPCと、数人〜数十人に一台のプリンタが設置されている。そのような企業において、前述の文書保管システムを導入して、個人のPCから拠点のプリンタに対する印刷データを本部や本店等に配置した1セットの文書保管サーバに格納・管理して、情報漏洩を抑止したいという市場ニーズが存在する。文書保管サーバで格納すべき印刷データは、数百ギガバイト/日(=数千人×数十ページ/日/人×数百キロバイト/ページ)と見積もられている。
【0008】
そして、これほど巨大なデータを定常的に格納するには、通常の記憶装置では無理で、ネットワーク機能を用いて記憶モジュールを分散できる記憶装置を購入する必要がある。しかし、このような装置は非常に高価なため、記憶容量を節約する環境が求められていた。
【0009】
また、一般的なスプレッドシートアプリケーションのように、複数部数を印刷すると全く同じ印刷データを指定部数分送信して、文書保管サーバに同じデータを何度も無駄に記憶させるようなアプリケーションが存在する。
【0010】
このような問題を解決するにあたり、各拠点における初期コストと運用コストを下げるため、拠点毎に拠点サーバを置くことは許されていない(部門サーバレス)。また、文書保管サーバ部は、データ受信と格納に係る負荷が非常に高いため、極力新たな処理を増やさないようにしたいという要望がある。これらの課題を解決するために上述の特許文献1のような技術がある。
【0011】
また、開発中されつつある技術には、印刷文書の文書全体のハッシュ値とページ毎のハッシュ値を比較することにより、印刷文書の更新ページを差分として識別して、更新ページのみを印刷ログ情報と共に保存する印刷データとするようなものもある。
【0012】
しかし、これらの先行技術または開発中の技術でも運用コストを下げられない(つまり格納領域の節約ができない)ケースが有り得る。
【0013】
例えば、1ページ内のあるフィールド(例えば「会社名」)のみが異なる文書を印刷する場合は、異なる文書あるいは更新ページとして文書保管サーバに登録されるため、格納領域を節約できなかった。このケースは、罫線や固定的な図形(ロゴなど)のみで構成された、あらかじめ用意されたテンプレート(フォーム)へ、印刷時に動的にデータを流し込む帳票印刷システム等で特に顕著な問題になる。
【0014】
本発明は上記の課題を解決するためになされたものであり、追跡可能とするために管理する印刷データについての管理コストを低減することができる印刷管理システム、帳票作成システム、印刷装置、情報処理装置およびそれらの制御方法、プログラムを提供することを目的とする。
【課題を解決するための手段】
【0015】
上記の目的を達成するために本発明による帳票作成システムは以下の構成を備える。即ち、
帳票テンプレートを作成するときにテンプレートIDを作成するテンプレートID作成手段と、
作成された前記帳票テンプレートに前記テンプレートID埋め込むテンプレートID埋め込み手段と、
帳票テンプレートに帳票データをオーバレイして帳票を作成するときに前記帳票データから帳票データIDを算出する帳票データID算出手段と、
前記テンプレートIDと前記帳票データIDとから帳票IDを生成する帳票ID生成手段と、
前記帳票ID生成手段により生成された前記帳票IDを、作成された前記帳票に埋め込む帳票ID埋め込み手段とを有する。
【発明の効果】
【0016】
本発明によれば、印刷された帳票の印刷データと印刷ログ情報を保存する場合に、保存する追跡用の帳票の印刷データの管理コストを低減し、帳票の印刷データを保存する記憶領域の容量を節約することができる。
【発明を実施するための最良の形態】
【0017】
以下、添付の図面を参照して本発明の好適な実施形態を説明する。
【0018】
尚、説明文中の符号について、特に断りがない限りは実施形態の共通または類似部分について共通の符号を付することで、重複説明を省略するものとする。
【0019】
<システム構成>
図1は本発明の印刷管理システムの構成を示す図である。
【0020】
図1では、印刷管理システムは、複数のファイルサーバ、複数のクライアントPC、複数のプリンタ、及びデータベース(DB)サーバがネットワークを介して相互に接続されて構成されている例を示している。但し、構成は、これに限定されるものではなく、それぞれの機器が任意台数で構成されている場合もある。
【0021】
100は、ファイルサーバである。例えば、Microsoft社のWindows(登録商標)2000のファイルシステムであるNTFS v5でフォーマットされたHDDを共有フォルダとして開放している場合を想定している。101はファイルサーバ100上に保存された電子文書ファイルである。
【0022】
102はクライアントPCである。このクライアントPC102とファイルサーバ100は同じドメインに属している。
【0023】
111は帳票サーバである。クライアントPC102の要求を受け付け、サーバ上で帳票を生成し、クライアントPC102に生成した帳票データを転送する。
【0024】
103はクライアントPC102上で動作するアプリケーションであり、電子文書ファイル101を開き、編集したり、表示したり、印刷することができる。104はプリンタドライバである。プリンタドライバ104は、アプリケーション103の印刷要求に基づき、汎用的な描画命令をプリンタ独自の描画命令に翻訳して印刷データ105を生成する。この印刷データは例えばPCLやPostScript(登録商標)のようなPDLデータである。また、この印刷データ105は、例えば、複数ページのデータを含んでいて、A4サイズの印刷で通常数百キロバイトから数メガバイトになる。
【0025】
106はプリンタあるいは複合機である。このプリンタ106は、内部に組込用Java(登録商標)仮想マシン(Java(登録商標) 2 Micro Edition、以下、J2ME)を搭載していて、Java(登録商標)で作成した小規模なアプリケーションを実行できるようになっている。107はJ2MEによって作成されたJava(登録商標)アプリケーションであり、ここでは、文書保管クライアントと呼んでいる。文書保管クライアント107は、印刷データとその追跡用情報(印刷ログ情報)を、文書保管サーバとして機能するDBサーバ108に送信する。
【0026】
108はデータベース(DB)サーバであり、ここでは、データベースサーバとその格納領域をまとめて表している。DBサーバ108は、文書保管クライアント107から受信した印刷データを検索しやすいように加工する。そして、印刷データと検索用データと印刷ログ情報(追跡用情報)をまとめて管理情報(基本データ)109として、データベース(DB)に格納する。110はプリンタ106で印刷された実際の印刷物である。
【0027】
上述のように、図1に示す印刷管理システムでは、プリンタ106とクライアントPC102とが通信可能な所定のネットワーク(LAN等)を介して接続されて構成されている。実施例1では、クライアントPC106で生成された印刷データ(例えば、PDF/PS等の各種PDL(ページ記述言語データ)を、ネットワークを介してプリンタ106へ出力して、印刷することが可能である。
【0028】
尚、プリンタ106とクライアントPC102は、必ずしもネットワークを介して接続されている必要はなく、プリンタ106とクライアントPC102が所定インタフェース(例えば、USBインタフェース)を介して直接接続されていても良い。
【0029】
次に、プリンタ106の一例として、複合機の機能について説明する。
【0030】
ここで、プリンタ(複合機)106は、自装置内部に複数のジョブを記憶可能なハードディスク等の記憶装置を具備している。また、例えば、スキャナ部から入力されたジョブに対し、その記憶装置を介してプリンタ部でプリント可能にするコピー機能を具備している。また、PC(パーソナルコンピュータ)等の外部装置から入力されたジョブに対し記憶装置を介してプリンタ部でプリント可能にするプリント機能を具備している。また、スキャナ部から入力されたジョブを電子メール/FAXで送信する送信機能を具備している。また、前述したJava(登録商標)アプリケーションの実行環境を具備している。
【0031】
このように、複合機は複数の機能を具備し、これらの機能を組み合わせて実行できる。
【0032】
尚、このプリンタ106は、複合機に限定されるものではなく、レーザビームプリンタ及びインクジェットプリンタ等の他のプリント方式の印刷装置でも良いことは言うまでもない。
【0033】
また、複合機には、フルカラー機器とモノクロ機器があるが、本発明の実施にあたり、フルカラー機器かモノクロ機器のどちらであっても良い。
【0034】
また、本発明のシステムは、複数の機能を具備した複合機能型の画像形成装置(印刷装置)と、プリント機能のみを具備した単一機能型の画像形成装置(印刷装置)とを具備する構成でも良い。あるいは、いずれか一方の型の画像形成装置のみを具備する構成でも良い。つまり、本発明を実現可能であれば画像形成装置の種別構成は問わないものとする。
【0035】
次に、プリンタ106の主要な内部構成について、図2を用いて説明する。
【0036】
図2は本発明の本発明の印刷管理システムのプリンタの主要な内部構成を示すブロック図である。
【0037】
図2において、プリンタ106は、大きく分けてフォーマッタ制御部1100、パネル入出力制御部1020、データ記憶部1030、プリンタインタフェース(I/F)1200、出力制御部1300、プリンタエンジン部1400より構成されている。
【0038】
プリンタI/F1200は、外部装置との入出力を制御する。フォーマッタ制御部1100は、プロトコル制御部1101、受信データ解析部1102、ジョブ生成部1103、PDL解析部1104、データ描画部1105及びページメモリ1106より構成されている。
【0039】
尚、一般的には、フォーマッタ制御部1100は、CPU、ROM、RAM等を有するコンピュータシステムによって構成されている。また、図1の文書保管クライアント107を含む各種アプリケーションを実現するためのプログラムは、フォーマッタ制御部1100内のROMに記憶され、CPUによって読出されることでその機能が実現される。
【0040】
フォーマッタ制御部1100において、プロトコル制御部1101は、ネットワークプロトコルを解析・送信することによって外部との通信を行なう。受信データ解析部1102は、クライアントPC102からの受信データを解析して、設定されている印刷設定情報と、それに対応する処理内容を認識する。
【0041】
また、受信データ解析部1102では、受信データに対して、後述する処理(図9の処理)を実行して、必要なデータを、適宜DBサーバ108へ送信する。
【0042】
ジョブ生成部1103は、処理対象の受信データに対応する印刷ジョブを生成する。そして、この生成したジョブは、データ記憶部1030に一旦記憶する。パネル入出力制御部1020は、ジョブ状況等の操作画面をプリンタ106の操作部1500に出力することができる。
【0043】
PDL解析部1104は、データ記憶部1030に記憶されているジョブによりPDLデータを解析し、より処理しやすい形式の中間データに変換する。PDL解析部1104において生成された中間データは、データ描画部1105に渡されて処理される。データ描画部1105は、中間データをビットマップデータに展開し、展開されたビットマップデータはページメモリ1106に逐次描画されて行く。
【0044】
パネル入出力制御部1020は、プリンタ106の操作部1500からの入出力を制御する。データ記憶部1030は、受信データやPDL印刷のための中間データを蓄えるものであり、例えば、ハードディスク等の二次記憶装置によって実現される。また、データ
記憶部1030は、各種データ、印刷対象のジョブや印刷済のジョブを記憶する。また、記憶部1030は印刷対象のジョブや印刷済のジョブを管理するジョブ管理テーブルを備えている。
【0045】
出力制御部1300は、ページメモリ1106の内容を画像信号に変換処理し、プリンタエンジン部1400へ画像転送を行なう。プリンタエンジン部1400は、受信した画像信号を記録紙に永久可視画像形成するための印刷機構部である。
【0046】
次に、コンピュータ等の情報処理装置によって実現される、ファイルサーバ101、クライアントPC102、データベースサーバ108の構成について、図3を用いて説明する。
【0047】
図3は本発明の印刷管理システムの情報処理装置の構成を示すブロック図である。
【0048】
図3において、301はCPU、即ち、中央処理装置であり、情報処理装置全体の制御及び演算処理を行う。302はRAM、即ち、ランダムアクセスメモリであり、処理毎にそれぞれのプログラム及びデータがロードされ、実行される領域である。303はROM、即ち、読出専用メモリであり、システム制御プログラムや、フォントデータ等の記憶領域である。
【0049】
304はキーボード制御部(キーボードコントローラ:KBC)であり、KB(キーボード)305からのキー入力によりデータを受け取りCPU301へ伝達する。
【0050】
306はネットワークインタフェース(NIF)であり、情報処理装置がネットワークを介して外部との通信を行うインタフェースである。
【0051】
307はディスプレイ制御部(ディスプレイコントローラ:DC)であり、ディスプレイ装置(CRT)308への表示制御を行う。309はディスク制御部(ディスクコントローラ:DKC)であり、データ伝送等の制御を行うものである。
【0052】
310はFD(フロッピー(登録商標)ディスク装置)、HD(ハードディスク装置)、CD(CDROM)あるいはDVD(DVDROM)等の外部記憶装置である。この外部記憶装置310には、アプリケーション、プリンタドライバ等の各種プログラム及びデータを記憶させておき、実行時必要に応じて参照またはRAM302へロードする。311はシステムバスであり、上述の構成要素間におけるデータ転送の通路となるべきものである。
【0053】
尚、外部記憶装置310には、プリンタ106への印刷に関する制御を実行し、かつプリンタ106に出力する印刷データに対する各種印刷設定を行うための印刷設定画面を表示するプリンタドライバを記憶している。
【0054】
情報処理装置は、基本I/O(入出力)プログラム、OS(オペレーティングシステム)をCPU301が実行することにより動作する。
【0055】
基本I/OプログラムはROM303に記憶されており、OSは外部記憶装置11に書き込まれている。そして、クライアントPC102の電源がONにされたとき、基本I/Oプログラム中のIPL(イニシャルプログラムローディング)機能により外部記憶装置310からOSがRAM302に読み込まれ、OSの動作が開始される。また、ユーザは、印刷を実行する際には、プリンタドライバによって表示される印刷設定画面を介して、プリンタに関する各種設定を行うことができる。
【0056】
<機能構成図>
図4は本発明のシステムにおけるプログラムの機能構成図を示している。
【0057】
本発明のプログラムは、以下の機能を有するモジュールから構成される。すなわち、クライアントPC102内部の、テンプレート作成部401およびテンプレート格納部402および帳票データ格納部403およびテンプレート登録部404および帳票印刷部410。帳票サーバ111内部の、帳票生成部405および帳票データID算出部406。プリンタ106内部の文書保管クライアント107。DBサーバ108内部の、文書保管サーバ407および差分画像作成部408および追跡用データ格納部409。本実施例ではこれらの処理部は、クライアントPC102および帳票サーバ111およびDBサーバに分散されて構成されているが、各処理が実行できれば同一マシン上で動作してもかまわない。各機能はプログラムモジュールとしてクライアントPC102、DBサーバ108、帳票サーバ111の情報処理装置上で実行される。また、文書管理クライアント107はプリンタ106上のJava(登録商標)環境で実行される。尚、各機能部の動作に関しては以降で説明する。
【0058】
<第1の実施形態>
本発明は、帳票テンプレートの作成、帳票の生成(テンプレートに動的にデータを流し込む処理。以降オーバレイ処理と呼ぶ)、帳票の印刷、の全てに関わる。以降でそれぞれの場面での動作フローについて説明する。
【0059】
図5は本発明の、帳票テンプレート作成処理の動作フローを図示している。
【0060】
ステップ501において、テンプレート作成部401は、ユーザの指示により帳票テンプレートの作成を行う。例えば、罫線ツールを用いて表を作成したり、BMP(ビットマップ)等で作成されたロゴの画像を配置したりする。尚、テンプレートの作成自体は周知の技術を用いるものとする。
【0061】
ステップ502において、テンプレート作成部401は、帳票テンプレートにテンプレートIDを埋め込む。テンプレートIDを埋め込むタイミングは、明示的にユーザが指定しても良いし(例えばユーザがメニューから保存を選択した場合)、バックエンドでテンプレート作成部401が自動的に行っても良い。自動的に行う例としては、ユーザがテンプレート編集中にテンプレート作成部401が10分間隔で保存処理を行う等である。以上がテンプレートID埋め込み方法である。また、埋め込むテンプレートID作成方法に関しては、例えば、作成されたテンプレートからハッシュアルゴリズムを用いてIDを作成しても良いし、帳票システムで一意になるように帳票システム側で発行したIDを付加しても良い。以上がテンプレートID作成方法である。
【0062】
ステップ503において、テンプレート情報登録部404は、ステップ501および502で作成された帳票テンプレートに関する情報を文書保管サーバ407に登録する処理を行う。通常、文書管理サーバ407に登録するジョブログ(印刷ログ情報)や抽出したテキストデータ、画像データに加えて、帳票IDもこれらの情報と紐付けて登録される。図6はステップ503において文書管理サーバ407が管理する追跡用データ格納部409に格納された帳票テンプレートに関する情報を表形式で例示したものである。
【0063】
表のカラム601にはアプリIDが格納される。アプリIDは帳票がどのアプリケーションで印刷されたかを示すもので、帳票IDとともに帳票に埋め込まれる。アプリIDを見ることで、本特許の一連の動作フローを実行できるか(帳票IDが決まった形式で埋め込まれているか)を判断できる。ただし、帳票IDそのもので上記判断を行っても良いので、アプリIDの埋込は必須ではない。カラム602には帳票IDが格納される。帳票IDは、印刷された帳票1ページごとに埋め込まれる。以上が帳票ID埋め込み処理である。後述するように、テンプレート画像登録の際にはカラム602には特別なIDが格納される。カラム603には帳票の画像データが格納される。ステップ503では図6のように画像データ604と帳票ID「001_000」が紐付けて登録される。本実施例では、テンプレート画像を登録する際に紐付ける文書IDをテンプレートIDに「_000」を付加して生成したが、異なる文字列であっても良い。つまり図6の例ではテンプレートIDは「001」である。また、登録された画像データがどのテンプレートから生成されたかが分かれば、データの格納形式等はどんな形でも良い。データ格納形式とは例えばPDF、JPEG、BMPなどのフォーマットである。
【0064】
図6の例は帳票ID「001_000」はアプリID「FM」であり、画像データ604と紐付けられていることを示している。以上が帳票IDの生成方法である。また、帳票IDとアプリIDを分けて説明したが、帳票IDはアプリIDを含む様に帳票ID生成を行ってもよい。
【0065】
図7は本発明の、帳票テンプレートに動的にデータを流し込む処理、即ち帳票の生成(オーバレイ)処理の動作フローを図示している。
【0066】
ステップ701において、帳票作成部405は、ユーザよりオーバレイの指示を受け付ける。この際、オーバレイで使用する帳票テンプレートおよび帳票データが指定される。
【0067】
ステップ702において、帳票データID算出部406は、ステップ701で指定された帳票データの帳票データIDを算出する。図8は帳票データIDの算出処理の概要を示したものである。図8Aのように、通常テンプレートに流し込まれるデータの形態にはさまざまなものがある。例えばデータベースやCSVファイル、各帳票システムに固有の独自形式データのこともある。データの形態が異なってもテンプレートに流し込まれるデータが全て同じなら生成される印刷イメージは同じになる。帳票データID算出部406は、このデータ形態の差異を考慮したIDの発行を行う。例えば、図8Bに示したようにテンプレートに定義されたデータを流し込むフィールドの名前(以降フィールド名)と、流し込むデータそのものの対を、1ページ分メモリ上に保持する。例えば図その保持したデータからハッシュアルゴリズムでIDを算出するようにしても良い。帳票データID算出部406は、算出した帳票データIDを帳票生成部405に伝える。
【0068】
ステップ703において、帳票生成部405は、指定された帳票テンプレートからテンプレートIDを取得する処理を行う。帳票生成部405は、帳票テンプレートのフォーマットを熟知しているため容易にテンプレートIDの取得が可能である。
【0069】
ステップ704において、帳票生成部405は、ステップ703で取得したテンプレートIDと、ステップ702で帳票データID算出部406から通知された帳票データIDをもとに、帳票IDの生成を行う。本実施例では、例えばテンプレートIDが「001」、帳票データIDが「00A」の場合、「001_00A」というようにアンダーバーでつないだ帳票IDを生成する例を示した。しかし、帳票IDからテンプレートID部分が判別できればどのような形式であっても構わない。
【0070】
ステップ705において、帳票生成部405は、帳票のオーバレイ処理を行い、ステップ704で生成した帳票IDを帳票に埋め込む帳票ID埋め込み処理を行う。
【0071】
図9は本発明での、帳票の印刷処理の動作フローを図示している。
【0072】
ステップ901において、帳票印刷部410は、ユーザの指定によりステップ705において生成された帳票の印刷指示を受け付ける。
【0073】
ステップ902において、帳票印刷部410は、プリンタ411に帳票の印刷を指示する。
【0074】
ステップ903において、プリンタ411内で動作する文書保管クライアント412は、帳票の印刷ジョブから文書保管サーバ407に登録するデータ(テキストデータ、画像データなど)を抽出し、文書保管サーバ407へ転送する。この際、帳票に埋め込まれた帳票IDも一緒に転送される。
【0075】
ステップ904において、文書保管サーバ407は、文書保管クライアントから送られてきた帳票IDのテンプレートID部分を抽出する。
【0076】
ステップ905において、文書保管サーバ407は、自らが管理する追跡用データ格納部409内部の情報を検索する。そして、帳票IDのテンプレートID部分が、ステップ904において抽出したテンプレートIDと一致し、残りの帳票データID部分が「000」であるものがないか判定する。
【0077】
ステップ906において、一致するものがあると判定された場合、ステップ906において、差分画像生成部408は、ステップ903において転送された画像データと、ステップ905において一致すると判定された帳票IDと紐付けられている画像データ(テンプレート画像)との差分画像を生成する。差分画像を生成するアルゴリズム等の方法は本特許の範囲ではない。
【0078】
ステップ907において、差分画像生成部408は、ステップ905において生成した差分画像を文書保管サーバ407に送信する。
【0079】
ステップ908において、文書保管サーバ407は、ステップ906で送信されてきた差分画像を追跡用データ格納部409に格納する。
【0080】
ステップ909において、文書保管サーバ407は、ステップ903において文書保管クライアント412から送信されてきた帳票IDを、ステップ907で格納した差分画像データと紐付けて追跡用データ格納部409に格納する。
【0081】
ステップ910において、文書保管サーバ407は、ステップ906で検知されたテンプレート画像の帳票IDを、ステップ907で格納した差分画像データと紐付けて追跡用データ格納部409に格納する。
【0082】
ステップ911において、文書保管サーバ407は、ステップ903において文書保管クライアント412から送信されてきたジョブログや抽出されたテキストデータ等通常文書保管サーバに格納されるデータを格納する。
【0083】
本実施例では、帳票テンプレートの作成処理におけるステップ503におけるテンプレート情報登録処理によって、必ず一致するテンプレートの画像が登録されているはずである。このため、本実施例ではありえないケースだが、ステップ905において、一致するものがないと判定された場合、ステップ912において、テンプレート情報を登録しなおしても良い。すなわち、再度ステップ503のテンプレート情報登録処理を呼び出して情報の再登録を行い、ステップ904におけるテンプレートID抽出処理からやり直しを行っても良い。
【0084】
図10は、図9で示した帳票の印刷処理を行った後の、文書保管サーバ407の管理する追跡用データ格納部409内の状態を表形式で擬似的に例示したものである。表のカラム1002、カラム1003は図6で説明済みなので省略する。カラム1004には帳票の画像データが格納される。行1006は、テンプレートの登録エントリであるので、カラム1004には帳票テンプレートの画像そのものが格納される。行1007は、帳票の登録エントリであるので、カラム1004には差分画像が格納される。カラム1005にはテンプレート画像の帳票IDが格納される。テンプレート画像の帳票IDが格納されるのはカラム1004に差分画像を登録した時のみである。ステップ908において、文書保管サーバ407により格納された差分画像1001が、ステップ909において格納された帳票IDおよびステップ909において格納されたテンプレート画像の帳票IDと紐付けられて格納されているのがわかる。
【0085】
このように、テンプレート画像と異なる部分を差分画像として登録することにより、1ページ内の内容が微妙に異なる文書の場合でも、登録するデータ量を削減でき、格納領域を効率的に利用することが可能になる。特に、テンプレートに対してデータを差し込み印刷する帳票システムで作成されるような文書の際に効力を発揮する。
【0086】
<第2の実施形態>
第1の実施形態では差分画像を作成する際には、テンプレート画像と帳票画像とを比べて差分を検出していたが、既に文書保管サーバに登録されている帳票画像と、これから登録しようとしている帳票画像とから差分画像を作成しても良い。
【0087】
尚、第1の実施形態と説明が重複する共通部分については説明を略すものとする。
【0088】
図11は、第2の実施形態における、帳票画像同士から差分画像を作成して文書保管サーバ407に登録した場合の、追跡用データ格納部409内の状態を擬似的に例示したものである。
【0089】
帳票ID「001_00A」の帳票画像データ1102は、テンプレート画像1101との差分画像として登録されている。
【0090】
一方、帳票ID「001_00B」の帳票画像データ1103は、テンプレート画像とではなく、帳票画像データ1102との差分画像として登録されている。
【0091】
このように、帳票画像同士から差分画像を作成することにより、差込データの大半が同一の文書を印刷した場合には、差分画像のサイズがさらに小さくなるため、ハードディスク等の格納資源をより効率的に利用することができる。
【0092】
<その他の実施形態>
パーソナルコンピュータ等の情報処理装置や印刷処理装置からなる帳票作成システムにおいて、帳票テンプレートを作成する時、テンプレートIDを帳票テンプレートに埋め込むユニットを持つ。また、帳票作成時に、帳票データIDを算出するユニットと、テンプレートIDと帳票データIDから帳票IDを生成するユニットを持つ。また、帳票IDを帳票に埋め込むユニットを持ち、帳票の印刷時に埋め込まれた帳票IDを元に既存類似帳票との差異を検出するユニットを持つ。この印刷される帳票との差異とを関連付けて管理するユニットを持つ。以上のようなシステムであっても良い。
【0093】
またこのシステムにおいて、帳票印刷時、埋め込まれた帳票IDを元にテンプレート画像を検索するユニットを持つ。さらに検索されたテンプレート画像と印刷帳票画像から差分画像を求めるユニットを持ち、差分画像を前記帳票IDとテンプレート画像の帳票IDと紐付けて管理するユニットを持つ。
【0094】
また本発明は、たとえば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【0095】
なお、本発明は、ソフトウェアのプログラムをシステムあるいは装置に直接または遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによって、前述した実施形態の機能が達成される場合を含む。この場合、供給されるプログラムは実施形態で図に示したフローチャートに対応したプログラムである。
【0096】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【0097】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
【0098】
プログラムを供給するための記録媒体としては以下が挙げられる。たとえば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM、DVD−R)などである。
【0099】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムをハードディスク等の記録媒体にダウンロードすることが挙げられる。この場合、ダウンロードされるプログラムは、圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【0100】
また、本発明のプログラムを暗号化してCD−ROM等の記録媒体に格納してユーザに配布するという形態をとることもできる。この場合、所定の条件をクリアしたユーザに、インターネットを介してホームページから暗号を解く鍵情報をダウンロードさせ、その鍵情報を使用して暗号化されたプログラムを実行し、プログラムをコンピュータにインストールさせるようにもできる。
【0101】
また、コンピュータが読み出したプログラムを実行することによって、前述した実施形態の機能が実現されるほか、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどとの協働で実施形態の機能が実現されてもよい。この場合、OSなどが、実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
【0102】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれて前述の実施形態の機能の一部あるいはすべてが実現されてもよい。この場合、機能拡張ボードや機能拡張ユニットにプログラムが書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行う。
【図面の簡単な説明】
【0103】
【図1】本発明の印刷管理システムの構成を示す図である。
【図2】本発明のプリンタの主要な内部構成を示すブロック図である。
【図3】本発明の情報処理装置の構成を示すブロック図である。
【図4】本発明の印刷管理システムにおける機能構成図である。
【図5】本発明の帳票テンプレート作成処理の動作フローである。
【図6】本発明のDBサーバに格納された帳票テンプレートに関する情報の例である。
【図7】本発明の帳票の生成(オーバレイ)処理の動作フローである。
【図8】Aは本発明の帳票データIDの算出処理の例である。Bは本発明の帳票データIDの算出処理の例である。
【図9】本発明の帳票の印刷処理の動作フローである。
【図10】本発明のDBサーバに格納された追跡用情報の例である。
【図11】本発明のDBサーバに格納された追跡用情報の例である。
【技術分野】
【0001】
本発明は、印刷データを生成する情報処理装置と、該印刷データを受信する印刷装置とがネットワークを介して接続されて構成される、帳票作成システム、印刷管理システム、印刷装置及び情報処理装置及びそれらの制御方法、プログラムに関するものである。
【背景技術】
【0002】
最近のセキュリティ意識の向上に伴い、機密情報が印刷されて漏洩した場合に、漏洩経路を追跡可能とするために、印刷データと印刷ログ情報を関連付けて格納して管理するシステムが存在する。ここで印刷ログ情報とは、ユーザ名、クライアントPC名、印刷文書名、印刷日時などである。
【0003】
このシステムでは、後に、情報漏洩が発覚した場合に、漏洩した文言や画像と類似する印刷データを格納庫から検索して、類似性の高い印刷データに関連する印刷ログ情報を閲覧する。このシステムは、文書保管システムと呼ばれる。
【0004】
このシステムは、プリンタ上で動作する文書保管クライアント部と、一般的なPCやサーバ装置(サーバ専用計算機)で動作する文書保管サーバ部とから構成され、それぞれがネットワークを介して接続されている。
【0005】
文書保管クライアント部は、クライアントPCからプリンタに送信される印刷文書の印刷データを取得して、印刷ログ情報とともに文書保管サーバ部に送信する。文書保管サーバ部では、印刷データをページ単位に分割した後、各ページをテキスト領域と画像領域に分割して、それぞれの検索用データを生成する。その後、1ページ分の印刷データと、テキスト領域情報と、画像領域情報と、テキスト領域検索用データと、画像領域検索データとを関連付けて集積し、ページ単位の格納データを生成する。さらに、元の印刷データと、各ページのページ単位格納データとを関連付けて集積し、印刷データ単位の格納データを生成し、記憶装置に保存する。
【0006】
また、特許文献1のように、過去に印刷され印刷データが既に文書保管システムに存在するような印刷文書が再印刷される場合、同じ印刷データを再度文書保管システムに保存する替わりに、保存済みの印刷データへのリンク情報を印刷ログ情報に記録する技術もある。
【特許文献1】特開2006−081119号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
日本全国規模や全世界規模の企業においては、支店や営業所等の数十〜数千の多数の拠点があり、そこで働く従業員のために、1人1台のPCと、数人〜数十人に一台のプリンタが設置されている。そのような企業において、前述の文書保管システムを導入して、個人のPCから拠点のプリンタに対する印刷データを本部や本店等に配置した1セットの文書保管サーバに格納・管理して、情報漏洩を抑止したいという市場ニーズが存在する。文書保管サーバで格納すべき印刷データは、数百ギガバイト/日(=数千人×数十ページ/日/人×数百キロバイト/ページ)と見積もられている。
【0008】
そして、これほど巨大なデータを定常的に格納するには、通常の記憶装置では無理で、ネットワーク機能を用いて記憶モジュールを分散できる記憶装置を購入する必要がある。しかし、このような装置は非常に高価なため、記憶容量を節約する環境が求められていた。
【0009】
また、一般的なスプレッドシートアプリケーションのように、複数部数を印刷すると全く同じ印刷データを指定部数分送信して、文書保管サーバに同じデータを何度も無駄に記憶させるようなアプリケーションが存在する。
【0010】
このような問題を解決するにあたり、各拠点における初期コストと運用コストを下げるため、拠点毎に拠点サーバを置くことは許されていない(部門サーバレス)。また、文書保管サーバ部は、データ受信と格納に係る負荷が非常に高いため、極力新たな処理を増やさないようにしたいという要望がある。これらの課題を解決するために上述の特許文献1のような技術がある。
【0011】
また、開発中されつつある技術には、印刷文書の文書全体のハッシュ値とページ毎のハッシュ値を比較することにより、印刷文書の更新ページを差分として識別して、更新ページのみを印刷ログ情報と共に保存する印刷データとするようなものもある。
【0012】
しかし、これらの先行技術または開発中の技術でも運用コストを下げられない(つまり格納領域の節約ができない)ケースが有り得る。
【0013】
例えば、1ページ内のあるフィールド(例えば「会社名」)のみが異なる文書を印刷する場合は、異なる文書あるいは更新ページとして文書保管サーバに登録されるため、格納領域を節約できなかった。このケースは、罫線や固定的な図形(ロゴなど)のみで構成された、あらかじめ用意されたテンプレート(フォーム)へ、印刷時に動的にデータを流し込む帳票印刷システム等で特に顕著な問題になる。
【0014】
本発明は上記の課題を解決するためになされたものであり、追跡可能とするために管理する印刷データについての管理コストを低減することができる印刷管理システム、帳票作成システム、印刷装置、情報処理装置およびそれらの制御方法、プログラムを提供することを目的とする。
【課題を解決するための手段】
【0015】
上記の目的を達成するために本発明による帳票作成システムは以下の構成を備える。即ち、
帳票テンプレートを作成するときにテンプレートIDを作成するテンプレートID作成手段と、
作成された前記帳票テンプレートに前記テンプレートID埋め込むテンプレートID埋め込み手段と、
帳票テンプレートに帳票データをオーバレイして帳票を作成するときに前記帳票データから帳票データIDを算出する帳票データID算出手段と、
前記テンプレートIDと前記帳票データIDとから帳票IDを生成する帳票ID生成手段と、
前記帳票ID生成手段により生成された前記帳票IDを、作成された前記帳票に埋め込む帳票ID埋め込み手段とを有する。
【発明の効果】
【0016】
本発明によれば、印刷された帳票の印刷データと印刷ログ情報を保存する場合に、保存する追跡用の帳票の印刷データの管理コストを低減し、帳票の印刷データを保存する記憶領域の容量を節約することができる。
【発明を実施するための最良の形態】
【0017】
以下、添付の図面を参照して本発明の好適な実施形態を説明する。
【0018】
尚、説明文中の符号について、特に断りがない限りは実施形態の共通または類似部分について共通の符号を付することで、重複説明を省略するものとする。
【0019】
<システム構成>
図1は本発明の印刷管理システムの構成を示す図である。
【0020】
図1では、印刷管理システムは、複数のファイルサーバ、複数のクライアントPC、複数のプリンタ、及びデータベース(DB)サーバがネットワークを介して相互に接続されて構成されている例を示している。但し、構成は、これに限定されるものではなく、それぞれの機器が任意台数で構成されている場合もある。
【0021】
100は、ファイルサーバである。例えば、Microsoft社のWindows(登録商標)2000のファイルシステムであるNTFS v5でフォーマットされたHDDを共有フォルダとして開放している場合を想定している。101はファイルサーバ100上に保存された電子文書ファイルである。
【0022】
102はクライアントPCである。このクライアントPC102とファイルサーバ100は同じドメインに属している。
【0023】
111は帳票サーバである。クライアントPC102の要求を受け付け、サーバ上で帳票を生成し、クライアントPC102に生成した帳票データを転送する。
【0024】
103はクライアントPC102上で動作するアプリケーションであり、電子文書ファイル101を開き、編集したり、表示したり、印刷することができる。104はプリンタドライバである。プリンタドライバ104は、アプリケーション103の印刷要求に基づき、汎用的な描画命令をプリンタ独自の描画命令に翻訳して印刷データ105を生成する。この印刷データは例えばPCLやPostScript(登録商標)のようなPDLデータである。また、この印刷データ105は、例えば、複数ページのデータを含んでいて、A4サイズの印刷で通常数百キロバイトから数メガバイトになる。
【0025】
106はプリンタあるいは複合機である。このプリンタ106は、内部に組込用Java(登録商標)仮想マシン(Java(登録商標) 2 Micro Edition、以下、J2ME)を搭載していて、Java(登録商標)で作成した小規模なアプリケーションを実行できるようになっている。107はJ2MEによって作成されたJava(登録商標)アプリケーションであり、ここでは、文書保管クライアントと呼んでいる。文書保管クライアント107は、印刷データとその追跡用情報(印刷ログ情報)を、文書保管サーバとして機能するDBサーバ108に送信する。
【0026】
108はデータベース(DB)サーバであり、ここでは、データベースサーバとその格納領域をまとめて表している。DBサーバ108は、文書保管クライアント107から受信した印刷データを検索しやすいように加工する。そして、印刷データと検索用データと印刷ログ情報(追跡用情報)をまとめて管理情報(基本データ)109として、データベース(DB)に格納する。110はプリンタ106で印刷された実際の印刷物である。
【0027】
上述のように、図1に示す印刷管理システムでは、プリンタ106とクライアントPC102とが通信可能な所定のネットワーク(LAN等)を介して接続されて構成されている。実施例1では、クライアントPC106で生成された印刷データ(例えば、PDF/PS等の各種PDL(ページ記述言語データ)を、ネットワークを介してプリンタ106へ出力して、印刷することが可能である。
【0028】
尚、プリンタ106とクライアントPC102は、必ずしもネットワークを介して接続されている必要はなく、プリンタ106とクライアントPC102が所定インタフェース(例えば、USBインタフェース)を介して直接接続されていても良い。
【0029】
次に、プリンタ106の一例として、複合機の機能について説明する。
【0030】
ここで、プリンタ(複合機)106は、自装置内部に複数のジョブを記憶可能なハードディスク等の記憶装置を具備している。また、例えば、スキャナ部から入力されたジョブに対し、その記憶装置を介してプリンタ部でプリント可能にするコピー機能を具備している。また、PC(パーソナルコンピュータ)等の外部装置から入力されたジョブに対し記憶装置を介してプリンタ部でプリント可能にするプリント機能を具備している。また、スキャナ部から入力されたジョブを電子メール/FAXで送信する送信機能を具備している。また、前述したJava(登録商標)アプリケーションの実行環境を具備している。
【0031】
このように、複合機は複数の機能を具備し、これらの機能を組み合わせて実行できる。
【0032】
尚、このプリンタ106は、複合機に限定されるものではなく、レーザビームプリンタ及びインクジェットプリンタ等の他のプリント方式の印刷装置でも良いことは言うまでもない。
【0033】
また、複合機には、フルカラー機器とモノクロ機器があるが、本発明の実施にあたり、フルカラー機器かモノクロ機器のどちらであっても良い。
【0034】
また、本発明のシステムは、複数の機能を具備した複合機能型の画像形成装置(印刷装置)と、プリント機能のみを具備した単一機能型の画像形成装置(印刷装置)とを具備する構成でも良い。あるいは、いずれか一方の型の画像形成装置のみを具備する構成でも良い。つまり、本発明を実現可能であれば画像形成装置の種別構成は問わないものとする。
【0035】
次に、プリンタ106の主要な内部構成について、図2を用いて説明する。
【0036】
図2は本発明の本発明の印刷管理システムのプリンタの主要な内部構成を示すブロック図である。
【0037】
図2において、プリンタ106は、大きく分けてフォーマッタ制御部1100、パネル入出力制御部1020、データ記憶部1030、プリンタインタフェース(I/F)1200、出力制御部1300、プリンタエンジン部1400より構成されている。
【0038】
プリンタI/F1200は、外部装置との入出力を制御する。フォーマッタ制御部1100は、プロトコル制御部1101、受信データ解析部1102、ジョブ生成部1103、PDL解析部1104、データ描画部1105及びページメモリ1106より構成されている。
【0039】
尚、一般的には、フォーマッタ制御部1100は、CPU、ROM、RAM等を有するコンピュータシステムによって構成されている。また、図1の文書保管クライアント107を含む各種アプリケーションを実現するためのプログラムは、フォーマッタ制御部1100内のROMに記憶され、CPUによって読出されることでその機能が実現される。
【0040】
フォーマッタ制御部1100において、プロトコル制御部1101は、ネットワークプロトコルを解析・送信することによって外部との通信を行なう。受信データ解析部1102は、クライアントPC102からの受信データを解析して、設定されている印刷設定情報と、それに対応する処理内容を認識する。
【0041】
また、受信データ解析部1102では、受信データに対して、後述する処理(図9の処理)を実行して、必要なデータを、適宜DBサーバ108へ送信する。
【0042】
ジョブ生成部1103は、処理対象の受信データに対応する印刷ジョブを生成する。そして、この生成したジョブは、データ記憶部1030に一旦記憶する。パネル入出力制御部1020は、ジョブ状況等の操作画面をプリンタ106の操作部1500に出力することができる。
【0043】
PDL解析部1104は、データ記憶部1030に記憶されているジョブによりPDLデータを解析し、より処理しやすい形式の中間データに変換する。PDL解析部1104において生成された中間データは、データ描画部1105に渡されて処理される。データ描画部1105は、中間データをビットマップデータに展開し、展開されたビットマップデータはページメモリ1106に逐次描画されて行く。
【0044】
パネル入出力制御部1020は、プリンタ106の操作部1500からの入出力を制御する。データ記憶部1030は、受信データやPDL印刷のための中間データを蓄えるものであり、例えば、ハードディスク等の二次記憶装置によって実現される。また、データ
記憶部1030は、各種データ、印刷対象のジョブや印刷済のジョブを記憶する。また、記憶部1030は印刷対象のジョブや印刷済のジョブを管理するジョブ管理テーブルを備えている。
【0045】
出力制御部1300は、ページメモリ1106の内容を画像信号に変換処理し、プリンタエンジン部1400へ画像転送を行なう。プリンタエンジン部1400は、受信した画像信号を記録紙に永久可視画像形成するための印刷機構部である。
【0046】
次に、コンピュータ等の情報処理装置によって実現される、ファイルサーバ101、クライアントPC102、データベースサーバ108の構成について、図3を用いて説明する。
【0047】
図3は本発明の印刷管理システムの情報処理装置の構成を示すブロック図である。
【0048】
図3において、301はCPU、即ち、中央処理装置であり、情報処理装置全体の制御及び演算処理を行う。302はRAM、即ち、ランダムアクセスメモリであり、処理毎にそれぞれのプログラム及びデータがロードされ、実行される領域である。303はROM、即ち、読出専用メモリであり、システム制御プログラムや、フォントデータ等の記憶領域である。
【0049】
304はキーボード制御部(キーボードコントローラ:KBC)であり、KB(キーボード)305からのキー入力によりデータを受け取りCPU301へ伝達する。
【0050】
306はネットワークインタフェース(NIF)であり、情報処理装置がネットワークを介して外部との通信を行うインタフェースである。
【0051】
307はディスプレイ制御部(ディスプレイコントローラ:DC)であり、ディスプレイ装置(CRT)308への表示制御を行う。309はディスク制御部(ディスクコントローラ:DKC)であり、データ伝送等の制御を行うものである。
【0052】
310はFD(フロッピー(登録商標)ディスク装置)、HD(ハードディスク装置)、CD(CDROM)あるいはDVD(DVDROM)等の外部記憶装置である。この外部記憶装置310には、アプリケーション、プリンタドライバ等の各種プログラム及びデータを記憶させておき、実行時必要に応じて参照またはRAM302へロードする。311はシステムバスであり、上述の構成要素間におけるデータ転送の通路となるべきものである。
【0053】
尚、外部記憶装置310には、プリンタ106への印刷に関する制御を実行し、かつプリンタ106に出力する印刷データに対する各種印刷設定を行うための印刷設定画面を表示するプリンタドライバを記憶している。
【0054】
情報処理装置は、基本I/O(入出力)プログラム、OS(オペレーティングシステム)をCPU301が実行することにより動作する。
【0055】
基本I/OプログラムはROM303に記憶されており、OSは外部記憶装置11に書き込まれている。そして、クライアントPC102の電源がONにされたとき、基本I/Oプログラム中のIPL(イニシャルプログラムローディング)機能により外部記憶装置310からOSがRAM302に読み込まれ、OSの動作が開始される。また、ユーザは、印刷を実行する際には、プリンタドライバによって表示される印刷設定画面を介して、プリンタに関する各種設定を行うことができる。
【0056】
<機能構成図>
図4は本発明のシステムにおけるプログラムの機能構成図を示している。
【0057】
本発明のプログラムは、以下の機能を有するモジュールから構成される。すなわち、クライアントPC102内部の、テンプレート作成部401およびテンプレート格納部402および帳票データ格納部403およびテンプレート登録部404および帳票印刷部410。帳票サーバ111内部の、帳票生成部405および帳票データID算出部406。プリンタ106内部の文書保管クライアント107。DBサーバ108内部の、文書保管サーバ407および差分画像作成部408および追跡用データ格納部409。本実施例ではこれらの処理部は、クライアントPC102および帳票サーバ111およびDBサーバに分散されて構成されているが、各処理が実行できれば同一マシン上で動作してもかまわない。各機能はプログラムモジュールとしてクライアントPC102、DBサーバ108、帳票サーバ111の情報処理装置上で実行される。また、文書管理クライアント107はプリンタ106上のJava(登録商標)環境で実行される。尚、各機能部の動作に関しては以降で説明する。
【0058】
<第1の実施形態>
本発明は、帳票テンプレートの作成、帳票の生成(テンプレートに動的にデータを流し込む処理。以降オーバレイ処理と呼ぶ)、帳票の印刷、の全てに関わる。以降でそれぞれの場面での動作フローについて説明する。
【0059】
図5は本発明の、帳票テンプレート作成処理の動作フローを図示している。
【0060】
ステップ501において、テンプレート作成部401は、ユーザの指示により帳票テンプレートの作成を行う。例えば、罫線ツールを用いて表を作成したり、BMP(ビットマップ)等で作成されたロゴの画像を配置したりする。尚、テンプレートの作成自体は周知の技術を用いるものとする。
【0061】
ステップ502において、テンプレート作成部401は、帳票テンプレートにテンプレートIDを埋め込む。テンプレートIDを埋め込むタイミングは、明示的にユーザが指定しても良いし(例えばユーザがメニューから保存を選択した場合)、バックエンドでテンプレート作成部401が自動的に行っても良い。自動的に行う例としては、ユーザがテンプレート編集中にテンプレート作成部401が10分間隔で保存処理を行う等である。以上がテンプレートID埋め込み方法である。また、埋め込むテンプレートID作成方法に関しては、例えば、作成されたテンプレートからハッシュアルゴリズムを用いてIDを作成しても良いし、帳票システムで一意になるように帳票システム側で発行したIDを付加しても良い。以上がテンプレートID作成方法である。
【0062】
ステップ503において、テンプレート情報登録部404は、ステップ501および502で作成された帳票テンプレートに関する情報を文書保管サーバ407に登録する処理を行う。通常、文書管理サーバ407に登録するジョブログ(印刷ログ情報)や抽出したテキストデータ、画像データに加えて、帳票IDもこれらの情報と紐付けて登録される。図6はステップ503において文書管理サーバ407が管理する追跡用データ格納部409に格納された帳票テンプレートに関する情報を表形式で例示したものである。
【0063】
表のカラム601にはアプリIDが格納される。アプリIDは帳票がどのアプリケーションで印刷されたかを示すもので、帳票IDとともに帳票に埋め込まれる。アプリIDを見ることで、本特許の一連の動作フローを実行できるか(帳票IDが決まった形式で埋め込まれているか)を判断できる。ただし、帳票IDそのもので上記判断を行っても良いので、アプリIDの埋込は必須ではない。カラム602には帳票IDが格納される。帳票IDは、印刷された帳票1ページごとに埋め込まれる。以上が帳票ID埋め込み処理である。後述するように、テンプレート画像登録の際にはカラム602には特別なIDが格納される。カラム603には帳票の画像データが格納される。ステップ503では図6のように画像データ604と帳票ID「001_000」が紐付けて登録される。本実施例では、テンプレート画像を登録する際に紐付ける文書IDをテンプレートIDに「_000」を付加して生成したが、異なる文字列であっても良い。つまり図6の例ではテンプレートIDは「001」である。また、登録された画像データがどのテンプレートから生成されたかが分かれば、データの格納形式等はどんな形でも良い。データ格納形式とは例えばPDF、JPEG、BMPなどのフォーマットである。
【0064】
図6の例は帳票ID「001_000」はアプリID「FM」であり、画像データ604と紐付けられていることを示している。以上が帳票IDの生成方法である。また、帳票IDとアプリIDを分けて説明したが、帳票IDはアプリIDを含む様に帳票ID生成を行ってもよい。
【0065】
図7は本発明の、帳票テンプレートに動的にデータを流し込む処理、即ち帳票の生成(オーバレイ)処理の動作フローを図示している。
【0066】
ステップ701において、帳票作成部405は、ユーザよりオーバレイの指示を受け付ける。この際、オーバレイで使用する帳票テンプレートおよび帳票データが指定される。
【0067】
ステップ702において、帳票データID算出部406は、ステップ701で指定された帳票データの帳票データIDを算出する。図8は帳票データIDの算出処理の概要を示したものである。図8Aのように、通常テンプレートに流し込まれるデータの形態にはさまざまなものがある。例えばデータベースやCSVファイル、各帳票システムに固有の独自形式データのこともある。データの形態が異なってもテンプレートに流し込まれるデータが全て同じなら生成される印刷イメージは同じになる。帳票データID算出部406は、このデータ形態の差異を考慮したIDの発行を行う。例えば、図8Bに示したようにテンプレートに定義されたデータを流し込むフィールドの名前(以降フィールド名)と、流し込むデータそのものの対を、1ページ分メモリ上に保持する。例えば図その保持したデータからハッシュアルゴリズムでIDを算出するようにしても良い。帳票データID算出部406は、算出した帳票データIDを帳票生成部405に伝える。
【0068】
ステップ703において、帳票生成部405は、指定された帳票テンプレートからテンプレートIDを取得する処理を行う。帳票生成部405は、帳票テンプレートのフォーマットを熟知しているため容易にテンプレートIDの取得が可能である。
【0069】
ステップ704において、帳票生成部405は、ステップ703で取得したテンプレートIDと、ステップ702で帳票データID算出部406から通知された帳票データIDをもとに、帳票IDの生成を行う。本実施例では、例えばテンプレートIDが「001」、帳票データIDが「00A」の場合、「001_00A」というようにアンダーバーでつないだ帳票IDを生成する例を示した。しかし、帳票IDからテンプレートID部分が判別できればどのような形式であっても構わない。
【0070】
ステップ705において、帳票生成部405は、帳票のオーバレイ処理を行い、ステップ704で生成した帳票IDを帳票に埋め込む帳票ID埋め込み処理を行う。
【0071】
図9は本発明での、帳票の印刷処理の動作フローを図示している。
【0072】
ステップ901において、帳票印刷部410は、ユーザの指定によりステップ705において生成された帳票の印刷指示を受け付ける。
【0073】
ステップ902において、帳票印刷部410は、プリンタ411に帳票の印刷を指示する。
【0074】
ステップ903において、プリンタ411内で動作する文書保管クライアント412は、帳票の印刷ジョブから文書保管サーバ407に登録するデータ(テキストデータ、画像データなど)を抽出し、文書保管サーバ407へ転送する。この際、帳票に埋め込まれた帳票IDも一緒に転送される。
【0075】
ステップ904において、文書保管サーバ407は、文書保管クライアントから送られてきた帳票IDのテンプレートID部分を抽出する。
【0076】
ステップ905において、文書保管サーバ407は、自らが管理する追跡用データ格納部409内部の情報を検索する。そして、帳票IDのテンプレートID部分が、ステップ904において抽出したテンプレートIDと一致し、残りの帳票データID部分が「000」であるものがないか判定する。
【0077】
ステップ906において、一致するものがあると判定された場合、ステップ906において、差分画像生成部408は、ステップ903において転送された画像データと、ステップ905において一致すると判定された帳票IDと紐付けられている画像データ(テンプレート画像)との差分画像を生成する。差分画像を生成するアルゴリズム等の方法は本特許の範囲ではない。
【0078】
ステップ907において、差分画像生成部408は、ステップ905において生成した差分画像を文書保管サーバ407に送信する。
【0079】
ステップ908において、文書保管サーバ407は、ステップ906で送信されてきた差分画像を追跡用データ格納部409に格納する。
【0080】
ステップ909において、文書保管サーバ407は、ステップ903において文書保管クライアント412から送信されてきた帳票IDを、ステップ907で格納した差分画像データと紐付けて追跡用データ格納部409に格納する。
【0081】
ステップ910において、文書保管サーバ407は、ステップ906で検知されたテンプレート画像の帳票IDを、ステップ907で格納した差分画像データと紐付けて追跡用データ格納部409に格納する。
【0082】
ステップ911において、文書保管サーバ407は、ステップ903において文書保管クライアント412から送信されてきたジョブログや抽出されたテキストデータ等通常文書保管サーバに格納されるデータを格納する。
【0083】
本実施例では、帳票テンプレートの作成処理におけるステップ503におけるテンプレート情報登録処理によって、必ず一致するテンプレートの画像が登録されているはずである。このため、本実施例ではありえないケースだが、ステップ905において、一致するものがないと判定された場合、ステップ912において、テンプレート情報を登録しなおしても良い。すなわち、再度ステップ503のテンプレート情報登録処理を呼び出して情報の再登録を行い、ステップ904におけるテンプレートID抽出処理からやり直しを行っても良い。
【0084】
図10は、図9で示した帳票の印刷処理を行った後の、文書保管サーバ407の管理する追跡用データ格納部409内の状態を表形式で擬似的に例示したものである。表のカラム1002、カラム1003は図6で説明済みなので省略する。カラム1004には帳票の画像データが格納される。行1006は、テンプレートの登録エントリであるので、カラム1004には帳票テンプレートの画像そのものが格納される。行1007は、帳票の登録エントリであるので、カラム1004には差分画像が格納される。カラム1005にはテンプレート画像の帳票IDが格納される。テンプレート画像の帳票IDが格納されるのはカラム1004に差分画像を登録した時のみである。ステップ908において、文書保管サーバ407により格納された差分画像1001が、ステップ909において格納された帳票IDおよびステップ909において格納されたテンプレート画像の帳票IDと紐付けられて格納されているのがわかる。
【0085】
このように、テンプレート画像と異なる部分を差分画像として登録することにより、1ページ内の内容が微妙に異なる文書の場合でも、登録するデータ量を削減でき、格納領域を効率的に利用することが可能になる。特に、テンプレートに対してデータを差し込み印刷する帳票システムで作成されるような文書の際に効力を発揮する。
【0086】
<第2の実施形態>
第1の実施形態では差分画像を作成する際には、テンプレート画像と帳票画像とを比べて差分を検出していたが、既に文書保管サーバに登録されている帳票画像と、これから登録しようとしている帳票画像とから差分画像を作成しても良い。
【0087】
尚、第1の実施形態と説明が重複する共通部分については説明を略すものとする。
【0088】
図11は、第2の実施形態における、帳票画像同士から差分画像を作成して文書保管サーバ407に登録した場合の、追跡用データ格納部409内の状態を擬似的に例示したものである。
【0089】
帳票ID「001_00A」の帳票画像データ1102は、テンプレート画像1101との差分画像として登録されている。
【0090】
一方、帳票ID「001_00B」の帳票画像データ1103は、テンプレート画像とではなく、帳票画像データ1102との差分画像として登録されている。
【0091】
このように、帳票画像同士から差分画像を作成することにより、差込データの大半が同一の文書を印刷した場合には、差分画像のサイズがさらに小さくなるため、ハードディスク等の格納資源をより効率的に利用することができる。
【0092】
<その他の実施形態>
パーソナルコンピュータ等の情報処理装置や印刷処理装置からなる帳票作成システムにおいて、帳票テンプレートを作成する時、テンプレートIDを帳票テンプレートに埋め込むユニットを持つ。また、帳票作成時に、帳票データIDを算出するユニットと、テンプレートIDと帳票データIDから帳票IDを生成するユニットを持つ。また、帳票IDを帳票に埋め込むユニットを持ち、帳票の印刷時に埋め込まれた帳票IDを元に既存類似帳票との差異を検出するユニットを持つ。この印刷される帳票との差異とを関連付けて管理するユニットを持つ。以上のようなシステムであっても良い。
【0093】
またこのシステムにおいて、帳票印刷時、埋め込まれた帳票IDを元にテンプレート画像を検索するユニットを持つ。さらに検索されたテンプレート画像と印刷帳票画像から差分画像を求めるユニットを持ち、差分画像を前記帳票IDとテンプレート画像の帳票IDと紐付けて管理するユニットを持つ。
【0094】
また本発明は、たとえば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【0095】
なお、本発明は、ソフトウェアのプログラムをシステムあるいは装置に直接または遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによって、前述した実施形態の機能が達成される場合を含む。この場合、供給されるプログラムは実施形態で図に示したフローチャートに対応したプログラムである。
【0096】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【0097】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
【0098】
プログラムを供給するための記録媒体としては以下が挙げられる。たとえば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM、DVD−R)などである。
【0099】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムをハードディスク等の記録媒体にダウンロードすることが挙げられる。この場合、ダウンロードされるプログラムは、圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【0100】
また、本発明のプログラムを暗号化してCD−ROM等の記録媒体に格納してユーザに配布するという形態をとることもできる。この場合、所定の条件をクリアしたユーザに、インターネットを介してホームページから暗号を解く鍵情報をダウンロードさせ、その鍵情報を使用して暗号化されたプログラムを実行し、プログラムをコンピュータにインストールさせるようにもできる。
【0101】
また、コンピュータが読み出したプログラムを実行することによって、前述した実施形態の機能が実現されるほか、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどとの協働で実施形態の機能が実現されてもよい。この場合、OSなどが、実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
【0102】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれて前述の実施形態の機能の一部あるいはすべてが実現されてもよい。この場合、機能拡張ボードや機能拡張ユニットにプログラムが書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行う。
【図面の簡単な説明】
【0103】
【図1】本発明の印刷管理システムの構成を示す図である。
【図2】本発明のプリンタの主要な内部構成を示すブロック図である。
【図3】本発明の情報処理装置の構成を示すブロック図である。
【図4】本発明の印刷管理システムにおける機能構成図である。
【図5】本発明の帳票テンプレート作成処理の動作フローである。
【図6】本発明のDBサーバに格納された帳票テンプレートに関する情報の例である。
【図7】本発明の帳票の生成(オーバレイ)処理の動作フローである。
【図8】Aは本発明の帳票データIDの算出処理の例である。Bは本発明の帳票データIDの算出処理の例である。
【図9】本発明の帳票の印刷処理の動作フローである。
【図10】本発明のDBサーバに格納された追跡用情報の例である。
【図11】本発明のDBサーバに格納された追跡用情報の例である。
【特許請求の範囲】
【請求項1】
帳票作成システムであって、
帳票テンプレートを作成するときにテンプレートIDを作成するテンプレートID作成手段と、
作成された前記帳票テンプレートに前記テンプレートID埋め込むテンプレートID埋め込み手段と、
帳票テンプレートに帳票データをオーバレイして帳票を作成するときに前記帳票データから帳票データIDを算出する帳票データID算出手段と、
前記テンプレートIDと前記帳票データIDとから帳票IDを生成する帳票ID生成手段と、
前記帳票ID生成手段により生成された前記帳票IDを、作成された前記帳票に埋め込む帳票ID埋め込み手段とを有することを特徴とする帳票作成システム。
【請求項2】
追跡可能な帳票の作成方法であって、
帳票テンプレートを作成するときにテンプレートIDを作成するテンプレートID作成工程と、
作成された前記帳票テンプレートに前記テンプレートID埋め込むテンプレートID埋め込み工程と、
帳票テンプレートに帳票データをオーバレイして帳票を作成するときに前記帳票データから帳票データIDを算出する帳票データID算出工程と、
前記テンプレートIDと前記帳票データIDとから帳票IDを生成する帳票ID生成工程と、
前記帳票ID生成工程により生成された前記帳票IDを、作成された前記帳票に埋め込む帳票ID埋め込み工程とを有することを特徴とする帳票の作成方法。
【請求項3】
請求項2に記載の帳票の作成方法をコンピュータに実行させるためのプログラム。
【請求項4】
請求項3に記載のプログラムを格納したコンピュータで読み取り可能な記憶媒体。
【請求項1】
帳票作成システムであって、
帳票テンプレートを作成するときにテンプレートIDを作成するテンプレートID作成手段と、
作成された前記帳票テンプレートに前記テンプレートID埋め込むテンプレートID埋め込み手段と、
帳票テンプレートに帳票データをオーバレイして帳票を作成するときに前記帳票データから帳票データIDを算出する帳票データID算出手段と、
前記テンプレートIDと前記帳票データIDとから帳票IDを生成する帳票ID生成手段と、
前記帳票ID生成手段により生成された前記帳票IDを、作成された前記帳票に埋め込む帳票ID埋め込み手段とを有することを特徴とする帳票作成システム。
【請求項2】
追跡可能な帳票の作成方法であって、
帳票テンプレートを作成するときにテンプレートIDを作成するテンプレートID作成工程と、
作成された前記帳票テンプレートに前記テンプレートID埋め込むテンプレートID埋め込み工程と、
帳票テンプレートに帳票データをオーバレイして帳票を作成するときに前記帳票データから帳票データIDを算出する帳票データID算出工程と、
前記テンプレートIDと前記帳票データIDとから帳票IDを生成する帳票ID生成工程と、
前記帳票ID生成工程により生成された前記帳票IDを、作成された前記帳票に埋め込む帳票ID埋め込み工程とを有することを特徴とする帳票の作成方法。
【請求項3】
請求項2に記載の帳票の作成方法をコンピュータに実行させるためのプログラム。
【請求項4】
請求項3に記載のプログラムを格納したコンピュータで読み取り可能な記憶媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2009−110387(P2009−110387A)
【公開日】平成21年5月21日(2009.5.21)
【国際特許分類】
【出願番号】特願2007−283542(P2007−283542)
【出願日】平成19年10月31日(2007.10.31)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成21年5月21日(2009.5.21)
【国際特許分類】
【出願日】平成19年10月31日(2007.10.31)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]