(57)【要約】【課題】  再印刷処理を迅速に行えるようにした印刷データのデータ構造および印刷制御装置および印刷制御方法および印刷制御プログラムを提供する。【解決手段】  ユーザによりホスト端末１００から印刷指示が行われると、印刷ドライバ１０２はページ間の印刷に共用する共有データと、ページの内容を記述したページデータとを含むデータ部と、少なくとも前記共有データの位置の記述および前記ページデータの位置の記述を含むページディレクトリテーブルとを具備する構造の印刷データを生成し、該印刷データをスプーラ１０３が通信部１０５を介してプリンタ２００に送信するのと併せて記憶部１０４に保存する。該印刷データに対する再印刷処理時には、記憶部１０４から該印刷データを取得し、ページディレクトリテーブルを用いてページ再構成部１０７で必要部分のみで再構成した印刷データを構築する。【選択図】  図１
2005346357.tif 000002
【特許請求の範囲】
【請求項１】
ページ間の印刷に共用する共有データとページの内容を記述したページデータとを含むデータ部と、
少なくとも前記共有データの位置の記述および前記ページデータの位置の記述を含むページディレクトリテーブルと
を具備することを特徴とする印刷データのデータ構造。
【請求項２】
前記共有データは、
対応ページおよび該対応ページ以降のページの印刷に用いるフォント情報を含む
ことを特徴とする請求項１記載の印刷データのデータ構造。
【請求項３】
前記ページディレクトリテーブルは、
前記共有データの位置情報および前記ページデータの位置情報に加えて、各共有データの利用されるページの情報を含む
ことを特徴とする請求項１記載の印刷データのデータ構造。
【請求項４】
ページ間の印刷に共用する共有データと、ページの内容を記述したページデータとを含むデータ部と、少なくとも前記共有データの位置の記述および前記ページデータの位置の記述を含むページディレクトリテーブルとを具備する構造の印刷データを生成する印刷データ生成手段と、
前記印刷データ生成手段で生成された印刷データを記憶する記憶手段と、
前記印刷データに含まれる特定のページの再印刷指示に際して、前記記憶手段に記憶された印刷データに含まれるページディレクトリテーブルを参照して前記再印刷指示に係わるページで利用する前記共有データと該再印刷指示に係わる前記ページデータを取り出して再印刷データを構築する再印刷データ構築手段と
を具備することを特徴とする印刷制御装置。
【請求項５】
前記再印刷データ構築手段は、
前記再印刷指示に係わる各ページデータの記述に先立って該ページの前の全ての共有データを抽出して設定することにより前記再印刷データを構築する
ことを特徴とする請求項４記載の印刷制御装置。
【請求項６】
前記ページディレクトリテーブルは、
前記共有データの位置情報および前記ページデータの位置情報に加えて、各共有データの利用されるページの情報を含み、
前記再印刷データ構築手段は、
前記再印刷指示に係わる各ページデータの記述に先立って前記共有データの利用されるページの情報を参照して該ページの前の該ページで利用される全ての共有データを抽出して設定することにより前記再印刷データを構築する
ことを特徴とする請求項４記載の印刷制御装置。
【請求項７】
ページ間の印刷に共用する共有データと、ページの内容を記述したページデータとを含むデータ部と、少なくとも前記共有データの位置の記述および前記ページデータの位置の記述を含むページディレクトリテーブルとを具備する構造の印刷データを印刷データ生成手段により生成し、
前記印刷データ生成手段で生成された印刷データを記憶手段に記憶し、
前記印刷データに含まれる特定のページの再印刷指示に際して、前記記憶手段に記憶された印刷データに含まれるページディレクトリテーブルを参照して前記再印刷指示に係わるページで利用する前記共有データと該再印刷指示に係わる前記ページデータを取り出して再印刷データを再印刷データ構築手段により構築する
ことを特徴とする印刷制御方法。
【請求項８】
ページ間の印刷に共用する共有データと、ページの内容を記述したページデータとを含むデータ部と、少なくとも前記共有データの位置の記述および前記ページデータの位置の記述を含むページディレクトリテーブルとを具備する構造の印刷データを生成するステップと、
該生成された印刷データを記憶するステップと、
前記印刷データに含まれる特定のページの再印刷指示に際して、該記憶された印刷データに含まれるページディレクトリテーブルを参照して前記再印刷指示に係わるページで利用する前記共有データと該再印刷指示に係わる前記ページデータを取り出して再印刷データを構築するステップと
を含むことを特徴とする印刷制御処理をコンピュータにより実行させる印刷制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷データのデータ構造および印刷制御装置および印刷制御方法および印刷制御プログラムに関し、詳しくは、再印刷処理を迅速に行えるようにした印刷データのデータ構造および印刷制御装置および印刷制御方法および印刷制御プログラムに関する。
【背景技術】
【０００２】
従来、既に印刷したデータを再印刷するための方式として、印刷データを印刷装置側で蓄積する方式と上位装置側で蓄積する方式の大きく２通りの方法が存在していた。
【０００３】
この前者にあたる印刷装置側において蓄積する方式で再印刷する技術として、特許文献１記載の「プリンタ制御装置」が開示されている。
【０００４】
この特許文献１の発明は、プリントデータをページ単位のイメージデータに展開して記憶しておくことにより、複数の任意のページを選択して印刷することができるので、再度印刷する際にも再度ジョブ／ページを組み合せる必要がなく、効率的に再印刷を実行することができるという技術について言及されている。
【０００５】
また、後者にあたる上位装置側において蓄積する方式で再印刷する技術として特許文献２記載の「プリントシステム、プリント方法」が開示されている。
【０００６】
この特許文献２の発明は、印刷データをブロック単位に分割し上位装置の印刷スプールに蓄積することにより、再度印刷する際には、印刷スプールからブロックを指定してその単位で印刷を行うことができるので、再印刷処理を効率的に行うことができるという技術について言及されている。
【特許文献１】特開平９−１７４９５６号
【特許文献２】特開２００１−２４６８１５号
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記特許文献１の発明のような方法をとる場合、印刷装置側に大容量の外部記憶装置を持つ構成になり、装置原価が高くなるという欠点がある。
【０００８】
一方、上位装置で印刷データを蓄積する方式であれば、印刷装置側には大容量外部記憶装置は不要であるが、上位装置では一般的に印刷データを構成するページ記述言語を解釈できるソフトウェア構成を持たない。仮に持った場合であっても、ページ毎のイメージデータを生成しページ単位で任意に再構成することはできるが、一旦イメージデータに変換されてしまった印刷データを印刷装置に送るには、印刷データとして冗長なため印刷装置への転送に時間がかかってしまうという問題がある。
【０００９】
また、印刷データをイメージに変換しない方法として、印刷データの先頭にジョブ制御言語を付加し、印刷すべきページ番号を記述して印刷装置に送信する方法もあるが、この場合は、たとえ１ページのみを印刷する場合であっても、全印刷データを送信する必要があり冗長性を否めない。
【００１０】
また、印刷データをページ記述言語のままページ単位に再構成するには、上記特許文献２の発明のような方法をとることができるが、高レベルのページ記述言語の場合は、印刷データ中にページ毎に独立な情報と、複数ページ間で利用される情報とが混在しているため、ページ記述言語を解釈するソフトウェア構成を持たずに任意のページを再構成することは困難である。高レベルのページ記述言語であっても、初期の生成の際にページ間で独立なページ記述情報を構成することはできるが、その冗長性から印刷データの増大と印刷速度の悪化を招くおそれがある。
【００１１】
そこで、本発明は、印刷データの構成を変更することでページ単位に再構成を容易にできるようにする印刷データのデータ構造および印刷制御装置および印刷制御方法および印刷制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するため、請求項１の発明の印刷データのデータ構造は、ページ間の印刷に共用する共有データとページの内容を記述したページデータとを含むデータ部と、少なくとも前記共有データの位置の記述および前記ページデータの位置の記述を含むページディレクトリテーブルとを具備することを特徴とする。
【００１３】
また、請求項２の発明は、請求項１の発明において、前記共有データは、対応ページおよび該対応ページ以降のページの印刷に用いるフォント情報を含むことを特徴とする。
【００１４】
また、請求項３の発明は、請求項１の発明において、前記ページディレクトリテーブルは、前記共有データの位置情報および前記ページデータの位置情報に加えて、各共有データの利用されるページの情報を含むことを特徴とする。
【００１５】
また、請求項４の発明の印刷制御装置は、ページ間の印刷に共用する共有データと、ページの内容を記述したページデータとを含むデータ部と、少なくとも前記共有データの位置の記述および前記ページデータの位置の記述を含むページディレクトリテーブルとを具備する構造の印刷データを生成する印刷データ生成手段と、前記印刷データ生成手段で生成された印刷データを記憶する記憶手段と、前記印刷データに含まれる特定のページの再印刷指示に際して、前記記憶手段に記憶された印刷データに含まれるページディレクトリテーブルを参照して前記再印刷指示に係わるページで利用する前記共有データと該再印刷指示に係わる前記ページデータを取り出して再印刷データを構築する再印刷データ構築手段とを具備することを特徴とする。
【００１６】
また、請求項５の発明は、請求項４の発明において、前記再印刷データ構築手段は、前記再印刷指示に係わる各ページデータの記述に先立って該ページの前の全ての共有データを抽出して設定することにより前記再印刷データを構築することを特徴とする。
【００１７】
また、請求項６の発明は、請求項４の発明において、前記ページディレクトリテーブルは、前記共有データの位置情報および前記ページデータの位置情報に加えて、各共有データの利用されるページの情報を含み、前記再印刷データ構築手段は、前記再印刷指示に係わる各ページデータの記述に先立って前記共有データの利用されるページの情報を参照して該ページの前の該ページで利用される全ての共有データを抽出して設定することにより前記再印刷データを構築することを特徴とする。
【００１８】
また、請求項７の発明の印刷制御方法は、ページ間の印刷に共用する共有データと、ページの内容を記述したページデータとを含むデータ部と、少なくとも前記共有データの位置の記述および前記ページデータの位置の記述を含むページディレクトリテーブルとを具備する構造の印刷データを印刷データ生成手段により生成し、前記印刷データ生成手段で生成された印刷データを記憶手段に記憶し、前記印刷データに含まれる特定のページの再印刷指示に際して、前記記憶手段に記憶された印刷データに含まれるページディレクトリテーブルを参照して前記再印刷指示に係わるページで利用する前記共有データと該再印刷指示に係わる前記ページデータを取り出して再印刷データを再印刷データ構築手段により構築することを特徴とする。
【００１９】
また、請求項８の発明の印刷制御処理をコンピュータにより実行させる印刷制御プログラムは、ページ間の印刷に共用する共有データと、ページの内容を記述したページデータとを含むデータ部と、少なくとも前記共有データの位置の記述および前記ページデータの位置の記述を含むページディレクトリテーブルとを具備する構造の印刷データを生成するステップと、該生成された印刷データを記憶するステップと、前記印刷データに含まれる特定のページの再印刷指示に際して、該記憶された印刷データに含まれるページディレクトリテーブルを参照して前記再印刷指示に係わるページで利用する前記共有データと該再印刷指示に係わる前記ページデータを取り出して再印刷データを構築するステップとを含むことを特徴とする。
【発明の効果】
【００２０】
本発明によれば、印刷データにページディレクトリテーブルを設けることによりページ単位に印刷データの再構成を容易に行うことができるよう構成したので、再印刷処理時に送信する印刷データサイズを小さくでき、送信速度の高速化が図れ再印刷処理時に要する時間を短縮できるという効果を奏する。
【発明を実施するための最良の形態】
【００２１】
以下、本発明に係わる印刷データのデータ構造および印刷制御装置および印刷制御方法および印刷制御プログラムの実施例について添付図面を参照して詳細に説明する。
【実施例１】
【００２２】
図１は、この発明に係わる印刷制御方法を適用したシステム構成図である。
【００２３】
同図には、本発明の印刷制御方法を適用したホスト端末１００および該ホスト端末１００と接続されるプリンタ２００が図示されている。
【００２４】
ホスト端末１００は、ユーザが扱うパーソナルコンピュータなどであり、このホスト端末１００はプリンタ２００に印刷依頼の送信を行う。また、本発明に係わるホスト端末１００として印刷依頼を送信するような機器、例えば、ＦＡＸ、スキャナーなども該当する。
【００２５】
ホスト端末１００は内部に、各種アプリケーションなどからの印刷指示を発行する印刷指示部１０１、上記印刷指示部１０１からの１または複数ページより構成される印刷対象データをプリンタ２００が解釈可能なページ記述言語に変換する印刷ドライバ１０２、上記印刷ドライバ１０２で生成された印刷データをプリンタ２００へ送信するスプーラ１０３、上記印刷ドライバ１０２で生成された印刷データを記憶する記憶部１０４、プリンタ２００と通信を行う通信部１０５、再印刷指示を発行する再印刷指示部１０６、再印刷指示された印刷データを上記記憶部１０４から読み込み、再印刷データを構成するページ再構成部１０７を具備して構成される。
【００２６】
プリンタ２００は、ホスト端末１００からの印刷依頼に基づき印刷出力する。プリンタ２００は内部に、ホスト端末１００から送信される印刷データを解釈しデータ展開する印刷データ展開部２０１、上記印刷データ展開部２０１において展開されたデータを出力する出力部２０２を具備して構成される。以上が本発明に係わるホスト端末１００およびプリンタ２００の内部構成を示す各機能ブロック図の説明である。
【００２７】
図２は、図１に示した印刷ドライバ１０２が生成する印刷データの構成を示した図である。
【００２８】
同図の左側に示される図が印刷データ３００の構成であり、右側に示される図が印刷データ３００の後端に位置するページディレクトリテーブル３０８の構成を示した図である。
【００２９】
印刷データ３００には、Ｎページからなる印刷指示が印刷指示部１０１から発行された場合に印刷ドライバ１０２にて生成される印刷データ３００の構成が示されており、この印刷データ３００は印刷データヘッダ部３０１およびページ単位の印刷データ（符号３０２〜３０７）およびページディレクトリテーブル３０８を具備して構成される。
【００３０】
印刷データヘッダ部３０１は、印刷依頼の送信元および送信先などのデータが保持されている領域である。
【００３１】
ダウンロードブロック１（３０２）は、１ページ目以降で使用されるデータ（例えば、プリンタ２００が持たないフォント等）をプリンタ２００にダウンロードする領域であり、ページデータ１（３０３）は、１ページ目の印刷データを記述した領域であり、ダウンロードブロック２（３０４）は、２ページ目以降で使用されるデータをプリンタ２００にダウンロードする領域であり、ページデータ２（３０５）は、２ページ目の印刷データを記述した領域である。ダウンロードブロック領域およびページデータ領域は印刷データ３００を構成するページ毎に作成され、同図の場合ではＮページまでのデータが同様に作成される。
【００３２】
ページディレクトリテーブル３０８は、印刷データ３００の後端に設定される。このページディレクトリテーブル３０８の詳細な構成が同図右側に示されている。
【００３３】
ページディレクトリテーブル３０８は、ダウンロードブロックｏｆｆｓｅｔ（符号３０９、３１１、３１３）およびページデータｏｆｆｓｅｔ（符号３１０、３１２、３１４）およびエントリ数３１５を具備して構成される。
【００３４】
ダウンロードブロック１ｏｆｆｓｅｔ（３０９）は、印刷データ３００内における、ダウンロードブロック１（３０２）の位置情報（例えば、印刷データ３００先頭からのオフセット値など）が保持されている領域であり、ページデータ１ｏｆｆｓｅｔ（３１０）は、印刷データ３００内における、ページデータ１（３０３）の位置情報が保持されている領域であり、ダウンロードブロック２ｏｆｆｓｅｔ（３１１）は、印刷データ３００内における、ダウンロードブロック２（３０４）の位置情報が保持されている領域であり、ページデータ２ｏｆｆｓｅｔ（３１２）は、印刷データ３００内における、ページデータ２（３０５）の位置情報が保持されている領域である。ダウンロードブロックｏｆｆｓｅｔ領域およびページデータｏｆｆｓｅｔ領域は印刷データ３００を構成するダウンロードブロック領域およびページデータ領域に対応して作成され、同図に示される印刷データ３００の場合では、Ｎページまでのデータが同様に作成される。
【００３５】
エントリ数３１５は、ページディレクトリテーブル３０８内に保持されているダウンロードブロックｏｆｆｓｅｔおよびページデータｏｆｆｓｅｔの組み合わせの数を保持する領域である。この場合エントリ数３１５にはＮが設定される。
【００３６】
ダウンロードブロックｏｆｆｓｅｔおよびページデータｏｆｆｓｅｔは予め設定された固定の領域長で構成されているため、エントリ数３１５を読み出すことで、ページディレクトリテーブル３０８の先頭位置を特定することが可能になる。
【００３７】
なお、上記実施例においては、図２に示されるようにエントリ数３１５をページディレクトリテーブル３０８の最後端に設定するよう構成したが、これを印刷データ３００の後端から固定のオフセット値を決めその領域にエントリ数３１５を保持するように構成してもよい。エントリ数３１５が保持される領域を容易に特定できるのならば、特に、保持される領域の場所は問わない。
【００３８】
図３は、図１に示したホスト端末１００およびプリンタ２００における印刷処理の動作を説明するフローチャートである。
【００３９】
ホスト端末１００を扱うユーザにより、ホスト端末１００上で動作する各種アプリケーションから印刷指示が行われると（ステップＳ１０１でＹＥＳ）、この印刷処理は開始される。
【００４０】
この印刷処理が開始されると、まず、印刷指示部１０１が印刷対象となる１または複数ページからなるデータを印刷ドライバ１０２に送信する（ステップＳ１０２）。このステップＳ１０２以後のステップＳ１０３からステップＳ１１２に示される処理は印刷ドライバ１０２において為される処理である。先に述べたとおり、この印刷ドライバ１０２における処理では１または複数ページからなるデータをプリンタ２００が解釈可能なページ記述言語に変換する。図２で示される構成の印刷データ３００を生成する。
【００４１】
印刷指示部１０１から印刷対象のデータを受信した印刷ドライバ１０２は、初期処理としてページカウンタＣｎｔに１を設定する（ステップＳ１０３）。
【００４２】
そして、生成される印刷データの先頭領域に、印刷依頼の送信元および送信先などのデータを印刷データヘッダ部３０１として設定する（ステップＳ１０４）。
【００４３】
次に、ダウンロードブロック（Ｃｎｔ）領域の位置情報をダウンロードブロック（Ｃｎｔ）ｏｆｆｓｅｔとしてワーク領域に設定し（ステップＳ１０５）、ページＣｎｔ目以降で使用されるデータ（例えば、プリンタ２００が持たないフォント等）をダウンロードブロック（Ｃｎｔ）に設定する（ステップＳ１０６）。
【００４４】
次に、ページデータ（Ｃｎｔ）が記述される領域の位置情報をページデータ（Ｃｎｔ）ｏｆｆｓｅｔとしてワーク領域に設定し（ステップＳ１０７）、印刷指示部１０１から受信したページＣｎｔ目のデータをページデータ（Ｃｎｔ）に設定する（ステップＳ１０８）。
【００４５】
ここで、印刷指示部１０１から受信した印刷対象データを構成するページ全てを、印刷データに変換したか否かの判断を行う（ステップＳ１０９）。未変換のページが残っている場合は（ステップＳ１０９でＮＯ）、ページカウンタＣｎｔに１加算し（ステップＳ１１０）、再びステップＳ１０５に戻り、ステップＳ１０８までの処理を繰り返す。
【００４６】
全てのページを印刷データに変換済みの場合は（ステップＳ１０９でＹＥＳ）、ワーク領域にエントリ数としてページカウンタＣｎｔを設定する（ステップＳ１１１）。
【００４７】
そして、上述した処理で生成された印刷データ３００の後端に、ワーク領域に蓄積されたデータをページディレクトリテーブル３０８として設定する（ステップＳ１１２）。
【００４８】
スプーラ１０３は、生成された印刷データを記憶部１０４に保存し（ステップＳ１１３）、該印刷データを通信部１０５を介してプリンタ２００に送信する。プリンタ２００では、受信した印刷データを展開し出力する（ステップＳ１１４）。そして、この印刷処理を終了する。
【００４９】
以上説明したように本発明においては、ホスト端末１００からプリンタ２００への印刷データ３００（印刷依頼）にページディレクトリテーブル３０８を設定するよう構成したので、後述する再印刷処理に際して、ページ単位に印刷データの再構成を容易に行うことができる。
【００５０】
なお、印刷データ３００に付加するページディレクトリテーブル３０８のデータ内容をコメント文（無視される命令文）で記述するよう構成してもよい。その場合、従来のプリンタに印刷依頼を送信した場合でも正常に印刷処理が行われる。
【００５１】
図４は、図１に示したホスト端末１００およびプリンタ２００における再印刷処理の動作を説明するフローチャートである。
【００５２】
ホスト端末１００を扱うユーザにより、再印刷指示が行われると（ステップＳ２０１でＹＥＳ）、この再印刷処理は開始される。ユーザが図示しない再印刷指示画面から再印刷を所望する印刷データ３００を選択し、再印刷を指定するページ番号を入力することで再印刷指示が行われる。この印刷データ３００は図３で説明した１度目の印刷処理時に記憶部１０４に保存された印刷データ３００からユーザが選択する。
【００５３】
この再印刷処理が開始されると、まず、再印刷指示部１０６がステップＳ２０１でユーザにより入力された情報をページ再構成部１０７に送信する（ステップＳ２０２）。
【００５４】
再印刷指示部１０６からユーザにより入力された情報を受信したページ再構成部１０７は、記憶部１０４に保存される印刷データ３００から、再印刷対象の印刷データ３００を検索し、特定した印刷データ３００のページディレクトリテーブル３０８を読み取る（ステップＳ２０３）。
【００５５】
次に、読み取ったページディレクトリテーブル３０８に基づいて、ページ再構成部１０７が印刷データヘッダ部３０１、指定されたページ以前のダウンロードブロック、指定されたページに対応するページデータを含む印刷データ３００を構成する（ステップＳ２０４）。このステップＳ２０４で構成される再印刷データの構成を図５を参照して説明する。
【００５６】
図５は、ページ再構成部１０７が構成する再印刷データの構成を示した図である。
【００５７】
同図の左側に示される図が１度目の印刷処理処理時に生成された印刷データ３００の構成であり、右側に示される図が再印刷データ４００の構成を示した図である。
【００５８】
再印刷データ４００は、Ｎページの印刷データ３００からａページおよびｂページを指定して再印刷指示した場合に、再構成されたものを示している（但し、ａ＜ｂとする）。
【００５９】
再印刷データ４００は、印刷データヘッダ部４０１および１ページ目からａページ目に対応するダウンロードブロック（符号４０２〜４０４）およびページデータａ（４０４）およびａ＋１ページ目からｂページ目に対応するダウンロードブロック（符号４０６〜４０７）およびページデータｂ（４０８）を具備して構成される。
【００６０】
図４に戻り、ページ再構成部１０７により上述した再印刷データ４００が構成されると、スプーラ１０３は、該構成された再印刷データ４００を通信部１０５を介してプリンタ２００に送信する（ステップＳ２０５）。プリンタ２００では、受信した再印刷データを展開し出力する（ステップＳ２０６）。そして、この再印刷処理は終了する。
【００６１】
以上説明したように本発明においては、再印刷処理時には、ページディレクトリテーブル３０８に基づいて、印刷データ３００から再印刷に指定されたページデータと該ページデータに必要なダウンロードブロックのみから再印刷データ４００を構成できるため、効率的な再印刷データ４００を構成することができる。
【００６２】
なお、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ（Local Area Network），ＷＡＮ（Wide Area Network）等のネットワークを介して接続が為され処理が行われるシステムであっても本発明を適用できる。
【００６３】
また、上記実施例においては、本発明に係わる印刷制御方法を適用して構成したホスト端末１００を説明したが、この印刷制御方法をコンピュータにインストールされた印刷制御プログラムにより実行させるように構成してもよい。
【００６４】
この他、本発明は、上記および図面に示す実施例に限定することなく、その要旨を変更しない範囲内で適宜変形して実施できるものである。例えば、上記実施例においては、印刷データ３００および再印刷データ４００の構成をダウンロードブロック１の次にページデータ１、その次にダウンロードブロック２・・・というように説明したが、これをダウンロードブロック１の次にダウンロードブロック２・・・、ページデータ１の次にページデータ２・・・というように構成してもよい。
【実施例２】
【００６５】
実施例２では、上記実施例１で説明した図２に示される印刷データ３００のページディレクトリテーブル３０８の構成にダウンロードブロックｕｓａｇｅ領域を加えて印刷データを構成する。なお、実施例２のシステム構成は、上記実施例１を説明した図１と同一であるため、その説明は省略する。
【００６６】
図６は、図１に示した印刷ドライバ１０２が生成する印刷データの構成を示した図である。
【００６７】
同図の左側に示される図が印刷データ５００の構成であり、右側に示される図が印刷データ５００の後端に位置するページディレクトリテーブル５０８の構成を示した図である。
【００６８】
印刷データ５００には、Ｎページからなる印刷指示が印刷指示部１０１から発行された場合に印刷ドライバ１０２にて生成される印刷データ５００の構成が示されており、この印刷データ５００は印刷データヘッダ部５０１およびページ単位の印刷データ（符号５０２〜５０７）およびページディレクトリテーブル５０８を具備して構成される。
【００６９】
印刷データヘッダ部５０１は、印刷依頼の送信元および送信先などのデータが保持されている領域である。
【００７０】
ダウンロードブロック１（５０２）は、１ページ目以降で使用されるデータ（例えば、プリンタ２００が持たないフォント等）をプリンタ２００にダウンロードする領域であり、ページデータ１（５０３）は、１ページ目の印刷データを保持した領域であり、ダウンロードブロック２（５０４）は、２ページ目以降で使用されるデータをプリンタ２００にダウンロードする領域であり、ページデータ２（５０５）は、２ページ目の印刷データを保持した領域である。ダウンロードブロック領域およびページデータ領域は印刷データ５００を構成するページ毎に作成され、同図の場合ではＮページまでのデータが同様に作成される。
【００７１】
ページディレクトリテーブル５０８は、印刷データ５００の後端に設定される。このページディレクトリテーブル５０８の詳細な構成が同図右側に示されている。
【００７２】
ページディレクトリテーブル５０８は、ダウンロードブロックｏｆｆｓｅｔ（符号５０９、５１２、５１５）およびダウンロードブロックｕｓａｇｅ（符号５１０、５１３、５１６）およびページデータｏｆｆｓｅｔ（符号５１１、５１４、５１７）およびディレクトリサイズ５１８を具備して構成される。
【００７３】
ダウンロードブロック１ｏｆｆｓｅｔ（５０９）は、印刷データ５００内における、ダウンロードブロック１（５０２）の位置情報（例えば、印刷データ５００先頭からのオフセット値など）が保持されている領域であり、ダウンロードブロック１ｕｓａｇｅ（５１０）は、ダウンロードブロック１（５０２）に保持されたデータを使用しているページ番号を保持する領域であり、ページデータ１ｏｆｆｓｅｔ（５１１）は、印刷データ５００内における、ページデータ１（５０３）の位置情報が保持されている領域であり、ダウンロードブロック２ｏｆｆｓｅｔ（５１２）は、印刷データ５００内における、ダウンロードブロック２（５０４）の位置情報が保持されている領域であり、ダウンロードブロック２ｕｓａｇｅ（５１３）は、ダウンロードブロック２（５０４）に保持されたデータを使用しているページ番号を保持する領域であり、ページデータ２ｏｆｆｓｅｔ（５１４）は、印刷データ５００内における、ページデータ２（５０５）の位置情報が保持されている領域である。ダウンロードブロックｏｆｆｓｅｔ領域およびダウンロードブロックｕｓａｇｅ領域およびページデータｏｆｆｓｅｔ領域は印刷データ５００を構成するダウンロードブロック領域およびページデータ領域に対応して作成され、同図に示される印刷データ５００の場合では、Ｎページまでのデータが同様に作成される。
【００７４】
ディレクトリサイズ５１８は、ページディレクトリテーブル５１８のサイズを保持する領域である。ディレクトリサイズ５１８を読み出すことで、ページディレクトリテーブル５０８の先頭位置を特定することが可能になる。
【００７５】
なお、上記実施例２においては、図６に示されるようにディレクトリサイズ５１８をページディレクトリテーブル５０８の最後端に設定するよう構成したが、これを印刷データ５００の後端から固定のオフセット値を決めその領域にディレクトリサイズ５１８を保持するように構成してもよい。ディレクトリサイズ５１８が保持される領域を容易に特定できるのならば、特に、保持される領域の場所は問わない。
【００７６】
図７は、図１に示したホスト端末１００およびプリンタ２００における印刷処理の動作を説明するフローチャートである。
【００７７】
ホスト端末１００を扱うユーザにより、ホスト端末１００上で動作する各種アプリケーションから印刷指示が行われると（ステップＳ３０１でＹＥＳ）、この印刷処理は開始される。
【００７８】
この印刷処理が開始されると、まず、印刷指示部１０１が印刷対象となる１または複数ページからなるデータを印刷ドライバ１０２に送信する（ステップＳ３０２）。このステップＳ３０２以後のステップＳ３０３からステップＳ３１３に示される処理は印刷ドライバ１０２において為される処理である。先に述べたとおり、この印刷ドライバ１０２における処理では１または複数ページからなるデータをプリンタ２００が解釈可能なページ記述言語に変換する。図６で示される構成の印刷データ５００を生成する。
【００７９】
印刷指示部１０１から印刷対象のデータを受信した印刷ドライバ１０２は、初期処理としてページカウンタＣｎｔに１を設定する（ステップＳ３０３）。
【００８０】
そして、生成される印刷データの先頭領域に、印刷依頼の送信元および送信先などのデータを印刷データヘッダ部５０１として設定する（ステップＳ３０４）。
【００８１】
次に、ダウンロードブロック（Ｃｎｔ）領域の位置情報をダウンロードブロック（Ｃｎｔ）ｏｆｆｓｅｔとしてワーク領域に設定し（ステップＳ３０５）、ページＣｎｔ目以降で使用されるデータ（例えば、プリンタ２００が持たないフォント等）をダウンロードブロック（Ｃｎｔ）に設定する（ステップＳ３０６）。
【００８２】
次に、ページデータ（Ｃｎｔ）が記述される領域の位置情報をページデータ（Ｃｎｔ）ｏｆｆｓｅｔとしてワーク領域に設定し（ステップＳ３０７）、印刷指示部１０１から受信したページＣｎｔ目のデータをページデータ（Ｃｎｔ）に設定する（ステップＳ３０８）。
【００８３】
ここで、印刷指示部１０１から受信した印刷対象データを構成するページ全てを、印刷データに変換したか否かの判断を行う（ステップＳ３０９）。未変換のページが残っている場合は（ステップＳ３０９でＮＯ）、ページカウンタＣｎｔに１加算し（ステップＳ３１０）、再びステップＳ３０５に戻り、ステップＳ３０８までの処理を繰り返す。
【００８４】
全てのページを印刷データに変換済みの場合は（ステップＳ３０９でＹＥＳ）、上記ステップＳ３０６で各ダウンロードブロック（Ｃｎｔ）に設定されたデータが、後続のどのページで使用されているかの情報（例えば、ページ番号）をダウンロードブロックｕｓａｇｅとしてワーク領域に設定する（ステップＳ３１１）。例えば、ダウンロードブロック１（５０２）に設定されているフォントデータを、ページデータ１（５０３）およびページデータ３およびページデータ５で使用しているとすれば、ダウンロードブロック１ｕｓａｇｅ（５１０）には、ページ番号１、３、５が設定されることになる。
【００８５】
そして、ワーク領域にディレクトリサイズ５１８としてサイズ情報を設定する（ステップＳ３１２）。
【００８６】
そして、上述した処理で生成された印刷データ５００の後端に、ワーク領域に蓄積されたデータをページディレクトリテーブル５０８として設定する（ステップＳ３１３）。
【００８７】
スプーラ１０３は、生成された印刷データを記憶部１０４に保存し（ステップＳ３１４）、該印刷データを通信部１０５を介してプリンタ２００に送信する。プリンタ２００では、受信した印刷データを展開し出力する（ステップＳ３１５）。そして、この印刷処理を終了する。
【００８８】
以上説明したように実施例２においては、上記実施例１で説明した図２に示されるページディレクトリテーブル３０８の構成にダウンロードブロックｕｓａｇｅを加えてページディレクトリテーブル５０８を構成する。後述する再印刷処理に際しても、上記実施例１同様にページ単位に印刷データの再構成を容易に行うことができる。
【００８９】
図８は、図１に示したホスト端末１００およびプリンタ２００における再印刷処理の動作を説明するフローチャートである。
【００９０】
ホスト端末１００を扱うユーザにより、再印刷指示が行われると（ステップＳ４０１でＹＥＳ）、この再印刷処理は開始される。ユーザが図示しない再印刷指示画面から再印刷を所望する印刷データ５００を選択し、再印刷を指定するページ番号を入力することで再印刷指示が行われる。この印刷データ５００は図７で説明した１度目の印刷処理時に記憶部１０４に保存された印刷データ５００からユーザが選択する。
【００９１】
この再印刷処理が開始されると、まず、再印刷指示部１０６がステップＳ４０１でユーザにより入力された情報をページ再構成部１０７に送信する（ステップＳ４０２）。
【００９２】
再印刷指示部１０６からユーザにより入力された情報を受信したページ再構成部１０７は、記憶部１０４に保存される印刷データ５００から、再印刷対象の印刷データ５００を検索し、特定した印刷データ５００のページディレクトリテーブル５０８を読み取る（ステップＳ４０３）。
【００９３】
次に、読み取ったページディレクトリテーブル５０８に基づいて、ページ再構成部１０７が印刷データヘッダ部５０１、指定されたページが使用しているダウンロードブロック、指定されたページに対応するページデータを含む印刷データ５００を構成する（ステップＳ４０４）。このステップＳ４０４で構成される再印刷データの構成を図９を参照して説明する。
【００９４】
図９は、ページ再構成部１０７が構成する再印刷データの構成を示した図である。
【００９５】
同図の左側に示される図が１度目の印刷処理処理時に生成された印刷データ５００の構成であり、右側に示される図が再印刷データ６００の構成を示した図である。
【００９６】
再印刷データ６００は、Ｎページの印刷データ５００からａページおよびｂページを指定して再印刷指示した場合に、再構成されたものを示している（但し、ａ＜ｂとする）。
【００９７】
再印刷データ６００は、印刷データヘッダ部５０１および１ページ目からａページ目までに対応するダウンロードブロックの内、ページデータａ（６０６）またはページデータｂ（６１０）で使用されているデータを保持するダウンロードブロック１、３、７、ａ（符号６０２〜６０５）およびページデータａ（６０６）およびａ＋１ページ目からｂページ目までに対応するダウンロードブロックの内、ページデータｂ（６１０）で使用されているデータを保持するダウンロードブロックａ＋２、ａ＋４、ｂ（符号６０７〜６０９）およびページデータｂを具備して構成される。
【００９８】
先に述べたとおり、各ダウンロードブロックのデータが後続のいずれのページで使用されているか否かの情報は、ダウンロードブロックに対応して作成されるダウンロードブロックｕｓａｇｅを読み取ることで判断できる。
【００９９】
図８に戻り、ページ再構成部１０７により上述した再印刷データ６００が構成されると、スプーラ１０３は、該構成された再印刷データ６００を通信部１０５を介してプリンタ２００に送信する（ステップＳ４０５）。プリンタ２００では、受信した再印刷データを展開し出力する（ステップＳ４０６）。そして、この再印刷処理は終了する。
【０１００】
以上説明したように実施例２においては、各ダウンロードブロックで保持されるデータがどのページを印刷する場合に必要なのかを判断できるよう構成したため、上記実施例１で説明した構成よりも、さらに印刷データサイズを小さくできる。
【産業上の利用可能性】
【０１０１】
本発明の印刷データのデータ構造および印刷制御装置および印刷制御方法および印刷制御プログラムは、ページ間の共有データを有する印刷依頼の送受を行う印刷環境に適用可能であり、特に、再印刷処理に要する時間を短縮する場合に有効利用することができる。
【図面の簡単な説明】
【０１０２】
【図１】この発明に係わる印刷制御方法を適用したシステム構成図である。
【図２】図１に示した印刷ドライバ１０２が生成する印刷データの構成を示した図である。
【図３】図１に示したホスト端末１００およびプリンタ２００における印刷処理の動作を説明するフローチャートである。
【図４】図１に示したホスト端末１００およびプリンタ２００における再印刷処理の動作を説明するフローチャートである。
【図５】図１に示したページ再構成部１０７が構成する再印刷データの構成を示した図である。
【図６】図１に示した印刷ドライバ１０２が生成する印刷データの構成を示した図である（実施例２）。
【図７】図１に示したホスト端末１００およびプリンタ２００における印刷処理の動作を説明するフローチャートである（実施例２）。
【図８】図１に示したホスト端末１００およびプリンタ２００における再印刷処理の動作を説明するフローチャートである（実施例２）。
【図９】図１に示したページ再構成部１０７が構成する再印刷データの構成を示した図である（実施例２）。
【符号の説明】
【０１０３】
１００    ホスト端末
１０１    印刷指示部
１０２    印刷ドライバ
１０３    スプーラ
１０４    記憶部
１０５    通信部
１０６    再印刷指示部
１０７    ページ再構成部
２００    プリンタ
２０１    印刷データ展開部
２０２    出力部
３００、５００    印刷データ
３０８、５０８    ページディレクトリテーブル
４００、６００    再印刷データ
【図１】
2005346357.tif 000003
【図２】
2005346357.tif 000004
【図３】
2005346357.tif 000005
【図４】
2005346357.tif 000006
【図５】
2005346357.tif 000007
【図６】
2005346357.tif 000008
【図７】
2005346357.tif 000009
【図８】
2005346357.tif 000010
【図９】
2005346357.tif 000011