(57)【特許請求の範囲】
【請求項１】
記録用紙の全ページをまとめて二つ折りにした場合にページ順が揃う全ページ製本印刷機能を有する印刷装置と、該印刷装置で印刷すべき印刷データの印刷ジョブを生成する情報処理装置とを含む印刷制御システムであって、
前記情報処理装置は、
前記記録用紙の全ページをまとめて二つ折りにした場合にページ順が揃う全ページ製本の設定と、ユーザにより指定された枚数の記録用紙を１冊子ブロックとし、該記録用紙を二つ折りにした各冊子ブロックを並べることでページ順が揃う分冊製本の設定のうちの１つを示す製本設定を入力する入力手段と、
アプリケーションから入力される印刷すべきデータをページ単位に所望の順序で読み出し可能に格納手段にスプールするスプール手段と、
前記入力手段により分冊製本の設定が入力されている場合に、指定された記録用紙の枚数と所定値とを比較する比較手段と、
前記製本設定と前記比較手段による比較結果とに基づき、各印刷用紙に配置される各ページの順序付けとレイアウト処理を、前記情報処理装置で行うか、前記印刷装置で行うかを決定する配分手段と、
前記製本設定および前記配分手段による決定に従い、前記印刷データのページ配置を制御する配置手段と、
前記配置手段により制御されたページ配置に従った順序で前記格納手段から印刷すべきデータを読み出し、前記印刷装置で印刷すべき印刷データの印刷ジョブの出力処理を実行する出力処理手段とを備え、
前記配分手段により分冊製本の順序付けとレイアウト処理を印刷装置で行うことが決定される場合に、前記出力処理手段は、各冊子ブロックに配置されるページのデータを読み出した後に印刷終了命令を発行し、次の冊子ブロックの読み出し前に印刷開始命令を発行することにより、前記印刷ジョブを分割して複数の印刷ジョブとして出力処理を実行し、
前記印刷装置が有する全ページ製本印刷機能を利用して、分冊製本の印刷処理を行うことを特徴とする印刷制御システム。
【請求項２】
記録用紙の全ページをまとめて二つ折りにした場合にページ順が揃う全ページ製本印刷機能を有する印刷装置と、該印刷装置で印刷すべき印刷データの印刷ジョブを生成する情報処理装置とを含む印刷制御システムにおける印刷制御方法であって、
前記記録用紙の全ページをまとめて二つ折りにした場合にページ順が揃う全ページ製本の設定と、ユーザにより指定された枚数の記録用紙を１冊子ブロックとし、該記録用紙を二つ折りにした各冊子ブロックを並べることでページ順が揃う分冊製本の設定のうちの１つを示す製本設定を入力する入力工程と、
アプリケーションから入力される印刷すべきデータをページ単位に所望の順序で読み出し可能に格納手段にスプールするスプール工程と、
前記入力工程により分冊製本の設定が入力されている場合に、指定された記録用紙の枚数と所定値とを比較する比較工程と、
前記製本設定と前記比較工程による比較結果とに基づき、各印刷用紙に配置される各ページの順序付けとレイアウト処理を、前記情報処理装置で行うか、前記印刷装置で行うかを決定する配分工程と、
前記製本設定および前記配分工程による決定に従い、前記印刷データのページ配置を制御する配置工程と、
前記配置工程により制御されたページ配置に従った順序で前記格納手段から印刷すべきデータを読み出し、前記印刷装置で印刷すべき印刷データの印刷ジョブの出力処理を実行する出力処理工程とを備え、
前記配分工程により分冊製本の順序付けとレイアウト処理を印刷装置で行うことが決定される場合に、前記出力処理工程は、各冊子ブロックに配置されるページのデータを読み出した後に印刷終了命令を発行し、次の冊子ブロックの読み出し前に印刷開始命令を発行することにより、前記印刷ジョブを分割して複数の印刷ジョブとして出力処理を実行し、
前記印刷装置が有する全ページ製本印刷機能を利用して、分冊製本の印刷処理を行うことを特徴とする印刷制御方法。
【請求項３】
記録用紙の全ページをまとめて二つ折りにした場合にページ順が揃う全ページ製本印刷機能を有する印刷装置と、該印刷装置で印刷すべき印刷データの印刷ジョブを生成する情報処理装置とを含む印刷制御システムにおける印刷制御方法をコンピュータに実行させる印刷制御プログラムを格納する記憶媒体であって、該制御プログラムが、
前記記録用紙の全ページをまとめて二つ折りにした場合にページ順が揃う全ページ製本の設定と、ユーザにより指定された枚数の記録用紙を１冊子ブロックとし、該記録用紙を二つ折りにした各冊子ブロックを並べることでページ順が揃う分冊製本の設定のうちの１つを示す製本設定を入力する入力工程のコードと、
アプリケーションから入力される印刷すべきデータをページ単位に所望の順序で読み出し可能に格納手段にスプールするスプール工程のコードと、
前記入力工程のコードにより分冊製本の設定が入力されている場合に、指定された記録用紙の枚数と所定値とを比較する比較工程のコードと、
前記製本設定と前記比較工程のコードによる比較結果とに基づき、各印刷用紙に配置される各ページの順序付けとレイアウト処理を、前記情報処理装置で行うか、前記印刷装置で行うかを決定する配分工程のコードと、
前記製本設定および前記決定に従い、前記印刷データのページ配置を制御する配置工程のコードと、
前記配置工程のコードにより制御されたページ配置に従った順序で前記格納手段から印刷すべきデータを読み出し、前記印刷装置で印刷すべき印刷データの印刷ジョブの出力処理を実行する出力処理工程のコードとを備え、
前記配分工程のコードにより分冊製本の順序付けとレイアウト処理を印刷装置で行うことが決定される場合に、前記出力処理工程のコードは、各冊子ブロックに配置されるページのデータを読み出した後に印刷終了命令を発行し、次の冊子ブロックの読み出し前に印刷開始命令を発行することにより、前記印刷ジョブを分割して複数の印刷ジョブとして出力処理を実行し、
前記印刷装置が有する全ページ製本印刷機能を利用して、分冊製本の印刷処理を行うことを特徴とする記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、印刷制御システム及び印刷制御方法、該印刷制御をコンピュータで実行するためのプログラムコードを記憶した記憶媒体に関するものである。
【０００２】
【従来の技術】
レーザプリンタや複写機など、アプリケーションからの複数ページデータを２つおりにした場合にページ同士が並ぶように配置する製本印刷機能が搭載されている。
【０００３】
一方、印刷データを一旦スプールして、体裁を加工するというような、ホスト側での処理方法によつても実現されている。
【０００４】
【発明が解決しようとする課題】
現在、上記２つの方法によつて製本印刷が可能であるが、印刷工程において、上記のような製本印刷機能を重複して利用可能である場合、印刷設定が独立したユーザインターフェイスからの設定によるものとなるために、製本印刷を設定するユーザの混乱を招く可能性があった。
【０００５】
すなわち、それぞれ独立したユーザインターフェイスからの印刷設定により、製本印刷を設定する場合、所望の製本体裁が適切に設定できているか否か、ユーザにとってわかりにくく操作性が悪かった。
【０００６】
【課題を解決するための手段】
本発明は、統一したユーザインターフェースを用いて印刷制御設定を行い、製本印刷が設定されている場合は、製本体裁の条件を判断し、第一の情報処理装置と第二の情報処理装置とが重複する機能を効率的に制御して、ユーザの設定に対して適切な印刷制御を可能にすることを目的とするものである。前記目的を達成するべく、本発明に関する印刷制御装置、印刷制御方法、記憶媒体は主として以下の構成からなることを特徴とする。
【０００７】
即ち、記録用紙の全ページをまとめて二つ折りにした場合にページ順が揃う全ページ製本印刷機能を有する印刷装置と、該印刷装置で印刷すべき印刷データの印刷ジョブを生成する情報処理装置とを含む印刷制御システムであって、
前記情報処理装置は、
前記記録用紙の全ページをまとめて二つ折りにした場合にページ順が揃う全ページ製本の設定と、ユーザにより指定された枚数の記録用紙を１冊子ブロックとし、該記録用紙を二つ折りにした各冊子ブロックを並べることでページ順が揃う分冊製本の設定のうちの１つを示す製本設定を入力する入力手段と、
アプリケーションから入力される印刷すべきデータをページ単位に所望の順序で読み出し可能に格納手段にスプールするスプール手段と、
前記入力手段により分冊製本の設定が入力されている場合に、指定された記録用紙の枚数と所定値とを比較する比較手段と、
前記製本設定と前記比較手段による比較結果とに基づき、各印刷用紙に配置される各ページの順序付けとレイアウト処理を、前記情報処理装置で行うか、前記印刷装置で行うかを決定する配分手段と、
前記製本設定および前記配分手段による決定に従い、前記印刷データのページ配置を制御する配置手段と、
前記配置手段により制御されたページ配置に従った順序で前記格納手段から印刷すべきデータを読み出し、前記印刷装置で印刷すべき印刷データの印刷ジョブの出力処理を実行する出力処理手段とを備え、
前記配分手段により分冊製本の順序付けとレイアウト処理を印刷装置で行うことが決定される場合に、前記出力処理手段は、各冊子ブロックに配置されるページのデータを読み出した後に印刷終了命令を発行し、次の冊子ブロックの読み出し前に印刷開始命令を発行することにより、前記印刷ジョブを分割して複数の印刷ジョブとして出力処理を実行し、
前記印刷装置が有する全ページ製本印刷機能を利用して、分冊製本の印刷処理を行うことを特徴とする。
【０００８】
また、記録用紙の全ページをまとめて二つ折りにした場合にページ順が揃う全ページ製本印刷機能を有する印刷装置と、該印刷装置で印刷すべき印刷データの印刷ジョブを生成する情報処理装置とを含む印刷制御システムにおける印刷制御方法は、
前記記録用紙の全ページをまとめて二つ折りにした場合にページ順が揃う全ページ製本の設定と、ユーザにより指定された枚数の記録用紙を１冊子ブロックとし、該記録用紙を二つ折りにした各冊子ブロックを並べることでページ順が揃う分冊製本の設定のうちの１つを示す製本設定を入力する入力工程と、
アプリケーションから入力される印刷すべきデータをページ単位に所望の順序で読み出し可能に格納手段にスプールするスプール工程と、
前記入力工程により分冊製本の設定が入力されている場合に、指定された記録用紙の枚数と所定値とを比較する比較工程と、
前記製本設定と前記比較工程による比較結果とに基づき、各印刷用紙に配置される各ページの順序付けとレイアウト処理を、前記情報処理装置で行うか、前記印刷装置で行うかを決定する配分工程と、
前記製本設定および前記配分工程による決定に従い、前記印刷データのページ配置を制御する配置工程と、
前記配置工程により制御されたページ配置に従った順序で前記格納手段から印刷すべきデータを読み出し、前記印刷装置で印刷すべき印刷データの印刷ジョブの出力処理を実行する出力処理工程とを備え、
前記配分工程により分冊製本の順序付けとレイアウト処理を印刷装置で行うことが決定される場合に、前記出力処理工程は、各冊子ブロックに配置されるページのデータを読み出した後に印刷終了命令を発行し、次の冊子ブロックの読み出し前に印刷開始命令を発行することにより、前記印刷ジョブを分割して複数の印刷ジョブとして出力処理を実行し、
前記印刷装置が有する全ページ製本印刷機能を利用して、分冊製本の印刷処理を行うことを特徴とする。
【０００９】
更に、記録用紙の全ページをまとめて二つ折りにした場合にページ順が揃う全ページ製本印刷機能を有する印刷装置と、該印刷装置で印刷すべき印刷データの印刷ジョブを生成する情報処理装置とを含む印刷制御システムにおける印刷制御方法をコンピュータに実行させる印刷制御プログラムを格納する記憶媒体であって、該制御プログラムが、
前記記録用紙の全ページをまとめて二つ折りにした場合にページ順が揃う全ページ製本の設定と、ユーザにより指定された枚数の記録用紙を１冊子ブロックとし、該記録用紙を二つ折りにした各冊子ブロックを並べることでページ順が揃う分冊製本の設定のうちの１つを示す製本設定を入力する入力工程のコードと、
アプリケーションから入力される印刷すべきデータをページ単位に所望の順序で読み出し可能に格納手段にスプールするスプール工程のコードと、
前記入力工程のコードにより分冊製本の設定が入力されている場合に、指定された記録用紙の枚数と所定値とを比較する比較工程のコードと、
前記製本設定と前記比較工程のコードによる比較結果とに基づき、各印刷用紙に配置される各ページの順序付けとレイアウト処理を、前記情報処理装置で行うか、前記印刷装置で行うかを決定する配分工程のコードと、
前記製本設定および前記決定に従い、前記印刷データのページ配置を制御する配置工程のコードと、
前記配置工程のコードにより制御されたページ配置に従った順序で前記格納手段から印刷すべきデータを読み出し、前記印刷装置で印刷すべき印刷データの印刷ジョブの出力処理を実行する出力処理工程のコードとを備え、
前記配分工程のコードにより分冊製本の順序付けとレイアウト処理を印刷装置で行うことが決定される場合に、前記出力処理工程のコードは、各冊子ブロックに配置されるページのデータを読み出した後に印刷終了命令を発行し、次の冊子ブロックの読み出し前に印刷開始命令を発行することにより、前記印刷ジョブを分割して複数の印刷ジョブとして出力処理を実行し、
前記印刷装置が有する全ページ製本印刷機能を利用して、分冊製本の印刷処理を行うことを特徴とする。
【００１０】
【発明の実施の形態】
（第１の実施形態）
以下、本発明を適用するのに好適である一実施形態について説明するが、本発明は以下の実施形態に限定されるものではない。
【００１１】
図１は、本発明の実施形態の一つである印刷制御システムの構成を説明するブロック図である。なお、本発明の機能が実行されるのであれば、単体の機器であつても、複数の機器からなるシステムであっても、ＬＡＮ、ＷＡＮ等のネットワークを介して接続が為され処理が行われるシステムであつても本発明を適用できる。
【００１２】
同図において、情報処理装置（ホストコンピュータ）３０００は、ＲＯＭ１０３のプログラム用ＲＯＭあるいは外部メモリ１１１に記憶された文書処理プログラム等に基づいて図形、イメージ、文字、表（表計算等を含む）等が混在した文書処理を実行するＣＰＵ１０１を備え、システムバス１０４に接続される各印刷デバイス（プリンタ）をＣＰＵ１０１が総括的に制御する。
【００１３】
また、このＲＯＭ１０３のプログラム用ＲＯＭあるいは外部メモリ１１１には、ＣＰＵ１０１の制御プログラムであるオペレーティングシステムプログラム（以下ＯＳ）等を記憶し、ＲＯＭ１０３のフォント用ＲＯＭあるいは外部メモリ１１１には上記文書処理の際に使用するフォントデータ等を記憶し、ＲＯＭ１０３のデータ用ＲＯＭあるいは外部メモリ１１１には上記文書処理等を行う際に使用する各種データを記憶する。ＲＡＭ１０２は、ＣＰＵ１０１の主メモリ、ワークエリア等として機能する。
【００１４】
キーボードコントローラ（ＫＢＣ）１０５は、キーボード１０９や不図示のポインティングデバイスからのキー入力を制御する。ＣＲＴコントローラ（ＣＲＴＣ）１０６は、ＣＲＴディスプレイ（ＣＲＴ）１１０の表示を制御する。
【００１５】
１０７はディスクコントローラ（ＤＫＣ）で、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム（以下プリンタドライバ）等を記憶するハードディスク（ＨＤ）、フロッピーディスク（ＦＤ）等の外部メモリ１１１とのアクセスを制御する。
【００１６】
プリンタコントローラ（ＰＲＴＣ）１０８は、双方向性インターフェース（インターフェース）１２１を介してプリンタ１５００に接続されて、プリンタ１５００との通信制御処理を実行する。
【００１７】
なお、ＣＰＵ１０１は、例えばＲＡＭ１０２上に設定された表示情報ＲＡＭへのアウトラインフォントの展開（ラスタライズ）処理を実行し、ＣＲＴｌ１０上でのＷＹＳＩＷＹＧ（What You See Is What You Get）を可能としている。
【００１８】
また、ＣＰＵ１０１は、ＣＲＴｌ１０上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷の設定に関するウインドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行える。
【００１９】
プリンタ１５００は、ＣＰＵｌ１２により制御される。プリンタＣＰＵｌ１２は、ＲＯＭｌ１３のプログラム用ＲＯＭに記憶された制御プログラム等あるいは外部メモリ１１４に記憶された制御プログラム等に基づいてシステムバス１１５に印刷制御インターフェース１１６を介して接続される印刷部（プリンタエンジン）１１７へ出力情報としての画像信号を出力し、印刷部から出力されたシートに対しサドルステッチなどのシート処理を行うシート処理部１２３へ、シート処理部インターフェース１２２を介してシート処理信号を出力する。
【００２０】
また、このＲＯＭｌ１３のプログラムＲＯＭには、ＣＰＵｌ１２の制御プログラム等を記憶する。ＲＯＭｌ１３のフォント用ＲＯＭには上記出力情報を生成する際に使用するフォントデータ等が記憶され、ＲＯＭｌ１３のデータ用ＲＯＭには、ハードディスク等の外部メモリ１１４がないプリンタの場合には、ホストコンピュータ上で利用される情報等が記憶されている。
【００２１】
ＣＰＵｌ１２は入力部１１８を介してホストコンピュータとの通信処理が可能となっており、プリンタ内の情報等をホストコンピュータ３０００に通知できる。ＲＡＭｌ１９は、ＣＰＵｌ１２の主メモリや、ワークエリア等として機能するＲＡＭで、図示しない増設ポートに接続されるオプションＲＡＭにより、メモり容量を拡張することができるように構成されている。なお、ＲＡＭｌ１９は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。前述したハードディスク（ＨＤ）、ＩＣカード等の外部メモリ１１４は、メモリコントローラ（ＭＣ）１２０によリアクセスを制御される。外部メモリ１１４は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、１２４は操作パネルで操作のためのスイッチおよびＬＥＤ表示器等が配されている。
【００２２】
また、前述した外部メモリ１１４は１個に限らず、複数個備えられ、内蔵フォントに加えてオプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。更に、図示しないＮＶＲＡＭを有し、操作パネル１２４からのプリンタモード設定情報を記憶するようにしてもよい。
【００２３】
図２は、プリンタ等の印刷装置が直接接続されているか、あるいはネットワーク経由で接続されているホストコンピュータにおける典型的な印刷処理の構成図である。
【００２４】
アプリケーション２０１、グラフィックエンジン２０２、プリンタドライバ２０３、およびシステムスプーラ２０４は、外部メモリ１１１に保存されたファイルとして存在し、実行される場合にＯＳやそのモジュールを利用するモジュールによってＲＡＭ１０２にロードされ実行されるプログラムモジュールである。
【００２５】
また、アプリケーション２０１およびプリンタドライバ２０３は、外部メモリ１１１のＦＤや不図示のＣＤ―ＲＯＭ、あるいは不図示のネットワークを経由して外部ディスク１１１のＨＤに追加することが可能となっている。外部メモリ１１１に保存されているアプリケーション２０１はＲＡＭ１０２にロードされて実行されるが、このアプリケーション２０１からプリンタ１５００に対して印刷を行う際には、同様にＲＡＭ１０２にロードされ実行可能となっているグラフィックエンジン２０２を利用して出力（描画）を行う。
【００２６】
グラフィックエンジン２０２は、印刷装置ごとに用意されたプリンタドライバ２０３を同様に外部メモリ１１１からＲＡＭ１０２にロードし、アプリケーション２０１の出力をプリンタドライバ２０３に設定する。そして、アプリケーション２０１から受け取るＧＤＩ（Ｇｒａｐｈｉｃ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）関数からＤＤＩ（Ｄｅｖｉｃｅ  Ｄｒｉｖｅｒ  ｉｎｔｅｒｆａｃｅ）関数に変換して、プリンタドライバ２０３へＤＤＩ関数を出力する。プリンタドライバ２０３は、グラフィックエンジン２０２から受け取つたＤＤＩ関数に基づいて、プリンタが認識可能な制御コマンド、例えばＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）に変換する。変換されたプリンタ制御コマンドは、ＯＳによってＲＡＭ２にロードされたシステムスプーラ２０４を経てインタフェース１２１経由でプリンタ１５００へ印刷データとして出力される仕組みとなっている。
【００２７】
本発明の一実施形態である印刷システムは、図２で示したプリンタとホストコンピュータからなる印刷システムに加え、更に図３に示すように、アプリケーションからの印刷データを一旦中間コードデータでスプールする構成を有する。
【００２８】
＜システムの構成＞
図３は、図２のシステムを拡張したもので、グラフィックエンジン２０２からプリンタドライバ２０３へＤＤＩ関数を送る際に、一旦中間コードからなるスプールファイル３０３を生成する構成をとる。図２のシステムでは、アプリケーション２０１が印刷処理から開放されるのはプリンタドライバ２０３がグラフィンクエンジン２０２からのすべてのＤＤＩ関数をプリンタの制御コマンドヘ変換し終つた時点である。これに対して、図３のシステムでは、スプーラ３０２がすべてのＤＤＩ関数を中間コードデータに変換し、スプールファイル３０３に出力した時点である。通常、後者の方が短時間で済む。
【００２９】
また、図３で示すシステムにおいては、スプールファイル３０３の内容に対して加工することができる。これによリアプリケーションからの印刷データに対して、拡大縮小、複数ページを１ページに縮小した印刷、および本発明における製本印刷等、アプリケーションの持たない機能を実現する事ができる。
【００３０】
印刷データを種々加工可能にして多様な印刷様式で印刷できるようにするために、図２の従前のシステムに対し、図３のような構成として印刷データを中間コードデータでスプールするというシステムの拡張がなされている。
【００３１】
なお、印刷データの加工を行うためには、通常プリンタドライバ２０３が提供するウインドウから設定を行い、プリンタドライバ２０３がその設定内容をＲＡＭ１０２上あるいは外部メモリ１１１上に保管する。
【００３２】
＜データの処理＞
以下、図３の詳細を説明する。図に示す通り、この拡張された処理方式では、グラフィンクエンジン２０２からのＤＤＩ関数をディスパッチャ３０１が受け取る。ディスパッチャ３０１がグラフィックエンジン２０２から受け取つたＤＤＩ関数が、アプリケーション２０１からグラフィックエンジン２０２へ発行されたＧＤＩ関数の場合には、ディスパッチャ３０１は外部メモリ１１１に格納されているスプーラ３０２をＲＡＭ１０２にロードし、プリンタドライバ２０３ではなくスプーラ３０２ヘＤＤＩ関数を送付する。
【００３３】
スプーラ３０２は受け取つたＤＤＩ関数を中間コードに変換してスプールファイル３０３に出力する。また、スプーラ３０２は、プリンタドライバ２０３に対して設定されている印刷データに関する加工設定をプリンタドライバ２０３から取得してスプールファイル３０３に保存する。なお、スプールファイル３０３は外部メモリ１１１上にファイルとして生成するが、ＲＡＭ２上に生成されても構わない。更にスプーラ３０２は、外部メモリ１１１に格納されているスプールファイルマネージャ３０４をＲＡＭ１０２にロードし、スプールファイルマネージャ３０４に対してスプールファイル３０３の生成状況を通知する。その後、スプールファイルマネージャ３０４は、スプールファイル３０３に保存された印刷データに関する加工設定の内容に従つて印刷を行えるか判断する。
【００３４】
スプールファイルマネージャ３０４はグラフィックエンジン２０２を利用して印刷を行えると判断した際には、外部メモリ１１１に格納されているデスプーラ３０５をＲＡＭ１０２にロードし、デスプーラ３０５に対して、スプールファイル３０３に記述された中間コードの印刷処理を行うように指示する。
【００３５】
デスプーラ３０５はスプールファイル３０３に含まれる中間コードをスプールファイル３０３に含まれる加工設定の内容に従つて加工し、ＧＤＩ関数に変換する。そして、グラフィックエンジン２０２でＧＤＩ関数からＤＤＩ関数に変換して出力する。
【００３６】
ディスパッチャ３０１がグラフィックエンジン２０２から受け取つたＤＤＩ関数がデスプーラ３０５からグラフィックエンジン２０２へ発行されたＧＤｌ関数を変換したＤＤＩ関数の場合には、ディスパッチャ３０１はスプーラ３０２ではなく、プリンタドライバ２０３にＤＤＩ関数を送る。
【００３７】
プリンタドライバ２０３はプリンタ制御コマンド（ＰＤＬなど）を生成し、システムスプーラ２０４経由でプリンタ１５００に出力する。
【００３８】
このように、図３の印刷処理システムでは、一旦中間コードに変換した印刷ジョブをデスプーラ３０５によってＧＤＩ関数に変換したのち、再びグラフィックエンジンに戻す構成になっている。したがつて、図３の印刷処理システムは、３０１乃至３０５の構成をプリンタドライバ毎に変える必要はないという利点がある。
【００３９】
＜製本印刷＞
図４は、製本印刷とその実現結果について説明した一例である。
【００４０】
「製本印刷」とは、紙の両面に出力された印刷結果を２つ折りにしたときに、ページ順序があうように印刷ページを並べ替えて印刷することをいい、図４の４０１もしくは４０２のようなフォーマットとした印刷である。
【００４１】
この製本印刷された４０１、４０２は、何らかの方法で４０３、４０４のように２つ折りすれば正しいページ順になるようになっている。
【００４２】
製本印刷には、大きく分けて以下に述べる２つの方法、「印刷される全ページから製本の枚数単位を求めて印刷する方法」と「任意の指定された枚数を製本の枚数単位として印刷する方法」とがある。ただし、ここでいう製本の枚数単位とは、製本印刷で出力された用紙を何枚単位でまとめて２つ折りにすればよいかをあらわすものである。印刷される全ページから製本の枚数単位を求めて印刷する方法の場合は、図４の印刷物４０１のような出力を得て、それをまとめて２つ折りにして本とする。任意の指定された枚数を製本の枚数単位として印刷する方法の場合は、図４の印刷物４０２のような出力を得て、それを枚数単位ごとに２つ折りにし、更にそれを並べて本とする。
【００４３】
また、図５に示すように、製本印刷によつて出力される製本の体裁には、「左から昇順にページ配置（左開き）」の場合と、「右から昇順にページ配置（右開き）」の場合とがある。
【００４４】
印刷されるページが横向きの場合も、ページの回転を行うだけで、ページの順序は変わらない。これらの設定は、以下に説明する図１４および図１５に示すような設定画面より指定可能である。
【００４５】
＜設定画面の説明＞
図１４は、製本印刷の設定画面の一例である。設定画面はプリンタドライバ２０２が表示し、必要な割振りを行う。また、図１５は製本の開き向きや、製本の枚数単位を設定する画面の一例である。
【００４６】
また、図１６は内部的に印刷デバイスの機能を用いるか、ホストの機能を用いるかを指定する画面の一例である。１６０１において、内部処理の選択が可能である。本実施例のように、「自動」「必ずホスト側で処理を行う」「ホスト側での処理を無効にする」の３者択一形式でも良いし、スライダーバー形式によつて、処理の配分を設定するようなユーザインターフェイスでも良い。
【００４７】
本実施例においては、「自動」が選択された場合には、設定に応じて印刷デバイスとホストの機能を内部的に決定することとする。また、「必ずホスト側で処理を行う」ではホストの機能、「ホスト側での処理を無効にする」では印刷デバイスの機能を用いることとする。
【００４８】
＜製本印刷処理の流れ＞
図６は、本実施例の処理の流れを示すフローチャートである。
【００４９】
ステップ６０１において、ユーザが製本印刷の設定をしていればステップ６０２へ進み、していなければ通常の印刷を行うとしてステップ６０７へ進む。
【００５０】
ステップ６０２において、製本の枚数単位に関する設定と印刷体裁に関する設定を取得する。
【００５１】
印刷枚数単位の設定には以下の選択肢がある。
【００５２】
「印刷される全ページから製本の枚数単位を求めて製本印刷」
「任意の指定された枚数を製本の枚数単位として製本印刷」
また、印刷体裁の設定には以下の選択肢がある。
【００５３】
「左開き」
「右開き」
ステップ６０３において、製本印刷の枚数単位に全ページが選択されていればステップ６０４へ進み、選択されていなければステップ６０５へ進む。
【００５４】
ステップ６０４において、印刷ページ全体から製本の枚数単位を求めて製本印刷を行う。この処理の詳細については後述する。
【００５５】
ステップ６０５において、製本印刷の枚数単位に特定の枚数が選択されていればステップ６０６へ進み、選択されていなければステップ６０７へ進む。
【００５６】
ステップ６０６において、指定された枚数単位で製本印刷を行う。この処理の詳細については後述する。
【００５７】
ステップ６０７において、通常の印刷処理を行う。
【００５８】
なお、製本印刷の設定や枚数単位の設定は、ホストコンピュータ３０００からのオペレータ入力などで行われる。
【００５９】
以下に図６におけるステップ６０４に関する処理（印刷される全ページから製本の枚数単位を求めて製本印刷）を図７、図８を用いて詳しく説明する。
【００６０】
ステップ７０１において、印刷体裁を取得する。
【００６１】
ステップ７０２において、製本処理を印刷デバイスで行うか、ホストで行うかを決定する。決定の方法は後述する。ステップ７０３において、製本印刷を印刷デバイスで行うか、ホストで行うか判定する。印刷デバイスで行う場合（ステップ７０３−ＮＯ）、ステップ７０４へ進み、印刷デバイスで製本印刷を行うように印刷設定を行い、図６のステップ６０７へ処理を進め、ホストでは通常の印刷処理を行う。
【００６２】
ホストで製本印刷を行う場合、処理をステップ７０５へ進める。
【００６３】
ステップ７０５において、印刷ページ数を取得する。この印刷ページはアプリケーションからの印刷データがすべてスプール終了した時点で取得可能である。
【００６４】
ステップ７０６において、製本印刷の進捗カウンタを０にセットする。このカウンタが偶数のときに印刷されるページは織り込まれたときに内側になるように印刷され、奇数のときに印刷されるページは織り込まれたときに外側になるように印刷される。（最初の印刷面は、進捗カウンタが０なので内側になる。）
ステップ７０７において、使用する紙の枚数を以下の式によつて計算する。
【００６５】
用紙枚数＝ページ数÷４（小数点以下切り上げ）
ステップ７０８において、２つ折りにしたとき一番内側になる用紙の内側に印刷されるページ２ページ分を以下の式を用いて計算する。この２ページを基に以降印刷されるページを算出する。
【００６６】
基本ページ１＝用紙枚数×２＋１
基本ページ２＝用紙枚数×２
例えば、アプリケーションから５０ページの印刷データが送られてきた場合は、製本印刷の結果使用する枚数は５０÷４＝１３枚（小数点以下切り上げ）となり、２つ折りにした時に織り込まれる用紙に印刷される基本ページは基本ページ１＝１３×２＋１＝２７ページと、基本ページ２＝１３×２＝２６ページとなる。図４の例では、印刷物４０１の最も内側に折り込まれる面である第１１ページと第１０ページとがこれらに相当する。
【００６７】
ステップ７０９において、製本印刷処理が終了したなら処理を終え、終わつていなかったらステップ７１０へ進む。具体的には、進捗カウンタが用紙枚数×２に等しければ処理終了とする。
【００６８】
ステップ７１０において、印刷要求を行う２ページを以下の式で計算する。
【００６９】
印刷ページ１＝基本ページ１＋進捗カウンタ
印刷ページ２＝基本ページ２−進捗カウンタ
例えば、５０ページの製本印刷の場合は、２回目の印刷面に含まれるのは、２７＋１＝２８ページと２６−１＝２５ページとなる。
【００７０】
以降進捗カウンタが増加するたびに２９ページと２４ページ、３０ページと２３ページ・・となつていく。
【００７１】
また、始めは進捗カウンタが０なので基本ページが最初の印刷ページとなる。
【００７２】
説明を図８のフローチャートに移し、ステップ８０８において、計算された印刷ページ１がアプリケーションからの印刷ページ数より大きいかどうか判定し、大きくなった場合は余白扱いとなり、ステップ８０９へ進む。大きくなければステップ８１０ヘスキップする。
【００７３】
ステップ８０９において、印刷ページ１は余白が配置されるので、例えば余白をあらわすページ番号０を代入する。
【００７４】
ステップ８１０およびステップ８１１において、印刷体裁（左開きか右開きか）および進捗カウンタから（折り込んだ際に内側にくるか外側にくるか）から計算された２ページの配置を決定する。
【００７５】
具体的には、内側／外側の判定は、進捗カウンタ（それまでに出された印刷要求回数）が偶数の場合内側、奇数の場合外側となる。一番最初の印刷面は、それまでに出された印刷要求回数が０回（進捗カウンタが０）なので内側になる。以降、外、内、外・・と交互に続く。ステップ８１０およびステップ８１１による判定の結果、次のように処理が進む。
【００７６】
左開きで折り込み内側になるページの場合ステップ８１３へ進む。
【００７７】
左開きで折り込み外側になるページの場合ステップ８１２へ進む。
【００７８】
右開きで折り込み外側になるページの場合ステップ８１３へ進む。
【００７９】
右開きで折り込み内側になるページの場合ステップ８１２へ進む。
【００８０】
ステップ８１２において、印刷ページ１を左側に、印刷ページ２を右側に配置する。
【００８１】
ステップ８１３において、印刷ページ１を右側に、印刷ページ２を左側に配置する。
【００８２】
ステップ８１０からステップ８１３の処理は、例えば２６ページの裏面には２５ページを、２７ページの裏面には２８ページを印刷するための処理である。
【００８３】
ステップ８１４において、印刷進捗カウンタを１増加させる。
【００８４】
ステップ８１５において、デスプーラ３０５に対して次の印刷要求が可能かどうかを判定し、可能ならばステップ８１６へ進み、不可能なら次の印刷要求が可能になるまで待つ。
【００８５】
ステップ８１６において、配置先了した印刷ページに対して記録用紙１面分の印刷要求を行う。
【００８６】
ステップ８１７において、次のページの出力要求が可能かどうか判定し、可能ならばステップ７０６（図７）へ進み、可能でない場合は可能になるまで待機する。以上のようにして印刷出力された印刷物は、重ねた状態にして２つ折りにするだけで製本することができる。
【００８７】
図１２は、製本印刷を印刷デバイスで行うか、ホストで行うかを判定する処理を示すフローチャートである。
【００８８】
ステップ１２００において、図１６に示す内部スプール処理が「ホスト側で処理を行う」が指定されていればステップ１２０４へ進み、ホストで製本印刷をするとして処理を抜け、指定されていなければステップ１２０１へ進む。
【００８９】
ステップ１２０１において、印刷デバイスで製本印刷可能な用紙サイズが指定されていなければステップ１２０４へ進み、ホストで製本印刷をするとして処理を抜け、指定されていればステップ１２０２へ進む。
【００９０】
ステップ１２０２において、「ホスト側での処理を無効にする」が指定されていればステップ１２０５へ進み、印刷デバイスで製本印刷するとして処理を抜ける。
【００９１】
ステップ１２０３において、「自動」が選択されているので、製本印刷の体裁を調べ、全ページ単位の製本印刷であれば、ステップ１２０５へ進み、そうでなければ指定枚数単位の製本印刷なのでステップ１２０４へ進む。
【００９２】
本実施例では、内部スプール処理に「自動」が選択された場合、製本印刷の体裁によって印刷デバイスとホストの処理を切り替えたが、印刷デバイスで搭載されているメモリ容量など、その他判定基準によってきりかえても差し支えない。
【００９３】
次に、図６におけるステップ６０６に関する処理（任意の指定された枚数を製本の枚数単位として製本印刷）を図９、図１０を用いて詳しく説明する。
【００９４】
ここでいう枚数単位とは何枚毎に織り込んで製本印刷を行うかを表している。この単位をブロックと称する。例えば、アプリケーションからの４０ページの印刷データを２枚単位で製本印刷する場合、２つ折りされた２枚の用紙を１つのブロックとして、１つのブロックには８ページ分のデータが配置されることになる。よつて、印刷データ全体を５ブロックに分けて製本印刷することになる。
【００９５】
ステップ９０１において、印刷体裁および枚数単位を取得する。
【００９６】
ステップ９０２において、印刷終了ページを０にセットする。
【００９７】
ステップ９０３において、製本印刷処理が終わりかどうか判定し、終了ならば処理を終え、終了でなければステップ９０４へ進む。
【００９８】
ステップ９０４において、製本印刷処理可能になる印刷ページ（製本印刷可能判定ページ）を取得する。ステップ９０４で求められる製本印刷可能判定ページは、ブロック内の最後のページとなる。初めのブロックにおける製本印刷可能判定ページは以下によって求められる。
【００９９】
製本印刷可能判定ページ＝枚数単位×４
第２ブロック以降については、製本印刷可能判定ページは以下によって求められる。
【０１００】
製本印刷可能判定ページ＝（前のブロックの製本印刷可能判定ページ）十（枚数単位×４）
例えば、４０ページ２枚単位の製本印刷の場合、最初のブロックにおける製本印刷可能判定ページは２×４＝８ページとなり、次のブロックは８＋２×４＝１６ページとなる。以降２４ページ、３２ページ、４０ページとなつていく。
【０１０１】
ステップ９０５において、スプーラ３０３において、スプールが終了しているページ数を取得する。
【０１０２】
ステップ９０６において、製本印刷処理可能になる印刷ページ（製本印刷可能判定ページ）までスプール終了しているかあるいは全ページのスプールが終了しているかどうかを判定し、処理可能ならばステップ９０７へ進み、可能でなければステップ９０５へ戻る。
【０１０３】
ステップ９０７において、進捗カウンタを０にセットする。
【０１０４】
ステップ９０８において、２つ折りにしたとき一番内側になる用紙の内側に印刷されるページ２ページ分を以下の式を用いて計算する。この２ページを元に以降印刷されるページを算出する。
【０１０５】
基本ページ１＝製本印刷可能判定ページ−枚数単位×２＋１
基本ページ２＝製本印刷可能判定ページ−枚数単位×２
ステップ９０９において、現在のブロックの印刷要求が終了したか判定し、終了ならばステップ９０３へすすみ、終了していなければステップ９１０へ進む。具体的には、進捗カウンタが枚数単位×２に等しくなつた場合にブロックの印刷要求が終了したと判定する。
【０１０６】
ステップ９１０において、印刷要求を行う２ページを以下の式で計算する。
【０１０７】
印刷ページ１＝基本ページ１＋進渉カウンタ
印刷ページ２＝基本ページ２−進捗カウンタ
始めは進捗カウンタが０なので基本ページが最初の印刷ページとなる。
【０１０８】
図１０に説明を進めて、ステップ１０１１において、計算された印刷ページ１または印刷ページ２がアプリケーションからの印刷ページ数より大きいかどうか判定し、大きくなつた印刷ページ１又は印刷ページ２は余白扱いとなり、ステップ１０１２へ処理を進める。大きくなければステップ１０１３ヘスキップする。
【０１０９】
ステップ１０１２において、印刷ページは余白が配置されるので、例えば余白をあらわすページ番号０を代入する。
【０１１０】
ステップ１０１３およびステップ１０１４において、印刷体裁（左開きか右開きか）および進捗カウンタから（折り込んだ際に内側にくるか外側にくるか）から計算された２ページの配置を決定する。
【０１１１】
具体的には、内側外側の判定は、進捗カウンタ（印刷要求回数）が偶数の場合内側、奇数の場合外側となる。
【０１１２】
左開きで折り込み内側になるページの場合ステップ１０１６へ進む。
【０１１３】
左開きで折り込み外側になるページの場合ステップ１０１５へ進む。
【０１１４】
右開きで折り込み外側になるページの場合ステップ１０１６へ進む。
【０１１５】
右開きで折り込み内側になるページの場合ステップ１０１５へ進む。
【０１１６】
ステップ１０１５において、印刷ページ１を左側に、印刷ページ２を右側に配置する。
【０１１７】
ステップ１０１６において、印刷ページ１を右側に、印刷ページ２を左側に配置する。
【０１１８】
ステップ１０１７において、印刷進捗カウンタを１増加させる。
【０１１９】
ステップ１０１８において、次の印刷要求が可能かどうかを判定し、可能ならばステップ１０１９へ進み、不可能なら次の印刷要求が可能になるまで待つ。
【０１２０】
ステップ１０１９において、配置完了した印刷ページに対して記録用紙１面分の印刷要求を行う。
【０１２１】
ステップ１０２０において、次のページの出力要求が可能かどうか判定し、可能ならばステップ９０９へ処理を進め（図９）、可能でない場合は、可能になるまで待機する。
【０１２２】
以上の手順により発行された印刷要求に対して、プリンタ１５００により両面印刷を行えば、印刷出力された用紙を所望の枚数単位ごとに二つ折りにしてやるだけで、製本された印刷物を作成することができる。
【０１２３】
また、アプリケーションからの全ページをスプール終了してから任意枚数単位の製本印刷処理を行う場合において、その最終ブロックに印刷されるページ数が少ない場合、最終ブロックに限り指定枚数より少ない枚数単位で製本印刷を行うことによつて、使用する用紙を少なくすることが可能である。
【０１２４】
例えば、残りページ数が３ページに対して枚数単位が２の場合、５ページ分が余白になってしまうが、これを１枚単位に変更した場合、余白は１ページ分ですみ、用紙の枚数が１枚少なくてすむ。
【０１２５】
＜枚数調整処理＞
図１１を用い、最終ブロックの枚数調整処理について詳しく説明する。
【０１２６】
図１１に示した処理は図９におけるステップ９０６とステップ９０７の間において、ステップ９０６での判定がＹＥＳとなった場合に処理することによって上述の用紙の枚数の削減が達成される。
【０１２７】
ステップ１１０１において、全ページのスプールが終了したかどうか（印刷ジョブの最終ページのスプールが完了したかどうか）判定し、終了していれば１１０２に進み、進んでいなければ処理を抜ける。
【０１２８】
ステップ１１０２において、残りページ数を以下の式で計算する。
【０１２９】
残りページ＝（アプリケーションからの印刷ページ）−（現在の製本印刷可能判定ページ）
ステップ１１０３において、現在設定されている枚数単位におけるブロックに収まるページ数と、残りページ数を比較して、残りページが少なければステップ９０４へすすみ、そうでなければ調整処理は必要ないとして処理を抜ける。
【０１３０】
ステップ１１０４において、残りページがおさまるもつとも小さい製本の枚数単位を以下の式によって求める。
【０１３１】
新しい製本枚数単位＝残りページ÷４（小数点以下切り上げ）
こうして得られた新しい製本枚数単位を用いて、ステップ９０７以降で最後のブロックを印刷すれば、白紙のページは多くても３ページで済み、記録用紙を無駄にせず、また、記録面数も減るため、印刷出力に要する時間も短くなる。
【０１３２】
これは、印刷ページに対して必要以上に大きい枚数単位が指定された場合にも適用される。例えば、アプリケーションからの３０ページの印刷データに対して１０枚単位での製本印刷が指定された場合、実際に必要な用紙枚数は８枚なので、枚数単位は１０枚から８枚へ調整される。これはページ全体で製本印刷した場合と同じ出力結果になる。
【０１３３】
以上の処理により、印刷デバイスとホストの機能を併用しながら、製本印刷を行うことが可能となり、ユーザの操作負荷を軽減することが可能となる。
【０１３４】
（第２の実施形態）
第１の実施形態では、製本印刷における印刷デバイスとホストの切り替えにおいて、指定枚数単位で製本印刷を行う場合にはホストで製本印刷を行つていたが、本実施形態では、指定枚数単位製本印刷を印刷デバイス側の製本印刷機能を用いて実現する方法について説明する。
【０１３５】
ここでは、印刷デバイスでの製本機能は、全ページ単位の製本印刷機能しか備えていないことを想定する。具体的には、ホスト側ではデスプーラ３０５よりジョブの分割処理を行いながら、通常のページ順序で印刷デバイスヘ送信を行う。一方、印刷デバイス側では、前述のジョブ分割処理により、複数のジョブに対して製本印刷するのと同様の動作を行うこととなる。以下、その処理について詳細に説明する。
【０１３６】
図１３は、本実施形態における、製本印刷の印刷デバイスとホスト切り替えの決定処理を示したフローチャートである。図１２のフローチャートの処理と共通する部分はステップ番号を共通にして図１２の番号を引用する。
【０１３７】
ステップ１３０１において、指定枚数あたりの製本印刷において、１ブロックあたりの枚数の閾値を設ける。この値は印刷デバイスのスペックや、ホストの能力などによって調整可能な値であり、製本処理を最適に行うように設定可能である。
【０１３８】
この設定値に基き以降、図１２と同様の処理を行い、ステップ１２０３において、指定枚数単位の製本印刷が指定されている場合、ステップ１３０２へ進む。ここで、現在指定されている枚数単位と、ステップ１３０１における閥値とを比較し、枚数単位が閾値を超えていれば印刷デバイスの製本機能を利用した製本印刷を行い、そうでなければ、第１の実施形態において説明した場合と同様、ホストによって枚数単位の製本印刷を行う。
【０１３９】
ここで、本実施形態の特徴である、印刷デバイスが有する全ページ単位の製本印刷を利用し、ホストでは通常ページ順で印刷処理を行いながら、その途中でジョブ分割処理を行うことにより、指定枚数単位の製本印刷を実現する方法を図１７のフローチャートによつて説明する。
【０１４０】
はじめに、ステップ１７０１において、アプリケーションの何ページごとにジョブを分割すればよいかを計算する。指定枚数単位の製本印刷の場合、１ブロックに描画されるページ数Ｐは、Ｐ＝枚数×４である。
【０１４１】
よつて、ジョブ分割するページ単位Ｄに指定された枚数×４を代入する。
【０１４２】
ステップ１７０２において、カウンタＮを０に初期化する。
【０１４３】
ステップ１７０３において、すべてのページの印刷が終了したかを判定し、終われば処理を抜け、終わつていなければステップ１７０４へ進み、カウンタＮとＤを比較する。両者が等しければステップ１７０５に進み、そうでなければステップ１７０７に進む。
【０１４４】
ステップ１７０５において、印刷ジョブを切る。印刷ジョブの分割を行うことで、プリンタにおいては、ここまで送信されたページに対して製本処理を行うことができる。具体的には、ジョブの分割はデスプーラ３０５によつて、システムスプーラ２０４に印刷終了命令が発行され、直後に同様の印刷設定とともに印刷開始命令を発行することによって行われる。
【０１４５】
ステップ１７０６において、カウンタＮを０に初期化する。
【０１４６】
ステップ１７０７において、カウンタＮを１増加する。
【０１４７】
以上の処理により、印刷デバイスがもつ全ページ単位の製本印刷を利用し、ホストでは通常ページ順で印刷処理を行いながら、その途中でジョブ分割処理を行うことにより、指定枚数単位の製本印刷を実現することが可能となり、印刷デバイスとホストの処理の割振りのバリエーションが増大する。
【０１４８】
【他の実施形態】
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（複写機、プリンタ、ファクシミリ装置など）に適用してもよい。
【０１４９】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによつても、達成される。
【０１５０】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１５１】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ―ＲＯＭ、ＣＤ―Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【０１５２】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１５３】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１５４】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードを格納することになるが、簡単に説明すると、図１８のメモリマップ例に示す各モジュールを記憶媒体に格納することになる。
【０１５５】
すなわち、少なくとも「入力モジュール１８０１」「格納モジュール１８０２」および「配分モジュール１８０３」、「配置モジュール１８０４」、「出力モジュール１８０５」の各モジュールのプログラムコードを記憶媒体に格納すればよい。
【０１５６】
上述した、実施形態においては、製本印刷を実現するための処理機能がホストコンピュータとデバイスの双方に備えられている場合について説明したが、必ずしも、かかる機能が両方に備えられていなくても本発明を適用することができる。
【０１５７】
すなわち、ホストコンピュータにおいて、ＯＳやアプリケーションプログラムと、ドライバ（又は、ユーティリティ）とに、かかる機能が備えられている場合等、１つの製造内に製本印刷を実現するための頁順序の制御機能が複数備えられている場合にも、本発明を適用することが可能である。
【０１５８】
【発明の効果】
以上説明したように、統一したユーザインターフェースを用いて印刷制御設定を行い、第一の情報処理装置と第二の情報処理装置とが重複する機能を制御して、ユーザの設定に対して適切な印刷制御が可能となる。
【図面の簡単な説明】
【図１】本発明の実施形態にかかる印刷制御システムの構成を説明するブロック図である。
【図２】プリンタが接続されたホストコンピュータの典型的な印刷システムの構成を示すブロック図である。
【図３】アプリケーションからの印刷命令をプリンタ制御コマンドに変換する前に、一旦、中間コードとしてスプールする印刷制御システムの構成を示すブロック図である。
【図４】製本印刷の体裁を説明する図である。
【図５】    製本の開き方向を説明する図である。
【図６】本発明の実施形態にかかる製本印刷の処理手順を示すフローチャートである。
【図７】全ページ単位製本印刷の処理手順を示すフローチャートである。
【図８】全ページ単位製本印刷の処理手順を示すフローチャートである。
【図９】指定枚数単位製本印刷の処理手順を示すフローチャートである。
【図１０】指定枚数単位製本印刷の処理手順を示すフローチャートである。
【図１１】指定枚数単位の製本印刷における、最終ブロックの用紙節約における処理手順を示すフローチャートである。
【図１２】第１の実施形態における、製本印刷を印刷デバイスで行うか、ホストで行うかを判定する処理を説明するフローチャートである。
【図１３】第２の実施形態における、製本印刷を印刷デバイスで行うか、ホストで行うかを判定する処理を説明するフローチャートである。
【図１４】製本印刷の設定画面の一例である。
【図１５】製本印刷の詳細を設定する画面の一例である。
【図１６】内部的に印刷デバイスの機能を用いるか、ホストの機能を用いるかを指定する画面の一例である。
【図１７】第２の実施形態における、印刷デバイスの製本印刷とホストでのジョブ分割処理の組み合わせ処理を示したフローチャートである。
【図１８】記憶媒体のメモリマップを示す図である。
【符号の説明】
ｌ０１    ＣＰＵ
１０２    ＲＡＭ
１０３    ＲＯＭ
１０４    システムバス
１１２    ＣＰＵ
１１３    ＲＯＭ
１１９    ＲＡＭ
３０００  ホストコンピュータ
１５００  プリンタ
【図１】
0003854741.tif 000002
【図２】
0003854741.tif 000003
【図３】
0003854741.tif 000004
【図４】
0003854741.tif 000005
【図５】
0003854741.tif 000006
【図６】
0003854741.tif 000007
【図７】
0003854741.tif 000008
【図８】
0003854741.tif 000009
【図９】
0003854741.tif 000010
【図１０】
0003854741.tif 000011
【図１１】
0003854741.tif 000012
【図１２】
0003854741.tif 000013
【図１３】
0003854741.tif 000014
【図１４】
0003854741.tif 000015
【図１５】
0003854741.tif 000016
【図１６】
0003854741.tif 000017
【図１７】
0003854741.tif 000018
【図１８】
0003854741.tif 000019