(57)【要約】      （修正有）【課題】ＰＤＬデータとラスターデータとのうち、どちらの形式でスプールすべきかを、ページ単位で指定できるようにしたので、スプール容量の軽減に効果があり、また、印刷ジョブの再利用性や印刷時間を好適に改善することができる印刷装置及び印刷製御方法を提供する。【解決手段】受信した印刷ジョブデータをページ単位に分割し、各印刷ジョブデータに含まれているオブジェクトの内容に基づき、当該ページをＰＤＬデータのままスプールするか、またはラスターデータに変換してからスプールするかを決定し、その決定に従って印刷ジョブデータをスプールする。再印刷の指示を受け付けると、ＰＤＬデータのまま保持されている印刷ジョブデータは、必要に応じて変更を加えてレンダリングを実行し作成されたラスターデータと、スプールから読み出されたラスターデータとをページ順に印刷出力する。【選択図】図３
2005161819.tif 000002
【特許請求の範囲】
【請求項１】
予めスプールされている印刷ジョブデータを再印刷する印刷装置であって、
ホストコンピュータから印刷ジョブデータを受信する受信手段と、
受信した前記印刷ジョブデータをページ単位で分割する分割手段と、
前記分割手段によりページごとに分割された印刷ジョブデータのそれぞれについて、該ページに含まれるオブジェクトの種類を基準として、ＰＤＬデータのままスプールするか、またはラスターデータとしてスプールするかを決定する決定手段と、
前記決定手段によりＰＤＬデータのままスプールすると決定されたページの印刷ジョブデータについてはＰＤＬデータのまま記憶し、ラスターデータとしてスプールすると決定されたページの印刷ジョブデータについては対応するラスターデータを記憶するスプール手段と、
前記スプール手段に記憶されている印刷ジョブデータについて再印刷の指示を前記ホストコンピュータまたは操作パネルから受信すると、前記スプール手段から前記ページごとの印刷ジョブデータを読み出し、読み出された前記ページごとの印刷ジョブデータがＰＤＬデータのままであれば、ラスターデータへと変換する変換手段と、
前記スプール手段から読み出されたラスターデータと、前記変換手段からのラスターデータとをページ順に印刷出力する印刷出力手段と
を含む、印刷装置。
【請求項２】
前記決定手段は、前記オブジェクトの種類に代えて、レンダリング処理に必要となる時間またはレンダリング処理により形成されるラスターデータのサイズを基準として、各ページの印刷ジョブデータをＰＤＬデータのままスプールするか、またはラスターデータとしてスプールするかを決定することを特徴とする請求項１に記載の印刷装置。
【請求項３】
スプールされている前記印刷ジョブデータの再印刷に際し、前記ＰＤＬデータのまま保持されている印刷ジョブデータの変更指定を入力する入力手段と、
入力された前記変更指定に応じて前記ＰＤＬデータを更新する更新手段と
をさらに含む請求項１または２に記載の印刷装置。
【請求項４】
前記再印刷の指示を受信すると、前記ラスターデータとして記憶されている印刷ジョブデータについては、変更指定を実行できない旨のメッセージを出力する出力手段をさらに含む請求項３に記載の印刷装置。
【請求項５】
前記再印刷の指示を受信すると、前記ラスターデータとして記憶されている印刷ジョブデータについては、印刷部数またはフィニッシングなどラスターデータの変更をともなわない再指定のみを受け付ける再指定手段をさらに含む請求項１ないし４の何れかに記載の印刷装置。
【請求項６】
ホストコンピュータから受信された前記印刷ジョブデータにジョブＩＤを付加するとともに、前記ページごとの印刷ジョブデータにページＩＤを付加することで、前記スプール手段に記憶されている印刷ジョブデータを管理する管理手段をさらに含む請求項１ないし５の何れかに記載の印刷装置。
【請求項７】
予めスプールされている印刷ジョブデータを再印刷する印刷制御方法であって、
ホストコンピュータから印刷ジョブデータを受信するステップと、
受信した前記印刷ジョブデータをページ単位で分割するステップと、
前記分割のステップによりページごとに分割された印刷ジョブデータのそれぞれについて、該ページに含まれるオブジェクトの種類を基準として、ＰＤＬデータのままスプールするか、またはラスターデータとしてスプールするかを決定するステップと、
前記決定のステップによりＰＤＬデータのままスプールすると決定されたページの印刷ジョブデータについてはＰＤＬデータのまま記憶し、ラスターデータとしてスプールすると決定されたページの印刷ジョブデータについては対応するラスターデータをスプールに記憶するステップと、
前記スプールに記憶されている印刷ジョブデータについて再印刷の指示を前記ホストコンピュータまたは操作パネルから受信すると、前記ページごとの印刷ジョブデータを読み出し、読み出された前記ページごとの印刷ジョブデータがＰＤＬデータのままであれば、ラスターデータへと変換するステップと、
前記スプールから読み出されたラスターデータと、前記変換のステップにおいて変換生成されたラスターデータとをページ順に印刷出力するステップと
を含む、印刷制御方法。
【請求項８】
前記決定ステップは、前記オブジェクトの種類に代えて、レンダリング処理に必要となる時間またはレンダリング処理により形成されるラスターデータのサイズを基準として、各ページの印刷ジョブデータをＰＤＬデータのままスプールするか、またはラスターデータとしてスプールするかを決定するステップであることを特徴とする請求項７に記載の印刷制御方法。
【請求項９】
スプールされている前記印刷ジョブデータの再印刷に際し、前記ＰＤＬデータのまま保持されている印刷ジョブデータの変更指定を入力するステップと、
入力された前記変更指定に応じて前記ＰＤＬデータを更新するステップと
をさらに含む請求項７または８に記載の印刷制御方法。
【請求項１０】
前記再印刷の指示を受信すると、前記ラスターデータとして記憶されている印刷ジョブデータについては、変更指定を実行できない旨のメッセージを出力するステップをさらに含む、請求項９に記載の印刷制御方法。
【請求項１１】
前記再印刷の指示を受信すると、前記ラスターデータとして記憶されている印刷ジョブデータについては、印刷部数またはフィニッシングなどラスターデータの変更をともなわない再指定のみを受け付けるステップをさらに含む、請求項７ないし１０の何れかに記載の印刷制御方法。
【請求項１２】
ホストコンピュータから受信された前記印刷ジョブデータにジョブＩＤを付加するとともに、前記ページごとの印刷ジョブデータにページＩＤを付加することで、前記印刷ジョブデータを管理するステップをさらに含む請求項６ないし１１の何れかに記載の印刷制御方法。
【請求項１３】
請求項６ないし１２の何れかに記載の印刷制御方法に関する各ステップをコンピュータ上で実行するための印刷制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に印刷装置およびその制御方法に係り、とりわけ、記憶装置にスプールされている印刷ジョブデータについて再印刷を指定する技術に関する。
【背景技術】
【０００２】
従来、プリンタやデジタル複写機などの印刷装置のなかには、内蔵または外付されているプリンタコントローラ上にＨＤＤ（ハードディスクドライブ）などの記憶装置を備えているものがあった。このような印刷装置のなかには、ホストコンピュータ等の外部装置からプリンタドライバ等を介して送信されるＰＤＬ（ページ記述言語）データを当該記憶装置にスプールしたり、プリンタコントローラ上でＰＤＬデータをレンダリングしてラスターデータを作成し、印刷処理を実行した後も、当該ＰＤＬデータを記憶装置に溜め置きしたりするものがあった（例えば、特許文献１など）。
【０００３】
ラスターデータに比べて、一般にＰＤＬデータはサイズが小さいことが知られている。その性質を利用し、転送用データとしてＰＤＬデータを採用することで、ホストコンピュータとプリンタコントローラ間での通信時間を短くすることができる。その結果、ホストコンピュータを速く通信処理から開放できることになる。
【０００４】
本発明の関連技術によれば、印刷装置の記憶装置にスプールされているＰＤＬデータを利用して再印刷を実行することができる。その際には、スプールされているＰＤＬデータの印刷ジョブに関する印刷属性を、再印刷の指示の際にＰＤＬコマンドによって変更することにより、例えば、ページ内のレイアウトを変更するなど、複雑な再印刷ジョブを実行することもできる。
【０００５】
その一方で、レンダリング処理に時間のかかるＰＤＬデータに代えて、ＰＤＬデータをレンダリング処理して作成されたラスターデータを上記記憶装置に溜め置くこともできる。この場合には、当該ラスターデータを利用して再印刷を実行できる。この場合は、ＰＤＬデータのように複雑な変更を適用できないが、印刷部数の再指定、ステープル等のフィニッシングの再指定を行うことができる。さらに、ＰＤＬデータのレンダリング処理を省略できるため、高速に印刷出力を行なえる利点がある。
【特許文献１】特開２０００−３１５１４２号公報。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記関連技術では、ＰＤＬデータをスプールするか、あるいはラスターデータを溜め置きするかは、プリンタドライバからの印刷ジョブの送信の際に指定したり、あるいはデフォルト値としてプリンタコントローラ上の操作パネルから予め指定したりしておく必要があった。しかも、印刷ジョブ単位で指定しなければならなかった。
【０００７】
一般に、ページ内に描画されるテキスト、グラフィック、イメージ等の比率によりレンダリングにかかる処理時間や、レンダリング後のラスターデータのサイズは異なることが知られている。それにもかかわらず、印刷ジョブを単位として上記指定を行ってしまうと、再印刷の実行に時間を浪費したり、不要にメモリ領域を占有したりすることがあった。
【０００８】
そこで、本発明は、このような課題および他の課題を解決することを目的とする。なお、他の課題については明細書の全体を通して理解できよう。
【課題を解決するための手段】
【０００９】
本発明によれば、印刷ジョブに関するジョブデータをページ単位に分割し、ページ内の描画オブジェクト（例えば、テキスト、グラフィック、イメージなど）を判別し、判別結果に基づき、ＰＤＬデータとしてスプールするか、ラスターデータとしてスプールするかをページ単位で決定し、決定に基づいてスプールしておく。そしてこのようにページごとにスプールされている印刷ジョブデータに、必要なら変更を施して再印刷を実行する。
【発明の効果】
【００１０】
本発明によれば、ＰＤＬデータとラスターデータとのうち、どちらの形式でスプールすべきかを、ページ単位で指定できるようにしたので、スプール容量の軽減に効果があり、また、印刷ジョブの再利用性や印刷時間を好適に改善することができる。
【発明を実施するための最良の形態】
【００１１】
以下に本発明の上位概念、中位概念および下位概念の理解に役立つ一実施形態を示す。なお、以下の実施形態に含まれる概念について、そのすべてが特許請求の範囲に記載されているとは限らない。ただし、これは特許発明の技術的範囲から意識的に除外したのではなく、特許発明と均等の関係にあるため特許請求の範囲には記載していない場合があることを理解していただきたい。
【００１２】
［第１の実施形態］
以下、図面を用いて本実施形態に係る印刷装置を説明する。本実施形態の印刷装置は、プリントエンジンとしてレーザビームプリンタを採用しており、ネットワークを介してホストコンピュータと接続することで、全体で印刷システムを形成している。なお、本実施形態を適用可能なプリンタは、レーザビームプリンタに限られるものではなく、インクジェットプリンタ等、他のプリント方式のプリンタでも良いことは言うまでもない。
【００１３】
（レーザビームプリンタの構成）
図１は、レーザビームプリンタ（以下、ＬＢＰと称す。）の内部構造を示す断面図である。なお、本発明は、プリント方式に左右されるものではないため、ＬＢＰに関しては簡潔に説明する。
【００１４】
ＬＢＰ本体１００は、外部に接続されているホストコンピュータ３００（図２）から供給される文字情報（例えば文字コードなど）、フォーム情報およびマクロ命令などを入力して記憶するとともに、それらの情報にしたがって対応する文字パターンやフォームパターンなどを作成し、記録媒体である記録紙上に像を形成する。
【００１５】
操作パネル１２０は、操作スイッチやＬＥＤ表示器や液晶表示器などが配さている。１１１はＬＢＰ１００全体の制御、およびホストコンピュータ３００から供給される文字情報などを解析するプリンタコントローラである。プリンタコントローラ１１１は、文字情報を、対応する文字パターンのビデオ信号に変換してレーザドライバ１０１に出力する。
【００１６】
レーザドライバ１０１は、半導体レーザ１０２を駆動する駆動回路であり、入力されたビデオ信号に応じて半導体レーザ１０２から発射されるレーザ光１０３についてオンオフ切り替えを実行する。レーザ光１０３は、回転多面鏡１０４によって左右方向に振られ、静電ドラム１０５の表面を走査する。これにより、静電ドラム１０５の表面には文字パターンの静電潜像が形成される。この静電潜像は、静電ドラム１０５の周囲に設けられた現像ユニット１０６により現像された後、記録紙に転写される。
【００１７】
この例では、記録紙としてカットシートを用いている。カットシート記録紙はＬＢＰ１００に装着された用紙カセット１０７に収納されており、給紙ローラ１０８および搬送ローラ１０９、１１０により装置内に取り込まれて、静電ドラム１０５に供給される。
【００１８】
（プリンタ制御システムの構成）
次に、プリンタ制御系の構成について説明する。図２はホストコンピュータおよびプリンタからなるプリンタ制御系の構成を示すブロック図である。なお、本発明の機能を実現できるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、またLAN等のネットワークを介して処理が行われるシステムであっても本発明を適用できることは言うまでもない。
【００１９】
ホストコンピュータ３００は、ＲＯＭ２０３に記録された文書処理プログラム等に基づいて、図形、イメージ、文字、表（表計算データ等を含む。）等が混在した文書の処理を実行するＣＰＵ２０１を備えている。ＣＰＵ２０１はシステムバス２０４に接続された各デバイスを統括的に制御する。また、ＲＯＭ２０３は、プログラム用ＲＯＭ３ａ、フォント用ＲＯＭ３ｂ、およびデータ用ＲＯＭ３ｃに分かれた記憶領域を有する記憶装置である。プログラム用ＲＯＭ３ａには、後述する文書処理プログラムが記憶されている。フォント用ＲＯＭｂには上記文書処理の際に使用するフォントデータ等が記憶されている。データ用ＲＯＭ３ｃには、上記文書処理等を行う際に使用する各種データが記憶されている。
【００２０】
ＲＡＭ２０２は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する記憶装置である。キーボードコントローラ（ＫＢＣ）２０５は、キーボード（ＫＢ）２０９や、不図示のポインティングデバイスからのキー入力を制御する回路である。ＣＲＴコントローラ（ＣＲＴＣ）２０６は、ＣＲＴディスプレイ（ＣＲＴ）２１０の表示を制御する制御回路である。
【００２１】
ディスクコントローラ（ＭＣ）２０７は、ブートプログラム、種々のアプリケーション、フォントデータ、ユーザファイル、および編集ファイル等を記憶するハードディスク（ＨＤ）、およびフロッピー（登録商標）ディスク（ＦＤ）等の外部メモリ２１１とのアクセスを制御する制御回路である。
【００２２】
ネットワークインタフェース回路（ＮＷ Ｉ／Ｆ）２０８は、任意のネットワーク２２１を介して他のホストコンピュータやプリンタ１００と接続し、プリンタ１００等の他の装置との通信制御を行う制御回路である。
【００２３】
ＣＰＵ２０１は、ＲＡＭ２０２上に設定された表示情報ＲＡＭに対してアウトラインフォントの展開（ラスタライズ）処理を実行し、ＣＲＴ２１０上でのＷＹＳＩＷＹＧを実現する演算回路である。上記構成を有するホストコンピュータ３００側のＣＰＵ２０１は、ＣＲＴ３１０上のマウスカーソル等で指示されたコマンドにしたがって登録された種々のウインドウを開き、種々のデータ処理を実行する。
【００２４】
一方、プリンタ１００において、ＣＰＵ２１２は、ＲＯＭ２１３のプログラム用ＲＯＭに記憶された制御プログラム、あるいは外部メモリ２１４に記憶されている制御プログラムに基づいてシステムバス２１５に接続される各種のデバイスとのアクセスを統括的に制御する。例えば、ＣＰＵ２１２は、印刷部インタフェース２１６を介して接続される印刷部（プリンタエンジン）２１７に出力情報としての画像信号を出力する。
【００２５】
また、ＲＯＭ２１３は、フォント用ＲＯＭ２１３ａ、プログラム用ＲＯＭ２１３ｂ、データ用ＲＯＭ２１３ｃに分かれた記憶領域を有する記憶装置である。フォント用ＲＯＭ２１３ａには上記出力情報を生成する際に使用するフォントデータ等が記憶されている。プログラム用ＲＯＭ２１３ｂには、後述する制御プログラムが記憶されている。データ用ＲＯＭ２１３ｃには、例えば、ハードディスク等の外部メモリ２１４を具備しないプリンタの場合には、ホストコンピュータ３００上で利用される情報等が記憶される。
【００２６】
ＣＰＵ２１２はネットワークインタフェース回路２１８を介してホストコンピュータ３００および他のプリンタと通信処理を行うことができ、プリンタ内の情報および資源データをホストコンピュータ３００に通知できる。
【００２７】
ＲＡＭ２１９は、ＣＰＵ２１２の主メモリ、ワークエリア等として機能する記憶装置であり、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張できる。また、ＲＡＭ２１９は、出力情報の展開領域、環境データの格納領域、不揮発性ＲＡＭ（ＮＶＲＡＭ）等として利用される。
【００２８】
前述したハードディスクドライブ（ＨＤＤ）、ＩＣカード等の外部メモリ２１４は、ディスクコントローラ（ＭＣ）２２０によりアクセスを制御される。外部メモリ２１４は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。
【００２９】
尚、前述した外部メモリ２１４は１個に限らず、複数個備えてもよい。たとえば、内蔵フォントに加えてオプションフォントカードや、言語体系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリの如くである。さらに、図示しないＮＶＲＡＭを有し、操作パネル１２０からのプリンタモードの設定情報を記憶するようにしてもよい。
【００３０】
（印刷処理システムの構成）
図３は、印刷処理システムの機能に関する例示的な構成を示すブロック図である。図において、プリンタ１００は、ネットワークインタフェース回路２１８およびネットワーク２２１を介してホストコンピュータ３００と接続されている。ネットワーク回路２１８は、ホストコンピュータ３００上のプリンタドライバ等からジョブ単位で送信される印刷データを受信する。なお、各機能は、制御プログラムをＣＰＵが実行することにより実現されるが、一部または全て機能をハードウエアにより実現してもよい。
【００３１】
ジョブ管理部３０１は、受信した印刷ジョブに係るデータ毎に、任意のジョブＩＤを付加する。また、ジョブ管理部３０１は、印刷ジョブデータに対する操作パネル１２０からの操作指示も受け付け、プリンタ１００内で処理される印刷ジョブデータの統一的な管理処理を実行する。
【００３２】
ページ分割部３０２は、ジョブＩＤを付加された印刷ジョブデータをページ毎に分割する。さらに、ページ分割部３０２は、各ページごとの印刷ジョブデータに任意のページＩＤを付加する。これにより、ＣＰＵ２１２は、ページＩＤを参照することで、各ページごとに印刷ジョブデータを操作できるようになる。このページＩＤは、ページごとの印刷ジョブデータ内に格納してもよいし、ジョブＩＤごとにページＩＤをテーブル化して記憶装置に記憶してもよい。
【００３３】
オブジェクト判別部３０３は、ページ毎に、ページ内に描画されているオブジェクト（たとえばテキスト、グラフィックおよびイメージなど）の判別処理を行う。さらに、それぞれのオブジェクトの有り無しや、各オブジェクトがページ内において占める領域の比率などを判別してもよい。判別結果は、ページの管理情報としてページＩＤとともに記憶装置に記憶されて管理される。
【００３４】
スプール切り替え部３０４は、オブジェクト判別部３０３による判別結果に基づいて、ＰＤＬデータのままスプールするか、レンダリング処理をしてラスターデータに変換してからスプールするかの切り替えを行う。スプール処理の切り替えは、たとえば、予め操作パネル１２０等から設定されている基準情報にしたがって決定することができる。基準情報としては、たとえば、オブジェクトの有り無し、レンダリング処理に必要となる予測処理時間、ラスターデータの予測サイズ等などがある。この基準情報は、印刷ジョブデータ自体に埋め込まれていてもよい。すなわち、予めプリンタドライバが、プリンタドライバのプロパティデータに従って基準情報を、印刷ジョブデータ内に挿入し、プリンタ１００へと送信してもよいのである。
【００３５】
ＰＤＬデータのままスプールする場合には、ファイル管理部３０５が、内部的なファイルデータとして外部メモリ２１４へ蓄積する。本実施形態では、蓄積先として外部メモリ２１４を用いているが、ＲＡＭ２１９内の領域を利用しても良い。
【００３６】
一方、レンダリング処理をしてからスプールする場合には、レンダリング部３０６が、該当するページのＰＤＬデータをラスターデータへと変換する。さらに、変換により作成されたページごとのラスターデータを、ファイル管理部３０５が、内部的なファイルデータとし外部メモリ２１４に蓄積する。なお、ファイル管理部３０５は、この内部的なファイルデータに、当該ファイルデータがＰＤＬデータなのかラスターデータなのかを識別するためのデータ識別情報を埋め込んでもよい。
【００３７】
再印刷指示部３０７は、操作パネル１２０またはホストコンピュータ３００上のユーティリティプログラム等から入力される再印刷指示を受け付ける。また、ジョブ管理部３０１は、ジョブＩＤやページＩＤにしたがって、スプールデータの情報をファイル管理部３０５から取得し、操作パネル１２０あるいはホストコンピュータ３００上のユーティリティプログラム等との間で双方向のデータ交換を行ってもよい。
【００３８】
操作パネル１２０またはホストコンピュータ３００上のユーティリティプログラム等から、ＰＤＬデータのままスプールされているページに対する変更が指示されると、この指示に含まれるジョブＩＤ（必要ならページＩＤ）に基づいて、ＰＤＬデータ更新部３０８が、ファイル管理部３０５を経由して外部メモリ２１４に蓄積されているＰＤＬデータを読み出し、変更指示の内容に応じて当該ＰＤＬデータを更新して記憶しなおす。なお、ジョブＩＤとページＩＤは、スプールされるページデータ内に埋め込んでもよいし、別途管理テーブルまたはデータベースを作成して管理してもよい。
【００３９】
再印刷指示部３０７は、スプールされているページデータに対する新たな印刷ジョブとして、再印刷指示を受信すると、ＰＤＬデータのままスプールされているページデータを、レンダリング処理部３０６によってラスターデータへと変換する。さらに、再印刷指示部３０７は、当該変換後のラスターデータと、予めラスターデータとしてスプールされているページデータとに、必要なら給排紙指定などのラスターデータに対する変更指示を設定し、印刷部インタフェース２１６を介して印刷部２１７から出力する。
【００４０】
（印刷ジョブのスプール処理）
図４はホストコンピュータ３００から送信される印刷ジョブデータをページ単位に分割し、ページ毎の描画オブジェクトの種類にしたがってＰＤＬデータとラスターデータの切り替えを行って外部メモリ２１４への格納処理する一連の手順を示すフローチャートである。
【００４１】
ステップＳ４０１において、ネットワークインタフェース２１８が印刷ジョブデータを受信すると、ジョブ管理部３０１は、当該印刷ジョブデータが通常印刷を行うべきものか、あるいは印刷処理後もスプールしておくべきものかを判定する。この判定は、例えば、印刷ジョブデータ内の識別フラグや、ＲＡＭ２１９など不揮発性の記憶装置に記憶されている設定情報に基づいて実行することができる。通常印刷を行うジョブである場合は、ステップＳ４１２において、スプール処理を行わずにレンダリング部３０６でラスター変換し、そのまま印刷部２１７から印刷出力を行う。なお、通常印刷を行うのと同時にスプール処理を行ってもよいことはいうまでもない。一方、スプール処理を行う場合は、Ｓ４０２に進む。
【００４２】
ステップＳ４０２において、ジョブ管理部３０１は、受信した印刷ジョブデータに対してジョブＩＤを付加する。ステップＳ４０３において、ページ分割部３０２は、印刷ジョブデータをページ単位に分割し、ページＩＤを付加する。
【００４３】
ステップＳ４０４において、オブジェクト判別部３０３は、各ページ内にどのような描画オブジェクト（たとえばテキスト、グラフィック、イメージなど）が含まれているかを判別し、それぞれの有り無しフラグを付加する。当該フラグは、印刷ジョブデータ内に埋め込んでもよいし、別途、ジョブＩＤ、ページＩＤと対応付けて各オブジェクトの有無を管理する管理テーブル又はデータベースを作成してもよい。
【００４４】
ステップＳ４０５において、オブジェクト判別部３０３は、ページ内にイメージオブジェクトが含まれているかどうかを判定する。含まれていればＳ４０６に進み、そうでなければＳ４０７に進む。ステップＳ４０６において、オブジェクト判別部３０３は、さらにページ領域に対するイメージオブジェクトの占める領域を判定し、判定結果を、ページデータの管理領域に付加する。あるいは、ジョブＩＤ、ページＩＤと対応付けて占有率等のデータを管理してもよい。
【００４５】
ステップＳ４０７において、オブジェクト判別部３０３は、ページ内にグラフィックオブジェクトが含まれているかどうかを判定する。含まれていればＳ４０８に進み、そうでなければＳ４０９に進む。ステップＳ４０８において、オブジェクト判別部３０３は、グラフィック描画のＰＤＬコマンドの複雑度を判定し、ページデータの管理領域へ付加する。あるいは、ジョブＩＤ、ページＩＤと対応付けて複雑度に関するデータを管理してもよい。なお、複雑度の判定には、例えば、ＰＤＬコマンドのラスターデータへの変換処理時間、および変換されたラスターデータを圧縮した場合に占めるメモリ容量を予測するための予測処理を用いる。
【００４６】
ステップＳ４０９において、スプール切り替え部３０４は、予め操作パネル１２０等から設定された情報、印刷ジョブデータに付加されている情報、およびオブジェクト判別部３０３による判別処理結果の少なくとも一つに基づいて、各ページごとのＰＤＬデータをラスターデータへと変換するかどうかを判定する。当該判定の結果、ラスターデータへ変換する場合にはステップＳ４１０に進み、レンダリング部３０６が当該ＰＤＬデータをラスターデータへと変換する。ラスターデータへの変換が不要ならステップＳ４１１に進む。
【００４７】
ステップＳ４１１において、ジョブ管理部３０５は、未ラスター化のページデータ（ＰＤＬデータのまま）と、ラスター化されたページデータを、ジョブＩＤ、ページＩＤにしたがって連結して印刷ジョブデータを再構築し、外部メモリ２１４へと格納する。
【００４８】
図５は、外部メモリ２１４内に格納された印刷ジョブデータの一例を示している。図に示されているように、印刷ジョブデータは、形式上、ページ単位でＰＤＬデータと、ラスターデータに分割されてスプールされている。
【００４９】
(ＰＤＬデータの更新処理)
図６は、スプールされている印刷ジョブデータの各ページについて、ユーザからの変更指示を対話的に受け付けてＰＤＬデータによるページデータの構成を更新する処理の例示的なフローチャートである。すなわち、このように格納されている印刷ジョブデータのうちＰＤＬデータによるページデータの情報を、操作パネル１２０またはホストコンピュータ３００上のユーティリティプログラム等から変更し、オリジナルとは異なる出力を得る。
【００５０】
ステップＳ６０１において、操作パネル１２０またはホストコンピュータ３００上のユーティリティプログラムを介してジョブＩＤが指定される。例えば、ファイル管理部３０５が外部メモリ２１４等に記憶管理しているジョブリストを、操作パネル１２０またはホストコンピュータ３００のディスプレイに表示させ、表示されたジョブＩＤをポインティングデバイス等により指定するようにしてもよい。指定されたジョブＩＤは受信したジョブ管理部３０１は、指定されたジョブについてスプールデータの更新処理をＰＤＬデー更新部３０８に命令する。ＰＤＬデー更新部３０８は、指示されたジョブＩＤに対応する各ページデータについて、ページＩＤを用いてＰＤＬデータであるか、ラスター化されたデータであるかを確認する。対象ページがＰＤＬページであれば、ステップＳ６０２へと進む。ラスター化されたデータである場合、ステップＳ６０５に進み、ページ内容の更新が不可であることを表すメッセージをユーザ側へ返信する。例えば、当該メッセージを操作パネル１２０に表示したり、ホストコンピュータ３００のユーティリティプログラムに送信して、ホストコンピュータ３００上のディスプレイに表示したりしてもよい。
【００５１】
ステップＳ６０２において、ＰＤＬデータである場合には、ページ内の描画オブジェクトに対する変更可能項目をユーザ側へ返信し、変更する項目の受け付け処理を行う。
【００５２】
ステップＳ６０３において、操作パネル１２０等を通じてユーザ側から変更する項目が指定されると、ＰＤＬデータ更新部３０８は、ＰＤＬコマンドレベルでのページデータの変更処理を行う。
【００５３】
ステップＳ６０４において、１ページ分の変更処理が終了すると、ジョブＩＤに基づいて総ページ数を参照し、当該総ページ数から現在までに処理したページ数を減算することで、残りのページ数を算出する。スプール内に当該ジョブＩＤに関するページデータが残っている場合には、ステップＳ６０１へと戻り、上述の処理を繰り返す。一方、ジョブデータの全ページに対する変更が完了すると処理を終了する。
【００５４】
図７は、本実施形態に係るページデータの出力例を示す図である。図７（ａ）は、変更を加える前の出力結果を示しており、出力ページ７００上にはテキストオブジェクト部７０１と、グラフィックオブジェクト部７０２、およびイメージオブジェクト部７０３がある。図７（ｂ）は、テキストオブジェクト部について文字属性（例えば、フォントの種類など）を変更したときの出力結果を示している。図７（ｃ）は、イメージオブジェクト部について出力倍率の変更を加えたときの出力結果である。この例では、ＰＤＬデータの変更処理を行った後で、レンダリング部３０６がレンダリング処理を行い、テキストオブジェクト部の体裁なども適宜更新する。例えば、イメージオブジェクト部７０３が拡大されたために、テキストオブジェクト部７０１のスペースが削減された場合には、削減後のスペース内にすべてのテキストオブジェクトが収まるようにフォントサイズを小さなものに変更したり、文字間隔や段落幅を削減したりする。このようにして、スプールされているジョブデータの再利用性を高くすることができる。
【００５５】
(スプールジョブの再印刷処理)
次に、このように変更処理されたジョブデータを、印刷部インタフェース２１６を介して印刷部２１７から出力する処理を説明する。
【００５６】
図８は、図６に示したＰＤＬによるページデータの更新処理後、またはラスターデータページに対して可能な変更指示を設定してから印刷出力を行う処理手順を示すフローチャートである。
【００５７】
ステップＳ８０１において、再印刷指示部３０７は、当該処理が起動されると、図６に示した変更処理が完了したことにより自動的に印刷出力するよう起動されたものか、ユーザ側との対話モードの継続が指示されたことにより起動されたのか、または図６に示した処理とは非同期に実行されるスプールデータへの単純出力指示により起動されたのかを確認する。再印刷処理に関する対話モードの継続（例えば、ラスターデータに対する出力形式の変更指示がある場合）であれば、ステップＳ８０２に進み、それ以外の場合（例えば、ラスターデータに対する出力形式の変更指示がない場合）はステップＳ８０３に進む。
【００５８】
ステップＳ８０２において、再印刷指示部３０７は、ラスターデータに対して変更可能な出力形式、例えば、両面印刷指示、出力用紙種別または出力部数などについて変更を指示されたかを判定し、変更を指示された場合には、印刷部インタフェース２１６に対し出力形式の変更設定を行う。
【００５９】
ステップＳ８０３において、印刷部インタフェース２１６において出力形式等を変更設定された印刷ジョブデータや、ステップＳ８０１においてラスターデータへの出力形式等の変更指示がない場合には無変更のラスターデータについて、印刷部２１７が印刷出力を行う。
【００６０】
以上説明したように、本発明によれば、受信した印刷ジョブデータをページ単位で分割し、ページごとに分割された印刷ジョブデータのそれぞれについて、該ページに含まれるオブジェクトの種類を基準として、ＰＤＬデータのままスプールするか、またはラスターデータとしてスプールするかを決定する。そして、ＰＤＬデータのままスプールすると決定されたページの印刷ジョブデータについてはＰＤＬデータのままスプールに記憶し、ラスターデータとしてスプールすると決定されたページの印刷ジョブデータについては対応するラスターデータをスプールに記憶する。また、スプールに記憶されている印刷ジョブデータについて再印刷の指示をホストコンピュータから受信すると、スプールされているページごとの印刷ジョブデータを読み出し、読み出されたページごとの印刷ジョブデータがＰＤＬデータのままであれば、ラスターデータへと変換する。前記スプールから読み出されたラスターデータと、前記変換のステップにおいて変換生成されたラスターデータとをページ順に印刷出力する。このように本発明によれば、印刷ジョブデータのスプール時点でレンダリング処理によりラスター化してあったページデータに対してはシステム内部でデータ転送を行うのみであるため、ユーザ側からの指示により再印刷処理が起動されてから全ページ分のジョブデータの印刷出力を得るまでの処理時間を従来よりも短縮することができる。また、ＰＤＬデータとラスターデータとのうち、どちらの形式でスプールすべきかを、オブジェクトの種類に応じて、ページ単位で指定できるようにしたので、スプール容量の軽減に効果があり、また、印刷ジョブの再利用性や印刷時間を好適に改善することができる。
【００６１】
また、レンダリング処理に必要となる時間またはレンダリング処理により形成されるラスターデータのサイズを基準として、各ページの印刷ジョブデータをＰＤＬデータのままスプールするか、またはラスターデータとしてスプールするかを決定することによって、スプール容量の軽減に効果があり、また、印刷ジョブの再利用性や印刷時間を好適に改善することができる。
【００６２】
また、スプールされている印刷ジョブデータの再印刷に際し、ＰＤＬデータのまま保持されている印刷ジョブデータについては、入力された変更指定に応じてＰＤＬデータを更新するようにしたので、再印刷の際にもとの印刷出力ことは異なる印刷出力（例えば、ページごとにレイアウトを変更した印刷出力）を容易に得ることができる。
【００６３】
また、再印刷の指示を受信した際に、スプール内にラスターデータとして記憶されている印刷ジョブデータについては、変更指定を実行できない旨のメッセージを出力するようにしたので、どのページが変更可能または不可能なのかをユーザが容易に把握できるようになる。
【００６４】
また、再印刷の指示を受信した際に、ラスターデータとして記憶されている印刷ジョブデータについては、印刷部数またはフィニッシングなどラスターデータの変更をともなわない再指定のみを受け付けるようにしたので、ラスターデータについてレイアウト変更等は拒絶するものの、印刷部数またはフィニッシングなどの再指定については実行可能としたので、ユーザにとっては、一部制限はあるものの、ラスターデータについても元の印刷時とは異なる印刷指定を行って印刷出力を実行できる。
【００６５】
また、ページごとの印刷ジョブデータについては、ジョブＩＤとページＩＤを付して管理するようにしたため、データ形式を大幅に変更することなく本発明を適用できる利点がある。
【００６６】
［他の実施形態］
以上、様々な実施形態を詳述したが、本発明は、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。例えば、スキャナ、プリンタ、スキャナ、ＰＣ、複写機、複合機およびファクシミリ装置の如くである。
【００６７】
なお、本発明は、前述した実施形態の各機能を実現するソフトウェアプログラム（本実施形態では図４、６または８に示すフローチャートに対応したプログラム）を、システム若しくは装置に対して直接または遠隔から供給し、そのシステム若しくは装置に含まれるコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される。
【００６８】
従って、本発明の機能・処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、上記機能・処理を実現するためのコンピュータプログラム自体も本発明の一つである。
【００６９】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００７０】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【００７１】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明の構成要件となる場合がある。
【００７２】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００７３】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００７４】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００７５】
【図１】本実施形態に係るレーザビームプリンタの内部構造を示す断面図である。
【図２】本実施形態に係るホストコンピュータおよびプリンタからなるプリンタ制御系の構成を示すブロック図である。
【図３】第１の実施形態に係る印刷処理システムの構成を示すブロック図である。
【図４】第１の実施形態に係るジョブデータをページ毎に分割してスプールする処理手順を示すフローチャートである。
【図５】第１の実施形態に係るスプールされたジョブデータの概念図である。
【図６】第１の実施形態に係るスプールされたジョブデータのＰＤＬページに対する変更指定手順を示すフローチャートである。
【図７】第１の実施形態に係る変更指定されたページの出力例を示す図である。
【図８】第１の実施形態に係るレンダリングされたラスターデータに対する印刷指示処理手順を示すフローチャートである。
【符号の説明】
【００７６】
１００  …  レーザビームプリンタ
１２０  …  操作パネル
２１４  …  外部メモリ
２１６  …  印刷部インタフェース
２１７  …  印刷部
２１８  …  ネットワークインタフェース
２２１  …  ネットワーク
３００  …  ホストコンピュータ
３０１  …  ジョブ管理部
３０２  …  ページ分割部
３０３  …  オブジェクト判別部
３０４  …  スプール切り替え部
３０５  …  ファイル管理部
３０６  …  レンダリング部
３０７  …  再印刷指示部
３０８  …  ＰＤＬデータ更新部
【図１】
2005161819.tif 000003
【図２】
2005161819.tif 000004
【図３】
2005161819.tif 000005
【図４】
2005161819.tif 000006
【図５】
2005161819.tif 000007
【図６】
2005161819.tif 000008
【図７】
2005161819.tif 000009
【図８】
2005161819.tif 000010