JP5040978B2 - Pdlデータ処理装置とコンピュータプログラム - Google Patents

Pdlデータ処理装置とコンピュータプログラム Download PDF

Info

Publication number
JP5040978B2
JP5040978B2 JP2009220363A JP2009220363A JP5040978B2 JP 5040978 B2 JP5040978 B2 JP 5040978B2 JP 2009220363 A JP2009220363 A JP 2009220363A JP 2009220363 A JP2009220363 A JP 2009220363A JP 5040978 B2 JP5040978 B2 JP 5040978B2
Authority
JP
Japan
Prior art keywords
data
page
part data
order
decompressed
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.)
Active
Application number
JP2009220363A
Other languages
English (en)
Other versions
JP2011070366A (ja
Inventor
浩一 次村
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 JP2009220363A priority Critical patent/JP5040978B2/ja
Publication of JP2011070366A publication Critical patent/JP2011070366A/ja
Application granted granted Critical
Publication of JP5040978B2 publication Critical patent/JP5040978B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)

Description

本明細書は、PDL(Page Description Language)データを処理するための技術を開示する。
PDLデータから印刷のための描画データを生成するPDLデータ処理装置が広く知られている。例えば、特許文献1には、PDLデータの一種であるXPS(XML Paper Specification)データから描画データを生成するPDLデータ処理装置が開示されている。XPSデータは、ページパートデータ、リソースパートデータ等の複数個の描画パートデータを含む。PDLデータ処理装置は、複数個の描画パートデータを用いて描画データを生成する。
特開2008−33812号公報
例えば、3ページ目以降の描画データの生成に不要な描画パートデータは、3ページ目の描画データの生成が開始される前のタイミングにおいて、削除されるのが好ましいと考えられている。メモリの使用量を低減させることができるからである。上記のタイミングで上記の描画パートデータを削除するためには、PDLデータの中に削除パートデータを含める構成が考えられる。削除パートデータは、削除対象の描画パートデータが削除されるべきタイミング(例えば3ページを示すタイミング)を示す。この構成によると、PDLデータ処理装置は、削除パートデータを読み込むことによって、削除対象の描画パートデータを削除すべきタイミングを知ることができ、そのタイミングにおいて削除対象の描画パートデータを削除することができる。上記の特許文献1には、削除パートデータについて何ら開示されていない。本明細書では、適切なタイミングで描画パートデータを削除し得る技術を提供する。
本発明は、PDLデータを処理するPDLデータ処理装置であって、複数ページ分の描画データを生成するために利用されるべき複数個の圧縮形式の描画パートデータと、削除対象の解凍済みの描画パートデータが削除されるべきタイミングを示す削除パートデータと、を含む前記PDLデータであって、第1の順序に従って前記複数ページ分の描画データを順に生成するためのデータ構造を有する前記PDLデータを取得する取得部と、ユーザによって指定される印刷順序が、前記第1の順序と異なる第2の順序に従って前記複数ページ分の描画データが順に生成されるべき特定の印刷順序である場合に、前記PDLデータを解析することによって、前記削除対象の解凍済みの描画パートデータが削除されるべき新たなタイミングであって、前記第2の順序に対応する前記新たなタイミングを決定する解析部と、前記複数個の圧縮形式の描画パートデータのそれぞれを順次解凍して、複数個の解凍済みの描画パートデータを順次生成する解凍部と、前記複数個の解凍済みの描画パートデータのそれぞれを、前記PDLデータ処理装置のメモリに順次記憶させる記憶制御部と、前記複数個の解凍済みの描画パートデータを利用して、前記第2の順序に従って、印刷実行部に供給されるべき前記複数ページ分の描画データを順に生成する描画データ生成部と、前記複数ページ分の描画データが順に生成される過程において、決定済みの前記新たなタイミングで、前記削除対象の解凍済みの描画パートデータを前記メモリから削除する削除部と、を備えるPDLデータ処理装置。
本明細書では、一つの形態の技術として、PDLデータを処理するPDLデータ処理装置を開示する。PDLデータ処理装置は、取得部と解析部とを備える。取得部は、複数ページ分の描画データを生成するために利用されるべき複数個の描画パートデータと、削除対象の描画パートデータが削除されるべきタイミングを示す削除パートデータと、含むPDLデータを取得する。PDLデータは、第1の順序に従って複数ページ分の描画データを順に生成するためのデータ構造を有する。解析部は、ユーザによって指定される印刷順序が、第1の順序と異なる第2の順序に従って複数ページ分の描画データが順に生成されるべき特定の印刷順序である場合に、PDLデータを解析することによって、削除対象の描画パートデータが削除されるべき新たなタイミングであって、第2の順序に対応する新たなタイミングを決定する。この構成によると、PDLデータ処理装置は、PDLデータが想定している印刷順序と異なる上記の特定の印刷順序がユーザによって指示される場合に、上記の特定の印刷順序に応じて、削除対象の描画パートデータが削除されるべき新たなタイミングを決定することができる。このために、上記の特定の印刷順序に対応する第2の順序で複数ページ分の描画データが生成される過程において、第2の順序に対応する適切なタイミングで削除対象の描画データが削除され得る。
複数個の描画パートデータは、リソースパートデータと、複数ページ分のページパートデータと、を含んでいてもよい。各ページのページパートデータには、ページ情報が対応づけられていてもよい。各ページのページパートデータは、当該ページの描画データを生成するために利用されるべき対象のリソースパートデータを指定する指定情報を含んでいてもよい。第1の順序は、複数ページ分のページパートデータに対応づけられている複数個のページ情報が示すページ順であってもよい。
解析部は、さらに、特定のリソースパートデータが削除されるべき特定のタイミングを示す特定の削除パートデータがPDLデータに含まれる場合に、特定のリソースパートデータを指定する特定の指定情報を含み得る特定のページパートデータを特定してもよい。解析部は、第2の順序において、上記の特定のページパートデータを利用して描画データの生成が終了する後のタイミングを、上記の特定のリソースパートデータが削除されるべき特定の新たなタイミングとして決定してもよい。この構成によると、第2の順序で複数ページ分の描画データが生成される過程において、上記の特定のリソースパートデータを利用して描画データが生成される前に、上記の特定のリソースパートデータが削除されるという事象(以下では「特定の事象」と呼ぶ)が発生するのを抑制することができる。
解析部は、複数個の上記の特定のページパートデータが特定される場合に、第2の順序において、複数個の特定のページパートデータの全てを利用して描画データの生成が終了する後のタイミングを、上記の特定の新たなタイミングとして決定してもよい。この構成によると、上記の特定の事象が発生するのを確実に防止することができる。
PDLデータでは、第1の配列順序に従って、複数個の描画パートデータが順に配列されていてもよい。解析部は、第1の配列順序において、上記の特定の指定情報を含み得る最初のページパートデータを特定してもよい。解析部は、第1の配列順序において、上記の特定の指定情報を含み得る最後のページパートデータを特定してもよい。解析部は、上記の最初のページパートデータと、上記の最後のページパートデータと、第1の配列順序において、上記の最初のページパートデータと上記の最後のページパートデータとの間に位置する全てのページパートデータとを、複数個の特定のページパートデータとして特定してもよい。
解析部は、第1の配列順序において、上記の特定のリソースパートデータより後に位置する描画パートデータ群のうち、最初に位置するページパートデータを、上記の最初のページパートデータとして特定してもよい。この構成によると、上記の最初のページパートデータを特定することができる。
上記の特定の削除パートデータは、上記の特定のリソースパートデータが削除されるべき上記の特定のタイミングを示す特定のページ情報を含んでいてもよい。解析部は、上記の特定のページ情報の1ページ前のページ情報が対応づけられているページパートデータを、上記の最後のページパートデータとして特定してもよい。この構成によると、上記の最後のページパートデータを特定することができる。
上記の特定の印刷順序は、両面印刷に対応する印刷順序、又は、逆順印刷に対応する印刷順序であってもよい。
PDLデータ処理装置は、PDLデータに基づいて、削除対象の描画パートデータが削除されるべき新たなタイミングを示す新たな削除パートデータを含む新たなPDLデータを生成する新PDLデータ生成部と、新たなPDLデータをプリンタに送信する送信部と、をさらに備えていてもよい。この構成によると、プリンタは、新たなPDLデータを用いて、第2の順序に従って複数ページ分の描画データを生成することができる。プリンタは、第2の順序に従って複数ページ分の描画データを生成する過程において、新たな削除パートデータが示す新たなタイミングで削除対象の描画パートデータを削除することができる。
新PDLデータ生成部は、第2の配列順序に従って、複数個の描画データが配列されている新たなPDLデータを生成してもよい。新PDLデータ生成部は、第2の配列順序において、特定のリソースパートデータを指定する特定の指定情報を含み得る最初のページパートデータの直前に、上記の特定のリソースパートデータが位置するように、新たなPDLデータを生成してもよい。送信部は、第2の配列順序に従って、複数個の描画パートデータを順にプリンタに送信してもよい。
なお、上記のPDLデータ処理装置を実現するための制御方法及びコンピュータプログラムも新規で有用である。
データ処理システムの構成の一例を示す。 PDLデータの一例を示す。 プリンタが実行するダイレクト印刷処理のフローチャートを示す。 正順印刷を説明するための図(a)と、両面印刷を説明するための図(b)と、逆順印刷を説明するための図(c)と、を示す。 両面印刷用テーブルの一例(a)と、逆順印刷用テーブルの一例(b)と、を示す。 PCが実行する新PDLデータ生成処理のフローチャートを示す。 図6の続きのフローチャートを示す。 新PDLデータの一例を示す。
(第1実施例)
(システムの構成)
図面を参照して実施例を説明する。図1は、本実施例のデータ処理システム2の概略図を示す。データ処理システム2は、LAN4と、プリンタ10と、PC50と、を備える。プリンタ10とPC50とは、LAN4に接続されている。プリンタ10とPC50とは、LAN4を介して、相互に通信可能である。
(プリンタ10の構成)
プリンタ10は、表示部12と、操作部14と、USBインターフェイス16aと、ネットワークインターフェイス16bと、印刷実行部18と、制御部20と、を備える。表示部12は、様々な情報を表示する。操作部14は、複数のキーによって構成される。ユーザは、操作部14を操作することによって、様々な指示をプリンタ10に入力することができる。印刷実行部18は、インクジェット方式、レーザ方式等の印刷機構を備える。印刷実行部18は、制御部20から供給される描画データに従って、印刷媒体に画像を印刷する。USBインターフェイス16aには、持ち運び可能なUSBメモリ6が接続される。プリンタ10は、ネットワークインターフェイス16bを介して、LAN4が接続される。
制御部20は、CPUによって構成される。制御部20は、プリンタ10のプログラム記憶領域(図示省略)に記憶されているプログラムに従って、様々な処理を実行する。制御部20が当該プログラムに従って処理を実行することによって、取得部22及び解析部24の機能が実現される。制御部20は、さらに、ワークメモリ40を備える。
(PC50の構成)
PC50は、表示部52と、操作部54と、ネットワークインターフェイス58と、制御部60と、を備える。表示部52は、様々な情報を表示する。操作部54は、キーボード、マウス等によって構成される。ユーザは、操作部54を操作することによって、様々な指示をPC50に入力することができる。PC50は、ネットワークインターフェイス58を介して、LAN4に接続される。
制御部60は、CPUによって構成される。制御部60は、PC50のプログラム記憶領域(図示省略)に記憶されているプログラムに従って、様々な処理を実行する。なお、上記のプログラムは、PDLデータ80を生成するためのアプリケーション(例えばプリンタ10に対応するプリンタドライバ;図示省略)を含む。制御部60が上記のプログラムに従って処理を実行することによって、取得部62、解析部64、新PDLデータ生成部66、及び、送信部68の各機能が実現される。制御部60は、さらに、ワークメモリ70を備える。なお、上記の各部62〜68は、後述の第2実施例で利用される。
(PDLデータ80の構成)
図2は、PC50によって生成されるPDLデータ80(XPSデータ)の一例を示す。PDLデータ80は、複数個の圧縮パート100〜220を含む。各圧縮パート100〜220のかっこ内の文字列(例えば「image1」)は、各圧縮パート100〜220に対応づけられているファイル名(以下では「圧縮パートのファイル名」と簡単に呼ぶ)を示す。なお、実際には、ファイル名は拡張子を含んでいるが、図2では、拡張子を省略している。
図2の下の図に示されるように、XPS形式のPDLデータは、圧縮描画パート80aと、圧縮ディスカードパート(DiscardControl)80bと、に分類される。圧縮描画パート80aは、描画データを生成するために利用される。圧縮描画パート80aは、圧縮ページパート(FixedPage)80cと、圧縮リソースパート80dと、に分類される。なお、実際には、圧縮描画パート80aは、さらに、他の種類のパート(例えばFixedDocument)に分類することができるが、本実施例では、他の種類のパートについての説明を省略する。
各圧縮ページパート80cは、1ページ分の描画データを生成するための様々なデータが圧縮されたものである。本実施例では、ユーザによって印刷することが指示された印刷対象のデータのうちの1ページ分のデータから1個の圧縮ページパートが生成される。例えば、PDLデータ80は、6個の圧縮ページパート110,120,150,170,190,220を含む。これは、6ページ分の印刷対象のデータからPDLデータ80が生成されたことを意味する。6ページ分の印刷対象のデータのうちの1ページ目のデータから、同様に、6ページ分の印刷対象のデータのうちの2ページ目以降のデータから、2ページ目以降を示すファイル名(2.fpage等)が対応づけられている圧縮ページパート120,150,170,190,220が生成される。従って、仮に、プリンタ10が、6個の圧縮ページパート110等のファイル名が示すページ順に従って、6個の圧縮ページパート110等を順に用いて6ページ分の描画データを順に生成すれば、正順印刷が実行されることになる。上述した説明から明らかなように、PDLデータ80は、正順印刷に対応する順序に従って、6ページ分の描画データを順に生成するためのデータ構造を有する。即ち、PDLデータ80に含まれる6個の圧縮ページパート110等に対応づけられている6個のファイル名は、正順印刷に対応するページ順を示す。
各圧縮ページパート110等は、圧縮リソースパートのファイル名を指定する指定情報112等を含む。例えば、1ページ目の圧縮ページパート110(1.fpage)は、圧縮イメージパート100のファイル名(image1)を指定する指定情報112を含む。これは、正順印刷の場合に、圧縮イメージパート100(実際には圧縮イメージパート100から生成される解凍済みイメージパート)に対応するイメージが、1ページ目の描画データ内に配置されることを示す。なお、圧縮イメージパート100に対応するイメージの描画データ内での位置を指定する情報(図示省略)は、1ページ目の圧縮ページパート110に含まれる。また、例えば、4ページ目の圧縮ページパート170(4.fpage)は、圧縮フォントパート160のファイル名(font1)を指定する指定情報172を含む。これは、正順印刷の場合に、圧縮フォントパート160(実際には圧縮フォントパート160から生成される解凍済みフォントパート)に対応するフォントに従って記述されるテキストが、4ページ目の描画データ内に配置されることを示す。なお、圧縮フォントパート160に対応するフォントに従って記述されるテキストと、そのテキストの描画データ内での位置と、を指定する情報(図示省略)は、4ページ目の圧縮ページパート170に含まれる。
圧縮リソースパート80dは、描画データを生成するためのリソース(イメージ、フォント等)のデータが圧縮されたものである。圧縮リソースパート80dは、さらに、圧縮イメージパート80eと、圧縮フォントパート80fと、に分類される。なお、実際には、圧縮リソースパート80dは、さらに、他の種類のパート(例えばICCProfile)に分類することができるが、本実施例では、他の種類のパートについての説明を省略する。
圧縮ディスカードパート80bは、圧縮リソースパートと、その圧縮リソースパートから生成される解凍済みリソースパートと、を削除することを指示するデータが圧縮されたものである。図2の上の図に示されるように、3個の圧縮ディスカードパート130,180,200は、それぞれ、タイミング情報132,182,202と、データ情報134,184,204と、を含む。タイミング情報132等は、ページ情報(例えば3.fpage)を含む。データ情報134等は、圧縮リソースパートのファイル名(例えばimage1)を示す。圧縮ディスカードパート130等に含まれるタイミング情報132等及びデータ情報134等は、正順印刷の場合に、どのタイミングでどの圧縮リソースパートが削除されるべきであるのかを示す。例えば、圧縮ディスカードパート130は、正順印刷の場合に、タイミング情報132に含まれるページ情報(3.fpage)に対応する圧縮ページパートを用いて描画データ(3ページ目の描画データ)の生成が開始される直前に、圧縮イメージパート100(image1)と、それから生成される解凍済みイメージパートと、が削除されるべきであることを示す。即ち、圧縮ディスカードパート130は、正順印刷の場合に、タイミング情報132に含まれるページ情報(3.fpage)に対応するページの1ページ前の描画データ(2ページ目の描画データ)の生成が終了した後であって、当該ページ情報に対応するページの描画データ(3ページ目の描画データ)の生成が開始される前に、圧縮イメージパート100(image1)と、それから生成される解凍済みイメージパートと、が削除されるべきであることを示す。なお、以下では、圧縮イメージパート(又は圧縮フォントパート)と、それから生成される解凍済みイメージパート(又は解凍済みフォントパート)と、を合わせて、「イメージパート(又はフォントパート)」と簡単に呼ぶことがある。
(プリンタ10の制御部20が実行する処理)
図3は、プリンタ10の制御部20が実行するダイレクト印刷処理のフローチャートを示す。ユーザは、PC50の操作部54を用いて、印刷対象のデータ(文書データ等)を指定し、そのデータをXPS形式のPDLデータに変換するための操作を実行することができる。これにより、PC50の制御部60は、上記の印刷対象のデータから、図2の配列順序に従って配列されている複数個の圧縮パート100等を含むPDLデータ80を生成する。例えば、ユーザは、PC50にUSBメモリ6を接続し、PDLデータ80をUSBメモリ6に記憶させる。次いで、ユーザは、USBメモリ6をプリンタ10のUSBインターフェイス16aに接続する。USBメモリ6は、LAN4等の通信回線を介さずに直接的にUSBインターフェイス16aに接続される。これにより、プリンタ10の制御部20は、ダイレクト印刷処理を開始する。制御部20は、ダイレクト印刷処理を開始する前に、ワークメモリ40内にページメモリを確保する。ページメモリは、1ページ分の描画データを格納するための容量を有する。ユーザは、プリンタ10の操作部14を操作することによって、正順印刷を実行することを選択することができる。この場合、制御部20は、S10でYESと判断し、正順印刷処理を実行する(S12)。
(正順印刷処理)
図4(a)を参照しながら、制御部20が実行する正順印刷処理について説明する。まず、図4(a)の各欄の意味について説明する。「ページ番号M」は、実際に生成される6ページ分の描画データ301〜306のページ番号を示す(即ち6ページ分の描画データの生成順序を示す)。「ページパートF」、「リソースパート」は、それぞれ、Mページ目の描画データを生成するために利用される圧縮ページパートのファイル名、当該圧縮ページパートに含まれる指定情報が示す圧縮リソースパートのファイル名を示す。また、「ディスカードパート」は、PDLデータ80に含まれる3個の圧縮ディスカードパート130,180,200に関する情報を示す。例えば、図2に示されるように、圧縮ディスカードパート130(discard1)は、タイミング情報132(3.fpage)と、データ情報134(image1)と、を含む。図4(a)では、タイミング情報132(3.fpage)と同じファイル名(3.fpage)が「ページパートF」として記述されている列内に、圧縮ディスカードパート130のファイル名(discard1)、及び、圧縮ディスカードパート130に含まれる圧縮イメージパート100のファイル名(image1)が記述されている。
取得部22は、USBメモリ6から、PDLデータ80を取得する。取得部22は、図2の上から下の順に従って、複数個の圧縮パート100等を順に取得し、取得済みの圧縮パート100等をワークメモリ40に順に格納する。従って、取得部22は、最初に、圧縮イメージパート100(image1)をワークメモリ40に格納し、次いで、圧縮ページパート110(1.fpage)をワークメモリ40に格納する。解析部24は、圧縮ページパート110(1.fpage)を解凍することによって、解凍済みページパート(図示省略)をワークメモリ40内に生成する。次いで、解析部24は、解凍済みページパート(1.fpage)から指定情報112(図2参照)を読み込む。解析部24は、指定情報112によって指定される圧縮イメージパート100(image1)を解凍することによって、解凍済みイメージパート(図示省略)をワークメモリ40内に生成する。続いて、解析部24は、解凍済みページパート(1.fpage)と、解凍済みイメージパート(image1)と、を用いて、1ページ目の描画データ301(図4(a)参照)をページメモリに生成する。具体的に言うと、解析部24は、解凍済みページパート(1.fpage)において指定されているイメージの位置に対応するページメモリ内の位置に、解凍済みイメージパート(image1)を書き込む。これにより、1ページ目の描画データ301が完成する。
続いて、制御部20は、1ページ目の描画データ301を印刷実行部18(図1参照)に供給する。この結果、印刷実行部18は、1ページ目の描画データ301に従って、1枚の印刷媒体に印刷する。制御部20は、1ページ目の描画データ301を印刷実行部18に供給し終えると、ページメモリに書き込まれている描画データ301をクリアする。なお、2ページ目以降のページの描画データが完成した際にも、制御部20は、描画データを印刷実行部18に供給し、ページメモリ内の描画データをクリアする。以下では、これらの処理についての記載を省略する。
次いで、解析部24は、圧縮ページパート120(2.fpage)から解凍済みページパート(図示省略)を生成する。解凍済みページパート(2.fpage)によって指定されている圧縮イメージパート100(image1)は、1ページ目の描画データ301が生成される際に、既に解凍されている。解析部24は、解凍済みページパート(2.fpage)と、解凍済みイメージパート(image1)と、を用いて、2ページ目の描画データ302を生成する。
次いで、解析部24は、圧縮ディスカードパート130(discard1)から解凍済みディスカードパート(図示省略)をワークメモリ40内に生成する。次いで、解析部24は、解凍済みディスカードパート(discard1)からタイミング情報132とデータ情報134とを読み込む。図2に示されるように、ページ情報132が「3.fpage」を示し、データ情報134が「image1」を示す。これは、タイミング情報132が示すページ情報(3.fpage)に対応する圧縮ページパート150(3.fpage)を用いて描画データの生成が開始される直前に、イメージパート(image1)をワークメモリ40から削除可能であることを示す。より具体的に言うと、2ページ目の描画データ302の生成が終了した後であって、3ページ目の描画データ303の生成が開始される前に、イメージパート(image1)を削除可能であることを示す。従って、解析部24は、イメージパート(image1)(圧縮イメージパート100及び解凍済みイメージパート)をワークメモリ40から削除する。これにより、ワークメモリ40が解放される。続いて、解析部24は、圧縮ページパート150(3.fpage)から解凍済みページパート(図示省略)を生成し、その解凍済みページパート(3.fpage)によって指定されている圧縮イメージパート140(image2)から解凍済みイメージパートを生成する。解析部24は、解凍済みページパート(3.fpage)と、解凍済みイメージパート(image2)と、を用いて、3ページ目の描画データ303を生成する。
次いで、解析部24は、圧縮ページパート170(4.fpage)から解凍済みページパート(図示省略)を生成し、その解凍済みページパート(4.fpage)によって指定されている圧縮フォントパート160(font1)から解凍済みフォントパートを生成する。解析部24は、解凍済みページパート(4.fpage)と、解凍済みフォントパート(font1)と、を用いて、4ページ目の描画データ304を生成する。具体的に言うと、解析部24は、解凍済みページパート(4.fpage)において指定されているテキストであって、解凍済みフォントパート(font1)に従って記述されたテキスト(図4(a)の「ABC」)を生成する。次いで、解析部24は、解凍済みページパート(4.fpage)において指定されているテキストの位置に対応するページメモリ内の位置に、上記のテキストを書き込む。
次いで、解析部24は、圧縮ディスカードパート180(discard2)から解凍済みディスカードパート(図示省略)を生成する。解凍済みディスカードパート(discard2)は、タイミング情報182(5.fpage)とデータ情報184(font1)とを含む。タイミング情報182が示すページ情報(5.fpage)の1ページ前である4ページ目の描画データ304の生成が終了しているために、解析部24は、フォントパート(font1)をワークメモリ40から削除する。続いて、解析部24は、圧縮ページパート190(5.fpage)から解凍済みページパート(5.fpage)を生成する。解析部24は、解凍済みページパート(5.fpage)と、3ページ目の描画データ303が生成される過程で既に解凍されている解凍済みイメージパート(image2)と、を用いて、5ページ目の描画データ305を生成する。
次いで、解析部24は、圧縮ディスカードパート200(discard3)から解凍済みディスカードパート(図示省略)を生成する。解凍済みディスカードパート(discard3)は、タイミング情報202(6.fpage)とデータ情報204(image2)とを含む。タイミング情報202が示すページ情報(6.fpage)の1ページ前である5ページ目の描画データ305の生成が終了しているために、解析部24は、イメージパート(image2)をワークメモリ40から削除する。続いて、解析部24は、圧縮ページパート220(6.fpage)から解凍済みページパート(6.fpage)を生成し、その解凍済みページパート(6.fpage)によって指定されている圧縮イメージパート210(image3)から解凍済みイメージパートを生成する。解析部24は、解凍済みページパート(6.fpage)と、解凍済みイメージパート(image3)と、を用いて、6ページ目の描画データ306を生成する。
(両面印刷処理)
ユーザは、プリンタ10の操作部14を操作することによって、両面印刷を実行することを選択することができる。この場合、制御部20は、S10でNOと判断し、両面印刷処理を実行する(S14〜S18)。
図4(b)を用いて、両面印刷処理について簡単に説明する。解析部24は、まず、奇数ページの圧縮ページパート110,150,190を順に用いて、3ページ分の描画データを順に生成する(M=1、2、3)。ここで生成される3ページ分の描画データは、図4(a)に示される描画データ301,303,305と同じものである。3ページ分の描画データ301,303,305に従って、3枚の印刷媒体のそれぞれの表面に対して印刷が実行される。次いで、解析部24は、偶数ページの圧縮ページパート120,170,220を順に用いて、3ページ分の描画データ302,304,306(図4(a)参照)を順に生成する(M=4、5、6)。ここで生成される3ページ分の描画データは、図4(a)に示される描画データ302,304,306と同じものである。描画データ301に従って印刷された印刷媒体の裏面に対して、描画データ302に従って印刷が実行される。同様に、描画データ303,305に従って印刷された印刷媒体の裏面に対して、描画データ304,306に従って印刷が実行される。
上述したように、両面印刷処理では、PDLデータ80に含まれる6個の圧縮ページパート110等の6個のファイル名が示すページ順で描画データが生成されない。このために、圧縮ディスカードパート130等のタイミング情報132等に従ってリソースパートが削除されると、以下の問題が発生する。例えば、圧縮ディスカードパート130は、タイミング情報132(3.fpage)とデータ情報134(image1)とを含む。図4(b)に示されるように、イメージパート(image1)は、1ページ目の描画データ(M=1)を生成するために利用されると共に、4ページ目の描画データ(M=4)を生成するために利用される。仮に、タイミング情報132が示す「3.fpage」のタイミング(M=2)でイメージパート(image1)が削除されると、4ページ目の描画データ(M=4)を生成するのに必要なイメージパート(image1)が、4ページ目の描画データが生成される前に削除されてしまう。この場合、解析部24は、USBメモリ6から圧縮イメージパート100(image1)を再び取得し、解凍済みイメージパート(image1)を再び生成する必要がある。解析部24の処理負荷が大きい。従って、イメージパート(image1)は、4ページ目の描画データ(M=4)の生成が終了した後に削除されるべきである(矢印310参照)。好ましくは、5ページ目の描画データ(M=5)の生成が開始される前に削除されるべきである。イメージパート(image1)が不要になった直後に、イメージパート(image1)を削除することができるからである。
同様に、圧縮ディスカードパート180(discard2)が削除対象として指定しているフォントパート(font1)は、5ページ目の描画データ(M=5)の生成が終了した後に削除されるべきである(矢印312参照)。好ましくは、6ページ目の描画データ(M=6)の生成が開始される前に削除されるべきである。なお、圧縮ディスカードパート200(discard3)は、タイミング情報202(6.fpage)とデータ情報204(image2)とを含む。仮に、タイミング情報202が示す「6.fpage」のタイミング(M=6)でイメージパート(image2)が削除されても、2ページ目及び3ページ目の描画データ(M=2、3)を生成するのに必要なイメージパート(image2)が、当該描画データが生成される前に削除されてしまうという問題は発生しない。しかしながら、イメージパート(image2)は、4ページ目以降の描画データを生成するために利用されない。従って、イメージパート(image2)は、3ページ目の描画データの生成が終了した後であって、4ページ目の描画データの生成が開始される前に、削除されることが好ましい(矢印314参照)。
次いで、両面印刷処理の詳細について説明する。図3に示されるように、解析部24は、まず、両面印刷用テーブルをワークメモリ40内に生成する(S14)。この時点では、両面印刷用テーブル内に何も書き込まれていない。図5(a)は、両面印刷用テーブル400の一例を示す。S14では、さらに、以下の処理が実行される。取得部22は、PDLデータ80に含まれる全ての圧縮パート100〜220のファイル名を取得する。これにより、図2に示される配列順序に従って並んでいる複数個のファイル名が取得される。なお、ファイル名の取得の際には、各圧縮パート100〜220のデータ自体は取得されない(各圧縮パート100等がワークメモリ40に格納されない)。解析部24は、全ての圧縮パート100等のファイル名を読み込むことによって、PDLデータ80内に6ページ分の圧縮ページパート110等が存在することを特定する。解析部24は、両面印刷用テーブル400のMの行に、生成されるべき描画データのページ番号1〜6を順に書き込む。さらに、解析部24は、両面印刷用テーブル400のFの行に、各圧縮ページパート110等のファイル名(1.fpage等)を書き込む。この際、解析部24は、奇数ページに対応する3個の圧縮ページパート110,150,190のファイル名を、M=1〜3に対応する3個の欄に書き込む。次いで、解析部24は、偶数ページに対応する3個の圧縮ページパート120,170,220のファイル名を、M=4〜6に対応する3個の欄に書き込む。
次いで、解析部24は、S16の処理を実行する。解析部24は、S14で取得される複数個のファイル名の中から、1個の圧縮リソースパート100のファイル名(image1)を特定し、特定されたファイル名(image1)を両面印刷用テーブル400に書き込む(符号410参照)。次いで、解析部24は、図2に示される配列順序において、ファイル名(image1)より後に位置するファイル名群の中から、最も前に位置する圧縮ページパート110のファイル名(1.fpage)を特定する。解析部24は、ファイル名(image1)に対応する行410内において、特定されたファイル名(1.fpage)に対応する欄に使用情報412を書き込む。
同様に、解析部24は、圧縮リソースパート140のファイル名(image2)を両面印刷用テーブル400に書き込む(符号420)。さらに、解析部24は、ファイル名(image2)より後に位置するファイル名群の中から、最も前に位置する圧縮ページパートのファイル名(3.fpage)を特定し、特定されたファイル名(3.fpage)に対応する欄に使用情報422を書き込む。圧縮フォントパート160(font1)及び圧縮イメージパート210(image3)についても、同様に、ファイル名430,440及び使用情報432,442が書き込まれる。
続いて、取得部22は、圧縮ディスカードパート130(discard1)をUSBメモリ6から取得し、圧縮ディスカードパート130をワークメモリ40内に格納する。解析部24は、圧縮ディスカードパート130(discard1)から解凍済みディスカードパートを生成し、解凍済みディスカードパートに含まれるタイミング情報132(3.fpage)及びデータ情報134(image1)を特定する。解析部24は、特定されたタイミング情報132が示すページ情報(3.fpage)の1ページ前のページ情報(2.fpage)を特定する。次いで、解析部24は、特定されたデータ情報134(image1)に対応する行410内において、特定されたページ情報(2.fpage)に対応する欄に、使用情報414を書き込む。続いて、解析部24は、行410内において、削除情報416を書き込む。具体的に言うと、解析部24は、行410内の最後の使用情報414に対応するM=4に「1」を加算することによって、削除情報416が書き込まれるべきM=5を特定する。解析部24は、行410内において、特定されたM=5に対応する欄に、削除情報416を書き込む。
同様に、解析部24は、圧縮ディスカードパート180(discard2)から生成される解凍済みディスカードパートに含まれるタイミング情報182(5.fpage)に基づいて、1ページ前のページ情報(4.fpage)を特定する。解凍済みディスカードパート(discard2)に含まれるデータ情報184(font1)に対応する行430内のページ情報(4.fpage)に対応する欄には、既に使用情報432が書き込まれている。従って、解析部24は、使用情報432を新たに書き込まない。続いて、解析部24は、削除情報416を書き込む場合と同様の手法を用いて、行430内に削除情報436を書き込む。
さらに、解析部24は、圧縮ディスカードパート200(discard3)から生成される解凍済みディスカードパートに含まれるタイミング情報202(6.fpage)に基づいて、1ページ前のページ情報(5.fpage)を特定する。解析部24は、解凍済みディスカードパート(discard3)に含まれるデータ情報204(image2)に対応する行420内のページ情報(5.fpage)に対応する欄に、使用情報423を書き込む。さらに、解析部24は、使用情報422に対応するF(3.fpage)と、使用情報423に対応するF(5.fpage)と、の間のページを示すF(4.fpage)を特定する。解析部24は、行420内のF(4.fpage)に対応する欄に、使用情報424を書き込む。実際には、圧縮ページパート170(4.fpage)は、image2を示すデータ情報を含んでいないが(図2参照)、解析部24は、圧縮ページパート170のデータ内容を解析していないために、圧縮ページパート170がimage2を示すデータ情報を含むのか否かがわからない。即ち、圧縮ページパート170がimage2を示すデータ情報を含み得るために、解析部24は、行420内の4.fpageに対応する欄に、使用情報424を書き込む。続いて、解析部24は、削除情報416を書き込む場合と同様の手法を用いて、行420内に削除情報426を書き込む。なお、行440内の最後の使用情報442は、最後のページであるM=6に対応する欄に書き込まれているために、解析部24は、行440内に削除情報を書き込まない。
次いで、制御部20は、両面印刷用テーブル400を参照しながら、描画データを生成する処理を実行する(S18)。まず、取得部22は、M=1に対応づけられている圧縮ページパート110(1.fpage)を取得する。次いで、解析部24は、圧縮ページパート110(1.fpage)から解凍済みページパートを生成する。この結果、解凍済みページパートに含まれるデータ情報112(image1)が示す圧縮イメージパート100が必要であることがわかるために、取得部22は、圧縮イメージパート100(image1)を取得する。解析部24は、圧縮イメージパート100(image1)から解凍済みイメージパートを生成する。解析部24は、解凍済みページパート(1.fpage)と、解凍済みイメージパート(image1)と、を用いて、1ページ目の描画データ301を生成する。
次いで、解析部24は、M=2に対応づけられている圧縮ページパート150(3.fpage)等を用いて、2ページ目の描画データ303を生成する。同様に、3ページ目の描画データ305、及び、4ページ目の描画データ302が順に生成される。image1に対応する行410内の削除情報416は、M=5に対応する欄に書き込まれている。これは、4ページ目の描画データ302の生成が終了した後であって、5ページ目の描画データ304の生成が開始される前に、イメージパート(image1)をワークメモリ40から削除可能であることを示す。従って、解析部24は、4ページ目の描画データ302の生成が終了すると、イメージパート(image1)をワークメモリ40から削除する。
次いで、解析部24は、M=5に対応づけられている圧縮ページパート170(4.fpage)等を用いて、5ページ目の描画データ304を生成する。続いて、解析部24は、削除情報426,436に従って、イメージパート(image2)と、フォントパート(font1)と、をワークメモリ40から削除する。最後に、解析部24は、M=6に対応づけられている圧縮ページパート220(6.fpage)等を用いて、6ページ目の描画データ306を生成する。なお、6ページ目の描画データ306が生成された後に、ワークメモリ40内に残っている全ての圧縮パート及び解凍済みパートが削除される。
(逆順印刷処理)
ユーザは、プリンタ10の操作部14を操作することによって、逆順印刷を実行することを選択することができる。この場合、制御部20は、S10でNOと判断し、逆順印刷処理を実行する(S14〜S18)。
図4(c)を用いて、逆順印刷処理について簡単に説明する。解析部24は、6ページ分の圧縮ページパート110等を、ページ番号が大きいものから順に利用して、6ページ分の描画データを順に生成する。従って、図4(a)に示される描画データ306,305,304,303,302,301の順に、6ページ分の描画データが生成される。この場合、仮に、圧縮ディスカードパート130等のタイミング情報132等に従ってリソースパートが削除されると、以下の問題が発生する。例えば、圧縮ディスカードパート130は、タイミング情報132(3.fpage)とデータ情報134(image1)とを含む。仮に、タイミング情報132が示す「3.fpage」のタイミング(M=4)でイメージパート(image1)が削除されると、5及び6ページ目の描画データ(M=5、M=6)を生成するのに必要なイメージパート(image1)が、5及び6ページ目の描画データが生成される前に削除されてしまう。従って、イメージパート(image1)は、6ページ目の描画データ(M=6)の生成が終了した後に削除されるべきである。同様に、圧縮ディスカードパート180(discard2)が削除対象として指定しているフォントパート(font1)は、3ページ目の描画データ(M=3)の生成が終了した後に削除されるべきである(矢印322参照)。さらに、圧縮ディスカードパート200(discard3)が削除対象として指定しているイメージパート(image2)は、4ページ目の描画データ(M=4)の生成が終了した後に削除されるべきである(矢印320参照)。なお、PDLデータ80内には、image3に対応するイメージパートを削除対象として指定している圧縮ディスカードパートが存在しない。しかしながら、image3に対応するイメージパートは、1ページ目の描画データ(M=1)の生成が終了した後であって、2ページ目の描画データ(M=2)の生成が開始される前に削除されるのが好ましい。
次いで、逆順印刷処理の詳細について説明する。図3に示されるように、解析部24は、逆順印刷用テーブルをワークメモリ40内に生成する(S14)。図5(b)は、逆順印刷用テーブル450の一例を示す。両面印刷処理の場合と同様に、解析部24は、逆順印刷用テーブル450のMの行に、ページ番号1〜6を順に書き込む。さらに、解析部24は、Fの行に、6個の圧縮ページパート110等の6個のファイル名(1.fpage等)を書き込む。この際、解析部24は、Mが示すページ番号(1〜6)に対して、ファイル名(1.fpage等)が示すページ番号が逆順になるように、6個のファイル名を書き込む。
次いで、解析部24は、両面印刷処理の場合と同様に、S16の処理を実行する。この結果、行460〜490のそれぞれにおいて、使用情報462,464,472〜474,482,492と、削除情報476,486,496が書き込まれる。次いで、制御部20は、両面印刷処理の場合と同様に、逆順印刷用テーブル450を参照しながら、S18の処理を実行する。
プリンタ10が実行するダイレクト印刷処理について詳しく説明した。プリンタ10は、ドロップ印刷処理も実行することができる。ドロップ印刷処理について説明する。ユーザは、PC50の操作部54を用いて、印刷対象のデータ(文書データ等)を指定し、その印刷対象のデータをプリンタ10に印刷させるための操作を実行することができる。ユーザは、さらに、PC50の操作部54を操作することによって、正順印刷、両面印刷、又は、逆順印刷を実行することを選択することができる。この場合、PC50の制御部60は、上記の印刷対象のデータからPDLデータ80を生成する。なお、制御部60は、選択された印刷順序を示す特定の圧縮パート(図示省略)をPDLデータ80に追加する。制御部60は、PDLデータ80をプリンタ10に送信する。この結果、プリンタ10の取得部22は、ネットワークインターフェイス16bを介して、PDLデータ80を取得する。プリンタ10の制御部20は、上記の特定の圧縮パートに基づいて、ユーザによって選択された印刷順序を知ることができる。プリンタ10の制御部20は、上記のダイレクト印刷処理と同様に、ユーザによって選択された印刷順序に従って、正順印刷処理、両面印刷処理、又は、逆順印刷処理を実行する。ただし、ドロップ印刷の場合、プリンタ10は、PDLデータ80に含まれる複数個の圧縮パート100等のファイル名のみをPC50から取得するのが困難である。従って、両面印刷処理及び逆順印刷処理では、PDLデータ80に含まれる全ての圧縮パート100等がワークメモリ40内に格納された後に、テーブル400,450(図5(a)及び(b)参照)が生成される。この点がダイレクト印刷処理と異なる。
本実施例のデータ処理システム2について詳しく説明した。本実施例によると、ユーザによって両面印刷又は逆順印刷が指示される場合に、プリンタ10は、リソースパートを削除すべき適切なタイミングを決定することができる(図5(a)及び(b)の削除情報416等参照)。両面印刷処理又は逆順印刷処理において、リソースパートを利用して描画データが生成される前に、上記のリソースパートデータが削除されるという事象が発生するのを抑制することができる。
本実施例の各要素と本発明の各要素との対応関係を記載しておく。プリンタ10が「PDLデータ処理装置」の一例である。例えば、圧縮イメージパート140(image2)、当該圧縮イメージパート140を削除対象として指定している圧縮ディスカードパート200(discard3)、当該圧縮ディスカードパート200に含まれるタイミング情報202(6.fpage)が、それぞれ、「特定のリソースパートデータ」、「特定の削除パートデータ」、「特定のタイミング」の一例である。この例の場合、圧縮ページパート150(3.fpage)、圧縮ページパート190(5.fpage)が、それぞれ、「最初のページパートデータ」、「最後のページパートデータ」の一例である。従って、圧縮ページパート170(4.fpage)が「最初のページパートデータと最後のページパートデータとの間に位置する全てのページパートデータ」の一例である。また、図2の上から下の順が「第1の配列順序」の一例である。
(第1実施例の変形例)
解析部24は、6個の圧縮ページパート110等のデータ内容を解析することによって、テーブル400,450を作成してもよい。即ち、解析部24は、まず、6個の圧縮ページパート110等のそれぞれについて、当該圧縮ページパートがどの圧縮リソースパートを指定しているのかを解析してもよい。解析部24は、この解析結果に応じて、使用情報412等を書き込んでもよい。この場合、例えば、逆順印刷処理では、圧縮イメージパート140(image2)に対応する行420内(図5(a)参照)において、4.fpageに対応する欄に使用情報424が書き込まれない。4.fpageに対応する圧縮ページパート170(4.fpage)は、圧縮イメージパート140(image2)を指定していないからである(図2参照)。行420内のM=2及び3に対応する2個の欄のみに使用情報422,423が書き込まれる。この結果、行420内のM=4に対応する欄に削除情報が書き込まれる。この構成によると、プリンタ10は、図4(b)に示されるように、圧縮イメージパート140(image2)が削除されるべき好ましいタイミング(M=4;図4(b)参照)を決定することができる。
(第2実施例)
第2実施例について説明する。本実施例では、PC50の制御部60は、PDLデータ80から新たなPDLデータを生成する。第1実施例のドロップ印刷処理の場合と同様に、ユーザは、PC50の操作部54を用いて、印刷対象のデータをプリンタ10に印刷させるための操作を実行することができる。これにより、PC50の取得部62は、上記の印刷対象のデータからPDLデータ80を生成することによって、PDLデータ80を取得する。ユーザは、PC50の操作部54を用いて、印刷順序を選択することができる。正順印刷が選択された場合に、PC50の送信部68は、PDLデータ80をプリンタ10に送信する。この結果、プリンタ10は、第1実施例の正順印刷処理を実行する。
一方において、両面印刷又は逆順印刷が選択された場合に、PC50の制御部60は、図6及び図7のフローチャートを実行する。以下では、両面印刷が選択された場合を例にして説明する。逆順印刷が選択された場合には、同様に処理が実行される。解析部64は、図3のS14及びS16の処理と同様に、両面印刷用テーブル400(図5(a))を生成する(S30,S32)。次いで、新データ生成部66は、印刷設定パート92を生成し、印刷設定パート92をワークメモリ70内に格納する(S33)。図8には、印刷設定パート92が示されている。なお、図8の上から下の順序は、ワークメモリ70内でのデータの配列順序を示す。従って、印刷設定パート92が最も前に位置するデータであり、圧縮ページパート220(6.fpage)が最も後に位置するデータである。印刷設定パート92は、両面印刷用テーブル400に含まれるMの行及びFの行の対応関係を示すデータを含む。例えば、印刷設定パート92では、M=1と1.fpageとが対応づけられていると共に、M=2と3.fpageとが対応づけられている。
次いで、新データ生成部66は、M=1を特定し(S34)、M=1に対応する領域500,502(図8参照)をワークメモリ70内に確保する(S36)。以下では、領域500のことを「追加領域」と呼び、領域502のことを「通常領域」と呼ぶ。なお、ワークメモリ70内でのデータの配列順序(即ち図8の上から下の順序)において、追加領域500は、通常領域502より前に確保される。続いて、新データ生成部66は、両面印刷用テーブル400から、M=1に対応づけられているF(1.fpage)を特定し、特定されたF(1.fpage)をファイル名として有する圧縮ページパート110をPDLデータ80から特定する(S38)。次いで、新データ生成部66は、特定された圧縮ページパート110(1.fpage)を、M=1に対応する通常領域502に書き込む(S44)。なお、新データ生成部66は、S38で特定された圧縮ページパートをワークメモリ70に書き込むと、その圧縮ページパートをPDLデータ80から削除する。
続いて、新データ生成部66は、両面印刷用テーブル400を用いて、M=1の列内の使用情報412に対応づけられているリソースパートのファイル名(image1)を特定する。次いで、新データ生成部66は、特定されたファイル名(image1)を有する圧縮イメージパート100をPDLデータ80から特定する(S46)。次いで、新データ生成部66は、特定された圧縮イメージパート100(image1)を、M=1に対応する追加領域500に書き込む(S48)。なお、新データ生成部66は、S46で特定された圧縮リソースパートをワークメモリ70に書き込むと、その圧縮リソースパートをPDLデータ80から削除する。次いで、新データ生成部66は、現在のM(即ちM=1)に「1」を加算することによって、新たなM(即ちM=2)を生成する(S50)。新データ生成部66は、新たなMが、最後のページ(即ちM=6)より大きいのか否かを判断する(S52)。S52でNOの場合、S36に戻る。これにより、新たなMに従ってS36〜S50の処理が再び実行される。この結果、M=2〜6に対応する通常領域510〜550及び追加領域512〜552がワークメモリ70内に確保され、PDLデータ80に含まれる全ての圧縮リソースパート100等及び全ての圧縮ページパート110等が領域510〜550,512〜552に書き込まれる。
S52でYESの場合、新データ生成部66は、両面印刷用テーブル400に書き込まれている1個の圧縮リソースパートのファイル名を特定する(図7のS70)。次いで、新データ生成部66は、S70で特定されたファイル名を有する圧縮リソースパートを削除するための新たな圧縮ディスカードパートを生成し(S72)、新たな圧縮ディスカードパートをワークメモリ70に格納する(S74)。例えば、S70において圧縮イメージパート100のファイル名(image1)が特定された場合には、新データ生成部66は、両面印刷用テーブル400から、ファイル名(image1)に対応づけられている削除情報416を特定し、特定された削除情報416に対応づけられているF(4.fpage)及びM(M=5)を特定する。新データ生成部66は、特定されたF(4.fpage)を示すタイミング情報612と、特定されたファイル名(image1)を示すデータ情報614と、を含む新たなディスカードパートを生成し、当該ディスカードパートを圧縮することによって、新たな圧縮ディスカードパート610(discard new1)を生成する(図8参照)。これにより、S72の処理が終了する。次いで、新データ生成部66は、S72で生成された新たな圧縮ディスカードパート(discard new1)を、S72で特定されたM=5に対応する追加領域540に書き込む(S74)。
新データ生成部66は、両面印刷用テーブル400に書き込まれている全ての圧縮リソースパートについて、S70〜S74の処理を実行したのか否かを判断する(S76)。ここでNOの場合、S70に戻る。新データ生成部66は、他の圧縮リソースパート(image2、font1等)について、S70〜S74の処理を実行する。この結果、図8に示されるように、タイミング情報622,632及びデータ情報624,634を含む新たな圧縮ディスカードパート620,630(discard new2、discard new3)が、M=6に対応する追加領域550に格納される。なお、両面印刷用テーブル400では、ファイル名(image3)に対応づけて削除情報が書き込まれていない。従って、新データ生成部66は、S70においてファイル名(image3)が特定されても、S72及びS74の処理をスキップする。S76でYESの場合、新PDLデータ生成処理が終了する。これにより、図8に示されるように、新PDLデータ80aが完成する。
PC50の送信部68は、図8の上から下の順序に従って、新たなPDLデータ80aに含まれる複数個の圧縮パート100等をプリンタ10に順に送信する。プリンタ10は、新たなPDLデータ80aに従って、印刷処理を実行する。即ち、プリンタ10は、印刷設定パート92に示される順序に従って、6個の圧縮ページパート110を順に用いて、6ページ分の描画データを順に生成する。また、例えば、新たな圧縮ディスカードパート610(discard new1)は、タイミング情報612(4.fpage)と、データ情報614(image1)と、を含む。これは、タイミング情報612(4.fpage)に対応する圧縮ページパート170を用いて描画データの生成が開始される直前に、データ情報614(image1)が示すイメージパートを削除可能であることを示す。従って、プリンタ10は、圧縮ページパート170を用いて5ページ目の描画データの生成が開始される直前(即ち4ページ目の描画データの生成が終了した直後)に、イメージパート(image1)を削除する。本実施例によっても、第1実施例と同様の効果を得ることができる。なお、本実施例において、第1実施例の変形例の手法を適用してもよい。
本実施例では、PC50が「PDLデータ処理装置」の一例である。また、図8の上から下の順序が「第2の配列順序」の一例である。また、本実施例では、図8に示されるように、例えば、追加領域500の後に通常領域502を設ける構成を採用し、追加領域500に圧縮イメージパート100を格納すると共に、通常領域502に圧縮ページパート110を格納している。この構成が、「特定のリソースパートデータ(例えば100)を指定する特定の指定情報(例えば112)を含み得る最初のページパートデータ(例えば110)の直前に、前記特定のリソースパートデータ(例えば100)が位置する」の一例である。
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
(1)例えば、図5(a)の両面印刷用テーブル400に示されるように、image1のリソースパートは、M=1に対応する描画データを生成するために利用され、M=2及び3に対応する描画データを生成するために利用されず、M=4に対応する描画データを生成するために利用される。M=1に対応する描画データの生成に利用されたimage1のリソースパートが、その後のNページ分(Nは1以上の整数)の描画データの生成に利用されない場合には、M=1に対応する描画データの生成が終了した際に、image1のリソースパートが削除されるように構成してもよい。この場合、第1実施例のようなダイレクト印刷の場合には、プリンタ10は、M=4に対応する描画データが生成されるべき際に、圧縮イメージパート(image1)をUSBメモリ6から再び取得してもよい。また、第2実施例のような新PDLデータ80aを生成する場合には、PC50は、M=4に対応する追加領域530に、圧縮イメージパート(image1)と同じデータ内容を有する新たな圧縮イメージパート(例えばimage new1)を格納してもよい。
(2)上記の各実施例の技術は、XPSデータ以外の種類のPDLデータを利用する場合にも適用することができる。例えば、PDF、PS(Post Script)等を利用する場合にも適用することができる。なお、本明細書の「PDLデータ」という用語は、ページという概念を用いて記述されるあらゆる種類のデータを含む概念である。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
2:データ処理システム、10:プリンタ、20:制御部、50:PC、60:制御部、80:PDLデータ、100,140,210:圧縮イメージパート、160:圧縮フォントパート、110,120,150,170,190,220:圧縮ページパート、130,180,200:圧縮ディスカードパート

Claims (11)

  1. PDLデータを処理するPDLデータ処理装置であって、
    複数ページ分の描画データを生成するために利用されるべき複数個の圧縮形式の描画パートデータと、削除対象の解凍済みの描画パートデータが削除されるべきタイミングを示す削除パートデータと、含む前記PDLデータであって、第1の順序に従って前記複数ページ分の描画データを順に生成するためのデータ構造を有する前記PDLデータを取得する取得部と、
    ユーザによって指定される印刷順序が、前記第1の順序と異なる第2の順序に従って前記複数ページ分の描画データが順に生成されるべき特定の印刷順序である場合に、前記PDLデータを解析することによって、前記削除対象の解凍済みの描画パートデータが削除されるべき新たなタイミングであって、前記第2の順序に対応する前記新たなタイミングを決定する解析部と、
    前記複数個の圧縮形式の描画パートデータのそれぞれを順次解凍して、複数個の解凍済みの描画パートデータを順次生成する解凍部と、
    前記複数個の解凍済みの描画パートデータのそれぞれを、前記PDLデータ処理装置のメモリに順次記憶させる記憶制御部と、
    前記複数個の解凍済みの描画パートデータを利用して、前記第2の順序に従って、印刷実行部に供給されるべき前記複数ページ分の描画データを順に生成する描画データ生成部と、
    前記複数ページ分の描画データが順に生成される過程において、決定済みの前記新たなタイミングで、前記削除対象の解凍済みの描画パートデータを前記メモリから削除する削除部と、
    を備えるPDLデータ処理装置。
  2. 前記複数個の圧縮形式の描画パートデータは、リソースパートデータと、前記複数ページ分のページパートデータと、を含み、
    各ページのページパートデータには、ページ情報が対応づけられており、
    各ページのページパートデータは、当該ページの描画データを生成するために利用されるべき対象のリソースパートデータを指定する指定情報を含み、
    前記第1の順序は、前記複数ページ分のページパートデータに対応づけられている複数個のページ情報が示すページ順である、請求項1に記載のPDLデータ処理装置。
  3. 前記解析部は、さらに、解凍済みの特定のリソースパートデータが削除されるべき特定のタイミングを示す特定の削除パートデータが前記PDLデータに含まれる場合に、前記解凍済みの特定のリソースパートデータを指定する特定の指定情報を含み得る特定のページパートデータを特定し、
    前記解析部は、前記第2の順序において、前記解凍済みの特定のページパートデータを利用して描画データの生成が終了する後のタイミングを、前記解凍済みの特定のリソースパートデータが削除されるべき特定の新たなタイミングとして決定する、請求項2に記載のPDLデータ処理装置。
  4. 前記解析部は、複数個の前記特定のページパートデータが特定される場合に、前記第2の順序において、前記複数個の特定のページパートデータの全てを利用して描画データの生成が終了する後のタイミングを、前記特定の新たなタイミングとして決定する、請求項3に記載のPDLデータ処理装置。
  5. 前記PDLデータでは、第1の配列順序に従って、前記複数個の描画パートデータが順に配列されており、
    前記解析部は、
    前記第1の配列順序において、前記特定の指定情報を含み得る最初のページパートデータを特定し、
    前記第1の配列順序において、前記特定の指定情報を含み得る最後のページパートデータを特定し、
    前記最初のページパートデータと、前記最後のページパートデータと、前記第1の配列順序において、前記最初のページパートデータと前記最後のページパートデータとの間に位置する全てのページパートデータとを、前記複数個の特定のページパートデータとして特定する、請求項4に記載のPDLデータ処理装置。
  6. 前記解析部は、前記第1の配列順序において、前記特定のリソースパートデータより後に位置する描画パートデータ群のうち、最初に位置するページパートデータを、前記最初のページパートデータとして特定する、請求項5に記載のPDLデータ処理装置。
  7. 前記特定の削除パートデータは、前記解凍済みの特定のリソースパートデータが削除されるべき前記特定のタイミングを示す特定のページ情報を含み、
    前記解析部は、前記特定のページ情報の1ページ前のページ情報が対応づけられているページパートデータを、前記最後のページパートデータとして特定する、請求項5又は6に記載のPDLデータ処理装置。
  8. 前記特定の印刷順序は、両面印刷に対応する印刷順序、又は、逆順印刷に対応する印刷順序である、請求項1から7のいずれか一項に記載のPDLデータ処理装置。
  9. 前記描画データ生成部は、前記複数個の解凍済みの描画パートデータのうち、少なくとも1個の同じ解凍済みの描画パートデータを利用して、2ページ分以上の描画データを生成する、請求項1から8のいずれか一項に記載のPDLデータ処理装置。
  10. 前記PDLデータを格納している外部メモリが接続されるインターフェイスと、
    前記特定の印刷順序を指定するために、前記ユーザによって操作される操作部と、
    前記複数ページ分の描画データに従って、複数枚の印刷媒体に印刷を順に実行する前記印刷実行部と、
    をさらに備える、請求項1からのいずれか一項に記載のPDLデータ処理装置。
  11. PDLデータを処理するPDLデータ処理装置のためのコンピュータプログラムであって、
    前記PDLデータ処理装置のコンピュータに、以下の各処理、即ち、
    複数ページ分の描画データを生成するために利用されるべき複数個の圧縮形式の描画パートデータと、削除対象の解凍済みの描画パートデータが削除されるべきタイミングを示す削除パートデータと、含む前記PDLデータであって、第1の順序に従って前記複数ページ分の描画データを順に生成するためのデータ構造を有する前記PDLデータを取得する取得処理と、
    ユーザによって指定される印刷順序が、前記第1の順序と異なる第2の順序に従って前記複数ページ分の描画データが順に生成されるべき特定の印刷順序である場合に、前記PDLデータを解析することによって、前記削除対象の解凍済みの描画パートデータが削除されるべき新たなタイミングであって、前記第2の順序に対応する前記新たなタイミングを決定する解析処理と、
    前記複数個の圧縮形式の描画パートデータのそれぞれを順次解凍して、複数個の解凍済みの描画パートデータを順次生成する解凍処理と、
    前記複数個の解凍済みの描画パートデータのそれぞれを、前記PDLデータ処理装置のメモリに順次記憶させる記憶制御処理と、
    前記複数個の解凍済みの描画パートデータを利用して、前記第2の順序に従って、印刷実行部に供給されるべき前記複数ページ分の描画データを順に生成する描画データ生成処理と、
    前記複数ページ分の描画データが順に生成される過程において、決定済みの前記新たなタイミングで、前記削除対象の解凍済みの描画パートデータを前記メモリから削除する削除処理と、
    を実行させるコンピュータプログラム。
JP2009220363A 2009-09-25 2009-09-25 Pdlデータ処理装置とコンピュータプログラム Active JP5040978B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009220363A JP5040978B2 (ja) 2009-09-25 2009-09-25 Pdlデータ処理装置とコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009220363A JP5040978B2 (ja) 2009-09-25 2009-09-25 Pdlデータ処理装置とコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2011070366A JP2011070366A (ja) 2011-04-07
JP5040978B2 true JP5040978B2 (ja) 2012-10-03

Family

ID=44015604

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009220363A Active JP5040978B2 (ja) 2009-09-25 2009-09-25 Pdlデータ処理装置とコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP5040978B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013206250A (ja) 2012-03-29 2013-10-07 Canon Inc 情報処理装置、情報処理システム、制御方法およびコンピュータプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3768670B2 (ja) * 1997-02-24 2006-04-19 キヤノン株式会社 印刷システム及び印刷制御方法
JP3970291B2 (ja) * 2005-07-21 2007-09-05 株式会社アクセル 画像プロセッサ、画像処理システムおよびデータ転送方法
JP2007207194A (ja) * 2006-02-06 2007-08-16 Canon Inc 印刷装置、外部装置、印刷システム及び印刷装置の制御方法
JP4619399B2 (ja) * 2007-12-11 2011-01-26 キヤノンItソリューションズ株式会社 情報処理装置及び処理方法、並びにプログラム

Also Published As

Publication number Publication date
JP2011070366A (ja) 2011-04-07

Similar Documents

Publication Publication Date Title
US8045198B2 (en) System and method for processing a change history of a PDF file
CN101794201A (zh) 打印信息转换装置和方法、打印装置以及打印系统
US7957033B2 (en) Print control operations
JP5077105B2 (ja) 画像処理装置、画像処理プログラム及び画像処理システム
JP5040978B2 (ja) Pdlデータ処理装置とコンピュータプログラム
JP2015028750A (ja) 画像形成装置、画像形成装置の制御方法、およびプログラム
US7697442B2 (en) Output apparatus configured to output data for printing, processing apparatus configured to process printing data, and method
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
US20140268237A1 (en) Client apparatus, printing system, and display method
JP2005165466A (ja) 印刷制御装置、印刷制御方法およびコンピュータプログラム
JP2014087962A (ja) 印刷装置
JP4775484B2 (ja) Pdlデータ処理装置とpdlデータ処理プログラム
JP4532872B2 (ja) 文書処理方法及び文書処理装置
JP4957816B2 (ja) Pdlデータ処理装置とpdlデータ処理プログラム
JP4775480B2 (ja) Pdlデータ処理装置とpdlデータ処理プログラム
JP5407700B2 (ja) 画像処理システム、情報処理装置、画像処理装置、及びプログラム
JP4525781B2 (ja) 画像処理装置
JP6545246B2 (ja) 画像形成装置、画像形成装置の制御方法、およびプログラム
JP2006171869A (ja) 画像読み込み装置
JP6743582B2 (ja) 画像処理装置及びプログラム
JP2014141003A (ja) 画像形成装置及びその制御方法、並びにプログラム
JP2006343877A (ja) 印刷システム、制御方法、及びプログラム
JP2019148983A (ja) 制御装置及びプログラム
JP2006120113A (ja) アドレス帳データを用いたデータの処理装置及び方法
JP2010050565A (ja) データ処理装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120327

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120329

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120525

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: 20120612

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: 20120625

R150 Certificate of patent or registration of utility model

Ref document number: 5040978

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: 20150720

Year of fee payment: 3