(57)【特許請求の範囲】
【請求項１】
記録媒体の片面への印刷を行い、操作者による再給紙後に前記記録媒体の他面への印刷を行う印刷装置で印刷されるべき印刷データを生成するホストコンピュータとしての印刷制御装置であって、
製本印刷を行うか否かを判定する判定手段と、
印刷すべきデータを、ページ単位に所望の順序で読み出し可能に格納する格納手段と、
印刷しようとするページ数を獲得するページ数獲得手段と、
前記判定手段により製本印刷が判定されると、ページ数獲得手段により獲得されたページ数に基づいて、前記印刷装置で片面への印刷が行われた記録媒体を再給紙することにより両面印刷される記録媒体を重ねて２つ折りにするとページが順に並ぶように印刷ページの順序を決定する順序決定手段と、
前記順序決定手段により決定される印刷ページの順序に基づいて、前記格納手段に格納されている印刷すべきデータを読み出し、前記印刷装置で印刷されるべき印刷データを生成する生成手段と、
操作者に対して片面印刷された記録媒体を再給紙させる要求を出力する再給紙要求手段とを備え、
前記順序決定手段は、フェイスアップ排紙とフェイスダウン排紙が可能な印刷装置における記録媒体の供給及び排出の方向を判断し、判断された供給及び排出の方向に応じて、複数の計算方法から１つの計算方法を特定して、特定した計算方法で印刷ページの順序を決定し、
前記再給紙要求手段は、記録媒体に対して画像が形成される向きに関する画像方向情報に応じて、印刷された記録媒体を印刷装置の給紙部に再給紙する方向を示す要求を出力することを特徴とする印刷制御装置。
【請求項２】
前記再給紙要求手段は、前記ページ数獲得手段により獲得されたページ数の半分を印刷要求した時点で、操作者に対して記録媒体を再給紙させる要求を出力することを特徴とする請求項１に記載の印刷制御装置。
【請求項３】
前記ページ数獲得手段は、前記格納手段への印刷データの格納時にページ数を数えることを特徴とする請求項１または２に記載の印刷制御装置。
【請求項４】
前記印刷装置における記録媒体の供給及び排出の方向を含む特性情報を取得する特性取得手段を更に備え、
前記順序決定手段は、前記特性取得手段により取得される特性情報の前記記録媒体の供給及び排出の方向に応じて、印刷ページの順序を決定することを特徴とする請求項１乃至３のいずれか１項に記載の印刷制御装置。
【請求項５】
製本印刷される記録媒体が右開きか左開きかを示す体裁情報を設定する体裁設定手段を更に備え、
前記順序決定手段は、前記体裁情報に応じて印刷ページの配置順序を決定することを特徴とする請求項１乃至４のいずれか１項に記載の印刷制御装置。
【請求項６】
記録媒体の片面への印刷を行い、操作者による再給紙後に前記記録媒体の他面への印刷を行う印刷装置で印刷されるべき印刷データを生成するホストコンピュータにおける印刷制御方法であって、
製本印刷を行うか否かを判定する判定工程と、
印刷すべきデータを、ページ単位に所望の順序で読み出し可能に格納手段へ格納する格納工程と、
印刷しようとするページ数を獲得するページ数獲得工程と、
前記判定工程により製本印刷が判定されると、ページ数獲得工程により獲得されたページ数に基づいて、前記印刷装置で片面への印刷が行われた記録媒体を再給紙することにより両面印刷される記録媒体を重ねて２つ折りにするとページが順に並ぶように印刷ページの順序を決定する順序決定工程と、
前記順序決定工程により決定される印刷ページの順序に基づいて、前記格納手段に格納されている印刷すべきデータを読み出し、前記印刷装置で印刷されるべき印刷データを生成する生成工程と、
操作者に対して片面印刷された記録媒体を再給紙させる要求を出力する再給紙要求工程とを備え、
前記順序決定工程は、フェイスアップ排紙とフェイスダウン排紙が可能な印刷装置における記録媒体の供給及び排出の方向を判断し、判断された供給及び排出の方向に応じて、複数の計算方法から１つの計算方法を特定して、特定した計算方法で印刷ページの順序を決定し、
前記再給紙要求工程では、記録媒体に対して画像が形成される向きに関する画像方向情報に応じて、印刷された記録媒体を印刷装置の給紙部に再給紙する方向を示す要求を出力することを特徴とする印刷制御方法。
【請求項７】
前記再給紙要求工程では、前記ページ数獲得工程により獲得されたページ数の半分を印刷要求した時点で、操作者に対して記録媒体を再給紙させる要求を出力することを特徴とする請求項６記載の印刷制御方法。
【請求項８】
前記ページ数獲得工程は、前記格納手段への印刷データの格納時にページ数を数えることを特徴とする請求項６または７に記載の印刷制御方法。
【請求項９】
前記印刷装置における記録媒体の供給及び排出の方向を含む特性情報を取得する特性取得工程を更に備え、
前記順序決定工程では、前記特性取得工程により取得される特性情報の前記記録媒体の供給及び排出の方向に応じて、印刷ページの順序を決定することを特徴とする請求項６乃至８のいずれか１項に記載の印刷制御方法。
【請求項１０】
製本印刷される記録媒体が右開きか左開きかを示す体裁情報を設定する体裁設定工程を更に備え、
前記順序決定工程は、前記体裁情報に応じて印刷ページの配置順序を決定することを特徴とする請求項６乃至９のいずれか１項に記載の印刷制御方法。
【請求項１１】
記録媒体の片面への印刷を行い、操作者による再給紙後に前記記録媒体の他面への印刷を行う印刷装置で印刷されるべき印刷データをホストコンピュータにより生成させるためのコンピュータプログラムを格納するコンピュータ可読の記憶媒体であって、前記プログラムは、
製本印刷を行うか否かを判定する判定手段と、
印刷すべきデータを、ページ単位に所望の順序で読み出し可能に格納する格納手段と、
印刷しようとするページ数を獲得するページ数獲得手段と、
前記判定手段により製本印刷が判定されると、ページ数獲得手段により獲得されたページ数に基づいて、前記印刷装置で片面への印刷が行われた記録媒体を再給紙することにより両面印刷される記録媒体を重ねて２つ折りにするとページが順に並ぶように印刷ページの順序を決定する順序決定手段と、
前記順序決定手段により決定される印刷ページの順序に基づいて、前記格納手段に格納されている印刷すべきデータを読み出し、前記印刷装置で印刷されるべき印刷データを生成する生成手段と、
操作者に対して片面印刷された記録媒体を再給紙させる要求を出力する再給紙要求手段とを備え、
前記順序決定手段は、フェイスアップ排紙とフェイスダウン排紙が可能な印刷装置における記録媒体の供給及び排出の方向を判断し、判断された供給及び排出の方向に応じて、複数の計算方法から１つの計算方法を特定して、特定した計算方法で印刷ページの順序を決定し、
前記再給紙要求手段は、記録媒体に対して画像が形成される向きに関する画像方向情報に応じて、印刷された記録媒体を印刷装置の給紙部に再給紙する方向を示す要求を出力する印刷制御装置としてコンピュータを機能させることを特徴とする記憶媒体。
【請求項１２】
前記再給紙要求手段は、前記ページ数獲得手段により獲得されたページ数の半分を印刷要求した時点で、操作者に対して記録媒体を再給紙させる要求を出力することを特徴とする請求項１１に記載の記憶媒体。
【請求項１３】
前記ページ数獲得手段は、前記格納手段への印刷データの格納時にページ数を数えることを特徴とする請求項１１または１２に記載の記憶媒体。
【請求項１４】
前記プログラムは、前記印刷装置における記録媒体の供給及び排出の方向を含む特性情報を取得する特性取得手段を更に実現し、
前記順序決定手段は、前記特性取得手段により取得される特性情報の前記記録媒体の供給及び排出の方向に応じて、印刷ページの順序を決定することを特徴とする請求項１１乃至１３のいずれか１項に記載の記憶媒体。
【請求項１５】
前記プログラムは、製本印刷される記録媒体が右開きか左開きかを示す体裁情報を設定する体裁設定手段を更に実現し、
前記順序決定手段は、前記体裁情報に応じて印刷ページの配置順序を決定することを特徴とする請求項１１乃至１４のいずれか１項に記載の印記憶媒体。
【請求項１６】
記録媒体の片面への印刷を行い、操作者による再給紙後に前記記録媒体の他面への印刷を行う印刷装置と、該印刷装置で印刷されるべき印刷データを生成するホストコンピュータとしての印刷制御装置とを接続してなる印刷システムであって、
前記印刷制御装置は、製本印刷を行うか否かを判定する判定手段と、印刷すべきデータを、ページ単位に所望の順序で読み出し可能に格納する格納手段と、印刷しようとするページ数を獲得するページ数獲得手段と、前記判定手段により製本印刷が判定されると、ページ数獲得手段により獲得されたページ数に基づいて、前記印刷装置で片面への印刷が行われた記録媒体を再給紙することにより両面印刷される記録媒体を重ねて２つ折りにするとページが順に並ぶように印刷ページの順序を決定する順序決定手段と、前記順序決定手段により決定される印刷ページの順序に基づいて、前記格納手段に格納されている印刷すべきデータを読み出し、前記印刷装置で印刷されるべき印刷データを生成する生成手段と、操作者に対して片面印刷された記録媒体を再給紙させる要求を出力する再給紙要求手段とを備え、
前記順序決定手段は、フェイスアップ排紙とフェイスダウン排紙が可能な印刷装置における記録媒体の供給及び排出の方向を判断し、判断された供給及び排出の方向に応じて、複数の計算方法から１つの計算方法を特定して、特定した計算方法で印刷ページの順序を決定し、
前記再給紙要求手段は、記録媒体に対して画像が形成される向きに関する画像方向情報に応じて、印刷された記録媒体を印刷装置の給紙部に再給紙する方向を示す要求を出力し、
前記印刷装置は、前記出力手段により出力される順序で印刷出力を行うことを特徴とする印刷システム。
【請求項１７】
記録媒体の片面への印刷を行い、操作者による再給紙後に前記記録媒体の他面への印刷を行う印刷装置で印刷されるべき印刷データを生成するホストコンピュータとしての印刷制御装置であって、
どのように製本レイアウトが行われるかを決定するための製本体裁を設定する製本設定手段と、
印刷すべきデータを、ページ単位に所望の順序で読み出し可能に格納する格納手段と、
印刷しようとするページ数を獲得するページ数獲得手段と、
前記製本設定手段により設定される製本体裁と、前記ページ数獲得手段により獲得されたページ数に基づいて、前記印刷装置で片面への印刷が行われた記録媒体を再給紙することにより両面印刷される記録媒体を重ねて２つ折りにするとページが順に並ぶように記録媒体上のページの配置及び前記格納手段に格納されているデータの読出順序を決定する順序決定手段と、
前記順序決定手段により決定される読出順序に応じて、前記格納手段にページ単位で格納されているデータを読み出し、前記決定された記録媒体上のページの配置に従って製本レイアウト済みの印刷データを生成する生成手段とを備え、
前記順序決定手段は、少なくともフェイスアップ排紙とフェイスダウン排紙が可能な印刷装置における記録媒体の排出の方向を判断し、該判断された排出の方向を用いて複数の計算方法から１つの計算方法を特定して、特定した計算方法で前記データの各ページの読出順序を決定することを特徴とする印刷制御装置。
【請求項１８】
前記順序決定手段は、製本印刷が可能な最小限の枚数の用紙となるよう印刷ページの配置を決定することを特徴とする請求項１７に記載の印刷制御装置。
【請求項１９】
前記製本体裁は右開きか左開きかを設定する方向情報を更に含み、前記順序決定手段は、前記方向情報に応じて印刷ページの配置を決定することを特徴とする請求項１７または１８に記載の印刷制御装置。
【請求項２０】
操作者に対して片面印刷された記録媒体を再給紙させる要求を出力する再給紙要求手段を更に備え、
前記再給紙要求手段は、記録媒体に対して画像が形成される向きに関する画像方向情報に応じて、印刷された記録媒体を印刷装置の給紙部に再給紙する方向を示す要求を出力することを特徴とする請求項１７乃至１９のいずれか１項に記載の印刷制御装置。
【請求項２１】
記録媒体の片面への印刷を行い、操作者による再給紙後に前記記録媒体の他面への印刷を行う印刷装置で印刷されるべき印刷データを生成するホストコンピュータにおける印刷制御方法であって、
どのように製本レイアウトが行われるかを決定するための製本体裁を設定する製本設定工程と、
印刷すべきデータを、ページ単位に所望の順序で読み出し可能に格納手段に格納する格納工程と、
印刷しようとするページ数を獲得するページ数獲得手段と、
前記製本設定工程により設定される製本体裁と、前記ページ数獲得工程により獲得されたページ数に基づいて、前記印刷装置で片面への印刷が行われた記録媒体を再給紙することにより両面印刷される記録媒体を重ねて２つ折りにするとページが順に並ぶように記録媒体上のページの配置及び前記格納手段に格納されているデータの読出順序を決定する順序決定工程と、
前記順序決定工程により決定される読出順序に応じて、前記格納手段にページ単位で格納されているデータを読み出し、前記決定された記録媒体上のページの配置に従って製本レイアウト済みの印刷データを生成する生成工程とを備え、
前記順序決定工程は、少なくともフェイスアップ排紙とフェイスダウン排紙が可能な印刷装置における記録媒体の排出の方向を判断し、該判断された排出の方向を用いて複数の計算方法から１つの計算方法を特定して、特定した計算方法で前記データの各ページの読出順序を決定することを特徴とする印刷制御方法。
【請求項２２】
前記順序決定工程は、製本印刷が可能な最小限の枚数の用紙となるよう印刷ページの配置を決定することを特徴とする請求項２１に記載の印刷制御方法。
【請求項２３】
前記製本体裁は右開きか左開きかを設定する方向情報を更に含み、前記順序決定工程は、前記方向情報に応じて印刷ページの配置を決定することを特徴とする請求項２１または２２に記載の印刷制御方法。
【請求項２４】
操作者に対して片面印刷された記録媒体を再給紙させる要求を出力する再給紙要求工程を更に備え、
前記再給紙要求工程では、記録媒体に対して画像が形成される向きに関する画像方向情報に応じて、印刷された記録媒体を印刷装置の給紙部に再給紙する方向を示す要求を出力することを特徴とする請求項２１乃至２３のいずれか１項に記載の印刷制御方法。
【請求項２５】
記録媒体の片面への印刷を行い、操作者による再給紙後に前記記録媒体の他面への印刷を行う印刷装置で印刷されるべき印刷データをホストコンピュータにより生成させるためのコンピュータプログラムを記憶するコンピュータ可読記憶媒体であって、前記プログラムは、
どのように製本レイアウトが行われるかを決定するための製本体裁を設定する製本設定手段と、
印刷すべきデータを、ページ単位に所望の順序で読み出し可能に格納する格納手段と、
印刷しようとするページ数を獲得するページ数獲得手段と、
前記製本設定手段により設定される製本体裁と、前記ページ数獲得手段により獲得されたページ数に基づいて、前記印刷装置で片面への印刷が行われた記録媒体を再給紙することにより両面印刷される記録媒体を重ねて２つ折りにするとページが順に並ぶように記録媒体上のページの配置及び前記格納手段に格納されているデータの読出順序を決定する順序決定手段と、
前記順序決定手段により決定される読出順序に応じて、前記格納手段にページ単位で格納されているデータを読み出し、前記決定された記録媒体上のページの配置に従って製本レイアウト済みの印刷データを生成する生成手段とをコンピュータにより実現させ、
前記順序決定手段は、少なくともフェイスアップ排紙とフェイスダウン排紙が可能な印刷装置における記録媒体の排出の方向を判断し、該判断された排出の方向を用いて複数の計算方法から１つの計算方法を特定して、特定した計算方法で前記データの各ページの読出順序を決定することを特徴とする記憶媒体。
【請求項２６】
前記順序決定手段は、製本印刷が可能な最小限の枚数の用紙となるよう印刷ページの配置を決定することを特徴とする請求項２５に記載の記憶媒体。
【請求項２７】
前記製本体裁は右開きか左開きかを設定する方向情報を更に含み、前記順序決定手段は、前記方向情報に応じて印刷ページの配置を決定することを特徴とする請求項２５または２６に記載の記憶媒体。
【請求項２８】
前記プログラムは、操作者に対して片面印刷された記録媒体を再給紙させる要求を出力する再給紙要求手段を更に備え、
前記再給紙要求手段は、記録媒体に対して画像が形成される向きに関する画像方向情報に応じて、印刷された記録媒体を印刷装置の給紙部に再給紙する方向を示す要求を出力することを特徴とする請求項２５乃至２７のいずれか１項に記載の記憶媒体。
【請求項２９】
記録媒体の片面への印刷を行い、操作者による再給紙後に前記記録媒体の他面への印刷を行う印刷装置と、該印刷装置で印刷されるべき印刷データを生成するホストコンピュータとしての印刷制御装置を接続してなる印刷システムであって、
前記印刷制御装置は、どのように製本レイアウトが行われるかを決定するための製本体裁を設定する製本設定手段と、印刷すべきデータを、ページ単位に所望の順序で読み出し可能に格納する格納手段と、印刷しようとするページ数を獲得するページ数獲得手段と、前記製本設定手段により設定される製本体裁と、前記ページ数獲得手段により獲得されたページ数に基づいて、前記印刷装置で片面への印刷が行われた記録媒体を再給紙することにより両面印刷される記録媒体を重ねて２つ折りにするとページが順に並ぶように記録媒体上のページの配置及び前記格納手段に格納されているデータの読出順序を決定する順序決定手段と、前記順序決定手段により決定される読出順序に応じて、前記格納手段にページ単位で格納されているデータを読み出し、前記決定された記録媒体上のページの配置に従って製本レイアウト済みの印刷データを生成する生成手段とを備え、
前記順序決定手段は、少なくともフェイスアップ排紙とフェイスダウン排紙が可能な印刷装置における記録媒体の排出の方向を判断し、該判断された排出の方向を用いて複数の計算方法から１つの計算方法を特定して、特定した計算方法で前記データの各ページの読出順序を決定し、
前記印刷装置は、前記出力手段により出力される順序で印刷出力を行うことを特徴とする印刷システム。
【請求項３０】
前記印刷制御装置は、操作者に対して片面印刷された記録媒体を再給紙させる要求を出力する再給紙要求手段を更に備え、
前記再給紙要求手段は、記録媒体に対して画像が形成される向きに関する画像方向情報に応じて、印刷された記録媒体を印刷装置の給紙部に再給紙する方向を示す要求を出力することを特徴とする請求項２９に記載の印刷システム。
【請求項３１】
前記順序決定手段は、前記特定された計算方法を用いて、前記記録媒体の印刷面の出力順序を求め、求まった印刷面の出力順序に応じて、各印刷面に配置する２ページ分のデータの読み出し順序を決定することを特徴とする請求項１７に記載の印刷制御装置。
【請求項３２】
前記順序決定工程は、前記特定された計算方法を用いて、前記記録媒体の印刷面の出力順序を求め、求まった印刷面の出力順序に応じて、各印刷面に配置する２ページ分のデータの読出順序を決定することを特徴とする請求項２１に記載の印刷制御方法。
【請求項３３】
前記順序決定手段は、前記特定された計算方法を用いて、前記記録媒体の印刷面の出力順序を求め、求まった印刷面の出力順序に応じて、各印刷面に配置する２ページ分のデータの読出順序を決定することを特徴とする請求項２５に記載の記憶媒体。
【請求項３４】
前記順序決定手段は、前記特定された計算方法を用いて、前記記録媒体の印刷面の出力順序を求め、求まった印刷面の出力順序に応じて、各印刷面に配置する２ページ分のデータの読出順序を決定することを特徴とする請求項２９に記載の印刷システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、印刷制御装置および方法に関するもので、特に片面印刷用の印刷装置から、オペレータの介在により両面印刷を行わせる印刷制御装置および方法に関するものである。
【０００２】
【従来の技術】
従来、両面印刷を行わせるための両面ユニットがない印刷装置を用いて用紙節約などのために用紙の両面に印刷を行わせる際は、出力されるページの順序をオペレータが決めなければならなかった。ページの出力順序を決めるためには、用いられる印刷装置の給紙方向や排紙のしかたなどを考慮する必要があった。
【０００３】
【発明が解決しようとする課題】
上述の通り、従来の手動両面印刷においては、出力しようとするページの順序を考慮してユーザがアプリケーションから出力されるページンの順序を変えねばならない。このため、ユーザが印刷装置の給紙方向や排紙のしかたを知るためにテスト印刷などを行うなどする必要があった。さらに、得られた知識から意図に沿った出力が得られるようにページの出力順序を変更しなければならない。
【０００４】
このように、オペレータに煩雑な操作を強いたり、テストによる用紙の無駄が生じるという欠点があった。
【０００５】
本発明の上述の問題点に鑑みてなされたもので、片面印刷用の印刷装置を用いて、オペレータによる煩雑な操作やテスト印刷を行わずに、簡単に両面印刷を行うことができる印刷制御装置及び方法を提供することを目的とする。
【０００６】
【課題を解決するための手段】
上記目的を達成するために、本発明は次のような構成からなる。
記録媒体の片面への印刷を行い、操作者による再給紙後に前記記録媒体の他面への印刷を行う印刷装置で印刷されるべき印刷データを生成するホストコンピュータとしての印刷制御装置であって、
製本印刷を行うか否かを判定する判定手段と、
印刷すべきデータを、ページ単位に所望の順序で読み出し可能に格納する格納手段と、
印刷しようとするページ数を獲得するページ数獲得手段と、
前記判定手段により製本印刷が判定されると、ページ数獲得手段により獲得されたページ数に基づいて、前記印刷装置で片面への印刷が行われた記録媒体を再給紙することにより両面印刷される記録媒体を重ねて２つ折りにするとページが順に並ぶように印刷ページの順序を決定する順序決定手段と、
前記順序決定手段により決定される印刷ページの順序に基づいて、前記格納手段に格納されている印刷すべきデータを読み出し、前記印刷装置で印刷されるべき印刷データを生成する生成手段と、
操作者に対して片面印刷された記録媒体を再給紙させる要求を出力する再給紙要求手段とを備え、
前記順序決定手段は、フェイスアップ排紙とフェイスダウン排紙が可能な印刷装置における記録媒体の供給及び排出の方向を判断し、判断された供給及び排出の方向に応じて、複数の計算方法から１つの計算方法を特定して、特定した計算方法で印刷ページの順序を決定し、
前記再給紙要求手段は、記録媒体に対して画像が形成される向きに関する画像方向情報に応じて、印刷された記録媒体を印刷装置の給紙部に再給紙する方向を示す要求を出力する。
【０００９】
また他の側面によれば本発明は次のような構成からなる。
記録媒体の片面への印刷を行い、操作者による再給紙後に前記記録媒体の他面への印刷を行う印刷装置で印刷されるべき印刷データを生成するホストコンピュータとしての印刷制御装置であって、
どのように製本レイアウトが行われるかを決定するための製本体裁を設定する製本設定手段と、
印刷すべきデータを、ページ単位に所望の順序で読み出し可能に格納する格納手段と、
印刷しようとするページ数を獲得するページ数獲得手段と、
前記製本設定手段により設定される製本体裁と、前記ページ数獲得手段により獲得されたページ数に基づいて、前記印刷装置で片面への印刷が行われた記録媒体を再給紙することにより両面印刷される記録媒体を重ねて２つ折りにするとページが順に並ぶように記録媒体上のページの配置及び前記格納手段に格納されているデータの読出順序を決定する順序決定手段と、
前記順序決定手段により決定される読出順序に応じて、前記格納手段にページ単位で格納されているデータを読み出し、前記決定された記録媒体上のページの配置に従って製本レイアウト済みの印刷データを生成する生成手段とを備え、
前記順序決定手段は、少なくともフェイスアップ排紙とフェイスダウン排紙が可能な印刷装置における記録媒体の排出の方向を判断し、該判断された排出の方向を用いて複数の計算方法から１つの計算方法を特定して、特定した計算方法で前記データの各ページの読出順序を決定する。
【００１０】
【発明の実施の形態】
以下、本発明を適用するに好適である印刷システムについて説明を行う。
＜印刷システムの構成＞
図１は本実施形態におけるプリンタ制御システムのブロック図である。なお、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ、ＷＡＮ等のネットワークを介して接続が為され処理が行われるシステムであっても本発明を適用できる。
【００１１】
同図において、ホストコンピュータ３０００は、ＲＯＭ３のプログラム用ＲＯＭあるいは外部メモリ１１に記憶された文書処理プログラム等に基づいて図形、イメージ、文字、表（表計算等を含む）等が混在した文書処理を実行するＣＰＵ１を備えている。ＣＰＵ１は、システムバス４に接続される各デバイスを統括的に制御する。また、このＲＯＭ３のプログラム用ＲＯＭあるいは外部メモリ１１には、ＣＰＵ１の制御プログラムであるオペレーティングシステムプログラム（以下ＯＳ）等が記憶され、ＲＯＭ３のフォント用ＲＯＭあるいは外部メモリ１１には上記文書処理の際に使用するフォントデータ等が記憶され、ＲＯＭ３のデータ用ＲＯＭあるいは外部メモリ１１には上記文書処理等を行う際に使用する各種データが記憶される。ＲＡＭ２は、ＣＰＵ１の主メモリ、ワークエリア等として機能する。
【００１２】
キーボードコントローラ（ＫＢＣ）５は、キーボード９や不図示のポインティングデバイスからのキー入力を制御する。ＣＲＴコントローラ（ＣＲＴＣ）６は、ＣＲＴディスプレイ（ＣＲＴ）１０の表示を制御する。ディスクコントローラ（ＤＫＣ）７は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム（以下プリンタドライバ）等を記憶するハードディスク（ＨＤ）、フロッピーディスク（ＦＤ）等の外部メモリ１１とのアクセスを制御する。プリンタコントローラ（ＰＲＴＣ）８は、双方向インターフェース（インタフェース）２１を介してプリンタ１５００に接続されて、プリンタ１５００との通信制御処理を実行する。
【００１３】
なお、ＣＰＵ１は、例えばＲＡＭ２上に設けられた表示情報ＲＡＭへのアウトラインフォントの展開（ラスタライズ）処理を実行し、ＣＲＴ１０上でのＷＹＳＩＷＹＧを可能としている。また、ＣＰＵ１はＣＲＴ１０上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷の設定に関するウインドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行える。
【００１４】
プリンタ１５００は、ＣＰＵ１２により制御される。プリンタＣＰＵ１２は、ＲＯＭ１３のプログラム用ＲＯＭに記憶された制御プログラム等あるいは外部メモリ１４に記憶された制御プログラム等に基づいてシステムバス１５に接続される印刷部（プリンタエンジン）１７に出力情報としての画像信号を出力する。また、このＲＯＭ１３のプログラムＲＯＭには、ＣＰＵ１２の制御プログラム等を記憶する。ＲＯＭ１３のフォント用ＲＯＭには、上記出力情報を生成する際に使用するフォントデータ等が記憶され、ＲＯＭ１３のデータ用ＲＯＭには、ハードディスク等の外部メモリ１４がないプリンタの場合には、ホストコンピュータ上で利用される情報等が記憶されている。
【００１５】
ＣＰＵ１２は入力部１８を介してホストコンピュータとの通信処理が可能となっており、プリンタ１５００内の情報等をホストコンピュータ３０００に通知できる。ＲＡＭ１９は、ＣＰＵ１２の主メモリや、ワークエリア等として機能するＲＡＭで、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。なお、ＲＡＭ１９は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。前述したハードディスク（ＨＤ）、ＩＣカード等の外部メモリ１４は、メモリコントローラ（ＭＣ）２０によりアクセスを制御される。外部メモリ１４は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、操作パネル１５０１には、操作スイッチおよびＬＥＤ表示器等が配されている。
【００１６】
また、外部メモリ１４は１個に限らず、複数個備えられ、内蔵フォントに加えてオプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。更に、図示しないＮＶＲＡＭを有し、操作パネル１５０１からのプリンタモード設定情報を記憶するようにしてもよい。
【００１７】
図２は、プリンタ等の印刷装置が直接接続されているか、あるいはネットワーク経由で接続されているホストコンピュータにおける典型的な印刷処理の構成図である。アプリケーション２０１、グラフィックエンジン２０２、プリンタドライバ２０３、およびシステムスプーラ２０４は、外部メモリ１１に保存されたファイルとして存在し、実行される場合にＯＳやそのモジュールを利用するモジュールによってＲＡＭ２にロードされ実行されるプログラムモジュールである。また、アプリケーション２０１およびプリンタドライバ２０３は、外部メモリ１１のＦＤや不図示のＣＤ−ＲＯＭ、あるいは不図示のネットワークを経由して外部ディスク１１のＨＤに追加することが可能となっている。外部メモリ１１に保存されているアプリケーション２０１はＲＡＭ２にロードされて実行されるが、このアプリケーション２０１からプリンタ１５００に対して印刷を行う際には、同様にＲＡＭ２にロードされ実行可能となっているグラフィックエンジン２０２を利用して出力（描画）を行う。グラフィックエンジン２０２は印刷装置ごとに用意されたプリンタドライバ２０３を同様に外部メモリ１１からＲＡＭ２にロードし、アプリケーション２１０の出力をプリンタドライバ２０３を用いてプリンタの制御コマンドに変換する。変換されたプリンタ制御コマンドはＯＳによってＲＡＭ２にロードされたシステムスプーラ２０４を経てインターフェース２１経由でプリンタ１５００へ出力される仕組みとなっている。
【００１８】
本実施形態の印刷システムは、図２で示すプリンタとホストコンピュータからなるシステムに加えて、更に図３に示すように、アプリケーションからの印刷データを一旦中間コードデータでスプールする構成を有する。
＜印刷制御システムの構成＞
図３は、図２のシステムを拡張したもので、グラフィックエンジン２０２からプリンタドライバ２０３へ印刷命令を送る際に、一旦中間コードからなるスプールファイル３０３を生成する。図２のシステムでは、アプリケーション２０１が印刷処理から開放されるのはプリンタドライバ２０３がグラフィックエンジン２０２からのすべての印刷命令をプリンタの制御コマンドへ変換し終わった時点である。これに対して、図３のシステムでは、スプーラ３０２が全ての印刷命令を中間コードデータに変換してスプールファイル３０３に出力した時点である。通常、後者の方が短時間で済む。また、図３で示すシステムにおいては、スプールファイル３０３の内容に対して加工することができる。これにより、アプリケーションからの印刷データに対して、拡大縮小や、複数ページを１ページに縮小して印刷する等、アプリケーションの持たない機能を実現することができる。
【００１９】
これらの目的のために、図２のシステムに対し、図３の様に中間コードデータでスプールする様、システムの拡張がなされてきている。なお、印刷データの加工を行うためには、通常プリンタドライバ２０３が提供する設定画面からオペレータが設定を行い、プリンタドライバ２０３がその設定内容をＲＡＭ２あるいは外部メモリ１１上に保管する。
【００２０】
以下、図３の詳細を説明する。図に示す通り、この拡張された処理方式では、グラフィックエンジン２０２からの印刷命令をディスパッチャ３０１が受け取る。ディスパッチャ３０１がグラフィックエンジン２０２から受け取った印刷命令が、アプリケーション２０１からグラフィックエンジン２０２へ発行された印刷命令の場合には、ディスパッチャ３０１は外部メモリ１１に格納されているスプーラ３０２をＲＡＭ２にロードし、プリンタドライバ２０３ではなくスプーラ３０２へ印刷命令を送付する。
【００２１】
スプーラ３０２は受け取った印刷命令を中間コードに変換してスプールファイル３０３に出力する。また、スプーラ３０２は、プリンタドライバ２０３に対して設定されている印刷データに関する加工設定をプリンタドライバ２０３から取得してスプールファイル３０３に保存する。なお、スプールファイル３０３は外部メモリ１１上にファイルとして生成されるが、ＲＡＭ２上に生成されても構わない。更にスプーラ３０２は、外部メモリ１１に格納されているスプールファイルマネージャ３０４をＲＡＭ２上にロードし、スプールファイルマネージャ３０４に対してスプールファイル３０３の生成状況を通知する。その後、スプールファイルマネージャ３０４は、スプールファイル３０３に保存された印刷データに関する加工設定の内容に従って印刷を行えるか判断する。スプールファイルマネージャ３０４がグラフィックエンジン２０２を利用して印刷を行えると判断した際には、外部メモリ１１に格納されているデスプーラ３０５をＲＡＭ２にロードし、デスプーラ３０５に対してスプールファイル３０３に記述された中間コードの印刷処理を行うように指示する。
【００２２】
デスプーラ３０５はスプールファイル３０３に含まれる中間コードをスプールファイル３０３に含まれる加工設定の内容に従って加工し、もう一度グラフィックエンジン２０２経由で出力する。
【００２３】
ディスパッチャ３０１がグラフィックエンジン２０２から受け取った印刷命令が、デスプーラ３０５からグラフィックエンジン２０２へ発行された印刷命令の場合には、ディスパッチャ３０１はスプーラ３０２ではなく、プリンタドライバ２０３に印刷命令を送る。
【００２４】
プリンタドライバ２０３は受け取った印刷命令に応じてプリンタ制御コマンドを生成し、それをシステムスプーラ２０４，双方向インターフェース２１経由でプリンタ１５００に出力する。
＜プリンタの構成＞
図１２は本実施形態で用いられるプリンタの一例の断面図である。同図はレーザビームプリンタ（以下、ＬＢＰと略す）の内部構造を示す断面図で、このＬＢＰは、文字パターンデータ等を入力して記録紙等の印刷媒体に印刷することができる。
【００２５】
図において、ＬＢＰ本体７４０は、供給されるプリンタ制御コマンド等を基に、記録媒体である記録紙上に像を形成する。操作パネル１５０１は操作のためのスイツチ及びＬＥＤ表示器などが配されている。プリンタ制御ユニット１０００は、ＬＢＰ７４０全体の制御及び文字パターン情報等を解析するプリンタ制御ユニツトである。このプリンタ制御ユニツト７０１は主にプリンタ制御コマンドをビデオ信号に変換してレーザドライバ７０２に出力する。プリンタ制御ユニット７０１には、フォントデータやページ記述言語のエミュレーションプログラム等を供給する外部メモリ７１１を接続することもできる。
【００２６】
レーザドライバ７０２は半導体レーザ７０３を駆動するための回路であり、入力されたビデオ信号に応じて半導体レーザ７０３から発射されるレーザ光７０４をオン・オフ切替えする。レーザ光７０４は回転多面鏡７０５で左右方向に振られて静電ドラム７０６上を走査する。これにより、静電ドラム７０６上には文字パターンの静電潜像が形成される。この潜像は静電ドラム７０６周囲の現像ユニツト７０７により現像された後、記録紙に転写される。この記録紙にはカツトシートを用い、カツトシート記録紙はＬＢＰ７４０に装着した用紙カセツト７０８に収納され、給紙ローラ７０９及び搬送ローラ７１０により装置内に取込まれて、静電ドラム７０６に供給される。また、用紙カセット７０８の蓋部上面に設けられた手挿し給紙トレイから記録紙を供給することもできる。
【００２７】
記録紙に転写されたトナー像は定着部７１２により加熱されて記録紙上に定着される。画像が形成された記録紙は、切り替えくさび７１３を上向きにした場合にはフェイスアップ排出部７１４から記録面を上にした状態で排紙トレイ７１６に排出され、くさび７１３を下向きにした場合にはフェイスダウン排出部７１５から記録面を下にした状態で排出される。
＜印刷制御手順＞
次に、本実施の形態の印刷システムにおける手動による両面印刷時の制御手順について詳しく説明する。
【００２８】
図４は、スプールファイルマネージャ３０４によるスプールファイルからの印刷命令の出力手順を示すフローチャートである。ここでは、アプリケーション２０１からの印刷データが、グラフィックエンジン２０２，ディスパッチャ３０１，スプーラ３０２を介して、印刷命令としてスプールファイル３０３に論理ページ単位で格納されているものとする。なお、論理ページとはアプリケーションで作成され、その後必要に応じて縮小や拡大等が施された印刷データにおけるページ区切りの単位である。これに対して、プリンタから印刷出力される記録紙の片面を物理ページと呼ぶ。一回の印刷要求により１物理ページの出力が行われる。本実施の形態では、論理ページと物理ページとは一致している。
【００２９】
スプールファイルマネージャ３０４は、スプールファイルから３０３からの出力可能と判断すると、図４の手順を実行する。
【００３０】
同図において、ステップ４０１で印刷に必要な初期設定を行う。
【００３１】
ステップ４０２において、印刷設定を取得する。この中にプリンタのハードウェア特性情報として、給紙タイプと排紙タイプとを含んでいる。この情報は、双方向インターフェース２１を介してプリンタ１５００から読み取られる。なお、この情報は、スプールファイルマネージャが直接プリンタにアクセスして読み出すのではない。スプールファイルマネージャは、プリンタドライにより読み出された情報をプリンタドライバから取得する。図１２のプリンタは、給紙はフェイスアップ、排紙はフェイスアップとフェイスダウンとを切り替えられるタイプであり、現在設定されている状態がこのステップでホストに知らされる。
【００３２】
ステップＳ４０３において、手差し両面印刷を行うかどうか判定し、行うならばステップ４０４へ進み、行わなければ通常の印刷処理を行うとしてステップ４０９へ進む。ステップ４０９では、印刷データは論理ページ順、あるいは指定された順に読み出されて印刷出力される。
【００３３】
ステップ４０４において、アプリケーションからの印刷データの論理ページ数を取得する。
【００３４】
ステップ４０５において、ステップ４０４で取得した論理ページ数が１ページかどうか判定する。１ページなら手差し両面印刷処理は行う必要がないとしてステップ４０９へ進み、１ページでなければステップＳ４０６へ進む。
【００３５】
ステップ４０６において、オペレータに対する印刷された記録紙の裏返し要求を、プリンタに何回目の印刷要求を行う時点で行えばよいかを計算する。すなわち、片面用のプリンタで両面印刷を行うためには、裏面に印刷できるよう、片面の印刷が済んだ記録紙を再度給紙トレイに載置させるが、そのタイミングが物理ページにして何ページ目であるか計算する。裏返し要求を受けたオペレータは、排紙トレイから用紙を取出し、指定された方向に向けて給紙トレイに載置する。要求の方法については、図８のようなダイアログ表示などで行う。
【００３６】
ステップ４０７において、ステップ４０２で取得したプリンタの給紙タイプ及び排紙タイプから、論理ページの印刷順序を計算する方法を決定する。印刷にあたっては、初めに奇数ページあるいは偶数ページのみ片面に印刷しておき、裏返した後で残りのページを印刷することになる。印刷順序は、２つの給紙タイプ（フェイスアップ／フェイスダウン）と２つの排紙タイプ（フェイスアップ／フェイスダウン）の組み合わせにより変わるため、４通りの計算方法があり、用いるプリンタの状態によりそのうちから１つ選択される。組合せとしては、図５に示したとおり、フェイスアップ給紙／フェイスアップ排紙（計算タイプ１），フェイスアップ給紙／フェイスダウン排紙（計算タイプ２），フェイスダウン給紙／フェイスアップ排紙（計算タイプ３），フェイスダウン給紙／フェイスダウン排紙（計算タイプ４）がある。計算方法の詳細については後述する。
【００３７】
ステップ４０８において、手差し両面印刷処理を行う。処理の詳細については図６において説明する。
【００３８】
図６は手差し両面印刷の処理の詳細について述べたものである。
【００３９】
ステップ６０１において、アプリケーションからの印刷データについて全て印刷が終ったかどうかを判定し、終了していれば処理を終え、終了していなければステップ６０２へ進む。
【００４０】
ステップ６０２において、図４におけるステップ４０７において設定された計算方法に従って、印刷要求を行う論理ページ番号を計算する。計算方法のタイプにより、印刷要求される論理ページ番号の順序は、例えば６ページの印刷データの場合次のようになる。
▲１▼計算タイプ１については、６，４，２，（裏返し要求），５，３，１の順で印刷要求をする。
▲２▼計算タイプ２については、６，４，２，（裏返し要求），１，３，５の順で印刷要求をする。
▲３▼計算タイプ３については、２，４，６，（裏返し要求），５，３，１の順で印刷要求をする。
▲４▼計算タイプ４については、２，４，６，（裏返し要求），１，３，５の順で印刷要求をする。
【００４１】
ステップ６０２においては、このように、計算タイプに応じた順序で論理ページが出力されるよう、印刷要求する論理ページ番号を決定する。各タイプの計算方法の詳細は次の通りである。なお、印刷要求ページとは、印刷要求される論理ページ番号のことである。
【００４２】
まず、印刷しようとするページが物理ページにして第１番目であれば、図１０の通りとなる。図中、空白ページであれば、空白ページフラグを立てる。第２物理ページ以降では、次の手順で計算される。
▲１▼計算タイプ１の場合
印刷要求ページ←直前に印刷要求したページ−２
もし上式が０以下になった場合は以下の式によって再計算される。
【００４３】
総ページ数が奇数の場合
印刷要求ページ←印刷データの最終ページ
総ページ数が偶数の場合
印刷要求ページ←印刷データの最終ページ−１
▲２▼計算タイプ２の場合
直前に印刷要求したページが奇数の場合
印刷要求ページ←直前に印刷要求したページ＋２
もし印刷要求ページが印刷データの総ページ数を超えた場合、空白ページフラグをＯＮにする。
【００４４】
直前に印刷要求したページが偶数の場合
印刷要求ページ←直前に印刷要求したページ−２
もし上式が０以下になった場合
印刷要求ページ←１
▲３▼計算タイプ３の場合
直前に印刷要求したページが奇数の場合
印刷要求ページ←直前に印刷要求したページ−２
直前に印刷要求したページが偶数の場合
印刷要求ページ←直前に印刷要求したページ＋２
もし上式が印刷データの最終ページを超えた場合
総ページ数が奇数の場合
印刷要求ページ←印刷データの最終ページ
総ページ数が偶数の場合
印刷要求ページ←印刷データの最終ページ−１
▲４▼計算タイプ４の場合
もし直前に印刷要求したページが総ページ数以上であった場合、
印刷要求ページ←１
それ以外の場合
印刷要求ページ←直前に印刷要求したページ＋２
もし印刷要求ページが印刷データの総ページ数を超えた場合、空白ページフラグをＯＮにする。
【００４５】
ステップ６０２では以上のようにして印刷要求するページ番号を算出する。
【００４６】
ステップ６０３において、これから行う印刷要求の回数が、図４のステップ４０６によって算出された裏返し要求を出すまでの印刷要求回数と一致するならばステップ６０４へ進み、そうでなければステップ６０７へスキップする。
【００４７】
ステップ６０４において、ユーザに対して裏返し要求ダイアログを表示する。ダイアログの表示については、図４のステップ４０２によって取得した給紙タイプ、および画像の用紙に対する向き（縦長：ＰＯＲＴＲＡＩＴ、横長：ＬＡＮＤＳＣＡＰＥ）によって表示するダイアログの内容を変更可能である。図７は裏返し方法のパターンを表した表である。裏返し方法１から１６に対応して表示ダイアログの内容を変更する。また図８に表示ダイアログの一例を示す。
【００４８】
ステップ６０５において、ユーザから給紙準備完了を意味するイベントを待つ。
【００４９】
ステップ６０６において、ユーザから給紙準備完了を意味するイベントがきたかどうか判定し、完了イベントならステップ６０７へ進み、そうでないならステップ６０５へ戻る。
【００５０】
ステップ６０７において、ユーザが再給紙を完了し、その旨イベントを受けたので、プリンタに対して印刷要求可能かどうか判定し、可能ならばステップＳ６０８へ進み、可能でないなら可能になるまで待つ。
【００５１】
ステップ６０８においては、ステップ６０２で計算された論理ページ番号の印刷データについて、デスプーラ３０５へ印刷要求を行う。
【００５２】
図９は、空白ページ処理を含んだステップＳ６０８の印刷要求処理について説明したフローチャートである。
【００５３】
ステップ９０１において、空白ページフラグがＯＮならばステップ９０２へ進み、ＯＦＦならばステップ９０５へ進む。
【００５４】
ステップ９０２において、次の印刷要求ページ計算のために架空の印刷要求ページ番号を計算する。ここでの空白ページは、ページ数が奇数の場合に最終ページの裏面に印刷されるとみなされるページであり、論理ページ番号にすると印刷データの最終ページ番号＋１となる。
【００５５】
ステップ９０３において、空白ページの出力要求を行なう。
【００５６】
ステップ９０４において、空白ページの出力要求が終了したので、空白ページフラグをＯＦＦにする。
【００５７】
ステップ９０５において、ステップ６０２で計算されたページの出力要求を行う。このようにして空白ページを含めて印刷データを印刷する。
【００５８】
ステップ６０９において、デスプーラ３０５より印刷終了通知かどうか判定し、きたらステップ６０１へ戻り、こなければ終了通知が来るまで待つ。
【００５９】
以上の手順で印刷制御処理を行うことにより、オペレータは片面が印刷された用紙を表示された向きで給紙トレイに載置するだけで両面印刷が実現できる。このため、オペレータは給紙のタイプや排紙のタイプなどを勘案して印刷順を調整する必要も、テスト印刷を行う必要もない。
【００６０】
なお、本実施の形態ではレーザビームプリンタを用いているが、印刷の方式はどのようなものであっても良い。
［第２の実施の形態］
前述の実施形態においては、用紙の片面、すなわち１物理ページにつき１ページ（論理ページ）の印刷を想定していたが、１物理ページに複数の論理ページをまとめて印刷する場合においても、各計算タイプの計算方法を拡張することによって本発明は適応できる。なお、簡単のため、１物理ページ中に格納する論理ページ数をＮと表現する。本実施の形態では、図４，図６，図９，図１０における「論理ページ」を「物理ページ」と置き換えれば、第１の実施の形態と同様の手順で印刷制御を実現できる。この手順を、論理ページベースで説明すると次のようになる。
【００６１】
１物理ページにつきＮ論理ページの印刷を行う場合において、各計算タイプにおけるデスプーラ３０５への最初の印刷要求を行うページ番号については、図１１の通りである。図１１において、タイプ１及びタイプ２では、「空白ページ判定基準を満たす場合空白ページ出力」とされているが、空白ページ判定基準とは次のようようなものである。
【００６２】
第Ｐ論理ページは、Ｎ論理ページを１物理ページにまとめる場合、第（Ｐ／Ｎ）番目の物理ページに含まれる（ただし、演算"Ｘ／Ｙ"は、ＹによりＸの除算を行い小数部を切り上げた値を表す）。第Ｐ／Ｎ番目の物理ページには、第（（Ｐ／Ｎ−１）×Ｎ＋１）論理ページから第（（Ｐ／Ｎ）×Ｎ）論理ページまで（あるいは最終ページまで）が含まれる。従って、第Ｐ論理ページを最終ページとすると、それが含まれる物理ページ番号Ｐ／Ｎが奇数であることが、タイプ１またはタイプ２において最初の物理ページを空白ページとする判定基準となる。
【００６３】
また、タイプ１またはタイプ２の場合、空白ページ判定条件が満たされない場合には、第（（（Ｐ／Ｎ）−１）×Ｎ＋１）論理ページから第Ｐ論理ページ（最終論理ページ）までをまとめた物理ページを最初に印刷要求する。
【００６４】
又、表に記載された印刷する論理ページとは、印刷要求を行おうとする物理ページに含まれる最大論理ページ番号である。その印刷要求ページに対して印刷される物理ページには、第（印刷要求ページ−Ｎ＋１）番目から第（印刷要求ページ）番目の論理ページが含まれる。
【００６５】
また、第２物理ページ以降に印刷要求する論理ページの計算方法については以下の通りである。求められる印刷要求ページとは、印刷要求を行おうとする物理ページに含まれる最大論理ページ番号である。なお、この印刷要求ページは、印刷する最終論理ページより大きくなりケースがある。そのような論理ページは印刷されない。
【００６６】
なお、除算による小数点以下は断りのない限り切り上げるものとする。また、印刷する論理ページＬに対して必要な物理ページ数Ｆは、
Ｆ＝Ｌ／Ｎ
である。例えば、全１３ページの文書を４ページずつまとめて１物理ページを構成するように印刷するとすれば、Ｆ＝１３／４＝４となる。また、以下では印刷要求ページをＮＥＸＴと表記する。左辺のＮＥＸＴは新たに求める印刷要求ページであり、右辺のＮＥＸＴは直前に印刷要求したページを表している。
▲１▼計算タイプ１の場合
ＮＥＸＴ←（ＮＥＸＴ／Ｎ−２）×Ｎ
もし上式が０以下になった場合は以下の式によって再計算される。
【００６７】
Ｆが奇数の場合
ＮＥＸＴ←Ｆ×Ｎ
Ｆが偶数の場合
ＮＥＸＴ←（Ｆ−１）×Ｎ
▲２▼計算タイプ２の場合
直前に印刷要求した物理ページが奇数の場合
ＮＥＸＴ←ＮＥＸＴ＋２×Ｎ
直前に印刷要求した物理ページが偶数の場合
ＮＥＸＴ←ＮＥＸＴ−２×Ｎ
もし上式が０になった場合は以下の式によって再計算される。
【００６８】
ＮＥＸＴ←Ｎ
▲３▼計算タイプ３の場合
ＮＥＸＴがＦ×Ｎよりも大きい値であった場合
Ｆが奇数の場合
ＮＥＸＴ←Ｆ×Ｎ
Ｆが偶数の場合
ＮＥＸＴ←（Ｆ−１）×Ｎ
それ以外の場合
直前に印刷要求した物理ページが奇数の場合
ＮＥＸＴ←ＮＥＸＴ−２×Ｎ
直前に印刷要求した物理ページが偶数の場合
ＮＥＸＴ←ＮＥＸＴ＋２×Ｎ
▲４▼計算タイプ４の場合
ＮＥＸＴがＦ×Ｎよりも大きかった場合
ＮＥＸＴ←Ｎ
それ以外の場合
ＮＥＸＴ←ＮＥＸＴ＋２×Ｎ
以上のような手順により、図６のステップ６０２において印刷要求する論理ページを決定することで、複数の論理ページを１物理ページにまとめて印刷する場合でも、オペレータは片面が印刷された用紙を表示された向きで給紙トレイに載置するだけで両面印刷が実現できる。このため、オペレータは給紙のタイプや排紙のタイプなどを勘案して印刷順を調整する必要も、テスト印刷を行う必要もない。
［第３の実施の形態］
前述の第１の実施の形態、第２の実施の形態の応用として、１物理ページに２論理ページを配置し、紙の両面に印刷するだけでなく、２つ折りにした結果、ページ順序があるように印刷する、いわゆる製本印刷が可能である。
【００６９】
本実施形態では、図１３に示すように、印刷される全ページをひとまとめにして２つ折りにすることで、ページ順序が整うように印刷する。
【００７０】
また、図１４に示すように、製本印刷によって出力される製本の体裁には以下の場合がある。
１．左から昇順にページ配置（左開き）
２．右から昇順にページ配置（右開き）
また、印刷されるページが横向きの場合も、ページの回転を行うだけで、ページの順序は変わらない。
【００７１】
手差し製本印刷の場合、印刷要求ページの計算方法が異なるだけで、後の処理は前述の実施形態と同様である。
【００７２】
図１５は、図４に手差し製本印刷のための手順を追加したフローチャートである。図１５におけるステップ１５０１において、手差し製本印刷を行うかどうか判定し、手差し製本印刷を行うならば後述するステップ１５０２に進む。手差し製本印刷を行わなければ、ステップ４０９へ進み、通常の印刷を行う。ステップ１５０１における判定は、ホストコンピュータ３０００のキーボード９などから入力される印刷形式の指示に応じて行われる。
【００７３】
ステップ１５０２において、ステップ４０４と同様に印刷ページ数を取得して、更に、製本を行なうのに必要な用紙枚数およびその時の印刷面数（ＦＡＣＥとする）を以下の式によって計算する。
【００７４】
用紙枚数←印刷するページ数／４（小数点以下切り上げ）
これは、本実施形態の製本印刷においては、１物理ページに２論理ページを両面に印刷することから、１枚の用紙に対して４論理ページ分の印刷がなされることによる。例えば、図１３の印刷例４１においては、２０論理ページ分であることから、用紙枚数は２０／４＝５枚となる。
【００７５】
また、印刷面数ＦＡＣＥは１枚の用紙に対して表裏の２面存在するので、以下の式によって計算される。
【００７６】
ＦＡＣＥ←用紙枚数×２
１印刷面は前述の実施形態における１物理ページに相当する。図１３の例では、ＦＡＣＥ＝５×２＝１０となる。印刷面１には第１，２０論理ページ、印刷面２には第２，１９論理ページ、…、印刷面１０には第１０，１１論理ページが印刷されることになる。このため、本実施形態における印刷面を、第１の実施の形態における論理ページと考えれば、印刷面の出力順序は第１の実施の形態と同様に考えることができる。
【００７７】
なお。ステップ１５０２において計算される値は、一度計算してしまえば再計算の必要はなく、繰り返し処理の中では省略される。
【００７８】
以降、手差し製本印刷の処理、特に印刷要求するページ配置の決定について、図１６及び図１７を参照して詳しく説明する。図１６は、図６のステップ６０２をステップ１６０２に置換したもので、他はかわらない。
【００７９】
ステップ１２０２、すなわち手差し製本印刷における印刷要求ページの計算方法は、大きく次の２ステップの処理からなる。
１．印刷面を基に、第１実施形態の実施形態の要領で、印刷要求を行う印刷面を計算する。
２．印刷要求を行う印刷面に対して、製本印刷を実現するために配置する論理ページを計算する。
【００８０】
項目１については、第１の実施例における論理ページを印刷面に置き換えて考えれば良い。これは図１７のステップ１６００で行われる。
【００８１】
項目２はステップ１６０１以下に相当し、ステップ１６００によって選ばれた印刷面をＮＥＸＴＦＡＣＥとすると、印刷面ＮＥＸＴＦＡＣＥに配置する対応論理ページのうち、ページ番号の大きい方を以下の式によって計算する。
【００８２】
対応論理ページ１←ＦＡＣＥ＋ＮＥＸＴＦＡＣＥ
また、２つ目の論理ページは、以下の式によって計算される。
【００８３】
対応論理ページ２←２×ＦＡＣＥ＋１−対応論理ページ１
例えば、１１ページの文書を手差し製本印刷する場合、必要な用紙枚数は１１／４＝３枚、印刷面数ＦＡＣＥ＝３×２＝６となる。
【００８４】
これを例えば計算タイプ１について行う場合、６，４，２（裏返し要求）、５，３，１の印刷面の順で印刷要求をすることになり、最初に印刷要求を行う印刷面ＮＥＸＴＦＡＣＥは６である。よって、印刷面６に対する対応論理ページ１は、６＋６＝１２ページとなり、対応論理ページ２は、２×６＋１−１２＝１ページとなる。
【００８５】
ステップ１６０２以下は、ステップ１６０１において計算された２つの論理ページを設定された製本の体裁に応じてどのように配置するかを決定する処理を示す。
【００８６】
ステップ１６０２においては、計算された対応論理ページ１がアプリケーションからの印刷ページ数より大きいかどうか判定し、大きくなった場合は余白扱いとなり、ステップ１６０３へ進む。大きくなければステップ１６０４へスキップする。
【００８７】
ステップ１６０３において、対応論理ページ１には余白が配置される。そのために、例えば余白をあらわすページ番号０を対応論理ページ１として示す代入する。
【００８８】
ステップ１６０４およびステップ１６０５，１６０７において、印刷体裁（左開きか右開きか）および印刷面（折り込んだ際に内側にくるか外側にくるか）から計算された２つの論理ページの配置を決定する。
【００８９】
具体的には、内側／外側の判定は、印刷面が偶数の場合内側、奇数の場合外側となる。ステップ１６０４およびステップ１６０５，１６０７による判定の結果、次のように処理が進む。
【００９０】
左開きで折り込み内側になるページの場合ステップ１６０６へ進む。
【００９１】
左開きで折り込み外側になるページの場合ステップ１６０８へ進む。
【００９２】
右開きで折り込み外側になるページの場合ステップ１６０６へ進む。
【００９３】
右開きで折り込み内側になるページの場合ステップ１６０８へ進む。
【００９４】
ステップ１６０６において、印刷面における対応論理ページ２を左側に、対応論理ページ１を右側に配置する。
【００９５】
ステップ１６０８において、印刷面における対応論理ページ２を右側に、対応論理ページ１を左側に配置する。
【００９６】
このように配置された印刷面が、図１６のステップ６０８で印刷要求され、印刷されることになる。なお、ステップ１６０４で判定される印刷体裁は、ホストコンピュータ３０００のキーボードなどから設定ウインドウ等を用いて設定される。
【００９７】
以上の処理により、手差し両面印刷における製本印刷が実現される。本実施形態においては、プリンタの給紙、排紙特性に応じた印刷要求面を計算し、その後対応する論理ページを計算することによって、ハードウェアの特性を意識せずに簡単に手差し両面印刷を用いた製本印刷が可能となる。
【００９８】
【他の実施形態】
なお、本発明は、複数の機器（例えばホストコンピュータ，インタフェイス機器，リーダ，プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用してもよい。
【００９９】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成される。
【０１００】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１０１】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【０１０２】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１０３】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１０４】
【発明の効果】
以上説明したとおり、本発明によれば、オペレータは片面が印刷された用紙を表示された向きで給紙トレイに載置するだけで両面印刷が実現できる。このため、オペレータは給紙のタイプや排紙のタイプなどを勘案して印刷順を調整する必要も、テスト印刷を行う必要もない。この際には、用紙の片面に１ページ印刷するようにも、複数ページを印刷するようにもできる。また、製本印刷を行うことも可能である。
【０１０５】
【図面の簡単な説明】
【図１】実施形態の印刷システムのブロック図である。
【図２】ホストコンピュータにおける典型的な印刷データ生成を示す図である。
【図３】中間コードを生成する図２を拡張した印刷データ生成を示す図である。
【図４】本発明に係る印刷制御手順のフローチャートである。
【図５】ハードウェア特性と計算タイプの関係を表す図である。
【図６】図４における印刷処理のフローチャートである。
【図７】ユーザに対する裏返し要求方法の分類を表した図である。
【図８】ユーザに対する裏返し要求ダイアログの一例を示す図である。
【図９】空白ページ印刷の処理のフローチャートである。
【図１０】各計算タイプにおける最初に印刷要求を行うページを示す図である。
【図１１】１物理ページにつき複数論理ページの印刷を行う場合において、各計算タイプにおける最初の印刷要求を行うページ数を示す図である。
【図１２】レーザビームプリンタの断面図である。
【図１３】製本印刷について説明する図である。
【図１４】製本印刷の体裁について説明する図である。
【図１５】手差し製本印刷処理のフローチャートである。
【図１６】手差し製本印刷処理のフローチャートである。
【図１７】手差し製本印刷時のページ配置処理のフローチャートである。
【符号の説明】
１  ＣＰＵ
２  ＲＡＭ
３  ＲＯＭ
４  システムバス
１２  ＣＰＵ
１３  ＲＯＭ
１９  ＲＡＭ
３０００  ホストコンピュータ
１５００  プリンタ
【図１】
0003745086.tif 000002
【図２】
0003745086.tif 000003
【図３】
0003745086.tif 000004
【図４】
0003745086.tif 000005
【図５】
0003745086.tif 000006
【図６】
0003745086.tif 000007
【図７】
0003745086.tif 000008
【図８】
0003745086.tif 000009
【図９】
0003745086.tif 000010
【図１０】
0003745086.tif 000011
【図１１】
0003745086.tif 000012
【図１２】
0003745086.tif 000013
【図１３】
0003745086.tif 000014
【図１４】
0003745086.tif 000015
【図１５】
0003745086.tif 000016
【図１６】
0003745086.tif 000017
【図１７】
0003745086.tif 000018