(57)【要約】【課題】  適切なタイミングでリソースパートを削除すること。【解決手段】  プリンタは、複数個のリソースパート（ｉｍａｇｅ１、ｆｏｎｔ１等）と、ディスカードパートと、を含むＰＤＬデータを取得する。ディスカードパートは、ページ情報と、削除対象のリソースパートを示すデータ情報と、を含む。プリンタは、１ページ目の中間データの生成が終了した後であって、１ページ目のビットマップデータの生成が終了する前である特定期間Ｔ１内に、２ページ目を示すページ情報を含むディスカードパートに含まれるデータ情報が示すリソースパート（ｉｍａｇｅ１）を削除する。同様に、プリンタは、特定期間Ｔ２内に、３ページ目を示すページ情報を含むディスカードパートに含まれるデータ情報が示すリソースパート（ｆｏｎｔ１）を削除する。比較例と比べると早期にリソースパートを削除することができる。【選択図】  図９
2011159219.tif 000002
【特許請求の範囲】
【請求項１】
ＰＤＬデータ処理装置であって、
描画パートデータと、
ページ情報と、削除対象の描画パートデータを示すデータ情報と、を含む削除パートデータと、
を含むＰＤＬデータを取得するＰＤＬデータ取得部と、
前記ＰＤＬデータをメモリに記憶させる記憶制御部と、
前記ＰＤＬデータを用いて、１以上の処理対象ページの中間データを順次生成する中間データ生成部と、
前記１以上の処理対象ページの前記中間データを順次用いて、前記１以上の処理対象ページのビットマップデータを順次生成するビットマップデータ生成部と、
前記削除対象の描画パートデータを前記メモリから削除する削除部と、を備え、
前記削除部は、特定の処理対象ページの中間データの生成が終了した後であって、前記特定の処理対象ページのビットマップデータの生成が終了する前である特定期間内に、前記特定の処理対象ページの次のページを示す特定のページ情報を含む特定の削除パートデータに含まれる特定のデータ情報が示す特定の描画パートデータを前記メモリから削除する、ＰＤＬデータ処理装置。
【請求項２】
前記削除部は、前記特定の処理対象ページの前記中間データの生成が終了した後であって、前記特定の処理対象ページの前記ビットマップデータの生成が開始される前に、前記特定の描画パートデータを前記メモリから削除する、請求項１に記載のＰＤＬデータ処理装置。
【請求項３】
前記中間データ生成部は、前記描画パートデータを解凍することによって、解凍済みの描画パートデータを生成する解凍部を備え、
前記特定の描画パートデータは、前記特定のデータ情報が示す解凍前の描画パートデータと、前記特定のデータ情報が示す解凍済みの描画パートデータと、を含む、請求項１又は２に記載のＰＤＬデータ処理装置。
【請求項４】
前記中間データ生成部は、前記描画パートデータを解凍することによって、解凍済みの描画パートデータを生成する解凍部を備え、
前記特定の描画パートデータは、前記特定のデータ情報が示す解凍済みの描画パートデータを含み、
前記削除部は、さらに、前記特定の処理対象ページの前記中間データの生成が終了する前に、前記特定のデータ情報が示す解凍前の描画パートデータを前記メモリから削除する、請求項１又は２に記載のＰＤＬデータ処理装置。
【請求項５】
前記削除部は、前記特定の処理対象ページの前記中間データの生成が終了する前に、前記特定の削除パートデータを解析し、
前記削除部は、前記特定期間内に、前記特定の削除パートデータの解析結果に基づいて、前記特定の描画パートデータを前記メモリから削除する、請求項１から４のいずれか一項に記載のＰＤＬデータ処理装置。
【請求項６】
前記削除部は、
前記特定の処理対象ページが最後のページ以外のページである場合に、前記特定の削除パートデータの前記解析を実行し、前記特定の削除パートデータの前記解析結果に基づいて、前記特定期間内に、前記特定の描画パートデータを前記メモリから削除し、
前記特定の処理対象ページが前記最後のページである場合に、前記特定の削除パートデータの前記解析を実行せずに、前記特定期間内に、前記特定の描画パートデータを前記メモリから削除する、請求項１から５のいずれか一項に記載のＰＤＬデータ処理装置。
【請求項７】
ＰＤＬデータ処理プログラムであって、
描画パートデータと、
ページ情報と、削除対象の描画パートデータを示すデータ情報と、を含む削除パートデータと、
を含むＰＤＬデータを取得するＰＤＬデータ取得処理と、
前記ＰＤＬデータをメモリに記憶させる記憶制御処理と、
前記ＰＤＬデータを用いて、１以上の処理対象ページの中間データを順次生成する中間データ生成処理と、
前記１以上の処理対象ページの前記中間データを順次用いて、前記１以上の処理対象ページのビットマップデータを順次生成するビットマップデータ生成処理と、
前記削除対象の描画パートデータを前記メモリから削除する削除処理と、
をコンピュータに実行させ、
前記削除処理では、特定の処理対象ページの中間データの生成が終了した後であって、前記特定の処理対象ページのビットマップデータの生成が終了する前である特定期間内に、前記特定の処理対象ページの次のページを示す特定のページ情報を含む特定の削除パートデータに含まれる特定のデータ情報が示す特定の描画パートデータを前記メモリから削除する、ＰＤＬデータ処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、ＰＤＬ（Page Description Language）データを処理するための技術を開示する。
【背景技術】
【０００２】
ＰＤＬデータから印刷のためのビットマップデータを生成するＰＤＬデータ処理装置が広く知られている。例えば、特許文献１には、ＰＤＬデータの一種であるＸＰＳ（XML Paper Specification）データからビットマップデータを生成するＰＤＬデータ処理装置が開示されている。ＸＰＳデータは、ページパートデータ、リソースパートデータ等の複数個の描画パートデータを含む。ＰＤＬデータ処理装置は、複数個の描画パートデータを用いて、ビットマップデータを生成する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−３３８１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば、３ページ目以降のビットマップデータの生成に不要な特定の描画パートデータは、３ページ目のビットマップデータの生成が開始される前のタイミングにおいて、削除されるのが好ましいと考えられている。メモリの使用量を低減させることができるからである。上記のタイミングで上記の特定の描画パートデータを削除するためには、ＰＤＬデータの中に削除パートデータを含める構成が考えられる。削除パートデータは、３ページ目を示すページ情報と、上記の特定の描画パートデータを示すデータ情報と、を含む。この構成によると、ＰＤＬデータ処理装置は、削除パートデータを読み込むことによって、上記の特定の描画パートデータを削除すべきタイミング（即ち３ページ目）を知ることができ、そのタイミングにおいて上記の削除対象の描画パートデータを削除することができる。即ち、２ページ目のビットマップデータが生成された後であって、３ページ目のビットマップデータの生成が開始される前に、上記の特定の描画パートデータを削除することができる。なお、上記の特許文献１には、削除パートデータについて何ら開示されていない。
【０００５】
本明細書では、適切なタイミングで描画パートデータを削除することができる技術を提供する。
【課題を解決するための手段】
【０００６】
本明細書によって開示されるＰＤＬデータ処理装置は、ＰＤＬデータ取得部と、記憶制御部と、中間データ生成部と、ビットマップデータ生成部と、削除部と、を備える。ＰＤＬデータ取得部は、ＰＤＬデータを取得する。ＰＤＬデータは、描画パートデータと、削除パートデータと、を含む。削除パートデータは、ページ情報と、削除対象の描画パートデータを示すデータ情報と、を含む。記憶制御部は、ＰＤＬデータをメモリに記憶させる。中間データ生成部は、ＰＤＬデータを用いて、１以上の処理対象ページの中間データを順次生成する。ビットマップデータ生成部は、１以上の処理対象ページの中間データを順次用いて、１以上の処理対象ページのビットマップデータを順次生成する。削除部は、削除対象の描画パートデータをメモリから削除する。削除部は、特定の処理対象ページの中間データの生成が終了した後であって、特定の処理対象ページのビットマップデータの生成が終了する前である特定期間内に、特定の処理対象ページの次のページを示す特定のページ情報を含む特定の削除パートデータに含まれる特定のデータ情報が示す特定の描画パートデータをメモリから削除する。
【０００７】
上記の構成では、削除部は、特定の処理対象ページの中間データの生成が終了した後であって、特定の処理対象ページのビットマップデータの生成が終了する前に、特定の描画パートデータを削除する。この構成によると、例えば、特定の処理対象ページのビットマップデータの生成が終了した後に、特定の描画パートデータが削除される構成と比べると、特定の描画パートデータを早期に削除することができる。即ち、早期にメモリを解放することができ、この結果、例えば、メモリフルのエラーが発生するのを抑制することができる。
【０００８】
削除部は、特定の処理対象ページの中間データの生成が終了した後であって、特定の処理対象ページのビットマップデータの生成が開始される前に、特定の描画パートデータをメモリから削除してもよい。この構成によると、特定の描画パートデータをより早期に削除することができ、例えば、特定の処理対象ページのビットマップデータが生成される過程でメモリフルのエラーが発生するのを抑制することができる。
【０００９】
中間データ生成部は、描画パートデータを解凍することによって、解凍済みの描画パートデータを生成する解凍部を備えていてもよい。この場合、特定の描画パートデータは、上記の特定のデータ情報が示す解凍前の描画パートデータと、上記の特定のデータ情報が示す解凍済みの描画パートデータと、を含んでいてもよい。この構成によると、解凍前の描画パートデータ及び解凍済みの描画パートデータを、ほぼ同時的に削除することができる。
【００１０】
一方において、特定の描画パートデータは、上記の特定のデータ情報が示す解凍済みの描画パートデータを含んでいてもよい。この場合、削除部は、さらに、特定の処理対象ページの中間データの生成が終了する前に、上記の特定のデータ情報が示す解凍前の描画パートデータをメモリから削除してもよい。この構成によると、解凍前の描画パートデータをより早期に削除することができる。
【００１１】
また、削除部は、特定の処理対象ページの中間データの生成が終了する前に、特定の削除パートデータを解析してもよい。削除部は、特定期間内に、特定の削除パートデータの解析結果に基づいて、特定の描画パートデータをメモリから削除してもよい。
【００１２】
削除部は、特定の処理対象ページが最後のページ以外のページである場合に、特定の削除パートデータの解析を実行し、特定の削除パートデータの解析結果に基づいて、特定期間内に、特定の描画パートデータをメモリから削除してもよい。また、削除部は、特定の処理対象ページが最後のページである場合に、特定の削除パートデータの解析を実行せずに、特定期間内に、特定の描画パートデータをメモリから削除してもよい。この構成によると、特定の処理対象ページが最後のページである場合に、上記の解析が実行されないために、ＰＤＬデータ処理装置の処理負荷が低減する。
【００１３】
なお、上記のＰＤＬデータ処理装置を実現するための制御方法及びコンピュータプログラムも新規で有用である。
【図面の簡単な説明】
【００１４】
【図１】データ処理システムの構成の一例を示す。
【図２】ＰＤＬデータを構成する複数種類のパートの分類を示す。
【図３】ＰＤＬデータの一例を示す。
【図４】印刷処理のフローチャートを示す。
【図５】図４の続きのフローチャートを示す。
【図６】１ページ目の中間データ及びビットマップデータが生成される様子を示す。
【図７】２ページ目の中間データ及びビットマップデータが生成される様子を示す。
【図８】３ページ目の中間データ及びビットマップデータが生成される様子を示す。
【図９】第１実施例及び比較例において各パートが削除されるタイミングを示す。
【図１０】第２実施例において各パートが削除されるタイミングを示す。
【発明を実施するための形態】
【００１５】
（第１実施例）
（システムの構成）
図面を参照して実施例を説明する。図１は、本実施例のデータ処理システム２の概略図を示す。データ処理システム２は、ＬＡＮ４と、ＵＳＢメモリ６と、ＰＣ８と、プリンタ１０と、を備える。ＰＣ８とプリンタ１０とは、ＬＡＮ４に接続されている。ＰＣ８とプリンタ１０とは、ＬＡＮ４を介して、相互に通信可能である。
【００１６】
（プリンタ１０の構成）
プリンタ１０は、表示部１２と、操作部１４と、ＵＳＢインターフェイス１６ａと、印刷実行部１８と、ネットワークインターフェイス１６ｂと、記憶部２０と、制御部３０と、を備える。表示部１２は、様々な情報を表示する。操作部１４は、複数のキーによって構成される。ユーザは、操作部１４を操作することによって、様々な指示をプリンタ１０に入力することができる。印刷実行部１８は、インクジェット方式又はレーザ方式の印刷機構を備える。印刷実行部１８は、制御部３０から供給されるビットマップデータに従って、印刷媒体に画像を印刷する。
【００１７】
ＵＳＢインターフェイス１６ａには、持ち運び可能なＵＳＢメモリ６が接続される。ＵＳＢメモリ６は、ＰＤＬデータ６０を記憶する。本実施例のＰＤＬデータ６０は、ＸＰＳデータである。例えば、ユーザは、所定のデバイス（例えばＰＣ８）を用いてＰＤＬデータ６０を生成し、上記の所定のデバイスにＵＳＢメモリ６を接続し、ＰＤＬデータ６０をＵＳＢメモリ６に記憶させる。次いで、ユーザは、ＵＳＢメモリ６をＵＳＢインターフェイス１６ａに接続する。これにより、プリンタ１０は、ＵＳＢインターフェイス１６ａを介して、ＵＳＢメモリ６からＰＤＬデータ６０を取得することができる。
【００１８】
ネットワークインターフェイス１６ｂには、ＬＡＮ４が接続される。ＬＡＮ４には、ＰＣ８が接続されている。ＰＣ８は、ＰＤＬデータ８０を生成するためのアプリケーション（例えばプリンタ１０のためのプリンタドライバ；図示省略）を有する。本実施例のＰＤＬデータ８０は、ＸＰＳデータである。ＰＣ８は、ユーザによって印刷が指示されたデータ（例えば文書データ）を、上記のアプリケーションを用いて、ＰＤＬデータ８０に変換する。ＰＣ８は、ＰＤＬデータ８０をプリンタ１０に送信する。これにより、プリンタ１０は、ネットワークインターフェイス１６ｂを介して、ＰＤＬデータ８０を取得することができる。
【００１９】
記憶部２０は、ワークメモリ２２とプログラム記憶領域２４とを備える。ワークメモリ２２は、外部から取得されるデータ（例えばＰＤＬデータ６０、８０等）、制御部３０が処理を実行する過程で生成されるデータ等を記憶する。プログラム記憶領域２４は、制御部３０によって実行されるプログラムを記憶する。制御部３０が当該プログラムに従って処理を実行することによって、ＰＤＬデータ取得部３２、記憶制御部３４、中間データ生成部３６、ビットマップデータ生成部３８、及び、削除部４０の各機能が実現される。なお、中間データ生成部３６は、解凍部３７を備える。
【００２０】
（ＰＤＬデータの構成）
図２は、ＸＰＳ形式のＰＤＬデータに含まれる複数種類のパートの分類を示す。図３は、ＰＤＬデータ８０の一例を示す。なお、ＰＤＬ６０については具体的なデータ構成を図示しないが、ＰＤＬデータ６０は、ＰＤＬデータ８０と同様のデータ構成を有する。図３に示されるように、ＰＤＬデータ８０は、複数個の圧縮パート９０〜２００を含む。各圧縮パート９０〜２００のかっこ内の文字列（例えば「ｉｍａｇｅ１」）は、各圧縮パート９０〜２００のファイル名を示す。なお、実際には、ファイル名は拡張子を含んでいるが、本実施例では、拡張子を図示省略している。
【００２１】
図２に示されるように、ＸＰＳ形式のＰＤＬデータは、圧縮描画パート８０ａと、圧縮ディスカードパート（ＤｉｓｃａｒｄＣｏｎｔｒｏｌ）８０ｂと、に分類される。ＰＤＬデータ８０の場合、圧縮ディスカードパート８０ｂは、圧縮ディスカードパート１３０，１７０を含む。圧縮ディスカードパート１３０，１７０は、ページ情報１３２，１７２と、データ情報１３４，１７４と、を含む。ページ情報１３２，１７２は、ページ番号（例えば「２．ｆｐａｇｅ」、「３．ｆｐａｇｅ」等）を示す。また、データ情報１３４，１７４は、圧縮描画パート（より具体的には圧縮リソースパート）のファイル名（例えば「ｉｍａｇｅ１」、「ｆｏｎｔ１」等）を含む。
【００２２】
圧縮描画パート８０ａは、圧縮ディスカードパート８０ｂ以外の全ての種類のパートである。ＰＤＬデータ８０の場合、圧縮描画パート８０ａは、圧縮パート９０〜１２０，１４０〜１６０，１８０〜２００を含む。圧縮描画パート８０ａは、後述の中間データを生成するために利用される。圧縮描画パート８０ａは、さらに、圧縮ページパート（ＦｉｘｅｄＰａｇｅ）８０ｃと、圧縮リソースパート８０ｄと、圧縮ドキュメントパート（ＦｉｘｅｄＤｏｃｕｍｅｎｔ）８０ｅと、その他のパート（例えばＦｉｘｅｄＤｏｃｕｍｅｎｔＳｅｑｕｅｎｃｅ、ｒｅｌｓ等）と、に分類される。上記のその他のパートについては説明を省略する。
【００２３】
ＰＤＬデータ８０の場合、圧縮ページパート８０ｃは、圧縮ページパート１２０，１６０，２００を含む。本実施例では、１個の圧縮ページパート１２０等を用いて、１ページ分の中間データが生成される。各圧縮ページパート１２０，１６０，２００は、圧縮リソースパートのファイル名を指定する指定情報１２２，１２４，１６２，１６４，２０２を含む。例えば、圧縮ページパート１２０は、圧縮イメージパート１００のファイル名「ｉｍａｇｅ１」を指定する指定情報１２２と、圧縮フォントパート１１０のファイル名「ｆｏｎｔ１」を指定する指定情報１２４と、を含む。これは、圧縮イメージパート１００とフォントパート１１０とを用いて（実際にはこれらの圧縮１００，１１０から生成される解凍済みパート１０８，１１８（図６参照））を用いて、１ページ分の中間データが生成されることを意味する。
【００２４】
圧縮リソースパート８０ｄは、さらに、圧縮イメージパート８０ｆと、圧縮フォントパート８０ｇと、に分類される。なお、実際には、圧縮リソースパート８０ｄは、さらに、他の種類のパート（例えばＩＣＣＰｒｏｆｉｌｅ）に分類することができるが、本実施例では、他の種類のパートについての説明を省略する。ＰＤＬデータ８０の場合、圧縮イメージパート８０ｆは、圧縮イメージパート１００，１５０，１９０を含む。また、ＰＤＬデータ８０の場合、圧縮フォントパート８０ｇは、圧縮フォントパート１１０を含む。
【００２５】
圧縮ドキュメントパート８０ｅは、複数個の圧縮ページパートのそれぞれが何ページ目の中間データを生成するために使用されるのかを示す。ＰＤＬデータ８０の場合、圧縮ドキュメントパート８０ｅは、圧縮ドキュメントパート９０，１４０，１８０を含む。本実施例では、圧縮ドキュメントパート９０，１４０，１８０は、それぞれ、ページ番号「１」、「２」、「３」を含む。さらに、圧縮ドキュメントパート９０，１４０，１８０は、それぞれ、圧縮ページパート１２０，１６０，２００のファイル名を含む。この例の場合、まず、圧縮ページパート１２０を用いて、１ページ目の中間データが生成される。次いで、圧縮ページパート１６０を用いて、２ページ目の中間データが生成され、最後に、圧縮ページパート２００を用いて、３ページ目の中間データが生成される。
【００２６】
（描画データを生成する処理の概要）
続いて、図４〜図８を参照して、上記のＰＤＬデータ８０を用いてビットマップデータを生成する印刷処理の内容について説明する。ユーザは、ＰＣ８を用いて、プリンタ１０に印刷を実行させるための操作（例えば印刷対象の文書データの指定）を実行することができる。これより、ＰＣ８は、ＰＤＬデータ８０を生成する。次いで、ＰＣ８は、印刷指示をプリンタ１０に送信する。続いて、ＰＣ８は、ＰＤＬデータ８０に含まれる複数個の圧縮パート９０等を、所定の順序に従って、プリンタ１０に順次送信する。本実施例では、ＰＣ８は、図３の上から下の順に、圧縮パート９０等をプリンタ１０に送信する。即ち、最初に圧縮ドキュメントパート９０が送信され、次いで、圧縮イメージパート１００が送信される。プリンタ１０の制御部３０は、ＰＣ８から送信される印刷指示を受信すると、図４及び図５の印刷処理を開始する。この場合、ＰＤＬデータ取得部３２（図１参照）は、ＰＣ８から送信されるＰＤＬデータ８０を取得し（図４のＳ１２、Ｓ１８参照）、中間データ生成部３６（図１参照）は、ＰＤＬデータ８０を用いて、中間データを生成する（図５のＳ３８参照）。以下では、ＰＣ８０から送信されるＰＤＬデータ８０に基づいて実行される印刷処理のことを「第１の印刷処理」と呼ぶ。
【００２７】
また、ユーザは、ＵＳＢメモリ６をＵＳＢインターフェイス１６ａに接続した後に、プリンタ１０の操作部１４を用いて、ＵＳＢメモリ６内のＰＤＬデータ６０に基づいてプリンタ１０に印刷させるための操作を実行することができる。この操作が実行されても、プリンタ１０の制御部３０は、図４及び図５の印刷処理を開始する。この場合、ＰＤＬデータ取得部３２は、ＵＳＢメモリ６内からＰＤＬデータ６０を取得し、中間データ生成部３６は、ＰＤＬデータ６０を用いて、中間データを生成する。以下では、ＵＳＢメモリ６から取得されるＰＤＬデータ６０に基づいて実行される印刷処理のことを「第２の印刷処理」と呼ぶ。なお、以下では、第１の印刷処理の場合を例にして、図４及び図５のフローチャートの各処理の内容を説明する。第２の印刷処理の場合には、第１の印刷処理の場合と同様に各処理が実行される。
【００２８】
（１ページ目の処理）
図４及び図５のフローチャートの各処理の内容を説明する。なお、以下では、圧縮パートと、当該圧縮パートを解凍することによって生成される解凍済みパートと、をまとめて「パート」と呼ぶ。制御部３０は、まず、処理対象ページとして「１」を特定し、処理対象ページの中間データ及びビットマップデータを生成する処理を実行する。制御部３０は、処理対象ページの中間データを生成するために使用されるページパート（圧縮ページパート及び解凍済みページパート）がワークメモリ２２に存在するのか否かを判断する（Ｓ１０）。１回目のＳ１０の処理の段階では、ＰＤＬデータ８０のいずれのパートもワークメモリ２２に記憶されていないために、ＮＯと判断される。この場合、ＰＤＬデータ取得部３２は、プリンタ１０の受信バッファ（図示省略）から、ＰＤＬデータ８０の先頭に配置されている圧縮ドキュメントパート（ＦｉｘｅｄＤｏｃｕｍｅｎｔ１）９０を取得し、圧縮ドキュメントパート（ＦｉｘｅｄＤｏｃｕｍｅｎｔ１）９０をワークメモリ２２に記憶させる（Ｓ１２）。次いで、解凍部３７（図１参照）は、Ｓ１２で取得された圧縮ドキュメントパート（ＦｉｘｅｄＤｏｃｕｍｅｎｔ１）９０を解凍することによって解凍済みドキュメントパート９８を生成し、解凍済みドキュメントパート９８をワークメモリ２２に記憶させる（Ｓ１４）。これにより、図６に示されるように、ドキュメントパート（ＦｉｘｅｄＤｏｃｕｍｅｎｔ１）９０，９８がワークメモリ２２に記憶される。Ｓ１４を終えると、Ｓ１０に戻る。
【００２９】
上述したように、解凍済みドキュメントパート（ＦｉｘｅｄＤｏｃｕｍｅｎｔ１）９８は、ページ番号「１」と、圧縮ページパート（１．ｆｐａｇｅ）１２０のファイル名「１．ｆｐａｇｅ」と、を含む。従って、制御部３０は、解凍済みドキュメントパート（ＦｉｘｅｄＤｏｃｕｍｅｎｔ１）９８を読み込むことによって、処理対象ページ「１」の中間データを生成するために使用されるページパート（１．ｆｐａｇｅ）１２０，１２８のファイル名「１．ｆｐａｇｅ」を知ることができる。このために、２回目のＳ１０の処理では、制御部３０は、ファイル名「１．ｆｐａｇｅ」を有するページパートがワークメモリ２２に存在するのか否かを判断する。ここでＮＯの場合、Ｓ１０でＹＥＳと判断されるまで、Ｓ１２及びＳ１４の処理が繰り返し実行される。本実施例では、２回目のＳ１２の処理では、圧縮イメージパート（ｉｍａｇｅ１）１００が取得され、３回目のＳ１２の処理では、圧縮フォントパート（ｆｏｎｔ１）１１０が取得され、４回目のＳ１２の処理では、圧縮ページパート（１．ｆｐａｇｅ）１２０が取得される。この結果、図６に示されるように、各圧縮パート１００，１１０，１２０と、各解凍済みパート１０８，１１８，１２８と、がワークメモリ２２に記憶される。
【００３０】
ページパート（１．ｆｐａｇｅ）１２０，１２８がワークメモリ２２に記憶されると、制御部３０は、Ｓ１０でＹＥＳと判断する。この場合、制御部３０は、次の処理対象ページの中間データを生成するために使用されるページパートのファイル名を示すドキュメントパートがワークメモリ２２に存在するのか否かを判断する（Ｓ１６）。現時点では、処理対象ページが「１」であるために、制御部３０は、Ｓ１６の「次の処理対象ページ」として、「２」を採用する。従って、２ページ目の中間データを生成するために使用されるページパート（２．ｆｐａｇｅ）１６０，１６８のファイル名「２．ｆｐａｇｅ」を示すドキュメントパート（ＦｉｘｅｄＤｏｃｕｍｅｎｔ２）１４０，１４８がワークメモリ２２に存在する場合に、Ｓ１６でＹＥＳと判断され、ドキュメントパート（ＦｉｘｅｄＤｏｃｕｍｅｎｔ２）１４０，１４８がワークメモリ２２に存在しない場合に、Ｓ１６でＮＯと判断される。現時点では、ドキュメントパート（ＦｉｘｅｄＤｏｃｕｍｅｎｔ２）１４０，１４８がワークメモリ２２に存在しないために、Ｓ１６でＮＯと判断され、Ｓ１８に進む。
【００３１】
１回目のＳ１８の時点では、ドキュメントパート（ＦｉｘｅｄＤｏｃｕｍｅｎｔ１）９０，９８からページパート（１．ｆｐａｇｅ）１２０，１２８までがワークメモリ２２に記憶されている。従って、１回目のＳ１８では、ＰＤＬデータ取得部３２は、受信バッファから圧縮ディスカードパート（ｄｉｓｃａｒｄ１）１３０を取得し、圧縮ディスカードパート（ｄｉｓｃａｒｄ１）１３０をワークメモリ２２に記憶させる（Ｓ１８）。次いで、制御部３０は、Ｓ１８で圧縮パートを取得できたのか否かを判断する（Ｓ２０）。ＰＤＬデータ８０の最後の圧縮パート２００を既に取得している場合には、Ｓ１８の処理で圧縮パートを新たに取得することができない。この場合、Ｓ２０でＮＯと判断され、Ｓ２４に進む。一方において、Ｓ２０でＹＥＳの場合、解凍部３７は、Ｓ１８で取得された圧縮ディスカードパート（ｄｉｓｃａｒｄ１）１３０を解凍することによって解凍済みディスカードパート１３８（図６参照）を生成し、解凍済みディスカードパート１３８をワークメモリ２２に記憶させる（Ｓ２２）。Ｓ２２を終えると、Ｓ１６に戻る。現時点では、ドキュメントパート（ＦｉｘｅｄＤｏｃｕｍｅｎｔ２）１４０，１４８がワークメモリ２２に存在しないために、Ｓ１６で再びＮＯと判断され、２回目のＳ１８に進む。２回目のＳ１８の処理では、圧縮ドキュメントパート１４０（ＦｉｘｅｄＤｏｃｕｍｅｎｔ２）が取得され、２回目のＳ２２の処理では、解凍済みドキュメントパート１４８がワークメモリ２２に記憶される。
【００３２】
ドキュメントパート（ＦｉｘｅｄＤｏｃｕｍｅｎｔ２）１４０，１４８がワークメモリ２２に記憶されると、Ｓ１６でＹＥＳと判断される。この場合、図５のＳ３０に進む。Ｓ３０では、削除部４０（図１参照）は、解凍済みドキュメントパート（ＦｉｘｅｄＤｏｃｕｍｅｎｔ２）１４８を読み込むことによって、次の処理対象ページ「２」の中間データを生成するために使用される圧縮ページパート（２．ｆｐａｇｅ）１６０のファイル名「２．ｆｐａｇｅ」を知ることができる。削除部４０は、ページ情報として「２．ｆｐａｇｅ」を含むディスカードパートがワークメモリ２２に存在するのか否かを判断する。ワークメモリ２２に既に記憶されているディスカードパート（ｄｉｓｃａｒｄ１）１３０，１３８は、「２．ｆｐａｇｅ」を示すページ情報１３２を含む（図３参照）。従って、削除部４０は、Ｓ３０でＹＥＳと判断し、Ｓ３２に進む。
【００３３】
Ｓ３２では、削除部４０は、解凍済みディスカードパート（ｄｉｓｃａｒｄ１）１３８の内容を解析する。これにより、削除部４０は、解凍済みディスカードパート（ｄｉｓｃａｒｄ１）１３８に含まれるデータ情報１３４が「ｉｍａｇｅ１」を指定していることを知ることができる（図３参照）。削除部４０は、ファイル名「ｉｍａｇｅ１」を有するリソースパートがワークメモリ２２に存在するのか否かを判断する（Ｓ３４）。イメージパート（ｉｍａｇｅ１）１００，１０８がワークメモリ２２に存在するために、削除部４０は、Ｓ３４でＹＥＳと判断する。この場合、図６に示されるように、削除部４０は、イメージパート（ｉｍａｇｅ１）１００，１０８にフラグ１０６を対応づける（Ｓ３６）。Ｓ３６を終えると、Ｓ３８に進む。なお、Ｓ３０又はＳ３４でＮＯの場合も、Ｓ３８に進む。
【００３４】
Ｓ３８では、中間データ生成部３６は、現在の処理対象ページである１ページ目の中間データを生成するための解凍済みページパート（１．ｆｐａｇｅ）１２８を使用して、１ページ目の中間データを生成する。具体的は、中間データ生成部３６は、まず、解凍済みページパート（１．ｆｐａｇｅ）１２８から指定情報１２２，１２４（図３参照）を読み込む。次いで、中間データ生成部３６は、指定情報１２２によって指定される解凍済みイメージパート（ｉｍａｇｅ１）１０８を、所定の中間言語のフォーマットに変換する。なお、上記の所定の中間言語は、一般的に知られているデータフォーマットであってもよいし、プリンタ１０のベンダが独自に作成したデータフォーマットであってもよい。上記の所定の中間言語は、ベクタ形式のデータフォーマットであってもよいし、ベクタ形式とビットマップ形式とが複合されたデータフォーマットであってもよい。また、解凍済みページパート（１．ｆｐａｇｅ）１２８は、１ページ目の中間データを生成するために必要なテキストを含む。中間データ生成部３６は、指定情報１２４によって指定される解凍済みフォントパート（ｆｏｎｔ１）１１８に従って記述された上記のテキストを、上記の所定の中間言語のフォーマットに変換する。中間データ生成部３６は、変換後のイメージと、変換後の上記のテキストと、を含む１ページ目の中間データ２１０を生成する。これにより、図６に示されるように、１ページ目の中間データ２１０がワークメモリ２２に記憶される。
【００３５】
次いで、削除部４０は、削除処理を実行する（Ｓ４０）。Ｓ４０では、削除部４０は、フラグ１０６が対応づけられているイメージパート（ｉｍａｇｅ１）１００，１０８をワークメモリ２２から削除する。即ち、Ｓ４０では、解凍前のイメージパート１００と、解凍後のイメージパート１０８と、がほぼ同時に削除される。これにより、ワークメモリ２２が解放される。
【００３６】
続いて、ビットマップデータ生成部３８（図１参照）は、１ページ目の中間データ２１０を使用して、１ページ目のビットマップデータ２１２を生成する（Ｓ４２）。本実施例のビットマップデータ２１２は、例えば、ＣＭＹＫの多諧調（例えば２５６階調）のビットマップデータである。これにより、図６に示されるように、１ページ目のビットマップデータ２１２がワークメモリ２２に記憶される。
【００３７】
次いで、制御部３０は、１ページ目のビットマップデータ２１２を印刷実行部１８（図１参照）に供給する。この結果、印刷実行部１８は、１ページ目のビットマップデータ２１２に従って、１枚の印刷媒体に印刷する。なお、フローチャートには示されていないが、制御部３０は、１ページ目のビットマップデータ２１２を印刷実行部１８に供給し終えると、ワークメモリ２２内の中間データ２１０及びビットマップデータ２１２を削除する。制御部３０は、次の処理対象ページが存在するのか否かを判断する（Ｓ４６）。現時点では、処理対象ページが「１」であり、ドキュメントパート（ＦｉｘｅｄＤｏｃｕｍｅｎｔ２）１４０，１４８がページ番号として「２」を示す。従って、制御部３０は、次の処理対象ページ「２」が存在すると判断し、Ｓ４６でＹＥＳと判断する。この場合、制御部３０は、処理対象ページとして「２」を特定し、図４のＳ１０に戻る。
【００３８】
（２ページ目の処理）
制御部３０は、解凍済みドキュメントパート（ＦｉｘｅｄＤｏｃｕｍｅｎｔ２）１４８を読み込むことによって、処理対象ページ「２」の中間データを生成するために使用されるページパート（２．ｆｐａｇｅ）１６０，１６８のファイル名「２．ｆｐａｇｅ」を知ることができる。Ｓ１０の処理では、制御部３０は、ファイル名「２．ｆｐａｇｅ」を有するページパート（２．ｆｐａｇｅ）１６０，１６８がワークメモリ２２に存在するのか否かを判断する。ここでＮＯの場合、Ｓ１０でＹＥＳと判断されるまで、Ｓ１２及びＳ１４の処理が繰り返し実行される。これにより、圧縮イメージパート（ｉｍａｇｅ２）１５０が取得され、次いで、圧縮ページパート（２．ｆｐａｇｅ）１６０が取得される。この結果、図７に示されるように、各圧縮パート１５０，１６０と、各解凍済みパート１５８，１６８と、がワークメモリ２２に記憶される。なお、図７では、イメージパート（ｉｍａｇｅ１）１００，１０８（図６参照）がワークメモリ２２に存在しない。１ページ目の処理の際に、図５のＳ４０で削除されたからである。
【００３９】
ページパート（２．ｆｐａｇｅ）１６０，１６８がワークメモリ２２に記憶されると、制御部３０は、Ｓ１０でＹＥＳと判断し、Ｓ１６に進む。Ｓ１６では、制御部３０は、３ページ目の中間データを生成するために使用されるページパート（３．ｆｐａｇｅ）２００，２０８のファイル名「３．ｆｐａｇｅ」を示すドキュメントパート（ＦｉｘｅｄＤｏｃｕｍｅｎｔ３）１８０，１８８がワークメモリ２２に存在するのか否かを判断する。現時点では、ドキュメントパート（ＦｉｘｅｄＤｏｃｕｍｅｎｔ３）１８０，１８８がワークメモリ２２に存在しないために、Ｓ１６でＮＯと判断される。この場合、Ｓ１６でＹＥＳと判断されるまで、Ｓ１８〜Ｓ２２の処理が繰り返し実行される。これにより、圧縮ディスカードパート（ｄｉｓｃａｒｄ２）１７０が取得され、次いで、圧縮ドキュメントパート（ＦｉｘｅｄＤｏｃｕｍｅｎｔ３）１８０が取得される。この結果、図７に示されるように、各圧縮パート１７０，１８０と、各解凍済みパート１７８，１８８と、がワークメモリ２２に記憶される。
【００４０】
ドキュメントパート（ＦｉｘｅｄＤｏｃｕｍｅｎｔ３）１８０，１８８がワークメモリ２２に記憶されると、Ｓ１６でＹＥＳと判断され、図５のＳ３０に進む。この場合のＳ３０では、削除部４０は、ページ情報１７２として「３．ｆｐａｇｅ」を含むディスカードパート（ｄｉｓｃａｒｄ２）１７０，１７８がワークメモリ２２に存在するのか否かを判断する。削除部４０は、Ｓ３０でＹＥＳと判断し、解凍済みディスカードパート（ｄｉｓｃａｒｄ２）１７８の内容を解析することによって、データ情報１７４が「ｆｏｎｔ１」を指定していることを知ることができる（Ｓ３２）。ファイル名「ｆｏｎｔ１」を有するフォントパート（ｆｏｎｔ１）１１０，１１８がワークメモリ２２に存在するために、削除部４０は、Ｓ３４でＹＥＳと判断し、図７に示されるように、フォントパート（ｆｏｎｔ１）１１０，１１８にフラグ１１６を対応づける（Ｓ３６）。
【００４１】
次いで、中間データ生成部３６は、現在の処理対象ページである２ページ目の中間データを生成するための解凍済みページパート（２．ｆｐａｇｅ）１６８を使用して、２ページ目の中間データ２２０を生成する（Ｓ３８）。即ち、１ページ目の中間データ２１２を生成する場合と同様に、中間データ生成部３６は、中間言語に変換後のイメージ（ｉｍａｇｅ２から生成される）と、中間言語に変換後のテキスト（ｆｏｎｔ１で記述されたテキスト（当該テキストは解凍済みページパート１６８に含まれる））と、を含む２ページ目の中間データ２２０を生成する。次いで、削除部４０は、削除部４０は、フラグ１１６が対応づけられているフォントパート（ｆｏｎｔ１）１１０，１１８をワークメモリ２２から削除する（Ｓ４０）。続いて、ビットマップデータ生成部３８は、２ページ目の中間データ２２０を使用して、２ページ目のビットマップデータ２２２を生成する（Ｓ４２）。次いで、制御部３０は、２ページ目のビットマップデータ２２２を印刷実行部１８に供給し、ワークメモリ２２内の中間データ２２０及びビットマップデータ２２２を削除する。制御部３０は、Ｓ４６でＹＥＳと判断し、処理対象ページとして「３」を特定し、図４のＳ１０に戻る。
【００４２】
（３ページ目の処理）
Ｓ１０の処理では、制御部３０は、ファイル名「３．ｆｐａｇｅ」を有するページパート（３．ｆｐａｇｅ）２００，２０８がワークメモリ２２に存在するのか否かを判断する。ここでＮＯの場合、Ｓ１０でＹＥＳと判断されるまで、Ｓ１２及びＳ１４の処理が繰り返し実行される。これにより、圧縮イメージパート（ｉｍａｇｅ３）１９０が取得され、次いで、圧縮ページパート（３．ｆｐａｇｅ）２００が取得される。この結果、図８に示されるように、各圧縮パート１９０，２００と、各解凍済みパート１９８，２０８と、がワークメモリ２２に記憶される。なお、図８では、フォントパート（ｆｏｎｔ１）１１０，１１８（図７参照）がワークメモリ２２に存在しない。２ページ目の処理の際に、図５のＳ４０で削除されたからである。
【００４３】
ページパート（３．ｆｐａｇｅ）２００，２０８がワークメモリ２２に記憶されると、制御部３０は、Ｓ１０でＹＥＳと判断し、Ｓ１６に進む。制御部３０は、Ｓ１６でＮＯと判断し、Ｓ１８で圧縮パートを取得することを試行する。ただし、ＰＤＬデータ８０の最後の圧縮パート（３．ｆｐａｇｅ）２００は既に取得されている。従って、圧縮パートを取得することができないために、Ｓ２０でＮＯと判断される。この場合、削除部４０は、ワークメモリ２２に存在する全てのリソースパート（イメージパート及びフォントパート）にフラグを対応づける（Ｓ２４）。図８に示されるように、現時点では、イメージパート（ｉｍａｇｅ２）１５０，１５８と、イメージパート（ｉｍａｇｅ３）１９０，１９８と、がワークメモリ２２に存在する。従って、削除部４０は、イメージパート（ｉｍａｇｅ２）１５０，１５８にフラグ１５６を対応づけると共に、イメージパート（ｉｍａｇｅ３）１９０，１９８にフラグ１９６を対応づける。
【００４４】
Ｓ２４を終えると、図５のＳ３０〜Ｓ３４の処理がスキップされ、Ｓ３８に進む。即ち、削除部４０は、ディスカードの解析処理（Ｓ３２）を実行しない。Ｓ３８では、中間データ生成部３６は、現在の処理対象ページである３ページ目の中間データを生成するための解凍済みページパート（３．ｆｐａｇｅ）２０８を使用して、３ページ目の中間データ２３０を生成する（Ｓ３８）。即ち、中間データ生成部３６は、中間言語に変換後のイメージ（ｉｍａｇｅ３から生成される）を含む３ページ目の中間データ２３０を生成する。次いで、削除部４０は、フラグ１５６及びフラグ１９６が対応づけられているイメージパート（ｉｍａｇｅ２）１５０，１５８及びイメージパート（ｉｍａｇｅ３）１９０，１９８をワークメモリ２２から削除する（Ｓ４０）。続いて、ビットマップデータ生成部３８は、３ページ目の中間データ２３０を使用して、３ページ目のビットマップデータ２３２を生成する（Ｓ４２）。次いで、制御部３０は、３ページ目のビットマップデータ２２２を印刷実行部１８に供給し、ワークメモリ２２内の中間データ２３０及びビットマップデータ２３２を削除する。また、４ページ目のページ番号を示すドキュメントパートがワークメモリ２２内に存在しないために、制御部３０は、Ｓ４６でＮＯと判断する。これにより、印刷処理が終了する。なお、Ｓ４６でＮＯの場合には、制御部３０は、ワークメモリ２２内に残存している全てのパート９０，９８等を削除する。
【００４５】
本実施例について詳しく説明した。図９の（第１実施例）に示されるように、本実施例のプリンタ１０は、ページパート（１．ｆｐａｇｅ）１２０，１２８、イメージパート（ｉｍａｇｅ１）１００，１０８、及び、フォントパート（ｆｏｎｔ１）１１０，１１８を使用して、１ページ目の中間データ２１０を生成する。次いで、プリンタ１０は、イメージパート（ｉｍａｇｅ１）１００，１０８を削除する。次いで、プリンタ１０は、１ページ目の中間データ２１０を使用して、１ページ目のビットマップデータ２１２を生成する。即ち、プリンタ１０は、１ページ目の中間データ２１０の生成が終了した後であって、１ページ目のビットマップデータ２１２の生成が終了する前である特定期間Ｔ１内に、２ページ目を示すページ情報１３２を含むディスカードパート（ｄｉｓｃａｒｄ１）１３０，１３８に含まれるデータ情報１３４が示すイメージパート（ｉｍａｇｅ１）１００，１０８を削除する。同様に、プリンタ１０は、特定期間Ｔ２内にフォントパート（ｆｏｎｔ１）１１０，１１８を削除し、特定期間Ｔ３内にイメージパート（ｉｍａｇｅ２、ｉｍａｇｅ３）１５０，１５８，１９０，１９８を削除する。
【００４６】
本実施例の手法を採用しない場合には、図９の（比較例）に示される手法を採用することが考えられる。この手法では、例えば、ディスカードパート（ｄｉｓｃａｒｄ１）１３０，１３８に従って削除処理を実行する場合に、１ページ目のビットマップデータ２１２の生成が終了した後に、イメージパート（ｉｍａｇｅ１）１００，１０８が削除される。しかしながら、比較例の手法では、１ページ目のビットマップデータ２１２が生成される過程で、ワークメモリ２２の残容量が所定量よりも少なくなるという事象（以下では「メモリフル」と呼ぶ）が発生し得る。同様に、２ページ目又は３ページ目のビットマップデータ２２２，２３２が生成される過程で、メモリフルのエラーが発生し得る。
【００４７】
これに対し、図９に示される本実施例の手法では、１ページ目のビットマップデータ２１２の生成が終了する前である特定期間Ｔ１内にイメージパート（ｉｍａｇｅ１）１００，１０８が削除される。同様に、特定期間Ｔ２内にフォントパート（ｆｏｎｔ１）１１０，１１８が削除され、特定期間Ｔ３内にイメージパート（ｉｍａｇｅ２、ｉｍａｇｅ３））１５０，１５８，１９０，１９８が削除される。比較例の手法と比べると、早期にリソースパートを削除することができるために、各ページのビットマップデータ２１２，２２２，２３２が生成される過程で、メモリフルのエラーが発生するのを抑制することができる。
【００４８】
特に、本実施例では、プリンタ１０は、特定期間Ｔ１のうち、１ページ目のビットマップデータ２１２の生成が開始される前に、イメージパート（ｉｍａｇｅ１）１００，１０８を削除する。同様に、プリンタ１０は、２ページ目のビットマップデータ２２２の生成が開始される前に、フォントパート（ｆｏｎｔ１）１１０，１１８を削除し、３ページ目のビットマップデータ２２２の生成が開始される前に、イメージパート（ｉｍａｇｅ２、ｉｍａｇｅ３）１５０，１５８，１９０，１９８を削除する。より早期にリソースパートを削除することができるために、メモリフルのエラーが発生するのを効果的に抑制することができる。
【００４９】
なお、本実施例では、プリンタ１０は、処理対象ページが最後のページ以外のページ（１又は２ページ目）である場合には、図５のＳ３２の解析処理を実行する。一方において、プリンタ１０は、処理対象ページが最後のページ（３ページ目）である場合には、図４のＳ２０でＮＯと判断し、図５のＳ３２の解析処理を実行しない。この構成によると、処理対象ページが最後のページである場合に、解析処理が実行されないために、制御部３０の処理負荷が低減する。なお、上記の説明が明らかなように、例えば、ＰＤＬデータ８０が１ページ分のビットマップデータを生成するための圧縮パートのみを含む場合には、１ページ目が最後のページになり、解析処理が全く実行されない。
【００５０】
本実施例の各要素と本発明の各要素との対応関係を記載しておく。プリンタ１０が「ＰＤＬデータ処理装置」の一例である。また、例えば、１ページ目が「特定の処理対象ページ」である場合に、ディスカードパート１３０，１３８が「特定の削除パートデータ」の一例であり、ページ情報１３２が「特定のページ情報」の一例であり、データ情報１３４が「特定のデータ情報」の一例であり、圧縮イメージパート１００及び解凍済みイメージパート１０８が「特定の描画パートデータ」の一例である。
【００５１】
（第２実施例）
第１実施例と異なる点を説明する。第１実施例では、図５のＳ４０の処理において、圧縮リソースパートと、解凍済みリソースパートと、がほぼ同時に削除される。本実施例では、削除部４０は、図５のＳ３８の中間データ生成処理において、フラグが対応づけられている圧縮リソースパートを削除し、図５のＳ４０の処理において、フラグが対応づけられている解凍済みリソースパートを削除する。即ち、図１０において実線で表わされる上方向の矢印に示されるように、削除部４０は、１ページ目の中間データ２１０が生成される過程において、圧縮イメージパート（ｉｍａｇｅ１）１００を削除し、特定期間Ｔ１内に、解凍済みイメージパート１０８を削除する。同様に、削除部４０は、２ページ目の中間データ２２０が生成される過程において、圧縮フォントパート（ｆｏｎｔ１）１１０を削除し、特定期間Ｔ２内に、解凍済みフォントパート１１８を削除する。さらに、削除部４０は、３ページ目の中間データ２３０が生成される過程において、圧縮イメージパート（ｉｍａｇｅ２、ｉｍａｇｅ３）１５０，１９０を削除し、特定期間Ｔ３内に、解凍済みイメージパート１５８，１９８を削除する。この構成によると、より早期に圧縮リソースパートを削除することができるために、メモリフルのエラーが発生するのを効果的に抑制することができる。
【００５２】
なお、本実施例において、図１０において破線で表わされる上方向の矢印に示されるように、削除部４０は、１ページ目の中間データ２１０の生成が開始される前に、圧縮イメージパート（ｉｍａｇｅ１）１００を削除してもよい。同様に、削除部４０は、２ページ目の中間データ２２０の生成が開始される前に、フォントパート（ｆｏｎｔ１）１１０を削除し、３ページ目の中間データ２３０の生成が開始される前に、圧縮イメージパート（ｉｍａｇｅ２、ｉｍａｇｅ３）１５０，１９０を削除してもよい。この構成によると、より早期に圧縮リソースパートを削除することができる。
【００５３】
本実施例では、例えば、１ページ目が「特定の処理対象ページ」である場合に、解凍済みイメージパート１０８が「特定の描画パートデータ」の一例であり、圧縮イメージパート１００が「特定のデータ情報が示す解凍前の描画パートデータ」の一例である。
【００５４】
上記の各実施例の変形例を以下に列挙する。
（１）上記の実施例の技術は、ＸＰＳデータ以外の種類のＰＤＬデータを利用する場合にも適用することができる。例えば、ＰＤＦ、ＰＳ（Post Script）等を利用する場合にも適用することができる。なお、本明細書の「ＰＤＬデータ」という用語は、ページという概念を用いて記述されるあらゆる種類のデータを含む概念である。
【００５５】
（２）上記の実施例では、制御部３０を構成する各部３２〜４０がプリンタ１０に備えられており、プリンタ１０が図４及び図５の各処理を実行する。しかしながら、ＰＣ８が、プリンタドライバに従って、図４及び図５の各処理を実行してもよい。この場合、ＰＣ８の制御部（図示省略）が各部３２〜４０を備える。本変形例では、ＰＣ８が「ＰＤＬデータ処理装置」の一例である。なお、上記のプリンタドライバは、当該プリンタドライバを格納しているコンピュータ読取可能記憶媒体からＰＣ８にインストールされてもよいし、インターネット上のサーバ等の外部装置からＰＣ８にインストールされてもよい。
【００５６】
（３）上記の実施例では、ＰＤＬデータ８０の中において、圧縮ディスカードパート（ｄｉｓｃａｒｄ１）１３０が先に配置され、圧縮ドキュメントパート（ＦｉｘｅｄＤｏｃｕｍｅｎｔ２）１４０が後に配置されている。従って、図４のＳ１６〜Ｓ２２の処理によって圧縮ドキュメントパート（ＦｉｘｅｄＤｏｃｕｍｅｎｔ２）１４０を取得する過程において、圧縮ディスカードパート１３０（ｄｉｓｃａｒｄ１）も取得される。このために、１回目のＳ３０（図５参照）の処理を実行する時点において、ディスカードパート（ｄｉｓｃａｒｄ１）１３０，１３８がワークメモリ２２に既に記憶されており、そのディスカードパート（ｄｉｓｃａｒｄ１）１３０，１３８の解析結果に基づいてフラグ１０６（図６参照）が設定される。同様に、２回目のＳ３０の処理を実行する時点において、ディスカードパート（ｄｉｓｃａｒｄ２）１７０，１７８がワークメモリ２２に既に記憶されており、そのディスカードパート（ｄｉｓｃａｒｄ２）１７０，１７８の解析結果に基づいてフラグ１１６（図７参照）が設定される。即ち、上記の実施例の配列順序を有するＰＤＬデータ８０を用いる場合には、図４及び図５のフローチャートを実行することによって、特定期間Ｔ１，Ｔ２内にイメージパート（ｉｍａｇｅ１）１００，１０８及びフォントパート（ｆｏｎｔ１）１１０，１１８を削除することができる。しかしながら、ＰＤＬデータ内での各圧縮パートの配列順序が上記の実施例と異なる可能性がる。
【００５７】
例えば、ＰＤＬデータ８０では、ページ毎に圧縮ドキュメントパート９０，１４０，１８０が設けられているが、圧縮ドキュメントパート９０，１４０，１８０の各情報がまとめて１個の圧縮ドキュメントパート（以下では「特定の圧縮ドキュメントパート」と呼ぶ）に記述され、上記の特定の圧縮ドキュメントパートがＰＤＬデータ８０の先頭に設けられている可能性がある。このような配列順序を有するＰＤＬデータを用いる場合にも、特定期間Ｔ１，Ｔ２内にイメージパート（ｉｍａｇｅ１）１００，１０８等を削除できるように、以下の構成を採用してもよい。即ち、プリンタ１０は、図４のＳ１０でＹＥＳの場合に、少なくとも１個のディスカードパートが取得されるまで、圧縮パートを取得することを繰り返す特定の処理を実行してもよい。プリンタ１０は、上記の特定の処理によってディスカードパートが取得された場合に、図５のＳ３０の処理に進んでもよい。この構成によると、１回目のＳ３０の処理を実行する時点、２回目のＳ３０の処理を実行する時点において、それぞれ、ディスカードパート（ｄｉｓｃａｒｄ１）１３０，１３８、ディスカードパート（ｄｉｓｃａｒｄ２）１７０，１７８が、ワークメモリ２２に記憶されている。即ち、上記の実施例の配列順序と異なる配列順序を有するＰＤＬデータを用いる場合にも、特定期間Ｔ１，Ｔ２内にイメージパート（ｉｍａｇｅ１）１００，１０８及びフォントパート（ｆｏｎｔ１）１１０，１１８を削除することができる。
【００５８】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
【００５９】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【００６０】
２：データ処理システム、１０：プリンタ、２０：記憶部、２２：ワークメモリ、３０：制御部、６０，８０：ＰＤＬデータ
【図１】
2011159219.tif 000003
【図２】
2011159219.tif 000004
【図３】
2011159219.tif 000005
【図４】
2011159219.tif 000006
【図５】
2011159219.tif 000007
【図６】
2011159219.tif 000008
【図７】
2011159219.tif 000009
【図８】
2011159219.tif 000010
【図９】
2011159219.tif 000011
【図１０】
2011159219.tif 000012