画像形成装置及びプログラム
【課題】文書の裏表紙にそれ以外のページとは異なる印刷条件が適用される場合であっても、裏表紙のページに対し、その裏表紙が印刷される印刷媒体に合った画像処理を施した上で印刷を行う。
【解決手段】印刷装置が、文書の裏表紙となる印刷媒体に面付けされるページ数分の印刷データを、描画処理が行われる前のデータとして文書のページごとに順次取得、蓄積していく。そして、印刷ジョブの終端まで処理が進んだとき、即ち処理すべき次のページのデータがなくなったときに、蓄積されている描画処理が行われる前のデータに対応するページに対して、裏表紙が印刷される印刷媒体、その印刷媒体への面付け等を含む印刷条件を適用した上で、そのページの印刷データに対する描画処理を行う。
【解決手段】印刷装置が、文書の裏表紙となる印刷媒体に面付けされるページ数分の印刷データを、描画処理が行われる前のデータとして文書のページごとに順次取得、蓄積していく。そして、印刷ジョブの終端まで処理が進んだとき、即ち処理すべき次のページのデータがなくなったときに、蓄積されている描画処理が行われる前のデータに対応するページに対して、裏表紙が印刷される印刷媒体、その印刷媒体への面付け等を含む印刷条件を適用した上で、そのページの印刷データに対する描画処理を行う。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像形成装置及びプログラムに関する。
【背景技術】
【0002】
特許文献1には、テンプレートデータに基づいて印刷データを生成する情報処理装置であって、少なくとも複数種類のテンプレートデータを記憶する記憶手段と、前記記憶手段に記憶されたテンプレートデータの内、指定されたテンプレートデータに対する印刷条件を設定する設定手段と、前記設定手段で設定された印刷条件に基づいて、印刷データを生成する生成手段とを備える情報処理装置が記載されている。
【0003】
特許文献2には、プリンタで製本印刷を得るための印刷データを生成する情報処理装置であって、入力される複数ページのデータから表紙に面付けすべきページを判定する表紙ページ判定手段と、前記表紙ページ判定手段により判定されるページのデータに基づいて、表紙への面付け処理を行う表紙面付け処理手段と、前記表紙面付け処理手段で表紙に面付けされていない残りのページのデータに基づいて、本文への面付け処理を行う製本面付け処理手段と、を備える情報処理装置が記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2001−96833号公報
【特許文献2】特開2002−149637号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明の目的は、文書の裏表紙にそれ以外のページとは異なる印刷条件が適用される場合であっても、裏表紙のページに対し、その裏表紙が印刷される印刷媒体に合った画像処理を施した上で印刷を行うことにある。
【課題を解決するための手段】
【0006】
請求項1に記載の発明は、印刷要求に対して付加された、文書の裏表紙が印刷される印刷媒体である裏表紙媒体と当該裏表紙への印刷面付けとを含む印刷条件に関する印刷指定を受け付ける受付手段と、前記文書の印刷データを、描画処理が行われる前のデータである処理前データとして、当該文書のページごとに取得する取得手段と、前記取得手段が取得した前記処理前データであって、前記裏表紙媒体に面付けされるページ数分の処理前データを蓄積する蓄積手段と、前記蓄積手段に前記文書の新たなページについての前記処理前データが蓄積されるたびに、当該新たなページの前に当該蓄積手段に蓄積された前記処理前データに対して前記描画処理を行う描画手段とを備え、前記描画手段は、前記取得手段が取得する前記文書の新たなページについての前記処理前データがないときに、前記蓄積手段に蓄積された前記処理前データに対応するページに対して前記受付手段が受け付けた前記印刷指定に基づき前記印刷条件を適用した上で、当該処理前データに対する前記描画処理を行うことを特徴とする画像形成装置である。
請求項2に記載の発明は、前記取得手段は、前記文書の印刷データであるページ記述言語のデータを解析して当該文書のページの境界を検出することにより、前記処理前データとして、当該文書のページごとのページ記述言語のデータを取得することを特徴とする請求項1に記載の画像形成装置である。
請求項3に記載の発明は、前記取得手段は、前記文書の印刷データであるページ記述言語のデータを当該文書のページごとに中間言語のデータに変換することにより、前記処理前データとして当該中間言語のデータを取得することを特徴とする請求項1に記載の画像形成装置である。
請求項4に記載の発明は、前記取得手段は、前記文書の先頭ページから、前記裏表紙媒体に面付けされるページ数分のページについて、当該文書の印刷データであるページ記述言語のデータを解析して当該文書のページの境界を検出することにより、前記処理前データとして、当該文書のページごとのページ記述言語のデータを取得し、前記文書が前記処理前データとして取得された前記ページ記述言語のデータのページに後続するページを含むときに、当該後続するページについて、当該文書の印刷データであるページ記述言語のデータを当該文書のページごとに中間言語のデータに変換することにより、前記処理前データとして当該中間言語のデータを取得することを特徴とする請求項1乃至3の何れかに記載の画像形成装置である。
請求項5に記載の発明は、印刷要求に対して付加された、文書の裏表紙が印刷される印刷媒体である裏表紙媒体と当該裏表紙への印刷面付けとを含む印刷条件に関する印刷指定を受け付ける受付手段と、前記文書の印刷データを、描画処理が行われる前のデータである処理前データとして、当該文書のページごとに取得する取得手段と、前記取得手段が取得した前記処理前データであって、前記裏表紙媒体に面付けされるページ数分の処理前データを蓄積する第1の蓄積手段と、前記取得手段による前記処理前データの取得と並行して、前記第1の蓄積手段に蓄積されている前記処理前データに対して前記描画処理を行う描画手段と、前記描画手段が前記描画処理を行うことにより得られたページ画像を蓄積する第2の蓄積手段と、前記第1の蓄積手段に前記文書の新たなページについての前記処理前データが蓄積されるたびに、当該新たなページの前に前記第2の蓄積手段に蓄積された前記ページ画像を出力させる出力制御手段とを備え、前記出力制御手段は、前記取得手段が取得する前記文書の新たなページについての前記処理前データがないときに、前記裏表紙媒体に面付けされるページと当該裏表紙媒体に面付けされないページとの間で前記印刷条件が異なるならば、前記描画手段に、前記第1の蓄積手段に蓄積された前記処理前データに対応するページに対して前記受付手段が受け付けた前記印刷指定に基づき前記印刷条件を適用した上で当該処理前データに対する前記描画処理を行うように指示し、当該指示の結果得られたページ画像を出力させることを特徴とする画像形成装置である。
請求項6に記載の発明は、前記取得手段は、前記文書の先頭ページから、前記裏表紙媒体に面付けされるページ数分のページについて、当該文書の印刷データであるページ記述言語のデータを解析して当該文書のページの境界を検出することにより、前記処理前データとして、当該文書のページごとのページ記述言語のデータを取得し、前記文書が前記処理前データとして取得された前記ページ記述言語のデータのページに後続するページを含むときに、当該後続するページについて、当該文書の印刷データであるページ記述言語のデータを当該文書のページごとに中間言語のデータに変換することにより、前記処理前データとして当該中間言語のデータを取得することを特徴とする請求項5に記載の画像形成装置である。
請求項7に記載の発明は、コンピュータに、印刷要求に対して付加された、文書の裏表紙が印刷される印刷媒体である裏表紙媒体と当該裏表紙への印刷面付けとを含む印刷条件に関する印刷指定を受け付ける機能と、前記文書の印刷データを、描画処理が行われる前のデータである処理前データとして、当該文書のページごとに取得する機能と、取得された前記処理前データであって、前記裏表紙媒体に面付けされるページ数分の処理前データを蓄積手段に蓄積させる機能と、前記蓄積手段に前記文書の新たなページについての前記処理前データが蓄積されるたびに、当該新たなページの前に当該蓄積手段に蓄積された前記処理前データに対して前記描画処理を行う機能とを実現させ、前記描画処理を行う機能は、前記取得する機能が取得する前記文書の新たなページについての前記処理前データがないときに、前記蓄積手段に蓄積された前記処理前データに対応するページに対して前記受け付ける機能が受け付けた前記印刷指定に基づき前記印刷条件を適用した上で、当該処理前データに対する前記描画処理を行うことを特徴とするプログラムである。
【発明の効果】
【0007】
請求項1の発明によれば、文書の裏表紙にそれ以外のページとは異なる印刷条件が適用される場合であっても、裏表紙のページに対し、その裏表紙が印刷される印刷媒体に合った画像処理を施した上で印刷を行うことができる。
請求項2の発明によれば、本構成を有していない場合に比較して、文書の印刷処理の開始からその文書の1枚目が印刷出力されるまでの時間を短くすることができる。
請求項3の発明によれば、文書のページ数を計数するための処理に要する時間だけ、印刷処理に要する時間を短くすることができる。
請求項4の発明によれば、本構成を有していない場合に比較して、文書の印刷処理の開始からその文書の1枚目が印刷出力されるまでの時間を短くするとともに、文書のページ数を計数するための処理に要する時間だけ、印刷処理に要する時間を短くすることができる。
請求項5の発明によれば、文書の裏表紙にそれ以外のページとは異なる印刷条件が適用される場合であっても、裏表紙のページに対し、その裏表紙が印刷される印刷媒体に合った画像処理を施した上で、本構成を有していない場合に比較して高速に印刷を行うことができる。
請求項6の発明によれば、本構成を有していない場合に比較して、文書の印刷処理の開始からその文書の1枚目が印刷出力されるまでの時間を短くするとともに、文書のページ数を計数するための処理に要する時間だけ、印刷処理に要する時間を短くすることができる。
請求項7の発明によれば、文書の裏表紙にそれ以外のページとは異なる印刷条件が適用される場合であっても、裏表紙のページに対し、その裏表紙が印刷される印刷媒体に合った画像処理を施した上で印刷を行うことができる。
【図面の簡単な説明】
【0008】
【図1】本発明の実施の形態が適用される印刷システムの構成例を示した図である。
【図2】表紙が印刷される文書と期待される印刷結果の例を示した図である。
【図3】描画済みのページ画像を蓄積する手法の処理を示したフローチャートである。
【図4】総ページ数をカウントする手法の処理を示したフローチャートである。
【図5】第1の実施形態における印刷装置の機能構成例を示したブロック図である。
【図6】第1の実施形態における印刷装置の動作例を示したフローチャートである。
【図7】総ページ数をカウントする手法を用いた印刷装置と第1の実施形態における印刷装置との間で処理時間を比較した図である。
【図8】第2の実施形態における印刷装置の機能構成例を示したブロック図である。
【図9】第2の実施形態における印刷装置の動作例を示したフローチャートである。
【図10】総ページ数をカウントする手法を用いた印刷装置と第2の実施形態における印刷装置との間で処理時間を比較した図である。
【図11】第3の実施形態における印刷装置の機能構成例を示したブロック図である。
【図12−1】第3の実施形態における印刷装置の動作例を示したフローチャートである。
【図12−2】第3の実施形態における印刷装置の動作例を示したフローチャートである。
【図13】第4の実施形態における印刷装置の機能構成例を示したブロック図である。
【図14】第4の実施形態における印刷装置の動作例を示したフローチャートである。
【図15】本発明の実施形態を実現可能なコンピュータのハードウェア構成を示した図である。
【発明を実施するための形態】
【0009】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
図1は、本実施の形態が適用される印刷システムの構成例を示している。図示するように、この印刷システムは、ホスト装置10と、画像形成装置の一例としての印刷装置20とが、ネットワーク80で接続されることにより構成されている。尚、図1には、1台のホスト装置10を示しているが、台数はこれに限られるものではない。
【0010】
このうち、ホスト装置10は、印刷装置20での印刷を指示するデータを生成し、ネットワーク80を介してこれを印刷装置20に送信する端末装置である。図1に示すように、ホスト装置10は、CPU(Central Processing Unit)11と、RAM(Random Access Memory)12と、ROM(Read Only Memory)13と、NV−RAM(Non-Volatile RAM)14と、表示制御部15と、データ蓄積部16と、プリントデータ生成部17と、I/F(インタフェース)部18とを備える。
【0011】
CPU11は、OS(Operating System)やアプリケーション等の各種ソフトウェアを実行する。
RAM12は、CPU11の作業用メモリ等として用いられるメモリである。
ROM13は、CPU11が実行する各種プログラム等を記憶するメモリである。
NV−RAM14は、書き換え可能で電源供給が途絶えた場合にもデータを保持できる不揮発性メモリであり、ホスト装置10の動作に必要な各種の設定情報等を記憶する。
表示制御部15は、ユーザに知らせる情報をディスプレイ(不図示)等の表示装置に表示する。
データ蓄積部16は、各種ソフトウェアに対する入力データや各種ソフトウェアからの出力データ等を記憶する磁気ディスク装置等の記憶領域である。
プリントデータ生成部17は、印刷装置20での印刷を指示するデータを生成する。ここで、印刷データとしては、例えばプリンタ記述言語(PDL:Page Description Languages)を用いるとよい。
I/F部18は、ネットワーク80を介して印刷装置20等の他の装置との間でデータを送受信する。
【0012】
また、印刷装置20は、ホスト装置10からネットワーク80を介して受信した印刷データに基づいて、用紙に画像を形成する。図1に示すように、印刷装置20は、CPU(Central Processing Unit)21と、RAM(Random Access Memory)22と、ROM(Read Only Memory)23と、NV−RAM(Non-Volatile RAM)24と、表示制御部25と、データ蓄積部26と、圧縮伸長部27と、画像形成部28と、I/F(インタフェース)部29とを備える。
【0013】
CPU21は、ROM23等に記憶された各種プログラムをRAM22にロードして実行することにより、図3を参照して後述する各機能を実現する。
RAM22は、CPU21の作業用メモリ等として用いられるメモリである。
ROM23は、CPU21が実行する各種プログラム等を記憶するメモリである。
NV−RAM24は、書き換え可能で電源供給が途絶えた場合にもデータを保持できる不揮発性メモリであり、印刷装置20の動作に必要な各種の設定情報等を記憶する。
表示制御部25は、ユーザに知らせる情報を印刷装置20の操作パネル(不図示)等に表示し、また、操作パネル等を介してユーザからの入力操作を受け付ける。
データ蓄積部26は、例えばネットワーク80を介してホスト装置10等の他の装置から受信した画像のデータ等を蓄積する記憶領域である。
圧縮伸長部27は、データ蓄積部26に蓄積される画像データに対する圧縮処理と、圧縮された画像データに対する伸張処理を行う。
画像形成部28は、例えば感光体に付着させたトナーを用紙に転写して像を形成する電子写真方式や、インクを用紙上に吐出して像を形成するインクジェット方式により、用紙に画像を形成する。
I/F部29は、ネットワーク80を介してホスト装置10等の他の装置との間でデータを送受信する。
【0014】
尚、用紙(印刷媒体)とは、画像を印刷可能なものであれば、その材質は問わない。また、印刷装置20は、用紙に画像を形成するプリンタ機能だけでなく、用紙に形成された画像を読み取るスキャナ機能、読み取った画像を別の用紙に印刷するコピー機能、読み取った画像を他の画像形成装置に公衆回線を通じて送信するファクシミリ機能等を複合的に備えたものであってもよい。
更に、ネットワーク80としては、LAN(Local Area Network)やインターネットを用いるとよい。
【0015】
ところで、印刷される文書に表紙を付加する際、表表紙には1ページ目(又は1ページ目と2ページ目)を、裏表紙には最終ページ(又は最終ページと最終ページの1ページ前のページ)を、本文とは異なる印刷媒体に印刷したいという要求がある。
【0016】
図2は、表紙が印刷される文書と期待される印刷結果の例を示した図である。この例では、図2(A)に示す表表紙71a、本文71b〜71d、裏表紙71eからなる5ページの文書を、本文71b〜71dは白色の用紙に、表表紙71aと裏表紙71eは青色の用紙に、それぞれ片面印刷するものとする。図2(B)は、この文書の印刷結果の例として、それぞれのページが、表表紙72a、本文72b〜72d、裏表紙72eに印刷されることを示している。ここで、表表紙72aと裏表紙72eにおける斜線は、それぞれのページが本文72b〜72d(白色の用紙)とは異なる印刷媒体(青色の用紙)に印刷されることを示している。また、裏表紙72eは他のページと異なり、用紙の裏面に印刷されている。
【0017】
このように文書に表紙を付加して印刷する際、表表紙は1ページ目又は1ページ目と2ページ目であるため、印刷装置は、現在処理しているページが表表紙として印刷されるべきページであるかを判断できる。しかしながら、従来から用いられているプリンタ記述言語(PDL)には現在のページが裏表紙のページであるか否かという情報が含まれていないため、印刷装置は現在処理しているページが裏表紙として印刷されるべきページであるか否かがわからない。
【0018】
そこで、裏表紙を本文とは異なる印刷媒体に印刷したいという要求に対応するためには、印刷装置が描画したページ画像を蓄積しておき、印刷ジョブの終了を検出したらそのページ画像を出力要求のある印刷媒体に面付けする手法をとることが考えられる。
【0019】
図3は、描画済みのページ画像を蓄積する手法の処理を示したフローチャートである。印刷装置は、文書を印刷するに際し、まず裏表紙の有無、裏表紙が印刷される印刷媒体、その印刷媒体への面付け等を含む印刷条件に関する印刷指定を受け付ける(ステップ501)。裏表紙がない場合には(ステップ502でNo)、印刷装置はその文書を通常処理により印刷し(ステップ503)、動作を終了する。
一方、裏表紙がある場合には(ステップ502でYes)、印刷装置は文書の1ページ分の描画処理を行う(ステップ504)。そして、まだ印刷ジョブの終端でない、即ち、まだ印刷すべきページのデータが残っていれば(ステップ505でNo)、描画されたページ画像が裏表紙のページ数分蓄積されているか否かを判定する(ステップ506)。蓄積ページ数が裏表紙のページ数に達していれば(ステップ506でYes)、新たなページ画像を取得した時点で、蓄積されている最先のページ画像は裏表紙のものではないことがわかるため、蓄積されている最先のページ画像を出力する(ステップ507)。一方、蓄積ページ数が裏表紙のページ数に達していなければ(ステップ506でNo)、ステップ507の出力は行わない。そして、印刷装置は、描画処理がなされた新しいページ画像を蓄積し(ステップ508)、処理はステップ504に戻る。
以上のステップ504から508までの処理を文書のページ数分繰り返した後、印刷ジョブの終端に来たとき(ステップ505でYes)に裏表紙の出力処理を行って(ステップ509)、印刷装置は動作を終了する。
【0020】
また、裏表紙を本文とは異なる印刷媒体に印刷したいという要求に対応するためのもう1つの手法として、印刷される文書の総ページ数をホスト装置又は印刷装置がカウントし、裏表紙となるページのページ番号を設定することにより、描画したページを蓄積せずに処理することが考えられる。
【0021】
図4は、総ページ数をカウントする手法の処理を示したフローチャートである。印刷装置は、文書を印刷するに際し、まず裏表紙の有無、裏表紙が印刷される印刷媒体、その印刷媒体への面付け等を含む印刷条件に関する印刷指定を受け付ける(ステップ601)。裏表紙がない場合には(ステップ602でNo)、印刷装置はその文書を通常処理により印刷し(ステップ603)、動作を終了する。
一方、裏表紙がある場合には(ステップ602でYes)、印刷装置は文書の総ページ数をカウントする処理を行う(ステップ604)。そして、得られた総ページ数をもとに、印刷装置は文書の各ページについてそれが裏表紙の対象となるページか否かを判定し(ステップ605)、裏表紙の対象でないページについて通常の出力を行っていく(ステップ606)。そして、裏表紙の対象となるページまで来たときに、印刷装置は裏表紙の出力処理を行って(ステップ607)、動作を終了する。
【0022】
このように、裏表紙を本文とは異なる印刷媒体に印刷したいという要求に対応するためには、描画したページ画像を蓄積しておき、印刷ジョブの終了を検出したらそのページ画像を出力要求のある印刷媒体に面付けする手法や、印刷される文書の総ページ数をカウントすることにより、描画したページを蓄積せずに処理する手法をとることが考えられる。
【0023】
しかしながら、ページ画像を蓄積しておく手法の場合、裏表紙の面付けによっては、ページ画像を180度回転して印刷する必要がある。このとき、カラープリンタのように、ページ画像の必要とするメモリ量が大きい場合、印刷出力されるまでページ画像を圧縮して保持するのが一般的である。ページ画像を圧縮して保持するプリンタである場合、180度回転の必要なページ画像を面付けするには、圧縮したページ画像の伸長、ページ画像の回転、ページ画像の再圧縮という処理が必要である。汎用的な圧縮・伸長器を用いた場合、処理時間や、中間的にページ画像を伸長するためのメモリ使用量に問題があり、本処理に適した圧縮・伸長器を用いた場合、専用の圧縮・伸長器によるコスト上昇や、符号化能率の面で不利である。
【0024】
また、印刷装置では、通常、ホスト装置から送信された印刷ジョブに対して、印刷ジョブに含まれる例えばPDL形式の印刷データを構文解析(パース)するPDLパース処理や、PDLパース処理により生成された中間言語のデータ(後述)を画素の並びで表現された画像形成用の画像データ(ラスタ画像データ等)に展開(レンダリング)するレンダリング処理が行われる。そして、レンダリング処理に際し、予め画像データを印刷処理に適した表色系の画像データ(例えば、CMYK)に色変換する色変換処理、色変換処理された画像データに対するスクリーン処理等が行われる。上記のページ画像を蓄積しておく手法では、ページ画像の描画を行ってから面付けを行うことになるため、裏表紙となるページの印刷媒体が本文の印刷媒体と異なる場合であっても、裏表紙のページ画像に対し、本文の印刷媒体に合った色変換処理等がなされてしまう。このため、裏表紙のページ画像について、必ずしも印刷媒体に適した画像処理を行うことができない。
【0025】
また、文書の総ページ数をカウントする手法の場合、カウントのために予め文書の全ページを蓄積する必要があり、文書の印刷処理の開始からその文書の1枚目が印刷出力されるまでの時間が長くなってしまう。
【0026】
そこで、以下に説明する第1から第4の実施形態では、印刷装置20が、文書の裏表紙となる印刷媒体(裏表紙媒体)に面付けされるページ数分の印刷データを、描画処理が行われる前のデータとして文書のページごとに順次取得、蓄積していく。そして、印刷ジョブの終端まで処理が進んだとき、即ち処理すべき次のページのデータがなくなったときに、蓄積されている描画処理が行われる前のデータに対応するページに対して、裏表紙が印刷される印刷媒体、その印刷媒体への面付け等を含む印刷条件を適用した上で、そのページの印刷データに対する描画処理を行う。
【0027】
尚、ここでの文書とは、印刷対象の電子文書の本文だけでなく裏表紙を含めた全体を指すものとする。印刷される文書に裏表紙を付加する場合としては、電子文書の本文に新たに裏表紙を付加する場合だけでなく、電子文書の最終ページを裏表紙とする場合も考えられるが、何れの場合でも、文書とは本文と裏表紙を含めた全体を指すものとする。
そして、ここでの裏表紙とは、文書の内容表示や装飾等のために文書の裏側に取り付けられる狭義の表紙に限らず、単に文書の最終ページについてそれ以前のページとは異なる印刷条件を適用する場合の最終ページをも含むものとする。
【0028】
<第1の実施形態>
第1の実施形態における印刷装置20は、文書の印刷データの一例であるPDLを解析して文書のページの境界を検出することにより、文書のページごとのPDL(描画処理が行われる前のデータである処理前データの一例)を順次取得し、裏表紙となる印刷媒体に面付けされるページ数分のPDLを記憶(蓄積)しながら、文書のページ画像の描画・出力処理を行っていく。
【0029】
図5は、第1の実施形態における印刷装置20の機能構成例を示したブロック図である。図示するように、印刷装置20は、裏表紙の印刷処理に関係する機能として、印刷指定受付部31と、PDLパーサ32と、PDL記憶部33と、PDLインタプリタ34と、印刷出力部35とを備える。これらのうち、PDL記憶部33は、例えばRAM22により実現される。また、印刷指定受付部31、PDLパーサ32、PDLインタプリタ34及び印刷出力部35の各機能は、CPU21がROM23等に記憶されたプログラムをRAM22に読み込んで実行することにより実現される。
【0030】
印刷指定受付部31は、ホスト装置10から印刷装置20に送信された印刷要求(印刷ジョブ)又は印刷装置20の操作パネル等を介して設定された印刷要求を受け付ける。特に印刷指定受付部31は、印刷要求に付加された裏表紙についての印刷指定として、例えば裏表紙の有無、裏表紙が印刷される印刷媒体、その印刷媒体への面付け等を含む印刷条件に関する情報を受け付ける。第1の実施形態では、受付手段の一例として、印刷指定受付部31を設けている。
【0031】
PDLパーサ32は、印刷指定受付部31が受け付けた印刷要求に含まれる、印刷対象の文書の印刷データであるPDLを構文解析(パース)し、その印刷データにおけるページの境界を検出する。第1の実施形態では、取得手段の一例として、PDLパーサ32を設けている。
【0032】
PDL記憶部33は、PDLパーサ32が行うパースにより得られたページごとのPDLを、裏表紙の印刷媒体に面付けされるページ数分記憶(蓄積)する。即ち、PDL記憶部33は、例えば裏表紙が片面印刷であれば1ページ分、両面印刷であれば2ページ分のPDLを記憶する。印刷される文書に裏表紙を付加する場合としては、本文を片面印刷し裏表紙を用紙裏面に片面印刷する場合、本文を片面印刷し裏表紙を両面印刷する場合、本文を両面印刷し裏表紙を用紙裏面に片面印刷する場合、本文を両面印刷し裏表紙も両面印刷する場合などが考えられるが、何れの場合でも、裏表紙が片面印刷であれば1ページ分、両面印刷であれば2ページ分のPDLを記憶すればよい。これは、裏表紙が片面印刷であれば1ページ分、両面印刷であれば2ページ分のPDLを記憶しておけば、新たなページのPDLを検出した時点で、記憶されている最先のページのPDLは裏表紙として面付けされるページのものではないことがわかるからである。第1の実施形態では、蓄積手段の一例として、PDL記憶部33を設けている。
【0033】
PDLインタプリタ34は、PDLパーサ32からの1ページ分のPDL出力要求を受け、PDL記憶部33に記憶されている1ページ分のPDLに対して描画処理を行い、得られたページ画像を印刷出力部35に出力する。また、PDLインタプリタ34は、裏表紙となるページについては、PDL記憶部33に記憶されているPDLに対し、印刷指定受付部31が受け付けた印刷指定に基づき裏表紙の印刷媒体、その印刷媒体への面付け等の指示を組み合わせた上で描画処理を行う。第1の実施形態では、描画手段の一例として、PDLインタプリタ34を設けている。
【0034】
印刷出力部35は、PDLインタプリタ34にて描画処理がなされたページ画像を、画像形成部28に印刷出力させる。
【0035】
図6は、第1の実施形態における印刷装置20の動作例を示したフローチャートである。印刷装置20が文書を印刷するに際し、まず印刷指定受付部31がその文書についての印刷要求を受け付け、その印刷要求に付加された裏表紙の有無、裏表紙が印刷される印刷媒体、その印刷媒体への面付け等を含む印刷条件に関する印刷指定を受け付ける(ステップ101)。裏表紙がない場合には(ステップ102でNo)、印刷装置20はその文書を通常処理により印刷し(ステップ103)、動作を終了する。
【0036】
一方、裏表紙がある場合には(ステップ102でYes)、印刷装置20は裏表紙印刷モードに遷移する。印刷装置20が裏表紙印刷モードに遷移すると、印刷指定受付部31が受け付けた印刷要求に含まれる印刷対象の文書のPDLをPDLパーサ32がパースし、その印刷データにおけるページの境界を検出する(ステップ104)。そして、まだ印刷ジョブの終端でない、即ち、まだ印刷すべきページのデータが残っていれば(ステップ105でNo)、PDLパーサ32によりパースされたページごとのPDLが裏表紙のページ数分PDL記憶部33に記憶されているか否かを判定する(ステップ106)。記憶されているページ数が裏表紙のページ数に達していれば(ステップ106でYes)、PDL記憶部33に記憶されている最先のPDLは裏表紙のものではないことがわかるため、PDLパーサ32が、その最先のPDLの描画・出力処理をPDLインタプリタ34に指示する(ステップ107)。一方、記憶されているPDLのページ数が裏表紙のページ数に達していなければ(ステップ106でNo)、PDLインタプリタ34はステップ107の描画・出力処理を行わない。そして、PDL記憶部33は、PDLパーサ32によりパースされた新しいページのPDLを記憶し(ステップ108)、処理はステップ104に戻る。
【0037】
以上のステップ104から108までの処理を文書のページ数分繰り返した後、印刷ジョブの終端に来たとき、即ち、PDLパーサ32が、次のページのPDLを検出することなくジョブ終了を検出したとき(ステップ105でYes)に、PDLパーサ32は、PDL記憶部33に記憶されているページ数分のPDLを裏表紙として出力するようPDLインタプリタ34に指示する。詳細には、PDLインタプリタ34は、PDL記憶部33に記憶されているPDLに対し、印刷指定受付部31が受け付けた裏表紙についての印刷指定に基づき裏表紙の印刷媒体、その印刷媒体への面付け等の指示を組み合わせる(ステップ109)。そしてPDLインタプリタ34は、裏表紙の描画処理を行い、得られたページ画像を印刷出力部35に出力する。印刷出力部35は、PDLインタプリタ34にて描画処理がなされたページ画像を、画像形成部28に印刷出力させる(ステップ110)。
以上により印刷装置20は動作を終了する。
【0038】
図7は、総ページ数をカウントする手法を用いた印刷装置と第1の実施形態における印刷装置20との間で処理時間を比較した図である。ここでは、裏表紙を含めて5ページの文書を両面印刷する場合の例を取り上げる。図中左から右に向かって時間が経過するものとし、斜線のブロックはページ当たりのPDLパース処理に要する時間、白色のブロックはページ当たりの描画・出力処理に要する時間をそれぞれ表すものとする。
【0039】
図7(A)は、総ページ数をカウントする印刷装置についての処理時間を示している。この印刷装置では、まず文書の総ページ数をカウントするため、5ページ分のPDLパース処理についてTaの時間がかかり、続いて5ページ分の描画・出力処理にTbの時間がかかる。
一方、図7(B)は、第1の実施形態における印刷装置20についての処理時間を示している。この印刷装置20では、両面印刷される裏表紙の表裏に対応する2ページ分のPDLをPDL記憶部33が記憶するため、PDLパーサ32によりこの2ページ分のPDLパース処理が行われてから1ページ目の描画・出力処理が行われる。その後、1ページ分のPDLパース処理と描画・出力処理が交互に繰り返され、最後に裏表紙の2ページの描画・出力処理が行われる。
【0040】
図7(A)と図7(B)を比較すると、何れの印刷装置でも5ページ分のPDLパース処理と描画・出力処理を行うため、印刷処理に要する時間Ta+Tbは変わらない。しかしながら、第1の実施形態における印刷装置20の方が、最初に文書の全ページについてのパース処理を行う必要がないため、総ページ数をカウントする印刷装置よりも、1ページ目が出力されるタイミングであるt1outが早くなる。言い換えると、第1の実施形態における印刷装置20の方が、総ページ数をカウントする印刷装置よりも、文書の印刷処理の開始からその文書の1枚目が印刷出力されるまでの時間であるT1が短くなる。
【0041】
<第2の実施形態>
第2の実施形態における印刷装置20は、文書の印刷データの一例であるPDLを、文書のページごとに順次中間言語のデータ(描画処理が行われる前のデータである処理前データの一例)に変換し、裏表紙となる印刷媒体に面付けされるページ数分の中間言語のデータ(以下、単に「中間言語」という)を記憶(蓄積)しながら、文書のページ画像の描画・出力処理を行っていく。
【0042】
ここで、中間言語とは、例えば、変換前のPDLに含まれる座標情報の単位系をインチ系、ミリ系などから印刷装置20に固有の座標系(何画素目か)に変換して統一したり、文字のフォントを内部的な数字のIDに置き換えるなどの内部処理を行って得られる形式のデータである。ただし、ここでの中間言語は、座標系やフォントの情報の変換により得られるデータに限らず、裏表紙とそれ以外のページの間で異なる画像処理(例えば色変換処理、スクリーン処理等)が行われる前のデータであればよい。
【0043】
図8は、第2の実施形態における印刷装置20の機能構成例を示したブロック図である。図示するように、印刷装置20は、裏表紙の印刷処理に関係する機能として、印刷指定受付部41と、PDLインタプリタ42と、中間言語記憶部43と、描画処理部44と、印刷出力部45とを備える。これらのうち、中間言語記憶部43は、例えばRAM22により実現される。また、印刷指定受付部41、PDLインタプリタ42、描画処理部44及び印刷出力部45の各機能は、CPU21がROM23等に記憶されたプログラムをRAM22に読み込んで実行することにより実現される。
【0044】
印刷指定受付部41は、ホスト装置10から印刷装置20に送信された印刷要求(印刷ジョブ)又は印刷装置20の操作パネル等を介して設定された印刷要求を受け付ける。特に印刷指定受付部41は、印刷要求に付加された裏表紙についての印刷指定として、例えば裏表紙の有無、裏表紙が印刷される印刷媒体、その印刷媒体への面付け等を含む印刷条件に関する情報を受け付ける。第2の実施形態では、受付手段の一例として、印刷指定受付部41を設けている。
【0045】
PDLインタプリタ42は、印刷指定受付部41が受け付けた印刷要求に含まれる、印刷対象の文書の印刷データであるPDLから、文書のページごとの中間言語を順次生成する。第2の実施形態では、取得手段の一例として、PDLインタプリタ42を設けている。
【0046】
中間言語記憶部43は、PDLインタプリタ42により生成されたページごとの中間言語を、裏表紙の印刷媒体に面付けされるページ数分記憶(蓄積)する。即ち、中間言語記憶部43は、例えば裏表紙が片面印刷であれば1ページ分、両面印刷であれば2ページ分の中間言語を記憶する。ここでも、第1の実施形態と同様に、文書の本文が片面印刷されるか両面印刷されるかにかかわらず、裏表紙が片面印刷であれば1ページ分、両面印刷であれば2ページ分の中間言語を記憶すればよい。これは、裏表紙が片面印刷であれば1ページ分、両面印刷であれば2ページ分の中間言語を記憶しておけば、新たなページの中間言語が生成された時点で、記憶されている最先のページの中間言語は裏表紙として面付けされるページのものではないことがわかるからである。第2の実施形態では、蓄積手段の一例として、中間言語記憶部43を設けている。
【0047】
描画処理部44は、PDLインタプリタ42からの1ページ分の描画出力要求を受け、中間言語記憶部43に記憶されている1ページ分の中間言語に対して描画処理を行い、得られたページ画像を印刷出力部45に出力する。また、描画処理部44は、裏表紙となるページについては、中間言語記憶部43に記憶されている中間言語に対し、印刷指定受付部41が受け付けた印刷指定に基づき裏表紙の印刷媒体、その印刷媒体への面付け等の指示を組み合わせた上で描画処理を行う。第2の実施形態では、描画手段の一例として、描画処理部44を設けている。
【0048】
印刷出力部45は、描画処理部44にて描画処理がなされたページ画像を、画像形成部28に印刷出力させる。
【0049】
図9は、第2の実施形態における印刷装置20の動作例を示したフローチャートである。印刷装置20が文書を印刷するに際し、まず印刷指定受付部41がその文書についての印刷要求を受け付け、その印刷要求に付加された裏表紙の有無、裏表紙が印刷される印刷媒体、その印刷媒体への面付け等を含む印刷条件に関する印刷指定を受け付ける(ステップ201)。裏表紙がない場合には(ステップ202でNo)、印刷装置20はその文書を通常処理により印刷し(ステップ203)、動作を終了する。
【0050】
一方、裏表紙がある場合には(ステップ202でYes)、印刷装置20は裏表紙印刷モードに遷移する。印刷装置20が裏表紙印刷モードに遷移すると、印刷指定受付部41が受け付けた印刷要求に含まれる印刷対象の文書のPDLから、PDLインタプリタ42が文書の1ページ分の中間言語を生成する(ステップ204)。そして、まだ印刷ジョブの終端でない、即ち、まだ印刷すべきページのデータが残っていれば(ステップ205でNo)、PDLインタプリタ42により生成されたページごとの中間言語が裏表紙のページ数分中間言語記憶部43に記憶されているか否かを判定する(ステップ206)。記憶されているページ数が裏表紙のページ数に達していれば(ステップ206でYes)、中間言語記憶部43に記憶されている最先の中間言語は裏表紙のものではないことがわかるため、PDLインタプリタ42が、その最先の中間言語の描画・出力処理を描画処理部44に指示する(ステップ207)。一方、記憶されている中間言語のページ数が裏表紙のページ数に達していなければ(ステップ206でNo)、描画処理部44はステップ207の描画・出力処理を行わない。そして、中間言語記憶部43は、PDLインタプリタ42により生成された新しいページの中間言語を記憶し(ステップ208)、処理はステップ204に戻る。
【0051】
以上のステップ204から208までの処理を文書のページ数分繰り返した後、印刷ジョブの終端に来たとき、即ち、PDLインタプリタ42が、次のページの中間言語を生成することなくジョブ終了を検出したとき(ステップ205でYes)に、PDLインタプリタ42は、中間言語記憶部43に記憶されているページ数分の中間言語を裏表紙として出力するよう描画処理部44に指示する。詳細には、描画処理部44は、中間言語記憶部43に記憶されている中間言語に対し、印刷指定受付部41が受け付けた裏表紙についての印刷指定に基づき裏表紙の印刷媒体、その印刷媒体への面付け等の指示を組み合わせる(ステップ209)。そして描画処理部44は、裏表紙の描画処理を行い、得られたページ画像を印刷出力部45に出力する。印刷出力部45は、描画処理部44にて描画処理がなされたページ画像を、画像形成部28に印刷出力させる(ステップ210)。
以上により印刷装置20は動作を終了する。
【0052】
図10は、総ページ数をカウントする手法を用いた印刷装置と第2の実施形態における印刷装置20との間で処理時間を比較した図である。ここでは、図7と同じく、裏表紙を含めて5ページの文書を両面印刷する場合の例を取り上げる。図中左から右に向かって時間が経過するものとし、斜線のブロックはページ当たりのPDLパース処理に要する時間を表すものとする。また、A1からA5のブロックは、それぞれ1ページ目から5ページ目までの各ページの中間言語生成処理に要する時間、B1からB5のブロックは、それぞれ1ページ目から5ページ目までの各ページの描画・出力処理に要する時間を表すものとする。
尚、図7における白色のブロックを、図10ではA1とB1、A2とB2、・・・のように分けて示している。即ち、図7における描画・出力処理に要する時間を表すブロックを、図10では中間言語生成処理に要する時間と描画・出力処理に要する時間を表す2つのブロックに分けて示している。
【0053】
図10(A)は、総ページ数をカウントする印刷装置についての処理時間を示している。この印刷装置では、まず文書の総ページ数をカウントするため、図7(A)と同じく、5ページ分の中間言語パース処理についてTaの時間がかかり、続いて5ページ分の描画・出力処理にTbの時間がかかる。
一方、図10(B)は、第2の実施形態における印刷装置20についての処理時間を示している。この印刷装置20では、両面印刷される裏表紙の表裏に対応する2ページ分の中間言語を中間言語記憶部43が記憶するため、PDLインタプリタ42によりこの2ページ分の中間言語生成処理が行われてから(A1とA2)、1ページ目の描画・出力処理が行われる(B1)。その後、1ページ分の中間言語生成処理と描画・出力処理が交互に繰り返され、最後に裏表紙の2ページの描画・出力処理が行われる(B4とB5)。
【0054】
図10(A)と図10(B)を比較すると、第2の実施形態における印刷装置20の方が、総ページ数をカウントする印刷装置よりも、文書の全ページについてのPDLパース処理に要する時間だけ、印刷処理に要する時間Ta+Tbが短くなる。これは、総ページ数をカウントする印刷装置では、総ページ数をカウントするときと描画処理を行うときの2回、ページの解釈を行う必要があるが、第2の実施形態における印刷装置20では、PDLをパースするときに併せて中間言語を生成するため、ページの解釈が1回で済むからである。
また、ページ数が多い文書を印刷する場合(最初の2ページ分の中間言語生成に要する時間の方が総ページ数のカウントに要する時間よりも短い場合)には、第2の実施形態における印刷装置20の方が、総ページ数をカウントする印刷装置よりも、1ページ目が出力されるタイミングであるt1outが早くなる。
【0055】
<第3の実施形態>
第3の実施形態における印刷装置20は、第2の実施形態と同じく、文書の印刷データの一例であるPDLを、文書のページごとに順次中間言語に変換し、裏表紙となる印刷媒体に面付けされるページ数分の中間言語を記憶(蓄積)しながら、文書のページ画像の描画・出力処理を行っていく。そして、第3の実施形態における印刷装置20はCPU21を2つ備え、それぞれが中間言語を生成し記憶する処理とページ画像を描画し出力する処理とを並列に行うことにより、印刷ジョブ全体の処理の高速化を実現する。
【0056】
図11は、第3の実施形態における印刷装置20の機能構成例を示したブロック図である。図示するように、印刷装置20は、裏表紙の印刷処理に関係する機能として、印刷指定受付部51と、PDLインタプリタ52と、中間言語記憶部53と、描画処理部54と、ページ画像記憶部55と、ページ出力管理部56と、印刷出力部57とを備える。これらのうち、中間言語記憶部53及びページ画像記憶部55は、例えばRAM22により実現される。また、印刷指定受付部51、PDLインタプリタ52及びページ出力管理部56の各機能は、一方のCPU21がROM23等に記憶されたプログラムをRAM22に読み込んで実行することにより実現される。更に、描画処理部54及び印刷出力部57の機能は、他方のCPU21がROM23等に記憶されたプログラムをRAM22に読み込んで実行することにより実現されるものとする。
【0057】
印刷指定受付部51は、ホスト装置10から印刷装置20に送信された印刷要求(印刷ジョブ)又は印刷装置20の操作パネル等を介して設定された印刷要求を受け付ける。特に印刷指定受付部51は、印刷要求に付加された裏表紙についての印刷指定として、例えば裏表紙の有無、裏表紙が印刷される印刷媒体、その印刷媒体への面付け等を含む印刷条件に関する情報を受け付ける。第3の実施形態では、受付手段の一例として、印刷指定受付部51を設けている。
【0058】
PDLインタプリタ52は、印刷指定受付部51が受け付けた印刷要求に含まれる、印刷対象の文書の印刷データであるPDLから、文書のページごとの中間言語を順次生成する。第3の実施形態では、取得手段の一例として、PDLインタプリタ52を設けている。
【0059】
中間言語記憶部53は、PDLインタプリタ52により生成されたページごとの中間言語を、裏表紙の印刷媒体に面付けされるページ数分記憶(蓄積)する。即ち、中間言語記憶部53は、例えば裏表紙が片面印刷であれば1ページ分、両面印刷であれば2ページ分の中間言語を記憶する。第3の実施形態では、第1の蓄積手段の一例として、中間言語記憶部53を設けている。
【0060】
描画処理部54は、PDLインタプリタ52による中間言語生成処理と並行して、中間言語記憶部53に記憶されているページごとの中間言語に対し描画処理を行う。そして描画処理部54は、得られたページ画像をページ画像記憶部55に出力する。第3の実施形態では、描画手段の一例として、描画処理部54を設けている。
【0061】
ページ画像記憶部55は、描画処理部54が描画処理を行うことにより得られたページ画像を記憶(蓄積)する。第3の実施形態では、第2の蓄積手段の一例として、ページ画像記憶部55を設けている。
【0062】
ページ出力管理部56は、中間言語記憶部53が裏表紙の印刷媒体に面付けされるページ数分の中間言語を記憶しているときに、PDLインタプリタ52が新たなページの中間言語を生成するたびに、ページ画像記憶部55に記憶されている最先のページ画像を1ページ分、印刷出力部57に印刷出力させる。また、ページ出力管理部56は、裏表紙となるページについては、裏表紙の印刷媒体に面付けされるページとそれ以外のページで印刷条件が異なるならば、中間言語記憶部53に記憶されている中間言語に対し、印刷指定受付部51が受け付けた印刷指定に基づき裏表紙の印刷媒体、その印刷媒体への面付け等の指示を組み合わせた上で描画処理を行うように、描画処理部54に指示する。そして、得られたページ画像を、ページ画像記憶部55及び印刷出力部57を介して出力させる。第3の実施形態では、出力制御手段の一例として、ページ出力管理部56を設けている。
【0063】
印刷出力部57は、ページ画像記憶部55に記憶されているページ画像を、画像形成部28に印刷出力させる。
【0064】
図12−1及び図12−2は、第3の実施形態における印刷装置20の動作例を示したフローチャートである。まずは図12−1を参照して説明する。
印刷装置20が文書を印刷するに際し、まず印刷指定受付部51がその文書についての印刷要求を受け付け、その印刷要求に付加された裏表紙の有無、裏表紙が印刷される印刷媒体、その印刷媒体への面付け等を含む印刷条件に関する印刷指定を受け付ける(ステップ301)。裏表紙がない場合には(ステップ302でNo)、印刷装置20はその文書を通常処理により印刷し(ステップ303)、動作を終了する。
【0065】
一方、裏表紙がある場合には(ステップ302でYes)、印刷装置20は裏表紙印刷モードに遷移する。印刷装置20が裏表紙印刷モードに遷移すると、印刷指定受付部51が受け付けた印刷要求に含まれる印刷対象の文書のPDLから、PDLインタプリタ52が文書の1ページ分の中間言語を生成する(ステップ304)。
【0066】
以下、中間言語を生成し記憶する処理とページ画像を描画し出力する処理とが、2つのCPU21により並列に行われる。描画・出力処理を行うCPU21については、描画処理部54が中間言語記憶部53に記憶されているページごとの中間言語に対し描画処理を行い(ステップ305a)、ページ画像記憶部55が描画処理により得られたページ画像を記憶する(ステップ305b)。
【0067】
一方、中間言語の生成・記憶処理を行うCPU21については、まだ印刷ジョブの終端でない、即ち、まだ印刷すべきページのデータが残っていれば(ステップ305でNo)、ページ出力管理部56が、PDLインタプリタ52により生成されたページごとの中間言語が裏表紙のページ数分中間言語記憶部53に記憶されているか否かを判定する(ステップ306)。記憶されているページ数が裏表紙のページ数に達していれば(ステップ306でYes)、ページ画像記憶部55に記憶されている最先のページ画像は裏表紙のものではないことがわかるため、ページ出力管理部56が、その最先のページ画像の出力をページ画像記憶部55に指示する(ステップ307)。
描画・出力処理を行うCPU21では、この指示を受けて、ページ画像記憶部55が印刷出力部57を介して、その最先のページ画像を印刷出力する(ステップ305c)。
【0068】
一方、記憶されている中間言語のページ数が裏表紙のページ数に達していなければ(ステップ306でNo)、ページ出力管理部56はステップ307の出力指示を行わない。そして、中間言語記憶部53は、PDLインタプリタ52により生成された新しいページの中間言語を記憶し(ステップ308)、処理はステップ304に戻る。
【0069】
以上のステップ304から308までの処理を文書のページ数分繰り返した後、印刷ジョブの終端に来たとき、即ち、PDLインタプリタ52が、次のページの中間言語を生成することなくジョブ終了を検出したとき(ステップ305でYes)に、処理はステップ309(図12−2を参照)に進む。
図12−2に移って、ページ出力管理部56は、印刷指定受付部51が裏表紙についての印刷指定を受け付けており、裏表紙の処理が必要か否かを判定する(ステップ309)。裏表紙の処理が必要でない場合には(ステップ309でNo)、ページ出力管理部56が、ページ画像記憶部55に記憶されているページ画像の出力を指示する(ステップ310)。
描画・出力処理を行うCPU21では、この指示を受けて、ページ画像記憶部55が印刷出力部57を介してページ画像を印刷出力し(ステップ305c)、印刷装置20は動作を終了する。
【0070】
一方、裏表紙の処理が必要である場合には(ステップ309でYes)、ページ出力管理部56は、ページ画像記憶部55が既に裏表紙のページ画像を記憶しているか否かを判定する(ステップ311)。ページ画像記憶部55が既に裏表紙のページ画像を記憶している場合には(ステップ311でYes)、そのページ画像は印刷指定受付部51が受け付けた裏表紙についての印刷指定に基づく印刷条件を適用せずに描画処理がなされたものであるため、ページ出力管理部56が、ページ画像記憶部55に対し裏表紙のページ画像を破棄するように指示する(ステップ312)。
描画・出力処理を行うCPU21では、この指示を受けて、ページ画像記憶部55に記憶されている裏表紙のページ画像を破棄する。
【0071】
また、ページ画像記憶部55がまだ裏表紙のページ画像を記憶していない場合には(ステップ311でNo)、ページ出力管理部56は、描画処理部54が裏表紙のページの描画処理を実行中であるか否かを更に判定する(ステップ313)。描画処理部54が裏表紙のページの描画処理を実行中であれば(ステップ313でYes)、その描画処理は印刷指定受付部51が受け付けた裏表紙についての印刷指定に基づく印刷条件を適用せずに実行されているため、ページ出力管理部56が、描画処理部54に対し裏表紙のページの描画処理を中止するように指示する(ステップ314)。
描画・出力処理を行うCPU21では、この指示を受けて、描画処理部54が裏表紙のページの描画処理を中止する。
【0072】
また、ページ画像記憶部55がまだ裏表紙のページ画像を記憶しておらず、描画処理部54が裏表紙のページの描画処理を実行中でもなければ(ステップ313でNo)、ページ出力管理部56はページ画像の破棄指示や描画処理の中止指示を行わない。
【0073】
そして、ページ出力管理部56は、中間言語記憶部53に記憶されている中間言語に対し、印刷指定受付部51が受け付けた裏表紙についての印刷指定に基づき裏表紙の印刷媒体、その印刷媒体への面付け等の指示を組み合わせるように、描画処理部54に指示する(ステップ315)。そしてページ出力管理部56は、描画処理部54に対して裏表紙のページの描画処理を指示し(ステップ316)、得られたページ画像の出力をページ画像記憶部55に指示する(ステップ317)。
【0074】
描画・出力処理を行うCPU21では、ページ出力管理部56に出力を指示されたページ画像をページ画像記憶部55が記憶しているならば、印刷出力部57を介してそのページ画像を印刷出力する(ステップ305c)。ページ出力管理部56に出力を指示されたページ画像をページ画像記憶部55がまだ記憶していないならば、描画処理部54から渡され次第、ページ画像を印刷出力する。
また、ステップ315及び316での指示を受けて、描画処理部54が裏表紙のページの描画処理を行い(ステップ305a)、ページ画像記憶部55が得られたページ画像を記憶し(ステップ305b)、印刷出力部57がそのページ画像を印刷出力する(ステップ305c)。
以上により、印刷装置20は動作を終了する。
【0075】
<第4の実施形態>
第4の実施形態における印刷装置20は、文書の先頭ページから、裏表紙の印刷媒体に面付けされるページ数分(例えば、片面印刷の場合は裏表紙への面付けが1ページなので、文書の先頭の1ページ分、両面印刷の場合は裏表紙への面付けが2ページなので、文書の先頭から2ページ分)のページについて、文書の印刷データの一例であるPDLを解析して文書のページの境界を検出することにより、文書のページごとのPDLを取得し記憶する。そして、記憶されたPDLのページに後続するページがある場合に、即ち、文書が裏表紙の印刷媒体に面付けされるページ数より多いページを含む場合に、その後続するページについてはページごとにPDLを順次中間言語に変換し、中間言語の形式で記憶しながら、文書のページ画像の描画・出力処理を行っていく。
【0076】
図13は、第4の実施形態における印刷装置20の機能構成例を示したブロック図である。図示するように、印刷装置20は、裏表紙の印刷処理に関係する機能として、印刷指定受付部61と、ページ出力管理部62と、PDLパーサ63と、PDL記憶部64と、PDLインタプリタ65と、中間言語記憶部66と、描画処理部67と、印刷出力部68とを備える。これらのうち、PDL記憶部64及び中間言語記憶部66は、例えばRAM22により実現される。また、印刷指定受付部61、ページ出力管理部62、PDLパーサ63、PDLインタプリタ65、描画処理部67及び印刷出力部68の各機能は、CPU21がROM23等に記憶されたプログラムをRAM22に読み込んで実行することにより実現される。
【0077】
印刷指定受付部61は、ホスト装置10から印刷装置20に送信された印刷要求(印刷ジョブ)又は印刷装置20の操作パネル等を介して設定された印刷要求を受け付ける。特に印刷指定受付部61は、印刷要求に付加された裏表紙についての印刷指定として、例えば裏表紙の有無、裏表紙が印刷される印刷媒体、その印刷媒体への面付け等を含む印刷条件に関する情報を受け付ける。第4の実施形態では、受付手段の一例として、印刷指定受付部61を設けている。
【0078】
ページ出力管理部62は、印刷装置20が裏表紙印刷モードに遷移しているときに、印刷指定受付部61が受け付けた印刷要求に含まれる印刷データの取得についての印刷装置20のモードを、PDLパースモードと中間言語モードとの間で切り替える。そして、印刷装置20が中間言語モードにあるときに、中間言語記憶部66に記憶されている中間言語の描画処理部67への出力を、PDLインタプリタ65に指示する。また、ページ出力管理部62は、裏表紙となるページについては、中間言語記憶部66に記憶されている中間言語に対し、印刷指定受付部61が受け付けた印刷指定に基づき裏表紙の印刷媒体、その印刷媒体への面付け等の指示を組み合わせた上で描画処理を行うように、描画処理部67に指示する。
【0079】
PDLパーサ63は、印刷装置20がPDLモードにあるときに、印刷指定受付部61が受け付けた印刷要求に含まれる、印刷対象の文書の印刷データであるPDLを構文解析(パース)し、その印刷データにおけるページの境界を検出する。
【0080】
PDL記憶部64は、PDLパーサ63が行うパースにより得られたページごとのPDLを、裏表紙の印刷媒体に面付けされるページ数分記憶(蓄積)する。即ち、PDL記憶部64は、例えば裏表紙が片面印刷であれば1ページ分、両面印刷であれば2ページ分のPDLを記憶する。
【0081】
PDLインタプリタ65は、印刷装置20が中間言語モードにあるときに、PDL記憶部64に記憶されているPDLを中間言語に変換し、描画処理部67に出力する。また、PDL記憶部64に記憶されたPDLのページに後続するページについて、印刷指定受付部61が受け付けた印刷要求に含まれるPDLから、文書のページごとの中間言語を順次生成し、中間言語記憶部66に記憶させる。第4の実施形態では、取得手段の一例として、PDLパーサ63及びPDLインタプリタ65を設けている。
【0082】
中間言語記憶部66は、PDLインタプリタ65により生成されたページごとの中間言語を、裏表紙の印刷媒体に面付けされるページ数分記憶(蓄積)する。即ち、中間言語記憶部66は、例えば裏表紙が片面印刷であれば1ページ分、両面印刷であれば2ページ分の中間言語を記憶する。第4の実施形態では、蓄積手段の一例として、PDL記憶部64及び中間言語記憶部66を設けている。
【0083】
描画処理部67は、PDLインタプリタ65からの1ページ分の描画出力要求を受け、中間言語記憶部66に記憶されている1ページ分の中間言語に対して描画処理を行い、得られたページ画像を印刷出力部68に出力する。また、描画処理部67は、裏表紙となるページについては、中間言語記憶部66に記憶されている中間言語に対し、印刷指定受付部61が受け付けた印刷指定に基づき裏表紙の印刷媒体、その印刷媒体への面付け等の指示を組み合わせた上で描画処理を行う。第4の実施形態では、描画手段の一例として、描画処理部67を設けている。
【0084】
印刷出力部68は、描画処理部67にて描画処理がなされたページ画像を、画像形成部28に印刷出力させる。
【0085】
図14は、第4の実施形態における印刷装置20の動作例を示したフローチャートである。印刷装置20が文書を印刷するに際し、まず印刷指定受付部61がその文書についての印刷要求を受け付け、その印刷要求に付加された裏表紙の有無、裏表紙が印刷される印刷媒体、その印刷媒体への面付け等を含む印刷条件に関する印刷指定を受け付ける(ステップ401)。裏表紙がない場合には(ステップ402でNo)、印刷装置20はその文書を通常処理により印刷し(ステップ403)、動作を終了する。
【0086】
一方、裏表紙がある場合には(ステップ402でYes)、印刷装置20は裏表紙印刷モードに遷移する。印刷装置20が裏表紙印刷モードに遷移すると、ページ出力管理部62は、PDLパースモードを選択する。PDLパースモードでは、印刷指定受付部61が受け付けた印刷要求に含まれる印刷対象の文書のPDLをPDLパーサ63がパースし、その印刷データにおけるページの境界を検出する(ステップ404)。そして、印刷ジョブの終端に来たならば(ステップ405でYes)、後述するステップ414に進み、裏表紙の出力処理を行った後、印刷装置20は動作を終了する。
【0087】
一方、まだ印刷ジョブの終端でない、即ち、まだ印刷すべきページのデータが残っていれば(ステップ405でNo)、PDLパーサ63によりパースされたページごとのPDLが裏表紙のページ数分PDL記憶部64に記憶されているか否かを判定する(ステップ406)。記憶されているページ数が裏表紙のページ数に達していなければ(ステップ406でNo)、PDL記憶部64は、PDLパーサ63によりパースされた新しいページのPDLを記憶し(ステップ407)、処理はステップ404に戻る。
【0088】
以上のステップ404から407までの処理を、文書の先頭ページから、裏表紙の印刷媒体に面付けされるページ数分のページについて繰り返す。そして、ページごとのPDLが裏表紙のページ数分PDL記憶部64に記憶された状態で、PDLパーサ63が更に次のページのPDLを検出したとき(ステップ406でYes)に、ページ出力管理部62は、印刷装置20のモードを中間言語モードに切り替える。
【0089】
中間言語モードでは、後続するページについて、印刷指定受付部61が受け付けた印刷要求に含まれる印刷対象の文書のPDLから、PDLインタプリタ65が文書の1ページ分の中間言語を生成する(ステップ408)。そして、まだ印刷ジョブの終端でない、即ち、まだ印刷すべきページのデータが残っていれば(ステップ409でNo)、記憶されている最先のページのPDL又は中間言語は裏表紙のものではないことがわかるため、その最先のページについての描画・出力処理が行われる。
【0090】
詳細には、記憶されたPDLがPDL記憶部64に残っていれば(ステップ410でYes)、ページ出力管理部62は、PDL記憶部64に記憶されている最先のページのPDLの出力を、PDLインタプリタ65に指示する。この指示を受けて、PDLインタプリタ65はその最先のページのPDLを中間言語に変換し、描画処理部67に出力する。そして、描画処理部67がその最先のページについての描画処理を行い、得られたページ画像を印刷出力部68が印刷出力する(ステップ411)。
【0091】
一方、PDL記憶部64に記憶されたPDLが全て出力済みであれば(ステップ410でNo)、ページ出力管理部62は、中間言語記憶部66に記憶されている最先のページの中間言語の出力を、PDLインタプリタ65に指示する。この指示を受けて、PDLインタプリタ65はその最先のページの中間言語を描画処理部67に出力する。そして、ステップ411と同様に、描画処理と印刷出力が行われる(ステップ412)。
【0092】
そして、中間言語記憶部66は、PDLインタプリタ65により生成された新しいページの中間言語を記憶し(ステップ413)、処理はステップ408に戻る。
以上のステップ408から413までの処理を文書の最後のページまで繰り返し、印刷ジョブの終端に来たとき、即ち、PDLインタプリタ65が、次のページの中間言語を生成することなくジョブ終了を検出したとき(ステップ409でYes)に、処理はステップ414に進む。
【0093】
そして、ページ出力管理部62は、中間言語記憶部66に記憶されているページ数分の中間言語を裏表紙として出力するよう描画処理部67に指示する。詳細には、描画処理部67が、中間言語記憶部66に記憶されている中間言語に対し、印刷指定受付部61が受け付けた裏表紙についての印刷指定に基づき裏表紙の印刷媒体、その印刷媒体への面付け等の指示を組み合わせる(ステップ414)。そして描画処理部67は、裏表紙の描画処理を行い、得られたページ画像を印刷出力部68に出力する。印刷出力部68は、描画処理部67にて描画処理がなされたページ画像を、画像形成部28に印刷出力させる(ステップ415)。
以上により印刷装置20は動作を終了する。
【0094】
このように、第4の実施形態における印刷装置20は、第1の実施形態と第2の実施形態の印刷装置20の構成を備えることにより、総ページ数をカウントする手法を用いた印刷装置と比べて、文書の印刷処理の開始からその文書の1枚目が印刷出力されるまでの時間(図7及び図10のT1)を短くするとともに、全体の印刷処理に要する時間(図7及び図10のTa+Tb)を短くする。
【0095】
尚、第4の実施形態における印刷装置20は、第1の実施形態と第3の実施形態の印刷装置20の構成を備えたものであってもよい。即ち、文書の先頭ページから裏表紙の印刷媒体に面付けされるページ数分のページについては、ページごとのPDLを取得・記憶し、後続するページについては、中間言語を生成し記憶する処理とページ画像を描画し出力する処理とを並列に行うようにしてもよい。
【0096】
以上、本発明の第1から第4の実施形態について説明した。これらの実施形態における印刷装置20は、何れも、文書の裏表紙となる印刷媒体(裏表紙媒体)に面付けされるページ数分の印刷データを、描画処理が行われる前のデータとして文書のページごとに順次取得、蓄積していく。そして、印刷ジョブの終端まで処理が進んだとき、即ち処理すべき次のページのデータがなくなったときに、蓄積されている描画処理が行われる前のデータに対応するページに対して、裏表紙が印刷される印刷媒体、その印刷媒体への面付け等を含む印刷条件を適用した上で、そのページの印刷データに対する描画処理を行う。
【0097】
尚、ここでの裏表紙とは、上述した通り、文書の内容表示や装飾等のために文書の裏側に取り付けられる狭義の表紙に限らず、単に文書の最終ページについてそれ以前のページとは異なる印刷条件を適用する場合の最終ページであってもよい。更に、ここでの最終ページとは、1ページに限らず、文書の最後から数えて複数のページ(例えば、両面印刷で、文書の最後から2枚分の4ページ)に対して印刷条件を変更する場合のその複数ページであってもよい。
【0098】
このような、文書の最後から数えて複数のページに対して印刷条件を変更する場合の例として、通常の印刷出力とは別に使用者、使用時間、使用装置、出力文書の名称等の情報を通知するための用紙(いわゆるバナーシート)を出力する場合が挙げられる。例えば、文書が両面印刷され、片面印刷バナーシートが文書の末尾に付加されるときは、3ページ分のPDL又は中間言語を記憶すればよく、文書が両面印刷され、両面印刷のバナーシートが文書の末尾に付加されるときは、4ページ分のPDL又は中間言語を記憶すればよい。
【0099】
また、印刷要求において、裏表紙だけでなく表表紙を付加する指定がされることもある。表表紙と裏表紙の両方が指定された場合に、裏表紙よりも表表紙の優先度が高い指定になっていれば、表表紙の出力対象となるページ(文書の先頭から1ページ又は2ページ)は裏表紙の対象ページにはならない。したがって、裏表紙よりも表表紙の優先度が高い指定になっているときは、表表紙の処理が終わるまでは、裏表紙の処理のために印刷データを記憶する必要はない。そこで、第1から第4の実施形態における印刷装置20では、このような表表紙の出力対象となるページを除いた裏表紙の出力対象となり得るページについてのPDL又は中間言語を、PDL記憶部33、中間言語記憶部43等に記憶するようにしてもよい。この場合、裏表紙の出力対象とならないページについては、PDL又は中間言語をPDL記憶部33、中間言語記憶部43等に記憶せず、描画処理を行うようにしてもよい。
【0100】
ところで、第1から第4の実施形態にて説明した、裏表紙の印刷処理に関係する機能は、印刷装置20とは独立した汎用のコンピュータ90で実現してもよい。以下では、そのようなコンピュータ90のハードウェア構成について説明する。
図15は、コンピュータ90のハードウェア構成を示した図である。図示するように、コンピュータ90は、演算手段であるCPU(Central Processing Unit)91と、記憶手段であるメインメモリ92及び磁気ディスク装置(HDD:Hard Disk Drive)93とを備える。ここで、CPU91は、OS(Operating System)やアプリケーション等の各種ソフトウェアを実行し、上述した各機能を実現する。また、メインメモリ92は、各種ソフトウェアやその実行に用いるデータ等を記憶する記憶領域であり、磁気ディスク装置93は、各種ソフトウェアに対する入力データや各種ソフトウェアからの出力データ等を記憶する記憶領域である。
更に、コンピュータ90は、外部との通信を行うための通信インタフェース94と、ビデオメモリやディスプレイ等からなる表示機構95と、キーボードやマウス等の入力デバイス96とを備える。
【0101】
尚、本実施の形態を実現するプログラムは、通信手段により提供することはもちろん、CD−ROM等の記録媒体に格納して提供するようにしてもよい。
【符号の説明】
【0102】
10…ホスト装置、20…印刷装置、31…印刷指定受付部、32…PDLパーサ、33…PDL記憶部、34…PDLインタプリタ、35…印刷出力部、41…印刷指定受付部、42…PDLインタプリタ、43…中間言語記憶部、44…描画処理部、45…印刷出力部、51…印刷指定受付部、52…PDLインタプリタ、53…中間言語記憶部、54…描画処理部、55…ページ画像記憶部、56…ページ出力管理部、57…印刷出力部、61…印刷指定受付部、62…ページ出力管理部、63…PDLパーサ、64…PDL記憶部、65…PDLインタプリタ、66…中間言語記憶部、67…描画処理部、68…印刷出力部
【技術分野】
【0001】
本発明は、画像形成装置及びプログラムに関する。
【背景技術】
【0002】
特許文献1には、テンプレートデータに基づいて印刷データを生成する情報処理装置であって、少なくとも複数種類のテンプレートデータを記憶する記憶手段と、前記記憶手段に記憶されたテンプレートデータの内、指定されたテンプレートデータに対する印刷条件を設定する設定手段と、前記設定手段で設定された印刷条件に基づいて、印刷データを生成する生成手段とを備える情報処理装置が記載されている。
【0003】
特許文献2には、プリンタで製本印刷を得るための印刷データを生成する情報処理装置であって、入力される複数ページのデータから表紙に面付けすべきページを判定する表紙ページ判定手段と、前記表紙ページ判定手段により判定されるページのデータに基づいて、表紙への面付け処理を行う表紙面付け処理手段と、前記表紙面付け処理手段で表紙に面付けされていない残りのページのデータに基づいて、本文への面付け処理を行う製本面付け処理手段と、を備える情報処理装置が記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2001−96833号公報
【特許文献2】特開2002−149637号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明の目的は、文書の裏表紙にそれ以外のページとは異なる印刷条件が適用される場合であっても、裏表紙のページに対し、その裏表紙が印刷される印刷媒体に合った画像処理を施した上で印刷を行うことにある。
【課題を解決するための手段】
【0006】
請求項1に記載の発明は、印刷要求に対して付加された、文書の裏表紙が印刷される印刷媒体である裏表紙媒体と当該裏表紙への印刷面付けとを含む印刷条件に関する印刷指定を受け付ける受付手段と、前記文書の印刷データを、描画処理が行われる前のデータである処理前データとして、当該文書のページごとに取得する取得手段と、前記取得手段が取得した前記処理前データであって、前記裏表紙媒体に面付けされるページ数分の処理前データを蓄積する蓄積手段と、前記蓄積手段に前記文書の新たなページについての前記処理前データが蓄積されるたびに、当該新たなページの前に当該蓄積手段に蓄積された前記処理前データに対して前記描画処理を行う描画手段とを備え、前記描画手段は、前記取得手段が取得する前記文書の新たなページについての前記処理前データがないときに、前記蓄積手段に蓄積された前記処理前データに対応するページに対して前記受付手段が受け付けた前記印刷指定に基づき前記印刷条件を適用した上で、当該処理前データに対する前記描画処理を行うことを特徴とする画像形成装置である。
請求項2に記載の発明は、前記取得手段は、前記文書の印刷データであるページ記述言語のデータを解析して当該文書のページの境界を検出することにより、前記処理前データとして、当該文書のページごとのページ記述言語のデータを取得することを特徴とする請求項1に記載の画像形成装置である。
請求項3に記載の発明は、前記取得手段は、前記文書の印刷データであるページ記述言語のデータを当該文書のページごとに中間言語のデータに変換することにより、前記処理前データとして当該中間言語のデータを取得することを特徴とする請求項1に記載の画像形成装置である。
請求項4に記載の発明は、前記取得手段は、前記文書の先頭ページから、前記裏表紙媒体に面付けされるページ数分のページについて、当該文書の印刷データであるページ記述言語のデータを解析して当該文書のページの境界を検出することにより、前記処理前データとして、当該文書のページごとのページ記述言語のデータを取得し、前記文書が前記処理前データとして取得された前記ページ記述言語のデータのページに後続するページを含むときに、当該後続するページについて、当該文書の印刷データであるページ記述言語のデータを当該文書のページごとに中間言語のデータに変換することにより、前記処理前データとして当該中間言語のデータを取得することを特徴とする請求項1乃至3の何れかに記載の画像形成装置である。
請求項5に記載の発明は、印刷要求に対して付加された、文書の裏表紙が印刷される印刷媒体である裏表紙媒体と当該裏表紙への印刷面付けとを含む印刷条件に関する印刷指定を受け付ける受付手段と、前記文書の印刷データを、描画処理が行われる前のデータである処理前データとして、当該文書のページごとに取得する取得手段と、前記取得手段が取得した前記処理前データであって、前記裏表紙媒体に面付けされるページ数分の処理前データを蓄積する第1の蓄積手段と、前記取得手段による前記処理前データの取得と並行して、前記第1の蓄積手段に蓄積されている前記処理前データに対して前記描画処理を行う描画手段と、前記描画手段が前記描画処理を行うことにより得られたページ画像を蓄積する第2の蓄積手段と、前記第1の蓄積手段に前記文書の新たなページについての前記処理前データが蓄積されるたびに、当該新たなページの前に前記第2の蓄積手段に蓄積された前記ページ画像を出力させる出力制御手段とを備え、前記出力制御手段は、前記取得手段が取得する前記文書の新たなページについての前記処理前データがないときに、前記裏表紙媒体に面付けされるページと当該裏表紙媒体に面付けされないページとの間で前記印刷条件が異なるならば、前記描画手段に、前記第1の蓄積手段に蓄積された前記処理前データに対応するページに対して前記受付手段が受け付けた前記印刷指定に基づき前記印刷条件を適用した上で当該処理前データに対する前記描画処理を行うように指示し、当該指示の結果得られたページ画像を出力させることを特徴とする画像形成装置である。
請求項6に記載の発明は、前記取得手段は、前記文書の先頭ページから、前記裏表紙媒体に面付けされるページ数分のページについて、当該文書の印刷データであるページ記述言語のデータを解析して当該文書のページの境界を検出することにより、前記処理前データとして、当該文書のページごとのページ記述言語のデータを取得し、前記文書が前記処理前データとして取得された前記ページ記述言語のデータのページに後続するページを含むときに、当該後続するページについて、当該文書の印刷データであるページ記述言語のデータを当該文書のページごとに中間言語のデータに変換することにより、前記処理前データとして当該中間言語のデータを取得することを特徴とする請求項5に記載の画像形成装置である。
請求項7に記載の発明は、コンピュータに、印刷要求に対して付加された、文書の裏表紙が印刷される印刷媒体である裏表紙媒体と当該裏表紙への印刷面付けとを含む印刷条件に関する印刷指定を受け付ける機能と、前記文書の印刷データを、描画処理が行われる前のデータである処理前データとして、当該文書のページごとに取得する機能と、取得された前記処理前データであって、前記裏表紙媒体に面付けされるページ数分の処理前データを蓄積手段に蓄積させる機能と、前記蓄積手段に前記文書の新たなページについての前記処理前データが蓄積されるたびに、当該新たなページの前に当該蓄積手段に蓄積された前記処理前データに対して前記描画処理を行う機能とを実現させ、前記描画処理を行う機能は、前記取得する機能が取得する前記文書の新たなページについての前記処理前データがないときに、前記蓄積手段に蓄積された前記処理前データに対応するページに対して前記受け付ける機能が受け付けた前記印刷指定に基づき前記印刷条件を適用した上で、当該処理前データに対する前記描画処理を行うことを特徴とするプログラムである。
【発明の効果】
【0007】
請求項1の発明によれば、文書の裏表紙にそれ以外のページとは異なる印刷条件が適用される場合であっても、裏表紙のページに対し、その裏表紙が印刷される印刷媒体に合った画像処理を施した上で印刷を行うことができる。
請求項2の発明によれば、本構成を有していない場合に比較して、文書の印刷処理の開始からその文書の1枚目が印刷出力されるまでの時間を短くすることができる。
請求項3の発明によれば、文書のページ数を計数するための処理に要する時間だけ、印刷処理に要する時間を短くすることができる。
請求項4の発明によれば、本構成を有していない場合に比較して、文書の印刷処理の開始からその文書の1枚目が印刷出力されるまでの時間を短くするとともに、文書のページ数を計数するための処理に要する時間だけ、印刷処理に要する時間を短くすることができる。
請求項5の発明によれば、文書の裏表紙にそれ以外のページとは異なる印刷条件が適用される場合であっても、裏表紙のページに対し、その裏表紙が印刷される印刷媒体に合った画像処理を施した上で、本構成を有していない場合に比較して高速に印刷を行うことができる。
請求項6の発明によれば、本構成を有していない場合に比較して、文書の印刷処理の開始からその文書の1枚目が印刷出力されるまでの時間を短くするとともに、文書のページ数を計数するための処理に要する時間だけ、印刷処理に要する時間を短くすることができる。
請求項7の発明によれば、文書の裏表紙にそれ以外のページとは異なる印刷条件が適用される場合であっても、裏表紙のページに対し、その裏表紙が印刷される印刷媒体に合った画像処理を施した上で印刷を行うことができる。
【図面の簡単な説明】
【0008】
【図1】本発明の実施の形態が適用される印刷システムの構成例を示した図である。
【図2】表紙が印刷される文書と期待される印刷結果の例を示した図である。
【図3】描画済みのページ画像を蓄積する手法の処理を示したフローチャートである。
【図4】総ページ数をカウントする手法の処理を示したフローチャートである。
【図5】第1の実施形態における印刷装置の機能構成例を示したブロック図である。
【図6】第1の実施形態における印刷装置の動作例を示したフローチャートである。
【図7】総ページ数をカウントする手法を用いた印刷装置と第1の実施形態における印刷装置との間で処理時間を比較した図である。
【図8】第2の実施形態における印刷装置の機能構成例を示したブロック図である。
【図9】第2の実施形態における印刷装置の動作例を示したフローチャートである。
【図10】総ページ数をカウントする手法を用いた印刷装置と第2の実施形態における印刷装置との間で処理時間を比較した図である。
【図11】第3の実施形態における印刷装置の機能構成例を示したブロック図である。
【図12−1】第3の実施形態における印刷装置の動作例を示したフローチャートである。
【図12−2】第3の実施形態における印刷装置の動作例を示したフローチャートである。
【図13】第4の実施形態における印刷装置の機能構成例を示したブロック図である。
【図14】第4の実施形態における印刷装置の動作例を示したフローチャートである。
【図15】本発明の実施形態を実現可能なコンピュータのハードウェア構成を示した図である。
【発明を実施するための形態】
【0009】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
図1は、本実施の形態が適用される印刷システムの構成例を示している。図示するように、この印刷システムは、ホスト装置10と、画像形成装置の一例としての印刷装置20とが、ネットワーク80で接続されることにより構成されている。尚、図1には、1台のホスト装置10を示しているが、台数はこれに限られるものではない。
【0010】
このうち、ホスト装置10は、印刷装置20での印刷を指示するデータを生成し、ネットワーク80を介してこれを印刷装置20に送信する端末装置である。図1に示すように、ホスト装置10は、CPU(Central Processing Unit)11と、RAM(Random Access Memory)12と、ROM(Read Only Memory)13と、NV−RAM(Non-Volatile RAM)14と、表示制御部15と、データ蓄積部16と、プリントデータ生成部17と、I/F(インタフェース)部18とを備える。
【0011】
CPU11は、OS(Operating System)やアプリケーション等の各種ソフトウェアを実行する。
RAM12は、CPU11の作業用メモリ等として用いられるメモリである。
ROM13は、CPU11が実行する各種プログラム等を記憶するメモリである。
NV−RAM14は、書き換え可能で電源供給が途絶えた場合にもデータを保持できる不揮発性メモリであり、ホスト装置10の動作に必要な各種の設定情報等を記憶する。
表示制御部15は、ユーザに知らせる情報をディスプレイ(不図示)等の表示装置に表示する。
データ蓄積部16は、各種ソフトウェアに対する入力データや各種ソフトウェアからの出力データ等を記憶する磁気ディスク装置等の記憶領域である。
プリントデータ生成部17は、印刷装置20での印刷を指示するデータを生成する。ここで、印刷データとしては、例えばプリンタ記述言語(PDL:Page Description Languages)を用いるとよい。
I/F部18は、ネットワーク80を介して印刷装置20等の他の装置との間でデータを送受信する。
【0012】
また、印刷装置20は、ホスト装置10からネットワーク80を介して受信した印刷データに基づいて、用紙に画像を形成する。図1に示すように、印刷装置20は、CPU(Central Processing Unit)21と、RAM(Random Access Memory)22と、ROM(Read Only Memory)23と、NV−RAM(Non-Volatile RAM)24と、表示制御部25と、データ蓄積部26と、圧縮伸長部27と、画像形成部28と、I/F(インタフェース)部29とを備える。
【0013】
CPU21は、ROM23等に記憶された各種プログラムをRAM22にロードして実行することにより、図3を参照して後述する各機能を実現する。
RAM22は、CPU21の作業用メモリ等として用いられるメモリである。
ROM23は、CPU21が実行する各種プログラム等を記憶するメモリである。
NV−RAM24は、書き換え可能で電源供給が途絶えた場合にもデータを保持できる不揮発性メモリであり、印刷装置20の動作に必要な各種の設定情報等を記憶する。
表示制御部25は、ユーザに知らせる情報を印刷装置20の操作パネル(不図示)等に表示し、また、操作パネル等を介してユーザからの入力操作を受け付ける。
データ蓄積部26は、例えばネットワーク80を介してホスト装置10等の他の装置から受信した画像のデータ等を蓄積する記憶領域である。
圧縮伸長部27は、データ蓄積部26に蓄積される画像データに対する圧縮処理と、圧縮された画像データに対する伸張処理を行う。
画像形成部28は、例えば感光体に付着させたトナーを用紙に転写して像を形成する電子写真方式や、インクを用紙上に吐出して像を形成するインクジェット方式により、用紙に画像を形成する。
I/F部29は、ネットワーク80を介してホスト装置10等の他の装置との間でデータを送受信する。
【0014】
尚、用紙(印刷媒体)とは、画像を印刷可能なものであれば、その材質は問わない。また、印刷装置20は、用紙に画像を形成するプリンタ機能だけでなく、用紙に形成された画像を読み取るスキャナ機能、読み取った画像を別の用紙に印刷するコピー機能、読み取った画像を他の画像形成装置に公衆回線を通じて送信するファクシミリ機能等を複合的に備えたものであってもよい。
更に、ネットワーク80としては、LAN(Local Area Network)やインターネットを用いるとよい。
【0015】
ところで、印刷される文書に表紙を付加する際、表表紙には1ページ目(又は1ページ目と2ページ目)を、裏表紙には最終ページ(又は最終ページと最終ページの1ページ前のページ)を、本文とは異なる印刷媒体に印刷したいという要求がある。
【0016】
図2は、表紙が印刷される文書と期待される印刷結果の例を示した図である。この例では、図2(A)に示す表表紙71a、本文71b〜71d、裏表紙71eからなる5ページの文書を、本文71b〜71dは白色の用紙に、表表紙71aと裏表紙71eは青色の用紙に、それぞれ片面印刷するものとする。図2(B)は、この文書の印刷結果の例として、それぞれのページが、表表紙72a、本文72b〜72d、裏表紙72eに印刷されることを示している。ここで、表表紙72aと裏表紙72eにおける斜線は、それぞれのページが本文72b〜72d(白色の用紙)とは異なる印刷媒体(青色の用紙)に印刷されることを示している。また、裏表紙72eは他のページと異なり、用紙の裏面に印刷されている。
【0017】
このように文書に表紙を付加して印刷する際、表表紙は1ページ目又は1ページ目と2ページ目であるため、印刷装置は、現在処理しているページが表表紙として印刷されるべきページであるかを判断できる。しかしながら、従来から用いられているプリンタ記述言語(PDL)には現在のページが裏表紙のページであるか否かという情報が含まれていないため、印刷装置は現在処理しているページが裏表紙として印刷されるべきページであるか否かがわからない。
【0018】
そこで、裏表紙を本文とは異なる印刷媒体に印刷したいという要求に対応するためには、印刷装置が描画したページ画像を蓄積しておき、印刷ジョブの終了を検出したらそのページ画像を出力要求のある印刷媒体に面付けする手法をとることが考えられる。
【0019】
図3は、描画済みのページ画像を蓄積する手法の処理を示したフローチャートである。印刷装置は、文書を印刷するに際し、まず裏表紙の有無、裏表紙が印刷される印刷媒体、その印刷媒体への面付け等を含む印刷条件に関する印刷指定を受け付ける(ステップ501)。裏表紙がない場合には(ステップ502でNo)、印刷装置はその文書を通常処理により印刷し(ステップ503)、動作を終了する。
一方、裏表紙がある場合には(ステップ502でYes)、印刷装置は文書の1ページ分の描画処理を行う(ステップ504)。そして、まだ印刷ジョブの終端でない、即ち、まだ印刷すべきページのデータが残っていれば(ステップ505でNo)、描画されたページ画像が裏表紙のページ数分蓄積されているか否かを判定する(ステップ506)。蓄積ページ数が裏表紙のページ数に達していれば(ステップ506でYes)、新たなページ画像を取得した時点で、蓄積されている最先のページ画像は裏表紙のものではないことがわかるため、蓄積されている最先のページ画像を出力する(ステップ507)。一方、蓄積ページ数が裏表紙のページ数に達していなければ(ステップ506でNo)、ステップ507の出力は行わない。そして、印刷装置は、描画処理がなされた新しいページ画像を蓄積し(ステップ508)、処理はステップ504に戻る。
以上のステップ504から508までの処理を文書のページ数分繰り返した後、印刷ジョブの終端に来たとき(ステップ505でYes)に裏表紙の出力処理を行って(ステップ509)、印刷装置は動作を終了する。
【0020】
また、裏表紙を本文とは異なる印刷媒体に印刷したいという要求に対応するためのもう1つの手法として、印刷される文書の総ページ数をホスト装置又は印刷装置がカウントし、裏表紙となるページのページ番号を設定することにより、描画したページを蓄積せずに処理することが考えられる。
【0021】
図4は、総ページ数をカウントする手法の処理を示したフローチャートである。印刷装置は、文書を印刷するに際し、まず裏表紙の有無、裏表紙が印刷される印刷媒体、その印刷媒体への面付け等を含む印刷条件に関する印刷指定を受け付ける(ステップ601)。裏表紙がない場合には(ステップ602でNo)、印刷装置はその文書を通常処理により印刷し(ステップ603)、動作を終了する。
一方、裏表紙がある場合には(ステップ602でYes)、印刷装置は文書の総ページ数をカウントする処理を行う(ステップ604)。そして、得られた総ページ数をもとに、印刷装置は文書の各ページについてそれが裏表紙の対象となるページか否かを判定し(ステップ605)、裏表紙の対象でないページについて通常の出力を行っていく(ステップ606)。そして、裏表紙の対象となるページまで来たときに、印刷装置は裏表紙の出力処理を行って(ステップ607)、動作を終了する。
【0022】
このように、裏表紙を本文とは異なる印刷媒体に印刷したいという要求に対応するためには、描画したページ画像を蓄積しておき、印刷ジョブの終了を検出したらそのページ画像を出力要求のある印刷媒体に面付けする手法や、印刷される文書の総ページ数をカウントすることにより、描画したページを蓄積せずに処理する手法をとることが考えられる。
【0023】
しかしながら、ページ画像を蓄積しておく手法の場合、裏表紙の面付けによっては、ページ画像を180度回転して印刷する必要がある。このとき、カラープリンタのように、ページ画像の必要とするメモリ量が大きい場合、印刷出力されるまでページ画像を圧縮して保持するのが一般的である。ページ画像を圧縮して保持するプリンタである場合、180度回転の必要なページ画像を面付けするには、圧縮したページ画像の伸長、ページ画像の回転、ページ画像の再圧縮という処理が必要である。汎用的な圧縮・伸長器を用いた場合、処理時間や、中間的にページ画像を伸長するためのメモリ使用量に問題があり、本処理に適した圧縮・伸長器を用いた場合、専用の圧縮・伸長器によるコスト上昇や、符号化能率の面で不利である。
【0024】
また、印刷装置では、通常、ホスト装置から送信された印刷ジョブに対して、印刷ジョブに含まれる例えばPDL形式の印刷データを構文解析(パース)するPDLパース処理や、PDLパース処理により生成された中間言語のデータ(後述)を画素の並びで表現された画像形成用の画像データ(ラスタ画像データ等)に展開(レンダリング)するレンダリング処理が行われる。そして、レンダリング処理に際し、予め画像データを印刷処理に適した表色系の画像データ(例えば、CMYK)に色変換する色変換処理、色変換処理された画像データに対するスクリーン処理等が行われる。上記のページ画像を蓄積しておく手法では、ページ画像の描画を行ってから面付けを行うことになるため、裏表紙となるページの印刷媒体が本文の印刷媒体と異なる場合であっても、裏表紙のページ画像に対し、本文の印刷媒体に合った色変換処理等がなされてしまう。このため、裏表紙のページ画像について、必ずしも印刷媒体に適した画像処理を行うことができない。
【0025】
また、文書の総ページ数をカウントする手法の場合、カウントのために予め文書の全ページを蓄積する必要があり、文書の印刷処理の開始からその文書の1枚目が印刷出力されるまでの時間が長くなってしまう。
【0026】
そこで、以下に説明する第1から第4の実施形態では、印刷装置20が、文書の裏表紙となる印刷媒体(裏表紙媒体)に面付けされるページ数分の印刷データを、描画処理が行われる前のデータとして文書のページごとに順次取得、蓄積していく。そして、印刷ジョブの終端まで処理が進んだとき、即ち処理すべき次のページのデータがなくなったときに、蓄積されている描画処理が行われる前のデータに対応するページに対して、裏表紙が印刷される印刷媒体、その印刷媒体への面付け等を含む印刷条件を適用した上で、そのページの印刷データに対する描画処理を行う。
【0027】
尚、ここでの文書とは、印刷対象の電子文書の本文だけでなく裏表紙を含めた全体を指すものとする。印刷される文書に裏表紙を付加する場合としては、電子文書の本文に新たに裏表紙を付加する場合だけでなく、電子文書の最終ページを裏表紙とする場合も考えられるが、何れの場合でも、文書とは本文と裏表紙を含めた全体を指すものとする。
そして、ここでの裏表紙とは、文書の内容表示や装飾等のために文書の裏側に取り付けられる狭義の表紙に限らず、単に文書の最終ページについてそれ以前のページとは異なる印刷条件を適用する場合の最終ページをも含むものとする。
【0028】
<第1の実施形態>
第1の実施形態における印刷装置20は、文書の印刷データの一例であるPDLを解析して文書のページの境界を検出することにより、文書のページごとのPDL(描画処理が行われる前のデータである処理前データの一例)を順次取得し、裏表紙となる印刷媒体に面付けされるページ数分のPDLを記憶(蓄積)しながら、文書のページ画像の描画・出力処理を行っていく。
【0029】
図5は、第1の実施形態における印刷装置20の機能構成例を示したブロック図である。図示するように、印刷装置20は、裏表紙の印刷処理に関係する機能として、印刷指定受付部31と、PDLパーサ32と、PDL記憶部33と、PDLインタプリタ34と、印刷出力部35とを備える。これらのうち、PDL記憶部33は、例えばRAM22により実現される。また、印刷指定受付部31、PDLパーサ32、PDLインタプリタ34及び印刷出力部35の各機能は、CPU21がROM23等に記憶されたプログラムをRAM22に読み込んで実行することにより実現される。
【0030】
印刷指定受付部31は、ホスト装置10から印刷装置20に送信された印刷要求(印刷ジョブ)又は印刷装置20の操作パネル等を介して設定された印刷要求を受け付ける。特に印刷指定受付部31は、印刷要求に付加された裏表紙についての印刷指定として、例えば裏表紙の有無、裏表紙が印刷される印刷媒体、その印刷媒体への面付け等を含む印刷条件に関する情報を受け付ける。第1の実施形態では、受付手段の一例として、印刷指定受付部31を設けている。
【0031】
PDLパーサ32は、印刷指定受付部31が受け付けた印刷要求に含まれる、印刷対象の文書の印刷データであるPDLを構文解析(パース)し、その印刷データにおけるページの境界を検出する。第1の実施形態では、取得手段の一例として、PDLパーサ32を設けている。
【0032】
PDL記憶部33は、PDLパーサ32が行うパースにより得られたページごとのPDLを、裏表紙の印刷媒体に面付けされるページ数分記憶(蓄積)する。即ち、PDL記憶部33は、例えば裏表紙が片面印刷であれば1ページ分、両面印刷であれば2ページ分のPDLを記憶する。印刷される文書に裏表紙を付加する場合としては、本文を片面印刷し裏表紙を用紙裏面に片面印刷する場合、本文を片面印刷し裏表紙を両面印刷する場合、本文を両面印刷し裏表紙を用紙裏面に片面印刷する場合、本文を両面印刷し裏表紙も両面印刷する場合などが考えられるが、何れの場合でも、裏表紙が片面印刷であれば1ページ分、両面印刷であれば2ページ分のPDLを記憶すればよい。これは、裏表紙が片面印刷であれば1ページ分、両面印刷であれば2ページ分のPDLを記憶しておけば、新たなページのPDLを検出した時点で、記憶されている最先のページのPDLは裏表紙として面付けされるページのものではないことがわかるからである。第1の実施形態では、蓄積手段の一例として、PDL記憶部33を設けている。
【0033】
PDLインタプリタ34は、PDLパーサ32からの1ページ分のPDL出力要求を受け、PDL記憶部33に記憶されている1ページ分のPDLに対して描画処理を行い、得られたページ画像を印刷出力部35に出力する。また、PDLインタプリタ34は、裏表紙となるページについては、PDL記憶部33に記憶されているPDLに対し、印刷指定受付部31が受け付けた印刷指定に基づき裏表紙の印刷媒体、その印刷媒体への面付け等の指示を組み合わせた上で描画処理を行う。第1の実施形態では、描画手段の一例として、PDLインタプリタ34を設けている。
【0034】
印刷出力部35は、PDLインタプリタ34にて描画処理がなされたページ画像を、画像形成部28に印刷出力させる。
【0035】
図6は、第1の実施形態における印刷装置20の動作例を示したフローチャートである。印刷装置20が文書を印刷するに際し、まず印刷指定受付部31がその文書についての印刷要求を受け付け、その印刷要求に付加された裏表紙の有無、裏表紙が印刷される印刷媒体、その印刷媒体への面付け等を含む印刷条件に関する印刷指定を受け付ける(ステップ101)。裏表紙がない場合には(ステップ102でNo)、印刷装置20はその文書を通常処理により印刷し(ステップ103)、動作を終了する。
【0036】
一方、裏表紙がある場合には(ステップ102でYes)、印刷装置20は裏表紙印刷モードに遷移する。印刷装置20が裏表紙印刷モードに遷移すると、印刷指定受付部31が受け付けた印刷要求に含まれる印刷対象の文書のPDLをPDLパーサ32がパースし、その印刷データにおけるページの境界を検出する(ステップ104)。そして、まだ印刷ジョブの終端でない、即ち、まだ印刷すべきページのデータが残っていれば(ステップ105でNo)、PDLパーサ32によりパースされたページごとのPDLが裏表紙のページ数分PDL記憶部33に記憶されているか否かを判定する(ステップ106)。記憶されているページ数が裏表紙のページ数に達していれば(ステップ106でYes)、PDL記憶部33に記憶されている最先のPDLは裏表紙のものではないことがわかるため、PDLパーサ32が、その最先のPDLの描画・出力処理をPDLインタプリタ34に指示する(ステップ107)。一方、記憶されているPDLのページ数が裏表紙のページ数に達していなければ(ステップ106でNo)、PDLインタプリタ34はステップ107の描画・出力処理を行わない。そして、PDL記憶部33は、PDLパーサ32によりパースされた新しいページのPDLを記憶し(ステップ108)、処理はステップ104に戻る。
【0037】
以上のステップ104から108までの処理を文書のページ数分繰り返した後、印刷ジョブの終端に来たとき、即ち、PDLパーサ32が、次のページのPDLを検出することなくジョブ終了を検出したとき(ステップ105でYes)に、PDLパーサ32は、PDL記憶部33に記憶されているページ数分のPDLを裏表紙として出力するようPDLインタプリタ34に指示する。詳細には、PDLインタプリタ34は、PDL記憶部33に記憶されているPDLに対し、印刷指定受付部31が受け付けた裏表紙についての印刷指定に基づき裏表紙の印刷媒体、その印刷媒体への面付け等の指示を組み合わせる(ステップ109)。そしてPDLインタプリタ34は、裏表紙の描画処理を行い、得られたページ画像を印刷出力部35に出力する。印刷出力部35は、PDLインタプリタ34にて描画処理がなされたページ画像を、画像形成部28に印刷出力させる(ステップ110)。
以上により印刷装置20は動作を終了する。
【0038】
図7は、総ページ数をカウントする手法を用いた印刷装置と第1の実施形態における印刷装置20との間で処理時間を比較した図である。ここでは、裏表紙を含めて5ページの文書を両面印刷する場合の例を取り上げる。図中左から右に向かって時間が経過するものとし、斜線のブロックはページ当たりのPDLパース処理に要する時間、白色のブロックはページ当たりの描画・出力処理に要する時間をそれぞれ表すものとする。
【0039】
図7(A)は、総ページ数をカウントする印刷装置についての処理時間を示している。この印刷装置では、まず文書の総ページ数をカウントするため、5ページ分のPDLパース処理についてTaの時間がかかり、続いて5ページ分の描画・出力処理にTbの時間がかかる。
一方、図7(B)は、第1の実施形態における印刷装置20についての処理時間を示している。この印刷装置20では、両面印刷される裏表紙の表裏に対応する2ページ分のPDLをPDL記憶部33が記憶するため、PDLパーサ32によりこの2ページ分のPDLパース処理が行われてから1ページ目の描画・出力処理が行われる。その後、1ページ分のPDLパース処理と描画・出力処理が交互に繰り返され、最後に裏表紙の2ページの描画・出力処理が行われる。
【0040】
図7(A)と図7(B)を比較すると、何れの印刷装置でも5ページ分のPDLパース処理と描画・出力処理を行うため、印刷処理に要する時間Ta+Tbは変わらない。しかしながら、第1の実施形態における印刷装置20の方が、最初に文書の全ページについてのパース処理を行う必要がないため、総ページ数をカウントする印刷装置よりも、1ページ目が出力されるタイミングであるt1outが早くなる。言い換えると、第1の実施形態における印刷装置20の方が、総ページ数をカウントする印刷装置よりも、文書の印刷処理の開始からその文書の1枚目が印刷出力されるまでの時間であるT1が短くなる。
【0041】
<第2の実施形態>
第2の実施形態における印刷装置20は、文書の印刷データの一例であるPDLを、文書のページごとに順次中間言語のデータ(描画処理が行われる前のデータである処理前データの一例)に変換し、裏表紙となる印刷媒体に面付けされるページ数分の中間言語のデータ(以下、単に「中間言語」という)を記憶(蓄積)しながら、文書のページ画像の描画・出力処理を行っていく。
【0042】
ここで、中間言語とは、例えば、変換前のPDLに含まれる座標情報の単位系をインチ系、ミリ系などから印刷装置20に固有の座標系(何画素目か)に変換して統一したり、文字のフォントを内部的な数字のIDに置き換えるなどの内部処理を行って得られる形式のデータである。ただし、ここでの中間言語は、座標系やフォントの情報の変換により得られるデータに限らず、裏表紙とそれ以外のページの間で異なる画像処理(例えば色変換処理、スクリーン処理等)が行われる前のデータであればよい。
【0043】
図8は、第2の実施形態における印刷装置20の機能構成例を示したブロック図である。図示するように、印刷装置20は、裏表紙の印刷処理に関係する機能として、印刷指定受付部41と、PDLインタプリタ42と、中間言語記憶部43と、描画処理部44と、印刷出力部45とを備える。これらのうち、中間言語記憶部43は、例えばRAM22により実現される。また、印刷指定受付部41、PDLインタプリタ42、描画処理部44及び印刷出力部45の各機能は、CPU21がROM23等に記憶されたプログラムをRAM22に読み込んで実行することにより実現される。
【0044】
印刷指定受付部41は、ホスト装置10から印刷装置20に送信された印刷要求(印刷ジョブ)又は印刷装置20の操作パネル等を介して設定された印刷要求を受け付ける。特に印刷指定受付部41は、印刷要求に付加された裏表紙についての印刷指定として、例えば裏表紙の有無、裏表紙が印刷される印刷媒体、その印刷媒体への面付け等を含む印刷条件に関する情報を受け付ける。第2の実施形態では、受付手段の一例として、印刷指定受付部41を設けている。
【0045】
PDLインタプリタ42は、印刷指定受付部41が受け付けた印刷要求に含まれる、印刷対象の文書の印刷データであるPDLから、文書のページごとの中間言語を順次生成する。第2の実施形態では、取得手段の一例として、PDLインタプリタ42を設けている。
【0046】
中間言語記憶部43は、PDLインタプリタ42により生成されたページごとの中間言語を、裏表紙の印刷媒体に面付けされるページ数分記憶(蓄積)する。即ち、中間言語記憶部43は、例えば裏表紙が片面印刷であれば1ページ分、両面印刷であれば2ページ分の中間言語を記憶する。ここでも、第1の実施形態と同様に、文書の本文が片面印刷されるか両面印刷されるかにかかわらず、裏表紙が片面印刷であれば1ページ分、両面印刷であれば2ページ分の中間言語を記憶すればよい。これは、裏表紙が片面印刷であれば1ページ分、両面印刷であれば2ページ分の中間言語を記憶しておけば、新たなページの中間言語が生成された時点で、記憶されている最先のページの中間言語は裏表紙として面付けされるページのものではないことがわかるからである。第2の実施形態では、蓄積手段の一例として、中間言語記憶部43を設けている。
【0047】
描画処理部44は、PDLインタプリタ42からの1ページ分の描画出力要求を受け、中間言語記憶部43に記憶されている1ページ分の中間言語に対して描画処理を行い、得られたページ画像を印刷出力部45に出力する。また、描画処理部44は、裏表紙となるページについては、中間言語記憶部43に記憶されている中間言語に対し、印刷指定受付部41が受け付けた印刷指定に基づき裏表紙の印刷媒体、その印刷媒体への面付け等の指示を組み合わせた上で描画処理を行う。第2の実施形態では、描画手段の一例として、描画処理部44を設けている。
【0048】
印刷出力部45は、描画処理部44にて描画処理がなされたページ画像を、画像形成部28に印刷出力させる。
【0049】
図9は、第2の実施形態における印刷装置20の動作例を示したフローチャートである。印刷装置20が文書を印刷するに際し、まず印刷指定受付部41がその文書についての印刷要求を受け付け、その印刷要求に付加された裏表紙の有無、裏表紙が印刷される印刷媒体、その印刷媒体への面付け等を含む印刷条件に関する印刷指定を受け付ける(ステップ201)。裏表紙がない場合には(ステップ202でNo)、印刷装置20はその文書を通常処理により印刷し(ステップ203)、動作を終了する。
【0050】
一方、裏表紙がある場合には(ステップ202でYes)、印刷装置20は裏表紙印刷モードに遷移する。印刷装置20が裏表紙印刷モードに遷移すると、印刷指定受付部41が受け付けた印刷要求に含まれる印刷対象の文書のPDLから、PDLインタプリタ42が文書の1ページ分の中間言語を生成する(ステップ204)。そして、まだ印刷ジョブの終端でない、即ち、まだ印刷すべきページのデータが残っていれば(ステップ205でNo)、PDLインタプリタ42により生成されたページごとの中間言語が裏表紙のページ数分中間言語記憶部43に記憶されているか否かを判定する(ステップ206)。記憶されているページ数が裏表紙のページ数に達していれば(ステップ206でYes)、中間言語記憶部43に記憶されている最先の中間言語は裏表紙のものではないことがわかるため、PDLインタプリタ42が、その最先の中間言語の描画・出力処理を描画処理部44に指示する(ステップ207)。一方、記憶されている中間言語のページ数が裏表紙のページ数に達していなければ(ステップ206でNo)、描画処理部44はステップ207の描画・出力処理を行わない。そして、中間言語記憶部43は、PDLインタプリタ42により生成された新しいページの中間言語を記憶し(ステップ208)、処理はステップ204に戻る。
【0051】
以上のステップ204から208までの処理を文書のページ数分繰り返した後、印刷ジョブの終端に来たとき、即ち、PDLインタプリタ42が、次のページの中間言語を生成することなくジョブ終了を検出したとき(ステップ205でYes)に、PDLインタプリタ42は、中間言語記憶部43に記憶されているページ数分の中間言語を裏表紙として出力するよう描画処理部44に指示する。詳細には、描画処理部44は、中間言語記憶部43に記憶されている中間言語に対し、印刷指定受付部41が受け付けた裏表紙についての印刷指定に基づき裏表紙の印刷媒体、その印刷媒体への面付け等の指示を組み合わせる(ステップ209)。そして描画処理部44は、裏表紙の描画処理を行い、得られたページ画像を印刷出力部45に出力する。印刷出力部45は、描画処理部44にて描画処理がなされたページ画像を、画像形成部28に印刷出力させる(ステップ210)。
以上により印刷装置20は動作を終了する。
【0052】
図10は、総ページ数をカウントする手法を用いた印刷装置と第2の実施形態における印刷装置20との間で処理時間を比較した図である。ここでは、図7と同じく、裏表紙を含めて5ページの文書を両面印刷する場合の例を取り上げる。図中左から右に向かって時間が経過するものとし、斜線のブロックはページ当たりのPDLパース処理に要する時間を表すものとする。また、A1からA5のブロックは、それぞれ1ページ目から5ページ目までの各ページの中間言語生成処理に要する時間、B1からB5のブロックは、それぞれ1ページ目から5ページ目までの各ページの描画・出力処理に要する時間を表すものとする。
尚、図7における白色のブロックを、図10ではA1とB1、A2とB2、・・・のように分けて示している。即ち、図7における描画・出力処理に要する時間を表すブロックを、図10では中間言語生成処理に要する時間と描画・出力処理に要する時間を表す2つのブロックに分けて示している。
【0053】
図10(A)は、総ページ数をカウントする印刷装置についての処理時間を示している。この印刷装置では、まず文書の総ページ数をカウントするため、図7(A)と同じく、5ページ分の中間言語パース処理についてTaの時間がかかり、続いて5ページ分の描画・出力処理にTbの時間がかかる。
一方、図10(B)は、第2の実施形態における印刷装置20についての処理時間を示している。この印刷装置20では、両面印刷される裏表紙の表裏に対応する2ページ分の中間言語を中間言語記憶部43が記憶するため、PDLインタプリタ42によりこの2ページ分の中間言語生成処理が行われてから(A1とA2)、1ページ目の描画・出力処理が行われる(B1)。その後、1ページ分の中間言語生成処理と描画・出力処理が交互に繰り返され、最後に裏表紙の2ページの描画・出力処理が行われる(B4とB5)。
【0054】
図10(A)と図10(B)を比較すると、第2の実施形態における印刷装置20の方が、総ページ数をカウントする印刷装置よりも、文書の全ページについてのPDLパース処理に要する時間だけ、印刷処理に要する時間Ta+Tbが短くなる。これは、総ページ数をカウントする印刷装置では、総ページ数をカウントするときと描画処理を行うときの2回、ページの解釈を行う必要があるが、第2の実施形態における印刷装置20では、PDLをパースするときに併せて中間言語を生成するため、ページの解釈が1回で済むからである。
また、ページ数が多い文書を印刷する場合(最初の2ページ分の中間言語生成に要する時間の方が総ページ数のカウントに要する時間よりも短い場合)には、第2の実施形態における印刷装置20の方が、総ページ数をカウントする印刷装置よりも、1ページ目が出力されるタイミングであるt1outが早くなる。
【0055】
<第3の実施形態>
第3の実施形態における印刷装置20は、第2の実施形態と同じく、文書の印刷データの一例であるPDLを、文書のページごとに順次中間言語に変換し、裏表紙となる印刷媒体に面付けされるページ数分の中間言語を記憶(蓄積)しながら、文書のページ画像の描画・出力処理を行っていく。そして、第3の実施形態における印刷装置20はCPU21を2つ備え、それぞれが中間言語を生成し記憶する処理とページ画像を描画し出力する処理とを並列に行うことにより、印刷ジョブ全体の処理の高速化を実現する。
【0056】
図11は、第3の実施形態における印刷装置20の機能構成例を示したブロック図である。図示するように、印刷装置20は、裏表紙の印刷処理に関係する機能として、印刷指定受付部51と、PDLインタプリタ52と、中間言語記憶部53と、描画処理部54と、ページ画像記憶部55と、ページ出力管理部56と、印刷出力部57とを備える。これらのうち、中間言語記憶部53及びページ画像記憶部55は、例えばRAM22により実現される。また、印刷指定受付部51、PDLインタプリタ52及びページ出力管理部56の各機能は、一方のCPU21がROM23等に記憶されたプログラムをRAM22に読み込んで実行することにより実現される。更に、描画処理部54及び印刷出力部57の機能は、他方のCPU21がROM23等に記憶されたプログラムをRAM22に読み込んで実行することにより実現されるものとする。
【0057】
印刷指定受付部51は、ホスト装置10から印刷装置20に送信された印刷要求(印刷ジョブ)又は印刷装置20の操作パネル等を介して設定された印刷要求を受け付ける。特に印刷指定受付部51は、印刷要求に付加された裏表紙についての印刷指定として、例えば裏表紙の有無、裏表紙が印刷される印刷媒体、その印刷媒体への面付け等を含む印刷条件に関する情報を受け付ける。第3の実施形態では、受付手段の一例として、印刷指定受付部51を設けている。
【0058】
PDLインタプリタ52は、印刷指定受付部51が受け付けた印刷要求に含まれる、印刷対象の文書の印刷データであるPDLから、文書のページごとの中間言語を順次生成する。第3の実施形態では、取得手段の一例として、PDLインタプリタ52を設けている。
【0059】
中間言語記憶部53は、PDLインタプリタ52により生成されたページごとの中間言語を、裏表紙の印刷媒体に面付けされるページ数分記憶(蓄積)する。即ち、中間言語記憶部53は、例えば裏表紙が片面印刷であれば1ページ分、両面印刷であれば2ページ分の中間言語を記憶する。第3の実施形態では、第1の蓄積手段の一例として、中間言語記憶部53を設けている。
【0060】
描画処理部54は、PDLインタプリタ52による中間言語生成処理と並行して、中間言語記憶部53に記憶されているページごとの中間言語に対し描画処理を行う。そして描画処理部54は、得られたページ画像をページ画像記憶部55に出力する。第3の実施形態では、描画手段の一例として、描画処理部54を設けている。
【0061】
ページ画像記憶部55は、描画処理部54が描画処理を行うことにより得られたページ画像を記憶(蓄積)する。第3の実施形態では、第2の蓄積手段の一例として、ページ画像記憶部55を設けている。
【0062】
ページ出力管理部56は、中間言語記憶部53が裏表紙の印刷媒体に面付けされるページ数分の中間言語を記憶しているときに、PDLインタプリタ52が新たなページの中間言語を生成するたびに、ページ画像記憶部55に記憶されている最先のページ画像を1ページ分、印刷出力部57に印刷出力させる。また、ページ出力管理部56は、裏表紙となるページについては、裏表紙の印刷媒体に面付けされるページとそれ以外のページで印刷条件が異なるならば、中間言語記憶部53に記憶されている中間言語に対し、印刷指定受付部51が受け付けた印刷指定に基づき裏表紙の印刷媒体、その印刷媒体への面付け等の指示を組み合わせた上で描画処理を行うように、描画処理部54に指示する。そして、得られたページ画像を、ページ画像記憶部55及び印刷出力部57を介して出力させる。第3の実施形態では、出力制御手段の一例として、ページ出力管理部56を設けている。
【0063】
印刷出力部57は、ページ画像記憶部55に記憶されているページ画像を、画像形成部28に印刷出力させる。
【0064】
図12−1及び図12−2は、第3の実施形態における印刷装置20の動作例を示したフローチャートである。まずは図12−1を参照して説明する。
印刷装置20が文書を印刷するに際し、まず印刷指定受付部51がその文書についての印刷要求を受け付け、その印刷要求に付加された裏表紙の有無、裏表紙が印刷される印刷媒体、その印刷媒体への面付け等を含む印刷条件に関する印刷指定を受け付ける(ステップ301)。裏表紙がない場合には(ステップ302でNo)、印刷装置20はその文書を通常処理により印刷し(ステップ303)、動作を終了する。
【0065】
一方、裏表紙がある場合には(ステップ302でYes)、印刷装置20は裏表紙印刷モードに遷移する。印刷装置20が裏表紙印刷モードに遷移すると、印刷指定受付部51が受け付けた印刷要求に含まれる印刷対象の文書のPDLから、PDLインタプリタ52が文書の1ページ分の中間言語を生成する(ステップ304)。
【0066】
以下、中間言語を生成し記憶する処理とページ画像を描画し出力する処理とが、2つのCPU21により並列に行われる。描画・出力処理を行うCPU21については、描画処理部54が中間言語記憶部53に記憶されているページごとの中間言語に対し描画処理を行い(ステップ305a)、ページ画像記憶部55が描画処理により得られたページ画像を記憶する(ステップ305b)。
【0067】
一方、中間言語の生成・記憶処理を行うCPU21については、まだ印刷ジョブの終端でない、即ち、まだ印刷すべきページのデータが残っていれば(ステップ305でNo)、ページ出力管理部56が、PDLインタプリタ52により生成されたページごとの中間言語が裏表紙のページ数分中間言語記憶部53に記憶されているか否かを判定する(ステップ306)。記憶されているページ数が裏表紙のページ数に達していれば(ステップ306でYes)、ページ画像記憶部55に記憶されている最先のページ画像は裏表紙のものではないことがわかるため、ページ出力管理部56が、その最先のページ画像の出力をページ画像記憶部55に指示する(ステップ307)。
描画・出力処理を行うCPU21では、この指示を受けて、ページ画像記憶部55が印刷出力部57を介して、その最先のページ画像を印刷出力する(ステップ305c)。
【0068】
一方、記憶されている中間言語のページ数が裏表紙のページ数に達していなければ(ステップ306でNo)、ページ出力管理部56はステップ307の出力指示を行わない。そして、中間言語記憶部53は、PDLインタプリタ52により生成された新しいページの中間言語を記憶し(ステップ308)、処理はステップ304に戻る。
【0069】
以上のステップ304から308までの処理を文書のページ数分繰り返した後、印刷ジョブの終端に来たとき、即ち、PDLインタプリタ52が、次のページの中間言語を生成することなくジョブ終了を検出したとき(ステップ305でYes)に、処理はステップ309(図12−2を参照)に進む。
図12−2に移って、ページ出力管理部56は、印刷指定受付部51が裏表紙についての印刷指定を受け付けており、裏表紙の処理が必要か否かを判定する(ステップ309)。裏表紙の処理が必要でない場合には(ステップ309でNo)、ページ出力管理部56が、ページ画像記憶部55に記憶されているページ画像の出力を指示する(ステップ310)。
描画・出力処理を行うCPU21では、この指示を受けて、ページ画像記憶部55が印刷出力部57を介してページ画像を印刷出力し(ステップ305c)、印刷装置20は動作を終了する。
【0070】
一方、裏表紙の処理が必要である場合には(ステップ309でYes)、ページ出力管理部56は、ページ画像記憶部55が既に裏表紙のページ画像を記憶しているか否かを判定する(ステップ311)。ページ画像記憶部55が既に裏表紙のページ画像を記憶している場合には(ステップ311でYes)、そのページ画像は印刷指定受付部51が受け付けた裏表紙についての印刷指定に基づく印刷条件を適用せずに描画処理がなされたものであるため、ページ出力管理部56が、ページ画像記憶部55に対し裏表紙のページ画像を破棄するように指示する(ステップ312)。
描画・出力処理を行うCPU21では、この指示を受けて、ページ画像記憶部55に記憶されている裏表紙のページ画像を破棄する。
【0071】
また、ページ画像記憶部55がまだ裏表紙のページ画像を記憶していない場合には(ステップ311でNo)、ページ出力管理部56は、描画処理部54が裏表紙のページの描画処理を実行中であるか否かを更に判定する(ステップ313)。描画処理部54が裏表紙のページの描画処理を実行中であれば(ステップ313でYes)、その描画処理は印刷指定受付部51が受け付けた裏表紙についての印刷指定に基づく印刷条件を適用せずに実行されているため、ページ出力管理部56が、描画処理部54に対し裏表紙のページの描画処理を中止するように指示する(ステップ314)。
描画・出力処理を行うCPU21では、この指示を受けて、描画処理部54が裏表紙のページの描画処理を中止する。
【0072】
また、ページ画像記憶部55がまだ裏表紙のページ画像を記憶しておらず、描画処理部54が裏表紙のページの描画処理を実行中でもなければ(ステップ313でNo)、ページ出力管理部56はページ画像の破棄指示や描画処理の中止指示を行わない。
【0073】
そして、ページ出力管理部56は、中間言語記憶部53に記憶されている中間言語に対し、印刷指定受付部51が受け付けた裏表紙についての印刷指定に基づき裏表紙の印刷媒体、その印刷媒体への面付け等の指示を組み合わせるように、描画処理部54に指示する(ステップ315)。そしてページ出力管理部56は、描画処理部54に対して裏表紙のページの描画処理を指示し(ステップ316)、得られたページ画像の出力をページ画像記憶部55に指示する(ステップ317)。
【0074】
描画・出力処理を行うCPU21では、ページ出力管理部56に出力を指示されたページ画像をページ画像記憶部55が記憶しているならば、印刷出力部57を介してそのページ画像を印刷出力する(ステップ305c)。ページ出力管理部56に出力を指示されたページ画像をページ画像記憶部55がまだ記憶していないならば、描画処理部54から渡され次第、ページ画像を印刷出力する。
また、ステップ315及び316での指示を受けて、描画処理部54が裏表紙のページの描画処理を行い(ステップ305a)、ページ画像記憶部55が得られたページ画像を記憶し(ステップ305b)、印刷出力部57がそのページ画像を印刷出力する(ステップ305c)。
以上により、印刷装置20は動作を終了する。
【0075】
<第4の実施形態>
第4の実施形態における印刷装置20は、文書の先頭ページから、裏表紙の印刷媒体に面付けされるページ数分(例えば、片面印刷の場合は裏表紙への面付けが1ページなので、文書の先頭の1ページ分、両面印刷の場合は裏表紙への面付けが2ページなので、文書の先頭から2ページ分)のページについて、文書の印刷データの一例であるPDLを解析して文書のページの境界を検出することにより、文書のページごとのPDLを取得し記憶する。そして、記憶されたPDLのページに後続するページがある場合に、即ち、文書が裏表紙の印刷媒体に面付けされるページ数より多いページを含む場合に、その後続するページについてはページごとにPDLを順次中間言語に変換し、中間言語の形式で記憶しながら、文書のページ画像の描画・出力処理を行っていく。
【0076】
図13は、第4の実施形態における印刷装置20の機能構成例を示したブロック図である。図示するように、印刷装置20は、裏表紙の印刷処理に関係する機能として、印刷指定受付部61と、ページ出力管理部62と、PDLパーサ63と、PDL記憶部64と、PDLインタプリタ65と、中間言語記憶部66と、描画処理部67と、印刷出力部68とを備える。これらのうち、PDL記憶部64及び中間言語記憶部66は、例えばRAM22により実現される。また、印刷指定受付部61、ページ出力管理部62、PDLパーサ63、PDLインタプリタ65、描画処理部67及び印刷出力部68の各機能は、CPU21がROM23等に記憶されたプログラムをRAM22に読み込んで実行することにより実現される。
【0077】
印刷指定受付部61は、ホスト装置10から印刷装置20に送信された印刷要求(印刷ジョブ)又は印刷装置20の操作パネル等を介して設定された印刷要求を受け付ける。特に印刷指定受付部61は、印刷要求に付加された裏表紙についての印刷指定として、例えば裏表紙の有無、裏表紙が印刷される印刷媒体、その印刷媒体への面付け等を含む印刷条件に関する情報を受け付ける。第4の実施形態では、受付手段の一例として、印刷指定受付部61を設けている。
【0078】
ページ出力管理部62は、印刷装置20が裏表紙印刷モードに遷移しているときに、印刷指定受付部61が受け付けた印刷要求に含まれる印刷データの取得についての印刷装置20のモードを、PDLパースモードと中間言語モードとの間で切り替える。そして、印刷装置20が中間言語モードにあるときに、中間言語記憶部66に記憶されている中間言語の描画処理部67への出力を、PDLインタプリタ65に指示する。また、ページ出力管理部62は、裏表紙となるページについては、中間言語記憶部66に記憶されている中間言語に対し、印刷指定受付部61が受け付けた印刷指定に基づき裏表紙の印刷媒体、その印刷媒体への面付け等の指示を組み合わせた上で描画処理を行うように、描画処理部67に指示する。
【0079】
PDLパーサ63は、印刷装置20がPDLモードにあるときに、印刷指定受付部61が受け付けた印刷要求に含まれる、印刷対象の文書の印刷データであるPDLを構文解析(パース)し、その印刷データにおけるページの境界を検出する。
【0080】
PDL記憶部64は、PDLパーサ63が行うパースにより得られたページごとのPDLを、裏表紙の印刷媒体に面付けされるページ数分記憶(蓄積)する。即ち、PDL記憶部64は、例えば裏表紙が片面印刷であれば1ページ分、両面印刷であれば2ページ分のPDLを記憶する。
【0081】
PDLインタプリタ65は、印刷装置20が中間言語モードにあるときに、PDL記憶部64に記憶されているPDLを中間言語に変換し、描画処理部67に出力する。また、PDL記憶部64に記憶されたPDLのページに後続するページについて、印刷指定受付部61が受け付けた印刷要求に含まれるPDLから、文書のページごとの中間言語を順次生成し、中間言語記憶部66に記憶させる。第4の実施形態では、取得手段の一例として、PDLパーサ63及びPDLインタプリタ65を設けている。
【0082】
中間言語記憶部66は、PDLインタプリタ65により生成されたページごとの中間言語を、裏表紙の印刷媒体に面付けされるページ数分記憶(蓄積)する。即ち、中間言語記憶部66は、例えば裏表紙が片面印刷であれば1ページ分、両面印刷であれば2ページ分の中間言語を記憶する。第4の実施形態では、蓄積手段の一例として、PDL記憶部64及び中間言語記憶部66を設けている。
【0083】
描画処理部67は、PDLインタプリタ65からの1ページ分の描画出力要求を受け、中間言語記憶部66に記憶されている1ページ分の中間言語に対して描画処理を行い、得られたページ画像を印刷出力部68に出力する。また、描画処理部67は、裏表紙となるページについては、中間言語記憶部66に記憶されている中間言語に対し、印刷指定受付部61が受け付けた印刷指定に基づき裏表紙の印刷媒体、その印刷媒体への面付け等の指示を組み合わせた上で描画処理を行う。第4の実施形態では、描画手段の一例として、描画処理部67を設けている。
【0084】
印刷出力部68は、描画処理部67にて描画処理がなされたページ画像を、画像形成部28に印刷出力させる。
【0085】
図14は、第4の実施形態における印刷装置20の動作例を示したフローチャートである。印刷装置20が文書を印刷するに際し、まず印刷指定受付部61がその文書についての印刷要求を受け付け、その印刷要求に付加された裏表紙の有無、裏表紙が印刷される印刷媒体、その印刷媒体への面付け等を含む印刷条件に関する印刷指定を受け付ける(ステップ401)。裏表紙がない場合には(ステップ402でNo)、印刷装置20はその文書を通常処理により印刷し(ステップ403)、動作を終了する。
【0086】
一方、裏表紙がある場合には(ステップ402でYes)、印刷装置20は裏表紙印刷モードに遷移する。印刷装置20が裏表紙印刷モードに遷移すると、ページ出力管理部62は、PDLパースモードを選択する。PDLパースモードでは、印刷指定受付部61が受け付けた印刷要求に含まれる印刷対象の文書のPDLをPDLパーサ63がパースし、その印刷データにおけるページの境界を検出する(ステップ404)。そして、印刷ジョブの終端に来たならば(ステップ405でYes)、後述するステップ414に進み、裏表紙の出力処理を行った後、印刷装置20は動作を終了する。
【0087】
一方、まだ印刷ジョブの終端でない、即ち、まだ印刷すべきページのデータが残っていれば(ステップ405でNo)、PDLパーサ63によりパースされたページごとのPDLが裏表紙のページ数分PDL記憶部64に記憶されているか否かを判定する(ステップ406)。記憶されているページ数が裏表紙のページ数に達していなければ(ステップ406でNo)、PDL記憶部64は、PDLパーサ63によりパースされた新しいページのPDLを記憶し(ステップ407)、処理はステップ404に戻る。
【0088】
以上のステップ404から407までの処理を、文書の先頭ページから、裏表紙の印刷媒体に面付けされるページ数分のページについて繰り返す。そして、ページごとのPDLが裏表紙のページ数分PDL記憶部64に記憶された状態で、PDLパーサ63が更に次のページのPDLを検出したとき(ステップ406でYes)に、ページ出力管理部62は、印刷装置20のモードを中間言語モードに切り替える。
【0089】
中間言語モードでは、後続するページについて、印刷指定受付部61が受け付けた印刷要求に含まれる印刷対象の文書のPDLから、PDLインタプリタ65が文書の1ページ分の中間言語を生成する(ステップ408)。そして、まだ印刷ジョブの終端でない、即ち、まだ印刷すべきページのデータが残っていれば(ステップ409でNo)、記憶されている最先のページのPDL又は中間言語は裏表紙のものではないことがわかるため、その最先のページについての描画・出力処理が行われる。
【0090】
詳細には、記憶されたPDLがPDL記憶部64に残っていれば(ステップ410でYes)、ページ出力管理部62は、PDL記憶部64に記憶されている最先のページのPDLの出力を、PDLインタプリタ65に指示する。この指示を受けて、PDLインタプリタ65はその最先のページのPDLを中間言語に変換し、描画処理部67に出力する。そして、描画処理部67がその最先のページについての描画処理を行い、得られたページ画像を印刷出力部68が印刷出力する(ステップ411)。
【0091】
一方、PDL記憶部64に記憶されたPDLが全て出力済みであれば(ステップ410でNo)、ページ出力管理部62は、中間言語記憶部66に記憶されている最先のページの中間言語の出力を、PDLインタプリタ65に指示する。この指示を受けて、PDLインタプリタ65はその最先のページの中間言語を描画処理部67に出力する。そして、ステップ411と同様に、描画処理と印刷出力が行われる(ステップ412)。
【0092】
そして、中間言語記憶部66は、PDLインタプリタ65により生成された新しいページの中間言語を記憶し(ステップ413)、処理はステップ408に戻る。
以上のステップ408から413までの処理を文書の最後のページまで繰り返し、印刷ジョブの終端に来たとき、即ち、PDLインタプリタ65が、次のページの中間言語を生成することなくジョブ終了を検出したとき(ステップ409でYes)に、処理はステップ414に進む。
【0093】
そして、ページ出力管理部62は、中間言語記憶部66に記憶されているページ数分の中間言語を裏表紙として出力するよう描画処理部67に指示する。詳細には、描画処理部67が、中間言語記憶部66に記憶されている中間言語に対し、印刷指定受付部61が受け付けた裏表紙についての印刷指定に基づき裏表紙の印刷媒体、その印刷媒体への面付け等の指示を組み合わせる(ステップ414)。そして描画処理部67は、裏表紙の描画処理を行い、得られたページ画像を印刷出力部68に出力する。印刷出力部68は、描画処理部67にて描画処理がなされたページ画像を、画像形成部28に印刷出力させる(ステップ415)。
以上により印刷装置20は動作を終了する。
【0094】
このように、第4の実施形態における印刷装置20は、第1の実施形態と第2の実施形態の印刷装置20の構成を備えることにより、総ページ数をカウントする手法を用いた印刷装置と比べて、文書の印刷処理の開始からその文書の1枚目が印刷出力されるまでの時間(図7及び図10のT1)を短くするとともに、全体の印刷処理に要する時間(図7及び図10のTa+Tb)を短くする。
【0095】
尚、第4の実施形態における印刷装置20は、第1の実施形態と第3の実施形態の印刷装置20の構成を備えたものであってもよい。即ち、文書の先頭ページから裏表紙の印刷媒体に面付けされるページ数分のページについては、ページごとのPDLを取得・記憶し、後続するページについては、中間言語を生成し記憶する処理とページ画像を描画し出力する処理とを並列に行うようにしてもよい。
【0096】
以上、本発明の第1から第4の実施形態について説明した。これらの実施形態における印刷装置20は、何れも、文書の裏表紙となる印刷媒体(裏表紙媒体)に面付けされるページ数分の印刷データを、描画処理が行われる前のデータとして文書のページごとに順次取得、蓄積していく。そして、印刷ジョブの終端まで処理が進んだとき、即ち処理すべき次のページのデータがなくなったときに、蓄積されている描画処理が行われる前のデータに対応するページに対して、裏表紙が印刷される印刷媒体、その印刷媒体への面付け等を含む印刷条件を適用した上で、そのページの印刷データに対する描画処理を行う。
【0097】
尚、ここでの裏表紙とは、上述した通り、文書の内容表示や装飾等のために文書の裏側に取り付けられる狭義の表紙に限らず、単に文書の最終ページについてそれ以前のページとは異なる印刷条件を適用する場合の最終ページであってもよい。更に、ここでの最終ページとは、1ページに限らず、文書の最後から数えて複数のページ(例えば、両面印刷で、文書の最後から2枚分の4ページ)に対して印刷条件を変更する場合のその複数ページであってもよい。
【0098】
このような、文書の最後から数えて複数のページに対して印刷条件を変更する場合の例として、通常の印刷出力とは別に使用者、使用時間、使用装置、出力文書の名称等の情報を通知するための用紙(いわゆるバナーシート)を出力する場合が挙げられる。例えば、文書が両面印刷され、片面印刷バナーシートが文書の末尾に付加されるときは、3ページ分のPDL又は中間言語を記憶すればよく、文書が両面印刷され、両面印刷のバナーシートが文書の末尾に付加されるときは、4ページ分のPDL又は中間言語を記憶すればよい。
【0099】
また、印刷要求において、裏表紙だけでなく表表紙を付加する指定がされることもある。表表紙と裏表紙の両方が指定された場合に、裏表紙よりも表表紙の優先度が高い指定になっていれば、表表紙の出力対象となるページ(文書の先頭から1ページ又は2ページ)は裏表紙の対象ページにはならない。したがって、裏表紙よりも表表紙の優先度が高い指定になっているときは、表表紙の処理が終わるまでは、裏表紙の処理のために印刷データを記憶する必要はない。そこで、第1から第4の実施形態における印刷装置20では、このような表表紙の出力対象となるページを除いた裏表紙の出力対象となり得るページについてのPDL又は中間言語を、PDL記憶部33、中間言語記憶部43等に記憶するようにしてもよい。この場合、裏表紙の出力対象とならないページについては、PDL又は中間言語をPDL記憶部33、中間言語記憶部43等に記憶せず、描画処理を行うようにしてもよい。
【0100】
ところで、第1から第4の実施形態にて説明した、裏表紙の印刷処理に関係する機能は、印刷装置20とは独立した汎用のコンピュータ90で実現してもよい。以下では、そのようなコンピュータ90のハードウェア構成について説明する。
図15は、コンピュータ90のハードウェア構成を示した図である。図示するように、コンピュータ90は、演算手段であるCPU(Central Processing Unit)91と、記憶手段であるメインメモリ92及び磁気ディスク装置(HDD:Hard Disk Drive)93とを備える。ここで、CPU91は、OS(Operating System)やアプリケーション等の各種ソフトウェアを実行し、上述した各機能を実現する。また、メインメモリ92は、各種ソフトウェアやその実行に用いるデータ等を記憶する記憶領域であり、磁気ディスク装置93は、各種ソフトウェアに対する入力データや各種ソフトウェアからの出力データ等を記憶する記憶領域である。
更に、コンピュータ90は、外部との通信を行うための通信インタフェース94と、ビデオメモリやディスプレイ等からなる表示機構95と、キーボードやマウス等の入力デバイス96とを備える。
【0101】
尚、本実施の形態を実現するプログラムは、通信手段により提供することはもちろん、CD−ROM等の記録媒体に格納して提供するようにしてもよい。
【符号の説明】
【0102】
10…ホスト装置、20…印刷装置、31…印刷指定受付部、32…PDLパーサ、33…PDL記憶部、34…PDLインタプリタ、35…印刷出力部、41…印刷指定受付部、42…PDLインタプリタ、43…中間言語記憶部、44…描画処理部、45…印刷出力部、51…印刷指定受付部、52…PDLインタプリタ、53…中間言語記憶部、54…描画処理部、55…ページ画像記憶部、56…ページ出力管理部、57…印刷出力部、61…印刷指定受付部、62…ページ出力管理部、63…PDLパーサ、64…PDL記憶部、65…PDLインタプリタ、66…中間言語記憶部、67…描画処理部、68…印刷出力部
【特許請求の範囲】
【請求項1】
印刷要求に対して付加された、文書の裏表紙が印刷される印刷媒体である裏表紙媒体と当該裏表紙への印刷面付けとを含む印刷条件に関する印刷指定を受け付ける受付手段と、
前記文書の印刷データを、描画処理が行われる前のデータである処理前データとして、当該文書のページごとに取得する取得手段と、
前記取得手段が取得した前記処理前データであって、前記裏表紙媒体に面付けされるページ数分の処理前データを蓄積する蓄積手段と、
前記蓄積手段に前記文書の新たなページについての前記処理前データが蓄積されるたびに、当該新たなページの前に当該蓄積手段に蓄積された前記処理前データに対して前記描画処理を行う描画手段とを備え、
前記描画手段は、前記取得手段が取得する前記文書の新たなページについての前記処理前データがないときに、前記蓄積手段に蓄積された前記処理前データに対応するページに対して前記受付手段が受け付けた前記印刷指定に基づき前記印刷条件を適用した上で、当該処理前データに対する前記描画処理を行うことを特徴とする画像形成装置。
【請求項2】
前記取得手段は、前記文書の印刷データであるページ記述言語のデータを解析して当該文書のページの境界を検出することにより、前記処理前データとして、当該文書のページごとのページ記述言語のデータを取得することを特徴とする請求項1に記載の画像形成装置。
【請求項3】
前記取得手段は、前記文書の印刷データであるページ記述言語のデータを当該文書のページごとに中間言語のデータに変換することにより、前記処理前データとして当該中間言語のデータを取得することを特徴とする請求項1に記載の画像形成装置。
【請求項4】
前記取得手段は、
前記文書の先頭ページから、前記裏表紙媒体に面付けされるページ数分のページについて、当該文書の印刷データであるページ記述言語のデータを解析して当該文書のページの境界を検出することにより、前記処理前データとして、当該文書のページごとのページ記述言語のデータを取得し、
前記文書が前記処理前データとして取得された前記ページ記述言語のデータのページに後続するページを含むときに、当該後続するページについて、当該文書の印刷データであるページ記述言語のデータを当該文書のページごとに中間言語のデータに変換することにより、前記処理前データとして当該中間言語のデータを取得する
ことを特徴とする請求項1乃至3の何れかに記載の画像形成装置。
【請求項5】
印刷要求に対して付加された、文書の裏表紙が印刷される印刷媒体である裏表紙媒体と当該裏表紙への印刷面付けとを含む印刷条件に関する印刷指定を受け付ける受付手段と、
前記文書の印刷データを、描画処理が行われる前のデータである処理前データとして、当該文書のページごとに取得する取得手段と、
前記取得手段が取得した前記処理前データであって、前記裏表紙媒体に面付けされるページ数分の処理前データを蓄積する第1の蓄積手段と、
前記取得手段による前記処理前データの取得と並行して、前記第1の蓄積手段に蓄積されている前記処理前データに対して前記描画処理を行う描画手段と、
前記描画手段が前記描画処理を行うことにより得られたページ画像を蓄積する第2の蓄積手段と、
前記第1の蓄積手段に前記文書の新たなページについての前記処理前データが蓄積されるたびに、当該新たなページの前に前記第2の蓄積手段に蓄積された前記ページ画像を出力させる出力制御手段とを備え、
前記出力制御手段は、前記取得手段が取得する前記文書の新たなページについての前記処理前データがないときに、前記裏表紙媒体に面付けされるページと当該裏表紙媒体に面付けされないページとの間で前記印刷条件が異なるならば、前記描画手段に、前記第1の蓄積手段に蓄積された前記処理前データに対応するページに対して前記受付手段が受け付けた前記印刷指定に基づき前記印刷条件を適用した上で当該処理前データに対する前記描画処理を行うように指示し、当該指示の結果得られたページ画像を出力させることを特徴とする画像形成装置。
【請求項6】
前記取得手段は、
前記文書の先頭ページから、前記裏表紙媒体に面付けされるページ数分のページについて、当該文書の印刷データであるページ記述言語のデータを解析して当該文書のページの境界を検出することにより、前記処理前データとして、当該文書のページごとのページ記述言語のデータを取得し、
前記文書が前記処理前データとして取得された前記ページ記述言語のデータのページに後続するページを含むときに、当該後続するページについて、当該文書の印刷データであるページ記述言語のデータを当該文書のページごとに中間言語のデータに変換することにより、前記処理前データとして当該中間言語のデータを取得する
ことを特徴とする請求項5に記載の画像形成装置。
【請求項7】
コンピュータに、
印刷要求に対して付加された、文書の裏表紙が印刷される印刷媒体である裏表紙媒体と当該裏表紙への印刷面付けとを含む印刷条件に関する印刷指定を受け付ける機能と、
前記文書の印刷データを、描画処理が行われる前のデータである処理前データとして、当該文書のページごとに取得する機能と、
取得された前記処理前データであって、前記裏表紙媒体に面付けされるページ数分の処理前データを蓄積手段に蓄積させる機能と、
前記蓄積手段に前記文書の新たなページについての前記処理前データが蓄積されるたびに、当該新たなページの前に当該蓄積手段に蓄積された前記処理前データに対して前記描画処理を行う機能とを実現させ、
前記描画処理を行う機能は、前記取得する機能が取得する前記文書の新たなページについての前記処理前データがないときに、前記蓄積手段に蓄積された前記処理前データに対応するページに対して前記受け付ける機能が受け付けた前記印刷指定に基づき前記印刷条件を適用した上で、当該処理前データに対する前記描画処理を行うことを特徴とするプログラム。
【請求項1】
印刷要求に対して付加された、文書の裏表紙が印刷される印刷媒体である裏表紙媒体と当該裏表紙への印刷面付けとを含む印刷条件に関する印刷指定を受け付ける受付手段と、
前記文書の印刷データを、描画処理が行われる前のデータである処理前データとして、当該文書のページごとに取得する取得手段と、
前記取得手段が取得した前記処理前データであって、前記裏表紙媒体に面付けされるページ数分の処理前データを蓄積する蓄積手段と、
前記蓄積手段に前記文書の新たなページについての前記処理前データが蓄積されるたびに、当該新たなページの前に当該蓄積手段に蓄積された前記処理前データに対して前記描画処理を行う描画手段とを備え、
前記描画手段は、前記取得手段が取得する前記文書の新たなページについての前記処理前データがないときに、前記蓄積手段に蓄積された前記処理前データに対応するページに対して前記受付手段が受け付けた前記印刷指定に基づき前記印刷条件を適用した上で、当該処理前データに対する前記描画処理を行うことを特徴とする画像形成装置。
【請求項2】
前記取得手段は、前記文書の印刷データであるページ記述言語のデータを解析して当該文書のページの境界を検出することにより、前記処理前データとして、当該文書のページごとのページ記述言語のデータを取得することを特徴とする請求項1に記載の画像形成装置。
【請求項3】
前記取得手段は、前記文書の印刷データであるページ記述言語のデータを当該文書のページごとに中間言語のデータに変換することにより、前記処理前データとして当該中間言語のデータを取得することを特徴とする請求項1に記載の画像形成装置。
【請求項4】
前記取得手段は、
前記文書の先頭ページから、前記裏表紙媒体に面付けされるページ数分のページについて、当該文書の印刷データであるページ記述言語のデータを解析して当該文書のページの境界を検出することにより、前記処理前データとして、当該文書のページごとのページ記述言語のデータを取得し、
前記文書が前記処理前データとして取得された前記ページ記述言語のデータのページに後続するページを含むときに、当該後続するページについて、当該文書の印刷データであるページ記述言語のデータを当該文書のページごとに中間言語のデータに変換することにより、前記処理前データとして当該中間言語のデータを取得する
ことを特徴とする請求項1乃至3の何れかに記載の画像形成装置。
【請求項5】
印刷要求に対して付加された、文書の裏表紙が印刷される印刷媒体である裏表紙媒体と当該裏表紙への印刷面付けとを含む印刷条件に関する印刷指定を受け付ける受付手段と、
前記文書の印刷データを、描画処理が行われる前のデータである処理前データとして、当該文書のページごとに取得する取得手段と、
前記取得手段が取得した前記処理前データであって、前記裏表紙媒体に面付けされるページ数分の処理前データを蓄積する第1の蓄積手段と、
前記取得手段による前記処理前データの取得と並行して、前記第1の蓄積手段に蓄積されている前記処理前データに対して前記描画処理を行う描画手段と、
前記描画手段が前記描画処理を行うことにより得られたページ画像を蓄積する第2の蓄積手段と、
前記第1の蓄積手段に前記文書の新たなページについての前記処理前データが蓄積されるたびに、当該新たなページの前に前記第2の蓄積手段に蓄積された前記ページ画像を出力させる出力制御手段とを備え、
前記出力制御手段は、前記取得手段が取得する前記文書の新たなページについての前記処理前データがないときに、前記裏表紙媒体に面付けされるページと当該裏表紙媒体に面付けされないページとの間で前記印刷条件が異なるならば、前記描画手段に、前記第1の蓄積手段に蓄積された前記処理前データに対応するページに対して前記受付手段が受け付けた前記印刷指定に基づき前記印刷条件を適用した上で当該処理前データに対する前記描画処理を行うように指示し、当該指示の結果得られたページ画像を出力させることを特徴とする画像形成装置。
【請求項6】
前記取得手段は、
前記文書の先頭ページから、前記裏表紙媒体に面付けされるページ数分のページについて、当該文書の印刷データであるページ記述言語のデータを解析して当該文書のページの境界を検出することにより、前記処理前データとして、当該文書のページごとのページ記述言語のデータを取得し、
前記文書が前記処理前データとして取得された前記ページ記述言語のデータのページに後続するページを含むときに、当該後続するページについて、当該文書の印刷データであるページ記述言語のデータを当該文書のページごとに中間言語のデータに変換することにより、前記処理前データとして当該中間言語のデータを取得する
ことを特徴とする請求項5に記載の画像形成装置。
【請求項7】
コンピュータに、
印刷要求に対して付加された、文書の裏表紙が印刷される印刷媒体である裏表紙媒体と当該裏表紙への印刷面付けとを含む印刷条件に関する印刷指定を受け付ける機能と、
前記文書の印刷データを、描画処理が行われる前のデータである処理前データとして、当該文書のページごとに取得する機能と、
取得された前記処理前データであって、前記裏表紙媒体に面付けされるページ数分の処理前データを蓄積手段に蓄積させる機能と、
前記蓄積手段に前記文書の新たなページについての前記処理前データが蓄積されるたびに、当該新たなページの前に当該蓄積手段に蓄積された前記処理前データに対して前記描画処理を行う機能とを実現させ、
前記描画処理を行う機能は、前記取得する機能が取得する前記文書の新たなページについての前記処理前データがないときに、前記蓄積手段に蓄積された前記処理前データに対応するページに対して前記受け付ける機能が受け付けた前記印刷指定に基づき前記印刷条件を適用した上で、当該処理前データに対する前記描画処理を行うことを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12−1】
【図12−2】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12−1】
【図12−2】
【図13】
【図14】
【図15】
【公開番号】特開2012−45794(P2012−45794A)
【公開日】平成24年3月8日(2012.3.8)
【国際特許分類】
【出願番号】特願2010−188969(P2010−188969)
【出願日】平成22年8月26日(2010.8.26)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
【公開日】平成24年3月8日(2012.3.8)
【国際特許分類】
【出願日】平成22年8月26日(2010.8.26)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
[ Back to top ]