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