以下に、添付図面を参照しながら、本発明を実施するための最良の形態(実施形態)について詳細に説明する。
図1−1は、本発明の実施形態に係る文書復元システム100の概略構成の一例を示す模式図である。また、図1−2は、本発明の実施形態に係る文書復元システム100の主なシステム構成の一例を示す模式図である。
図1−1に示すように、文書復元システム100は、クライアント端末装置200と、プリンタ300と、ネットワーク400と、インサーター500と、ICカード600を有して構成されている。なお、図1に示す文書復元システム100の構成は一例であり、用途や目的に応じて様々な形態を採ることができる。
図1−1に示す文書復元システム100は、クライアント端末装置200とプリンタ300とが、LAN(ローカルエリアネットワーク)等のネットワーク400を介して接続されている。
クライアント端末装置200は、ユーザが使用する情報処理装置であってプリンタ300に印刷指示等を行うものである。
クライアント端末装置200は、例えば、図1−2に示す種々のアプリケーション101によって、印刷するための文書データを作成し、OS102は、この文書データをプリンタドライバ103に渡す。プリンタドライバ103は、プラグイン105に対して、文書データを、プリンタ300に依存する形式の印刷データに変換するよう命令し、プラグイン105は、文書データを加工して例えばPDLに変換した文書データを文書データ一時保存部106に保存する。その後、プリンタドライバ103は、プラグイン105から文書データをスプーラ104へ送信する。
なお、ここでは、図1−2に示すシステム構成がクライアント端末装置200に設けられている態様について説明しているが、本発明の実施形態では必ずしもこの態様に限定されるものではない。例えば、プラグイン105及び文書データ一時保存部106をプリンタ300に設ける態様であっても、また、必要に応じて、プラグイン105及び文書データ一時保存部106をクライアント端末装置200及びプリンタ300の両方に設ける態様であっても、本発明の実施形態として適用することが可能である。
プリンタ300は、文書データ等からなる印刷データの印刷処理を行う印刷装置として機能する画像形成装置である。なお、プリンタ300は、印刷機能だけでなく、FAX通信やコピー機能等を有する複合機であってもよい。また、プリンタ300は、表示画面有プリンタや表示画面無プリンタがあるが、本実施形態では、操作部(図3の320)に液晶画面等の表示画面(図3の321)を有する表示画面有プリンタを前提とする。なお、表示画面無プリンタは、操作部(図3の320)に表示画面(図3の321)を備えないプリンタである。
また、プリンタ300には、インサーター500がオプションとして接続されている。また、プリンタ300は、ICカード600を用いた認証が可能に構成されている。
次に、図1に示すクライアント端末装置200及びプリンタ300の内部構成について説明する。
図2は、図1に示すクライアント端末装置200のハードウェア構成の一例を示す模式図である。
図2に示すように、クライアント端末装置200は、CPU201と、RAM202と、ROM203と、システムバス204と、入力コントローラ205と、ビデオコントローラ206と、メモリコントローラ207と、通信I/Fコントローラ208と、キーボード209と、CRT210と、外部メモリ211を有して構成されている。
CPU201は、クライアント端末装置200における動作を統括的に制御するものであり、必要に応じて、システムバス204に接続される各種のデバイスや各種のコントローラを制御する。
RAM202は、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をRAM202にロードして、プログラムを実行することで各種の動作を実現する。
ROM203には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)、CPU201が本実施形態に係るクライアント端末装置200の機能を実現するために必要な各種のプログラム等が記憶されている。なお、これらのプログラムは、外部メモリ211に記憶されている態様であってもよい。
システムバス204は、CPU201、RAM202、ROM203、システムバス204、入力コントローラ205、ビデオコントローラ206、メモリコントローラ207及び通信I/Fコントローラ208を、相互に通信可能に接続する。
入力コントローラ205は、キーボード209やマウス(不図示)等のポインティングデバイスからの入力を制御する。
ビデオコントローラ206は、CRTディスプレイ(CRT)210等の表示部への表示を制御する。この表示部は、CRTだけでなく、液晶ディスプレイ等であっても構わない。
メモリコントローラ207は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種のデータ等を記憶するハードディスク(HD)やフロッピーディスク(登録商標FD)或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュメモリ(登録商標)等の外部メモリ211へのアクセスを制御する。
通信I/Fコントローラ208は、ネットワーク400を介して、外部機器と接続・通信するものであり、ネットワーク400での通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。
なお、CPU201は、例えばRAM202内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT210上での表示を可能としている。また、CPU201は、CRT210上のマウスカーソル(不図示)等でのユーザ指示を可能とする。
図3は、図1に示すプリンタ300のハードウェア構成の一例を示す模式図である。
図3に示すように、プリンタ300は、コントローラユニット310と、操作部320と、カードリーダ330と、プリンタ部340と、スキャナ部350を有して構成されている。コントローラユニット310は、操作部320、カードリーダ330、インサーター500、プリンタ部340及びスキャナ部350等の動作制御を行うものである。
また、コントローラユニット310は、CPU301と、RAM302と、ROM303と、HDD304と、ネットワークI/F(Network I/F)305と、モデム(MODEM)306と、操作部I/F307と、システムバス308と、外部I/F309と、イメージバスI/F(IMAGE BUS I/F)311と、画像バス312と、RIP313と、プリンタI/F314と、スキャナI/F315と、画像処理部316を有して構成されている。
CPU301は、プリンタ300における動作を統括的に制御するプロセッサである。RAM302は、CPU301の主メモリ、ワークエリア等として機能するものであり、プログラムを記録するためのプログラムメモリや、画像データを一時記録するための画像メモリでもある。ROM303は、恒久的に各種のプログラムや各種のデータを記憶するメモリであり、このROM303には、ブートプログラムや各種の制御プログラム、CPU301が本実施形態に係るプリンタ300の機能を実現するために必要なプログラム等が記憶されている。なお、これらのプログラムは、HDD304に記憶されている態様であってもよい。
HDD304は、外部記憶装置のハードディスクドライブであり、CPU301が処理を行なう際に必要な各種のプログラムや各種のデータ等を格納し、また、必要に応じて、CPU301の処理により生成された各種のデータ等を記憶する。
ネットワークI/F(Network I/F)305は、LAN等のネットワーク400に接続して当該プリンタ300と外部装置との通信を司るものである。モデム(MODEM)306は、公衆回線に接続してFAXの送受信等のデータの入出力を行う。
操作部I/F307は、ユーザが、操作部320から入力した情報(例えば、ユーザ名やカード番号やパスワード等)をCPU301に通知する。また、操作部I/F307は、操作部320の表示画面321に表示する画像データを操作部320に出力する。本実施形態のプリンタ300が前提とする表示画面有プリンタでは、操作部320に、タッチパネルを有する表示部である表示画面321が設けられる。この表示画面321に表示されたボタン等をユーザが押下(指等でタッチ)することにより、各種の入力指示が行われる。
システムバス308は、CPU301、RAM302、ROM303、HDD304、ネットワークI/F(Network I/F)305、モデム(MODEM)306、操作部I/F307、外部I/F309及びイメージバスI/F(IMAGE BUS I/F)311を、相互に通信可能に接続する。
外部I/F309は、USB、IEEE1394、プリンタポート、RS−232C等の外部入力を受け付けるインタフェース部である。この外部I/F309には、非接触型のICカード600のカード情報を読み取るカードリーダ330と、インサーター500が接続されている。CPU301は、外部I/F309を介してカードリーダ330によって読み取られた非接触型のICカード600のカード情報を取得することが可能となっている。
イメージバスI/F(IMAGE BUS I/F)311は、システムバス308と画像データを高速転送する画像バス312とを接続し、データ構造を変換するバスブリッジである。
画像バス312は、イメージバスI/F(IMAGE BUS I/F)311、RIP313、プリンタI/F314、スキャナI/F315及び画像処理部316を、相互に通信可能に接続する。この画像バス312は、例えば、PCIバスまたはIEEE1394で構成される。
RIP313は、ラスタイメージプロセッサであり、例えば、PDLコード等のベクトルデータをビットマップイメージに展開する。
プリンタI/F314は、プリンタ部340とコントローラユニット310とを接続し、画像データの同期系/非同期系の変換を行う。
スキャナI/F315は、スキャナ部350とコントローラユニット310とを接続し、画像データの同期系/非同期系の変換を行う。
画像処理部316は、入力画像データに対して補正、加工、編集を行ったり、プリント出力画像データに対して、プリンタの補正や解像度変換等を行ったりする。また、画像処理部316は、画像データの回転処理を行ったり、多値画像データに対してはJPEG、2値画像データはJBIG、MMR、MH等の圧縮伸張処理を行ったりする。
操作部320は、ユーザによる操作指示を入力したり、動作状況を表示したりするものである。操作部320は、表示画面321を有しており、この表示画面321上にはタッチパネルシートが貼付される。操作部320は、操作画面を表示画面321に表示すると共に、表示してある操作画面のボタンやキーがユーザによりタッチ等されると、その位置情報を操作部I/F307を介してCPU301に通知する。
また、操作部320は、各種の操作キーとして、例えば、スタートキー、ストップキー、IDキー、リセットキーを備える。スタートキーは、原稿画像の読み取り動作を開始する時などに用いるキーである。このスタートキーの中央部には、緑と赤の2色LEDがあり、その色によってスタートキーが使える状態にあるか否かが分かるようになっている。ストップキーは、稼働中の動作を停止させる機能を有するキーである。IDキーは、ユーザのユーザIDを入力する際に用いられるキーである。リセットキーは、操作部320による設定を初期化する際に用いられるキーである。
カードリーダ330は、CPU301からの制御により、非接触型のICカード600内に記憶されているカード情報を読み取り、読み取ったカード情報を外部I/F309を介してCPU301へ通知する。ここで、非接触型のICカード600としては、例えば、ソニー社のフェリカ(FeliCa(登録商標))等を適用することができる。
プリンタ部340は、ラスタイメージデータを用紙上の画像に変換する。この際の変換方式については、感光体ドラムや感光体ベルトを用いた電子写真方式、微少ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式等があるが、いずれの変換方式を用いてもよい。また、プリント動作の起動は、CPU301からの指示によって開始される。なお、プリンタ部340には、異なる用紙サイズまたは異なる用紙向きを選択可能に複数の給紙段及びこれらの給紙段に対応した用紙カセットが設けられている。
スキャナ部350は、原稿となる用紙上の画像を照明し、CCDラインセンサで走査することで、ラスタイメージデータとしての電気信号を得る。この際、原稿用紙は、原稿フィーダのトレイにセットされる。ユーザが、操作部320から原稿読み取り起動指示を行うことにより、CPU301がスキャナ部350に指示を与え、原稿フィーダにより原稿用紙を1枚ずつフィードして原稿画像の読み取り動作が行われる。
以上のような構成によって、プリンタ300は、スキャナ部350から読み込んだ画像データをネットワーク400に送信したり、ネットワーク400から受信した印刷データをプリンタ部340によって用紙に印刷したりすることができる。また、プリンタ300は、スキャナ部350から読み込んだ画像データをモデム(MODEM)306により、公衆回線上にFAX送信したり、公衆回線からFAX受信した画像データをプリンタ部340によって用紙に印刷したりすることができる。
図4は、本発明の実施形態に係る文書復元システム100で用いられる2次元バーコード(以下、「QRコード」と称する)が保持する情報の一例を示す模式図である。このQRコードは、例えば図1−2に示すプラグイン105により作成される。即ち、QRコードは、クライアント端末装置200のCPU201(或いはプリンタ300のCPU301)の処理によって作成され、例えば外部メモリ211(或いはHDD304)に記憶される。
図4に示されるQRコードが保持する情報110は、文書を復元するのに必要な文書データに関する情報である。このQRコードが保持する情報110としては、ページ開始フラグ情報111、現在のページ数情報112、合計ページ数情報113、テキストデータのみか、全データかを示す情報114、データ(バイナリ)115、フォント・画像位置情報などの情報116、及び、ページ終了フラグ情報117が保持される。
ページ開始フラグ情報111は、QRコードに保持されるページごとの開始を示すフラグの情報である。本実施形態におけるQRコードには、複数のページ情報を保持することが可能であるため、文書を復元する際にページごとの区切りを示す情報が必要である。
現在のページ数情報112と合計ページ数情報113は、文書全体が持つページ数(合計ページ数情報113)に対して、どのページの情報(現在のページ数情報112)かを判断するために必要な情報であり、文書を復元する際に欠損したページを確定する時に使用される。また、これらの情報は、インサーター機能で文書を復元する際にも使用される。
テキストデータのみか、全データかを示す情報114は、QRコードに記録された文書データがテキストデータのみか、画像・フォント情報を含む文書データなのかを示す情報である。データ(バイナリ)115は、当該ページ(自ページ)の文書データに加えて、後述する図6等の処理により、例えばその前のページやその後ろのページの文書データなどの他のページの文書データもバイナリ形式で保持される。
フォント・画像位置情報などの情報116は、1ページ分の文書データで使用されているフォント情報や画像の位置情報など、忠実に文書を復元するために必要な情報である。ページ終了フラグ情報117は、QRコードに保持されるページごとの終了を示すフラグの情報である。
図5は、本発明の実施形態に係る文書復元システム100において、紙文書のページごとに印刷されたQRコードを用いた紙文書の解析結果情報を保持する解析結果テーブル120の一例を示す模式図である。この解析結果テーブル120は、文書を復元する際に、図4に示す情報を保持するQRコードが付された復元したい紙文書(入力文書)をプリンタ300のスキャナ部350で読込み、読込んだ文書データのQRコードをプラグイン105が解析して、ページごとの欠損状態を含む解析結果情報を保持するものである。そして、この解析結果テーブル120は、例えばインサーター500を使用して文書を復元する際に、インサーター指示リストを作成するための情報となる。そして、この解析結果テーブル120は、例えば外部メモリ211或いはHDD304に記憶される。
図5に示すように、解析結果テーブル120には、ページ番号情報121、原稿があるか欠落しているかを示す原稿の有無情報122、及び、QRコードに保持されている情報(図4)で復元可能か否かを示すQRコードでの復元の有無情報123が保持される。
QRコードが付された入力文書をプラグイン105で解析した結果、例えば、1ページ目の紙文書が正常な紙文書であってQRコードで復元可能である場合には、図5に示すように、ページ番号情報121の『1』に、原稿の有無情報122として原稿があることを示す『原稿』が保持され、QRコードでの復元の有無情報123としてQRコードで復元可能であることを示す『QROK』が保持される。また、QRコードが付された入力文書をプラグイン105で解析した結果、例えば、4ページ目の紙文書が存在していない場合であって他の紙文書に付されたQRコードから復元可能である場合には、図5に示すように、ページ番号情報121の『4』に、原稿の有無情報122として原稿が欠落していることを示す『欠落』が保持され、QRコードでの復元の有無情報123としてQRコードで復元可能であることを示す『QROK』が保持される。
次に、上述したQRコードの作成処理における処理手順について説明する。
図6は、本発明の実施形態に係る文書復元システム100のQRコード作成処理における処理手順の一例を示すフローチャートである。また、図7は、図6に示すステップS107の詳細な処理手順の一例を示すフローチャートである。また、図8は、図6に示すステップS105の詳細な処理手順の一例を示すフローチャートである。ここで、図6〜図8に示すフローチャートの処理は、主として、図1−2に示すプラグイン105、即ち、クライアント端末装置200のCPU201(或いはプリンタ300のCPU301)で行なわれる。
また、図9〜図16は、本発明の実施形態に係る文書復元システム100のQRコード作成処理の際に用いられる設定画面の一例を示す模式図である。この設定画面は、例えばプラグイン105がクライアント端末装置200に設けられている場合には、例えばCRT210に表示され、例えばプラグイン105がプリンタ300に設けられている場合には、例えば操作部320の表示画面321に表示される。また、図9〜図16の設定画面により設定された、QRコード作成処理に係る設定情報は、プラグイン105が設けられている装置に応じて、例えば外部メモリ211或いはHDD304に記憶される。
以下、図6〜図16を用いて、QRコードの作成処理について説明する。
ここで、図6〜図8に示すフローチャートの説明を行う前に、まず、図9〜図16の設定画面について説明を行う。
図9に示すQRコード作成に係る設定画面601では、文書データのページごとに、作成データ範囲と、QRコード作成方法と、作成データをテキストに絞るか否かを設定可能に構成されている。
具体的に、図9のQRコード作成に係る設定画面601では、作成データ範囲として、『前後と自ページのみ』611が選択されている様子が示されている。この『前後と自ページのみ』611が選択されている場合には、QRコードを印刷する自ページ(n)と、nページの前のページ(n−1)及びnページの後ろのページ(n+1)との文書データを含んだQRコードが作成される。ここで、nが1ページ目だった場合には、前のページは、この文書データの最後のページとなる。また、nが最後のページだった場合には、後ろのページは、この文書データの最初のページとなる。
また、図9のQRコード作成に係る設定画面601では、QRコード作成方法として、『複数のQRコードを作成』612が選択されている様子が示されている。この『複数のQRコードを作成』612が選択されている場合には、作成データ範囲として選択された『前後と自ページのみ』611における全ページの合計データサイズが、QRコードが許容する容量を超えてしまった場合に、これらの文書データを分割して複数のQRコードが作成される。この状態で、OKボタン613が押下されると、プラグイン105に対して、当該設定情報が設定される。
図10に示すQRコード作成に係る設定画面601では、図9に示す設定画面に対して、図9では設定しなかった、『作成データをテキストに絞る』614が更に選択されている様子が示されている。この『作成データをテキストに絞る』614を設定することによって、画像データを含まないテキストデータのみの文書データを複数のQRコードで作成することが可能となる。この状態で、OKボタン613が押下されると、プラグイン105に対して、当該設定情報が設定される。
図11に示すQRコード作成に係る設定画面601では、作成データ範囲として、『前後と自ページのみ』611が選択され、QRコード作成方法として、『単数のQRコードを作成』615が選択されている様子が示されている。この『単数のQRコードを作成』615が選択されている場合には、作成データ範囲として選択された『前後と自ページのみ』611における全ページの合計データサイズが、QRコードが許容する容量を超えてしまった場合でも、単数のQRコードの作成しか許可されない。また、QRコード作成方法として、『単数のQRコードを作成』615が選択されると、詳細ボタン616が有効になる。そして、この詳細ボタン616が押下されると、図12に示す詳細設定画面701が表示される。
図12に示す詳細設定画面701では、QRコードを作成するページの優先順位の設定が可能に構成されている。例えば優先順位が1番である自分のページ(自ページ)711にカーソルをあてると、背面に色がつき、その優先順位を下げたい場合には、下へボタン713を希望の場所まで押下し、逆に優先順位を上げたい場合には、上へボタン712を押下する。そして、OKボタン714が押下されると、各ページの優先順位(図12に示す3つのページの場合には、優先順位1〜3)が設定される。そして、OKボタン714が押下されると、QRコード作成に係る設定画面601に戻って、この状態で、OKボタン613が押下されると、プラグイン105に対して、当該設定情報が設定される。
図13に示すQRコード作成に係る設定画面601では、図11に示す設定画面に対して、図11では設定しなかった、『作成データをテキストに絞る』614が更に選択されている様子が示されている。この『作成データをテキストに絞る』614を設定することによって、画像データを含まないテキストデータのみの文書データを単一のQRコードで作成することになる。この状態で、OKボタン613が押下されると、プラグイン105に対して、当該設定情報が設定される。
図14に示すQRコード作成に係る設定画面601では、作成データ範囲として、『QRコードサイズに合わせる』617が選択されている様子が示されている。この『QRコードサイズに合わせる』617が選択されると、同時にQRコード作成方法の設定項目は選択不可能になる。また、作成データ範囲として、『QRコードサイズに合わせる』617が選択されると、詳細ボタン618が有効になる。そして、この詳細ボタン618が押下されると、図15に示す詳細設定画面801が表示される。作成データ範囲として、『QRコードサイズに合わせる』617が選択されると、QRコードが許容する容量に合わせて、図15に示す詳細設定画面801で設定したQRコードを作成するページ単位の優先順位に従って単一のQRコードが作成される。
図15に示す詳細設定画面801では、QRコードを作成するページ単位の優先順位の設定が可能に構成されている。例えば優先順位が1番である自分に近いページ(自ページに近いページ)811にカーソルをあてると、背面に色がつき、その優先順位を下げたい場合には、下へボタン813を希望の場所まで押下し、逆に優先順位を上げたい場合には、上へボタン812を押下する。ここで、優先順位の選択単位としては、自分のページ(自ページ)を含む自分に近いページ、その前方のページや、その後方のページのようにまとまったページ単位である。そして、OKボタン814が押下されると、各ページ単位の優先順位(図15に示す3つのページ単位の場合には、優先順位1〜3)が設定される。そして、OKボタン814が押下されると、QRコード作成に係る設定画面601に戻って、この状態で、OKボタン613が押下されると、プラグイン105に対して、当該設定情報が設定される。
図16に示すQRコード作成に係る設定画面601では、図14に示す設定画面に対して、図14では設定しなかった、『作成データをテキストに絞る』614が更に選択されている様子が示されている。この『作成データをテキストに絞る』614を設定することによって、画像データを含まないテキストデータのみの文書データをQRコードで作成することになる。この状態で、OKボタン613が押下されると、プラグイン105に対して、当該設定情報が設定される。
次に、図6〜図8に示すフローチャートの説明を行う。
この図6〜図8に示すフローチャートの処理を行う際には、上述したQRコード作成に係る設定画面601による設定情報の設定が、対象となる文書データのページごとに既になされているものとする。
まず、図6のステップS101において、プラグイン105は、印刷処理する文書データ(PDL)を文書データ一時保存部106に一時記憶する。ここで、文書データ一時保存部106は、例えば外部メモリ211或いはHDD304に相当する。
続いて、ステップS102において、プラグイン105は、ステップS101で一時記憶した文書データ(PDL)のページ総数をAとして設定する。このページ総数Aは、例えば、図4に示す合計ページ数情報113に対応する。
続いて、ステップS103において、プラグイン105は、ステップS101で一時記憶した文書データ(PDL)のうち、QRコード作成対象のページを示す変数aを1に設定する。これにより、QRコード作成対象のページ(自ページ)aが設定される。
続いて、ステップS104において、プラグイン105は、QRコード作成に係る設定画面601で設定された設定情報に基づいて、QRコード作成対象のページ(自ページ)aにおける作成データ範囲が、自ページとその前後ページのみであるか、QRコードサイズに合わせるのかを判断する。具体的に、このステップS104では、図9等に示された設定画面601において、作成データ範囲として、『前後と自ページのみ』が選択されたのか、『QRコードサイズに合わせる』が選択されたのかに応じて、判断される。
ステップS104の判断の結果、作成データ範囲がQRコードサイズに合わせる場合(即ち、図14及び図16に示す設定画面601のように、『QRコードサイズに合わせる』617が選択されて設定された場合)には、ステップS105に進む。
ステップS105に進むと、プラグイン105は、QRコードサイズに合わせた単一のQRコードの作成処理を行う。このステップS105の詳細については、図8を用いて後述する。このステップS105の処理が終了すると、その後、ステップS117に進む。
一方、ステップS104の判断の結果、作成データ範囲が自ページとその前後ページのみである場合(即ち、図9〜図11及び図13に示す設定画面601のように、『前後と自ページのみ』611が選択されて設定された場合)には、ステップS106に進む。
ステップS106に進むと、プラグイン105は、QRコード作成に係る設定画面601で設定された設定情報に基づいて、QRコード作成対象のページ(自ページ)aにおけるQRコードを単数または複数で作成するのかを判断する。具体的に、このステップS106では、図9等に示された設定画面601において、QRコード作成方法として、『複数のQRコードを作成』が選択されたのか、『単数のQRコードを作成』が選択されたのかに応じて、判断される。
ステップS106の判断の結果、QRコードを単数で作成する場合(即ち、図11及び図13に示す設定画面601のように、『単数のQRコードを作成』615が選択されて設定された場合)には、ステップS107に進む。
ステップS107に進むと、プラグイン105は、単一のQRコード作成処理を行う。このステップS107の詳細については、図7を用いて後述する。このステップS107の処理が終了すると、その後、ステップS117に進む。
一方、ステップS106の判断の結果、QRコードを複数で作成する場合(即ち、図9及び図10に示す設定画面601のように、『複数のQRコードを作成』612が選択されて設定された場合)には、ステップS108に進む。
ステップS108に進むと、プラグイン105は、QRコード作成に係る設定画面601で設定された設定情報に基づいて、設定された作成データ範囲のデータとしてテキストデータのみを作成するか否かを判断する。具体的に、このステップS108では、図9等に示された設定画面601において、『作成データをテキストに絞る』が選択されたのか否かに応じて、判断される。
ステップS108の判断の結果、テキストデータのみを作成するものではなく、作成データ範囲のページの全てのデータを作成する場合(即ち、図9に示す設定画面601のように、『作成データをテキストに絞る』が選択されずに設定された場合)には、ステップS109に進む。
ステップS109に進むと、プラグイン105は、ステップS101で一時記憶した文書データ(PDL)のうち、作成データ範囲である、自ページ(nページ)、その前のページ(n−1ページ)及びその後ろのページ(n+1)の文書データを読込み、文書データサイズを決定する。
一方、ステップS108の判断の結果、テキストデータのみを作成する場合(即ち、図10に示す設定画面601のように、『作成データをテキストに絞る』614が選択されて設定された場合)には、ステップS110に進む。
ステップS110に進むと、プラグイン105は、ステップS101で一時記憶した文書データ(PDL)からテキストデータのみを抽出する抽出処理を行う。
続いて、ステップS111において、プラグイン105は、ステップS110で抽出したテキストデータのうち、作成データ範囲である、自ページ(nページ)、その前のページ(n−1ページ)及びその後ろのページ(n+1)のテキストデータを読込み、文書データサイズを決定する。
なお、図6に示す例では、まず、ステップS101で一時記憶した文書データ(PDL)からテキストデータのみを抽出し(S110)、その後、抽出したテキストデータの中から作成データ範囲のページのテキストデータを読込む(S111)態様が示されているが、本実施形態においては、この態様に限定されるものではない。例えば、まず、ステップS109と同様に、ステップS101で一時記憶した文書データ(PDL)の中から、作成データ範囲である、自ページ(nページ)、その前のページ(n−1ページ)及びその後ろのページ(n+1)の文書データを読込み、その後、当該読込んだ作成データ範囲のページからテキストデータのみを抽出する態様であっても、本実施形態に適用可能である。
ステップS109の処理が終了した場合、或いは、ステップS111の処理が終了した場合には、ステップS112に進む。
ステップS112に進むと、プラグイン105は、ステップS109またはステップS111で読込んだデータサイズと、作成するQRコードが許容する容量とを比較し、QRコードで許容する容量が読込んだデータサイズ以上であるか否かを判断する。ここで、本例では、QRコードが許容する容量として、QRコードの全体サイズの8割を設定するものとする。これは、このQRコードが許容する容量は、図4に示すQRコードが保持する情報110のデータ(バイナリ)115に設定することが可能な許容量に相当するからである。
ステップS112の判断の結果、QRコードで許容する容量が読込んだデータサイズ以上である場合には、ステップS113に進む。
ステップS113に進むと、プラグイン105は、ステップS109またはステップS111で読み込んだ文書データをバーコード化して、単一のQRコードの作成処理を行う。その後、ステップS116に進む。
一方、ステップS112の判断の結果、QRコードで許容する容量が読込んだデータサイズ以上でない場合(即ち、QRコードで許容する容量が読込んだデータサイズ未満である場合)には、ステップS114に進む。
ステップS114に進むと、プラグイン105は、ステップS109またはステップS111で読み込んだ文書データをバーコード化して、1つのQRコードの作成処理を行う。
続いて、ステップS115において、プラグイン105は、ステップS109またはステップS111で読み込んだ文書データのうち、QRコードとして作成されていない残りの文書データがあるか否かを判断する。
ステップS115の判断の結果、ステップS109またはステップS111で読み込んだ文書データのうち、QRコードとして作成されていない残りの文書データがある場合には、作成するQRコード数を1つ増やす設定をして、ステップS114に戻り、当該残りの文書データにおけるQRコードを1つ作成する処理が行われる。
一方、ステップS115の判断の結果、ステップS109またはステップS111で読み込んだ文書データのうち、QRコードとして作成されていない残りの文書データがない場合には、ステップS116に進む。
ステップS116に進むと、プラグイン105は、ステップS113またはステップS114で作成したQRコードを、ステップS101で一時記憶した文書データ(PDL)のQRコード作成対象のページ(自ページ)aの所定位置に配置して付する。なお、ステップS114〜ステップS115のループで複数のQRコードが作成された場合には、各QRコードを、QRコード作成対象のページ(自ページ)aの所定位置にずらして配置して付する。
続いて、ステップS117において、プラグイン105は、QRコード作成対象のページ(自ページ)を示す変数aが、ステップS102で設定された文書データのページ総数Aよりも小さいか否かを判断する。
ステップS117の判断の結果、QRコード作成対象のページ(自ページ)を示す変数aが、ステップS102で設定された文書データのページ総数Aよりも小さい場合には、QRコードの作成処理を、ステップS101で一時記憶した文書データの全てのページについては行っていないと判断し、ステップS118に進む。
ステップS118に進むと、プラグイン105は、QRコード作成対象のページ(自ページ)を示す変数aに1を加算して、QRコード作成対象のページaを変更する。そして、ステップS118で変更したページaに対して、ステップS104以降の処理を再度行う。
一方、ステップS117において、QRコード作成対象のページ(自ページ)を示す変数aが、ステップS102で設定された文書データのページ総数A以上であると判断された場合には、QRコードの作成処理を、ステップS101で一時記憶した文書データの全てのページについて行ったと判断し、図6に示すフローチャートにおける処理を終了する。
その後、図6に処理によって、QRコードがページごとに付された一連の文書データの印刷処理がユーザにより指示されると、プリンタ300のCPU301は、プリンタ部340に、当該一連の文書データにおける印刷処理を行わせ、用紙(記録媒体)に当該一連の文書が印刷出力される(第1の出力ステップ)。即ち、用紙ごとに、QRコードを含む文書データが印刷される。
次に、図7を用いて、図6に示すステップS107の単一QRコード作成処理の詳細について説明する。
図6のステップS107の処理が開始されると、まず、図7のステップS201において、プラグイン105は、QRコード作成に係る設定画面601で設定された設定情報に基づいて、QRコードを作成するページの優先順位を決定する。具体的に、このステップS201では、図11または図13に示された設定画面601において詳細ボタン616が押下されて図12に示す詳細設定画面701が表示され、この詳細設定画面701で設定された優先順位に基づき、QRコードを作成するページの優先順位が決定される。
即ち、このステップS201では、自ページ、その前のページ、その後ろのページの合計データサイズによりこれらのデータが作成する単一のQRコードに格納できない場合に、ここで決定した優先順位に基づいてページデータをQRコードに格納するための処理である。ここで、本実施形態においては、図12に示す詳細設定画面701の設定に基づき、優先順位1として自分のページ(自ページ)が決定され、優先順位2として自分のページ(自ページ)における前のページまたは後ろのページの一方のページが決定され、優先順位3として優先順位2における他方のページが決定されるものとする。
続いて、ステップS202において、プラグイン105は、QRコード作成に係る設定画面601で設定された設定情報に基づいて、設定された作成データ範囲のデータのデータとしてテキストデータのみを作成するか否かを判断する。具体的に、このステップS202では、図11または図13に示された設定画面601において、『作成データをテキストに絞る』が選択されたのか否かに応じて、判断される。
ステップS202の判断の結果、テキストデータのみを作成するものではなく、作成データ範囲のページの全てのデータを作成する場合(即ち、図11に示す設定画面601のように、『作成データをテキストに絞る』が選択されずに設定された場合)には、ステップS203に進む。
ステップS203に進むと、プラグイン105は、QRコード作成に係る設定画面601で設定された設定情報に基づいて、図6のステップS101で一時記憶した文書データ(PDL)のうち、優先度1の文書データを読込む。ここで、本実施形態においては、ステップS201で優先順位1として自分のページ(自ページ)、即ち、QRコード作成対象のページを決定しているため、本例では、当該自ページの文書データが読込まれることになる。
続いて、ステップS204において、プラグイン105は、ステップS203で読込んだ文書データのデータサイズを決定し記憶する。ここで、ステップS203の処理が繰り返された場合には、文書データのデータサイズを積み重ねて、読込んだデータサイズを決定する。
続いて、ステップS205において、プラグイン105は、ステップS204で決定した読込んだデータサイズと、作成するQRコードが許容する容量とを比較し、QRコードで許容する容量が読込んだデータサイズよりも大きいか、或いは、最後の優先順位のページの文書データまで読込んでいないかを判断する。ここで、本例では、作成するQRコードが許容する容量として、上述した図6のステップS112と同様の主旨により、QRコードの全体サイズの8割を設定するものとする。
ステップS205の判断の結果、肯定判断された場合には、ステップS203で読込んだ文書データの優先度に対して優先度を1つ増やして、ステップS203に戻り、再度、ステップS203以降の処理を行う。
一方、ステップS205の判断の結果、否定判断された場合には、ステップS210に進む。
ステップS202の判断の結果、テキストデータのみを作成する場合(即ち、図13に示す設定画面601のように、『作成データをテキストに絞る』614が選択されて設定された場合)には、ステップS206に進む。
ステップS206に進むと、プラグイン105は、QRコード作成に係る設定画面601で設定された設定情報に基づいて、図6のステップS101で一時記憶した文書データ(PDL)のうち、優先度1の文書データからテキストデータのみを抽出する抽出処理を行う。
続いて、ステップS207において、プラグイン105は、ステップS206で抽出したテキストデータを読込む。
続いて、ステップS208において、プラグイン105は、ステップS207で読込んだテキストデータのデータサイズを決定し記憶する。ここで、ステップS207の処理が繰り返された場合には、テキストデータのデータサイズを積み重ねて、読込んだデータサイズを決定する。
続いて、ステップS209において、プラグイン105は、ステップS208で決定した読込んだデータサイズと、作成するQRコードが許容する容量とを比較し、QRコードで許容する容量が読込んだデータサイズよりも大きいか、或いは、最後の優先順位のページのテキストデータまで読込んでいないかを判断する。ここで、本例では、作成するQRコードが許容する容量として、上述した図6のステップS112と同様の主旨により、QRコードの全体サイズの8割を設定するものとする。
ステップS209の判断の結果、肯定判断された場合には、ステップS206及びS207で抽出し読込んだテキストデータの優先度に対して優先度を1つ増やして、ステップS206に戻り、再度、ステップS206以降の処理を行う。
一方、ステップS209の判断の結果、否定判断された場合には、ステップS210に進む。
ステップS210に進むと、プラグイン105は、QRコードで許容する容量が、ステップS204またはステップS208で決定した読込んだデータサイズと同じ(等しい)であるか否かを判断する。
ステップS210の判断の結果、QRコードで許容する容量が、ステップS204またはステップS208で決定した読込んだデータサイズと同じ(等しい)でない場合には、ステップS211に進む。
ステップS211に進むと、プラグイン105は、ステップS203またはステップS207で最後に読込んだページのデータを削除する処理を行う。
ステップS211の処理が終了した場合、或いは、ステップS210において、QRコードで許容する容量がステップS204またはステップS208で決定した読込んだデータサイズと同じ(等しい)であると判断された場合には、ステップS212に進む。
ステップS212に進むと、プラグイン105は、ステップS203またはステップS207で読み込んだ文書データ(ステップS211で削除したデータは除く)をバーコード化して、単一のQRコードの作成処理を行う。
続いて、ステップS213において、プラグイン105は、ステップS212で作成したQRコードを、図6のステップS101で一時記憶した文書データ(PDL)のQRコード作成対象のページ(自ページ)aの所定位置に配置して付する。その後、上述した図6のステップS117に進み、ステップS117以降の処理が行われる。
次に、図8を用いて、図6に示すステップS105のQRコードサイズに合わせた単一QRコード作成処理の詳細について説明する。
図6のステップS105の処理が開始されると、まず、図8のステップS301において、プラグイン105は、QRコード作成に係る設定画面601で設定された設定情報に基づいて、QRコードを作成するページ単位の優先順位を決定する。具体的に、このステップS301では、図14または図16に示された設定画面601において詳細ボタン618が押下されて図15に示す詳細設定画面801が表示され、この詳細設定画面801で設定された優先順位に基づき、QRコードを作成するページ単位の優先順位が決定される。
ここで、本実施形態においては、図15に示す詳細設定画面801の設定に基づき、優先順位1として自分のページ(自ページ)を含む自分に近いページが決定され、優先順位2として自分に近いページにおける前方のページまたは後方のページの一方のページ単位が決定され、優先順位3として優先順位2における他方のページ単位が決定されるものとする。
続いて、ステップS302において、プラグイン105は、QRコード作成に係る設定画面601で設定された設定情報に基づいて、設定された作成データ範囲のデータのデータとしてテキストデータのみを作成するか否かを判断する。
ステップS302の判断の結果、テキストデータのみを作成するものではなく、作成データ範囲のページの全てのデータを作成する場合(即ち、図14に示す設定画面601のように、『作成データをテキストに絞る』が選択されずに設定された場合)には、ステップS303に進む。
ステップS303に進むと、プラグイン105は、QRコード作成に係る設定画面601で設定された設定情報に基づいて、図6のステップS101で一時記憶した文書データ(PDL)のうち、優先度1のページ単位の文書データを読込む。ここで、本実施形態においては、ステップS301で優先順位1として自分のページ(自ページ)を含む自分に近いページを決定しているため、本例では、まず、QRコード作成対象のページを含むページ単位の文書データが読込まれることになる。
続いて、ステップS304において、プラグイン105は、ステップS303で読込んだ文書データのデータサイズを決定し記憶する。ここで、ステップS303の処理が繰り返された場合には、文書データのデータサイズを積み重ねて、読込んだデータサイズを決定する。
続いて、ステップS305において、プラグイン105は、ステップS304で決定した読込んだデータサイズと、作成するQRコードが許容する容量とを比較し、QRコードで許容する容量が読込んだデータサイズよりも大きいか否かを判断する。ここで、本例では、作成するQRコードが許容する容量として、上述した図6のステップS112と同様の主旨により、QRコードの全体サイズの8割を設定するものとする。また、ここでは、図6のステップS101で一時記憶した文書データ(PDL)のデータサイズは、ステップS305における作成するQRコードが許容する容量よりも大きいものとする(即ち、図15に示す詳細設定画面801により設定された最後の優先順位のページ単位まで処理されて、ステップS303〜ステップS305のループが繰り返され続けることがないものとする)。
ステップS305の判断の結果、QRコードで許容する容量が読込んだデータサイズよりも大きい場合には、ステップS303で読込んだ文書データの優先度に対して優先度を1つ増やして、ステップS303に戻り、再度、ステップS303以降の処理を行う。
一方、ステップS305の判断の結果、QRコードで許容する容量が読込んだデータサイズよりも大きくない(以下である)場合には、ステップS310に進む。
ステップS302の判断の結果、テキストデータのみを作成する場合(即ち、図16に示す設定画面601のように、『作成データをテキストに絞る』614が選択されて設定された場合)には、ステップS306に進む。
ステップS306に進むと、プラグイン105は、QRコード作成に係る設定画面601で設定された設定情報に基づいて、図6のステップS101で一時記憶した文書データ(PDL)のうち、優先度1のページ単位の文書データからテキストデータのみを抽出する抽出処理を行う。
続いて、ステップS307において、プラグイン105は、ステップS306で抽出したテキストデータを読込む。
続いて、ステップS308において、プラグイン105は、ステップS307で読込んだテキストデータのデータサイズを決定し記憶する。ここで、ステップS307の処理が繰り返された場合には、テキストデータのデータサイズを積み重ねて、読込んだデータサイズを決定する。
続いて、ステップS309において、プラグイン105は、ステップS308で決定した読込んだデータサイズと、作成するQRコードが許容する容量とを比較し、QRコードで許容する容量が読込んだデータサイズよりも大きいか否かを判断する。ここで、本例では、作成するQRコードが許容する容量として、上述した図6のステップS112と同様の主旨により、QRコードの全体サイズの8割を設定するものとする。また、ここでは、図6のステップS101で一時記憶した文書データ(PDL)から抽出されるテキストデータのデータサイズは、ステップS309における作成するQRコードが許容する容量よりも大きいものとする(即ち、図15に示す詳細設定画面801により設定された最後の優先順位のページ単位まで処理されて、ステップS306〜ステップS309のループが繰り返され続けることがないものとする)。
ステップS309の判断の結果、QRコードで許容する容量が読込んだデータサイズよりも大きい場合には、ステップS306及びS307で抽出し読込んだテキストデータの優先度に対して優先度を1つ増やして、ステップS306に戻り、再度、ステップS306以降の処理を行う。
一方、ステップS309の判断の結果、QRコードで許容する容量が読込んだデータサイズよりも大きくない(以下である)場合には、ステップS310に進む。
ステップS310に進むと、プラグイン105は、QRコードで許容する容量が、ステップS304またはステップS308で決定した読込んだデータサイズと同じ(等しい)であるか否かを判断する。
ステップS310の判断の結果、QRコードで許容する容量が、ステップS304またはステップS308で決定した読込んだデータサイズと同じ(等しい)でない場合には、ステップS311に進む。
ステップS311に進むと、プラグイン105は、ステップS303またはステップS307で最後に読込んだページのデータを削除する処理を行う。
ステップS311の処理が終了した場合、或いは、ステップS310において、QRコードで許容する容量がステップS304またはステップS308で決定した読込んだデータサイズと同じ(等しい)であると判断された場合には、ステップS312に進む。
ステップS312に進むと、プラグイン105は、ステップS303またはステップS307で読み込んだ文書データ(ステップS311で削除したデータは除く)をバーコード化して、単一のQRコードの作成処理を行う。
続いて、ステップS313において、プラグイン105は、ステップS312で作成したQRコードを、図6のステップS101で一時記憶した文書データ(PDL)のQRコード作成対象のページ(自ページ)aの所定位置に配置して付する。その後、上述した図6のステップS117に進み、ステップS117以降の処理が行われる。
次に、QRコードを用いた文書の復元処理における処理手順について説明する。
図17は、本発明の実施形態に係る文書復元システム100のQRコードを用いた文書の復元処理における処理手順の一例を示すフローチャートである。また、図18は、図17に示すステップS420の詳細な処理手順の一例を示すフローチャートである。また、図19は、図18に示すステップS502の詳細な処理手順の一例を示すフローチャートである。また、図20〜図28は、本発明の実施形態に係る文書復元システム100のQRコードを用いた文書の復元処理の際に、図3に示すプリンタ300の操作部320の表示画面321に表示される操作画面の一例を示す模式図である。
以下、図17〜図28を用いて、QRコードを用いた文書の復元処理について説明する。まず、図17に示すフローチャートの説明を行う。
まず、図17のステップS401において、プリンタ300のCPU301は、ユーザの操作部320に対する入力指示に基づいて、図20に示すコピーモード選択画面901を操作部320の表示画面321に表示する処理を行う。
続いて、ステップS402において、プリンタ300のCPU301は、図20に示すコピーモード選択画面901において、ユーザにより復元コピーボタン912が押下されて、復元コピーが選択されたか否かを判断する。
ステップS402の判断の結果、復元コピーが選択された場合には、ステップS403に進む。ステップS403に進むと、プリンタ300のCPU301は、復元したい文書を解析するためにスキャンを行う旨の案内メッセージを含む、図21に示す文書解析前確認画面902を操作部320の表示画面321に表示する処理を行う。
その後、ユーザにより復元対象である一連の紙文書(この紙文書には、紙文書ごとに上述したQRコードが印刷されている)がスキャナ部350にセットされ、図21に示す文書解析前確認画面902のOKボタン913がユーザにより押下されると、続いて、ステップS404において、プリンタ300のCPU301は、スキャナ部350を制御して、当該紙文書のスキャン処理を行う。なお、ユーザにより、図21に示す文書解析前確認画面902のキャンセルボタン914が押下された場合には、ステップS404のスキャン処理を行わない。
続いて、ステップS405において、プラグイン105(具体的に、当該プラグインがクライアント端末装置200に設けられている場合にはCPU201、当該プラグインがプリンタ300に設けられている場合にはCPU301)は、ステップS404でスキャンした紙文書のページごとに、当該紙文書のページに付されているQRコードを読込む。
続いて、ステップS406において、プラグイン105は、ステップS405で読込んだQRコードに保持されている情報(図4)の解析処理を行う。
続いて、ステップS407において、プラグイン105は、ステップS406で解析した解析結果を図5に示す解析結果テーブル120に保持する。
続いて、ステップS408において、プラグイン105は、ステップS404でスキャンされた次の文書(用紙)があるか否かを判断する。この判断の結果、ステップS404でスキャンされた次の文書(用紙)がある場合には、ステップS405に戻り、ステップS405以降の処理を再度行う。
一方、ステップS408の判断の結果、ステップS404でスキャンされた次の文書(用紙)がない場合には、ステップS409に進む。
ステップS409に進むと、プラグイン105は、図5に示す解析結果テーブル120に保持された解析結果情報に基づいて、復元できないページが基準値(例えば、全体のページ数に対して復元できないページの割合が3割)よりも多いか否かを判断する。このステップS409の判断は、具体的に、図5に示す解析結果テーブル120に保持された、QRコードでの復元の有無情報123に基づいて行われる。
ステップS409の判断の結果、復元できないページが基準値よりも多い場合には、ステップS410に進む。
ステップS410に進むと、プリンタ300のCPU301は、図22に示す文書解析結果画面903を操作部320の表示画面321に表示する処理を行う。この図22に示す文書解析結果画面903には、復元できないページに係るページ情報が表示される。
続いて、ステップS411において、プリンタ300のCPU301は、図22に示す文書解析結果画面903において、ユーザにより復元するボタン915が押下されて、復元対象の文書の復元を行うか否かを判断する。
ステップS411の判断の結果、復元するボタン915が押下されて、復元対象の文書の復元を行う場合には、ステップS413に進む。
一方、ステップS411の判断の結果、復元対象の文書の復元を行わない場合(図22に示す文書解析結果画面903の復元しないボタン916が押下された場合)には、図17に示すフローチャートにおける処理を終了する。
また、テップS409の判断の結果、復元できないページが基準値よりも多くない場合には、ステップS412に進む。
ステップS412に進むと、プラグイン105は、図5に示す解析結果テーブル120に保持された解析結果情報に基づいて、欠損ページがあるか否かを判断する。このステップS412の判断は、具体的に、図5に示す解析結果テーブル120に保持された、原稿の有無情報122に基づいて行われる。
ステップS412の判断の結果、欠損ページがある場合には、ステップS413に進む。
ステップS413に進むと、プリンタ300のCPU301は、図23に示す文書解析結果画面904を操作部320の表示画面321に表示する処理を行う。この図23に示す文書解析結果画面904には、欠損ページに係るページ情報(欠損ページ数の情報)が表示される。
続いて、ステップS414において、プリンタ300のCPU301は、図23に示す文書解析結果画面904の元の文書全て印刷ボタン917、欠損ページのみ印刷ボタン918、インサーター使用のチェックボックス919に対するユーザからの操作選択を受け付ける。
続いて、ステップS415において、プリンタ300のCPU301は、図24に示す文書復元方法選択画面905を操作部320の表示画面321に表示する処理を行う。
続いて、ステップS416において、プリンタ300のCPU301は、図24に示す文書復元方法選択画面905のテキストデータのみ復元ボタン920、紙データからコピーボタン921に対するユーザからの操作選択を受け付ける。
続いて、ステップS417において、プリンタ300のCPU301は、図25に示すQRコード作成選択画面906を操作部320の表示画面321に表示する処理を行う。
続いて、ステップS418において、プリンタ300のCPU301は、図25に示すQRコード作成選択画面906のするボタン922、しないボタン923に対するユーザからの操作選択を受け付ける。
続いて、ステップS419において、プリンタ300のCPU301は、図26に示す復元確認画面907を操作部320の表示画面321に表示する処理を行う。
その後、図26に示す復元確認画面907のOKボタン924がユーザにより押下されると、続いて、ステップS420において、プラグイン105は、図20〜図26に示す操作画面に対するユーザの操作選択に応じて、文書データの復元処理を行う。このステップS420の詳細については、図18を用いて後述する。なお、ユーザにより、図26に示す復元確認画面907のNGボタン925が押下された場合には、ステップS420の復元処理を行わない。
続いて、ステップS421において、プリンタ300のCPU301は、プリンタ部340を制御して、ステップS420で復元した文書データを用紙に印刷出力する(第2の出力ステップ)。その後、図17に示すフローチャートにおける処理を終了する。
また、ステップS412の判断の結果、欠損ページがない場合には、ステップS422に進む。
ステップS422に進むと、プリンタ300のCPU301は、図27に示す確認画面908を操作部320の表示画面321に表示する処理を行う。その後、図27に示す確認画面908において、ユーザによりOKボタン926が押下されると、図17に示すフローチャートにおける処理を終了する。
また、ステップS402の判断の結果、復元コピーが選択されなかった場合(即ち、図20に示すコピーモード選択画面901において、ユーザにより通常コピーボタン911が押下されて通常コピーが選択された場合)には、ステップS423に進む。
その後、ユーザによりコピー対象の紙文書がスキャナ部350にセットされ、当該紙文書のコピーの実行指示がなされると、ステップS423において、プリンタ300のCPU301は、スキャナ部350を制御して、当該紙文書のスキャン処理を行う。
続いて、ステップS424において、プリンタ300のCPU301は、プリンタ部340を制御して、ステップS423でスキャンした文書データを用紙に印刷する。その後、図17に示すフローチャートにおける処理を終了する。
次に、図18を用いて、図17に示すステップS420の文書データの復元処理の詳細について説明する。
図17のステップS420の処理が開始されると、まず、図18のステップS501において、プラグイン105は、ステップS414で受け付けた、図23に示す文書解析結果画面904のボタン(917、918)の操作選択に応じて、元の文書全て印刷するのか、或いは、欠損ページのみ印刷するのかを判断する。
ステップS501の判断の結果、欠損ページのみ印刷する場合(図23に示す文書解析結果画面904において欠損ページのみ印刷ボタン918が操作選択された場合)には、ステップS502に進む。
ステップS502に進むと、プラグイン105は、欠損ページのみの復元処理を行う。このステップS502の詳細については、図19を用いて後述する。このステップS502の処理が終了すると、図18に示すフローチャートの処理が終了し(即ち、図17に示すステップS420の処理が終了し)、その後、図17のステップS421(印刷処理)に進むことになる。
一方、ステップS501の判断の結果、元の文書全て印刷する場合(図23に示す文書解析結果画面904において元の文書全て印刷ボタン917が操作選択された場合)には、ステップS503に進む。
ステップS503に進むと、プラグイン105は、復元対象の文書のページごとに、図5に示す解析結果テーブル120を参照する。
続いて、ステップS504において、プラグイン105は、ステップS503で参照した図5に示す解析結果テーブル120に保持されている解析結果情報に基づいて、復元対象の文書のページごとに、元の原稿がある、或いは、復元できるか否かを判断する。このステップS504の判断は、具体的に、図5に示す解析結果テーブル120に保持された、原稿の有無情報122、及び、QRコードでの復元の有無情報123に基づいて行われる。
ステップS504の判断の結果、元の原稿がなく、また、復元できない場合には、ステップS514に進む。一方、ステップS504の判断の結果、元の原稿がある、もしくは、復元できる場合には、ステップS505に進む。
ステップS505に進むと、プラグイン105は、図4に示すQRコードの保持情報(具体的には、情報114)に基づいて、QRコードに保持されているデータ115がテキストデータのみか否かを判断する。
ステップS505の判断の結果、QRコードに保持されているデータ115がテキストデータのみでない場合(例えば画像データ等が含まれているデータである場合)には、ステップS506に進む。
ステップS506に進むと、プラグイン105は、当該復元対象の文書の文書データを保持するQRコードから、当該QRコードに保持されている情報(図5)を読込む。
続いて、ステップS507において、プラグイン105は、ステップS506で読込んだQRコードの情報(具体的にはデータ115)に基づいて、当該復元対象の文書の文書データの復元処理を行う。その後、ステップS511に進む。
一方、ステップS505の判断の結果、QRコードに保持されているデータ115がテキストデータのみである場合には、ステップS508に進む。
ステップS508に進むと、プラグイン105は、ステップS416で受け付けた、図24に示す文書復元方法選択画面905のボタン(920、921)の操作選択に応じて、復元方法を、テキストデータのみ復元するのか、或いは、紙データからコピーするのかを判断する。
ステップS508の判断の結果、テキストデータのみ復元する場合(図24に示す文書復元方法選択画面905においてテキストデータのみ復元ボタン920が操作選択された場合)には、ステップS509に進む。
ステップS509に進むと、プラグイン105は、当該復元対象の文書の文書データ(テキストデータ)を保持するQRコードから、当該QRコードに保持されている情報(図5)を読込んで、読込んだQRコードの情報(具体的にはデータ115)に基づいて、当該復元対象の文書の文書データ(テキストデータ)の復元処理を行う。その後、ステップS511に進む。
一方、ステップS508の判断の結果、紙データからコピーする場合(図24に示す文書復元方法選択画面905において紙データからコピーボタン921が操作選択された場合)には、ステップS510に進む。
ステップS510に進むと、プラグイン105は、紙データから読込んだ印刷画像データとして保持する処理を行う。その後、ステップS514に進む。
また、ステップS507或いはステップS509の処理が終了すると、続いて、ステップS511において、プラグイン105は、ステップS418で受け付けた、図25に示すQRコード作成選択画面906のボタン(922、923)の操作選択に応じて、QRコードを作成するのか否かを判断する。
ステップS511の判断の結果、QRコードを作成しない場合(図25に示すQRコード作成選択画面906において、しないボタン923が操作選択された場合)には、ステップS514に進む。一方、ステップS511の判断の結果、QRコードを作成する場合(図25に示すQRコード作成選択画面906において、するボタン922が操作選択された場合)には、ステップS512に進む。
ステップS512に進むと、プラグイン105は、上述した図6に示すQRコード作成処理と同様の主旨により、復元対象の文書の文書データに付するQRコードを作成する。
続いて、ステップS513において、プラグイン105は、ステップS512で作成したQRコードを、ステップS507またはステップS509で復元した文書データの所定位置に配置して付する。その後、ステップS514に進む。
ステップS514に進むと、プラグイン105は、復元対象の文書の次ページがあるか否かを判断する。この判断の結果、復元対象の文書の次ページがある場合には、ステップS503に戻り、当該次ページの復元対象の文書における処理が行われる。
一方、ステップS514の判断の結果、復元対象の文書の次ページがない場合には、図18に示すフローチャートの処理が終了し(即ち、図17に示すステップS420の処理が終了し)、その後、図17のステップS421に進むことになる。
次に、図19を用いて、図18に示すステップS502の欠損ページのみの復元処理の詳細について説明する。
図18のステップS502の処理が開始されると、まず、図19のステップS601において、プラグイン105は、復元対象の文書のページごとに、図5に示す解析結果テーブル120を参照する。
続いて、ステップS602において、プラグイン105は、ステップS601で参照した図5に示す解析結果テーブル120に保持されている解析結果情報に基づいて、復元対象の文書のページごとに、当該ページが欠損しているか否かを判断する。
ステップS602の判断の結果、当該ページが欠損していない場合には、ステップS609に進む。一方、ステップS602の判断の結果、当該ページが欠損している場合には、ステップS603に進む。
ステップS603に進むと、プラグイン105は、例えば、欠損した当該ページの前後のページに配置されているQRコードの中から、復元可能なQRコードを特定する。
続いて、ステップS604において、プラグイン105は、ステップS603で特定したQRコードから、当該QRコードに保持されている情報(図5)を読込む。
続いて、ステップS605において、プラグイン105は、ステップS604で読込んだQRコードの情報(具体的にはデータ115)に基づいて、当該欠損したページの文書データの復元処理を行う。
続いて、ステップS606において、プラグイン105は、ステップS418で受け付けた、図25に示すQRコード作成選択画面906のボタン(922、923)の操作選択に応じて、QRコードを作成するのか否かを判断する。
ステップS606の判断の結果、QRコードを作成しない場合(図25に示すQRコード作成選択画面906において、しないボタン923が操作選択された場合)には、ステップS609に進む。一方、ステップS606の判断の結果、QRコードを作成する場合(図25に示すQRコード作成選択画面906において、するボタン922が操作選択された場合)には、ステップS607に進む。
ステップS607に進むと、プラグイン105は、上述した図6に示すQRコード作成処理と同様の主旨により、QRコードを作成する。
続いて、ステップS608において、プラグイン105は、ステップS607で作成したQRコードを、ステップS605で復元した文書データの所定位置に配置して付する。その後、ステップS609に進む。
ステップS609に進むと、プラグイン105は、復元対象の文書の次ページがあるか否かを判断する。この判断の結果、復元対象の文書の次ページがある場合には、ステップS601に戻り、当該次ページの復元対象の文書における処理が行われる。
一方、ステップS609の判断の結果、復元対象の文書の次ページがない場合には、ステップS610に進む。
ステップS610に進むと、例えばプリンタ300のCPU301は、ステップS414で受け付けた、図23に示す文書解析結果画面904のインサーター使用のチェックボックス919における操作選択に応じて、インサーター500を使用するか否かを判断する。
ステップS610の判断の結果、インサーター500を使用する場合(図23に示す文書解析結果画面904のインサーター使用のチェックボックス919にチェックされた場合)には、ステップS611に進む。
ステップS611に進むと、例えばプリンタ300のCPU301は、図5に示す解析結果テーブル120に基づいて、インサーター機能を使用するためのリスト指示テーブルを作成する。このリスト指示テーブルでは、図5に示す解析結果テーブル120の原稿の有無情報122が「原稿」となっているものについてはインサーター500から排紙し、「欠損」となっているものについては給紙カセットから排紙する設定となる。なお、図5に示す解析結果テーブル120のページ番号3のように、原稿の有無情報122が「欠損」であってQRコードでの復元の有無情報123が「QRNG」の文書については、その復元が不可能である。
続いて、ステップS612において、例えばプリンタ300のCPU301は、操作部320の表示画面321に、図28に示すインサーターに原稿をセットする指示画面909を表示する処理を行う。
その後、図28に示すインサーターに原稿をセットする指示画面909のOKボタン927がユーザにより押下されると、続いて、ステップS613において、例えばプリンタ300のCPU301は、ステップS611で作成したリスト指示テーブルの内容をインサーター500にセットする。
ステップS613の処理が終了した場合、或いは、ステップS610でインサーター500を使用しないと判断された場合には、図19に示すフローチャートにおける処理が終了し、図18に示すステップS502の処理が終了する。
以上、説明したように、本実施形態に係る文書復元システム100では、以下に示す処理を行なうようにしている。
即ち、文書復元システム100では、複数のページからなる文書データを記憶手段に記憶し(図6のS101:記憶ステップ)、また、文書データのページごとに、自ページ及びその他のページを復元可能範囲とする設定を行うようにしている(図9〜図16の設定画面による設定:設定ステップ)。また、設定された復元可能範囲の文書データ、及び、文書データのページを表すページ情報を含むQRコードを、前記記憶ステップで記憶した文書データのページごとに作成し(図6のS102〜S115、図7のS201〜S212、図8のS301〜S312:2次元バーコード作成ステップ)、作成されたQRコードを、前記記憶ステップで記憶した文書データの各ページの所定位置に配置するようにしている(図6のS116、図7のS213、図8のS313:配置ステップ)。その後、文書復元システム100では、QRコードがページごとに配置された文書データを、ページごとに記録媒体に出力するようにしている(第1の出力ステップ)。
さらに、文書復元システム100では、QRコード及び文書データがページごとに記録された各記録媒体から、QRコードを読込む処理を行い(図17のS405:読込ステップ)、読込まれたQRコードに含まれるページ情報から欠損ページの記録媒体がある場合に、当該欠損ページの記録媒体に出力された文書データを、前記読込ステップによって読込まれた記録媒体のQRコードに含まれる復元可能範囲の文書データから復元し(図17のS406〜図17のS420:文書データ復元ステップ)、復元された文書データを欠損ページごとに記録媒体に出力するようにしている(図17のS421:第2の出力ステップ)。
かかる構成によれば、自ページ及びその他のページの文書データ、及び、文書データのページを表すページ情報を含むQRコードを、文書データのページごとに配置するようにしたので、このQRコードの情報を読取ることによって、欠損ページを検出し、その欠損ページの復元を行うことができる。即ち、一度印刷出力した紙文書が紛失・破損した場合に、その復元を容易に行うことが可能となる。また、インサーター機能を使用した場合には、欠損ページを元の文書にページ順に挿入して完成することもできる。
また、上述したように、本実施形態に係る文書復元システム100においては、図1−2に示すプラグイン105の機能を、情報処理装置であるクライアント端末装置200に設ける態様であっても、画像形成装置であるプリンタ300に設ける態様であっても、クライアント端末装置200及びプリンタ300の両方に設ける態様であっても、適用可能である。
例えば、プラグイン105の機能をクライアント端末装置200に設ける態様の場合には、クライアント端末装置200において、例えば、前記記憶ステップ、前記設定ステップ、前記2次元バーコード作成ステップ、前記配置ステップ、及び、前記文書データ復元ステップの処理を行い、プリンタ300において、例えば、前記第1の出力ステップ、前記読込ステップ、及び、前記第2の出力ステップの処理を行う形態を採る。
また、例えば、プラグイン105の機能をプリンタ300に設ける態様の場合には、クライアント端末装置200において、例えば、前記記憶手段に記憶する文書データの生成を行い、プリンタ300において、例えば、前記記憶ステップ、前記設定ステップ、前記2次元バーコード作成ステップ、前記配置ステップ、前記第1の出力ステップ、前記読込ステップ、前記文書データ復元ステップ、及び、前記第2の出力ステップの処理を行う形態を採る。
また、例えば、プラグイン105の機能をクライアント端末装置200及びプリンタ300の両方に設ける態様の場合には、クライアント端末装置200において、例えば、前記記憶ステップ、前記設定ステップ、前記2次元バーコード作成ステップ、及び、前記配置ステップの処理を行い、プリンタ300において、例えば、前記第1の出力ステップ、前記読込ステップ、前記文書データ復元ステップ、及び、前記第2の出力ステップの処理を行う形態を採る。
(本発明の他の実施形態)
前述した本発明の実施形態に係る文書復元システム100を構成する各手段、並びに、文書復元システム100による文書復元方法を示す図6〜図8、図17〜図19の各ステップは、コンピュータのCPUがRAMやROMなどに記憶されたプログラムを実行することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
また、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図6〜図8、図17〜図19に示すフローチャートに対応したプログラム)を、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
プログラムを供給するための記録媒体としては、例えば、フロッピーディスク(登録商標)、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
なお、前述した各実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。