(57)【要約】【課題】複数部の文書を印刷する場合に、他の機能や互換性に影響を与えず、かつ、他のクライアントからの印刷物が紛れ込むことなく、部単位に両面印刷やステープル処理などの印刷後処理を行うとともに、その印刷性能を改善する。【解決手段】印刷システムは、Ｎ部の文書を印刷するときに、Ｎ個の印刷ジョブを送信する第１蓄積制御部７と、Ｎ個の印刷ジョブを印刷するまで他の送信元からの印刷ジョブを保留または禁止する受信制御部１１と、印刷ジョブに含まれる印刷データを解析する解析部１３と、印刷データからビットマップを描画する描画部１４と、１部目の印刷ジョブでは、描画したビットマップを頁単位で可能な限り蓄積し、２部目以降の印刷ジョブでは、蓄積できた頁のビットマップを印刷部１５で印刷させるとともに、蓄積できなかった頁については、印刷ジョブから解析、描画したビットマップを印刷させる第２蓄積制御部１６と、を備えている。【選択図】図１
2011028363.tif 000002
【特許請求の範囲】
【請求項１】
Ｎ部（Ｎは２以上の整数）の文書を印刷するときに、少なくとも１個分の印刷指示を蓄積し、部数情報または後続の印刷指示の有無情報を付加したＮ個の印刷指示を生成して送信する第１の蓄積制御手段と、
前記印刷指示の送信元の識別情報を記憶する記憶手段と、
前記識別情報に基づいて、前記Ｎ個の印刷指示を印刷するまで他の送信元から受信する印刷指示を保留または禁止する受信制御手段と、
前記部数情報または後続の印刷指示の有無情報に基づき、前記Ｎ個の印刷指示を連続して印刷する印刷手段と、
前記印刷指示に含まれる印刷情報を解析する解析手段と、
前記解析手段で解析した印刷情報から画像を描画する描画手段と、
前記Ｎ個の印刷指示のうち１部目に相当する印刷指示では、前記描画手段で描画した画像を前記印刷手段で印刷させるとともに頁単位で可能な限り蓄積し、２部目以降に相当する印刷指示では、蓄積できた頁の画像を前記印刷手段で印刷させるとともに、蓄積できなかった頁に関しては、前記印刷指示から解析、描画した画像を前記印刷手段で印刷させる第２の蓄積制御手段と、を備えることを特徴とする印刷システム。
【請求項２】
前記解析手段は、蓄積できた頁の印刷情報を読み捨てることを特徴とする請求項１に記載の印刷システム。
【請求項３】
前記受信制御部は、蓄積済みの頁情報を送信元に通知し、
前記第１の蓄積制御部が、蓄積済みの頁の印刷情報を省いた印刷指示を送信することを特徴とする請求項１に記載の印刷システム。
【請求項４】
前記第１の蓄積制御部は、蓄積済みの頁が省かれていることを表す情報を印刷指示に付加することを特徴とする請求項３に記載の印刷システム。
【請求項５】
前記記憶手段は、保留する印刷指示を記憶することを特徴とする請求項１に記載の印刷システム。
【請求項６】
前記記憶手段は、保留する印刷指示の送信元の識別情報を記憶することを特徴とする請求項１に記載の印刷システム。
【請求項７】
前記受信制御手段が所定の時間以内にＮ個の印刷指示を受信できないとき、前記印刷手段は、保留した印刷指示の印刷を開始することを特徴とする請求項１に記載の印刷システム。
【請求項８】
前記部数情報は、少なくとも最初に送信する印刷指示に付加されていることを特徴とする請求項１に記載の印刷システム。
【請求項９】
前記部数情報は、既存のページ記述言語または既存のジョブ制御言語で付加されていることを特徴とする請求項１に記載の印刷システム。
【請求項１０】
前記部数情報は、残りの印刷部数として付加されていることを特徴とする請求項１に記載の印刷システム。
【請求項１１】
Ｎ部（Ｎは２以上の整数）の文書を印刷するときに、少なくとも１個分の印刷指示を蓄積し、部数情報または後続の印刷指示の有無情報を付加したＮ個の印刷指示を生成して送信する蓄積制御手順と、
前記印刷指示の送信元の識別情報を記憶する記憶手順と、
前記識別情報に基づいて、前記Ｎ個の印刷指示を印刷するまで他の送信元から受信する印刷指示を保留または禁止する受信制御手順と、
前記部数情報または後続の印刷指示の有無情報に基づき、前記Ｎ個の印刷指示を連続して印刷する印刷手順と、
前記印刷指示に含まれる印刷情報を解析する解析手順と、
前記解析手順で解析した印刷情報から画像を描画する描画手順と、
前記Ｎ個の印刷指示のうち１部目に相当する印刷指示では、前記描画手順で描画した画像を前記印刷手順で印刷させるとともに頁単位で可能な限り蓄積し、２部目以降に相当する印刷指示では、蓄積できた頁の画像を前記印刷手順で印刷させるとともに、蓄積できなかった頁に関しては、前記印刷指示から解析、描画した画像を前記印刷手順で印刷させる第２の蓄積制御手順と、を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷システムおよびプログラムに関する。
【背景技術】
【０００２】
印刷装置における複数部数の丁合印刷では、全ページ分の印刷データの描画データを印刷装置に内蔵したハードディスクまたはＲＡＭ（Random Access Memory）に格納し、必要な部数分の印刷処理が繰り返される。この方式の場合、ハードディスクや大容量のＲＡＭが必要となるため、コストアップしてしまう。
【０００３】
低コストの印刷装置で複数部の文書の丁合印刷を実施する場合、情報処理装置が１つの印刷ジョブの中で、出力すべき部数分、印刷データを繰り返し印刷装置に送信する方法がある。この方法により両面印刷を行う場合、印刷する文書のページ数が奇数であると、１部目の最終ページの裏面に次の部の先頭ページが印刷され、出力物を部単位に分けることができない。また、ステープルを打つ場合には、全ての部数を１つに綴じ込んでしまうなど、他の印刷後処理（ステープル・Folder・パンチ・Nin1印刷など）が適切に処理されない。
【０００４】
この解決手段として、Ｎ部の文書を印刷する際に、１部の印刷を行う印刷ジョブをＮ個生成して印刷装置に送信する方法がある。ところが、この方法では、印刷装置がネットワーク上で共有されていたり、複数のインターフェースを介して複数のクライアントと接続されていたりした場合、各印刷ジョブの間に他のクライアントから送信されてきた印刷ジョブが挿入されてしまうことがある。そのため、複数部の出力物の中から、他のクライアントの出力物が有るか否かを調べなければならない。
【０００５】
この解決手段として、特許文献１および２が開示されている。特許文献１に記載の発明では、両面印刷を行う場合、単一ジョブとして複数部数印刷を行い、各部の最終ページが印刷媒体の表面にあたる場合には、その裏面に空白ページを挿入している。
【０００６】
特許文献２に記載の発明では、各種の印刷後処理を行う場合、単一ジョブとして複数部数印刷を行い、各種の区切りデータを印刷データに挿入して、そのデータにしたがって印刷後処理を行っている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１１−７０７１７号公報
【特許文献２】特開２００１−３５３９２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
このような背景を鑑み、本発明は、複数部の文書を印刷する場合に、他の機能や互換性に影響を与えず、かつ、他のクライアントからの印刷物が紛れ込むことなく、部単位に両面印刷やステープル処理などの印刷後処理を行うとともに、その印刷性能を改善する技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
請求項１に記載の発明は、Ｎ部（Ｎは２以上の整数）の文書を印刷するときに、少なくとも１個分の印刷指示を蓄積し、部数情報または後続の印刷指示の有無情報を付加したＮ個の印刷指示を生成して送信する第１の蓄積制御手段と、前記印刷指示の送信元の識別情報を記憶する記憶手段と、前記識別情報に基づいて、前記Ｎ個の印刷指示を印刷するまで他の送信元から受信する印刷指示を保留または禁止する受信制御手段と、前記部数情報または後続の印刷指示の有無情報に基づき、前記Ｎ個の印刷指示を連続して印刷する印刷手段と、前記印刷指示に含まれる印刷情報を解析する解析手段と、前記解析手段で解析した印刷情報から画像を描画する描画手段と、前記Ｎ個の印刷指示のうち１部目に相当する印刷指示では、前記描画手段で描画した画像を前記印刷手段で印刷させるとともに頁単位で可能な限り蓄積し、２部目以降に相当する印刷指示では、蓄積できた頁の画像を前記印刷手段で印刷させるとともに、蓄積できなかった頁に関しては、前記印刷指示から解析、描画した画像を前記印刷手段で印刷させる第２の蓄積制御手段と、を備えることを特徴とする印刷システムである。
【００１０】
請求項２に記載の発明は、請求項１に記載の発明において、前記解析手段は、蓄積できた頁の印刷情報を読み捨てることを特徴とする。
【００１１】
請求項３に記載の発明は、請求項１に記載の発明において、前記受信制御部は、蓄積済みの頁情報を送信元に通知し、前記第１の蓄積制御部が、蓄積済みの頁の印刷情報を省いた印刷指示を送信することを特徴とする。
【００１２】
請求項４に記載の発明は、請求項３に記載の発明において、前記第１の蓄積制御部は、蓄積済みの頁が省かれていることを表す情報を印刷指示に付加する。
【００１３】
請求項５に記載の発明は、請求項１に記載の発明において、前記記憶手段は、保留する印刷指示を記憶することを特徴とする。
【００１４】
請求項６に記載の発明は、請求項１に記載の発明において、前記記憶手段は、保留する印刷指示の送信元の識別情報を記憶することを特徴とする。
【００１５】
請求項７に記載の発明は、請求項１に記載の発明において、前記受信制御手段が所定の時間以内にＮ個の印刷指示を受信できないとき、前記印刷手段は、保留した印刷指示の印刷を開始することを特徴とする。
【００１６】
請求項８に記載の発明は、請求項１に記載の発明において、前記部数情報は、少なくとも最初に送信する印刷指示に付加されていることを特徴とする。
【００１７】
請求項９に記載の発明は、請求項１に記載の発明において、前記部数情報は、既存のページ記述言語または既存のジョブ制御言語で付加されていることを特徴とする。
【００１８】
請求項１０に記載の発明は、請求項１に記載の発明において、前記部数情報は、残りの印刷部数として付加されていることを特徴とする。
【００１９】
請求項１１に記載の発明は、Ｎ部（Ｎは２以上の整数）の文書を印刷するときに、少なくとも１個分の印刷指示を蓄積し、部数情報または後続の印刷指示の有無情報を付加したＮ個の印刷指示を生成して送信する蓄積制御手順と、前記印刷指示の送信元の識別情報を記憶する記憶手順と、前記識別情報に基づいて、前記Ｎ個の印刷指示を印刷するまで他の送信元から受信する印刷指示を保留または禁止する受信制御手順と、前記部数情報または後続の印刷指示の有無情報に基づき、前記Ｎ個の印刷指示を連続して印刷する印刷手順と、前記印刷指示に含まれる印刷情報を解析する解析手順と、前記解析手順で解析した印刷情報から画像を描画する描画手順と、前記Ｎ個の印刷指示のうち１部目に相当する印刷指示では、前記描画手順で描画した画像を前記印刷手順で印刷させるとともに頁単位で可能な限り蓄積し、２部目以降に相当する印刷指示では、蓄積できた頁の画像を前記印刷手順で印刷させるとともに、蓄積できなかった頁に関しては、前記印刷指示から解析、描画した画像を前記印刷手順で印刷させる第２の蓄積制御手順と、を実行させるためのプログラムである。
【発明の効果】
【００２０】
請求項１に記載の発明によれば、複数部の文書を印刷する場合に、他の機能や互換性に影響を与えず、かつ、他のクライアントからの印刷物が紛れ込むことなく、部単位に両面印刷やステープル処理などの印刷後処理を行うとともに、その印刷性能を改善することができる。
【００２１】
請求項２に記載の発明によれば、部数分の印刷情報を全て解析、描画する場合と比べて、印刷性能が向上する。
【００２２】
請求項３に記載の発明によれば、部数分の印刷情報を全て解析、描画する場合と比べて、印刷性能が向上する。
【００２３】
請求項４に記載の発明によれば、蓄積済みの頁が省かれているか否かを容易に認識することができる。
【００２４】
請求項５に記載の発明によれば、Ｎ個の印刷指示の印刷が終了した後に、保留した印刷指示の印刷をすぐに開始することができるので、複数のクライアントからの印刷指示の処理性能が向上する。
【００２５】
請求項６に記載の発明によれば、保留する印刷指示が、複数部の文書を印刷するＮ個の印刷指示で構成されている場合であっても、Ｎ個の印刷指示を印刷するまでに他のクライアントからの印刷指示をさらに保留または禁止できるため、複数部の印刷物の間に他のクライアントからの印刷物が紛れ込むことがない。
【００２６】
請求項７に記載の発明によれば、Ｎ個の印刷指示の送信元による障害で通信が途絶えても印刷を継続することができる。
【００２７】
請求項８に記載の発明によれば、部数情報を付加する処理を最小限に抑えることができる。
【００２８】
請求項９に記載の発明によれば、部数情報は、既存のページ記述言語または既存のジョブ制御言語の一般的な情報であるため、印刷指示の互換性を維持することができる。
【００２９】
請求項１０に記載の発明によれば、Ｎ個の印刷指示のうち受信した印刷指示の数をカウントする必要がない。
【００３０】
請求項１１に記載の発明によれば、複数部の文書を印刷する場合に、他の機能や互換性に影響を与えず、かつ、他のクライアントからの印刷物が紛れ込むことなく、部単位に両面印刷やステープル処理などの印刷後処理を行うとともに、その印刷性能を改善することができる。
【図面の簡単な説明】
【００３１】
【図１】印刷システムの構成を示すブロック図である。
【図２】情報処理装置の動作を示すフローチャートである。
【図３】印刷装置の動作を示すフローチャートである。
【発明を実施するための最良の形態】
【００３２】
以下、印刷システムおよびプログラムの一例について、図面を参照して説明する。
【００３３】
１．第１の実施形態
（印刷システムの構成）
以下、印刷システムの構成について説明する。図１は、印刷システムの構成を示すブロック図である。印刷システムは、情報処理装置１、印刷装置２を備えている。情報処理装置１と印刷装置２は、ＬＡＮ（Local Area Network）３に有線または無線で接続されている。また、ＬＡＮ３には、情報処理装置１と同じ構成の情報処理装置が複数台接続されている。
【００３４】
情報処理装置１は、例えば、パーソナルコンピュータや携帯型情報端末であり、図示しないが、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、ＨＤＤ（Hard Disk Drive）、および各種入出力制御部（Ｉ／Ｏ）からなるハードウェアと、これらの制御を司る基本ソフトウェア（ＯＳ：Operating System）を備えている。
【００３５】
また、図１に示すように、情報処理装置１は、アプリケーション４、ＧＤＩ（Graphic Device Interface）５、プリンタドライバー６、第１蓄積制御部７、第１蓄積部８、およびポート９を備えている。アプリケーション４は、ＯＳ上で動作する応用ソフトウェアであり、ＧＤＩ（Graphic Device Interface）５、プリンタドライバー６、および第１蓄積制御部７は、ＯＳ上で動作する機能モジュールである。第１蓄積部８およびポート９は、これらに関連するハードウェアである。
【００３６】
アプリケーション４は、電子文書を作成する手段の一例であり、ＧＤＩ５は、電子文書の描画命令である。プリンタドライバー６は、電子文書の印刷ジョブ（印刷指示）を生成する手段の一例である。プリンタドライバー６は、ＧＤＩ５の描画命令を印刷装置２が処理可能な印刷データに変換して、印刷ジョブを生成する。印刷データの生成には、例えば、ＰＣＬ（Printer Control Language）やPostScript等のページ記述言語（ＰＤＬ：Page Description Language）を用いる。
【００３７】
第１蓄積部８は、プリンタドライバー６が生成した印刷ジョブを一時的に蓄積する手段であり、例えばＨＤＤである。第１蓄積制御部７は、プリンタドライバー６が生成した印刷ジョブを第１蓄積部８に一時的に蓄えて送信制御を行う手段であり、例えばプリントスプーラである。ポート９は、第１蓄積制御部７で送信される印刷ジョブを印刷装置２へ送信する手段の一例であり、例えばEthernet（登録商標）ポートである。
【００３８】
アプリケーション４でＮ部（Ｎは２以上の整数）の文書の印刷が開始された場合、プリンタドライバー６は、１部の文書の印刷を行う印刷ジョブを１つ生成する。プリンタドライバー６が生成した印刷ジョブは、第１蓄積制御部７によって第１蓄積部８に一時的に蓄えられる。第１蓄積制御部７は、第１蓄積部８から印刷ジョブを読み出し、Ｎ個の印刷ジョブを印刷装置２に順次送信する。第１蓄積制御部７は、印刷ジョブを第１蓄積部８に蓄えるとき、または、第１蓄積部８から読み出すときに、印刷ジョブに後続の印刷ジョブの有無情報を付加する。
【００３９】
後続の印刷ジョブの有無情報は、Ｎ個の印刷ジョブの全てに付加されており、１〜Ｎ−１部目の印刷ジョブに後続の印刷ジョブが有るという情報が付加され、Ｎ部目の印刷ジョブに後続の印刷ジョブが無いという情報が付加される。なお、プリンタドライバー６が１部の文書の印刷を行う印刷ジョブをＮ個生成してもよいし、アプリケーション４がプリンタドライバー６を介さずに直接印刷ジョブを生成してもよい。
【００４０】
または、アプリケーション４でＮ部の文書の印刷が開始された場合、プリンタドライバー６は、１部の文書の印刷を行う印刷ジョブを１つ生成し、部数情報を付加する。部数情報は、既存のページ記述言語（ＰＤＬ）または既存のジョブ制御言語（ＰＪＬ）で、Ｎ部という情報で付加される。プリンタドライバー６が生成した印刷ジョブは、第１蓄積制御部７によって第１蓄積部８に一時的に蓄積される。第１蓄積制御部７は、第１蓄積部８から印刷ジョブを読み出し、部数情報を付加したＮ個の印刷ジョブを生成して、印刷装置２に順次送信する。
【００４１】
なお、部数情報は、少なくとも最初に送信する印刷ジョブに付加されていればよい。また、１部目の印刷ジョブにＮ−１部、２部目の印刷ジョブにＮ−２部、……、Ｎ部目の印刷ジョブに０部というように、部数情報を残りの印刷部数として付加してもよい。また、プリンタドライバー６がＮ個の印刷ジョブを生成してもよいし、第１蓄積制御部７が部数情報を印刷ジョブに付加して送信してもよい。
【００４２】
印刷装置２は、例えば、プリンター、または複写機能やファクシミリ機能などを有する画像形成装置であり、送受信部１０、受信制御部１１、記憶部１２、解析部１３、描画部１４、第２蓄積制御部１６、第２蓄積部１７、および印刷部１５を備えている。送受信部１０は、複数台の情報処理装置から印刷ジョブを受信する手段であり、例えばEthernet（登録商標）ポートである。
【００４３】
受信制御部１１は、送受信部１０で受信した印刷ジョブの受信制御を行う手段であり、例えばプリントサーバである。記憶部１２は、受信制御部１１で受信した印刷ジョブや、印刷ジョブの送信元の識別情報を記憶する手段であり、例えば、ＲＡＭである。送信元の識別情報としては、例えば、ＩＰ（Internet Protocol）アドレス、ＭＡＣ（Media Access Control）アドレス、ユーザー名、コンピュータ名、およびこれらの組み合わせを用いる。
【００４４】
解析部１３は、印刷ジョブに含まれる印刷データを解析する手段である。例えば、解析部１３は、部数情報または後続の印刷ジョブの有無情報が印刷ジョブに付加されているか、印刷データがどのページ記述言語で記述されているか、後述する蓄積済みのページが省略されているか、などを解析する。描画部１４は、解析部１３で解析したページ記述言語に従って、印刷データをビットマップ（画像の一例）に描画する手段であり、印刷部１５は、描画されたビットマップを記録媒体に印刷する手段である。
【００４５】
第２蓄積部１７は、描画部１４で描画されたビットマップをページ単位に蓄積する手段であり、例えばＲＡＭである。ビットマップは、第２蓄積部１７の予め決めたサイズの蓄積領域に蓄積される。なお、上述した記憶部１２と第２蓄積部１７は、１つのＲＡＭで共有してもよい。第２蓄積制御部１６は、描画部１４で描画されたビットマップをページ単位で第２蓄積部１７に蓄積し、蓄積できたページに関しては、蓄積したビットマップを印刷部１５に印刷させ、蓄積できなかったページに関しては、受信制御部１１で受信した印刷ジョブからビットマップを生成し、印刷部１５に印刷させる。
【００４６】
受信制御部１１が送受信部１０を介して印刷ジョブを受信すると、受信制御部１１は、印刷ジョブの送信元の識別情報を、使用Host（印刷装置２を使用中の情報処理装置）の識別情報として記憶部１２に記憶する。受信制御部１１は、使用Hostの識別情報が記憶部１２に有る場合には、Ｎ個の印刷ジョブを印刷するまで他の送信元から受信する印刷ジョブを保留または禁止する。
【００４７】
印刷ジョブを保留する場合には、受信制御部１１は、保留する印刷ジョブの送信元の識別情報を、保留Host（保留中の情報処理装置）の識別情報として記憶部１２に記憶しておく。この際、保留する印刷ジョブを可能な限り記憶部１２に記憶する。一方、印刷ジョブを禁止する場合には、送信元の識別情報も印刷ジョブも記憶しない。
【００４８】
なお、受信制御部１１が所定の時間以内にＮ個の印刷ジョブを受信できないとき、タイムアウト処理を行ってもよい。なお、タイムアウト時間は、印刷部数に応じて変更可能とする。タイムアウト処理を行った場合、受信制御部１１は、保留Hostの識別情報が記憶部１２に有るか否かに基づいて、保留した印刷ジョブが有るか否かを判断する。保留した印刷ジョブが有る場合には、保留Hostの識別情報を使用Hostの識別情報として記憶し、保留した印刷ジョブの印刷を開始する。
【００４９】
受信制御部１１が受信した印刷ジョブは、解析部１３で解析されて、描画部１４でビットマップに描画され、印刷部１５で印刷される。そして、部数情報が２部以上である、または、後続の印刷ジョブが有ると解析されたときには、受信制御部１１は、記憶部１２に記憶した使用Hostの識別情報をそのままにして、次の印刷ジョブを使用Hostから受信する。一方、部数情報が１部である、もしくは部数情報が付加されてない、または、後続の印刷ジョブが無い、もしくは後続の印刷ジョブの有無情報が付加されていないと解析されたときには、その印刷ジョブの印刷が終了する。
【００５０】
Ｎ個の印刷ジョブの印刷が終了したとき、受信制御部１１は、保留Hostの識別情報が記憶部１２に有るか否かに基づいて、保留した印刷ジョブが有るか否かを判断する。保留した印刷ジョブが有る場合には、保留Hostの識別情報を使用Hostの識別情報として記憶し、保留した印刷ジョブの印刷を開始する。
【００５１】
保留した印刷ジョブは、解析部１３で解析されて、描画部１４でビットマップに描画され、印刷部１５で印刷される。そして、部数情報が２部以上である、または、後続の印刷ジョブが有ると解析されたときには、受信制御部１１は、記憶部１２に記憶した使用Hostの識別情報をそのままにして、次の印刷ジョブを使用Hostから受信する。一方、部数情報が１部である、もしくは部数情報が付加されてない、または、後続の印刷ジョブが無い、もしくは後続の印刷ジョブの有無情報が付加されていないと解析されたときには、保留した印刷ジョブの印刷が終了する。
【００５２】
保留した印刷ジョブの印刷が終了したとき、受信制御部１１は、保留Hostの識別情報が記憶部１２に有るか否かに基づいて、さらに保留した印刷ジョブが有るか否かを判断する。保留した印刷ジョブが無い場合には、使用Hostの識別情報を削除して終了する。以後、上記の動作が繰り返される。
【００５３】
なお、Ｎ個の印刷ジョブのうち１部目に相当する印刷ジョブでは、第２蓄積制御部１６が、描画部１４で描画したビットマップを印刷部１５に印刷させるとともに、ページ単位でページ順に第２蓄積部１７に可能な限り蓄積しておく。そして、蓄積済みのページ情報は、第２蓄積制御部１６から解析部１３に通知される。なお、蓄積済みのページ情報としては、蓄積済みのページ数（３Ｐ）や、蓄積したページそのもの（Ｐ１〜Ｐ３）などでもよい。
【００５４】
２部目以降に相当する印刷ジョブでは、第２蓄積制御部１６が、蓄積できたページのビットマップを第２蓄積部１７から読み出して、印刷部１５に印刷させるとともに、蓄積できなかったビットマップに関しては、受信制御部１１で受信した印刷ジョブから解析、描画したビットマップを印刷部１５に印刷させる。このとき、解析部１３は、通知された蓄積済みのページ情報に基づき、蓄積できたページの印刷データを読み飛ばし、蓄積できなかったページの印刷データのみを解析する。そして、描画部１４は蓄積できなかったページの印刷データのみをビットマップに描画する。
【００５５】
また、蓄積済みのページ情報を送信元の情報処理装置１に通知してもよい。すなわち、第２蓄積制御部１６が、蓄積済みのページ情報を受信制御部１１に通知し、受信制御部１１が送受信部１０を介して蓄積済みのページ数を情報処理装置１に送信する。情報処理装置１では、第１蓄積制御部７が、蓄積済みのページの印刷データを省略した印刷ジョブを送信する。このとき、第１蓄積制御部１７は、蓄積済みのページが省かれていることを表す情報を印刷ジョブに付加する。
【００５６】
解析部１３は、蓄積済みのページが省かれていることを表す情報が印刷ジョブに付加されているか否かを解析する。蓄積済みのページが省かれていることを表す情報が付加されていれば、印刷ジョブに含まれる印刷データが蓄積できなかったページのみであるため、解析部１３は、印刷データを全て解析する。解析した印刷データは、描画部１４でビットマップに描画され、描画されたビットマップは、蓄積済みのページの印刷に続けて印刷部１５で印刷される。
【００５７】
一方、蓄積済みのページが省かれていることを表す情報が付加されていなければ、解析部１３は、蓄積済みのページを読み飛ばし、蓄積できなかったページの印刷データのみを解析する。解析した印刷データは、描画部１４でビットマップに描画され、描画されたビットマップは、蓄積済みのページの印刷に続けて印刷部１５で印刷される。
【００５８】
（印刷システムの動作）
以下、印刷システムの動作について説明する。印刷システムは、情報処理装置１および印刷装置２で構成されているものとし、情報処理装置１が４ページの文書を３部印刷する指示を行い、印刷装置２が４ページのうち３ページのビットマップを蓄積できるものとする。また、印刷装置２は、蓄積済みのページ情報（３Ｐ）を情報処理装置１に送信するものとする。
【００５９】
まず、情報処理装置１の動作について図２を参照して説明する。図２は、情報処理装置の動作を示すフローチャートである。このフローチャートを実行するプログラムは、ＣＤＲＯＭ等の記憶媒体に格納して提供することが可能である。また、このフローチャートは、プリンタドライバー６が部数情報を付加した印刷ジョブを生成し、蓄積制御部７が印刷ジョブを送信する例を示している。
【００６０】
情報処理装置１で複数部数（３部）の印刷が指示されると、１部の文書を印刷する印刷ジョブが生成され（ステップＳ１０）、３部という部数情報が付加される（ステップＳ１１）。印刷ジョブは、第１蓄積部８に蓄積されるとともに（ステップＳ１２）、１部目に相当する印刷ジョブが印刷装置２に送信される（ステップＳ１３）。すると、印刷装置２では、４ページのうち３ページのビットマップが第２蓄積部１７に蓄積され、蓄積済みのページ情報（３Ｐ）が情報処理装置１に送信される。
【００６１】
情報処理装置１では、部数分（３個）の印刷ジョブを送信したか否かを判断する（ステップＳ１４）。まだ１部目に相当する印刷ジョブしか送信していないので、ステップＳ１４でＮｏに進み、印刷装置２から蓄積済みのページ情報（蓄積情報）の送信が有るか否かを判断する（ステップＳ１５）。蓄積済みのページ情報（３Ｐ）が、印刷装置２から送信されているので、第１蓄積部８から印刷ジョブを読み出して（ステップＳ１６）、印刷データから蓄積済みのページを削除する（ステップＳ１７）。そして、２部目に相当する印刷ジョブが印刷装置２に送信される（ステップＳ１３）。
【００６２】
部数分（３個）の印刷ジョブを送信したか否かを再度判断する（ステップＳ１４）。まだ２部目に相当する印刷ジョブしか送信していないので、ステップＳ１４でＮｏに進み、印刷装置２から蓄積済みのページ情報（蓄積情報）の送信が有るか否かを判断する（ステップＳ１５）。蓄積済みのページ情報（３Ｐ）が、既に印刷装置２から送信されているので、ステップＳ１５のＮｏに進み、蓄積済みのページを削除した３部目に相当する印刷ジョブが印刷装置２に送信される（ステップＳ１３）。部数分（３個）の印刷ジョブを送信したか否かをさらに判断し（ステップＳ１４）、３部目に相当する印刷ジョブを送信したので（ステップＳ１４のＹｅｓ）、情報処理装置１での処理を完了する。
【００６３】
次に、印刷装置２の動作について図３を参照して説明する。図３は、印刷装置の動作を示すフローチャートである。このフローチャートを実行するプログラムは、ＣＤＲＯＭ等の記憶媒体に格納して提供することが可能である。
【００６４】
印刷装置２で１部目の印刷ジョブを開始すると、１部目の印刷ジョブの印刷データを解析し（ステップＳ２０）、印刷データに部数情報が有るか否かを判断する（ステップＳ２１）。１部目の印刷ジョブには３部という部数情報が付加されているので、ステップＳ２１のＹｅｓに進み、他の情報処理装置からの印刷ジョブの受信を保留または禁止する（ステップＳ２２）。なお、ステップＳ２１で、１部目の印刷ジョブの印刷データに部数情報が無い、もしくは部数が１部である場合には、ステップＳ２１のＮｏに進み、１部の文書を印刷する。すなわち、各ページの印刷データを解析して（ステップＳ３９）、ページ単位にビットマップを描画し（ステップＳ４０）、描画したビットマップを印刷部１５で記録媒体に出力する（ステップＳ４１）。
【００６５】
ステップＳ２２の後、各ページの印刷データを解析し（ステップＳ２３）、ページ単位にビットマップを描画する（ステップＳ２４）。そして、描画したビットマップが第２蓄積部１７に蓄積可能か否かを判断する（ステップＳ２５）。３ページのビットマップが第２蓄積部１７に蓄積可能であるため（ステップＳ２５のＹｅｓ）、描画したビットマップをページ単位に蓄積し（ステップＳ２６）、蓄積済みのページ数（３ページ）をカウントする（ステップＳ２７）。描画したビットマップは、印刷部１５で記録媒体に出力される（ステップＳ２８）。また、蓄積済みのページ情報（３Ｐ）は、情報処理装置１に送信される（ステップＳ２９）。なお、ステップＳ２５で、ビットマップが蓄積できなかった場合には（ステップＳ２５のＮｏ）、ステップＳ２９で、０ページという蓄積済みのページ情報（０Ｐ）が情報処理装置１に送信される。
【００６６】
次に、部数分（３個）の印刷ジョブが完了したか否かを判断する（ステップＳ３０）。１部目の印刷ジョブしか完了していないので、ステップＳ３０のＮｏに進み、２部目の印刷ジョブを開始する。まず、蓄積されたページを印刷部１５で記録媒体に出力する（ステップＳ３１）。次に、２部目の印刷ジョブの印刷データを解析し（ステップＳ３２）、蓄積済みページが省略されているか否かを判断する（ステップＳ３３）。２部目の印刷ジョブの印刷データは、蓄積済みのページが省略されているので、ステップＳ３３のＹｅｓに進み、各ページの印刷データを全て解析し（ステップＳ３５）、ページ単位にビットマップを描画する（ステップＳ３６）。描画したビットマップは、印刷部１５で記録媒体に出力される（ステップＳ３７）。なお、ステップＳ３３で、蓄積済みのページが省略されていない場合には、印刷データを解析して、蓄積済みのページを読み捨てる（ステップＳ３４）。
【００６７】
さらに、部数分（３個）の印刷ジョブが完了したか否かを判断する（ステップＳ３０）。２部目の印刷ジョブまでしか完了していないので、ステップＳ３０のＮｏに進み、３部目の印刷ジョブを開始する。まず、蓄積されたページを印刷部１５で記録媒体に出力する（ステップＳ３１）。次に、３部目の印刷ジョブの印刷データを解析し（ステップＳ３２）、蓄積済みのページが省略されているか否かを判断する（ステップＳ３３）。３部目の印刷ジョブの印刷データは、蓄積済みのページが省略されているので、ステップＳ３３のＹｅｓに進み、各ページの印刷データを全て解析し（ステップＳ３５）、ページ単位にビットマップを描画する（ステップＳ３６）。描画したビットマップは、印刷部１５で記録媒体に出力される（ステップＳ３７）。
【００６８】
さらに、部数分（３個）の印刷ジョブが完了したか否かを判断する（ステップＳ３０）。３部目の印刷ジョブまで完了したので、ステップＳ３０のＹｅｓに進み、他の情報処理装置からの印刷ジョブの受信を再開し（ステップＳ３８）、印刷装置２での処理を完了する。
【００６９】
（第１の実施形態の優位性）
第１の実施形態によれば、複数部の文書を印刷する場合に、２部目以降の印刷ジョブでは、第２蓄積部１７に蓄積できたページの印刷データを解析、描画しないため、部数分の印刷データを全て解析、描画する場合と比べ、印刷性能を改善することができる。
【００７０】
また、Ｎ部の文書を印刷する場合に、Ｎ個の印刷ジョブを生成するので、部単位に両面印刷やステープル処理などの印刷後処理を行うことができる。これにより、奇数ページで終わる文書の最終ページに空白ページを挿入しないため、メモリを効率的に使用することができる。また、ページ数で課金する機能がある印刷装置であっても、空白ページに課金の有無を付ける必要がなく、用紙節約のために白紙を印刷しない機能がある印刷装置であっても、正常に動作させることができる。また、単一印刷ジョブとして扱わないため、他Hostから印刷ジョブを受信することができる。
【００７１】
また、蓄積制御部７が部数情報または後続の印刷ジョブの有無情報を印刷ジョブに付加するので、ページ記述言語を独自拡張して、区切りデータを挿入するプリンタドライバー６を開発する必要がない。また、ページ記述言語で独自の区切りデータを挿入しないため、印刷データの互換性を維持することができる。さらに、アプリケーション４がプリンタドライバー６を介さずに直接印刷ジョブを生成する場合であっても、正常に動作させることができる。また、プリンタドライバー６が部数情報を既存のページ記述言語または既存のジョブ制御言語で付加する場合には、部数情報は、既存のページ記述言語または既存のジョブ制御言語の一般的な情報であるため、印刷データの互換性を維持することができる。
【００７２】
また、少なくとも最初に送信する印刷ジョブに部数情報を付加することで、部数情報を付加する処理を最小限に抑えることができる。一方、部数情報を残りの印刷部数として付加することで、Ｎ個の印刷ジョブのうち受信した印刷ジョブの数をカウントする必要がない。
【００７３】
さらに、使用Hostの識別情報に基づき、Ｎ個の印刷ジョブの印刷が終了するまで他Hostの印刷ジョブが保留または禁止されるので、Ｎ個の印刷ジョブの間に他Hostの印刷ジョブが紛れ込むことがない。
【００７４】
また、他Hostの印刷ジョブを保留する場合には、保留する印刷ジョブを可能な限り記憶しておくので、Ｎ個の印刷ジョブの印刷が終了した後に、保留した印刷ジョブの印刷をすぐに開始することができる。このため、複数Hostからの印刷ジョブの処理性能が向上する。
【００７５】
また、保留Hostの識別情報を記憶しておくので、保留する印刷ジョブが複数部の文書を印刷するＮ個の印刷ジョブで構成されている場合であっても、Ｎ個の印刷ジョブを印刷するまでに他Hostからの印刷ジョブをさらに保留または禁止できるため、複数部の印刷物の間に他Hostからの印刷物が紛れ込むことがない。
【００７６】
また、所定の時間以内にＮ個の印刷ジョブを受信できないとき、保留した印刷ジョブの印刷を開始するため、使用Hostによる障害で通信が途絶えても印刷を継続することができる。
【産業上の利用可能性】
【００７７】
本発明は、情報処理装置および印刷装置で構成される印刷システムに利用することができる。
【符号の説明】
【００７８】
１…情報処理装置、２…印刷装置、３…ＬＡＮ、４…アプリケーション、５…ＧＤＩ、６…プリンタドライバー、７…第１蓄積制御部、８…第１蓄積部、９…ポート、１０…送受信部、１１…受信制御部、１２…記憶部、１３…解析部、１４…描画部、１５…印刷部、１６…第２蓄積制御部、１７…第２蓄積部。
【図１】
2011028363.tif 000003
【図２】
2011028363.tif 000004
【図３】
2011028363.tif 000005