以下、添付図面を参照して本発明の好適な実施例を詳しく説明する。尚、以下の実施例は特許請求の範囲に係る本発明を限定するものでなく、また本実施例で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
<実施例1>
図1は、本発明に係る実施例における情報処理装置のハードウェア構成の一例を示すブロック図である。図1における情報処理装置は、例えばPC(パーソナルコンピュータ)である。PC100は、PC本体101、液晶ディスプレイ109、キーボード110、マウス(ポインティングデバイス)111を含む。PC本体101は、CPU102、ハードディスクドライブ(HDD)103、RAM104、ディスプレイコントローラ105、キーボード・マウスコントローラ106、USBコントローラ107を含む。また、システムバス108は、CPU102〜USBコントローラ107を相互に接続する。PC100には、USBケーブル113を介してプリンタ112が接続されている。プリンタ112は、画像データをPC100から受信し、記録紙等の記録媒体上にその画像データに基づく画像の印刷を行う。PC100は汎用的なものを使用可能である。
CPU102は、RAM104内に読み込まれたソフトウェアを読み出し、実行することにより、PC本体101内の各部を制御し、読み出したソフトウェアの機能を実現する。HDD103は、アプリケーションソフトウェア、アプリケーションソフトウェアが使用するコンテンツとしての画像データ(コンテンツファイル)、コンテンツデータベース等を格納する。またPC100用のオペレーティングシステム(OS)やプリンタ112用のデバイスドライバもHDD103に格納される。HDD103内の個々のソフトウェアやデータは、ファイル形式として格納される。またHDD103内には、フォルダを作成することができ、そのフォルダは、ファイルや他のフォルダを含むことができる。このことにより、HDD103内には、フォルダによる階層構造が構成される。
RAM104には、HDD103に格納されたアプリケーションソフトウェアが読み込まれる。また、CPU102が各ソフトウェアを実行する際のワークエリアもRAM104中に確保される。ディスプレイコントローラ105は、液晶ディスプレイ109を制御し、液晶ディスプレイ109へ文字や画像を表示させる。キーボード・マウスコントローラ106は、ユーザからのキーボード110やマウス111を介した入力を受け付ける。システムバス108は、PC本体101内の各部を相互に接続し、各種データを伝達する。
なお、本実施例ではPC100は表示装置として液晶ディスプレイ109を備えているが、ブラウン管ディスプレイ、プラズマディスプレイ等、他の方式による表示装置を用いても良い。また、入力装置としてキーボード110およびマウス111を備えているが、PC100の対話的な操作が可能な構成であれば、タッチパネル、トラックボールなど、他の方式による入力装置を用いても良い。また、PC100とプリンタ112との接続インタフェースはUSBであるが、IEEE802.11、100BaseTX等、他の通信技術を用いても良い。
上記の構成において、PC100を本実施例における情報処理装置として機能させるためには、アプリケーションソフトウェア、コンテンツファイル、コンテンツデータベースをHDD103にインストールする必要がある。このインストールは一度、行うようにすれば良い。
図2は、PC100を本実施例における情報処理装置として機能させる印刷アプリケーションソフトウェアの構成図である。印刷アプリケーション201は、アプリケーション制御部202、ユーザ入力制御部203、ファイル入出力部204、コンテンツ管理部205、印刷制御部206、表示制御部207を含む。アプリケーション制御部202は、文書管理部208、印刷許可判定部209を含む。
ユーザ入力制御部203は、キーボード110、マウス111を介したユーザからの入力を取得する。ファイル入出力部204は、ユーザが印刷アプリケーション201を用いて作成した印刷に用いる文書を文書ファイル220としてHDD103中へ保存し、また、HDD103中に保存されている文書ファイル220を読み込む。本実施例において文書とは文字を必ずしも含む必要はなく、例えば画像のみで構成されたものも含む。ファイル入出力部204は、さらに、ユーザが印刷アプリケーション201を用いて文書を作成する際に使用する画像データをHDD103中のコンテンツファイル格納部221から読み込む。コンテンツ管理部205は、HDD103中に構成されたコンテンツデータベース222に対する問い合わせやデータ更新を行う。表示制御部207は、液晶ディスプレイ109に印刷アプリケーション201の操作画面を表示するように制御する。印刷制御部206は、ユーザにより印刷アプリケーション201で指定された画像データをプリンタ112により印刷するように制御する。印刷アプリケーション制御部202は、これら各部の動作を統括制御する。
図3は、コンテンツデータベース222の一例を示す図である。コンテンツデータベース222は、コンテンツ(画像データ)のそれぞれについて、コンテンツID301、コンテンツ所在情報302、印刷許可残り回数303、印刷許可期限304が対応付けられたテーブル形式のデータを保持する。コンテンツID301は、4桁の数値で表され、コンテンツ所在情報302は、HDD103内のフォルダ階層中でのコンテンツファイルの位置とファイル名を組み合わせた文字列で表される。図3の例では、コンテンツIDが0001であるコンテンツファイルはHDD103中のフォルダ“C:¥”に含まれるサブフォルダ“CNT¥”内のファイル“0001.IMG”であることを示している。
印刷許可残り回数303と印刷許可期限304は、コンテンツとしての画像データの印刷許可情報である。図3中のコンテンツIDが0001である画像データについては、あと10回印刷を行うことが許可されているが、11回目の印刷はできないことが示されている。また、この画像データは、印刷許可期限が2010年12月31日であり、印刷回数が10回に達していなくても、2010年12月31日を過ぎると印刷できないことが示されている。
図4は、印刷アプリケーション201を用いて、ユーザが作成した文書の例を示す図である。図4(a)に示す文書ファイル410は、レイアウト表示の一例であるプレビュー画面上で一枚の記録媒体(1ページ)に3点の画像データをレイアウト編集して取得された文書ファイルである。文書ファイル410中の画像データ401、402、403は、それぞれ図3のコンテンツデータベース222においてコンテンツIDが0001、0002、0003である画像を使用している。図4(b)に示す文書ファイル420も、1ページに3点の画像データを配置した文書である。文書ファイル420中には、図3のコンテンツデータベース222においてコンテンツIDが0001である画像データ401が2回、コンテンツIDが0002である画像データ402が1回、それぞれ使用されている。これらの内、コンテンツIDが0002である画像データ402は、図3に示す通り既に印刷許可残り回数が0となっている。従って、現在の日付が2009年12月1日だとすると、文書ファイル410、文書ファイル420はいずれもまだ印刷処理可能な画像データを含んでいることになるが、文書全体としては印刷が許可されない。即ち、本実施例では、印刷対象の文書に含まれるコンテンツの全てが印刷可能でなければ当該文書の印刷は行わない。これは不完全な状態での印刷(複数のコンテンツが配置されているにも拘わらず印刷が許可されているコンテンツのみを印刷すること)がなされてしまうことを防ぐためである。
図5は、印刷アプリケーション201を用いて文書ファイル410を作成する際に、印刷アプリケーション201がPC100の液晶ディスプレイ109に表示する画面の例を示す図である。印刷アプリケーション201は、画面501上に開くボタン502、追加ボタン503、削除ボタン504、印刷ボタン505、保存ボタン506、終了ボタン507と、文書編集領域510を表示する。
ユーザがマウス111を使って開くボタン502をクリックすると、印刷アプリケーション201は、不図示の「ファイルを開く」ダイアログ画面を表示する。ユーザは、ダイアログ画面中でキーボード110、マウス111を使って、予めHDD103に保存された文書ファイル220を選択することができる。この操作に対して、印刷アプリケーション201は選択された文書ファイル220を読み込み、その内容を文書編集領域510中にページイメージ511として表示する。
ユーザが追加ボタン503をクリックすると、印刷アプリケーション201は、不図示の「画像を選ぶ」ダイアログ画面を表示する。ユーザは、ダイアログ画面中で、HDD103のコンテンツデータベース222に登録されている画像データをコンテンツとして選択することができる。この操作に対して、印刷アプリケーション201は、選択されたコンテンツに対応する画像データをコンテンツファイル格納部221から読み出し、ページイメージ511中にレイアウト配置する。ユーザがページイメージ511中の画像を選択後、削除ボタン504をクリックすると、印刷アプリケーション201はページイメージ511から選択された画像データを削除する。
ユーザが印刷ボタン505をクリックすると、印刷アプリケーション201は、ページイメージ511に表示している文書の印刷処理を行う。この時、文書管理部208は、その文書中の全ての画像データを特定し、コンテンツ管理部205が特定された画像データの印刷許可情報をコンテンツデータベース222から取得する。印刷許可判定部209は取得した印刷許可情報に基づいて、印刷が許可されない画像データが含まれているか否かを判定する。印刷が許可されない画像データが含まれていない場合のみ、印刷制御部206が文書の印刷処理を行い、プリンタ112がその文書を印刷する。文書の印刷を行った際に、コンテンツ管理部205は、特定された画像データそれぞれについて、コンテンツデータベース222内の印刷許可情報を更新する。例えば、印刷許可残り回数303から、文書中で使用されているコンテンツの数分だけ減算する。
ユーザが保存ボタン506をクリックすると、印刷アプリケーション201は、不図示の「ファイルに保存」ダイアログ画面を表示する。ユーザは、ダイアログ画面中で、HDD103のフォルダ階層中での保存位置およびファイル名を指定することができる。この操作に対して印刷アプリケーション201は、ページイメージ511に表示されている文書の内容情報を、指定された保存位置に指定されたファイル名を持つ文書ファイル220として記録する。ユーザが終了ボタン507をクリックすると、印刷アプリケーション201は画面501を閉じ、処理動作を終了する。
図6は、印刷アプリケーション201が文書内容をページイメージ511に表示する処理の手順を示すフローチャートである。開くボタン502の押下により文書ファイル220が読み込まれた場合、または、追加ボタン503の押下により画像データが追加された場合、アプリケーション201は、図6に示す処理を実行する。図6に示す処理は、例えば、CPU102により実行される。
図6に示す表示処理が起動されると(S600)、文書管理部208は、作成中の文書に含まれる全ての画像データ(コンテンツ)を特定する(S601)。次に、文書管理部208は、特定された全ての画像データの中から1種類を選択する(S602)。そしてコンテンツ管理部205がコンテンツデータベース222へ問い合わせ、選択された画像データに関する印刷許可情報を取得する(S603)。その後、印刷許可判定部209は、取得した印刷許可情報と、選択された画像データの文書内での使用数、現在の日付情報に基づいて、選択された画像データの印刷可否を判定する(S604)。ここで、印刷可能と判定された場合にはS607に進み、印刷不可と判定された場合にはS605に進む。
ここでは、取得した印刷許可情報の内の印刷許可残り回数が、文書中での画像データの使用数を下回った場合、印刷不可と判定する。また、取得した印刷許可情報の内の印刷許可期限が、現在の日付よりも過去である場合にも、印刷不可と判定する。それ以外の場合には、印刷可能と判定する。例えば、図4(a)に示す文書ファイル410における画像データ401と402は、図3のコンテンツデータベースにて印刷許可残り回数がそれぞれ10回と0回、印刷許可期限はいずれも2010年12月31日と示されている。また、いずれも文書ファイル410中では1回ずつ使用されている。現在の日付が2009年12月1日であるとすると、画像データ401については、印刷許可残り回数10回が文書ファイル410中での使用数1を下回らず、印刷許可期限が現在の日付よりも後であるため、印刷可能と判定する。一方、画像データ402については、印刷許可期限は現在の日付より後であるものの、印刷許可残り回数が既に0であり、文書ファイル410中での使用数1を下回っているため、印刷不可と判定する。
S604で印刷不可と判定した場合には、文書管理部208が、選択された画像データの文書中での位置を取得する。同一の画像データが文書中の複数箇所で使用されている場合にはそれら全ての位置を取得する(S605)。さらに、文書管理部208は、レイアウト表示によるレイアウト上で、その取得した位置に識別可能に表示すべき目印情報(警告マーク)を生成する(S606)。
S607では、文書管理部208がS602〜S606の処理が、文書中の全ての画像データに対して行われたか否かを判定する。まだ、画像データが残っている場合には、S602に戻る。この場合、S602で文書管理部208は、まだ処理が行われていない画像データの中から一つを選択する。全ての画像データについての処理が終了した場合には、S608に進む。
S608では、表示制御部207が文書管理部208およびファイル入出力部204から文書中のレイアウト情報および画像データを取得し、文書のプレビュー画像を生成し、編集画面510のページイメージ511に表示する。そして、文書管理部208が、S604で印刷不可と判定された画像データが文書中に一つ以上あったか否かを判定する(S609)。印刷不可と判定された画像データが一つもなかった場合には、本処理を終了する(S611)。印刷不可と判定された画像データが一つ以上あった場合に、S610で、表示制御部207は、文書管理部208がS606で生成した目印情報に基づいて、その画像データが印刷不可であることを示す警告マークをページイメージ511上に表示する。以上で、文書内容をページイメージ511に表示する一連の処理を終了する(S611)。
なお、図4(b)に示した文書ファイル420のように、同一の画像データ401が複数回使用されている場合には、S602ではそれらの同一コンテンツをまとめて扱う。例えば、文書ファイル420に対してS602で画像データ401を選択した場合、後続のS604の判定処理では、選択された画像データ401の印刷許可残り回数10回と、文書ファイル420全体の中での使用数2とを比較する。さらに、印刷許可期限2010年12月31日と現在の日付を比較し、両比較した判定結果に基づいて、画像データ401の印刷可否を判定する。もし、コンテンツデータベース222の内容が更新され、画像データ401の印刷許可残り回数が1回となっていれば、S604では、印刷許可残り回数1回が文書全体での使用数2を下回るため、画像データ401は印刷不可と判定される。
以上の処理により、現在の日付が2009年12月1日であるとすると、文書ファイル410を作成中の状態では、印刷アプリケーション201は、文書内容を図5のページイメージ511に表示する。画像データ401、402、403は、S608にてページイメージ511中の所定位置に表示される。この内、S604で印刷不可と判定された画像データ402に対しては、印刷不可であることを示す目印として、S610で警告マーク512が付加されて表示される。
本実施例においては、ユーザはページイメージ511を見るだけで、文書(印刷データ)中の複数の画像データ(コンテンツ)の内のいずれが印刷不可となっているかを、当該文書の印刷指示前に知ることができる。よって、印刷ボタン505の押下により文書印刷が許可されなかった場合に、印刷不可となっている画像データを特定し、削除ボタン504の押下によって画像データを文書から削除して、印刷可能な文書に変更することが容易に可能となる。また、ページイメージ511中に警告マーク512が表示されていることから、印刷ボタン505をクリックするまでもなく、文書が印刷不可であり、かつ、いずれの画像データを削除すれば印刷可能になるかを容易に知ることができる。なお、図4では1ページからなる文書のみを取り上げた。しかしながら、文書が複数ページからなるものであっても、印刷不可の画像データを含むページを編集画面510のページイメージ511に表示している状態であれば、ユーザは、印刷不可の画像データを容易に判別することができる。また、本実施例では印刷に制限を設けるコンテンツとして画像データを例にあげたが、種々の形式の情報(文字や図形など)をコンテンツとして扱うようにしてもよい。
以上においては、コンテンツデータベース222がHDD103中に構築されているものとして説明したが、コンテンツデータベース222は、不図示のネットワークを介してPC100と通信可能な他の情報処理装置中にあっても良い。また、PC100とプリンタ112が分離しているものとして説明したが、単一の装置が、図2、図5、図6で説明した機能と、記録紙などの記録媒体への印刷機能の双方を備えたものであってもよい。
ページプレビュー511には、画像データが印刷不可であることを示す目印として警告マーク512を表示するものとしたが、その画像データが印刷不可である理由を示すマークを表示するようにしてもよい。例えば、図4(b)に示した文書ファイル420において画像データ401が印刷不可と判定され、その理由を示すマークとして印刷許可残り回数が不足することを示すマークが表示される。画像データ401は、文書ファイル420中で2回使用されている。よって、ユーザはこの内の一方だけを削除する、または、他の画像データに差し替えることにより、文書ファイル420が印刷可能となる可能性があることを容易に知ることができる。他方、画像データ401に対する理由を示すマークとして、印刷許可期限が過ぎたことを示すマークが表示されていれば、ユーザは文書ファイル420中で使用している画像データ401の全てを削除、または、差し替えなければならないことを容易に知ることができる。また、特的のコンテンツが印刷不可であることをユーザに通知することができれば、種々の通知方法とすればよい。例えば、印刷不可であるコンテンツは特定の色で表示させたりするようにしてもよい。
印刷ボタン505の押下による処理では、作成中の文書全体を1部印刷するものとして説明したが、印刷アプリケーション201内で文書の印刷部数を1以上に設定できるようにすることもできる。この場合、S604で画像データ毎の印刷可否を判定する際には、印刷許可残り回数が、文書中でのその画像データの使用数に部数をかけた数値を下回った場合に、印刷不可と判定する。
<実施例2>
実施例1では、文書中で複数使用されている印刷許可情報付き画像データの中で、印刷が許可されないものに目印を表示することにより、印刷が許可されない画像データをユーザが容易に知ることができる。ところが、文書が多数のページからなる場合には、ユーザが画面上で文書全体を一度に視認できないことがある。この場合、ユーザは印刷可能な文書を作成するために、文書中から印刷不可であることを示す目印を探さなければならない。そこで、本実施例では、多数のページからなる文書に対しても印刷不可である画像データの位置を直ちに表示する例を説明する。
本実施例における情報処理装置のハードウェア構成および印刷アプリケーションソフトウェアの構成は、実施例1における図1、図2と同様であるため説明を省略する。ただし、印刷アプリケーション201の処理動作には本実施例特有の箇所があるため、以下で図を用いて説明する。コンテンツデータベースの構成も実施例1における図3と同様であるため説明を省略する。以下、実施例1と差異のある部分を中心に説明する。
図7は、印刷アプリケーション201を用いてユーザが作成した、複数ページからなる文書の例を示す図である。文書ファイル710は、1ページ目701、2ページ目702、3ページ目703、4ページ目704の計4ページからなる文書である。1ページ目には画像データ401、2ページ目には、画像データ402と403、3ページ目には画像404と405、4ページ目には画像データ406が、それぞれ配置されている。図7中の画像データ401〜406は、それぞれ図3のコンテンツデータベース222においてコンテンツIDが0001〜0006である画像を使用している。この内コンテンツID0002の画像データ402は、既に印刷許可残り回数が0となっている。
図8は、本実施例における印刷アプリケーション201を用いて文書ファイル710を作成中に、印刷アプリケーション201がPC100の液晶ディスプレイ109に表示する画面の例を示す図である。図8中の801〜807、820、821は、実施例1における図5の501〜507、510、511と同様であるので説明を省略する。本実施例における印刷アプリケーション201は、その画面801に、実施例1の画面501に加えて、ページ追加ボタン808、ページ一覧810を表示する。
ユーザがマウス111を使ってページ追加ボタン808をクリックすると、印刷アプリケーション201は作成中の文書に新たな白紙ページを追加し、その白紙ページの内容をページイメージ821として表示する。印刷アプリケーション201は、ページ一覧810に、作成中の文書の各ページの縮小画像(サムネイル画像)を一覧表示する。文書中のページ数が多く、全ページをページ一覧810に表示できない場合はスクロールバー811が有効となり、ユーザは、スクロールバー811を操作することにより、ページ一覧810に表示するページ範囲を変更することができる。ユーザがマウス111を使って、ページ一覧中で任意のページを選択すると、アプリケーション201は選択されたページを図中812のように強調表示し、ページイメージ821にそのページの内容を表示する。
図9は、本実施例における印刷アプリケーション201が文書内容をページイメージ511に表示する処理の手順を示すフローチャートである。図9に示す処理は、例えば、CPU102により実行される。開くボタン802の押下により文書ファイル220が読み込まれた場合、アプリケーション201は、図9に示す処理を開始する(S900)。図9中のS901〜S907の処理は、図6におけるS601〜S607と同様であるため説明を省略する。
S908では、文書管理部208が、S904で印刷不可と判定された画像データが文書中に一つ以上あったか否かを判定する。印刷不可と判定された画像データが一つ以上あったと判定された場合には、S909に進み、一つもなかった場合には、S910に進む。
S909では、文書管理部208が印刷不可の画像データの位置として、S905で取得した位置の中から、文書の先頭に最も近い位置を特定する。一方、S910では、文書管理部208は文書の先頭位置を特定する。
その後、表示制御部207が、S909またはS910で特定された位置を含むページをページ一覧810内で選択された状態とし、ページの内容をページイメージ821に表示する(S911)。そして、文書管理部208が、S904で印刷不可と判定された画像データが文書中に一つ以上あったか否かを判定する(S912)。印刷不可と判定された画像データが一つもなかった場合には、本処理を終了する(S914)。一方、印刷不可と判定された画像データが一つ以上あった場合は、表示制御部207は、S806で生成した目印情報に基づいて、画像データが印刷不可であることを示す目印をページ一覧810内およびページイメージ821内に表示する(S913)。以上で、文書内容をページイメージ821に表示する一連の処理を終了する(S914)。
現在の日付が2009年12月1日であるとすると、図7に示した文書ファイル710は、図8に示すページ一覧810およびページイメージ821のように表示される。この時、S904で印刷許可判定部209は、図3に示すコンテンツデータベース中でコンテンツIDが0002である画像データ402は印刷許可残り回数が0であるために印刷不可と判定する。また、コンテンツIDが0006である画像データ406は、現在の日付が印刷許可期限を過ぎているため、印刷不可と判定する。印刷不可と判定された画像データが存在するため、S908からS909に進み、文書管理部208は、それらの中で文書の先頭に最も近い位置である、図7に示した2ページ目702の画像データ402の位置を特定する。その位置に基づき、S911で表示制御部207が2ページ目702を画面801上に表示する。画面801上では、画像データ402を含むページがページ一覧810およびページイメージ821に表示され、警告マーク813、822によりユーザは印刷不可である画像データの位置を容易に知ることができる。
なお、ここでは、印刷アプリケーション201が文書ファイル220を読み込んだ際に図9の処理を行うものとして説明した。しかしながら、それ以外のタイミングであっても印刷アプリケーション201の画面801上でユーザが特定の操作をした際に同様の処理を行うように構成してもよい。また、ここでは印刷不可である画像データの内、文書ファイル220の先頭に最も近いものの位置を表示するものとしたが、文書作成中にページ一覧810で選択しているページ812から最も近いものの位置を表示するように構成してもよい。
この結果ユーザは、印刷許可情報を持つ複数の画像データが文書中の複数ページに分散している状況であっても、画面801を見るだけで、複数の画像データの内のいずれが印刷不可となっているかを、印刷指示前に容易に知ることができる。図9に示した印刷アプリケーション201の処理によって、複数の画像データを含む複数ページに渡る文書ファイルに関する印刷許可情報をユーザに分かりやすく提供することができる。
本実施例においても、コンテンツデータベース222は、不図示のネットワークを介してPC100と通信可能な他の情報処理装置中に存在していても良い。コンテンツは画像データ以外のものでもよい。また、単一の装置が図2、図8、図9で説明した機能と、記録紙などの記録媒体への印刷機能の双方を備えたものであっても良い。ページプレビュー821には、画像データが印刷不可である理由を示すマークを表示するようにしても良い。特定のコンテンツが印刷不可であることを通知する方法は種々のものを採用可能である。印刷ボタン805の押下による文書の印刷部数を1以上に設定できるようにすることもできる。この場合、S904で画像データ毎の印刷可否を判定する際には、印刷許可残り回数が、文書中での画像データの使用数に部数をかけた数値を下回った場合に、印刷不可と判定する。
<実施例3>
実施例1、2では、印刷アプリケーション201内で、既に印刷不可となった画像データの位置を分かりやすくユーザに提示し、ユーザによる文書作成の支援をする情報処理装置を説明した。しかしながら、ユーザは、印刷アプリケーション201を実行して文書ファイルを開かなければ、文書ファイルの印刷可否、そして印刷可な場合もあとどれぐらい印刷が可能かを知ることができない。そこで、本実施例では、ユーザが印刷アプリケーション201を実行する前に、PC100が保存済みの文書ファイルに関する印刷許可情報を表示する例を説明する。
本実施例における情報処理装置のハードウェア構成は実施例1における図1と同じであるため、説明を省略する。図10は、プレビュー生成モジュール1031およびそのモジュールを起動するファイル一覧アプリケーション1051と、これらに関連する印刷アプリケーション201のソフトウェア構成図である。この内、印刷アプリケーション201およびその構成は図2に示した実施例1または2と同じであるため、説明を省略する。また文書ファイル220、コンテンツファイル格納部221、コンテンツデータベース222も実施例1または2と同じである。
ファイル一覧アプリケーション1051は、HDD103中の特定のフォルダに格納されているファイルを、後述する図13に示す1301の形式の画面に一覧表示するものである。ファイル一覧アプリケーション1051は、ファイル一覧制御部1052、ユーザ入力制御部1053、ファイル検索部1054、ファイル種別管理部1055、プレビュー取得部1056、表示制御部1057を含む。ファイル一覧アプリケーション1051は、HDD103中に格納されており、ユーザ操作により起動されるとRAM104に読み出され、CPU102によって実行される。実行時のワークエリアはRAM104に確保される。
ユーザ入力制御部1053は、キーボード110、マウス111を介したユーザからの入力を取得する。ファイル一覧制御部1052は、ユーザからの入力に従って後述の各部を制御するとともに、ファイルに対してユーザが要求する処理(所定のアプリケーションを起動してファイルを開く等)を行う。ファイル検索部1054は、HDD103中で、ファイル一覧アプリケーション1051の表示対象として指定されたフォルダ内に含まれるファイルを検索する。
ファイル種別管理部1055は、HDD103に格納されたファイルの種類毎に、対応する処理操作や対応するプレビュー生成モジュールを管理する。本実施例では、HDD103に格納されているファイルの名称の最も末尾に近いピリオドより後ろの部分が、そのファイルの種類を示すものとする。任意のアプリケーションがHDD103にインストールされる際に、そのアプリケーションに関連するファイル(アプリケーションにより保存される文書ファイル等)の種類に対して、アプリケーションおよび対応するプレビュー生成モジュールが登録される。
本実施例における印刷アプリケーション201が保存する文書ファイル(印刷データ)は、例えば「AAA.PAD」のように末尾に、ピリオドに続く「PAD」がつくものとする。ファイル種別管理部1055は、このファイルの種類を示す文字列「PAD」と印刷アプリケーション201を関連付けて登録する。ユーザがファイル一覧アプリケーション1051の画面上に表示されている「AAA.PAD」ファイル1036を選択すると、ファイル種別管理部1055がこのファイルの種類に関連付けられたソフトウェアとして印刷アプリケーション201を特定する。それに従って、ファイル一覧制御部1052が印刷アプリケーション201を起動し、起動時オプションによって「AAA.PAD」を開くことを指示する。起動した印刷アプリケーション201は、指示に従って文書ファイル「AAA.PAD」を開き、その文書を作成可能な状態で画面表示する。また、ファイル種別管理部1055は、ファイルの種類を示す文字列「PAD」とプレビュー生成モジュール1031を関連づけて登録している。
プレビュー取得部1056は、ファイル一覧アプリケーション1051の画面に表示すべき各ファイルのプレビュー画像を取得する。特定されたフォルダに「AAA.PAD」ファイルが含まれていると、ファイル種別管理部1055がこのファイルの種類に関連付けられたプレビュー生成モジュール1031を特定する。そして、プレビュー取得部1056は、プレビュー生成モジュール1031を起動し、ファイル「AAA.PAD」の所在およびファイル名情報をプレビュー生成モジュール1031に渡して、プレビュー画像を生成させる。表示制御部1057は、生成されて取得したプレビュー画像を表示するなど、図13に示す画面の表示を行う。
プレビュー生成モジュール1031は、印刷アプリケーション201がHDD103にインストールされる際に同時にHDD103へインストールされ、ファイル種別管理部1055に登録されるものである。プレビュー生成モジュール1031は、印刷アプリケーション201で作成された文書ファイルについて、ファイル一覧アプリケーション1051が表示すべきプレビュー画像を生成し、ファイル一覧アプリケーション1051へ渡す。プレビュー生成モジュール1031は、プレビュー生成制御部1032、ファイル入出力部1033、コンテンツ管理部1034、プレビュー生成部1035を含む。この内、プレビュー生成制御部1032は、文書管理部1036および許可情報生成部1037を含む。これら各部の機能、動作については図14を使って後述する。
図11は、本実施例における印刷アプリケーション201がHDD103に保存する文書ファイル220の内部構成の一例を示した図である。ファイル220の先頭部は、ファイルが印刷アプリケーション201で作成された文書ファイルであることを示す情報を記録したファイルヘッダ1101である。それに続くのが、文書の総ページ数など、文書全体に関する情報である文書情報1102である。次は、文書の1ページ目に関するページ情報1103である。ページ情報1103には、ページ中の画像データの数などが記録される。その後には、個々の画像データについての画像情報1104が、ページ中の画像データ数分続く。画像情報1104には、画像データのコンテンツID1105、画像データの紙面上での配置情報である位置、サイズの値1106が含まれる。ただし、文書ファイル220は、画像データそのものは含まない。ページ情報1103およびそれに続く画像情報1104は文書全体のページ数分繰り返される。なお、文書ファイル220は、上記以外に文書の作成者名などの情報を含んでいてもよい。
図12は、印刷アプリケーション201を用いてユーザが作成した、複数ページからなる文書の例を示す図である。図12(a)に示す文書ファイル1200は、1ページ目1201、2ページ目1202の2ページからなる文書である。文書ファイル1200の1ページ目1201には画像データ401と403、2ページ目1202には画像404と405がそれぞれ配置されており、ファイル名は「AAA.PAD」である。同様に、図12(b)に示す文書ファイル1210は1ページ目1211、2ページ目1212の2ページからなり、1ページ目1211には画像データ401と404、2ページ目1212には画像データ401と405がそれぞれ配置されている。つまり、文書ファイル1210中には画像データ401が2回使用されている。文書ファイル1210のファイル名は「BBB.PAD」である。図12中の画像データ401、403、404および405は、それぞれ図3に示すコンテンツデータベース222において、コンテンツIDが0001、0003、0004、0005である画像である。これらの画像の印刷許可残り回数303は、図3の状態ではいずれも1回以上残っている。また現在の日付が2009年12月1日であるものとすると、いずれも印刷許可期限に達していない。
図13は、本実施例におけるファイル一覧アプリケーション1051の実行時に、表示制御部1057がPC100の液晶ディスプレイ109に表示する画面の例を示す図である。図13に示すファイルの一覧画面1301は、フォルダ表示部1302とファイル表示部1304を含む。この内、フォルダ表示部1302は、HDD103中のフォルダ階層を視覚的に表示しており、その中で選択されているフォルダを1303に示すように強調表示する。ファイル表示部1304は、フォルダ表示部1302で選択されているフォルダ1303に含まれるファイルについて、そのプレビューとファイル名を対にして一覧表示する。現在、フォルダ表示部1302で選択されているフォルダ「C:¥DOCS¥」には、図12(a)に示す「AAA.PAD」ファイル1200、図12(b)に示す「BBB.PAD」ファイル1210、図7に示す文書ファイル710が格納されているとする。文書ファイル710のファイル名は「CCC.PAD」である。
図13に示すように、選択されたフォルダ「C:¥DOCS¥」中に格納されているファイルのファイル名1306、1310、1314が表示される。また、図13に示すように、ファイル名1306、1310、1314の各ファイルのプレビュー画像1305、1309、1313が表示される。この内、プレビュー画像1305、1309には、印刷許可情報1307と1308、印刷許可情報1311と1312がそれぞれ埋め込まれている。以下、これらのプレビュー画像の生成処理について図14を用いて説明する。
図14は、本実施例におけるプレビュー生成モジュール1031の処理の手順を示すフローチャートである。図14に示す処理は、例えば、CPU102により実行される。図14(a)はプレビュー生成処理の全体を示し、図14(b)はその中で使用される、文書中の特定範囲について印刷可能な残り回数と印刷可能期限を算出する処理の手順を示す。
図13のフォルダ表示部1302でフォルダ「C:¥DOCS¥」が選択されると、ファイル検索部1054がそのフォルダ内のファイルを検索する。そこに「AAA.PAD」ファイル1200が検索されると、ファイル種別管理部1055は、ファイル名の末尾のピリオドより後ろの部分が「PAD」であるので、そのファイルに対応するプレビュー生成モジュール1031を特定する。その後、プレビュー取得部1056は、プレビュー生成モジュール1031を起動し、処理対象の文書ファイル情報として、ファイルの格納されたフォルダ名「C:¥DOCS¥」とファイル名「AAA.PAD」を渡す(S1400)。
プレビュー生成モジュール1031が起動されると、ファイル入出力部1033は、渡されたフォルダ名とファイル名に基づいて文書ファイル220を読み込む(S1401)。ここでの文書ファイル220は、「AAA.PAD」ファイル1200のことである。文書管理部1036は、読み込まれた文書ファイル220中の画像情報1104に含まれるコンテンツID1105を参照し、文書中で使用されている画像データを特定する(S1402)。そしてコンテンツ管理部1034、文書管理部1036および許可情報生成部1037の処理により文書全体について印刷可能な残り回数と印刷可能期限とを算出する(S1403)。算出する処理の詳細は、図14(b)を用いて後述する。
次に、S1403で算出された印刷可能な残り回数と印刷可能期限に基づいて、許可情報生成部1037は、現時点で文書ファイル220全体が印刷可能か否かを判定する(第2の判定の一例)。具体的には、文書ファイル220全体を印刷可能な残り回数が1回以上であり、かつ現在の日付が文書ファイル220全体について印刷可能期限を過ぎていなければ、印刷可能と判定する(S1404)。印刷可能と判定した場合はS1405に進み、印刷不可と判定した場合はS1407に進む。
S1405では、文書管理部1036が文書の先頭ページに含まれる画像データを特定し、文書ファイル220から読み込んだ画像情報1104に含まれる位置、サイズ値1106を取得する。また、ファイル入出力部1033がコンテンツファイル格納部221から画像データを取得し、これらに基づいて、プレビュー生成部1035が文書の先頭ページの縮小画像(サムネイル)を生成する。次いで、許可情報生成部1037が、現在の日付とS1403で算出された印刷可能期限を元に、印刷可能な残期間を算出する。プレビュー生成部1035は、印刷可能な残期間を、算出された印刷可能残り回数とともに文字情報としてサムネイルに合成する(S1406)。一方、S1407へ進んだ場合は、プレビュー生成部1035は、印刷不可を示す画像として、バツ印の画像を生成する。
いずれの場合もプレビュー生成部1035は生成した画像をファイル一覧アプリケーション1051のプレビュー取得部1056へ渡し(S1408)、プレビュー生成の処理を終了する(S1409)。この後、同じフォルダに存在する他のファイル「BBB.PAD」、「CCC.PAD」に対しても同様の処理を行う。
次に図14(b)を参照して、文書中の特定範囲を印刷可能な残り回数と印刷可能な残期限を算出する処理の手順について説明する。図14(a)のS1403において、文書全体を指定して図14(b)の処理が呼び出されると(S1430)、許可情報生成部1037は、RAM104中のワークエリアに数値変数countと日付変数cutoffを生成する。そして、countの値を1000000、cutoffの値を9999年12月31日にそれぞれ設定する(S1431)。なお、文書中で使用される全ての画像コンテンツの印刷許可残り回数は、変数countの初期値1000000よりも小さい値であるものとする。また、文書中で使用される全ての画像データの印刷許可期限は、変数cutoffの初期値よりも早いものとする。
次に文書管理部1036は、図14(b)の処理の呼び出し元から指定された文書中の範囲に含まれる画像データを1種類選択する。図14(a)のS1403から図14(b)の処理が呼び出された場合には、文書ファイル全体からいずれか1種類の画像データを選択する(S1432)。コンテンツ管理部1034は、コンテンツデータベース222へ問い合わせ、S1432で選択された画像データの印刷許可情報を取得する(S1433)。
次に、許可情報生成部1037は、S1433で取得した印刷許可情報の中の印刷許可残り回数を呼び出し元から指定された文書の範囲中に同一画像が含まれる回数で割った値と変数countの値を比較する(S1434)。変数countの値の方が大きければS1435に進み、大きくなければS1436に進む。S1435で、許可情報生成部1037は、変数countの値をS1433で取得した印刷許可残り回数を呼び出し元から指定された文書の範囲中に同一画像が含まれる回数で割った値で更新する。同様に、許可情報生成部1037は、S1433で取得した印刷許可情報の中の印刷許可期限と変数cutoffの値とを比較する(S1436)。変数cutoffの値の方が遅い日付を示している場合はS1437に進み、遅い日付を示していない場合にはS1438に進む。S1437で許可情報生成部1037は、変数cutoffの値をS1433で取得した印刷許可期限の値で更新する。
S1438では、文書管理部1036が図14(b)の処理の呼び出し元から指定された文書中の範囲に含まれる全ての画像データについて、S1432〜S1437の処理が終了したか否かを判定する。未処理の画像データが残っている場合にはS1432へ戻り、次の画像データを選択し、処理を繰り返す。
全ての画像データについて、S1432〜S1437の処理が終了した場合には、許可情報生成部1037が変数countの値を印刷可能な残り回数、変数cutoffの値が示す日付を印刷可能期限として、算出結果を呼び出し元へ返却する(S1439)。これで文書中の特定範囲についての印刷可能残り回数と印刷可能期限を算出する処理を終了する(S1440)。
以下、現在の日付が2009年12月1日であるものとして説明する。コンテンツデータベースが図3に示す値となっている状態で上記の処理を行うことにより、ファイル一覧アプリケーション1051は、図13に示すように画面1301のファイル表示部1304を表示する。文書ファイル1200すなわち「AAA.PAD」については、図14(b)の処理によって印刷可能な残り回数として3、印刷可能期限として2010年1月31日を算出する。よって、図14(a)の処理では、S1405で先頭ページ1201のサムネイルを生成し、S1406で印刷可能な残り回数1307として「3」を合成する。また、印刷可能な残期間1308には現在の日付2009年12月1日からの残り期間が2か月を下回っていることから大まかな期間として「あと1か月」を合成する。ファイル一覧アプリケーション1051の表示制御部1057が以上の結果を表示する。
文書ファイル1210すなわち「BBB.PAD」では、画像データ401が2回使用されている。よってS1432で画像データ401を選択した際の印刷可能回数は、コンテンツデータベース222に記録されているコンテンツID0001に対する値である10を、使用回数2で割った結果である5となる。しかし、画像405の印刷可能残り回数が、より少ない4であるため、文書全体での印刷可能回数は4となる。また、印刷可能期限の算出結果は2010年3月31日となる。それらの情報をプレビュー生成部1035が合成し、図13に示すように、印刷許可情報1311、1312が表示される。
一方、文書ファイル710すなわち「CCC.PAD」では、画像データ402の印刷許可残り回数が0となっており、また画像データ406の印刷許可期限が既に過ぎている。よって、図14(a)のS1404で印刷不可と判定し、プレビュー生成部1035はS1407で生成したバツ印をファイル一覧アプリケーション1051に渡す。その結果、図13のプレビュー表示1313に示す表示結果となる。
以上の構成により、文書ファイル(印刷データ)に関する印刷許可情報をユーザに複数プレビュー表示により印刷指示前に通知することができる。その結果、ユーザは、ファイル一覧アプリケーション1051の画面1301を見るだけで、複数の文書ファイル220の印刷可否を容易に知ることができる。また、あとどれだけの回数および期間、文書ファイル220を印刷することができるかも容易に知ることができる。これらの情報を得るために、画面1301から文書ファイル220を選択するなどの操作によって、印刷アプリケーション201を起動した上で、そのアプリケーションの画面を確認する必要はない。このように、ユーザが簡易な操作で作成済み文書ファイル220の印刷許可情報を知ることができるので、例えば、ユーザが気付かないうちに文書ファイル220の印刷許可期限が過ぎてしまい、文書ファイル220が印刷不可となってしまうおそれを低減する。また、同一の画像データを複数の文書で使用している場合に、一方の文書を印刷した後に他方の文書の印刷可能回数も減っていることをユーザは簡易な操作で知ることができる。このことにより、ユーザが気付かないうちに文書の印刷可能残り回数が尽きてしまうおそれを低減する。
なお、以上説明した機能の一部またはすべてをOSが実現するよう構成してもよい。また本実施例ではファイル一覧アプリケーション1051とプレビュー生成モジュール1031を別々のものとして説明したが、これらを一体とした構成にしてもよい。
本実施例では文書の印刷許可情報を文書の先頭ページのサムネイルと合成して表示するものとして説明したが、文書の内容を示さず種類のみを示すアイコン画像と合成して表示するようにしてもよい。またこれらの画像と合成せず、印刷許可情報のみをファイル名とともに表示するように構成してもよい。
本実施例では文書の印刷許可情報として印刷可能な残り回数と印刷可能な残り期間を組み合わせて表示するものとして説明したが、いずれか一方のみを表示するように構成してもよい。印刷可能な残り回数と残り期間の一方だけを表示し所定の時間毎に、またはユーザがファイル一覧アプリケーション1051に対して所定の操作を行うたびに他方に切り替え表示するように構成してもよい。印刷可能な残り期間の代わりに印刷可能期限を表示してもよい。本実施例では図13の1307、1308に示すように印刷許可情報を文字情報としてプレビュー画像1305に合成して表示するものとして説明したが、残りの印刷回数や残り期間をマークなどの図形やそれらの数で表すように構成してもよい。
本実施例においても、コンテンツデータベース222は、不図示のコンピュータネットワークを介してPC100と通信可能な他の情報処理装置中に存在していても良い。また単一の装置が図10、図13、図14で説明した機能と、記録紙などの印刷媒体への印刷機能の双方を備えたものであってもよい。また、コンテンツも画像データ以外のものとしてもよい。
<実施例4>
実施例3においては、プレビュー生成モジュール1031が、文書ファイル全体についての印刷許可情報をプレビュー画像1305、1309に合成している。また、文書ファイル全体の印刷ができなくなった文書ファイルについては、表示情報としてバツ印1313を生成して表示していた。これにより、ユーザは、該当するフォルダに存在する各文書ファイルについての印刷許可情報を容易に知ることができる。しかしながら、既に印刷不可となっている文書ファイルについては、単に印刷不可であるということしか知ることができない。本実施例においては、文書ファイルで使用されている一部の画像データがまだ印刷可能である場合に、印刷可能状態で残っている部分についての印刷許可情報をユーザに対して表示する例について説明する。
本実施例における情報処理装置のハードウェア構成は、図1と同じである。また、プレビュー生成モジュール1031、ファイル一覧アプリケーション1051、印刷アプリケーション201のソフトウェア構成は、図10と同じである。ただし、プレビュー生成モジュール1031の処理動作には本実施例特有の箇所があるため、以下で図を用いて説明する。コンテンツデータベースの構成も実施例1〜3における説明と同じである。HDD103中のフォルダ「C:¥DOCS¥」には文書ファイルとして、実施例3の説明に用いた図12(a)に示す文書ファイル1200、図12(b)に示す文書ファイル1210および図7に示す文書ファイル710が保存されているものとする。これらのファイル名は、それぞれ「AAA.PAD」、「BBB.PAD」、「CCC.PAD」である。
図15は、図3に示すコンテンツデータベースが更新された状態の内容を示す図である。具体的には、図3に示した状態から、印刷アプリケーション201を使って、ユーザが図12(a)に示した文書ファイル1200の全体を3回印刷した後の状態を示している。文書ファイル1200には、画像データ401、403、404、405、すなわちコンテンツID301が0001、0003、0004、0005である画像データがそれぞれ1回ずつ使用されている。よって、文書ファイル1200を1回印刷する度に、これらの画像データに対する印刷許可残り回数303が1ずつ減算される。文書ファイル1200を3回印刷すると、コンテンツID0001に対する印刷許可残り回数は、図3での値10から3減った、図15に示す7となる。他の画像コンテンツについても同じである。図15の状態になった時点で、コンテンツIDが0003である画像データの印刷許可残り回数303が0となって、その画像データは印刷不可となる。
図16は、本実施例におけるファイル一覧アプリケーション1051の実行時に、表示制御部1057がPC100の液晶ディスプレイ109に表示する画面の例を示す図である。図16の1601〜1604、1606、1610〜1613は、実施例3の図13における1301〜1304、1306、1309〜1312とそれぞれ同じである。図13のプレビュー画像1605には、ファイル名1606にファイル名を表示した文書ファイルのプレビュー画像を表示する。プレビュー画像1605には、印刷許可情報1607〜1609が埋め込まれる。以下、現在の日付が2009年12月1日であるものとして、プレビュー画像の生成処理について図を用いて説明する。
図17は、本実施例におけるプレビュー生成モジュール1031の処理の手順を示すフローチャートである。図17に示す処理は、例えば、CPU102により実行される。図16のフォルダ表示部1602でフォルダ「C:¥DOCS¥」が選択されると、実施例3の場合と同様に、ファイル検索部1054、ファイル種別管理部1055、プレビュー取得部1056が動作する。その結果、プレビュー取得部1056がプレビュー生成モジュール1031を起動する(S1700)。この時、プレビュー取得部1056は、プレビュー生成モジュール1031へ処理対象の文書ファイル情報として、ファイルの格納されたフォルダ名「C:¥DOCS¥」とファイル名「AAA.PAD」を渡す。以下、S1701〜S1703の処理は、図14(a)のS1401〜1403と同じである。S1703が呼び出す、文書全体について印刷可能な残回数および印刷可能期限を算出する処理も、図14(b)に示した処理と同じである。
S1704において、S1703で算出した印刷可能な残り回数および印刷可能期限に基づいて、許可情報生成部1037が、現時点で文書ファイル220全体が印刷可能か否かを判定する。具体的な判定方法は、図14(a)のS1404と同じである。印刷可能と判定した場合にはS1705に進み、印刷不可と判定した場合にはS1707に進む。
S1705においては、図14(a)のS1405と同様の処理で、文書管理部1036、ファイル入出力部1033、プレビュー生成部1035が連携し、文書ファイル220の先頭ページのサムネイルを生成する。次いで、許可情報生成部1037は、ユーザに対して表示するための残回数および期限の情報として、S1703で取得した文書全体についての印刷可能な残回数および期限をRAM104中のワークエリアに記録する(S1706)。
一方、S1704で印刷不可と判定した場合には、コンテンツデータベース222の現在の状態に基づいて、コンテンツ管理部1034、文書管理部1036および許可情報生成部1037が、印刷可能なページに関する印刷許可情報を算出する(S1707)。具体的には、現在、印刷可能な状態であるページのみを印刷アプリケーション201で選択して印刷することを想定し、印刷可能な残り回数、印刷可能な期限、および現在、印刷可能なページの中で最も文書の先頭に近いページの番号を算出する。算出処理の詳細については、図18を用いて後述する。
S1707での算出処理の結果に基づいて、許可情報生成部1037は、現在、印刷可能なページが1ページ以上存在するか否かを判定する(S1708)。S1707の処理の結果で印刷可能なページの中で最も文書の先頭に近いページの番号として、有効なページ番号を取得した場合に、印刷可能なページがあると判定する。印刷可能なページがある場合にはS1709に進み、ない場合にはS1713に進む。
S1709では、文書管理部1036、ファイル入出力部1033、プレビュー生成部1035が連携し、S1707で取得した、印刷可能なページのうち最も文書の先頭に近いページのサムネイル画像を生成する。また、プレビュー生成部1035が、文書ファイルに印刷不可能なページが存在することを示す目印として図16に示す第2の警告マーク1607をサムネイル画像に合成する(S1710)。さらに、許可情報生成部1037は、ユーザに対して表示するための残回数、期限情報として、S1707で取得した、印刷可能なページについての印刷可能な残回数、期限をRAM104中のワークエリアに記録する(S1711)。
S1706またはS1711の処理後、プレビュー生成部1035が、RAM104に記録されているユーザに対して表示するための残回数、期限情報に基づいて、印刷処可能な残り回数、残り期間についての情報をサムネイル画像に合成する(S1712)。
文書ファイルの全ページが印刷可能な場合には、S1705で生成した文書の先頭ページのサムネイル画像に、S1706の処理で記録した文書ファイル全体についての印刷可能な残回数、印刷可能な残期間の情報を合成する。その結果、実施例3のS1406と同様のプレビュー画像を生成する。一方、文書ファイルの一部のページのみが印刷可能な場合には、S1710で合成したサムネイル画像に、S1711で記録した印刷可能なページについての印刷可能な残回数、印刷可能な残期間情報を合成する。
また、S1708で、印刷可能なページが一つもないと判定した場合は、実施例3における図14(a)に示したS1407と同様に、プレビュー生成部1035は、印刷不可を示す画像として、バツ印の画像を生成する(S1713)。
以下、プレビュー生成部1035は、S1712で合成した又はS1713で生成した画像をファイル一覧アプリケーション1051へ返却し(S1714)、プレビュー生成モジュール1031の処理を終了する(S1715)。
図18は、プレビュー生成モジュール1031がコンテンツデータベース222の現在の状態に基づいて、印刷可能状態であるページに関する印刷許可情報を算出する処理の手順を示すフローチャートである。図17のS1707から本処理が呼び出されると(S1800)、許可情報生成部1037は、RAM104中のワークエリアに数値変数count2と日付変数cutoff2、数値変数topを生成する。そして、count2の値を1000000、cutoff2の値を9999年12月31日、topの値を−1にそれぞれ設定する(S1801)。なお、文書ファイルで使用される全ての画像データの印刷可能な残回数は、変数count2の初期値1000000よりも小さい値であるとする。また文書ファイルで使用される全ての画像データの印刷可能な期限は、変数cutoff2の初期値よりも早いとする。
次に、文書管理部1036は、文書ファイルの先頭ページを後続の処理の対象として選択する(S1802)。そして、選択したページについて、コンテンツ管理部1034、文書管理部1036および許可情報生成部1037が、図14(b)に示す処理を実行する(S1803)。つまり、選択した1ページだけを印刷することを想定した際の、印刷可能な残回数と印刷可能な期限を算出する。S1803において算出した印刷可能な残回数と印刷可能な期限に基づいて、許可情報生成部1037は、現在選択しているページが印刷可能か否かを判定する(S1804)。具体的には、S1803で算出した印刷可能な残回数が1回以上であり、かつ、現在の日付がS1803で算出した印刷可能期限を過ぎていなければ、印刷可能と判定する。印刷可能と判定した場合にはS1805に進み、印刷不可と判定した場合にはS1811に進む。
S1805では、許可情報生成部1037が、S1803で算出した印刷可能な残回数より変数count2の値が大きいか否かを判定する。大きい場合には、許可情報生成部1037が変数count2の値をS1803で算出した印刷可能な残り回数で更新する(S1806)。そうでなければ、更新処理を行わずにS1807に進む。S1807では、許可情報生成部1037が、S1803で算出した印刷可能期限と変数cutoff2の値を比較する。変数cutoff2の値の方が遅い日付を示している場合は、許可情報生成部1037が、変数cutoff2の値をS1803で算出した印刷可能期限の値で更新する(S1808)。そうでなければ、更新処理を行わずにS1809に進む。S1809では、許可情報生成部1037が、変数topの値が0より小さいか否かを判定する。0より小さい場合には、許可情報生成部1037が、変数topの値を現在選択しているページの番号値で更新する(S1810)。ページの番号値は1から始まるとする。
これらの処理を行った後、S1811では、文書管理部1036が文書ファイルの全てのページについて、S1803〜S1810の処理が終了したか否かを判定する。終了していない場合には、文書管理部1036が次のページを処理対象として選択し(S1812)、S1803に戻る。全てのページについて処理が終了していれば、算出した印刷許可情報を許可情報生成部1037が、図18の処理の呼び出し元、すなわち図17のS1707に返却する(S1813)。変数count2の値は、印刷可能なページについての印刷可能な残回数として返却する。変数cutoff2の値は、印刷可能なページについての印刷可能期限として返却する。変数topの値は、印刷可能なページの内、最も文書の先頭に近いページの番号として返却する。なお、文書ファイルに印刷可能なページが1ページもなかった場合には、変数topの値がS1801で設定した−1のままとなっており、呼び出し元で無効なページ番号として判定することができる。以上により、印刷可能なページに関する印刷許可情報の算出処理を終了する(S1814)。
本実施例におけるプレビュー生成モジュールは、全体が印刷可能な文書に対しては、S1705、S1706、S1712の処理により、実施例3と同様、先頭ページのサムネイルに印刷許可情報を合成した画像を生成する。よって、コンテンツデータベース222が図15に示す値となっている状態では、文書ファイル1210「BBB.PAD」に対して、印刷可能な残回数1612、印刷可能な残期間1613を合成したプレビュー画像1610を生成する。
また、文書中で使用している画像コンテンツの一部が印刷不可となって一部のページのみが印刷可能となっている場合には、S1707〜S1712の処理により、現時点で印刷可能なページのみについての印刷許可情報を合成したプレビュー画像を生成する。文書ファイル1200「AAA.PAD」については、使用している画像データのうちコンテンツIDが0003である画像データ403の印刷許可残り回数が0となって印刷不可であるが、他の画像データはまだ印刷可能である。よって、画像データ403を含む1ページ目1201は印刷不可であるが、2ページ目1202は印刷可能である。この2ページ目1202だけを印刷対象と考えると、印刷可能許可回数はコンテンツID0005である画像405が最小の1であるため、1回である。また、印刷可能な期限もコンテンツID0005である画像405が最も早い2010年3月31日であるため、この日付である。本実施例におけるプレビュー生成モジュール1031は、文書ファイル1200に対して印刷可能な2ページ目1202のサムネイルと、文書ファイル1200の一部ページは印刷不可となっていることを示す警告マーク1607を合成したプレビュー画像を生成する。またプレビュー生成モジュール1031は、このプレビュー画像に、その2ページ目についての印刷許可情報1608、1609も合成する。
文書中で使用している画像コンテンツの一部または全てが印刷不可となった結果、印刷可能なページがない場合は、S1713の処理により、印刷不可であることを示す画像を生成する。図16の画面にはこのような文書ファイルが存在しないが、印刷可能なページがない文書ファイルに対しては、実施例3における図13に示すプレビュー画像1313と同様のプレビュー表示を生成する。
以上のように、複数の画像データ(コンテンツ)を組み合わせた文書ファイル(印刷データ)の現時点で使用可能な部分に関する印刷許可情報を、印刷指示前にユーザに提供することができる。その結果、ユーザはファイル一覧アプリケーション1051の画面1601を見るだけで、実施例3と同様に文書ファイル220の印刷可否、あとどれだけの回数および期間、文書ファイル220を印刷することができるかを容易に知ることができる。また、本実施例の情報処理装置においては、既に印刷不可となってしまった文書ファイルについても、その一部ページが印刷可能なものについて、ユーザは画面1601を見るだけで、印刷可能なページについての印刷許可情報を容易に知ることができる。よってこのような文書についても、ユーザは簡易な操作でまだ印刷可能な部分があることを知ることができ、画像コンテンツを有効に活用することができる。また、まだ印刷可能な部分が今後印刷不可になってしまうことにより、これらの画像コンテンツの印刷機会を逸する可能性を低減する。
本実施例においても、以上説明した機能の一部または全てをOSが実現するよう構成してもよい。ファイル一覧アプリケーション1051とプレビュー生成モジュール1031を一体とした構成にしても良い。文書の印刷許可情報を文書の内容を示さず種類のみを示すアイコン画像と合成して表示するようにしてもよい。印刷許可情報のみをファイル名とともに表示するように構成してもよい。文書の印刷許可情報として印刷可能な残回数と印刷可能な残り期間のいずれか一方のみを表示するように構成してもよい。また、S1708において印刷可能なページがあると判定された場合には、実施例1のように、印刷不可と判定された画像データに警告マークを付加して、その画像データを含むページをサムネイルとして表示するようにしても良い。その通知方法は種々のものを採用することができる。
本実施例においても、コンテンツデータベース222は不図示のネットワークを介してPC100と通信可能な他の情報処理装置中に存在するようにしても良い。また、単一の装置が図10、図13、図14で説明した機能と、記録紙などの印刷媒体への印刷機能の双方を備えたものであってもよい。また、コンテンツも画像データ以外のものとしてもよい。
以上説明してきた種々の実施例において、複数のコンテンツを含む印刷データを印刷させる際、コンテンツのそれぞれの印刷の可否を判定し、印刷の可否を当該印刷データの印刷指示前にユーザに通知できる。そしてこの通知に対し、印刷指示がなされると、当該印刷データの印刷が実行される。同じ印刷データを次回印刷させる際もやはり印刷指示前に印刷の可否が通知される。なお、以上の説明では、1つの印刷データ(文書ファイル)に含まれるコンテンツの全ての印刷が許可されている場合に印刷データの印刷を許可するものとした。しかしながら、印刷が許可されていないコンテンツ部分を例えば空白や他のデータに置換して印刷を行うようにしてもよい。また、印刷の可否の通知を、印刷指示が行われたときに行うようにしてもよい。即ち、印刷指示が行われたとき、印刷が許可されていないコンテンツが含まれていた場合、上記実施例1、2のように通知してもよい。
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。また、このプログラムは、1つのコンピュータで実行させても、複数のコンピュータが連動して実行するようにしてもよい。また、上記した処理の全てをソフトウェアで実現する必要はなく、一部または全部をハードウェアによって実現するようにしてもよい。