(57)【特許請求の範囲】
【請求項１】
印刷データに印刷の回数に制限が設けられた対象のコンテンツが含まれることを示す識別情報が含まれているかを判断する判断手段と、
前記印刷データの印刷においてエラーが発生したときに再度の印刷を行う再印刷処理を許可するか否かを示す判定情報を、前記再印刷処理を許可することを示す情報として記憶する記憶手段と、
前記判断手段で前記識別情報が含まれていると判断されると、前記再印刷処理を許可しないことを示す情報に前記判定情報を変更する変更手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記印刷データの印刷を行う印刷装置と通信可能に接続され、
前記印刷データの印刷におけるエラーの有無の情報を前記印刷装置から取得してエラーがあると判断した場合、前記判定情報が前記再印刷処理を許可することを示す情報であるときは前記再印刷処理を行い、前記判定情報が前記再印刷処理を許可しないことを示す情報であるときは前記再印刷処理を行わない印刷制御手段を更に有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
印刷装置と通信可能に接続された情報処理装置であって、
印刷のジョブをもとに、印刷の回数に制限が設けられた対象のコンテンツの終りまで印刷データを生成すると、前記コンテンツの終りを示す情報を生成する生成手段と、
前記ジョブにおいてエラーが発生したときに再度の印刷を行う再印刷処理を許可するか否かを示す判定情報を、前記再印刷処理を許可することを示す情報として前記ジョブが開始されるまでに記憶部に記憶し、前記コンテンツの終りを示す情報をもとに前記コンテンツの印刷が終了したと前記印刷装置で判断されたときに送信される前記コンテンツの印刷が終了したことを示す終了情報を前記印刷装置から受信すると、前記再印刷処理を許可しないことを示す情報に前記判定情報を変更する記憶手段と、
を有することを特徴とする情報処理装置。
【請求項４】
前記印刷データの印刷におけるエラーの有無の情報を前記印刷装置から取得してエラーがあると判断した場合、前記判定情報が前記再印刷処理を許可することを示す情報であるときは前記再印刷処理を行い、前記判定情報が前記再印刷処理を許可しないことを示す情報であるときは前記再印刷処理を行わない印刷制御手段を更に有することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記記憶手段は、前記印刷データの一のページの印刷が終了したことを示す情報を前記印刷装置から受信すると、前記再印刷処理を許可することを示す情報に前記判定情報を更に変更し、
前記印刷制御手段は、前記判定情報が前記再印刷処理を許可しないことを示す情報であるときは、前記コンテンツが含まれているページについて前記再印刷処理を行わないことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記記憶手段は、前記終了情報を前記印刷装置から受信すると、前記コンテンツを特定可能な特定情報を更に記憶し、
前記ジョブが終了された場合、前記特定情報に従って前記コンテンツについての課金を行う課金手段を更に有することを特徴とする請求項３乃至５の何れか１項に記載の情報処理装置。
【請求項７】
印刷データに印刷の回数に制限が設けられた対象のコンテンツが含まれることを示す識別情報が含まれているかを判断する判断工程と、
前記印刷データの印刷においてエラーが発生したときに再度の印刷を行う再印刷処理を許可するか否かを示す判定情報を、前記再印刷処理を許可することを示す情報として記憶する記憶工程と、
前記判断工程で前記識別情報が含まれていると判断されると、前記再印刷処理を許可しないことを示す情報に前記判定情報を変更する変更工程と、
を有することを特徴とする印刷制御方法。
【請求項８】
印刷装置と通信可能に接続された情報処理装置における印刷制御方法であって、
印刷のジョブをもとに、印刷の回数に制限が設けられた対象のコンテンツの終りまで印刷データを生成すると、前記コンテンツの終りを示す情報を生成する生成工程と、
前記ジョブにおいてエラーが発生したときに再度の印刷を行う再印刷処理を許可するか否かを示す判定情報を、前記再印刷処理を許可することを示す情報として前記ジョブが開始されるまでに記憶部に記憶し、前記コンテンツの終りを示す情報をもとに前記コンテンツの印刷が終了したと前記印刷装置で判断されたときに送信される前記コンテンツの印刷が終了したことを示す終了情報を前記印刷装置から受信すると、前記再印刷処理を許可しないことを示す情報に前記判定情報を変更する記憶工程と、
を有することを特徴とする印刷制御方法。
【請求項９】
コンピュータを、
印刷データに印刷の回数に制限が設けられた対象のコンテンツが含まれることを示す識別情報が含まれているかを判断する判断手段と、
前記印刷データの印刷においてエラーが発生したときに再度の印刷を行う再印刷処理を許可するか否かを示す判定情報を、前記再印刷処理を許可することを示す情報として記憶する記憶手段と、
前記判断手段で前記識別情報が含まれていると判断されると、前記再印刷処理を許可しないことを示す情報に前記判定情報を変更する変更手段と、
して機能させるプログラム。
【請求項１０】
印刷装置と通信可能に接続されたコンピュータを、
印刷のジョブをもとに、印刷の回数に制限が設けられた対象のコンテンツの終りまで印刷データを生成すると、前記コンテンツの終りを示す情報を生成する生成手段と、
前記ジョブにおいてエラーが発生したときに再度の印刷を行う再印刷処理を許可するか否かを示す判定情報を、前記再印刷処理を許可することを示す情報として前記ジョブが開始されるまでに記憶部に記憶し、前記コンテンツの終りを示す情報をもとに前記コンテンツの印刷が終了したと前記印刷装置で判断されたときに送信される前記コンテンツの印刷が終了したことを示す終了情報を前記印刷装置から受信すると、前記再印刷処理を許可しないことを示す情報に前記判定情報を変更する記憶手段と、
して機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、印刷制御方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、プリンティングシステムは、カラーでの出力を可能とするカラープリンタと、カラープリンタを制御すると共に印刷データを生成するコンピュータとを含んで構成されるのが一般的である。コンピュータでは、オペレーティングシステム（ＯＳ）が動作しており、各種のソフトウェアがＯＳ上で動作するようになっている。
アプリケーション、プリンタドライバ、ＯＳ等のソフトウェアは、アプリケーションで作成された各種の文書データ（文書）を印刷する際、規定の手順で関数の呼び出し等を行うことによってデータをやり取りして各種のコマンドを生成する。そして、アプリケーション、プリンタドライバ、及びＯＳが生成したコマンドをプリンタに転送することで、プリンティングシステムでは印刷が行われるようになっている。
【０００３】
このようなプリンティングシステムでは、印刷中のエラー等によりページが欠落した場合、コンピュータが印刷のジョブを再度発行し、プリンタが、既に印刷したページについてはスキップして欠落したページを再度印刷する技術が知られている（特許文献１参照）。
また、特定のコンテンツの印刷の回数を制限した上で、制限した回数以内に限り特定のコンテンツの印刷を許可する技術が知られている（特許文献２参照）。更に、マークアップ言語で記述された有料部分にマーカが付加された文書を有するサーバから供給された文書の印刷においてマーカに基づいて有料部分の印刷が完了したか否かを判別し、課金の制御をする方法が知られている（特許文献３参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３２０９９１１号公報
【特許文献２】特開２００２−２５９８３５号公報
【特許文献３】特許第４３６３１６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここで、印刷の回数が制限された対象のコンテンツを含む文書を印刷する場合、当該コンテンツの印刷が終わったあとに同じページでエラー等が発生して欠落ページとなる場合がある。
しかしながら、このような場合、先行技術では、欠落ページの再印刷が行われ、結果として当該コンテンツが制限された回数を超えて印刷されてしまう問題がある。
【０００６】
本発明はこのような問題点に鑑みなされたもので、印刷の回数が制限された対象のコンテンツの印刷をより適切に制御することを目的とする。
【課題を解決するための手段】
【０００７】
そこで、本発明に係る情報処理装置は、印刷データに印刷の回数に制限が設けられた対象のコンテンツが含まれることを示す識別情報が含まれているかを判断する判断手段と、前記印刷データの印刷においてエラーが発生したときに再度の印刷を行う再印刷処理を許可するか否かを示す判定情報を、前記再印刷処理を許可することを示す情報として記憶する記憶手段と、前記判断手段で前記識別情報が含まれていると判断されると、前記再印刷処理を許可しないことを示す情報に前記判定情報を変更する変更手段と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、印刷の回数が制限された対象のコンテンツの印刷をより適切に制御することができる。
【図面の簡単な説明】
【０００９】
【図１】プリンティングシステムの構成の一例を示す図である。
【図２】プリンタドライバの内部構成の一例を示す図である。
【図３】文書編集・印刷処理に係るフローチャートの一例を示す図である。
【図４】印刷処理に係るフローチャートの一例を示す図である。
【図５】コマンドの一例を示す図である。
【図６】データ転送処理に係るフローチャートの一例を示す図である。
【図７】プリンタドライバの内部構成の一例を示す図である。
【図８】文書編集・印刷処理に係るフローチャートの一例を示す図である。
【図９】有料コンテンツの位置情報、及びページ内での配置の一例を示す図である。
【図１０】印刷処理に係るフローチャートの一例を示す図である。
【図１１】ページデータ出力処理に係るフローチャートの一例を示す図である。
【図１２】エコーコマンドの一例を示す図である。
【図１３】データ転送処理に係るフローチャートの一例を示す図である。
【図１４】データ受信処理に係るフローチャートの一例を示す図である。
【図１５】印刷実行処理に係るフローチャートの一例を示す図である。
【図１６】応答コマンドの一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について図面に基づいて説明する。なお、実施形態は、本発明を限定するものではなく、また、実施形態で説明されている全ての構成が本発明の課題を解決するための手段に必須であるとは限らない。
なお、本明細書において、コンテンツ、印刷データ、ジョブの各用語の内容は以下のとおりである。
コンテンツとは、利用者がアプリケーション等を用いて作成する文書を構成する要素である。コンテンツとしては、ビットマップデータ、図形データ、文字データ等がある。
印刷データとは、利用者がアプリケーション等を用いて作成した文書が、プリンタが理解可能なコマンドの形式に変換されたものである。
ジョブとは、印刷データをプリンティングシステム上で管理する単位である。
【００１１】
＜第１の実施形態＞
図１から図６を用いて本実施形態を詳細に説明する。図１は、本実施形態に係るプリンティングシステムの構成の一例を示す図である。プリンティングシステムは、プリンタ１０１及びＰＣ（パーソナルコンピュータ）１０２を含んで構成される。
プリンタ１０１は、画像形成を行うインクジェット方式のカラープリンタであり、ＰＣ１０２で生成された印刷データに基づいて画像の形成を行う。なお、本実施形態において、プリンタの種類については特に問わないが、ここではインクジェット方式のカラープリンタを想定している。
また、プリンタ１０１は、各種の機能部（１０３〜１０５）を含んで構成される。
【００１２】
Ｉ／Ｆ制御部１０３は、プリンタ１０１のインタフェース機能を司る。ここでは、想定している通信インタフェース１００の規格がＵＳＢ（Universal Serial Bus）であり、プリンタ１０１は、ＵＳＢの周辺機器側のコントローラを有する。即ち、Ｉ／Ｆ制御部１０３は、当該コントローラを制御する。例えば、Ｉ／Ｆ制御部１０３では、印刷データの受信が行われる。
また、Ｉ／Ｆ制御部１０３は、プリンタ１０１の動作の状況、プリンタ１０１の本体で発生したエラーの状況、通信の状態などを示すステータス情報についてＰＣ１０２からの取得の要求がある場合、ＰＣ１０２に対してステータス情報を送信する。なお、プリンタ１０１の動作の状況としては、プリンタ１０１における印刷の進行の状況、インクの残量の状況等がある。また、ステータス情報は、プリンタ１０１において適宜のタイミングで更新される。
【００１３】
印刷制御部１０４は、ＰＣ１０２から送信された印刷データを印刷部１０５（プリンタエンジン）に展開する。ここで、ＰＣ１０２から送信される印刷データは、用紙の種類や大きさなどの印刷設定項目の設定値を含む印刷設定情報に基づいてＰＣ１０２で画像処理が行われた印刷制御用のコマンド等が含まれるデータである。即ち、印刷制御部１０４は、印刷データ（印刷制御用のコマンド）に従って印刷部１０５の制御を行う。
より具体的には、印刷制御部１０４は、印刷用の２値データ（場合によっては２値化前の中間データ）とインクの打ち込み量、パス数、印刷方向、用紙の搬送量を制御する各種のコマンドによって構成される印刷データを用いて印刷部１０５の制御を行う。
印刷部１０５は、印刷制御部１０４で展開された印刷データに基づいて記録媒体（用紙）に対して印刷を行う。なお、プリンタ１０１は、インクジェット方式のプリンタであるので、インクの吐出によって画像の形成を行う。
【００１４】
ＰＣ１０２は、情報処理装置（コンピュータ）の一例であり、印刷データを生成し、接続されたプリンタ１０１の制御を行う。また、ＰＣ１０２は、印刷設定情報の追加、変更、削除などに関するユーザからの指示や入力を受け付ける。
ＰＣ１０２は、各種の機能部（１１０〜１１５）を含んで構成される。また、図示は省略するが、ＰＣ１０２には、ＰＣ１０２を制御するＯＳが組み込まれており、ＯＳを介して各種の機能部が実現される。
【００１５】
Ｉ／Ｆ制御部１１０は、ＰＣ１０２のインタフェース機能を司る。ここで、ＰＣ１０２は、ＵＳＢのホスト側のコントローラを有する。即ち、Ｉ／Ｆ制御部１１０は、当該コントローラを制御し、ＵＳＢにおけるホストとしてのホスト機能を有する。なお、ホスト機能の一部は、ＯＳやプリンタドライバなどのソフトウェアにより実現される。
中央制御部１１１は、ＰＣ１０２の他の機能部を制御する。なお、ＰＣ１０２が具備するＣＰＵの持つ主な機能が中央制御部１１１に該当する。印刷設定入力操作部１１２は、マウス、キーボードなどの各種の入力機器を制御し、各種の情報をＰＣ１０２に入力する。
プリンタドライバ１１３は、印刷設定項目の設定値の指定、印刷データの生成、及びプリンタ１０１の制御をＰＣ１０２上で行うためのソフトウェアである。プリンタドライバ１１３の詳細については図２を用いて後述する。
【００１６】
プリントスプーラ１１４は、後述の印刷データ生成処理部１１６で生成された印刷データを逐次記憶し、記憶した印刷データをプリンタ１０１に転送（送信）する要求をプリンタドライバ１１３に通知する。ここで、印刷データの記憶と転送とは非同期に行われる。即ち、印刷データ生成処理部１１６での印刷データの生成がプリンタ１０１での印刷よりも速く実行される場合でも、印刷データ生成処理部１１６は、プリンタ１０１での印刷を待つことなく、印刷データを生成できるので、印刷が効率的に実行されるようになる。
プリントスプーラ１１４に記憶された印刷データは、所定の順番に従ってプリンタ１０１に転送されるが、プリンタ１０１の電源が入っていない場合や通信が途絶した場合など、正しく転送が行われず、上記印刷データのジョブがエラー状態になる場合がある。
このような場合、ジョブを表示する表示画面からユーザが当該ジョブを選択し、削除を指示する入力機器の操作を行うことで、処理を中止してプリントスプーラ１１４から印刷データを削除することができる。なお、一般にプリントスプーラ１１４は、ＯＳの機能として提供される。
【００１７】
アプリケーション１１５は、プリンタ１０１で印刷するための文書を作成・編集するためのソフトウェアである。アプリケーション１１５によれば、文書を作成・編集する際、各種の画像データを用いることができるが、これらの画像データには印刷の回数に制限が設けられた対象のコンテンツがある。対象のコンテンツとしては、例えば料金が必要となるコンテンツ（以下、有料コンテンツと称する。）がある。
また、アプリケーション１１５には、このような有料コンテンツを含む文書を所定の回数を超えて印刷を指示できない仕組みが設けられている。
【００１８】
通信インタフェース１００は、ＰＣ１０２とプリンタ１０１とを接続する。通信インタフェース１００は、双方向の通信を実現するインタフェースであり、有線であっても無線であってもよい。
ここで、通信インタフェース１００の規格としては複数の種類の規格のうちの何れを用いてもよいが、本実施形態では、シリアルインタフェースの規格であるＵＳＢを想定している。なお、シリアルインタフェースの規格には、ＵＳＢの他に、ＩＥＥＥ１３９４、Ｅｔｈｅｒｎｅｔ（登録商標）、ＩｒＤＡが定めた赤外線通信の規格、ＩＥＥＥ８０２．１１、電力線の規格などがある。付言するならば、パラレルインタフェースの規格としては、セントロニクスの規格、ＳＣＳＩの規格などがある。
【００１９】
なお、図示は省略するが、プリンタ１０１は、ＣＰＵ、ＲＡＭ、ＲＯＭ、外部メモリ、入出力機器などのデバイスを有し、ＰＣ１０２は、ＣＰＵ、ＲＡＭ、ＲＯＭ、外部メモリ、入力機器、表示機器などのデバイスを有する。例えば、外部メモリは、ハードディスク（ＨＤＤ）、フレキシブルディスク（ＦＤ）等である。なお、ＲＡＭ、外部メモリ等は、各種の情報を記憶する記憶部の一例である。
また、本実施形態は、上述の構成に限られるものではない。例えば、本実施形態では、ＰＣ１０２とプリンタ１０１とが双方向の通信が可能なインタフェースで接続された構成を採用しているが、ＰＣ１０２の機能とプリンタ１０１の機能とを有する単体の装置を採用してもよい。
【００２０】
図２は、プリンタドライバ１１３の内部構成の一例を示す図である。印刷設定処理部１２０は、印刷設定項目の設定値を表示、通知などする機能を有し、ユーザによる入力機器の操作に応答して指示や入力を受け付ける。印刷設定処理部１２０は、受け付けた用紙の設定値や印刷品位の設定値などを含む印刷設定情報を外部メモリ等に記憶して管理する。
印刷データ生成処理部１１６は、設定された印刷設定情報とアプリケーションにより生成された文書データと印刷プロファイルとに従って印刷データを生成し、生成した印刷データをプリントスプーラ１１４にスプールする。ここで、印刷プロファイルには、プリンタ１０１における印刷を制御するための様々な情報、より具体的には、使用可能なインク、インクのうちこみ量、インクジェットプリンタヘッドの走査パス数、解像度、品位等の情報が含まれている。
【００２１】
監視部１１７は、プリントスプーラ１１４からの転送の要求によりプリントスプーラ１１４に記憶された印刷データを解析しつつ、後述のデータ通信処理部１１８からＩ／Ｆ制御部１１０を介してプリンタ１０１に印刷データを逐次転送する。
また、監視部１１７は、プリンタ１０１からステータス情報を取得する。監視部１１７は、取得したステータス情報を後述のステータス表示処理部１１９に転送し、ステータス表示処理部１１９は、受け取ったステータス情報に基づいて画面表示を行う。また、監視部１１７は、プリンタ１０１における印刷中にエラーによりページの欠落が発生した場合、当該ページの印刷データをプリンタ１０１に再度送信して印刷させるエラーリカバリー処理を行う。
【００２２】
データ通信処理部１１８は、監視部１１７の指示に従って、Ｉ／Ｆ制御部１１０を介してプリンタ１０１との通信処理を行う。プリンタ１０１との通信処理としては、印刷データ等のデータをプリンタ１０１に転送する処理、プリンタ１０１のステータス情報をプリンタ１０１から取得する処理などがある。
ステータス表示処理部１１９は、監視部１１７がプリンタ１０１から取得したステータス情報を受け取って解釈し、その内容に適した画面表示を行う。
【００２３】
（文書編集・印刷処理の説明）
図３は、アプリケーション１１５が行う文書編集・印刷処理に係るフローチャートの一例を示す図である。例えば、このフローチャートは、文書編集・印刷処理に関係するプログラムをＰＣ１０２のＣＰＵが読み出して実行することで実現される。なお、文書編集・印刷処理が開始されると、ユーザは、文書の編集を行うことができる。
まず、アプリケーション１１５は、文書の編集を受け付ける（Ｓ３０１）。文書の編集とは、印刷に用いられる各種の入力を受け付けた上で印刷を指示する一連の操作を指している。印刷に用いられる各種の入力では、用紙サイズなどの印刷設定項目の設定値の指定が行われ、画像データの選択と配置が行われ、テキストデータや図形データの入力が行われる。
例えば、画像データとして、ユーザは、独自のコンテンツ、例えば料金が不要であるコンテンツ（以下では、無料コンテンツと称する。）を選択することもできるし、有料コンテンツを選択することもできる。また、ユーザは、無料コンテンツと有料コンテンツとを１つの文書内に混在させることもできる。
【００２４】
ここで、有料コンテンツが選択された場合、アプリケーション１１５は、当該有料コンテンツが規定の回数だけ既に印刷されていないかを、図示しないコンテンツ情報データベースにて照会する。なお、コンテンツ情報データベースは、ＰＣ１０２に設けられていてもよいし、ＰＣ１０２に通信可能に接続された他のコンピュータに設けられていてもよい。
そして、アプリケーション１１５は、編集中の文書を印刷することで規定の回数を超過すると判断したときには印刷を指示する操作（印刷操作）を許可しないよう動作する。なお、印刷操作を許可した場合、アプリケーション１１５は、コンテンツ情報データベースの回数の情報を更新する。
【００２５】
続いて、アプリケーション１１５は、印刷操作が行われたか否かを判断する（Ｓ３０２）。このとき、アプリケーション１１５は、印刷操作が行われたと判断した場合、Ｓ３０３の処理を行い、他方、印刷操作が行われていないと判断した場合、処理を終了する。
Ｓ３０３では、アプリケーション１１５は、ＯＳが提供する印刷関連のＡＰＩを順次呼び出して文書の各ページの描画命令（描画情報）を取得し、当該文書に有料コンテンツが含まれているか否かを判断する。具体的には、アプリケーション１１５は、コンテンツの選択操作を監視することで有料コンテンツが文書に含まれるか否かを判断する。また、その他の方法で判断しても良い。このとき、アプリケーション１１５は、含まれていると判断した場合、Ｓ３０４の処理を行い、他方、含まれていないと判断した場合、Ｓ３０５の処理を行う。Ｓ３０４では、アプリケーション１１５は、描画命令の出力に先立って、印刷設定情報の一部として、文書に有料コンテンツを含むことを示す情報（有料情報）を設定し、続いてＳ３０５の処理を行う。
【００２６】
Ｓ３０５では、アプリケーション１１５は、ジョブを開始する旨の通知をプリンタドライバ１１３に行う。続いて、アプリケーション１１５は、ページについての処理を開始する旨の通知をプリンタドライバ１１３に行い（Ｓ３０６）、ページ内の画像データ、テキストデータ、図形データの描画命令をプリンタドライバ１１３に出力する（Ｓ３０７）。続いて、アプリケーション１１５は、ページについての処理を終了する旨の通知をプリンタドライバ１１３に行う（Ｓ３０８）。
続いて、アプリケーション１１５は、文書の全てのページの処理が終了したか否かを判断する（Ｓ３０９）。このとき、アプリケーション１１５は、終了したと判断した場合、処理を終了し、他方、終了していないと判断した場合、Ｓ３０６の処理を行う。即ち、アプリケーション１１５は、文書が複数のページからなる場合、Ｓ３０６からＳ３０８までの処理をページ数分繰り返し行う。
【００２７】
（印刷処理の説明）
図４は、プリンタドライバ１１３が行う印刷処理に係るフローチャートの一例を示す図である。例えば、このフローチャートは、印刷処理に関係するプログラムをＰＣ１０２のＣＰＵが読み出して実行することで実現される。なお、アプリケーション１１５で印刷操作が受け付けられると、プリンタドライバ１１３がＯＳから呼び出されて印刷処理が開始される。
まず、プリンタドライバ１１３は、ジョブに設定された印刷設定情報を取得する（Ｓ４０１）。続いて、プリンタドライバ１１３は、プリントスプーラ１１４に対してジョブ開始コマンドを出力する（Ｓ４０２）。
【００２８】
続いて、プリンタドライバ１１３は、有料コンテンツを含む印刷データのジョブであるか否かをＳ３０４にて印刷設定情報に設定され得る有料情報を参照して判断する（Ｓ４０３）。このとき、プリンタドライバ１１３は、有料コンテンツを含む印刷データのジョブであると判断した場合、Ｓ４０４の処理を行い、他方、有料コンテンツを含む印刷データのジョブでないと判断した場合、Ｓ４０５の処理を行う。
Ｓ４０４では、プリンタドライバ１１３は、有料コンテンツが含まれていることを示すコマンドをプリントスプーラ１１４に対して出力する。なお、プリントスプーラ１１４は、プリンタドライバ１１３から出力された有料コンテンツが含まれていることを示すコマンドを印刷データとして記憶する。このコマンドは、有料コンテンツが含まれていることを示す識別情報の一例であり、図５に示すような構造を有する。
【００２９】
図５は、ＰＣ１０２がプリンタ１０１に転送する印刷データに有料コンテンツが含まれることを示すコマンドの一例を示す図である。
最初の１バイトは、エスケープシーケンスの開始を示すエスケープコードである。２バイト目は、コマンドの種類を表す文字を示す値である。ここでは、有料コンテンツ有無を示すコマンドを意味する'ｖ'が設定されている。３バイト目及び４バイト目は、コマンドのサイズのカウント値を下位１バイト、上位１バイトの順番に並べたものである。この例では、カウント値が０ｘ０００１を示している。５バイト目（最後の１バイト）は、有料コンテンツの有無を示す値である。０ｘ０１は、有料コンテンツが含まれていることを示す値である。
【００３０】
Ｓ４０５では、プリンタドライバ１１３は、各ページの描画命令をラスターデータに変換（ラスタライズ）し、ラスターデータをコマンドの形式に変換したページデータ（印刷データの一部）をプリントスプーラ１１４に出力する。
続いて、プリンタドライバ１１３は、Ｓ４０５の処理において全てのページについてのページデータの出力が終わった場合、ジョブ終了コマンドをプリントスプーラ１１４に出力し（Ｓ４０６）、処理を終了する。
【００３１】
（データ転送処理の説明）
図６は、プリンタドライバ１１３が行うデータ転送処理に係るフローチャートの一例を示す図である。データ転送処理は、プリントスプーラ１１４からの転送の要求に応じてプリンタドライバ１１３によって行われる。例えば、このフローチャートは、データ転送処理に関係するプログラムをＰＣ１０２のＣＰＵが読み出して実行することで実現される。
なお、プリンタドライバ１１３がジョブをもとに印刷データをプリントスプーラ１１４に出力すると、プリントスプーラ１１４がプリンタドライバ１１３に対して印刷データのプリンタ１０１への転送を要求する。
【００３２】
まず、プリンタドライバ１１３は、プリントスプーラ１１４から印刷データの転送が要求されると、プリントスプーラ１１４から印刷データを取得する（Ｓ６０１）。
続いて、プリンタドライバ１１３は、Ｓ６０１で取得した印刷データを解析し（Ｓ６０２）、印刷データに有料コンテンツが含まれていることを示すコマンドが含まれるか否かを判断する（Ｓ６０３）。このとき、プリンタドライバ１１３は、含まれると判断した場合、Ｓ６０４の処理を行い、他方、含まれないと判断した場合、Ｓ６０５の処理を行う。
Ｓ６０４では、プリンタドライバ１１３は、当該ジョブではエラーリカバリー処理を行わないことを示す情報（不許可情報）をエラーリカバリー設定情報として記憶部に記憶し（Ｓ６０４）、続いてＳ６０５の処理を行う。なお、エラーリカバリー設定情報は、各ジョブの開始時、即ち当該ジョブが開始されるまでにはエラーリカバリー処理を行うことを示す情報（許可情報）で初期化される。なお、エラーリカバリー設定情報は、当該ジョブにおいてエラーが発生したときに再度の印刷を行う再印刷処理を許可するか否かを示す判定情報の一例である。
Ｓ６０５では、プリンタドライバ１１３は、Ｓ６０１でプリントスプーラ１１４から取得した印刷データをプリンタ１０１に転送する。
【００３３】
続いて、プリンタドライバ１１３は、プリンタ１０１にステータス情報の送信を要求し、プリンタ１０１のステータス情報を取得する（Ｓ６０６）。続いて、プリンタドライバ１１３は、取得したステータス情報を解析してプリンタ１０１がエラーリカバリー処理を行うべき状態になっているか否かを判断する（Ｓ６０７）。このとき、プリンタドライバ１１３は、エラーリカバリー処理を行うべき状態になっていると判断した場合、Ｓ６０８の処理を行い、他方、エラーリカバリー処理を行うべき状態になっていないと判断した場合、Ｓ６１１の処理を行う。
Ｓ６０８では、プリンタドライバ１１３は、エラーリカバリー設定情報を取得する。続いて、プリンタドライバ１１３は、エラーリカバリー設定情報が許可情報であるか否かを判断する（Ｓ６０９）。このとき、プリンタドライバ１１３は、許可情報であると判断した場合、Ｓ６１０の処理を行い、他方、不許可情報であると判断した場合、Ｓ６１１の処理を行う。Ｓ６１０では、プリンタドライバ１１３は、エラーリカバリー処理を行い、続いてＳ６１１の処理を行う。
【００３４】
ここで、エラーリカバリー処理としては、プリンタドライバ１１３が必要な印刷データを再送信する方法を想定しているが、この方法に限られるものではない。例えば、プリンタ１０１がエラーリカバリー処理の機能を持っていてプリンタドライバ１１３がコマンドにより実行を指示する方法であってもよい。なお、プリンタドライバ１１３から制御する方法としてどのような方法を採用してもよい。
Ｓ６１１では、プリンタドライバ１１３は、ジョブの終了であるか否かを判断する。このとき、ジョブの終了であると判断した場合、処理を終了し、他方、ジョブの終了でないと判断した場合、Ｓ６０１の処理を行う。このように、プリンタドライバ１１３は、プリントスプーラ１１４から転送が要求される印刷データの全てを送信し終えるまでＳ６０１からＳ６１０までの処理を繰り返してデータ転送処理を終了する。
【００３５】
上述の構成によれば、プリンタ１０１でエラーリカバリー処理を行うべき状況が発生した場合、例えば紙ジャムエラーが発生した場合でも、ジョブの印刷データに有料コンテンツが含まれているときにはエラーリカバリー処理を行わないよう制御できるようになる。また、上述の構成によれば、エラーリカバリー処理によって有料コンテンツが規定の回数を超えて印刷されることを回避できるようになる。また、上述の構成によれば、有料コンテンツを用いた文書の編集が行うことができるので、汎用性が高くなる。
【００３６】
＜第２の実施形態＞
図７から図１６を用いて本実施形態を説明する。なお、本実施形態では、第１の実施形態と同一の構成については同一の符号を用いて説明を適宜省略する。
図７は、本実施形態のプリンタドライバ１１３の内部構成の一例を示す図である。印刷状況記憶部１２１は、各ジョブにおける有料コンテンツの印刷状況を記憶する。課金処理部１２２は、各ジョブの終了時に有料コンテンツの印刷の結果に応じた課金処理を行う。
その他の機能部（１１６〜１２０）は、図２の機能部（１１６〜１２０）と同様であるので説明を省略する。
【００３７】
（文書編集・印刷処理の説明）
図８は、アプリケーション１１５が行う文書編集・印刷処理に係るフローチャートの一例を示す図である。なお、Ｓ８０１からＳ８０３まで、Ｓ８０５からＳ８０９までの処理は、図３に示すＳ３０１からＳ３０３まで、Ｓ３０５からＳ３０９までの処理と同じであるので、説明を省略する。
Ｓ８０４では、アプリケーション１１５は、文書中の全ての有料コンテンツの位置情報をページ番号、及びコンテンツＩＤとともに、印刷設定情報の一部として設定する。設定される情報は、図９（ａ）のような構造になっている。
【００３８】
図９の（ａ）は、アプリケーション１１５によって印刷設定情報として設定される有料コンテンツの位置情報の一例を示す図である。図９の（ｂ）は、図９の（ａ）に基づく有料コンテンツのページ内での配置の一例を示す図である。
ページ番号は、有料コンテンツが文書中の何ページ目に配置されているかを示す。コンテンツＩＤは、有料コンテンツに固有のＩＤ番号を示す。開始位置（Ｙ座標）は、用紙の上端から有料コンテンツの上端までの距離を示す。終了位置（Ｙ座標）は、用紙の上端から有料コンテンツの下端までの距離を示す。
図９（ｂ）では、ページ９０１上には有料コンテンツ（９０２、９０５）が図９（ａ）に記録された位置に夫々配置されている。また、ページ９０１上には、無料コンテンツ（９０３、９０４、９０６）が配置されている。
【００３９】
（データ転送処理の説明）
図１０は、プリンタドライバ１１３が行う印刷処理に係るフローチャートの一例を示す図である。アプリケーション１１５で印刷操作が受け付けられると、プリンタドライバ１１３がＯＳから呼び出されて印刷処理が開始される。
まず、プリンタドライバ１１３は、ジョブに設定された印刷設定情報を取得する（Ｓ１００１）。なお、印刷設定情報には、図８のＳ８０４で設定された有料コンテンツの位置情報が含まれている。続いて、プリンタドライバ１１３は、プリントスプーラ１１４に対してジョブ開始コマンドを出力する（Ｓ１００２）。
続いて、プリンタドライバ１１３は、Ｓ１００１で取得した印刷設定情報中の有料コンテンツの位置情報を参照しつつ、プリントスプーラ１１４にページデータを出力する処理（ページデータ出力処理）を行う。なお、ページデータ出力処理の詳細については図１１を用いて後述する。
続いて、プリンタドライバ１１３は、ジョブ終了コマンドをプリントスプーラ１１４に出力し（Ｓ１００４）、印刷処理を終了する。
【００４０】
図１１は、プリンタドライバ１１３が行うページデータ出力処理に係るフローチャートの一例を示す図である。ページデータ出力処理は、プリンタドライバ１１３の印刷処理の一部として行われる。
まず、プリンタドライバ１１３は、図１０のＳ１００１で取得した印刷設定情報を参照し、有料コンテンツの位置情報を取得する（Ｓ１１０１）。続いて、プリンタドライバ１１３は、ページの描画命令を取得する（Ｓ１１０２）。
【００４１】
続いて、プリンタドライバ１１３は、描画命令をラスターデータに変換（ラスタライズ）する際、Ｓ１１０１で取得した有料コンテンツの位置情報を参照し、処理中のページに有料コンテンツが含まれているか否かを判別する（Ｓ１１０３）。このとき、処理中のページに有料コンテンツが含まれていると判断した場合、Ｓ１１０４の処理を行い、他方、処理中のページに有料コンテンツが含まれていないと判断した場合、Ｓ１１０７の処理を行う。
Ｓ１１０４では、プリンタドライバ１１３は、ページ内の有料コンテンツについて、有料コンテンツの上端の直前又は有料コンテンツの下端までのラスターデータをプリントスプーラ１１４に出力する。続いて、プリンタドライバ１１３は、有料コンテンツの位置を示すコマンド（以下、エコーコマンドと称する。）をプリントスプーラ１１４に出力する（Ｓ１１０５）。
【００４２】
例えば、有料コンテンツの上端の直前まで出力した場合、プリンタドライバ１１３は、図１２（ａ）に示すエコーコマンドをプリントスプーラ１１４に出力する。また、例えば、有料コンテンツの下端まで出力した場合、プリンタドライバ１１３は、図１２（ｂ）に示すエコーコマンドをプリントスプーラ１１４に出力する。
図１２は、エコーコマンドの一例を示す図である。図１２（ａ）のエコーコマンドは、コンテンツＩＤが１５００３４５１（１６進表記で００ｅ４ｅｆ３ｂ）である有料コンテンツの上端のラスターデータの出力の直前に出力されるものである。図１２（ｂ）のエコーコマンドは、コンテンツＩＤが１５００３４５１（１６進表記で００ｅ４ｅｆ３ｂ）である有料コンテンツの下端のラスターデータの出力の直後に出力されるものである。
【００４３】
ここで、プリンタ１０１は、これらのエコーコマンドを含む印刷データを受信して処理すると、ＰＣ１０２に対して図１６で説明する応答コマンドを送信するように構成されている。即ち、ラスターデータの直前（又は直後）に出力されたエコーコマンドに対して、当該ラスターデータの印刷が行われる直前（又は直後）に応答コマンドが送信される。故に、ＰＣ１０２は、応答コマンドを受信することにより、有料コンテンツの印刷の開始及び終了を認識することができるようになる。
続いて、プリンタドライバ１１３は、ページ内に他の有料コンテンツが含まれているか否かを判断する（Ｓ１１０６）。このとき、プリンタドライバ１１３は、含まれていると判断した場合、Ｓ１１０４の処理を行い、他方、含まれていないと判断した場合、Ｓ１１０７の処理を行う。
【００４４】
Ｓ１１０７では、プリンタドライバ１１３は、残りのラスターデータをプリントスプーラ１１４に出力して１ページ分のデータ（ページデータ）の出力処理を終える。続いて、プリンタドライバ１１３は、全てのページのページデータの出力処理が終了したか否かを判断する（Ｓ１１０８）。このとき、プリンタドライバ１１３は、終了したと判断した場合、ページデータ出力処理を終了し、他方、終了していないと判断した場合、Ｓ１１０２の処理を行う。
【００４５】
（データ転送処理の説明）
図１３は、プリンタドライバ１１３が行うデータ転送処理に係るフローチャートの一例を示す図である。データ転送処理は、プリントスプーラ１１４からの転送の要求に応じてプリンタドライバ１１３によって行われる。なお、プリンタドライバ１１３がプリントスプーラ１１４に印刷データを出力すると、プリントスプーラ１１４がプリンタドライバ１１３に対して印刷データのプリンタ１０１への転送を要求する。
まず、プリンタドライバ１１３は、プリントスプーラ１１４から印刷データの転送が要求されると、現在のページ番号として記憶する処理ページ情報を、１ページ目を表す内容に初期化する（Ｓ１３０１）。
【００４６】
続いて、プリンタドライバ１１３は、プリントスプーラ１１４から印刷データを取得し（Ｓ１３０２）、取得した印刷データをプリンタ１０１に転送する（Ｓ１３０３）。なお、この際、プリンタドライバ１１３は、プリンタ１０１に対して印刷データの受信要求を行う。続いて、プリンタドライバ１１３は、プリンタ１０１にステータス情報の送信を要求し、プリンタ１０１のステータス情報を取得する（Ｓ１３０４）。
続いて、プリンタドライバ１１３は、取得したステータス情報を解析し、図１６（ａ）に示す有料コンテンツの印刷の開始の直前に送信される応答コマンドが含まれるか否かを判断する（Ｓ１３０５）。このとき、プリンタドライバ１１３は、含まれていると判断した場合、Ｓ１３０６の処理を行い、他方、含まれないと判断した場合、Ｓ１３０７の処理を行う。
【００４７】
Ｓ１３０６では、プリンタドライバ１１３は、有料コンテンツの印刷を開始することを示す情報を処理中のページのページ番号、及びコンテンツＩＤとともに記憶部に記憶し、後続の印刷データを取得するためにＳ１３０２の処理を行う。
Ｓ１３０７では、プリンタドライバ１１３は、図１６（ｂ）に示す有料コンテンツの印刷の直後に送信される終了情報の一例である応答コマンドが含まれているか否かを判断する。このとき、プリンタドライバ１１３は、含まれていると判断した場合、Ｓ１３０８の処理を行い、他方、含まれないと判断した場合、Ｓ１３１０の処理を行う。
【００４８】
Ｓ１３０８では、プリンタドライバ１１３は、有料コンテンツの印刷を終了したことを示す情報を処理中のページのページ番号、及びコンテンツＩＤとともに記憶部に記憶する。即ち、プリンタドライバ１１３は、印刷が行われたコンテンツを特定可能な特定情報を記憶部に記憶する。
続いて、プリンタドライバ１１３は、現在のページではエラーリカバリー処理を行わないことを示す情報（不許可情報）をエラーリカバリー設定情報として記憶部に記憶し（Ｓ１３０９）、後続の印刷データを取得するためにＳ１３０２の処理を行う。なお、エラーリカバリー設定情報は、各ジョブの開始時、即ち当該ジョブが開始されるまでにはエラーリカバリー処理を行うことを示す情報（許可情報）で初期化される。
Ｓ１３１０では、プリンタドライバ１１３は、ステータス情報にページの印刷が完了したことを示すコマンドが含まれているか否かを判断する。このとき、プリンタドライバ１１３は、含まれていると判断した場合、Ｓ１３１１の処理を行い、他方、含まれないと判断した場合、Ｓ１３１３の処理を行う。
【００４９】
Ｓ１３１１では、プリンタドライバ１１３は、エラーリカバリー設定情報を初期化、即ち、エラーリカバリー設定情報を許可情報として記憶する。続いて、プリンタドライバ１１３は、記憶部（より狭義には自身の記憶領域）に記憶した処理ページ情報に１を追加し（Ｓ１３１２）、後続の印刷データを取得するためにＳ１３０２の処理を行う。
Ｓ１３１３では、プリンタドライバ１１３は、ステータス情報にエラーリカバリー処理を行うべき状態を示すコマンドが含まれているか否かを判断する。このとき、プリンタドライバ１１３は、含まれていると判断した場合、Ｓ１３１４の処理を行い、他方、含まれないと判断した場合、Ｓ１３１７の処理を行う。
【００５０】
Ｓ１３１４では、プリンタドライバ１１３は、エラーリカバリー設定情報を取得する。続いて、プリンタドライバ１１３は、エラーリカバリー設定情報が許可情報であるか否かを判断する（Ｓ１３１５）。このとき、許可情報であると判断した場合、Ｓ１３１６の処理を行い、他方、不許可情報であると判断した場合、Ｓ１３１７の処理を行う。Ｓ１３１６では、プリンタドライバ１１３は、エラーリカバリー処理を行う。
Ｓ１３１７では、プリンタドライバ１１３は、ジョブが終了したか否かを判断する。このとき、プリンタドライバ１１３は、ジョブが終了したと判断した場合、Ｓ１３１８の処理を行い、他方、ジョブが終了していないと判断した場合、Ｓ１３０２の処理を行う。
Ｓ１３１８では、プリンタドライバ１１３は、課金処理を行い、処理を終了する。即ち、プリンタドライバ１１３は、Ｓ１３０２からＳ１３１６までの処理をジョブ全体の印刷が終了するまで繰り返した後、Ｓ１３０８で記憶した印刷の終了した有料コンテンツの情報を参照して有料コンテンツの印刷に伴う課金処理を行う。
【００５１】
（データ受信処理と印刷実行処理との説明）
図１４は、プリンタ１０１が行うデータ受信処理に係るフローチャートの一例を示す図である。データ受信処理は、例えばプリンタ１０１のＩ／Ｆ制御部１０３によって行われる。
まず、プリンタ１０１は、プリンタ１０１の電源オフの操作などにより発生するプリンタ１０１の終了要求を検知したか否かを判断する（Ｓ１４０１）。このとき、プリンタ１０１は、終了要求を検知したと判断した場合、処理を終了し、他方、終了要求を検知していないと判断した場合、Ｓ１４０２の処理を行う。
【００５２】
Ｓ１４０２では、プリンタ１０１は、印刷データの受信要求をＰＣ１０２から受信したか否かを判断する。このとき、プリンタ１０１は、受信したと判断した場合、Ｓ１４０３の処理を行い、他方、受信していないと判断した場合、Ｓ１４０１の処理を行う。
Ｓ１４０３では、プリンタ１０１は、印刷データを受信してバッファに格納する。ここで、バッファの容量には限りがあるので、プリンタ１０１は、受信要求された印刷データをバッファに格納できない場合、送信元のＰＣ１０２に対してエラーを通知して再送を促す。なお、プリンタ１０１は、上述の処理を終了要求があるまで繰り返し行う。
【００５３】
図１５は、プリンタ１０１が行う印刷実行処理に係るフローチャートの一例を示す図である。印刷実行処理は、例えばプリンタ１０１の印刷制御部１０４及び印刷部１０５によって行われる。
まず、プリンタ１０１は、終了要求を検知したか否かを判断する（Ｓ１５０１）。このとき、プリンタ１０１は、終了要求を検知したと判断した場合、処理を終了し、他方、終了要求を検知していないと判断した場合、Ｓ１５０２の処理を行う。
Ｓ１５０２では、プリンタ１０１は、バッファに印刷データが格納されているか否かを判断する。このとき、プリンタ１０１は、格納されていると判断した場合、Ｓ１５０３の処理を行い、他方、格納されていないと判断された場合、Ｓ１５０１の処理を行う。
Ｓ１５０３では、プリンタ１０１は、バッファから印刷データを取得する。より具体的には、プリンタ１０１は、バッファに印刷データが格納されると、バッファから印刷データをコマンド単位で取り出して内容を解析する。続いて、プリンタ１０１は、バッファから取り出した印刷データのコマンドがエコーコマンドであるか否かを判断する（Ｓ１５０４）。このとき、エコーコマンドであると判断した場合、Ｓ１５０５の処理を行い、他方、エコーコマンドでないと判断した場合、Ｓ１５０６の処理を行う。
【００５４】
Ｓ１５０５では、プリンタ１０１は、エコーコマンドで指定された情報をもとに図１６に示すフォーマットの応答コマンドを生成してＰＣ１０２に送信する。
本実施形態では、エコーコマンドの１６進数の情報が応答コマンドでは１０進数に変換され、更にＡＳＣＩＩコードに変換されて文字列として送信するように構成しているが、この構成に限られるものではない。例えば、バイナリデータの形式のまま送信するなど、他の形態で送信する構成を採用してもよい。そして、プリンタ１０１は、応答コマンドを送信した後、後続のコマンドをバッファから取得するためにＳ１５０１の処理を行う。
図１６は、図１２のエコーコマンドに対してプリンタ１０１から送信される応答コマンドの一例を示す図である。図１６（ａ）の応答コマンドは、コンテンツＩＤが１５００３４５１である有料コンテンツの印刷の開始の直前に送信されるものである。図１６（ｂ）の応答コマンドは、コンテンツＩＤが１５００３４５１である有料コンテンツの印刷の完了の直後に送信されるものである。
【００５５】
Ｓ１５０６では、プリンタ１０１は、コマンドがラスターデータのコマンドであるか否かを判断する。このとき、プリンタ１０１は、ラスターデータのコマンドであると判断した場合、Ｓ１５０７の処理を行い、他方、ラスターデータのコマンドでないと判断した場合、Ｓ１５０８の処理を行う。
Ｓ１５０７では、プリンタ１０１は、ラスターデータを印刷部１０５で印刷し、後続のコマンドをバッファから取得するためにＳ１５０１の処理を行う。
Ｓ１５０８では、プリンタ１０１は、コマンドによって指定された処理を実行する。エコーコマンドでもラスターコマンドでもないコマンドとしては、例えば給紙ビンの選択コマンドやプリントヘッドのクリーニング等を指示するメンテナンスコマンドなどがある。その後、プリンタ１０１は、後続のコマンドをバッファから取得するためにＳ１５０１の処理を行う。
【００５６】
このように、プリンタ１０１は、ＰＣ１０２から受信する印刷データに含まれるラスターデータを順次印刷しつつ、それらの間に含まれる有料コンテンツの前後に挿入されたエコーコマンドに対する応答コマンドを送信する。この構成によれば、有料コンテンツが印刷される直前、及び印刷が完了した直後にＰＣ１０２に応答コマンドを送信することができるので、ＰＣ１０２は、有料コンテンツの印刷の開始と印刷の完了とを認識することができる。
したがって、各ページに含まれる有料コンテンツのうち１つでも印刷が完了したものがあれば当該ページではエラーリカバリー処理を行わないように制御できるので、有料コンテンツがエラーリカバリー処理によって規定の回数を超えて印刷される事態を回避できる。
また、有料コンテンツの印刷に伴う課金処理において、コンテンツ単位で印刷が完了したか否かを基準に行うことができるので、印刷中にトラブルが発生した場合にも適切な課金処理を行うことができる。
換言するならば、印刷の回数に制限のあるコンテンツを含む文書を自由に作成することを可能にしつつ、文書の印刷の途中でエラーが発生して印刷が中断された場合にも、コンテンツの印刷が完了したか否かに応じて課金処理や再印刷処理が適切に行えるようになる。
【００５７】
＜その他の実施形態＞
本実施形態としては、第１の実施形態の構成と第２の実施形態の構成とを適宜に組み合わせた構成を有する。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００５８】
上述した実施形態の構成によれば、印刷の回数が制限された対象のコンテンツの印刷をより適切に制御することができる。
【００５９】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図１】
0005738044.tif 000002
【図２】
0005738044.tif 000003
【図３】
0005738044.tif 000004
【図４】
0005738044.tif 000005
【図５】
0005738044.tif 000006
【図６】
0005738044.tif 000007
【図７】
0005738044.tif 000008
【図８】
0005738044.tif 000009
【図９】
0005738044.tif 000010
【図１０】
0005738044.tif 000011
【図１１】
0005738044.tif 000012
【図１２】
0005738044.tif 000013
【図１３】
0005738044.tif 000014
【図１４】
0005738044.tif 000015
【図１５】
0005738044.tif 000016
【図１６】
0005738044.tif 000017