JP2011056669A - Pdlデータ処理装置とpdlデータ処理プログラム - Google Patents

Pdlデータ処理装置とpdlデータ処理プログラム Download PDF

Info

Publication number
JP2011056669A
JP2011056669A JP2009205503A JP2009205503A JP2011056669A JP 2011056669 A JP2011056669 A JP 2011056669A JP 2009205503 A JP2009205503 A JP 2009205503A JP 2009205503 A JP2009205503 A JP 2009205503A JP 2011056669 A JP2011056669 A JP 2011056669A
Authority
JP
Japan
Prior art keywords
page
data
new
pdl
part data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009205503A
Other languages
English (en)
Other versions
JP4775484B2 (ja
Inventor
Nobuo Mizutani
宣夫 水谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2009205503A priority Critical patent/JP4775484B2/ja
Priority to EP10251203.5A priority patent/EP2293180B1/en
Priority to US12/876,853 priority patent/US8756491B2/en
Publication of JP2011056669A publication Critical patent/JP2011056669A/ja
Application granted granted Critical
Publication of JP4775484B2 publication Critical patent/JP4775484B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/122Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to computing resources, e.g. memory, CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1827Accessing generic data, e.g. fonts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1848Generation of the printable image
    • G06K15/1856Generation of the printable image characterized by its workflow

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Record Information Processing For Printing (AREA)
  • Image Generation (AREA)
  • Document Processing Apparatus (AREA)

Abstract

【課題】 適切なタイミングでリソースパートデータを削除すること。
【解決手段】 プリンタは、2in1に従って描画データが生成されるべき場合に、以下の処理を実行する。即ち、プリンタは、実際に生成された描画データ220,222のページ番号Mに関わらず、ページ番号「2.fpage」の解凍済みページパートデータ158を用いて描画データ220が生成された後であって、ページ番号「3.fpage」の解凍済みページパート188を用いて描画データ222が生成される前に、ページ番号「3.fpage」を含む解凍済みディスカードパートによって指定されるリソースパートを削除する。
【選択図】 図4

Description

本明細書は、PDL(Page Description Language)データを処理するための技術を開示する。
PDLデータから印刷のための描画データを生成するPDLデータ処理装置が広く知られている。例えば、特許文献1には、PDLデータの一種であるXPS(XML Paper Specification)データから描画データを生成するPDLデータ処理装置が開示されている。XPSデータは、リソースパートデータ、ページパートデータ等の複数個のパートデータを含む。ページパートデータは、ページ番号が対応づけられているとともに、リソースパートデータ(例えば、イメージのリソースパートデータ、フォントのリソースパートデータ)を指定する指定情報を含む。PDLデータ処理装置は、1ページ分のページパートデータと、そのページパートデータに含まれる指定情報によって指定されるリソースパートデータと、を用いて、1ページ分の描画データを生成する。
特開2008−33812号公報
例えば、3ページ目以降の描画データの生成に不要なリソースパートデータは、3ページ目の描画データの生成が開始される前のタイミングにおいて、削除されるのが好ましいと考えられている。メモリの使用量を低減させることができるからである。上記のタイミングで上記のリソースパートデータを削除するためには、PDLデータの中に削除パートデータを含める構成が考えられる。削除パートデータは、ページ番号を示すページ情報(例えば3ページ目を示す情報)と、削除対象のリソースパートデータを示すデータ情報と、を含む。この構成によると、PDLデータ処理装置は、削除パートデータを読み込むことによって、上記の削除対象のリソースパートデータを削除すべきタイミング(例えば3ページ目の描画データの生成が開始される前のタイミング)を知ることができ、そのタイミングにおいて上記の削除対象のリソースパートデータを削除することができる。上記の特許文献1には、削除パートデータについて何ら開示されていない。
本明細書では、適切なタイミングでリソースパートデータを削除することができる技術を提供する。
PDLデータでは、通常、1ページ分のページパートデータを用いて1ページ分の描画データが生成されること(以下では「1in1」と呼ぶ)を前提として、ページ番号が設定される。例えば、10ページ分の描画データが生成されるべき場合には、「1」〜「10」のページ番号が対応づけられている10個のページパートデータを含むPDLデータが生成される。削除パートデータに含まれるページ情報も、1in1及び先頭ページから順に描画データを生成することを前提として、ページ番号が設定されることが予想される。従って、1in1の場合には、実際に生成された描画データのページ番号に従って、削除パートデータが示すタイミング(削除パートデータに含まれるページ情報)で削除対象のリソースパートデータを削除するようにすれば、適切なタイミングで削除対象のリソースパートデータを削除することができる。
しかしながら、例えば、Nページ分(Nは2以上の整数)のページパートデータを用いて1ページ分の描画データが生成されるべき場合(以下では「Nin1」と呼ぶ)もあるし、1ページ分のページパートデータを用いてNページ分の描画データが生成されるべき場合(以下では「1inN」と呼ぶ)もある。Nin1又は1inNの場合には、実際に生成される描画データのページ番号と、ページパートデータが対応づけられているページ番号(即ち削除パートデータに含まれるページ情報が示すページ番号)と、が一致しない。従って、実際に生成された描画データのページ番号に従って、削除パートデータが示すタイミングで削除対象のリソースパートデータが削除されると、適切なタイミングで削除対象のリソースパートデータが削除されない可能性がある。例えば、Nin1の場合には、以降の描画データを生成するのに不要なリソースパートデータを削除するタイミングが遅れるという第1の事象が発生し得る。また、例えば、1inNの場合には、以降の描画データを生成するのに必要なリソースパートデータが削除されてしまうという第2の事象が発生し得る。このような事象が発生するのを抑制するために、以下の構成を備えるPDLデータ処理装置を採用してもよい。
PDLデータ処理装置は、PDLデータ取得部と、描画データ生成部と、削除部と、を備える。PDLデータ取得部は、PDLデータを取得する。PDLデータは、リソースパートデータと、ページパートデータと、削除パートデータと、を含む。ページパートデータは、ページ番号が対応づけられているとともに、リソースパートデータを指定する指定情報を含む。削除パートデータは、ページ番号を示すページ情報と、リソースパートデータを示すデータ情報と、を含む。描画データ生成部は、ページパートデータと、ページパートデータに含まれる指定情報によって指定されるリソースパートデータと、を用いて、描画データを生成する。削除部は、削除パートデータに含まれるデータ情報が示すリソースパートデータを削除する。
削除部は、Nページ分(Nは2以上の整数)のページパートデータを用いて1ページ分の描画データが生成されるべき第1の場合、又は、1ページ分のページパートデータを用いてNページ分の描画データが生成されるべき第2の場合に、以下の処理を実行する。即ち、削除部は、実際に生成された描画データのページ番号M(Mは1以上の整数)に関わらず、ページ番号L(Lは1以上の整数)が対応づけられている第1のページパートデータを用いて第1の描画データが生成された後であって、ページ番号L+1が対応づけられている第2のページパートデータを用いて第2の描画データが生成される前に、ページ番号L+1を示す第1のページ情報を含む第1の削除パートデータに含まれる第1のデータ情報が示す第1のリソースパートデータを削除する。
上記の構成によると、PDLデータ処理装置は、Nin1又は1inNの場合に、実際に生成された描画データのページ番号Mに従って、第1のリソースパートデータを削除するのではなく、描画データを生成するのに実際に使用されたページパートデータのページ番号Lに従って、第1のリソースパートデータを削除する。従って、Nin1又は1inNの場合に、上記の第1又は第2の事象が発生するのを抑制することができる。Nin1又は1inNの場合に、適切なタイミングでリソースパートデータを削除することができる。
削除部は、1ページ分のページパートデータを用いて1ページ分の描画データが生成されるべき場合に、以下の処理を実行してもよい。即ち、削除部は、実際に生成された描画データのページ番号Mに従って、ページ番号Mが対応づけられている第3のページパートデータを用いてページ番号Mの第3の描画データが生成された後であって、ページ番号M+1が対応づけられている第4のページパートデータを用いてページ番号M+1の第4の描画データが生成される前に、ページ番号M+1を示す第2のページ情報を含む第2の削除パートデータに含まれる第2のデータ情報が示す第2のリソースパートデータを削除してもよい。上記の構成によると、PDLデータ処理装置は、1in1の場合に、実際に生成された描画データのページ番号Mに従って、第2のリソースパートデータを削除することができる。1in1の場合に、適切なタイミングでリソースパートデータを削除することができる。
PDLデータ処理装置は、描画データに従って印刷する印刷実行部をさらに備えていてもよい。この場合、削除部は、第1の場合又は第2の場合に、第1の描画データが生成された後であって、第1の描画データが印刷される前に、第1のリソースパートデータを削除してもよい。この構成によると、第1のリソースパートデータを迅速に削除することができ、メモリを迅速に解放することができる。
上記の第1又は第2の事象が発生するのを抑制するために、以下の構成を備えるPDLデータ処理装置を採用してもよい。PDLデータ処理装置は、PDLデータを取得するPDLデータ取得部と、データ生成部と、を備える。データ生成部は、第1の場合又は第2の場合に、PDLデータから、リソースパートデータと、新たなページパートデータと、新たな削除パートデータと、を含む新たなPDLデータを生成する。データ生成部は、第1の場合又は第2の場合に、1ページ分のページパートデータを用いて1ページ分の描画データが生成されるように、PDLデータに含まれるページパートデータから、新たなページ番号が対応づけられている新たなページパートデータを生成する。データ生成部は、さらに、PDLデータに含まれる削除パートデータに含まれるページ情報を、新たなページ番号に従って決定される新たなページ情報に変更することによって、新たな削除パートデータを生成する。
仮に、描画データを生成するデバイス(上記のPDLデータ処理装置以外のデバイスであってもよいし、上記のPDLデータ処理装置であってもよい)が、上記の新たなPDLデータではなく、元のPDLデータを用いて描画データを生成する場合には、Nin1又は1inNに従って描画データを生成する必要がある。即ち、上記のデバイスは、元のPDLデータに含まれるNページ分のページパートを用いて1ページ分の描画データを生成する処理、又は、元のPDLデータに含まれる1ページ分のページパートを用いてNページ分の描画データを生成する処理を実行する必要がある。この場合、仮に、上記のデバイスが、実際に生成された描画データのページ番号に従って、削除パートデータが示すタイミングで削除対象のリソースパートデータを削除すると、上記の第1の事象又は第2の事象が発生し得る。これに対し、上記の新たなPDLデータ(新たなページパートデータ)を用いて描画データを生成する場合には、1in1に従って描画データを生成することができる。これにより、元のPDLデータを用いてNin1又は1inNに従って描画データを生成する場合と同様の描画データを生成することができる。しかも、上記の新たなPDLデータに含まれる新たな削除パートデータは、新たなページパートデータに対応づけられている新たなページ番号に従って決定される新たなページ情報を含む。このために、上記のデバイスが、実際に生成された描画データのページ番号に従って、新たな削除パートデータが示すタイミングで削除対象のリソースパートデータを削除すれば、適切なタイミングで削除対象のリソースパートデータを削除し得る。上記の第1又は第2の事象が発生することを抑制し得る。
データ生成部は、第1の場合に、PDLデータに含まれるNページ分のN個のページパートデータから、1ページ分の1個の新たなページパートデータを生成してもよい。また、データ生成部は、第2の場合に、PDLデータに含まれる1ページ分の1個のページパートデータから、Nページ分のN個の新たなページパートデータを生成してもよい。
データ生成部は、第1の場合又は第2の場合において、さらに、特定のページ情報と、特定のリソースパートデータを示す特定のデータ情報と、を含む特定の削除パートデータがPDLデータに含まれ、かつ、上記の特定のリソースパートデータを指定する特定の指定情報を含む特定の新たなページパートデータが生成される場合に、以下の処理を実行してもよい。即ち、データ生成部は、上記の特定の削除パートデータに含まれる上記の特定のページ情報を、上記の特定の新たなページパートデータに対応づけられている特定の新たなページ番号より大きいページ番号を示す特定の新たなページ情報に変更することによって、特定の新たな削除パートデータを生成してもよい。この構成によって生成される新たな削除パートデータを用いると、以降の描画データを生成するのに必要なリソースパートデータが削除されるという事象が発生するのを抑制し得る。
データ生成部は、第1の場合又は第2の場合において、さらに、複数個の新たなページパートデータのそれぞれが、上記の特定の指定情報を含む場合に、以下の処理を実行してもよい。即ち、データ生成部は、上記の複数個の新たなページパートデータのうち、最も大きいページ番号に対応づけられている上記の特定の新たなページパートデータを選択してもよい。さらに、データ生成部は、上記の特定の削除パートデータに含まれる上記の特定のページ情報を、選択された上記の特定の新たなページパートデータに対応づけられている上記の特定の新たなページ番号より大きいページ番号を示す上記の特定の新たなページ情報に変更してもよい。この構成によって生成される新たな削除パートデータを用いると、以降の描画データを生成するのに必要なリソースパートデータが削除されるという事象が発生するのを抑制することができる。
上記の特定の新たなページ情報は、上記の特定の新たなページ番号より1つ大きいページ番号を示すものであってもよい。この構成によって生成される新たな削除パートデータを用いると、以降の描画データを生成するのに不要なリソースパートデータを迅速に削除することができる。
なお、上記のPDLデータ処理装置を実現するための制御方法及びコンピュータプログラムも新規で有用である。
データ処理システムの構成の一例を示す。 PDLデータの一例を示す。 1in1に従って描画データが生成される様子を示す。 2in1に従って描画データが生成される様子を示す。 1in2に従って描画データが生成される様子を示す。 1in1処理のフローチャートを示す。 Nin1処理のフローチャートを示す。 1inN処理のフローチャートを示す。 2in1の場合に新たなPDLデータが生成される様子を示す。 1inNの場合に新たなPDLデータが生成される様子を示す。
(第1実施例)
(システムの構成)
図面を参照して実施例を説明する。図1は、本実施例のデータ処理システム2の概略図を示す。データ処理システム2は、LAN4と、プリンタ10と、PC50と、を備える。プリンタ10とPC50とは、LAN4に接続されている。プリンタ10とPC50とは、LAN4を介して、相互に通信可能である。
(プリンタ10の構成)
プリンタ10は、表示部12と、操作部14と、ネットワークインターフェイス16と、印刷実行部18と、制御部20と、を備える。表示部12は、様々な情報を表示する。操作部14は、複数のキーによって構成される。ユーザは、操作部14を操作することによって、様々な指示をプリンタ10に入力することができる。プリンタ10は、ネットワークインターフェイス16を介して、LAN4に接続される。印刷実行部18は、インクジェット方式、レーザ方式等の印刷機構を備える。印刷実行部18は、制御部20から供給される描画データに従って、印刷媒体に画像を印刷する。
制御部20は、CPU22と、プログラム記憶領域24と、を備える。CPU22は、プログラム記憶領域24に記憶されているプログラムに従って、様々な処理を実行する。CPU22がプログラム記憶領域24に記憶されているプログラムを実行することによって、PDLデータ取得部26、描画データ生成部30、及び、削除部32の機能が実現される。制御部20は、さらに、ワークメモリ40を備える。
(PC50の構成)
PC50は、表示部52と、操作部54と、ネットワークインターフェイス58と、制御部60と、を備える。表示部52は、様々な情報を表示する。操作部54は、キーボード、マウス等によって構成される。ユーザは、操作部54を操作することによって、様々な指示をPC50に入力することができる。PC50は、ネットワークインターフェイス58を介して、LAN4に接続される。
制御部60は、CPU62と、プログラム記憶領域64と、ワークメモリ80と、を備える。CPU62は、プログラム記憶領域64に記憶されているプログラムに従って、様々な処理を実行する。CPU62がプログラム記憶領域64に記憶されているプログラムを実行することによって、PDLデータ取得部66、及び、データ生成部70の機能が実現される。なお、データ生成部70は、後述の第2実施例で利用される。
プログラム記憶領域64には、PDLデータ90をプリンタ10に送信するためのアプリケーション(例えばプリンタ10のプリンタドライバ;図示省略)が格納されている。本実施例のPDLデータ90は、XPSデータである。ユーザによって印刷することが指示されると、印刷が指示されたデータ(例えば文書データ)がPDLデータ90に変換され、PDLデータ90がワークメモリ80内に格納される。PC50のPDLデータ取得部66は、ワークメモリ80に格納されたPDLデータ90を取得する。制御部60は、PDLデータ90をプリンタ10に送信する。これにより、プリンタ10のPDLデータ取得部26は、PDLデータ90を取得する。
(PDLデータ90の構成)
図2は、PC50によって生成されるPDLデータ90(XPSデータ)の一例を示す。PDLデータ90は、複数個の圧縮パート100〜180を含む。各圧縮パート100〜180のかっこ内の文字列(例えば「image1」)は、各圧縮パート100〜180に対応づけられているファイル名(以下では「圧縮パートのファイル名」と簡単に呼ぶ)を示す。なお、実際には、ファイル名は拡張子を含んでいるが、図2では、拡張子を省略している。
複数個の圧縮パート100〜180は、圧縮リソースパートと、圧縮ページパート(FixedPage)と、圧縮ディスカードパート(DiscardControl)と、に分類される。なお、実際には、XPS形式のPDLデータは、さらに、他の種類のパート(例えばFixedDocument)に分類することができるが、本実施例では、他の種類のパートについての説明を省略する。
圧縮リソースパートは、描画データを生成するためのリソース(イメージ、フォント等)のデータが圧縮されたものである。圧縮リソースパートは、圧縮イメージパート100,140,170と、圧縮フォントパート110と、に分類される。なお、実際には、圧縮リソースパートは、さらに、他の種類のリソースパート(例えばICCProfile)に分類することができるが、本実施例では、他の種類のリソースパートについての説明を省略する。
圧縮ページパートは、1in1に従って1ページ分の描画データを生成するための様々なデータが圧縮されたものである。ユーザによって印刷することが指示されたデータのうちの1ページ分のデータから1個の圧縮ページパートが生成される。例えば、ユーザによって印刷することが指示されたデータが10ページ分のデータである場合、10個の圧縮ページパートを含むPDLデータ90が生成される。各圧縮ページパート120,150,180のファイル名(例えば「1.fpage」)は、1in1の場合に、当該圧縮ページパートを用いて生成される描画データのページ番号を示す。例えば、圧縮ページパート120のファイル名は、「1.fpage」である。これは、1in1の場合に、圧縮ページパート120を用いて、1ページ目の描画データが生成されることを示す。各圧縮ページパート120,150,180は、圧縮リソースパートのファイル名を指定する指定情報122,124,152,154,182を含む。例えば、1ページ目の圧縮ページパート120は、圧縮イメージパート100のファイル名「image1」を指定する指定情報122を含む。これは、1in1の場合に、圧縮イメージパート100(実際には圧縮イメージパート100から生成される解凍済みイメージパート108)に対応するイメージが、1ページ目の描画データ内に配置されることを示す。なお、圧縮イメージパート100に対応するイメージの描画データ内での位置を指定する情報(図示省略)は、1ページ目の圧縮ページパート120に含まれる。また、例えば、1ページ目の圧縮ページパート120は、さらに、圧縮フォントパート110のファイル名「font1」を指定する指定情報124を含む。これは、1in1の場合に、圧縮フォントパート110(実際には圧縮フォントパート110から生成される解凍済みフォントパート118)に対応するフォントに従って記述されるテキストが、1ページ目の描画データ内に配置されることを示す。なお、圧縮フォントパート110に対応するフォントに従って記述されるテキストと、そのテキストの描画データ内での位置と、を指定する情報(図示省略)は、1ページ目の圧縮ページパート120に含まれる。
圧縮ディスカードパートは、圧縮リソースパートと、その圧縮リソースパートから生成された解凍済みリソースパートと、を削除することを指示するデータが圧縮されたものである。各圧縮ディスカードパート130,160は、ページ情報132,162と、データ情報134,164と、を含む。ページ情報132,162は、ページ番号(例えば「2.fpage」)を示す。また、データ情報134,164は、圧縮リソースパートのファイル名(例えば「image1」)を含む。1in1の場合には、プリンタ10は、圧縮ディスカードパート130を用いることによって、以下の処理を実行することができる。即ち、プリンタ10は、ページ情報132が示すページ番号(2.fpage)に対応するページの1ページ前の描画データ(1ページ目の描画データ)の生成が終了した後であって、そのページ番号(2.fpage)に対応するページの描画データ(2ページ目の描画データ)の生成が開始される前に、ページ情報132(2.fpage)が対応づけられたデータ情報134が示すファイル名(image1)を有する圧縮イメージパート100及び解凍済みイメージパート108を削除する。
(1in1の描画データ生成処理)
続いて、上記のPDLデータ90を用いて描画データを生成する処理の概要について説明する。まず、図2及び図3を参照して、1in1の描画データ生成処理について説明する。ユーザは、PC50の操作部54を用いて、印刷対象のデータ(文書データ等)を指定し、そのデータの印刷を実行するための操作を実行することができる。これにより、PC50の制御部60は、所定の順序に従って複数個の圧縮パート100等を順に記述することによって、PDLデータ90を生成する。本実施例では、図2の上から下の順に、複数個の圧縮パート100等が記述される。ユーザは、印刷対象のデータに含まれる1ページ分のデータを1ページの印刷媒体に印刷することを選択することができる。この場合、PC50の制御部60は、1in1を示す印刷情報94(図1参照)を含む印刷指示92をプリンタ10に送信する。この結果、プリンタ10の制御部20は、1in1の描画データ生成処理を実行する。なお、本実施例では、1in1を示す印刷情報94が印刷指示92に含まれるが、印刷情報94がPDLデータ90に含まれるようにしてもよい。プリンタ10の制御部20は、PC50から送信される印刷指示92を受信すると、まず、ワークメモリ40にページメモリ(図示省略)を確保する。ページメモリは、1ページ分の描画データを記憶するための容量を有する。
PC50の制御部60は、PDLデータ90をプリンタ10に送信する。PC50から送信されるPDLデータ90は、プリンタ10のネットワークインターフェイス16が備える図示省略の受信バッファに格納される。プリンタ10のPDLデータ取得部26は、受信バッファからPDLデータ90の圧縮パート100等を順次取得して、圧縮パート100等をワークメモリ40に順次記憶させる。
プリンタ10の描画データ生成部30は、まず、1ページ目の圧縮ページパート120(1.fpage)を解凍することによって、解凍済みページパート128をワークメモリ40内に生成する。なお、図2に示される「1」〜「9」の数字は、圧縮パートが解凍される順序を示す。次いで、描画データ生成部30は、解凍済みページパート128から指定情報122,124(図2参照)を読み込む。描画データ生成部30は、指定情報122(image1)によって指定される圧縮イメージパート100を解凍することによって、解凍済みイメージパート108をワークメモリ40内に生成する。さらに、描画データ生成部30は、指定情報124(font1)によって指定される圧縮フォントパート110を解凍することによって、解凍済みフォントパート118をワークメモリ40内に生成する。
続いて、描画データ生成部30は、1ページ目の解凍済みページパート128と、解凍済みイメージパート108と、解凍済みフォントパート118と、を用いて、1ページ目の描画データ210(図3参照)をページメモリに生成する。具体的に言うと、描画データ生成部30は、解凍済みページパート128において指定されているイメージの位置に対応するページメモリ内の位置に、解凍済みイメージパート108を書き込む。さらに、描画データ生成部30は、解凍済みページパート128において指定されているテキストであって、解凍済みフォントパート118に従って記述されたテキスト(図3の「ABC」)を生成する。次いで、描画データ生成部30は、解凍済みページパート128において指定されているテキストの位置に対応するページメモリ内の位置に、上記のテキストを書き込む。これにより、1ページ目の描画データ210が完成する。なお、図3の「M」で表わされている数字は、描画データのページ番号を示す。
続いて、削除部32は、圧縮ディスカードパート130(discard1)を解凍することによって、解凍済みディスカードパート138をワークメモリ40内に生成する。次いで、削除部32は、解凍済みディスカードパート138からページ情報132とデータ情報134とを読み込む。図2に示されるように、ページ情報132が「2.fpage」を示し、データ情報134が「image1」を示す。これは、1ページ目の描画データ210(図3参照)の生成が終了した後であって、2ページ目の描画データ212の生成が開始される前に、ファイル名「image1」の圧縮イメージパート100と、その圧縮イメージパート100から生成された解凍済みイメージパート108と、を削除可能であることを示す。削除部32は、図3のタイミングT1において、圧縮イメージパート100と解凍済みイメージパート108とをワークメモリ40から削除する。これにより、ワークメモリ40が解放される。
続いて、制御部20は、1ページ目の描画データ210を印刷実行部18(図1参照)に供給する。この結果、印刷実行部18は、1ページ目の描画データ210に従って、1枚の印刷媒体に印刷する。制御部20は、1ページ目の描画データ210を印刷実行部18に供給し終えると、ページメモリに書き込まれている描画データ210をクリアする。なお、2ページ目以降のページの描画データが完成した際にも、制御部20は、描画データを印刷実行部18に供給する。以下では、この供給処理についての記載を省略する。なお、上記の説明から明らかなように、本実施例のタイミングT1は、1ページ目の描画データ210の生成が終了した後であって、1ページ目の描画データ210が印刷される前のタイミングである。
続いて、描画データ生成部30は、2ページ目の圧縮ページパート150(2.fpage)を解凍することによって、解凍済みページパート158をワークメモリ40内に生成する。次いで、描画データ生成部30は、解凍済みページパート158に含まれる指定情報152(image2)によって指定される圧縮イメージパート140を解凍することによって、解凍済みイメージパート148をワークメモリ40内に生成する。なお、ここでは、描画データ生成部30は、指定情報154によって指定される圧縮フォントパート110(font1)を解凍しない。圧縮フォントパート110は、1ページ目の描画データ210が生成される際に、既に解凍されているからである。続いて、描画データ生成部30は、解凍済みページパート158において指定されているイメージの位置に対応するページメモリ内の位置に、解凍済みイメージパート148を書き込む。さらに、描画データ生成部30は、解凍済みページパート158において指定されているテキストであって、解凍済みフォントパート118に従って記述されたテキスト(図3の「DEF」)を生成する。次いで、描画データ生成部30は、解凍済みページパート158において指定されているテキストの位置に対応するページメモリ内の位置に、上記のテキストを書き込む。これにより、2ページ目の描画データ212が完成する。
削除部32は、圧縮ディスカードパート160(discard2)を解凍することによって、解凍済みディスカードパート168をワークメモリ40内に生成する。図2に示されるように、解凍済みディスカードパート168では、ページ情報162が「3.fpage」を示し、データ情報164が「font1」を示す。これは、2ページ目の描画データ212の生成が終了した後であって、3ページ目の描画データ214の生成が開始される前に、ファイル名「font1」の圧縮フォントパート110と、その圧縮フォントパート110から生成された解凍済みフォントパート118と、を削除可能であることを示す。削除部32は、図3のタイミングT2において、圧縮フォントパート110と解凍済みフォントパート118とをワークメモリ40から削除する。
続いて、描画データ生成部30は、3ページ目の圧縮ページパート180(3.fpage)を解凍することによって、解凍済みページパート188をワークメモリ40内に生成する。次いで、描画データ生成部30は、解凍済みページパート188に含まれる指定情報182(image3)によって指定される圧縮イメージパート170を解凍することによって、解凍済みイメージパート178をワークメモリ40内に生成する。描画データ生成部30は、解凍済みページパート188において指定されているテキストの位置に対応するページメモリ内の位置に、解凍済みイメージパート178を書き込む。これにより、3ページ目の描画データ214が完成する。
(2in1の描画データ生成処理)
続いて、図4を参照して、2in1の描画データ生成処理について説明する。ユーザは、PC50の操作部54を用いて、印刷対象のデータに含まれる2ページ分のデータを1ページの印刷媒体に印刷することを選択することができる。この場合、PC50の制御部60は、2in1を示す印刷情報94(図1参照)を含む印刷指示92をプリンタ10に送信する。この結果、プリンタ10の制御部20は、2in1の描画データ生成処理を実行する。
描画データ生成部30は、1in1の描画データ生成処理の場合と同様に、図2に示される「1」〜「3」の順序に従って、各圧縮パート120,100,110を順に解凍する。上述したように、解凍済みページパート128では、イメージ(image1)の位置と、テキスト(ABC)の位置と、が指定されている。これらの位置は、1in1の場合の位置である。描画データ生成部30は、これらの1in1の場合の位置を、2in1の場合の位置に変換する。図3と図4とを比べると明らかなように、2in1の場合の1ページ分の描画データ220は、1in1の場合の2ページ分の描画データ210,212に対応するデータを含む。このような描画データ220が生成されるように、描画データ生成部30は、解凍済みページパート128において指定されているイメージの位置とテキストの位置とを、それぞれ、2in1の場合の位置に変換する。このような位置変換処理は公知であるために、ここでは詳しい説明を省略する。描画データ生成部30は、変換後のイメージの位置に対応するページメモリ内の位置に、解凍済みイメージパート108(image1)を書き込む。さらに、描画データ生成部30は、変換後のテキストの位置に対応するページメモリ内の位置に、解凍済みフォントパート118(font1)に従って記述されたテキスト(ABC)を書き込む。これにより、1ページ目の描画データ220のうち、図4の上半分の描画データ220aが完成する。
続いて、削除部32は、圧縮ディスカードパート130(discard1)から生成される解凍済みディスカードパート138に従って、圧縮イメージパート100と解凍済みイメージパート108とをワークメモリ40から削除する。これにより、1ページ目の描画データ220のうちの上半分の描画データ220aの生成が終了した後であって、下半分の描画データ220bの生成が開始される前に、即ち、タイミングT3において、リソースパート100,108が削除される。
続いて、描画データ生成部30は、図2に示される「5」〜「6」の順序に従って、各圧縮パート150,140を順に解凍する。次いで、描画データ生成部30は、解凍済みページパート158(2.fpage)において指定されているイメージ(image2)の位置とテキスト(DEF)の位置とを、それぞれ、2in1の場合の位置に変換する。描画データ生成部30は、変換後のイメージの位置に対応するページメモリ内の位置に、解凍済みイメージパート148(image2)を書き込む。さらに、描画データ生成部30は、変換後のテキストの位置に対応するページメモリ内の位置に、解凍済みフォントパート118(font1)に従って記述されたテキスト(DEF)を書き込む。これにより、1ページ目の描画データ220のうち、図4の下半分の描画データ220bが完成する。即ち、1ページ目の描画データ220が完成する。
続いて、削除部32は、圧縮ディスカードパート160(discard2)から生成される解凍済みディスカードパート168に従って、圧縮フォントパート110と解凍済みフォントパート118とをワークメモリ40から削除する。これにより、1ページ目の描画データ220の生成が終了した後であって、2ページ目の描画データ222の生成が開始される前に、即ち、タイミングT4において、リソースパート110,118が削除される。続いて、制御部20は、1ページ目の描画データ220を印刷実行部18に供給する。これにより、印刷実行部18は、1ページ目の描画データ220に従って、1ページ目の印刷媒体に印刷を実行する。なお、以下では、1ページ分の描画データが完成した場合に、その描画データを印刷実行部18に供給することについて、説明を省略する。
続いて、描画データ生成部30は、図2に示される「8」〜「9」の順序に従って、各圧縮パート180,170を順に解凍する。次いで、描画データ生成部30は、解凍済みページパート188(3.fpage)において指定されているイメージ(image3)の位置を、2in1の場合の位置に変換する。描画データ生成部30は、変換後のイメージの位置に対応するページメモリ内の位置に、解凍済みイメージパート178(image3)を書き込む。これにより、2ページ目の描画データ222のうち、図4の上半分の描画データ222aが完成する。続きの圧縮ページパート(4.fpage)がPDLデータ90内に存在する場合には、同様の手法によって、2ページ目の描画データ220のうち、図4の下半分の描画データが生成される。また、続きの圧縮ページパートがPDLデータ90内に存在しない場合には、上半分の描画データ222aが生成された時点で、2ページ目の描画データ222が完成する。
仮に、圧縮ディスカードパート130,160(解凍済みディスカードパート138,168)に含まれるページ情報132,162が、実際に生成された描画データ220,222のページ番号「M」に対応するものとして処理が実行されると、以下の事象が発生する。即ち、1ページ目の描画データ220の生成が終了した後であって、2ページ目の描画データ222の生成が開始される前に(即ちタイミングT4において)、圧縮イメージパート100及び解凍済みイメージパート108(image1)が削除される。この場合、タイミングT3以降に不要なリソースパート100,108(image1)が、タイミングT3より遅いタイミングT4で削除される。また、2ページ目の描画データ222の生成が終了した後であって、3ページ目の描画データの生成が開始される前に、圧縮フォントパート110及び解凍済みフォントパート118(font1)が削除される。この場合、タイミングT4以降に不要なリソースパート110,118(font1)が、タイミングT4より遅いタイミングで削除される。即ち、不要なリソースパートを削除するタイミングが遅れてしまい、ワークメモリ40を迅速に解放することができない。これに対し、本実施例の削除部32は、実際に生成された描画データ220,222のページ番号「M」に関わらず、圧縮ディスカードパート130,160に含まれるページ情報132,162が、描画データ220a,220b,222aを生成するのに実際に利用された圧縮ページパート120,150,180のファイル名が示すページ番号に対応するものとして処理を実行する。この結果、圧縮ディスカードパート130が示す適切なタイミングT3で「image1」のリソースパート100,108を削除することができ、圧縮ディスカードパート160が示す適切なタイミングT4で「font1」のリソースパート110,118を削除することができる。このために、ワークメモリ40を迅速に解放することができる。
(1in2の描画データ生成処理)
続いて、図5を参照して、1in2の描画データ生成処理について説明する。ユーザは、PC50の操作部54を用いて、印刷対象のデータに含まれる1ページ分のデータを2ページの印刷媒体に印刷することを選択することができる。この場合、PC50の制御部60は、1in2を示す印刷情報94(図1参照)を含む印刷指示92をプリンタ10に送信する。この結果、プリンタ10の制御部20は、1in2の描画データ生成処理を実行する。
描画データ生成部30は、図2に示される「1」〜「3」の順序に従って、各圧縮パート120,100,110を順に解凍する。図3と図5とを比べると明らかなように、1in2の場合の2ページ分の描画データ230,232は、1in1の場合の1ページ分の描画データ210に対応するデータを含む。このような描画データが生成されるように、描画データ生成部30は、解凍済みページパート128(1.fpage)において指定されているイメージ(image1)の位置とテキスト(ABC)の位置とを、それぞれ、1in2の場合の1ページ目の描画データ230内での位置に変換する。描画データ生成部30は、変換後のイメージの位置に対応するページメモリ内の位置に、解凍済みイメージパート108(image1)を書き込む。なお、描画データ生成部30は、解凍済みイメージパート108の一部のみをページメモリに書き込む。さらに、描画データ生成部30は、変換後のテキストの位置に対応するページメモリ内の位置に、解凍済みフォントパート118に従って記述されたテキスト(ABC)を書き込む。これにより、1ページ目の描画データ230が完成する。1ページ目の描画データ230の生成が終了したタイミングT5では、リソースパートが削除されない。
次いで、描画データ生成部30は、解凍済みページパート128(1.fpage)において指定されているイメージ(image1)の位置を、1in2の場合の2ページ目の描画データ232内での位置に変換する。描画データ生成部30は、変換後のイメージの位置に対応するページメモリ内の位置に、解凍済みイメージパート108(image1)を書き込む。なお、描画データ生成部30は、解凍済みイメージパート108の残りの部分(1ページ目の描画データ230を生成するのに利用されなかった部分)のみをページメモリに書き込む。これにより、2ページ目の描画データ232が完成する。
続いて、削除部32は、圧縮ディスカードパート130(discard1)から生成される解凍済みディスカードパート138に従って、圧縮イメージパート100と解凍済みイメージパート108(image1)とをワークメモリ40から削除する。これにより、2ページ目の描画データ232の生成が終了した後であって、3ページ目の描画データ234の生成が開始される前に、即ち、タイミングT6において、リソースパート100,108が削除される。
1ページ目及び2ページ目の描画データ230,232を生成する場合と同様に、描画データ生成部30は、解凍済みページパート158(2.fpage)と解凍済みフォントパート118(font1)と解凍済みイメージパート148(image2)とを用いて、3ページ目及び4ページ目の描画データ236,238を順に生成する。3ページ目の描画データ234の生成が終了したタイミングT7では、リソースパートが削除されない。続いて、削除部32は、圧縮ディスカードパート160(discard2)から生成される解凍済みディスカードパート168に従って、圧縮フォントパート110と解凍済みフォントパート118(font1)とをワークメモリ40から削除する。これにより、4ページ目の描画データ236の生成が終了した後であって、5ページ目の描画データ238の生成が開始される前に、即ち、タイミングT8において、リソースパート110,118が削除される。
次いで、描画データ生成部30は、解凍済みページパート188(3.fpage)と解凍済みイメージパート178(image3)とを用いて、5ページ目及び6ページ目の描画データ238,240を順に生成する。なお、5ページ目の描画データ238の生成が終了したタイミングT9では、リソースパートが削除されない。
仮に、圧縮ディスカードパート130,160(解凍済みディスカードパート138,168)に含まれるページ情報132,162が、実際に生成された描画データ230〜240のページ番号「M」に対応するものとして処理が実行されると、以下の事象が発生する。即ち、1ページ目の描画データ230の生成が終了した後であって、2ページ目の描画データ232の生成が開始される前に(即ちタイミングT5において)、リソースパート100,108(image1)が削除される。この場合、2ページ目の描画データ232を生成するために必要な「image1」のリソースパート100,108が、2ページ目の描画データ232の生成が開始される前に削除される。また、2ページ目の描画データ232の生成が終了した後であって、3ページ目の描画データ234の生成が開始される前に、リソースパート110,118(font1)が削除される。この場合、3ページ目の描画データ234(具体的にはテキスト「DEF」)を生成するために必要な「font1」のリソースパート110,118が、3ページ目の描画データ234の生成が開始される前に削除される。即ち、以降の描画データを生成するのに必要なリソースパートデータが削除されてしまう。これに対し、本実施例の削除部32は、実際に生成された描画データ230〜240のページ番号「M」に関わらず、圧縮ディスカードパート130,160に含まれるページ情報132,162が、描画データ230〜240を生成するのに実際に利用されたページパート120,150,180のファイル名が示すページ番号に対応するものとして処理を実行する。この結果、圧縮ディスカードパート130が示す適切なタイミングT6で「image1」のリソースパート100,108を削除することができ、圧縮ディスカードパート160が示す適切なタイミングT8で「font1」のリソースパート110,118を削除することができる。
(1in1処理)
続いて、制御部20が実行する処理の内容について、詳しく説明する。図6は、制御部20が実行する1in1処理のフローチャートを示す。制御部20は、1in1を示す印刷情報94を含む印刷指示92をPC50から受信すると、1in1処理を実行する。なお、図3を用いて説明した1in1の描画データ生成処理は、制御部20が図6のフローチャートに従って処理を実行することによって実現される。なお、図6〜図8のフローチャートでは、PDLデータ取得部26がPDLデータ90をPC50から取得する処理を図示省略している。
描画データ生成部30は、まず、元ページ番号として「1」を特定する(S10)。次いで、描画データ生成部30は、現在の元ページ番号の描画処理を実行する(S12)。具体的に言うと、描画データ生成部30は、現在の元ページ番号(例えば「1」)に対応するページ番号(例えば「1.fpage」)をファイル名として有する圧縮ページパート(例えば図2の120))を解凍することによって、特定の解凍済みページパート(例えば図2の128)を生成する。次いで、描画データ生成部30は、上記の特定の解凍済みページパート(例えば図2の128)から指定情報(例えば図2の122,124)を取得し、その指定情報によって指定される圧縮リソースパート(例えば図2の100,110)を解凍することによって、特定の解凍済みリソースパート(例えば図2の108,118)を生成する。描画データ生成部30は、上記の特定の解凍済みページパート(例えば図2の128)と、上記の特定の解凍済みリソースパート(例えば図2の108,118)と、を用いて、1ページ分の描画データ(例えば図3の210)を生成する。
次いで、削除部32は、現在の元ページ番号+1の削除処理を実行する(S14)。具体的に言うと、削除部32は、現在の元ページ番号に「1」を加算することによって、特定のページ番号(例えば「2」)を算出する。次いで、削除部32は、上記の特定のページ番号(例えば「2」)に対応するページ番号(例えば「2.fpage」)をファイル名として有する圧縮ページパート(例えば図2の150)よりも前(図2の上方)に存在する全ての圧縮ディスカードパート(例えば図2の130)を特定する。次いで、削除部32は、特定された全ての圧縮ディスカードパートのうち、未解凍の圧縮ディスカードパートを解凍する。次いで、削除部32は、ワークメモリ40に現在格納されている全ての解凍済みディスカードパート(例えば図2の138)の中から、上記の特定のページ番号(例えば「2」)に対応するページ番号(例えば「2.fpage」)を示すページ情報(例えば図2の132)を含む特定の解凍済みディスカードパート(例えば図2の138)を特定する。次いで、削除部32は、上記の特定の解凍済みディスカードパート(例えば図2の138)に含まれるデータ情報(例えば図2の134)が示す圧縮リソースパート(例えば図2の100)と、その圧縮リソースパートから生成された解凍済みリソースパート(例えば図2の108)と、をワークメモリ40から削除する。
続いて、制御部20は、S12で生成された1ページ分の描画データ(例えば図3の210)を印刷実行部18に供給する(S16)。これにより、印刷実行部18は、1ページ分の描画データに従って、1ページの印刷媒体に印刷する。次いで、制御部20は、現在の元ページ番号(例えば「1」)に「1」を加算することによって、新たな元ページ番号(例えば「2」)を算出する(S18)。続いて、制御部20は、現在の元ページ番号(S18で算出された新たな元ページ番号)に対応するページ番号をファイル名として有する圧縮ページパートが、PDLデータ90に存在するのか否かを判断する(S20)。S20でNOの場合、1in1処理が終了する。S20でYESの場合、制御部20は、SS12以降の処理を再び実行する。
(Nin1処理)
図7は、Nin1処理のフローチャートを示す。なお、「N」は、2以上の整数である。即ち、図7は、N個の圧縮ページパートを用いて1ページ分の描画データを生成する処理のフローチャートを示す。制御部20は、Nin1を示す印刷情報94を含む印刷指示92をPC50から受信すると、Nin1処理を実行する。なお、図4を用いて説明した2in1の場合の描画データ生成処理は、制御部20が図7のフローチャートに従って処理を実行することによって実現される。
制御部20は、まず、元ページ番号として「1」を特定し(S30)、ドキュメント番号として「1」を特定する(S32)。次いで、描画データ生成部30は、位置算出処理を実行する(S34)。具体的に言うと、描画データ生成部30は、現在の元ページ番号に対応するページ番号をファイル名として有する圧縮ページパートを解凍することによって、特定の解凍済みページパートを生成する。次いで、描画データ生成部30は、上記の特定の解凍済みページパートにおいて指定されている1in1の場合のリソース(イメージ、テキスト等)の位置を、Nin1の場合の位置に変換する。
次いで、描画データ生成部30は、図6のS12の処理と同様に、現在の元ページ番号の描画処理を実行する(S36)。なお、上述したように、S34において、現在の元ページ番号に対応するページ番号をファイル名として有する圧縮ページパートが解凍されている。従って、S36の処理では、図6のS12の処理と異なり、圧縮ページパートの解凍処理は行なわれない。また、S36の処理では、S34で得られた変換後の位置に従って、リソース(イメージ、テキスト)が配置される。S36の処理が実行されることによって、例えば図4に示されるように、1ページ分の描画データ(例えば220)のうち、一部の描画データ(例えば220a)が生成される。次いで、削除部32は、図6のS14の処理と同様に、現在の元ページ番号+1の削除処理を実行する(S38)。
次いで、制御部20は、現在のドキュメント番号が「N」であるのか否かを判断する(S40)。ここでNOの場合、制御部20は、現在のドキュメント番号(例えば「1」)に「1」を加算することによって、新たなドキュメント番号(例えば「2」)を算出する(S42)。さらに、制御部20は、現在の元ページ番号(例えば「1」)に「1」を加算することによって、新たな元ページ番号(例えば「2」)を算出する(S44)。続いて、制御部20は、図6のS20の処理と同様に、現在の元ページ番号(S44で算出された新たな元ページ番号)に対応するページ番号をファイル名として有する圧縮ページパートが、PDLデータ90に存在するのか否かを判断する(S46)。ここでYESの場合、制御部20は、S34以降の処理を再び実行する。上記の説明から明らかなように、N個の圧縮ページパートを用いて1ページ分の描画データが生成されるまで、S34以降の処理が繰り返し実行される。
一方において、S40でYESの場合、制御部20は、図6のS16の処理と同様に、描画データの印刷処理を実行する(S48)。次いで、制御部20は、ドキュメント番号として「1」を特定する(S50)。S50を終えると、S44に進む。
S46でNOの場合、制御部20は、現在のドキュメント番号が「1」であるのか否かを判断する(S52)。例えば、「N」が2であり、PDLデータ90の中に奇数個の圧縮ページパートが含まれる場合には、S36で生成される最後のページの描画データは、2個の圧縮ページデータを用いて生成されず、1個の圧縮ページデータを用いて生成される。この場合、S40が実行される時点では、ドキュメント番号は「1」であり、S40でNOと判断される。従って、S48の印刷処理が実行されない。このような状況において、最後のページの描画データを印刷するために、S52でNOの場合に、制御部20は、最後のページの描画データの印刷処理を実行する(S54)。S52でYESの場合、又は、S54を終えた場合、Nin1処理が終了する。
(1inN処理)
図8は、1inN処理のフローチャートを示す。即ち、図8は、1個の圧縮ページパートを用いてNページ分の描画データを生成する処理のフローチャートを示す。制御部20は、1inNを示す印刷情報94を含む印刷指示92をPC50から受信すると、1inN処理を実行する。なお、図5を用いて説明した1in2の場合の描画データ生成処理は、制御部20が図8のフローチャートに従って処理を実行することによって実現される。
制御部20は、まず、元ページ番号として「1」を特定し(S70)、処理数として「0」を特定する(S72)。次いで、描画データ生成部30は、位置算出処理を実行する(S74)。即ち、図7のS34の場合と同様に、描画データ生成部30は、上記の特定の解凍済みページパートを生成し、その特定の解凍済みページパートにおいて指定されている1in1の場合のリソース(イメージ、テキスト等)の位置を、1inNの場合の位置に変換する。次いで、描画データ生成部30は、図7のS36の処理と同様に、現在の元ページ番号の描画処理を実行する(S76)。S76の処理が実行されることによって、例えば図5に示されるように、1ページ分の描画データ(例えば230)が生成される。
次いで、制御部20は、現在の処理数(例えば「0」)に「1」を加算することによって、新たな処理数(例えば「1」)を算出する(S78)。続いて、制御部20は、現在の処理数(S78で算出された新たな処理数)が「N」であるのか否かを判断する(S80)。ここでNOの場合、制御部20は、図6のS16の処理と同様に、描画データの印刷処理を実行し(S90)、S74に戻る。
一方において、S80でYESの場合、制御部20は、現在の元ページ番号(例えば「1」)に「1」を加算することによって、新たな元ページ番号(例えば「2」)を算出する(S82)。次いで、削除部32は、現在の元ページ番号(S82で算出された新たな元ページ番号)の削除処理を実行する(S84)。なお、図6のS14及び図7のS38の削除処理では、現在の元ページ番号+1が用いられるが、S84の削除処理では、現在の元ページ番号が用いられる。この点を除けば、S84の削除処理は、図6のS14及び図7のS38の削除処理と同様である。次いで、描画データ生成部30は、図6のS16の処理と同様に、描画データの印刷処理を実行する(S86)。続いて、制御部20は、図6のS20の処理と同様に、現在の元ページ番号(S82で算出された新たな元ページ番号)に対応するページ番号をファイル名として有する圧縮ページパートが、PDLデータ90に存在するのか否かを判断する(S88)。S88でYESの場合、S72に戻り、S88でNOの場合、1inN処理が終了する。
上記の第1実施例の各構成と本発明の各要素との対応関係を記載しておく。図4の2in1の場合において、描画データ220a、描画データ220bが、それぞれ、「第1の描画データ」、「第2の描画データ」に対応する(第1の対応関係)。また、図5の1in2の場合において、描画データ232、描画データ234が、それぞれ、「第1の描画データ」、「第2の描画データ」に対応する(第2の対応関係)。第1及び第2の対応関係では、圧縮ページパート120が「第1のページパートデータ」の一例であり、圧縮ページパート150が「第2のページパートデータ」の一例であり、圧縮ディスカードパート130が「第1の削除パートデータ」の一例であり、圧縮イメージパート100が「第1のリソースパートデータ」の一例である。なお、図4の2in1の場合において、さらに、描画データ220b、描画データ222aが、それぞれ、「第1の描画データ」、「第2の描画データ」に対応すると考えることもできる。また、図5の1in2の場合において、さらに、描画データ236、描画データ238が、それぞれ、「第1の描画データ」、「第2の描画データ」に対応すると考えることもできる。
また、図3の1in1の場合において、描画データ210、描画データ212が、それぞれ、「第3の描画データ」、「第4の描画データ」に対応する。この場合、圧縮ページパート120が「第3のページパートデータ」の一例であり、圧縮ページパート150が「第4のページパートデータ」の一例であり、圧縮ディスカードパート130が「第2の削除パートデータ」の一例であり、圧縮イメージパート100が「第2のリソースパートデータ」の一例である。なお、図3の1in1の場合において、さらに、描画データ212、描画データ214が、それぞれ、「第3の描画データ」、「第4の描画データ」に対応すると考えることもできる。
(第2実施例)
続いて、第2実施例について説明する。上述したように、PC50のPDLデータ取得部66は、ユーザによって印刷することが指示されたデータから生成されたPDLデータ90をワークメモリ80から取得する。本実施例では、さらに、プログラム記憶領域64に記憶されたアプリケーションによってデータ生成部70(図1参照)が実現されており、そのデータ生成部70は、PDLデータ90から新たなPDLデータを生成する。データ生成部70が実行する処理の内容を以下に詳しく説明する。
(2in1が指示された場合の新たなPDLデータ生成処理)
データ生成部70は、2in1に従って印刷することがユーザによって指示された場合に、以下の処理を実行する。図9は、PDLデータ90と、PDLデータ90から生成される新たなPDLデータ300と、を示す。PDLデータ90に含まれる各圧縮パート100〜180は、図2に示される各圧縮パート100〜180と同様である。図9のPDLデータ90は、さらに、圧縮ページパート190と、圧縮ディスカードパート200と、を含む。圧縮ページパート190(4.fpage)は、4ページ目を示すファイル名を有しているとともに、圧縮イメージパート140(image2)を指定する指定情報192を含む。圧縮ディスカードパート200(discard3)は、5ページ目を示すページ情報202(5.fpage)と、圧縮イメージパート140(image2)を示すデータ情報204と、を含む。
データ生成部70は、まず、各圧縮パート100等のファイル名を読み込む。次いで、データ生成部70は、各圧縮パート100等のファイル名に基づいて、PDLデータ90に含まれる全ての圧縮リソースパート100,110,140,170を特定する。圧縮リソースパート100等は、「iamge」、「font」等の文字列を含むファイル名を有している。データ生成部70は、これらの文字列を含むファイル名を有する圧縮パートを抽出することによって、圧縮リソースパート100等を特定する。データ生成部70は、特定された圧縮リソースパート100等に変更を加えない。従って、新たなPDLデータ300は、元のPDLデータ90に含まれる圧縮リソースパート100等を含む。
次いで、データ生成部70は、各圧縮パート100等のファイル名に基づいて、PDLデータ90に含まれる全ての圧縮ページパート120,150,180,190を特定する。圧縮ページパート120等は、「fpage」という文字列を含むファイル名を有している。データ生成部70は、この文字列を含むファイル名を有する圧縮パートを抽出することによって、圧縮ページパート120等を特定する。
続いて、データ生成部70は、元の1ページ目及び2ページ目の圧縮ページパート120,150(1.fpage、2.fpage)を解凍することによって、1ページ目及び2ページ目の解凍済みページパートを生成する。次いで、データ生成部70は、1ページ目及び2ページ目の解凍済みページパートを読み込むことによって、指定情報122,124,152,154を特定する。データ生成部70は、各指定情報122,124,152,154を含む特定の解凍済みページパートを生成する。データ生成部70は、上記の特定の解凍済みページパートに「1.fpage」というファイル名を付与する。
なお、データ生成部70は、1ページ目の解凍済みページパートから、1in1の場合のイメージ(image1)の位置である第1の位置と、1in1の場合のテキスト(図3の「ABC」)の位置である第2の位置と、を特定する。さらに、データ生成部70は、2ページ目の解凍済みページパートから、1in1の場合のイメージ(image2)の位置である第3の位置と、1in1の場合のテキスト(図3の「DEF」)の位置である第4の位置と、を特定する。データ生成部70は、第1の位置から第4の位置を、それぞれ、2in1の場合の位置に変換する。データ生成部70は、変換後のリソース(イメージ及びテキスト)の位置を含む上記の特定の解凍済みページパートを生成する。データ生成部70は、上記の特定の解凍済みページパートを圧縮することによって、新たな1ページ目の圧縮ページパート320を生成する。図9に示されるように、新たな1ページ目の圧縮ページパート320は、ファイル名「1.fpage」を有しており、元の1ページ目及び2ページ目の圧縮ページパート120,150に含まれる各指定情報122,124,152,154を含む。
次いで、データ生成部70は、新たな1ページ目の圧縮ページパート320を生成する場合と同様に、元の3ページ目及び4ページの圧縮ページパート180,190から、2ページ目の新たな圧縮ページパート380を生成する。新たな2ページ目の圧縮ページパート380は、ファイル名「2.fpage」を有しており、元の3ページ目及び4ページ目の圧縮ページパート180,190に含まれる各指定情報182,192を含む。上記の説明から明らかなように、データ生成部70は、連続する2ページ分(2個)の圧縮ページパート(例えば120,150)から、1ページ分(1個)の新たな圧縮ページパート(例えば320)を生成する。
次いで、データ生成部70は、各圧縮パート100等のファイル名に基づいて、PDLデータ90に含まれる全ての圧縮ディスカードパート130,160,200を特定する。圧縮ディスカードパート130等は、「discard」という文字列を含むファイル名を有している。データ生成部70は、この文字列を含むファイル名を有する圧縮パートを抽出することによって、圧縮ディスカードパート130等を特定する。
続いて、データ生成部70は、圧縮ディスカードパート130(discard1)を解凍することによって、1個目の解凍済みディスカードパートを生成する。次いで、データ生成部70は、上記の1個目の解凍済みディスカードパートに含まれるページ情報132(2.fpage)とデータ情報134(image1)とを特定する。以下では、ここで特定されるデータ情報134のことを「第1のデータ情報134」と呼ぶ。続いて、データ生成部70は、生成済みの全ての新たな圧縮ページパート320,380のうち、上記の第1のデータ情報134が示すファイル名「image1」を含む圧縮ページパートであって、最も大きいページ番号に対応するファイル名を有する圧縮ページパート(以下では「最大の圧縮ページパート」と呼ぶ)を特定する。本実施例では、1ページ目の圧縮ページパート320(1.fpage)が特定される。データ生成部70は、上記の1個目の解凍済みディスカードパートに含まれるページ情報132(2.fpage)が、上記の最大の圧縮ページパート320に対応するページ番号(1.fpage)より1つ大きいページ番号(2.fpage)であるのか否かを判断する。ここで肯定的に判断される場合、データ生成部70は、上記の1個目の解凍済みディスカードパートに含まれるページ情報132に変更を加えない。即ち、本実施例では、PDLデータ90に含まれる圧縮ディスカードパート130と同じものが、新たなPDLデータ300にも含まれることになる。なお、新たなPDLデータ300内では、圧縮ディスカードパート130は、上記の最大の圧縮ページパート320(1.fpage)より後であり、かつ、上記の最大の圧縮ページパート320(1.fpage)の次の圧縮ページパート380(2.fpage)より前である位置に配置される。即ち、図9において、圧縮ディスカードパート130は、上記の最大の圧縮ページパート320(1.fpage)より下であって、圧縮ページパート380(2.fpage)より上に配置される。
続いて、データ生成部70は、圧縮ディスカードパート160(discard2)を解凍することによって、2個目の解凍済みディスカードパートを生成する。次いで、データ生成部70は、上記の2個目の解凍済みディスカードパートに含まれるページ情報162(3.fpage)とデータ情報164(font1)とを特定する。なお、以下では、ここで特定されるデータ情報164のことを「第2のデータ情報164」と呼ぶ。続いて、データ生成部70は、生成済みの全ての新たな圧縮ページパート320,380のうち、上記の第2のデータ情報164が示すファイル名「font1」を含む圧縮ページパートであって、最も大きいページ番号に対応するファイル名を有する圧縮ページパート(最大の圧縮ページパート)を特定する。本実施例では、1ページ目の圧縮ページパート320(1.fpage)が特定される。データ生成部70は、圧縮ディスカードパート160に含まれるページ情報162(3.fpage)が、上記の最大の圧縮ページパート320に対応するページ番号(1.fpage)より1つ大きいページ番号(2.fpage)であるのか否かを判断する。ここで否定的に判断される場合、データ生成部70は、上記の2個目の解凍済みディスカードパートに含まれるページ情報162(3.fpage)を、上記の最大の圧縮ページパート320に対応するページ番号(1.fpage)より1つ大きいページ番号(2.fpage)を示す新たなページ情報362に変更する。次いで、データ生成部70は、変更後の新たなページ情報362を含む解凍済みディスカードパートを圧縮することによって、新たな圧縮ディスカードパート360を生成する。なお、新たな圧縮ディスカードパート360は、上記の最大の圧縮ページパート320(1.fpage)より後であり、かつ、上記の最大の圧縮ページパート320(1.fpage)の次の圧縮ページパート380(2.fpage)より前である位置に配置される。
圧縮ディスカードパート130,160の場合と同様に、データ生成部70は、圧縮ディスカードパート200に含まれるページ情報202(5.fpage)を、新たなページ情報402(3.fpage)に変更することによって、新たな圧縮ディスカードパート400を生成する。なお、圧縮ディスカードパート200に含まれるデータ情報204(image2)は、2個の新たな圧縮ページパート320,380のいずれにも含まれる。従って、データ生成部70は、上記の最大の圧縮ページパートを特定する際に、2個の新たな圧縮ページパート320,380のうち、最も大きいページ番号(2.fpage)に対応するファイル名を有する圧縮ページパート380を特定する。この結果、新たな圧縮ディスカードパート400は、上記の最も大きいページ番号(2.fpage)より1つ大きいページ番号(3.fpage)を示す新たなページ情報402を含むことになる。なお、新たな圧縮ディスカードパート400は、上記の最大の圧縮ページパート380(2.fpage)より後であり、かつ、次の圧縮ページパーより前である位置に配置される。
図9を用いて2in1の場合の処理を説明したが、他のNin1(3in1、4in1等)の場合も2in1の場合と同様に処理が実行される。例えば、ユーザによって3in1が指示された場合には、連続する3ページ分の圧縮ページパート(例えば120,150,180)から、1ページ分の新たな圧縮ページパートが生成される。また、他のNin1の場合にPDLデータ90に含まれる圧縮ディスカードパート160等から新たな圧縮ディスカードパートを生成する手法は、2in1の場合と同様である。
上記の処理によると、ユーザによってNin1が指示された場合に、PC50は、PDLデータ90から新たなPDLデータ300を生成することができる。PC50からプリンタ10に新たなPDLデータ300が送信された場合に、プリンタ10が新たなPDLデータ300を用いて1in1処理(図6参照)を実行すると、図4に示される描画データ220,222が生成される。プリンタ10は、Nin1処理(図7参照)を実行しなくても、ユーザの指示に対応する描画データ220,222を生成することができる。しかも、プリンタ10は、1in1処理を実行する過程において、新たな圧縮ディスカードパート360等に従って、適切なタイミングでリソースパートを削除することができる。なお、PC50からプリンタ10に新たなPDLデータ300が送信される場合には、PC50は、1in1を示す印刷情報94を含む印刷指示92をプリンタ10に送信する。
(1in2が指示された場合の新たなPDLデータ生成処理)
データ生成部70は、1in2に従って印刷することがユーザによって指示された場合に、以下の処理を実行する。図10は、PDLデータ90と、PDLデータ90から生成される新たなPDLデータ400と、を示す。図10のPDLデータ90は、図2のPDLデータ90と同様である。
2in1が指示された場合の新たなPDLデータ生成処理(図9参照)の場合と同様に、データ生成部70は、新たなPDLデータ400を生成する過程において、圧縮リソースパート100,110,140,170に変更を加えない。
データ生成部70は、元の1ページ目の圧縮ページパート120(1.fpage)を解凍することによって、1ページ目の解凍済みページパートを生成する。次いで、データ生成部70は、1ページ目の解凍済みページパートを読み込むことによって、指定情報122,124を特定する。また、データ生成部70は、1ページ目の解凍済みページパートから、1in1の場合の各リソース(image1及び図3の「ABC」)の位置を特定し、それらの位置を1in2の場合の位置に変換する。
データ生成部70は、1ページ目の解凍済みページパートから特定された指定情報122,124と、変換後のリソースの位置と、を含む新たな1ページ目の解凍済みページパートを生成する。データ生成部70は、新たな1ページ目の解凍済みページパートに「1.fpage」というファイル名を付与する。データ生成部70は、新たな1ページ目の解凍済みページパートを圧縮することによって、新たな1ページ目の圧縮ページパート420aを生成する。さらに、データ生成部70は、1ページ目の解凍済みページパートから特定された指定情報122と、変換後のリソースの位置と、を含む新たな2ページ目の解凍済みページパートを生成する。なお、図5の2ページ目の描画データ232には、イメージ「image1」のみが含まれ、テキスト「ABC」が含まれない。従って、新たな2ページ目の解凍済みページパートは、「font1」を示す指定情報124を含まない。データ生成部70は、新たな2ページ目の解凍済みページパートに「2.fpage」というファイル名を付与する。データ生成部70は、新たな2ページ目の解凍済みページパートを圧縮することによって、新たな2ページ目の圧縮ページパート420bを生成する。
1ページ目の圧縮ページパート120の場合と同様に、データ生成部70は、元の2ページ目の圧縮ページパート150から、2ページ分の新たな圧縮ページパート450a,450bを生成する。新たな圧縮ページパート450aは、ファイル名「3.fpage」を有しており、元の2ページ目の圧縮ページパート150に含まれる各指定情報152,154を含む。また、新たな圧縮ページパート450bは、ファイル名「4.fpage」を有しており、元の2ページ目の圧縮ページパート150に含まれる指定情報152を含む。
さらに、データ生成部70は、元の3ページ目の圧縮ページパート180から、2ページ分の新たな圧縮ページパート480a,480bを生成する。新たな圧縮ページパート480aは、ファイル名「5.fpage」を有しており、元の3ページ目の圧縮ページパート180に含まれる指定情報182を含む。また、新たな圧縮ページパート480bは、ファイル名「6.fpage」を有しており、元の3ページ目の圧縮ページパート180に含まれる指定情報182を含む。上記の説明から明らかなように、データ生成部70は、1ページ分(1個)の圧縮ページパート(例えば120)から、連続する2ページ分(2個)の新たな圧縮ページパート(例えば420a,420b)を生成する。
続いて、データ生成部70は、複数個の元の圧縮ディスカードパート130,160から複数個の新たな圧縮ディスカードパートを生成する。新たな圧縮ディスカードパートを生成する手法は、2in1が指示された場合の新たなPDLデータ生成処理(図9参照)の場合と同様である。即ち、データ生成部70は、圧縮ディスカードパート130(discard1)から1個目の解凍済みディスカードパートを生成し、ページ情報132(2.fpage)とデータ情報134(image1)とを特定する。続いて、データ生成部70は、生成済みの全ての新たな圧縮ページパート420a,420b,450a,450b,480a,480bのうち、データ情報134が示すファイル名「image1」を含む圧縮ページパートであって、最も大きいページ番号に対応するファイル名を有する圧縮ページパート(最大の圧縮ページパート)を特定する。本実施例では、2ページ目の圧縮ページパート420b(2.fpage)が特定される。データ生成部70は、上記の1個目の解凍済みディスカードパートに含まれるページ情報132(2.fpage)を、上記の最大の圧縮ページパートに対応するページ番号(2.fpage)より1つ大きいページ番号(3.fpage)を示す新たなページ情報432に変更する。次いで、データ生成部70は、新たなページ情報432を含む解凍済みディスカードパートを圧縮することによって、新たな圧縮ディスカードパート430を生成する。なお、新たな圧縮ディスカードパート430は、上記の最大の圧縮ページパート420b(2.fpage)より後であり、かつ、上記の最大の圧縮ページパート420b(2.fpage)の次の圧縮ページパート450a(3.fpage)より前である位置に配置される。データ生成部70は、2個目の圧縮ディスカードパート160についても、同様に処理を実行することによって、新たなページ情報462を含む新たな圧縮ディスカードパート460を生成する。
図10を用いて1in2の場合の処理を説明したが、他の1inN(例えば1in3、1in4等)の場合も1in2の場合と同様に処理が実行される。例えば、ユーザによって1in3が指示された場合には、1ページ分の圧縮ページパート(例えば120)から、連続する3ページ分の新たな圧縮ページパートが生成される。また、他の1inNの場合にPDLデータ90に含まれる圧縮ディスカードパート130等から新たな圧縮ディスカードパートを生成する手法は、1in2の場合と同様である。
上記の処理によると、ユーザによって1inNが指示された場合に、PC50は、PDLデータ90から新たなPDLデータ400を生成することができる。PC50からプリンタ10に新たなPDLデータ400が送信された場合に、プリンタ10が新たなPDLデータ400を用いて1in1処理(図6参照)に従って処理を実行すると、図5に示される描画データ230〜240を生成することができる。プリンタ10は、図8の1inN処理を実行しなくても、ユーザの指示に対応する描画データ230〜240が生成される。しかも、プリンタ10は、1in1処理を実行する過程において、新たな圧縮ディスカードパート430等に従って、適切なタイミングでリソースパートを削除することができる。なお、PC50からプリンタ10に新たなPDLデータ400が送信される場合には、PC50は、1in1を示す印刷情報94を含む印刷指示92をプリンタ10に送信する。
上記の第2実施例の各構成と本発明の各要素との対応関係を記載しておく。図9の2in1の場合において、新たな圧縮ページパート320が「特定の新たなページパートデータ」に対応する。この場合、圧縮ディスカードパート160、圧縮フォントパート110が、それぞれ、「特定の削除パートデータ」、「特定のリソースパートデータ」の一例である。また、新たな圧縮ページパート380が「特定の新たなページパートデータ」に対応すると考えることもできる。また、図10の1in2の場合において、新たな圧縮ページパート420bが「特定の新たなページパートデータ」に対応する。この場合、圧縮ディスカードパート130、圧縮イメージパート100が、それぞれ、「特定の削除パートデータ」、「特定のリソースパートデータ」の一例である。また、他の新たな圧縮ページパート450a,450bが「特定の新たなページパートデータ」に対応すると考えることもできる。
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
(1)上記の各実施例の技術は、XPSデータ以外の種類のPDLデータを利用する場合にも適用することができる。例えば、PDF、PS(Post Script)等を利用する場合にも適用することができる。なお、本明細書の「PDLデータ」という用語は、ページという概念を用いて記述されるあらゆる種類のデータを含む概念である。
(2)例えば、上記の各実施例では、PDLデータ90の中に複数個の圧縮ディスカードパート130,160(図2参照)が含まれている。しかしながら、PDLデータ90の中に1個の圧縮ディスカードパートのみが含まれるようにしてもよい。この場合、上記の1個の圧縮ディスカードパートは、複数個の圧縮ディスカードパート130,160に含まれる各情報132,134,162,164を含む。即ち、1個の圧縮ディスカードパートの中に、複数個の圧縮リソースパートを削除するための指示が含まれていてもよい。
(3)また、上記の第1実施例では、プリンタ10が、Nin1処理(図7参照)と1inN処理(図8参照)との両方を実行可能である。しかしながら、プリンタ10は、Nin1処理及び1inN処理のうちの一方のみを実行可能であってもよい。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
2:データ処理システム、10:プリンタ、20:制御部、26:データ取得部、30 描画データ生成部、32:削除部、50:PC、60:制御部、66:データ取得部、70:データ生成部、90:PDLデータ、100,140,170:圧縮イメージパート、108,148,178:解凍済みイメージパート、110:圧縮フォントパート、118:解凍済みフォントパート、120,150,180:圧縮ページパート、128,158,188:解凍済みページパート、130,160:圧縮ディスカードパート、138,168:解凍済みディスカードパート、210〜214,220〜222,230〜240:描画データ、300,400:新たなPDLデータ

Claims (9)

  1. PDLデータ処理装置であって、
    リソースパートデータと、
    ページ番号が対応づけられているページパートデータであって、前記リソースパートデータを指定する指定情報を含む前記ページパートデータと、
    ページ番号を示すページ情報と、前記リソースパートデータを示すデータ情報と、を含む削除パートデータと、
    を含むPDLデータを取得するPDLデータ取得部と、
    前記ページパートデータと、前記ページパートデータに含まれる前記指定情報によって指定される前記リソースパートデータと、を用いて、描画データを生成する描画データ生成部と、
    前記削除パートデータに含まれる前記データ情報が示す前記リソースパートデータを削除する削除部と、を備え、
    前記削除部は、
    Nページ分(Nは2以上の整数)のページパートデータを用いて1ページ分の描画データが生成されるべき第1の場合、又は、1ページ分のページパートデータを用いてNページ分の描画データが生成されるべき第2の場合に、
    実際に生成された描画データのページ番号M(Mは1以上の整数)に関わらず、
    ページ番号L(Lは1以上の整数)が対応づけられている第1のページパートデータを用いて第1の描画データが生成された後であって、ページ番号L+1が対応づけられている第2のページパートデータを用いて第2の描画データが生成される前に、
    ページ番号L+1を示す第1のページ情報を含む第1の削除パートデータに含まれる第1のデータ情報が示す第1のリソースパートデータを削除する、PDLデータ処理装置。
  2. 前記削除部は、
    1ページ分のページパートデータを用いて1ページ分の描画データが生成されるべき場合に、
    実際に生成された描画データのページ番号Mに従って、
    ページ番号Mが対応づけられている第3のページパートデータを用いてページ番号Mの第3の描画データが生成された後であって、ページ番号M+1が対応づけられている第4のページパートデータを用いてページ番号M+1の第4の描画データが生成される前に、
    ページ番号M+1を示す第2のページ情報を含む第2の削除パートデータに含まれる第2のデータ情報が示す第2のリソースパートデータを削除する、請求項1に記載のPDLデータ処理装置
  3. 前記描画データに従って印刷する印刷実行部をさらに備え、
    前記削除部は、前記第1の場合又は前記第2の場合に、前記第1の描画データが生成された後であって、前記第1の描画データが印刷される前に、前記第1のリソースパートデータを削除する、請求項1又は2に記載のPDLデータ処理装置。
  4. PDLデータ処理装置であって、
    リソースパートデータと、
    ページ番号が対応づけられているページパートデータであって、前記リソースパートデータを指定する指定情報を含む前記ページパートデータと、
    ページ番号を示すページ情報と、前記リソースパートデータを示すデータ情報と、を含む削除パートデータと、
    を含むPDLデータを取得するPDLデータ取得部と、
    Nページ分(Nは2以上の整数)のページパートデータを用いて1ページ分の描画データが生成されるべき第1の場合、又は、1ページ分のページパートデータを用いてNページ分の描画データが生成されるべき第2の場合に、前記PDLデータから、前記リソースパートデータと、新たなページパートデータと、新たな削除パートデータと、を含む新たなPDLデータを生成するデータ生成部と、を備え、
    前記データ生成部は、
    前記第1の場合又は前記第2の場合に、
    1ページ分のページパートデータを用いて1ページ分の描画データが生成されるように、前記PDLデータに含まれる前記ページパートデータから、新たなページ番号が対応づけられている前記新たなページパートデータを生成し、
    前記PDLデータに含まれる前記削除パートデータに含まれる前記ページ情報を、前記新たなページ番号に従って決定される新たなページ情報に変更することによって、前記新たな削除パートデータを生成する、PDLデータ処理装置。
  5. 前記データ生成部は、
    前記第1の場合に、前記PDLデータに含まれるNページ分のN個のページパートデータから、1ページ分の1個の新たなページパートデータを生成し、
    前記第2の場合に、前記PDLデータに含まれる1ページ分の1個のページパートデータから、Nページ分のN個の新たなページパートデータを生成する、請求項4に記載のPDLデータ処理装置。
  6. 前記データ生成部は、
    前記第1の場合又は前記第2の場合において、さらに、特定のページ情報と、特定のリソースパートデータを示す特定のデータ情報と、を含む特定の削除パートデータが前記PDLデータに含まれ、かつ、前記特定のリソースパートデータを指定する特定の指定情報を含む特定の新たなページパートデータが生成される場合に、
    前記特定の削除パートデータに含まれる前記特定のページ情報を、前記特定の新たなページパートデータに対応づけられている特定の新たなページ番号より大きいページ番号を示す特定の新たなページ情報に変更することによって、特定の新たな削除パートデータを生成する、請求項4又は5に記載のPDLデータ処理装置。
  7. 前記データ生成部は、
    前記第1の場合又は前記第2の場合において、さらに、複数個の新たなページパートデータのそれぞれが、前記特定の指定情報を含む場合に、
    前記複数個の新たなページパートデータのうち、最も大きいページ番号に対応づけられている前記特定の新たなページパートデータを選択し、
    前記特定の削除パートデータに含まれる前記特定のページ情報を、選択された前記特定の新たなページパートデータに対応づけられている前記特定の新たなページ番号より大きいページ番号を示す前記特定の新たなページ情報に変更する、請求項6に記載のPDLデータ処理装置。
  8. 前記特定の新たなページ情報は、前記特定の新たなページ番号より1つ大きいページ番号を示す、請求項6又は7に記載のPDLデータ処理装置。
  9. PDLデータ処理プログラムであって、
    リソースパートデータと、
    ページ番号が対応づけられているページパートデータであって、前記リソースパートデータを指定する指定情報を含む前記ページパートデータと、
    ページ番号を示すページ情報と、前記リソースパートデータを示すデータ情報と、を含む削除パートデータと、
    を含むPDLデータを取得するPDLデータ取得処理と、
    Nページ分(Nは2以上の整数)のページパートデータを用いて1ページ分の描画データが生成されるべき第1の場合、又は、1ページ分のページパートデータを用いてNページ分の描画データが生成されるべき第2の場合に、前記PDLデータから、前記リソースパートデータと、新たなページパートデータと、新たな削除パートデータと、を含む新たなPDLデータを生成するデータ生成処理と、をコンピュータに実行させ、
    前記データ生成処理では、
    前記第1の場合又は前記第2の場合に、
    1ページ分のページパートデータを用いて1ページ分の描画データが生成されるように、前記PDLデータに含まれる前記ページパートデータから、新たなページ番号が対応づけられている前記新たなページパートデータを生成し、
    前記PDLデータに含まれる前記削除パートデータに含まれる前記ページ情報を、前記新たなページ番号に従って決定される新たなページ情報に変更することによって、前記新たな削除パートデータを生成する、PDLデータ処理プログラム。
JP2009205503A 2009-09-07 2009-09-07 Pdlデータ処理装置とpdlデータ処理プログラム Active JP4775484B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2009205503A JP4775484B2 (ja) 2009-09-07 2009-09-07 Pdlデータ処理装置とpdlデータ処理プログラム
EP10251203.5A EP2293180B1 (en) 2009-09-07 2010-07-05 PDL data processing device and PDL data creating device
US12/876,853 US8756491B2 (en) 2009-09-07 2010-09-07 PDL data processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009205503A JP4775484B2 (ja) 2009-09-07 2009-09-07 Pdlデータ処理装置とpdlデータ処理プログラム

Publications (2)

Publication Number Publication Date
JP2011056669A true JP2011056669A (ja) 2011-03-24
JP4775484B2 JP4775484B2 (ja) 2011-09-21

Family

ID=42983505

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009205503A Active JP4775484B2 (ja) 2009-09-07 2009-09-07 Pdlデータ処理装置とpdlデータ処理プログラム

Country Status (3)

Country Link
US (1) US8756491B2 (ja)
EP (1) EP2293180B1 (ja)
JP (1) JP4775484B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6489882B2 (ja) * 2015-03-10 2019-03-27 キヤノン株式会社 メモリ制御装置、画像形成装置、メモリ制御装置のリソース管理方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008033812A (ja) * 2006-07-31 2008-02-14 Canon Inc 文書処理装置および文書処理方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5337258A (en) * 1992-07-10 1994-08-09 Microsoft Corporation Cost metrics
US8310713B2 (en) * 2002-12-24 2012-11-13 Konica Minolta Business Technologies, Inc. Image forming device, image forming program, computer readable recording medium on which the program is recorded, and image forming method
JP4619399B2 (ja) * 2007-12-11 2011-01-26 キヤノンItソリューションズ株式会社 情報処理装置及び処理方法、並びにプログラム
JP2009274273A (ja) * 2008-05-13 2009-11-26 Canon Inc 画像処理装置、画像処理方法、およびプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008033812A (ja) * 2006-07-31 2008-02-14 Canon Inc 文書処理装置および文書処理方法

Also Published As

Publication number Publication date
JP4775484B2 (ja) 2011-09-21
EP2293180A2 (en) 2011-03-09
EP2293180B1 (en) 2018-06-20
EP2293180A3 (en) 2013-03-27
US20110060982A1 (en) 2011-03-10
US8756491B2 (en) 2014-06-17

Similar Documents

Publication Publication Date Title
KR100661173B1 (ko) 다이렉트 프린팅 기능을 갖는 프린터 및 그 인쇄방법
JP5928179B2 (ja) 制御装置
JP6270455B2 (ja) 画像形成装置、画像形成装置の制御方法、およびプログラム
JP6145414B2 (ja) 文書配布サーバ、及び文書配布サーバのプログラム
JP4775484B2 (ja) Pdlデータ処理装置とpdlデータ処理プログラム
US9253343B2 (en) Information processing apparatus, control method, and storage medium for providing a preview and/or display of a main display document generated from all parts of a print document
JP4609488B2 (ja) 画像形成装置、プログラム及びデータ処理方法
US20140268237A1 (en) Client apparatus, printing system, and display method
US10102459B2 (en) Print control apparatus, method and program outputs XPS drawing instructions from an application to change resolution of tile image
JP2010157928A (ja) 画像処理装置、画像処理システム、画像処理装置の制御方法及びプログラム
JP4775480B2 (ja) Pdlデータ処理装置とpdlデータ処理プログラム
JP4985034B2 (ja) 展開データ作成方法と装置とプログラム
JP4532872B2 (ja) 文書処理方法及び文書処理装置
JP5040978B2 (ja) Pdlデータ処理装置とコンピュータプログラム
JP4433044B2 (ja) 画像形成装置、プログラム及びデータ処理方法
JP4957816B2 (ja) Pdlデータ処理装置とpdlデータ処理プログラム
JP5576033B2 (ja) データ処理装置
JP6545246B2 (ja) 画像形成装置、画像形成装置の制御方法、およびプログラム
JP6420407B2 (ja) 文書配布サーバ、及び文書配布サーバのプログラム
JP2013242707A (ja) 印刷システム
JP2002326403A (ja) 画像形成装置、画像形成方法及び画像形成プログラム
JP2018195223A (ja) 印刷制御装置
JP2005193569A (ja) 画像処理装置、プリンタ、及び格納データの読み出し方法
JP2015203918A (ja) 画像処理装置、画像処理方法及びプログラム
JP2011123805A (ja) 印刷システム

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110531

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110613

R150 Certificate of patent or registration of utility model

Ref document number: 4775484

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140708

Year of fee payment: 3