(57)【特許請求の範囲】
【請求項１】
少なくとも１ページ以上のページにより１部のプリントデータが構成され、この１部のプリントデータを複数部、プリンタによりプリントアウトするためのプリント制御プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
１ジョブとして部の切れ目がなく複数部分のページが含まれた複数ページのプリントデータを受信する手順と、
該受信したプリントデータのうち、少なくとも第１ページ目のプリントデータを記憶する手順と、
該記憶したプリントデータと第２ページ目以降のプリントデータとを比較する手順と、
前記比較の結果、第２ページ目以降のプリントデータ中に前記記憶したプリントデータと同一のプリントデータが存在するページの前に部の区切りがあると判断する手順と、
を有すること特徴とするプリント制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２】
さらに、前記判断する手順の後、前記判断された部の区切りに基づいて前記プリントデータを部ごとにプリントアウトすることを前記プリンタに指令する手順を有することを特徴とする請求項１記載のコンピュータ読み取り可能な記録媒体。
【請求項３】
さらに、前記判断する手順の後、前記判断された部の区切りに基づいて１部分の前記プリントデータを残し、その後に受信したプリントデータを破棄する手順を有することを特徴とする請求項１記載のコンピュータ読み取り可能な記録媒体。
【請求項４】
少なくとも１ページ以上のページにより１部のプリントデータが構成され、この１部のプリントデータを複数部プリントアウトするプリンタであって、
１ジョブとして部の切れ目がなく複数部分のページが含まれた複数ページのプリントデータを受信するプリントデータ受信手段と、
該受信したプリントデータのうち、少なくとも第１ページ目のプリントデータを記憶する記憶手段と、
該記憶したプリントデータと第２ページ目以降のプリントデータとを比較する比較手段と、
前記比較の結果、第２ページ目以降のプリントデータ中に前記記憶したプリントデータと同一のプリントデータが存在するページの前に部の区切りがあると判断する部の区切り判断手段と、
を有すること特徴とするプリンタ。
【請求項５】
さらに、前記判断手段により判断された部の区切りに基づいて前記プリントデータを部ごとにプリントアウトすること手段を有することを特徴とする請求項４記載のプリンタ。
【請求項６】
さらに、前記判断手段により判断された部の区切りに基づいて１部分の前記プリントデータを残し、その後に受信したプリントデータを破棄する手段を有することを特徴とする請求項４記載のプリンタ。
【請求項７】
少なくとも１ページ以上のページにより１部のプリントデータが構成され、この１部のプリントデータを複数部、プリンタによりプリントアウトするためのプリント方法であって、
１ジョブとして部の切れ目がなく複数部分のページが含まれた複数ページのプリントデータを受信する段階と、
該受信したプリントデータのうち、少なくとも第１ページ目に含まれるプリントデータを記憶する段階と、
該記憶したプリントデータと第２ページ目以降のプリントデータとを比較する段階と、
前記比較の結果、第２ページ目以降のプリントデータ中に前記記憶したプリントデータと同一のプリントデータが存在するページの前に部の区切りがあると判断する段階と、
を有すること特徴とするプリント方法。
【請求項８】
さらに、前記判断する段階の後、前記判断された部の区切りに基づいて前記プリントデータを部ごとにプリントアウトすることを前記プリンタに指令する段階を有することを特徴とする請求項７記載のプリント方法。
【請求項９】
さらに、前記判断する段階の後、前記判断された部の区切りに基づいて１部分の前記プリントデータを残し、その後に受信したプリントデータを破棄する段階を有することを特徴とする請求項７記載のプリント方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プリント制御プログラムを記録したコンピュータ読み取り可能な記録媒体、およびプリンタ、ならびにプリント方法に関する。
【０００２】
【従来の技術】
近年、高機能のプリンタは、複数部のプリント処理における仕分け機能（ソート機能）、仕分けされた用紙群ごとにステープルするフィニッシュ機能、用紙の両面にプリントを行う両面プリント機能、さらには、２ページあるいは４ページ分の画像を１枚の用紙上にプリントするＮｉｎ１機能などを有している。
【０００３】
【発明が解決しようとする課題】
しかしながら、プリンタに送られてくるプリントデータによっては、上記の機能に対応できない場合がある。例えばパソコンで実行されるアプリケーションソフトウェアの中には、１部のデータが１−２−３の３ページからなり、これを３部プリントする際に、１ジョブのプリントデータとして１−２−３−１−２−３−１−２−３の９ページ分のデータを出力するものがある。このような１かたまりのプリントデータでは、部の区切りがどこにあるか分からないので、プリンタ側で各部ごとの分類ができず、ソート機能あるいはフィニッシュ機能を使うことができない。
【０００４】
また、このような部の切れ目のないプリントデータによる問題は、両面プリントやＮｉｎ１プリントのときにも発生し、例えば上記のように１部のデータが１−２−３と奇数枚で構成されていると、両面プリントの場合には第１部目の最終ページと第２部目の最初のページが１枚の用紙の両面にプリントされてしまい、また、２ｉｎ１の場合では１枚の用紙にプリントされることとなって、本来必要とする部ごとのプリント結果が得られないことになる。
【０００５】
そこで、本発明の目的は、複数部のプリントを実行する際に、ソートやステープル、また、両面プリントやＮｉｎ１プリントなどを、部単位で適切に処理することができるようにするためのプリント制御プログラムを記録したコンピュータ読み取り可能な記録媒体を提供することである。また、本発明の他の目的は、部単位での処理を適切に行うことができるプリンタおよびプリント方法を提供することである。
【０００６】
【課題を解決するための手段】
本発明の目的は、下記する手段により達成される。
【０００７】
（１）少なくとも１ページ以上のページにより１部のプリントデータが構成され、この１部のプリントデータを複数部、プリンタによりプリントアウトするためのプリント制御プログラムを記録したコンピュータ読み取り可能な記録媒体であって、１ジョブとして部の切れ目がなく複数部分のページが含まれた複数ページのプリントデータを受信する手順と、該受信したプリントデータのうち、少なくとも第１ページ目に含まれるプリントデータを記憶する手順と、該記憶したプリントデータと第２ページ目以降のプリントデータとを比較する手順と、前記比較の結果、第２ページ目以降のプリントデータ中に前記記憶したプリントデータと同一のプリントデータが存在するページの前に部の区切りがあると判断する手順と、を有すること特徴とするプリント制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
（２）また、本発明のコンピュータ読み取り可能な記録媒体においては、さらに、前記判断する手順の後、前記判断された部の区切りに基づいて前記プリントデータを部ごとにプリントアウトすることを前記プリンタに指令する手順を有することを特徴とする。
（３）また、本発明のコンピュータ読み取り可能な記録媒体においては、さらに、前記判断する手順の後、前記判断された部の区切りに基づいて１部分の前記プリントデータを残し、その後に受信したプリントデータを破棄する手順を有することを特徴とする。
【０００８】
（４）少なくとも１ページ以上のページにより１部のプリントデータが構成され、この１部のプリントデータを複数部プリントアウトするプリンタであって、１ジョブとして部の切れ目がなく複数部分のページが含まれた複数ページのプリントデータを受信するプリントデータ受信手段と、該受信したプリントデータのうち、少なくとも第１ページ目に含まれるプリントデータを記憶する記憶手段と、該記憶したプリントデータと第２ページ目以降のプリントデータとを比較する比較手段と、前記比較の結果、第２ページ目以降のプリントデータ中に前記記憶したプリントデータと同一のプリントデータが存在するページの前に部の区切りがあると判断する部の区切り判断手段と、を有すること特徴とするプリンタ。
（５）また、本発明のプリンタにおいては、さらに、前記判断手段により判断された部の区切りに基づいて前記プリントデータを部ごとにプリントアウトすること手段を有することを特徴とする。
（６）また、本発明のプリンタにおいては、さらに、前記判断手段により判断された部の区切りに基づいて１部分の前記プリントデータを残し、その後に受信したプリントデータを破棄する手段を有することを特徴とする。
【０００９】
（７）少なくとも１ページ以上のページにより１部のプリントデータが構成され、この１部のプリントデータを複数部、プリンタによりプリントアウトするためのプリント方法であって、１ジョブとして部の切れ目がなく複数部分のページが含まれた複数ページのプリントデータを受信する段階と、該受信したプリントデータのうち、少なくとも第１ページ目に含まれるプリントデータを記憶する段階と、該記憶したプリントデータと第２ページ目以降のプリントデータとを比較する段階と、前記比較の結果、第２ページ目以降のプリントデータ中に前記記憶したプリントデータと同一のプリントデータが存在するページの前に部の区切りがあると判断する段階と、を有すること特徴とするプリント方法。
（８）また、本発明のプリント方法においては、さらに、前記判断する段階の後、前記判断された部の区切りに基づいて前記プリントデータを部ごとにプリントアウトすることを前記プリンタに指令する段階を有することを特徴とする。
（９）また、本発明のプリント方法においては、さらに、前記判断する段階の後、前記判断された部の区切りに基づいて１部分の前記プリントデータを残し、その後に受信したプリントデータを破棄する段階を有することを特徴とする。
【００１０】
【発明の実施の形態】
以下、添付した図面を参照して、本発明の実施の形態を説明する。
【００１１】
《実施形態１》
図１は、本発明を適用するネットワークコンピュータシステムの構成を示すブロック図である。
このネットワークコンピュータシステムは、複数のクライアントコンピュータ１０、プリンタサーバコンピュータ２０、およびデジタル複写機３０がネットワーク回線５０により接続されたもので、一般的なＬＡＮ環境によるシステムである。
【００１２】
ここで用いられているデジタル複写機３０は、複写機としての機能の他、クライアントコンピュータ１０からの指令によりプリントを行うプリンタとしての機能と、外部の電話回線（不図示）と接続されてファクシミリとしての機能とを有する複合機である。
【００１３】
このようなデジタル複写機３０の概略構成を図２のブロック図に示す。このデジタル複写機３０は、複写機やファクシミリ送信の際に用いられる原稿画像読み取りのためのイメージリーダ部（ＩＲ）３６、イメージリーダ部３６により読み取った原稿画像やファクシミリにより受信した画像およびプリンタサーバコンピュータ２０から送信されてきたプリントデータをプリントアウトするための電子写真方式によるプリンタ部（ＰＲＴ）３７、プリントされた用紙を部ごとに分けて集積するための複数のトレイと部ごとにステープル処理するためのステープ装置を有する後処理装置３９、これら各部を制御し、かつ、プリントアウトする画像の拡大・縮小、あるいはＮｉｎ１プリントやその他の画像処理などを実行するＣＰＵ３１、このＣＰＵ３１の処理のために画像やプリントデータを一時的に記憶するためのメモリ３２、このＣＰＵ３１が各種動作を制御するためのプログラムが記憶されたＲＯＭ３４、操作パネル３８、およびプリンタサーバコンピュータ２０とデータの受け渡しを行うためのインターフェースユニット（ＩＵ）３３によって構成されている。また、このデジタル複写機３０には、ハードディスクドライブ（ＨＤＤ）３５が装備してあり、このハードディスクドライブ３５には、画像処理やプリントアウトの処理に必要なプログラムが記憶されていて、このプログラムが適宜読み出されることにより画像処理やプリントアウトのために必要な処理が実行される。また、このハードディスクドライブ３５は、読み取った画像データや受信したプリントデータなどを記憶するようになっている。
【００１４】
クライアントコンピュータ１０やプリンタサーバコンピュータ２０は、いわゆるパソコンや、ＵＮＩＸシステムなどと称されているコンピュータである。このクライアントコンピュータ１０やプリンタサーバコンピュータ２０は、いずれも既に広く利用されているものであるため、その詳細な説明は省略し、ここでは、クライアントコンピュータ１０としてパソコンを用いた場合の概略構成を図３に示すブロック図を参照して説明する。
【００１５】
通常のパソコンは、処理を実行するＣＰＵ１１、プログラム実行の際にデータの展開などに使用されるＲＡＭ１２、パソコンの立ち上げ時に必要なブートシステムを記憶しているＲＯＭ１３、ディスプレイ１９上に画像を表示するために画像データを展開するＶＲＡＭ１４、プログラムや各種データが記憶されているハードディスクドライブ（ＨＤＤ）１５、各種表示を行うディスプレイ１９、文字や指示を入力するためのキーボード２１やマウス２２、およびネットワーク５０によりデータの送受信を行うためのインターフェース回路（Ｉ／Ｆ）１６などを備えている。また、このようなパソコンでは、多くの場合、記録媒体である、例えばフロッピーディスクやＣＤ−ＲＯＭなどを読み書きする（ＣＤ−ＲＯＭについては読み取りのみ）ためのフロッピーディスクドライブ（ＦＤＤ）１７およびＣＤ−ＲＯＭドライブ（ＣＤＲＯＭＤ）１８を備えている。
【００１６】
このようなパソコンをクライアントコンピュータ１０とプリンタサーバコンピュータ２０に利用した場合の違いは、その上で実行するアプリケーションソフトウェアによる働きであり、ハードウェアとしてはＣＰＵの処理速度やＨＤＤの記憶容量などの違いがあるのみで基本的な構成はほとんど同じである。また、場合によっては、まったく同じものが使用されることもある。なお、このようなパソコンが、クライアントコンピュータ１０として利用されている場合には、インターフェース回路１６に接続されるのはネットワーク回線５０のみであるが、プリンタサーバコンピュータ２０として利用される場合には、ネットワーク回線の他にデジタル複写機３０との間でデータの受け渡しを行うためのインターフェース回路が装備されることになる。
【００１７】
図４は、プリントシーケンスを説明するための図面である。ここでは、ユーザーがクライアントコンピュータ１０上でプリントを指示してから、デジタル複写機３０によりプリントアウトとされるまでの手順を説明する。
【００１８】
まず、ユーザーは、クライアントコンピュータ１０で動作する文書作成アプリケーションソフトウェアを用いて目的の文書の作成、編集を行う（Ｓ１）。文書作成アプリケーションソフトウェアは、通常、ハードディスク１５に記憶されており、ユーザーが必要なときにＲＡＭ１２にロードし、ＣＰＵ１１で実行される。このとき文書のレイアウトやプリント指示情報などは、ディスプレイ１９上に表示される。また、ユーザーの文字入力、画像編集、プリント指示などは、キーボード２１やマウス２２から行い、これらの情報はＣＰＵ１１に通知されて処理される。
【００１９】
このような文書作成アプリケーションソフトウェアによってプリント指示が行われると（Ｓ２）、プリントモードの通常設定画面がディスプレイ上に表示される。通常設定画面からは、複数部のプリント指定や、部ごとにプリントを行うか否かの設定などが行われる（Ｓ４）。
【００２０】
また、前記プリント指示（Ｓ２）によってプリンタドライバが起動し、デジタル複写機３０の機械的なステータスや、登録されているジョブのステータスをプリンタサーバコンピュータ２０と通信して取得する。ここで、デジタル複写機３０の機械的なステータスとは、例えば待機中、プリント中、プレヒート中などであり、また、登録されているジョブのステータスとは、例えばジョブの有無、ジョブのプリント中、ジョブの待機中などである。
【００２１】
このプリンタドライバからのステータス要求により、プリンタサーバコンピュータ２０は、デジタル複写機３０と通信して、上記デジタル複写機の各ステータスを取得し、それにプリンタサーバコンピュータ２０内のＲＡＭやハードディスクにスプールされているジョブの状態なども付加してクライアントコンピュータ１０に通知する。
【００２２】
通常のプリント動作では、通常設定画面での設定だけでプリントモードの設定を終了する場合もあるが、プリンタ特有の機能を設定する場合にはさらに詳細なプリントモードの設定を行うために、ユーザの指示により、詳細設定画面を表示して、プリンタ特有の機能を用いるための詳細設定を行う（Ｓ１１）。詳細設定画面は、ユーザの要求によりプリンタドライバがディスプレイ１９上に表示するもので、例えば図５に示すように、両面プリント、Ｎｉｎ１プリント、ソート、ステープル、画像サイズ（拡大・縮小）などデジタル複写機３０特有の機能を利用するための設定ボタンや入力枠などを有する画面である。
【００２３】
また、この詳細設定画面では、プリント部数の設定をすることができるようになっている。これは、文書作成アプリケーションソフトウェアによっては、通常設定画面上での印刷部数の設定値が、単にその文書作成アプリケーションソフトウェア内において、１ジョブ分のプリントデータを作成するための数値として利用されるだけで、この通常設定画面での印刷部数の設定値がその後プリンタドライバに渡されないものがあるため、このプリンタドライバが出力する詳細設定画面上で改めて設定することができるようにしたものである。したがって、通常設定画面上での印刷部数の設定値がプリンタドライバにプリントモード情報として渡される場合には、図５に示したプリント部数の設定入力枠には通常設定画面で設定した部数が表示されることになるが、印刷部数の設定値が渡されない場合には、ここで改めて部数を入力するようにユーザを促すための表示を行うようにしてもよい。
【００２４】
プリントモードの設定終了後、プリント実行の指示がユーザから与えられると（Ｓ５）、文書作成アプリケーションソフトウェアにより作成された文書データ、および通常設定画面により設定されたプリントモードのデータが、プリンタドライバに渡される（ただし、上記のように文書作成アプリケーションソフトウェアによっては、通常設定画面上での設定値が渡されないものもある）。
【００２５】
その後、プリンタドライバでは、文書作成アプリケーションソフトウェアから送られて来た文書データ（プリントデータ）をページ記述言語に変換して、設定されたプリントモードと共にプリンタサーバコンピュータ２０に送信する。
【００２６】
このページ記述言語に変換された後のプリントデータを受けとったプリンタサーバコンピュータ２０では、後に詳細に説明するように複数部が１ジョブとなっているプリントデータを部単位に分割する処理を行う（Ｓ２０）。そして、ラスタライズ（Ｓ２１）、およびスプール（Ｓ２２）を行った後、ビットマップデータとなったプリントデータをデジタル複写機３０に送信する。
【００２７】
デジタル複写機３０では、部単位に分割されたプリントデータを元にプリントアウトして、部単位での必要な処理を行う（Ｓ３１）。
【００２８】
以下、前記プリンタサーバコンピュータ２０におけるジョブ分割処理について説明する。
【００２９】
ここでは、処理形態の異なる２つのジョブ分割処理について説明する。これは、プリンタの機能の違いに対応したものである。第１は、プリンタが１ジョブを受信し、ジョブ単位で処理を行うプリンタ用の処理である。第２は、プリンタが１部の分のプリントデータとプリントする部数情報を受信して、部単位の処理を行う機能を有するプリンタ用の処理である。なお、本実施形態において、前述したデジタル複写機３０は、そのプリンタ機能として、１部の分のプリントデータと部数情報を元に複数部のプリントアウトを実行し、部単位の処理を行う機能を有するものである。
【００３０】
まず、第１の処理形態について説明する。
【００３１】
図６はプリンタサーバコンピュータ２０の処理手順を示すメインフローチャートであり、図７は図６中のプリンタドライバとの通信処理の手順を示すサブルーチンフローチャートであり、また、図９は図６中のプリンタとの通信処理の手順を示すサブルーチンフローチャートである。
【００３２】
まず、図６に示すように、始めに処理に必要な変数のクリアといった初期設定が行われて（Ｓ１０１）、内部タイマがセットされる（Ｓ１０２）。
【００３３】
ついで、プリンタドライバとの通信が行われる（Ｓ１０３）。このとき、後述するようにジョブの分割処理が実行される。
【００３４】
ついで、プリンタとの通信が行われる（Ｓ１０４）。このプリンタとの通信処理により、分割されたプリントデータが、部ごとに順次１つのジョブとしてプリンタに送られる。
【００３５】
各処理を実行した後、内部タイマの終了を待って（Ｓ１０５）、ステップＳ１０２へ戻り各処理を繰り返し実行する。したがって、プリンタサーバコンピュータ２０は、通常、プリンタドライバやプリンタとのデータのやり取りがなければ、プリント指示待ちの状態が維持されることになる。
【００３６】
プリンタドライバとの通信処理は、図７に示すように、まず、プリンタドライバからのデータ待ちの状態となっている（Ｓ２０１）。
【００３７】
データを受信したときには、次に、受信したデータの種類を判断する（Ｓ２０２）。
【００３８】
判断の結果、受信したデータがステータス要求のときには、そのステータス要求をそのままプリンタへ伝える（Ｓ２１１）。その後メインフローチャートへリターンし、プリンタとの通信処理が行われる。プリンタとの通信処理では、図９に示すように、まず、プリンタからデータを受信したか否かを判断し（Ｓ４０１）、データを受信したときには、そのデータの種類を判断する（Ｓ４０２）。ここで、前記ステータス要求（Ｓ２１１）に対して、プリンタがステータス情報を返してきたときには、このステータス情報とプリンタサーバコンピュータ２０内のジョブの蓄積状態などの情報を付加したステータス情報をプリンタドライバへ送信する（Ｓ４１１）。
【００３９】
次に、プリンタドライバとの通信において、受信データがプリントモードであるときには、これを記憶する（Ｓ２２１）。
【００４０】
次に、プリンタドライバとの通信において、プリンタドライバによりページ記述言語に変換された後のプリントデータが受信されたときには、まず、受信したページをカウントするための変数ｃｐを１加算する（Ｓ２３１）。なお、この変数ｃｐは、後述するようにすべてのデータを受信し終わった後、０クリアされているため、最初のページを受信したときにはこのステップＳ３２１によってｃｐ＝１となる。
【００４１】
ついで、受信したページをラスタライズする（Ｓ２３２）。そして、ｃｐが１のときにのみ、ラスタライズした１ページ分のビットマップデータをメモリに記憶する（Ｓ２３４）。また、ラスタライズしたページは１ジョブ分のデータスプールの開始を記録して（Ｓ２３５）、スプールする（Ｓ２３６）。ここで、変数ｃｐが１のときとは、プリンタドライバから送られてきたデータが第１ページのときのみである。したがって、メモリに記憶されるデータは第１ページのデータとなる。
【００４２】
一方、変数ｃｐが１ではないときには、メモリに記憶したデータと受信したプリントデータ（ここではラスタライズ後のデータである）とを比較する（Ｓ２４１）。このデータ比較の処理は、図８に示すように、まず、ラスタライズ後のプリントデータの先頭ビットと、メモリに記憶している第１ページのプリントデータの先頭ビットとを比較し（Ｓ３０１）、同一であれば、比較したデータが最終データであるか否かを判断し（Ｓ３０３）、最終データでなければ次のビットを比較する（Ｓ３０４）。ここで、同一であればステップＳ３０３に戻り、以下ステップＳ３０３〜３０５を同一データでなくなるまで繰り返し実行する。そして、途中同一データではないと判断された時点で、非同一であることを示す信号をセットする（Ｓ３０７）。一方、最終データまで同一であると判断されたときには、同一であることを示す信号をセットする（Ｓ３０６）。これにより、プリンタドライバから送られてきた第２ページ目以降の各ページについて第１ページ目と同一であるか否かが判断される。
【００４３】
そして、ステップＳ２４１において同一データではないと判断されたときには（Ｓ２４２）。そのままラスタライズ後のデータをスプールする（Ｓ２３６）。一方、同一であると判断されたときには（Ｓ２４２）、１ジョブの終わりを示すためのＥｎｄ  ｏｆ  Ｊｏｂコマンドを記録して、スプールしたデータを１ジョブのデータとして閉じる（Ｓ２４３）。その後、この１ジョブ分のデータをプリントアウトさせるために、プリンタに対してジョブの登録要求を送信する（Ｓ２４４）。
【００４４】
ここで、前記ステップＳ２４１のデータ比較において、メモリに記憶した第１ページと受信したページのプリントデータが同一であると言うことは、複数部のプリントデータが連続している中で第１ページ目と同じプリントデータのあるページは次の部の始めのページであると判断するものである。したがって、このような第１ページ目のプリントデータとその後の各ページのプリントデータを比較することで部の区切りを判断することができる。
【００４５】
前記ステップＳ２４４においてプリンタへのジョブ登録要求を行った後は、次のジョブのスプールを開始することを記録し（Ｓ２４５）、ページ数をカウントするための変数ｃｐを１にして（Ｓ２４６）、この時点で受信したデータ（前記ステップＳ２４２において記憶してある第１ページと同一とされたデータ）をスプールする（Ｓ２３６）。
【００４６】
以降、プリンタドライバからＥｎｄ  ｏｆ  Ｊｏｂコマンドが送られてくるまでステップＳ２３１〜２４６の各処理を繰り返すことにより複数部が１ジョブとして送られてきたプリントデータを部ごと１ジョブとする分割が行われる。
【００４７】
そして、プリンタドライバからＥｎｄ  ｏｆ  Ｊｏｂコマンドを受信したときには、最後のジョブとしてスプールされたデータを閉じるためにこれを記録し（Ｓ２５１）、この最後のジョブをプリントアウトさせるためにジョブの登録要求をプリンタへ送信して（Ｓ２５２）、次のプリント実行のために変数ｃｐを０クリアする（Ｓ２５３）。
【００４８】
一方、プリンタとの通信において（図９参照）、分割されたジョブごとの登録要求に対し、登録可のデータを受信したときには、前記ステップＳ２２１において記憶したプリントモードをプリンタへ送信し（Ｓ４２１）、続いて、１ジョブ分のスプールしたデータをプリンタへ送信する（Ｓ４２２）。１ジョブ分のプリントデータを送信し終わった後、Ｅｎｄ  ｏｆ  Ｊｏｂコマンドを送信して（Ｓ４２３）、そのジョブが終了したことをプリンタへ伝える。このステップＳ４２１〜４２３の処理は、前記ステップＳ２４４またはＳ２５２のジョブ登録要求に対してプリンタから登録可の信号が来るごとに実施される。
【００４９】
したがって、プリンタサーバコンピュータ２０により分割されたプリントデータは１部が１ジョブとしてプリンタに送信されるため、プリンタでは、ジョブごとに必要な処理、例えばソートやステープル、また、両面プリントやＮｉｎ１プリントなどを実行することで、部単位での処理が適切に実行される。
【００５０】
次にプリンタサーバコンピュータ２０による第２の処理形態について説明する。
【００５１】
この処理においても、基本的な処理手順であるメインフローチャートは、前述の図６と同様であるので、その説明は省略する。ここでは、ジョブの分割を行うプリンタドライバとの通信、およびプリンタとの通信処理について説明する。
【００５２】
図１０は、プリンタドライバとの通信処理の手順を示すサブルーチンフローチャートであり、図１１は、プリンタとの通信処理の手順を示すサブルーチンフローチャートである。
【００５３】
プリンタドライバとの通信処理は、図１０に示すように、まず、プリンタドライバからのデータ待ちの状態となっている（Ｓ５０１）。
【００５４】
データを受信したときには、次に、受信したデータの種類を判断する（Ｓ５０２）。
【００５５】
判断の結果、受信したデータがステータス要求のときには、そのステータス要求をそのままプリンタへ伝える（Ｓ５１１）。その後メインフローチャートへリターンし、プリンタとの通信処理が行われる。プリンタとの通信処理では、図１１に示すように、まず、プリンタからデータを受信したか否かを判断し（Ｓ６０１）、データを受信したときには、そのデータの種類を判断する（Ｓ６０２）。ここで、前記ステータス要求（Ｓ５１１）に対して、プリンタがステータス情報を返してきたときには、このステータス情報とプリンタサーバコンピュータ２０内のジョブの蓄積状態などの情報を付加したステータス情報をプリンタドライバへ送信する（Ｓ６１１）。
【００５６】
次に、プリンタドライバとの通信において、受信データがプリントモードであるときには、これを記憶する（Ｓ５２１）。
【００５７】
次に、プリンタドライバとの通信において、プリンタドライバによりページ記述言語に変換された後のプリントデータが受信されたときには、まず、受信したページをカウントするための変数ｃｐを１加算する（Ｓ５３１）。なお、この変数ｃｐは、後述するようにすべてのデータを受信し終わった後、０クリアされているため、最初のページを受信したときにはｃｐ＝１となる。
【００５８】
ついで、変数ｃｐの値が１であるか否かを判断し（Ｓ５３２）、ｃｐが１のときにのみ、受信した１ページ分のページ記述言語のデータをそのままメモリに記憶して（Ｓ５３３）、部数をカウントするための変数ｊに１を入れる（Ｓ５３４）。そして、受信したページをラスタライズして（Ｓ５３５）、スプールする（Ｓ５３６）。ここで、変数ｃｐが１のときとは、前述の場合と同様に、プリンタドライバから送られてきたデータが第１ページのときのみである。したがって、メモリに記憶されるデータは第１ページのデータとなる。
【００５９】
一方、変数ｃｐが１ではないときには、メモリに記憶したデータと受信したデータとを比較する（Ｓ５４１）。このデータ比較の処理は、前述した図８の場合と異なり、ページ記述言語のデータをそのまま比較する。これにより、後述のように同一データであると判断されたときにはそれ以降のデータをラスタライズやスプールすることなく破棄することができる。したがって、複数部のプリントの際に、１部の分のデータをラスタライズやスプールすればよいので、特にプリント部数が多い場合にはラスタライズのための処理時間が短くなり、また、スプールのためのハードディスク使用量を節約することができる。
【００６０】
このステップＳ５４１において同一データであると判断されたときには（Ｓ５４２）、部数をカウントするための変数ｊを１加算して（Ｓ５４４）、受信したデータは破棄する（Ｓ５４５）。
【００６１】
ステップＳ５４１において同一データではないと判断されたときには（Ｓ５４２）。続いて、部数をカウントするための変数ｊの値が１であるか否かにより、受信したページが複数部の中の第１部目のデータかどうかが判断される（Ｓ５４３）。そして、変数ｊが１のとき、すなわち、第１部目のデータである場合は、受信したページ記述言語によるデータをラスタライズして（Ｓ５３５）、スプールする（Ｓ５３６）。一方、変数ｊが１以外のときに、すなわち受信したデータが第１部目のデータではない（第２部目、第３部目・・・などである）ときには、そのまま受信データを破棄する（Ｓ５４５）。
【００６２】
以降、プリンタドライバからＥｎｄ  ｏｆ  Ｊｏｂコマンドが送られてくるまでステップＳ５３１〜５４５の各処理を繰り返すことにより、複数部を１ジョブとして送られてきたプリントデータが、１部の分のプリントデータとしてスプールされ、また、プリントアウトする部数が変数ｊの値として記憶される。
【００６３】
そして、プリンタドライバからＥｎｄ  ｏｆ  Ｊｏｂコマンドを受信したときには、ジョブの登録要求をプリンタへ送信して（Ｓ５５１）、次のプリント実行のために変数ｃｐを０クリアする（Ｓ５５２）。
【００６４】
一方、プリンタとの通信において（図１１参照）、ジョブの登録要求に対し、登録可のデータを受信したときには、前記ステップＳ５２１において記憶したプリントモードに、前記変数ｊの値をプリントする部数情報として付加する修正を行い（Ｓ６２１）、変数ｊを０クリアする（Ｓ６２２）。ついで、修正したプリントモードをプリンタへ送信する（Ｓ６２３）。続いて、１ジョブ分のスプールしたデータをプリンタへ送信する（Ｓ６２４）。
【００６５】
このようにして、プリンタサーバコンピュータ２０からは１部の分のプリントデータと部数情報がプリンタに送信され、プリンタでは、１部の分のプリントデータを一旦記憶し、このデータを部数情報の分だけ、各部ごとにプリントアウトして、各部ごとに必要な処理、例えばソートやステープル、また、両面プリントやＮｉｎ１プリントなどを実行することで、部単位での処理が適切に実行される。
【００６６】
なお、上述したプリンタサーバコンピュータ２０での処理を行うためのプログラムは、ＣＤ−ＲＯＭやフロッピーディスクなどのコンピュータ読み取り可能な記憶媒体によって提供され、ハードディスク上にインストールされることで、常時記憶させて、ＣＰＵ１１により実行される。
【００６７】
また、プリンタの機能差による処理形態を２つ説明したが、これらの処理はプリンタサーバコンピュータに接続されているプリンタによって、必要に応じて選択されるものであり、例えばいずれかの処理形態を必要とするプリンタが１種類のみ（同じ処理形態による機能を有する複数のプリンタが接続されている場合を含む）の場合には、必要な処理形態のプログラムを１つだけ実行すればよい。また異なる処理形態によるプリンタが接続されているような場合には、上記２つの処理形態のプログラムをそれぞれプリンタに合わせて選択して実行するようにしてもよい。
【００６８】
なお、本発明は、上記したようにプリンタサーバコンピュータにより実施する場合に限定されるものではなく、例えば、クライアントコンピュータ内のプリンタドライバやその他のユーティリティーソフトなどとして提供されてもよい。特に、コンピュータをスタンドアローンで使用し、直接プリンタをコンピュータに接続している場合には、このようなプリンタドライバやその他のユーティリティーソフトとして提供されることが好ましい。
【００６９】
《実施形態２》
本発明は、コンピュータ上で実行されるプログラムとしてばかりではなく、プリンタの制御装置により実行されてもよい。そこで、本実施形態２は、プリンタの制御装置内のＲＯＭを、本発明の記憶媒体として使用し、このＲＯＭに記憶されたプリント制御プログラムをプリンタの制御装置内のＣＰＵが実行することにより、複数部のプリントを部単位で適切に実行することができるようにしたものである。具体的には、例えば、前述のプリンタ機能を有するデジタル複写機３０において、その制御を行うためプログラムが記憶されているＲＯＭ３４、またはハードディスク３５内に本発明を適用したプログラムを記憶させておき、ＣＰＵ３１がこれを読み出して実行することにより実施される。
【００７０】
ここでは、処理形態の異なる２つのプリンタを説明する。第１のプリンタは、受信したプリントデータを順次部単位に分割しつつ、プリントアウトするものであり、第２のプリンタは、受信したプリントデータのうち１部の分のみを記憶してこれを複数部プリントアウトするものである。
【００７１】
なお、ネットワークシステムやコンピュータ、およびプリンタとして機能するデジタル複写機などのハードウェア構成は、前述した実施形態１と同様であるので、それらの説明は省略する。
【００７２】
（第１のプリンタ）
図１２は、第１のプリンタによるプリント動作の手順を示すフローチャートである。この第１のプリンタは、プリンタにおいて、ラスタイズ後のビットマップデータをプリントデータとして受信し、受信したプリントデータを各ページごとに順次プリントアウトしつつ、または両面プリントやＮｉｎ１プリントなどを行いつつ、受信したプリントデータの中から、第１ページ目と第２ページ目以降のページを比較して、部の区切りを判別し、部単位の処理を実行するものである。なお、受信するプリントデータは、複数部を１ジョブとする、部の区切りのないデータである。
【００７３】
図１２に示すように、プリンタは、まず、データ待ちの状態となっている（Ｓ７０１）。そして、データを受信したときには、受信したデータの種類を判断する（Ｓ７０２）。
【００７４】
判断の結果、受信したデータがジョブ登録要求のときには、その要求に対し、実行中のジョブがなければ登録可の信号を返送する（Ｓ７１１）。
【００７５】
次に、受信データがプリントモードであるときには、これを解析して、指示された動作を行うための準備を行う（Ｓ７２１）。
【００７６】
次に、プリントデータが受信されたときには、まず、受信したページをカウントするための変数ｃｐを１加算する（Ｓ７３１）。なお、この変数ｃｐは、後述するようにすべてのデータを受信し終わった後、０クリアされているため、最初のページを受信する前にｃｐ＝０となっている。したがって、最初のプリントデータを受信したときに、このステップＳ７３１の処理によりｃｐ＝１となる。
【００７７】
ついで、変数ｃｐの値が１であるか否かを判断し（Ｓ７３２）、ｃｐが１のときにのみ、受信した１ページ分のビットマップデータをメモリに記憶する（Ｓ７３３）。ここで、変数ｃｐが１のときとは、受信したプリントデータの最初の第１ページのときのみである。したがって、メモリに記憶されるデータは第１部目の第１ページのデータとなる。その後、ステップＳ７３４に進み、プリントアウトのための各処理が行われる。
【００７８】
ステップＳ７３４からＳ７３７までの各処理は、プリントアウトのための処理である。
【００７９】
まず、受信したページをプリント用データとして記憶する（Ｓ７３４）。そして、プリントが可能か否かを判断する（Ｓ７３５）。このプリント可能か否かの判断は、両面プリントやＮｉｎ１プリントにおいて、１枚の用紙にプリントアウトするために必要なデータが溜まっているか否かを判断するもので、例えば両面プリントにおいては、１枚の用紙の表裏面に２ページ分の画像をプリントするものであるから、ステップＳ７３４におけるプリント用データとして２ページ分のデータが蓄えられているか否かを判断し、また、例えば２ｉｎ１プリントのときには、１枚の用紙の片方の面に、２ページ分のプリントをするのであるから、同様に、２ページ分のデータが蓄えられているか否かを判断する。さらに、両面プリントと２ｉｎ１プリントの両方が指定されている場合には、１枚の用紙の片面に２ページ、両面で４ページ分であるから、４ページ分のデータが蓄えられているか否かを判断することになる。なお、１枚の用紙に１ページのデータをプリントアウトする場合には、ステップＳ７３５の判断は、当然に１ページ分のプリント用データが蓄えられた時点、すなわち、１ページ分のプリントデータを受信した直後にプリント可能となる。
【００８０】
このステップＳ７３５において、プリント可能と判断されれば、プリント用データとして記憶したページを読み出し、両面プリントやＮｉｎ１プリントなどの指示に従ってレイアウト処理を行い（Ｓ７３６）、プリントアウトを実行する（Ｓ７３７）。このとき、交互印刷（用紙に対する画像の向きを交互に天地逆にして印刷）などの指定がある場合には、このレイアウトのときに用紙に対する画像の向きを変更してレイアウトする。
【００８１】
一方、前記ステップＳ７３５において、プリント可能ではないと判断されたときには、プリント用データの記憶を保持したまま、ステップＳ７０１へ戻り次のデータを受信する。
【００８２】
前記ステップＳ７３２において、変数ｃｐが１でないときには、メモリに記憶したデータと受信したデータとを比較する（Ｓ７４１）。つまり、記憶されている第１ページのデータと受信した第２ページ以降のデータを比較することで、部の区切りを判断する。このデータ比較の処理は、前述した図８の場合と同様であり、先頭ビットから順に比較することにより同一のプリントデータであるか否かを判断する。
【００８３】
このステップＳ７４１において同一のプリントデータではないと判断されたときには（Ｓ７４２）、ステップＳ７３４に進み、前記のように、プリントアウトのための各処理が行われる。
【００８４】
一方、ステップＳ７４１において同一のプリントデータであると判断されたときには（Ｓ７４２）、部単位での処理を実行するために、まず、受信したページのデータを一時記憶して退避させる（Ｓ７４３）。そして、この時点でプリント用データとして記憶されているデータ、すなわち、両面プリントやＮｉｎ１プリントにおいて１枚の用紙にプリントするために必要なページ数が揃っていないときにプリント用データとして記憶されているプリントデータ（これをここでは端数データと称する）を、プリント用データから読み出し、レイアウト処理してプリントアウトする（Ｓ７４４）。したがって、Ｓ７４４の処理により、例えば両面プリントの指示がある場合に１ページ分のデータが端数データとして残っていたときには、これがプリントアウトされることになり、出力された用紙には片面のみ印刷されたものとなる。また同様に、例えば２ｉｎ１プリントの指示がある場合に、１ページ分のデータが端数データとして残っていたときには、１枚の用紙の片面の半分に１ページ分の画像が印刷されものが出力される。なお、端数データのない場合には、このレイアウトおよびプリントアウトの処理は行われない。
【００８５】
続いて、ソートやステープルなどの後処理の指示があればこれら後処理を実行して（Ｓ７４５）、変数ｃｐを１にする（Ｓ７４６）。そして、先程退避させておいた受信したページ、すなわち、次の部の第１ページ目のデータをプリント用データとして記憶し直して（Ｓ７４７）、ステップＳ７３４以降の処理に移行する。これにより、次の部のプリントが継続されることになる。
【００８６】
以降、Ｅｎｄ  ｏｆ  Ｊｏｂコマンドが送られてくるまでステップＳ７３１〜７４７の各処理を繰り返すことにより、複数部が１ジョブとして送られてきたプリントデータを受信したページ順に順次プリントアウトしつつ、部の区切りを判別して、部単位で必要な処理が行われる。
【００８７】
そして、Ｅｎｄ  ｏｆ  Ｊｏｂコマンドを受信したときには、最後の部の分の処理のために、プリント用データがあるか否かを判断して（Ｓ７５１）、ここでプリント用データがある場合、すなわち、端数データが残っている場合には、これをレイアウトしてプリントアウトし（Ｓ７５２）、続いて、ソートやステープルなどの後処理の指定があれば、指定にしたがって後処理を実行する（Ｓ７５３）。そして、次のプリント動作のためにｃｐを０して（Ｓ７５４）、全ての処理を終了する。
【００８８】
このようなプリンタによる処理によって、複数部を１ジョブとして、部の区切りなく送られて来たプリントデータであっても、部ごとに分割されて、順次部単位での処理が適切に行われるようになる。
【００８９】
（第２のプリンタ）
図１３は、第２のプリンタによるプリント動作の手順を示すフローチャートである。この第２のプリンタにおいても前記第１のプリンタと同様に、複数部を１ジョブとする、部の区切りのないプリントデータ（ビットマップデータ）を受信して、その中から１部の分のプリントデータを一旦記憶した後、プリントする部数をカウントして、その部数に応じてプリントアウトし、部ごとの処理を実行するものである。
【００９０】
図１３に示すように、プリンタは、まず、データ待ちの状態となっている（Ｓ８０１）。そして、データを受信したときには、受信したデータの種類を判断する（Ｓ８０２）。
【００９１】
判断の結果、受信したデータがジョブ登録要求のときには、その要求に対し、実行中のジョブがなければ登録可の信号を返送する（Ｓ８１１）。
【００９２】
次に、受信データがプリントモードであるときには、これを解析して、指示された動作を行うための準備を行う（Ｓ８２１）。
【００９３】
次に、プリントデータが受信されたときには、まず、受信したページをカウントするための変数ｃｐを１加算する（Ｓ８３１）。なお、この変数ｃｐは、後述するようにすべてのデータを受信し終わった後、０クリアされているため、最初のページを受信したときにはｃｐ＝１となる。
【００９４】
ついで、変数ｃｐの値が１であるか否かを判断し（Ｓ８３２）、ｃｐが１のときにのみ、受信した１ページ分のビットマップデータをメモリに記憶して（Ｓ８３３）、部数をカウントするための変数ｊを１にする（Ｓ８３４）。ここで、変数ｃｐが１のときとは、受信したプリントデータの最初の第１ページのときのみである。したがって、メモリに記憶されるデータは第１部目の第１ページのデータとなる。そして、受信したページをさらにプリント用のデータとしてメモリ（またはハードディスク）に記憶する（Ｓ８３５）。
【００９５】
一方、変数ｃｐが１ではないときには、メモリに記憶したデータと受信したデータと比較する（Ｓ８４１）。このデータ比較の処理は、前述した図８の場合と同様であり、先頭ビットから順に比較することにより同一のプリントデータであるか否かが判断される。これにより、部の区切りが判断される。
【００９６】
そして、このステップＳ８４１において同一のプリントデータであると判断されたときには（Ｓ８４２）、部数をカウントするための変数ｊを１加算して（Ｓ８４４）、受信したデータは破棄する（Ｓ８４５）。
【００９７】
ステップＳ８４１において同一のプリントデータではないと判断されたときには（Ｓ８４２）、続いて、部数をカウントするための変数ｊの値が１であるか否かにより、受信したページが複数部の中の第１部目のデータかどうかが判断される（Ｓ８４３）。そして、変数ｊが１のとき、すなわち、第１部目のデータである場合は、受信したビットマップデータをプリント用のデータとして記憶する（Ｓ８３５）。一方、変数ｊが１以外のときに、すなわち受信したデータが第１部目のデータではない（第２部目、第３部目・・・などである）ときには、そのまま受信データを破棄する（Ｓ８４５）。
【００９８】
これによりメモリ（またはハードディスク）に記憶するプリント用のデータは、複数部のプリントの場合でも１部の分のビットマップデータを記憶することとなり、メモリ（またはハードディスク）の使用量を少なくすることができる。
【００９９】
以降、プリンタドライバからＥｎｄ  ｏｆ  Ｊｏｂコマンドが送られてくるまでステップＳ８３１〜８４５の各処理を繰り返すことにより、複数部を１ジョブとして送られてきたプリントデータが、１部の分のプリントデータとして記憶され、また、プリントアウトする部数が変数ｊの値として記憶される。
【０１００】
そして、Ｅｎｄ  ｏｆ  Ｊｏｂコマンドを受信したときには、記憶してある１部の分のプリント用のデータを読み出し、両面プリントやＮｉｎ１プリントなどが指定されている場合の１枚の用紙に対する画像のレイアウトが行われて（Ｓ８５１）、プリントアウトする（Ｓ８５２）。このとき、排紙された部を区別するために、例えば交互排紙（例えば１部目を縦方向に排紙し、２部目を横方向に排紙する）ような指定がされている場合には、このレイアウトおよびプリントアウトの処理において、用紙に対する画像の向きを変えたり用紙の排紙方向を変えるなどの処理を行う。そして、１部の分のプリントアウトが終了した後、ソートやステープルなどの後処理の指定があれば後処理を行い（Ｓ７５３）、部数を示す変数ｊを１減らす（Ｓ８５４）。
【０１０１】
続いて、ｊの値が０になるまで（Ｓ８５５）、ステップＳ８５１〜８５５を繰り返し実行して全部数分の処理を完了する。最後に、次のプリント実行のために変数ｃｐを０クリアして（Ｓ８５６）、全ての処理を終了する。
【０１０２】
以上のようなプリンタの処理によって、複数部を１ジョブとしたプリントデータであっても、部ごとに分割されて、順次部単位での処理が適切に行われるようになる。
【０１０３】
以上、本実施形態２のように、プリンタによって受信したプリントデータを処理する際には、プリンタ内のＣＰＵが、上記の各処理手順に基づいて所定のプログラムを実行することにより各処理が実施される。したがって、プリンタ内のＣＰＵおよびこのＣＰＵが処理に必要なプログラムやデータを記憶しているメモリやハードディスクなどが、本発明のデータ受信手段、比較手段、および部の区切り判断手段などとして機能するものである。
【０１０４】
以上、２つの実施形態について説明したが、本発明はこれら実施形態に限定されるものではなく、例えば上述の２つの実施形態共に、プリントデータの比較において、第１ページ目のプリントデータを１ページ分記憶しておいて、第２ページ目以降のプリントデータと比較することとしているが、このとき比較の元となるプリントデータを１ページ分全部記憶する場合に限らず、第１ページの所定の部分のみ記憶するようにしてもよい。このようにした場合には、比較するデータ量が少なくてすみ、比較処理に要する時間を短くすることができる。
【０１０５】
また、逆に、複数のページを比較の元データとして記憶しておいてもよい。この場合には、記憶した複数のページに対して、同じ数のページを比較して全てが同じとき、すなわち、記憶した複数の各ページと同一の各ページがあるときに、部の区切りがあると判断する。ただし、記憶する比較の元となるページには、第１ページを含む必要がある。これは、複数のページを比較して全て同じとなったときに、次の部の第１ページ目がどこかを判断するためで、この記憶してある第１ページのデータと同じデータのページが次の部の第１ページであり、このページの前に部の区切りがあると判断する。このようにすることで、たまたま第１ページと同じデータのページが１部の中に含まれているような場合であっても、部の区切りの判断を誤ることなく、より正確に部の区切りを判断することが可能となる。また、このように複数のページを比較の元データとすることで、記憶した複数ページの全てに対して同一のページとなるまで、部の区切りを行わずに連続してプリントアウトすることができる。
【０１０６】
さらに、例えば上述の２つの実施形態では、プリントデータを受信するごとに、順次、第１ページ目のプリントデータとそれ以降のプリントデータを比較することとしたが、これに限らず、一旦複数部の全てのデータを記憶して、その中から第１ページ目（または第１ページ目を含む複数のページ）と、それ以降のページを比較するようにしてもよい。
【０１０７】
【発明の効果】
以上説明した本発明によれば、請求項ごとに以下のような効果を奏する。
【０１０８】
本発明によるプリント制御プログラムを記録したコンピュータ読み取り可能な記録媒体は、少なくとも第１ページ目に含まれるプリントデータを記憶してこの記憶したプリントデータと第２ページ目以降の各ページのプリントデータを比較して、記憶したプリントデータと同じプリントデータがあるときに、その同一のプリントデータのあるページの前に部の区切りがあると判断することとしたので、この記録媒体内のプリント制御プログラムをコンピュータにより読み取り実行することによって、複数部を部の区切りなく一纏めにしたプリントデータであっても、部の区切りが分かるようになる。したがって、プリンタでは、このように部の区切りが分かるようになったプリントデータを元にプリントアウトすることができるようになり、ソートやステープル、また、両面プリントやＮｉｎ１プリントなど、部単位での処理が必要な動作を、各部ごとに適切に処理することができるようになる。
【０１０９】
本発明によるプリンタは、少なくとも第１ページ目に含まれるプリントデータを記憶してこの記憶したプリントデータと第２ページ目以降の各ページのプリントデータを比較して、記憶したプリントデータと同じプリントデータがあるときに、その同一のプリントデータのあるページの前に部の区切りがあると判断することとしたので、複数部を部の区切りなく１ジョブとしたプリントデータであっても、部の区切りを判別して、ソートやステープル、また、両面プリントやＮｉｎ１プリントなど、部単位での処理が必要な動作を、各部ごとに適切に処理することができるようになる。
【０１１０】
本発明によるプリント方法は、少なくとも第１ページ目に含まれるプリントデータを記憶してこの記憶したプリントデータと第２ページ目以降の各ページのプリントデータを比較して、記憶したプリントデータと同じプリントデータがあるときに、その同一のプリントデータのあるページの前に部の区切りがあると判断することとしたので、複数部を部の区切りなく１ジョブとしたプリントデータであっても、部の区切りを判別して、ソートやステープル、また、両面プリントやＮｉｎ１プリントなど、部単位での処理が必要なプリントアウトを各部ごとに行うことができるようになる。
【図面の簡単な説明】
【図１】  本発明を適用した一実施形態であるネットワークコンピュータシステムの概略構成を示す図面である。
【図２】  上記ネットワークコンピュータシステムに用いているデジタル複写機の概略構成を示すブロック図である。
【図３】  上記ネットワークコンピュータシステムにクライアントコンピュータとして用いたパソコンの概略構成を示すブロック図である。
【図４】  上記ネットワークコンピュータシステムにおけるステータスの流れを示す図面である。
【図５】  プリントモードの詳細設定画面の一例を示す図面である。
【図６】  本発明を適用した実施形態１におけるプリンタサーバコンピュータの処理手順を示すメインフローチャートである。
【図７】  図６中のプリンタドライバとの通信の処理手順を示すサブルーチンフローチャートである。
【図８】  図７中のデータ比較の処理手順を示すサブルーチンフローチャートである。
【図９】  図６中のプリンタとの通信の処理手順を示すサブルーチンフローチャートである。
【図１０】  図６中のプリンタドライバとの通信の他の形態の処理手順を示すサブルーチンフローチャートである。
【図１１】  図６中のプリンタとの通信の他の形態の処理手順を示すサブルーチンフローチャートである。
【図１２】  本発明を適用した実施形態２おけるプリンタの処理手順を示すフローチャートである。
【図１３】  本発明を適用した実施形態２おけるプリンタの他の形態の処理手順を示すフローチャートである。
【符号の説明】
１０…クライアントコンピュータ、
２０…プリンタサーバコンピュータ、
３０…デジタル複写機。
【図１】
0004106752.tif 000002
【図２】
0004106752.tif 000003
【図３】
0004106752.tif 000004
【図４】
0004106752.tif 000005
【図５】
0004106752.tif 000006
【図６】
0004106752.tif 000007
【図７】
0004106752.tif 000008
【図８】
0004106752.tif 000009
【図９】
0004106752.tif 000010
【図１０】
0004106752.tif 000011
【図１１】
0004106752.tif 000012
【図１２】
0004106752.tif 000013
【図１３】
0004106752.tif 000014