JP3710307B2 - 印刷制御方法及び印刷制御装置 - Google Patents

印刷制御方法及び印刷制御装置 Download PDF

Info

Publication number
JP3710307B2
JP3710307B2 JP36551498A JP36551498A JP3710307B2 JP 3710307 B2 JP3710307 B2 JP 3710307B2 JP 36551498 A JP36551498 A JP 36551498A JP 36551498 A JP36551498 A JP 36551498A JP 3710307 B2 JP3710307 B2 JP 3710307B2
Authority
JP
Japan
Prior art keywords
copies
print
intermediate code
printer
pnum
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP36551498A
Other languages
English (en)
Other versions
JP2000187581A (ja
Inventor
安生 森
孝治 中桐
康弘 鯨井
智 西川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP36551498A priority Critical patent/JP3710307B2/ja
Priority to US09/466,643 priority patent/US6337961B2/en
Publication of JP2000187581A publication Critical patent/JP2000187581A/ja
Application granted granted Critical
Publication of JP3710307B2 publication Critical patent/JP3710307B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0082Architecture adapted for a particular function
    • G06K2215/0088Collated printing

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、プリンタを制御する印刷制御方法及び印刷制御装置並びに印刷制御プログラムを格納したコンピュータ可読メモリに関するものである。
【0002】
【従来の技術】
近年の情報化時代の中で、プリンタを制御する印刷制御装置においても大量な情報処理をする必要性が生じてきた。そして、このような必要性に応える為、スプールデバイスの搭載や、排紙口の複数化、ステープル機能の付加などの処置が取られている。
【0003】
従来情報処理システム(ホスト)を用いて、印刷出力装置(プリンタ)へ複数ページのデータを複数部印刷する場合には、該印刷データを指定された部数の回数だけプリンタへ転送していた。例えば、3ページの文書を3部出力する場合、図19に示すようにホストから1ページから3ページのデータを3回プリンタへ転送することにより印刷データを所定部数印刷していた。これは、まったく同じデータを3回送ることになり印刷効率が悪かった。
【0004】
これを改善し印刷効率を向上させるために、印刷データを記憶するスプールデバイスを設けたプリンタが存在する。この場合、ホストからは1ページから3ページのデータを1度送り、プリンタ内部でスプールデバイスに記憶し、記憶したデータを複数回(図19の例では3回)使用して部数分の出力を実現していた。
【0005】
また、排紙口を複数設けたプリンタも存在する。この場合、ホストからは1ページから3ページのデータを1度送り、各ページデータを受け取る度に部数回数だけ排出口を変えて印刷することで部数分の出力を実現していた。
【0006】
【発明が解決しようとする課題】
しかしながら、プリンタにおいて一回の印刷動作で印刷可能な部数には制限がある。例えば、スプールデバイスを用いてプリンタで複数部数を実現しようとしても、印刷データの総容量がスプールデバイスの容量を越える場合には一回の印刷動作では対応することができない。また、スプールデバイスの容量以下の印刷データであっても、ハードウェアの制限で上限部数が決められる場合もある。例えば複数の排紙口を設けたプリンタにおいては、排紙口の数を超える部数が指定された場合には排紙口部分の物理的な制限によって排紙口数分の部数しか印刷されない。
【0007】
複写機では、排紙口数を超える部数が指定された場合には原稿を再度読み取ることによりこの制限をなくしているものもある。しかし、プリンタの場合はプリンタ内部に印刷データを記憶するスプールデバイスを設けたとしても印刷データサイズがスプールデバイスの容量を超える場合などがあるため、本質的に解決することはできない。
【0008】
このため、従来の技術では、ユーザが望む部数がプリンタの制限を超える場合には、プリンタの制限部数まで印刷したところで完全に印刷を中止してしまうか、もしくは制限部数以上は全く印刷することができないという問題があった。
【0009】
本発明は上記の従来技術の課題を解決するためになされたもので、その目的とするところは、プリンタの制限部数を越えてもユーザの要求する部数の印刷を可能とする印刷制御方法及び印刷制御装置並びに印刷制御プログラムを格納したコンピュータ可読メモリを提供することにある。
【0010】
【課題を解決するための手段】
上記目的を達成するため、本発明に係る印刷制御方法にあっては、
プリンタに送信すべき印刷ジョブを生成するプリンタドライバを有するホストコンピュータとしての情報処理装置における印刷制御方法であって、
アプリケーションからグラフィックエンジンを介して受け取る印刷命令を中間コードに変換し、中間コードファイルとしてスプールする中間コード変換工程と、
印刷ダイアログから入力された印刷設定を前記プリンタドライバから取得し、指定されている部数を取得する取得工程と、
前記プリンタが一回の印刷動作で印刷可能な制限部数を認識する認識工程と、
前記取得工程で取得された部数が前記認識工程で認識された制限部数より大きい場合に、1つの印刷ジョブにおいて印刷される部数が、前記認識工程で認識された制限部数以下となるように、前記取得工程で取得された部数を前記制限部数で割って得られる数の小数点以下を切り上げた値を印刷ジョブ数として、該印刷ジョブ数分、前記中間コード変換工程で生成された中間コードを繰り返しデスプールするデスプール工程と、
前記デスプール工程でデスプールされた中間コードに応じて、前記プリンタドライバを用いて前記制限部数以内の印刷部数が指定された複数の印刷ジョブを生成する印刷制御工程と、
を有することを特徴とする。
【0011】
前記印刷制御工程は、各印刷ジョブで印刷される部数の総和が前記取得工程で取得された部数となるような複数の印刷ジョブを生成することを特徴とする。
【0012】
前記印刷制御工程は、
前記取得工程で取得された指定部数UNumと、前記認識工程で認識した前記制限部数PNumとを比較する比較工程と、
前記比較工程での比較の結果、前記指定部数UNumが前記制限部数PNumよりも大きい場合に、UNumをPNumで割った商N1及び余りN2に基づき、前記制限部数PNum印刷する印刷ジョブをN1個と、N2部印刷する印刷ジョブを1個生成するジョブ生成工程と、
を含むことを特徴とする。
【0013】
前記ジョブ生成工程は、
前記指定部数UNumと、前記制限部数PNumを比較した結果、前記指定部数UNumが前記制限部数PNumよりも大きい場合に、UNumをPNumで割った商N1及び余りN2を求め、N2が0でない場合には、UNumを(N1+1)で割った商N3及び余りN4に基づき、N3部印刷する印刷ジョブをN1個と、N4部印刷する印刷ジョブを1個生成することを特徴とする。
【0016】
前記取得工程では、排紙口の指定を取得することが可能であって、前記制限部数は前記取得工程で指定された排紙口の数であることを特徴とする。
【0017】
上記目的を達成するため、本発明に係る第1の印刷制御装置にあっては、
プリンタに送信すべき印刷ジョブを生成するプリンタドライバを有するホストコンピュータとしての印刷制御装置であって、
アプリケーションからグラフィックエンジンを介して受け取る印刷命令を中間コードに変換し、中間コードファイルとしてスプールする中間コード変換手段と、
印刷ダイアログから入力された印刷設定を前記プリンタドライバから取得し、指定されている部数を取得する取得手段と、
前記プリンタが一回の印刷動作で印刷可能な制限部数を認識する認識手段と、
前記取得手段で取得した部数が前記認識手段で認識した制限部数より大きい場合に、1つの印刷ジョブにおいて印刷される部数が、前記認識手段で認識された制限部数以下となるように、前記取得工程で取得された部数を前記制限部数で割って得られる数の小数点以下を切り上げた値を印刷ジョブ数として、該印刷ジョブ数分、前記中間コード変換工程で生成された中間コードを繰り返しデスプールするデスプール手段と、
前記デスプール手段でデスプールされた中間コードに応じて、前記プリンタドライバを用いて前記制限部数以内の印刷部数が指定された複数の印刷ジョブを生成する印刷制御手段と、
を有することを特徴とする。
【0018】
ここで、前記印刷制御手段は、
前記取得手段で取得された指定部数UNumと、前記認識手段で認識した前記制限部数PNumとを比較する比較手段と、
前記比較手段による比較の結果、前記指定部数UNumが前記制限部数PNumよりも大きい場合には、UNumをPNumで割り、商N1と余りN2を求め、制限部数PNum印刷するジョブをN1個と、N2部印刷するジョブを1個生成するジョブ生成手段と、
を含むことを特徴とする。
【0019】
また、前記ジョブ生成手段は、
前記指定部数UNumと、前記制限部数PNumを比較した結果、前記指定部数UNumが前記制限部数PNumよりも大きい場合に、UNumをPNumで割った商N1及び余りN2を求め、N2が0でない場合には、UNumを(N1+1)で割った商N3及び余りN4に基づき、N3部印刷するジョブをN1個と、N4部印刷するジョブを1個生成することを特徴とする。
【0020】
本発明に係る第2の印刷制御装置にあっては、
プリンタに送信すべき印刷ジョブを生成するプリンタドライバを有するホストコンピュータとしての印刷制御装置であって、
アプリケーションからグラフィックエンジンを介して受け取る印刷命令を中間コードに変換し、中間コードファイルとしてスプールする中間コード変換手段と、
印刷ダイアログから入力された印刷設定を前記プリンタドライバから取得し、指定されている部数を取得する取得手段と、
前記プリンタが一回の印刷動作で印刷可能な制限部数を認識する認識手段と、
前記取得手段で取得された指定部数UNumと、前記認識手段で認識した前記制限部数PNumとを比較する比較手段と、
前記取得手段で取得された部数が前記認識手段で認識された制限部数より大きい場合に、取得された部数を制限部数で割った商をデスプール回数として、前記中間コード変換手段で生成された中間コードを算出された当該デスプール回数分デスプールし、取得された部数を制限部数で割った余りの部数としての中間コードをデスプールするデスプール手段と、
前記デスプール手段で前記デスプール回数分デスプールされた中間コードに応じて1つの印刷ジョブとして前記プリンタドライバを用いてプリンタ制御コマンドからなる擬似印刷データを生成し、該擬似印刷データを前記制限部数印刷する印刷ジョブを生成する印刷制御手段と、を有し、
前記デスプール手段は、前記比較手段による比較の結果、前記指定部数UNumが前記制限部数PNumよりも大きい場合には、UNumをPNumで割った商N1及び余りN2に基づいて、前記中間コード変換手段で生成された中間コードをN1のデスプール回数分連続させてデスプールし、その後、前記中間コード変換手段で生成された中間コードをN2を部数としてデスプールし、
前記印刷制御手段は、N1のデスプール回数分デスプールされた中間コードに応じてPNum部数指定された擬似印刷データを生成し、その後デスプールされた中間コードに応じてN2部数指定された印刷データを生成することを特徴とする。
【0021】
ここで、前記取得手段で取得された指定部数UNumと、前記認識手段で認識した前記制限部数PNumとを比較する比較手段をさらに有し、
前記デスプール手段は、前記比較手段による比較の結果、前記指定部数UNumが前記制限部数PNumよりも大きい場合には、UNumをPNumで割った商N1及び余りN2に基づいて、前記中間コード変換手段で生成された中間コードをN1のデスプール回数分連続させてデスプールし、その後、前記中間コード変換手段で生成された中間コードをN2を部数としてデスプールし、
前記印刷制御手段は、N1のデスプール回数分デスプールされた中間コードに応じてPNum部数指定された擬似印刷データを生成し、その後デスプールされた中間コードに応じてN2部数指定された印刷データを生成することを特徴とする。
【0022】
また、前記取得手段は、排紙口の指定を取得することが可能であって、前記制限部数は前記取得手段で指定された排紙口の数であることを特徴とする。
【0023】
上記目的を達成するため、本発明に係る第1の記憶媒体は、
プリンタに送信すべき印刷ジョブを生成するプリンタドライバとしての印刷制御プログラムを格納したコンピュータ可読メモリであって、
前記印刷制御プログラムはコンピュータに、
アプリケーションからグラフィックエンジンを介して受け取る印刷命令を中間コードに変換し、中間コードファイルとしてスプールする中間コード変換工程と、
印刷ダイアログから入力された印刷設定を前記プリンタドライバから取得し、指定されている部数を取得する取得工程と、
前記プリンタが一回の印刷動作で印刷可能な制限部数を認識する認識工程と、
前記取得工程で取得された部数が前記認識工程で認識された制限部数より大きい場合に、1つの印刷ジョブにおいて印刷される部数が、前記認識工程で認識された制限部数以下となるように、前記取得工程で取得された部数を前記制限部数で割って得られる数の小数点以下を切り上げた値を印刷ジョブ数として、該印刷ジョブ数分、前記中間コード変換工程で生成された中間コードを繰り返しデスプールするデスプール工程と、
前記デスプール工程でデスプールされた中間コードに応じて、前記制限部数以内の印刷部数が指定された複数の印刷ジョブを生成する印刷制御工程と、
を実行させることを特徴とする。
【0024】
ここで、前記印刷制御プログラムは、
ユーザにより指定された部数を取得する取得工程と、
前記取得工程で取得された指定部数UNumと、前記認識工程で認識した前記制限部数PNumとを比較する比較工程と、
前記比較工程での比較の結果、前記指定部数UNumが前記制限部数PNumよりも大きい場合に、UNumをPNumで割った商N1及び余りN2に基づき、制限部数PNum印刷する印刷ジョブをN1個と、N2部印刷する印刷ジョブを1個生成するジョブ生成工程と、
を更にコンピュータに実行させることを特徴とする。
【0025】
また、前記ジョブ生成工程は、
前記指定部数UNumと、前記制限部数PNumを比較した結果、前記指定部数UNumが前記制限部数PNumよりも大きい場合に、UNumをPNumで割った商N1及び余りN2を求め、N2が0でない場合には、UNumを(N1+1)で割った商N3及び余りN4に基づき、N3部印刷する印刷ジョブをN1個と、N4部印刷する印刷ジョブを1個生成することを特徴とする。
【0026】
本発明に係る第2の記憶媒体は、
プリンタに送信すべき印刷ジョブを生成するプリンタドライバとしての印刷制御プログラムを格納したコンピュータ可読メモリであって、
前記印刷制御プログラムはコンピュータに、
アプリケーションからグラフィックエンジンを介して受け取る印刷命令を中間コードに変換し、中間コードファイルとしてスプールする中間コード変換工程と、
印刷ダイアログから入力された印刷設定を前記プリンタドライバから取得し、指定されている部数を取得する取得工程と、
前記プリンタが一回の印刷動作で印刷可能な制限部数を認識する認識工程と、
前記取得工程で取得された指定部数UNumと、前記認識工程で認識した前記制限部数PNumとを比較する比較工程と、
前記取得工程で取得された部数が前記認識工程で認識された制限部数より大きい場合に、取得された部数を制限部数で割った商をデスプール回数として、前記中間コード変換工程で生成された中間コードを算出された当該デスプール回数分デスプールし、取得された部数を制限部数で割った余りの部数としての中間コードをデスプールするデスプール工程と、
前記デスプール工程で前記デスプール回数分デスプールされた中間コードに応じて1つの印刷ジョブとして前記プリンタドライバを用いてプリンタ制御コマンドからなる擬似印刷データを生成し、該擬似印刷データを前記制限部数印刷する印刷ジョブを生成する印刷制御工程と、
を実行させ
前記デスプール工程は、前記比較工程での比較の結果、前記指定部数UNumが前記制限部数PNumよりも大きい場合には、UNumをPNumで割った商N1及び余りN2に基づいて、前記中間コード変換工程で生成された中間コードをN1のデスプール回数分連続させてデスプールし、その後、前記中間コード変換手段で生成された中間コードをN2を部数としてデスプールし、
前記印刷制御工程は、N1のデスプール回数分デスプールされた中間コードに応じてPNum部数指定された擬似印刷データを生成し、その後デスプールされた中間コードに応じてN2部数指定された印刷データを生成することを特徴とする。
【0027】
ここで、前記取得工程で取得された指定部数UNumと、前記認識工程で認識した前記制限部数PNumとを比較する比較工程を更にコンピュータに実行させ、
前記デスプール工程は、前記比較工程での比較の結果、前記指定部数UNumが前記制限部数PNumよりも大きい場合には、UNumをPNumで割った商N1及び余りN2に基づいて、前記中間コード変換工程で生成された中間コードをN1のデスプール回数分連続させてデスプールし、その後、前記中間コード変換手段で生成された中間コードをN2を部数としてデスプールし、
前記印刷制御工程は、N1のデスプール回数分デスプールされた中間コードに応じてPNum部数指定された擬似印刷データを生成し、その後デスプールされた中間コードに応じてN2部数指定された印刷データを生成することを特徴とする。
【0028】
前記指定プログラムでは、ユーザが排紙口の指定を行なうことが可能であって、前記制限部数は前記指定プログラムでユーザが指定した排紙口の数であることを特徴とする。
【0029】
前記制限部数は、プリンタに備えられた全排紙口の数であることを特徴とする。
【0030】
前記制限部数は、プリンタに備えられた全排紙口のうち、有効な排紙口の数であることを特徴とする。
【0031】
【発明の実施の形態】
以下に、図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成要素の相対配置、数式、数値等は、特に特定的な記載がない限りは、この発明の範囲をそれらのみに限定する趣旨のものではない。
【0032】
(第1の実施の形態)
先ず、本発明に係る情報処理システムの第1の実施の形態としてのプリンタ制御システムの構成を図1のブロック図を参照して説明する。
【0033】
第1の実施形態に係るプリント制御システムは、ホストコンピュータ3000とプリンタ1500とから構成されている。ホストコンピュータ3000は、CPU1とRAM2と、ROM3とキーボードコントローラ(KBC)5と、CRTコントローラ(CRTC)6とディスクコントローラ(DKC)7と、プリンタコントローラ(PRTC)8と、キーボード(KB)9と、CRTディスプレイ(CRT)10と、外部メモリ11とを備えている。
【0034】
先ず、ホストコンピュータ3000各部の構成を詳述すると、CPU1はシステムバスに接続された各デバイスを統括的に制御する中央処理装置であり、ROM3のプログラム用ROM3b(後述)或いは外部メモリ11に記憶された文書処理プログラム等に基づいて、図形、イメージ、文字、表(表計算等を含む)等が混在した文書処理を実行する。また、CPU1は、例えばRAM2上に設定された表示情報RAMへのアウトラインフォントの展開(ラスタライズ)処理を実行し、CRTディスプレイ10上でのWYSIWYG(What You See Is What You Get:CRTディスプレイ画面上に見えているそのままの大きさや形で印刷できる機能)を可能としている。
【0035】
更に、CPU1はCRTディスプレイ10上のマウスカーソル(図示略)等で指示されたコマンドに基づいて、予め登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザはプリンタ1500を使用して印刷する際、印刷の設定に関するウインドウを開き、プリンタ1500の設定や印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行うことができるようになっている。
【0036】
RAM2はCPU1の主メモリ、ワークエリア等として機能する。ROM3はフォント用ROM3aと、プログラム用ROM3bと、データ用ROM3cとを備えている。フォント用ROM3a或いは外部メモリ11は、上記文書処理の際に使用するフォントデータなどを記憶する。プログラム用ROM3b或いは外部メモリ11は、CPU1の制御プログラムであるオペレーティングシステム(以下、OS)等を記憶する。データ用ROM3c或いは外部メモリ11は、上記文書処理等を行う際に使用する各種データを記憶する。
【0037】
キーボードコントローラ(KBC)5は、キーボード9やポインティングデバイス(図示略)からのキー入力を制御する。CRTコントローラ(CRTC)6は、CRTディスプレイ(CRT)10の表示を制御する。ディスクコントローラ(DKC)7は、外部メモリ11とのアクセスを制御する。プリンタコントローラ(PRTC)8は、双方向性インタフェース21を介してプリンタ1500に接続されて、プリンタ1500との通信制御処理を実行する。キーボード9は、各種キーを備えている。
【0038】
CRTディスプレイ(CRT)10は、図形、イメージ文字、表等を表示する。外部メモリ11はハードディスク(HD)、フロッピーディスク(FD)等から構成されており、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム(以下、プリンタドライバ)等を記憶する。
【0039】
上述したCPU1、RAM2、ROM3、キーボードコントローラ(KBC)5、CRTコントローラ(CRTC)6、ディスクコントローラ(DKC)7、プリンタコントローラ(PRTC)8は、コンピュータ制御ユニット2000上に配設されている。
【0040】
次に、プリンタ1500各部の構成を詳述すると、CPU12は、システムバス15に接続された各デバイスを統括的に制御する中央処理装置であり、ROM13のプログラム用ROM13b(後述)に記憶された制御プログラム等或いは外部メモリ14に記憶された制御プログラム等に基づいて印刷部(プリンタエンジン)17に出力情報としての画像信号を出力する。また、CPU12は、入力部18を介してホストコンピュータ3000との通信処理が可能となっており、プリンタ1500内の情報等をホストコンピュータ3000に通知できる構成となっている。
【0041】
RAM19は、CPU12の主メモリや、ワークエリア等として機能し、増設ポートに接続されるオプションRAM(図示略)によりメモリ容量を拡張することができるように構成されている。尚、RAM19は、出力情報展開領域、環境データ格納領域、NVRAM等に用いられる。ROM13は、フォント用ROM13aと、プログラム用ROM13bと、データ用ROM13cとを備えている。フォント用ROM13aは、上記出力情報を生成する際に使用するフォントデータなどを記憶する。プログラムROM13bは、CPU12の制御プログラム等を記憶する。データ用ROM13cは、プリンタ1500にハードディスク等の外部メモリ14が接続されていない場合には、ホストコンピュータ3000上で利用される情報等を記憶する。
【0042】
入力部18は、双方向性インタフェース21を介してプリンタ1500とホストコンピュータ3000との間におけるデータの送受を行う。印刷部インタフェース(I/F)16は、CPU12と印刷部17との間におけるデータの送受を行う。メモリコントローラ(MC)20は、外部メモリ14のアクセスを制御する。印刷部17は、CPU12の制御に基づき印刷動作を行う。操作部1501は、各種操作のためのスイッチや表示手段(例えばLED表示器)等を備えている。
【0043】
外部メモリ14は、ハードディスク(HD)、ICカード等から構成されており、プリンタ1500にオプションとして接続される。外部メモリ14は、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶するものであり、メモリコントローラ(MC)20によりアクセスを制御される。尚、外部メモリ14は、1個に限らず、複数個備えることが可能となっている。即ち、内蔵したフォントに加えてオプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。更に、NVRAM(図示略)を有し、操作部1501からのプリンタモード設定情報を記憶するようにしてもよい。
【0044】
上述したCPU12、RAM19、ROM13、入力部18、印刷部インタフェース(I/F)16、メモリコントローラ(MC)20は、プリンタ制御ユニット1000上に配設されている。
【0045】
図2は、プリンタ等の印刷装置が直接接続されているか、あるいはネットワーク経由で接続されているホストコンピュータにおける典型的な印刷処理の構成を示すブロック図である。図2において、アプリケーション201、グラフィックエンジン202、プリンタドライバ203、およびシステムスプーラ204は、上記図1の外部メモリ11に保存されたファイルとして存在し、実行される場合にOSやそのモジュールを利用するモジュールによってRAM2にロードされ実行されるプログラムモジュールである。
【0046】
また、アプリケーション201およびプリンタドライバ203は、外部メモリ11のFDやCDROM或いはネットワーク(以上図示略)を経由して外部ディスク11のHDに追加することが可能となっている。外部メモリ11に保存されているアプリケーション201はRAM2にロードされて実行されるが、該アプリケーション201からプリンタ1500に対して印刷を行う際には、同様にRAM2にロードされ実行可能となっているグラフィックエンジン202を利用して出力(描画)を行う。
【0047】
グラフィックエンジン202は、印刷装置ごとに用意されたプリンタドライバ203を同様に外部メモリ11からRAM2にロードし、アプリケーション201の出力をプリンタドライバ203に設定する。そして、アプリケーション201から受け取るGDI(Graphic Device Interface)関数をDDI(Device Driver Interface)関数に変換して、プリンタドライバ203へDDI関数を出力する。プリンタドライバ203は、グラフィックエンジン202から受け取ったDDI関数に基づいて、プリンタが認識可能な制御コマンド、例えばPDL(Page Description Language)に変換する。変換されたプリンタ制御コマンドは、OSによってRAM2にロードされたシステムスプーラ204を経てインタフェース21経由でプリンタ1500へ印刷データとして出力される仕組みとなっている。
【0048】
第1の実施形態に係るプリンタ制御システムは、上記図1及び図2で示すプリンタ1500とホストコンピュータ3000からなる印刷システムに加えて、更に図3に示す如くアプリケーションからの印刷データを一旦中間コードデータでスプールする構成を有する。
【0049】
図3は、図2のシステムを拡張したもので、グラフィックエンジン202からプリンタドライバ203へ印刷命令を送る際に、一旦、中間コードからなるスプールファイル303を生成する構成を示したものである。上記図2のシステムでは、アプリケーション201が印刷処理から開放されるのは、プリンタドライバ203がグラフィックエンジン202からすべての印刷命令をプリンタ1500の制御コマンドへ変換し終わった時点である。
【0050】
これに対して、図3のシステムでは、アプリケーション201が印刷処理から開放されるのは、スプーラ3がすべての印刷命令を中間コードデータに変換し、スプールファイル303に出力した時点である。通常、後者の方が短時間で済む。また、図3で示すシステムにおいては、スプールファイル303の内容に対して加工することができる。これによりアプリケーションからの印刷データに対して、拡大/縮小や、複数ページを1ページに縮小して印刷するNアップ印刷等、アプリケーションの持たない機能を実現することができる。
【0051】
これらの目的のために、上記図2のシステムに対し、図3の如く中間コードデータでスプールするよう、システムの拡張がなされてきている。尚、印刷データの加工を行うためには、通常、プリンタドライバ203が提供するウインドウから設定を行い、プリンタドライバ203がその設定内容をRAM2上あるいは外部メモリ11上に保管する。
【0052】
以下、図3の詳細を説明する。図示の如く、この拡張された処理方式では、グラフィックエンジン202からの印刷命令をディスパッチャ301が受け取る。ディスパッチャ301がグラフィックエンジン202から受け取った印刷命令が、アプリケーション201からグラフィックエンジン202へ発行された印刷命令の場合には、ディスパッチャ301は外部メモリ11に格納されているスプーラ302をRAM2にロードし、プリンタドライバ203ではなくスプーラ302へ印刷命令を送付する。
【0053】
スプーラ302は受け取った印刷命令を中間コードに変換してスプールファイル303に出力する。また、スプーラ302は、プリンタドライバ203に対して設定されている印刷データに関する加工設定をプリンタドライバ203から取得してスプールファイル303に保存する。尚、スプールファイル303は外部メモリ11上にファイルとして生成するが、RAM2上に生成されても構わない。更に、スプーラ302は、外部メモリ11に格納されているスプールファイルマネージャ304をRAM2にロードし、スプールファイルマネージャ304に対してスプールファイル303の生成状況を通知する。
【0054】
その後、スプールファイルマネージャ304は、スプールファイル303に保存された印刷データに関する加工設定の内容に従って印刷を行えるか判断する。スプールファイルマネージャ304がグラフィックエンジン202を利用して印刷を行えると判断した際には、外部メモリ11に格納されているデスプーラ305をRAM2にロードし、デスプーラ305をRAM2にロードし、デスプーラ305に対して、スプーラファイル303に記述された中間コードの印刷処理を行うように指示する。
【0055】
デスプーラ305はスプールファイル303に含まれる中間コードをスプールファイル303に含まれる加工設定の内容に従って加工し、もう一度グラフィックエンジン202経由で出力する。ディスパッチャ301がグラフィックエンジン202から受け取った印刷命令が、デスプーラ305からグラフィックエンジン202へ発行された印刷命令の場合には、ディスパッチャ301はスプーラ302ではなく、プリンタドライバ203に印刷命令を送る。プリンタドライバ203はプリンタ制御コマンドを生成し、システムスプーラ204経由でプリンタ1500に出力する。
【0056】
図4は、第1の実施の形態の形態に係るプリンタ1500の一例としてレーザビームプリンタ(以下、LBPと略章)の場合の内部構造を示す断面図である。
【0057】
LBPとしてのプリンタ1500は、文字パターンデータ等を入力して記録紙に印刷することができる。
【0058】
プリンタ1500は、供給されるプリンタ制御コマンド等を基に記録媒体である記録用紙上に像を形成するLBP本体740に、プリンタ制御ユニット1000と、操作部1501とレーザドライバ702と、半導体レーザ703と、回転多面鏡705と、静電ドラム706と、現像ユニット707と、用紙カセット708と、搬送路等710と、外部メモリ711と、フェイスダウン排出部715と、排紙トレイ716とを備えている。
【0059】
上記各部の構成を動作とともに詳述すると、プリンタ制御ユニット1000は、LBP本体740全体の制御及び文字パターン情報等を解析するものであり、主にプリンタ制御コマンドをビデオ信号に変換してレーザドライバ702に出力する。プリンタ制御ユニット1000には、フォントデータやページ記述言語のエミュレーションプログラム等を供給する外部メモリ711を接続することもできる。操作部1501には、上述した如く操作のためのスイッチ及び表示手段(例えばLED表示器)等が配設されている。
【0060】
レーザドライバ702は半導体レーザ703を駆動するための回路であり、入力されたビデオ信号に応じて半導体レーザ703から発射されるレーザ光704をオン・オフ切替えする。半導体レーザ703は、回転多面鏡705に向けてレーザ光を発射する。回転多面鏡705は、レーザ光704を左右方向に振り、静電ドラム706上を走査させる。静電ドラム706は、レーザ光704の走査により文字パターンの静電潜像がドラム表面に形成される。
【0061】
現像ユニット707は、静電ドラム706周囲に配設されており、静電潜像を現像する。現像後は、記録紙に転写される。用紙カセット708は、記録紙として例えばカットシートを収納する。給紙ローラ709及び搬送ローラ710は、給紙カセット708内のカットシート記録紙をLBP本体740内に送り込み、静電ドラム706に供給する。この場合、用紙カセット708の蓋部上面に設けられた手差しトレイ(図示略)からカットシート記録紙を供給することもできる。
【0062】
定着部712は、カットシート記録紙に転写されたトナー像を加熱してカットシート記録紙上に定着させる。画像が形成された記録紙は、切り替えくさび713を上向きにした場合にはフェイスアップ排出部714から記録面を上にした状態で排紙トレイ716に排出され、くさび713を下向きにした場合にはフェイスダウン排出部715から記録面を下にした状態で排出される。
【0063】
図5は、スプーラ302における、スプールファイル303の生成におけるページ単位保存処理をフローチャートで示したものである。
【0064】
まずステップS501では、アプリケーションからの印刷要求を受け付ける。アプリケーションにおいては、図6に示すような印刷設定を入力するダイアログが表示され、このダイアログから入力された印刷設定がプリンタドライバよりスプーラ302に渡される。図6に示す設定入力ダイアログにおいては、801のような1物理ページにレイアウトする論理ページの数を決定するような設定項目等を含んでいる。
【0065】
ステップS502では、受け付けた印刷要求がジョブ開始要求か判定し、ステップS502でジョブ開始要求であると判断した場合には、ステップS503に進み、中間データを一時的に保存するためのスプールファイル303を作成する。続いて、ステップS504では、スプールファイルマネージャ304へ印刷処理の進捗を通知し、続くステップS505でスプーラ302のページ数カウンタを1に初期化する。ここで、スプールファイルマネージャ304においては、印刷が開始されたジョブに対するジョブの情報や加工設定などをスプールファイル303より読み込み、記憶する。
【0066】
一方、ステップS502において、ジョブ開始要求ではなかったと判断した場合には、ステップS506に進む。
【0067】
ステップS506では、受け付けた要求がジョブ終了要求かどうかの判別を行う。ジョブ終了要求でないと判断した場合には、ステップS507に進み、改ページかどうかの判別を行う。もしもステップS507で改ページであると判断した場合には、ステップS508に進み、スプールファイルマネージャ304へ印刷処理の進捗を通知する。そしてページ数カウンタをインクリメントする。
【0068】
ステップS507において、受け付けた印刷要求が改ページではないと判断した場合には、ステップS509に進み、中間ファイル書き出しの準備を行う。
【0069】
次に、ステップS510では、印字要求をスプールファイル303へ格納するための変換処理を行う。ステップS511では、ステップS510において格納可能な形に変換された印刷要求をスプールファイル303へ書き込む。その後、ステップS501に戻り、再びアプリケーションからの印刷要求を受け付ける。この一連のステップS501からステップS511までの処理を、アプリケーションよりジョブ終了要求を受け取るまで続ける。一方、ステップS506にて、アプリケーションからの印刷要求がジョブ終了であると判断した場合には、アプリケーションからの印刷要求は全て終了であるので、ステップS512に進み、スプールファイルマネージャ304へ印刷処理の進捗を通知し、処理を終える。
【0070】
図7は、スプールファイルマネージャ304における、スプールファイル303生成プロセスと以降説明する印刷データ生成プロセスの間での制御の詳細をフローチャートで示したものである。
【0071】
ステップS601では、スプーラ302あるいはデスプーラ305からの印刷処理の進捗通知を受け付ける。
【0072】
ステップS602では、進捗通知が前述のステップS504において通知されるスプーラ302からの印刷開始通知であるかどうか判定し、もしそうであればステップS603へ進み、印刷の加工設定をスプールファイル303から読み込み、ジョブの管理を開始する。一方、ステップS602において、スプーラ302からの印刷開始通知でなければステップS604へ進み、進捗通知が前述のステップS508において通知されるスプーラ302からの1論理ページの印刷終了通知であるかどうか判定する。ここで1論理ページの印刷終了通知であればステップS605へ進み、この論理ページに対する論理ページ情報を格納する。そして、続くステップS606では、この時点でスプールが終了したn論理ページに対して、1物理ページの印刷が開始できるかを判定する。ここで、印刷可能である場合はステップS607へ進み、印刷する1物理ページに対して割り付けられる論理数から物理ページ番号を決定する。
【0073】
物理ページの計算については、例えば、加工設定が1物理ページに4論理ページを配置するような設定の場合、第1物理ページは第4論理ページがスプールされた時点で印刷可能となり、第1物理ページとなる。続いて、第2物理ページは第8物理ページがスプールされた時点で印刷可能となる。
【0074】
また、論理ページ数の総数が1物理ページに配置する論理ページ数の倍数でなくても、ステップS512におけるスプール終了通知によって1物理ページに配置する論理ページが決定可能である。
【0075】
そして、ステップS608では、図8に示すような形式によって、印刷可能となった物理ページを構成する論理ページ番号と、その物理ページ番号などの情報がデスプーラ305に通知される。その後ステップS601に戻り、次の通知を待つ。本実施の形態においては、印刷データ1ページ、すなわち1物理ページを構成する論理ページがスプールされた時点で印刷ジョブのスプールが全て終了していなくても印刷処理が可能である。
【0076】
一方、ステップS604において、進捗通知がスプーラ302からの1論理ページの印刷終了通知でなかった場合ステップS609へ進み、前述のステップS512において通知されるスプーラ302からのジョブ終了通知であるかどうかを判定する。ここで、ジョブ終了通知である場合、前述のステップS606へ進む。一方、ジョブ終了通知でない場合、ステップS610へ進み、受け付けた通知がデスプーラ305からの1物理ページの印刷終了通知であるかどうか判定する。ここで、1物理ページの印刷終了通知である場合はステップS611へ進み、加工設定の印刷が全て終了したかを判定する。印刷終了した場合、ステップS612へ進み、デスプーラ305に印刷終了の通知を行う。一方、加工設定に対する印刷がまだ終了していないと判断した場合、前述の606へ進む。本実施の形態におけるデスプーラ305は同時に印刷処理を行える物理ページ数を1と想定している。
【0077】
ステップS610において、デスプーラ305からの1物理ページの印刷終了通知でないと判断された場合、ステップS613へ進み、デスプーラ305からの印刷終了通知かどうかを判定する。デスプーラ305からの印刷終了通知と判定された場合、ステップS614へ進み、スプールファイル303の削除を行い処理を終える。一方、デスプーラ305からの印刷終了通知でなかった場合はステップS615へ進み、その他通常処理を行い、次の通知を待つ。
【0078】
図9は、デスプーラ305における、印刷データの生成プロセスの詳細をフローチャートで示したものである。
【0079】
デスプーラ305は、およびスプールファイルマネージャ304からの印刷要求に応じて、スプールファイル303から必要な情報を読出して印刷データを生成する。生成された印刷データにおけるプリンタへの転送方法については図3で説明した通りである。
【0080】
印刷データの生成では、まず、ステップS701において、前述のスプールファイルマネージャ304からの通知を入力する。続くステップS702では、入力された通知がジョブの終了通知かどうか判定し、ジョブ終了通知であるならばステップS703へ進み、デスプーラ305の処理終了の通知をスプールファイルマネージャ304に通知し、処理を終える。一方、ステップS702においてジョブ終了通知でない場合は、ステップS704に進み、前述のステップS608における1物理ページの印刷開始要求が通知されたかどうか判定する。ここで1物理ページの印刷開始要求と判定された場合、ステップS705へ進み、スプールファイルマネージャ304から渡された図17に示す情報とスプールファイル303とから、指定された物理ページの印刷データ生成に必要な情報を読込み、印刷処理を行う。印刷処理はスプールファイル303に格納された印刷要求命令をデスプーラ305においてグラフィックエンジン202が認識可能な形式に変換し、転送する。本実施の形態のような、複数論理ページを1物理ページにレイアウトするような加工設定については、このステップで縮小配置を考慮に入れながら変換する。また、この時点で、図8に示すような形式でスプールファイル303に保存されているページ番号付加情報を読み込み、所定の位置に対してページ番号を付加する。
【0081】
必要な印刷処理が終えたならば、続くステップS706において1物理ページの印刷データ生成終了の通知をスプールファイルマネージャ304に対して行う。そしてステップS701へ戻り、次の通知を待つ。
【0082】
一方、ステップS704において開始要求と判定されなかった場合は、ステップS707へ進み、その他通常処理を行い、ステップS701へ戻り次の通知を待つ。
【0083】
図10は、図7及び図9のスプールファイルマネージャとデスプーラの処理を印刷処理に絞り込んで抜き出した図である。ステップの番号は図6、図7の対応するステップと同じ番号を振ってある。簡略化してしまえば、印刷工程を以下のステップで表現することもできる。
【0084】
ステップS613で印刷終了と判定されるまで、ステップS705に進み各物理ページに対して印刷処理を繰り返し、印刷が終了した倍はステップS614でスプールファイルを削除して終了する。
【0085】
図11は、本発明の印刷方法を従来の印刷工程に組み込む場合のフローチャートである。プリンタの制限を回避するためには、プリンタの制限を仮定する必要がある。本実施の形態では、プリンタの制限を超える部数を指定した場合にはその指定を無視して、プリンタの上限部数に丸めてしまうようなプリンタを想定して説明を行う。
【0086】
ステップS1101でユーザの指定した部数(UNum)を取得する。この値は、通常アプリケーションから印刷する際に表示される印刷ダイアログなどで設定される。
【0087】
ステップS1102でプリンタの部数制限の値(PNum)を取得する。この値は、プリンタに固有な場合は、プリンタ名と部数の上限値のテーブルを用意しておき、出力対称プリンタ名からテーブルを引くことで得ることが可能である。また、プリンタとホストで通信可能であれば印刷前にプリンタに問い合わせることで取得することも可能である。この場合の通信方法は、プリンタの用紙切れなどに使用する通信方法を流用して実現することができる。
【0088】
次にステップS1103に進み、ユーザの指定した部数と、プリンタの制限を比較する。比較した結果、ユーザの指定した部数がプリンタの制限以内である場合には、プリンタの制限を考慮する必要がないためステップS1104に進み通常の印刷工程どおり処理を行う。ステップS1140が図10のA〜Bに相当する処理となる。
【0089】
ユーザが指定した部数がプリンタの上限を超える場合は、ステップS1105に進み、プリンタの制限を回避するために特別な処理を行う。
【0090】
図12は、図11のステップS1105の、プリンタの制限を回避するための特別な処理を説明したフローチャートである。
【0091】
本実施の形態では、1回の印刷ジョブあたり最大でPNum部までしか印刷できないため、ユーザの指定する部数分印刷するには、印刷を複数回繰り返す必要がある。
【0092】
ステップS1201で印刷ジョブ数Jを求める。UNumをPNumで割った数(小数点以下切り上げ)を印刷ジョブ数とする。
【0093】
次に、ステップS1202で印刷ジョブ数J回だけ印刷を繰り返すためのループカウンタIを初期化する。
【0094】
ステップS1203でカウンタIと印刷ジョブ数Jを比較する。カウンタが印刷ジョブ数Jに達していない場合はステップS1206〜1208の処理へ進む。
【0095】
ステップS1206では、1回のデスプールで得られる印刷データを、プリンタ制限の上限であるPNum部印刷する。ここでの印刷処理は、図1乃至図11を用いて説明したとおりである。
【0096】
印刷データを全て印刷し終わった後、ステップS1207で印刷ジョブを一旦終了することをプリンタに通知し、一旦印刷を終了する。
【0097】
同時に、ステップS1208で印刷カウンタIを1インクリメントしてステップS1203に戻る。
【0098】
このように、IがJに達するまで、つまり、PNum部の印刷がJ−1回行なわれるまで、ステップS1206〜S1208の処理が繰り返される。
【0099】
そして、ステップS1203で最終回(J回目のジョブ)であると判定された時には、ステップS1204に進み最終回の部数を求める。この時点ですでにPNum×(J−1)部の出力が終わっているので、最終回はUNumをPNumで割った余りであるNを部数とすればよい。
【0100】
ステップS1205に進み、NをJ回目の印刷の部数として印刷を行い、終了する。
【0101】
なお、ステップS1201での計算においてUNumをPNumで割る際に、商J1と余りN1を求め、ステップS1206〜S1208の処理をJ1回だけ繰りかえし(J1個のPNum部印刷ジョブを生成し)、その後、S1205でN1部の印刷ジョブを生成してもよい。
【0102】
図13は本実施の形態の処理で、プリンタの制限が10部である場合であって、3ページの文書を印刷する際にユーザが24部を指定した場合の例である。印刷回数Jは24/10=2.4を切り上げて3回。1回〜2回目まではプリンタの上限である10部を指定、最終回である3回めは24を10で割った余りである4部を指定して印刷する。
【0103】
図12では、最終回の部数のみを特別扱いし、Nを部数としているが、これは最初の回であっても途中の印刷回数のいずれかであってもかまわない。
【0104】
このような処理を行なうことにより、プリンタの制限部数を越えた部数を指定した印刷が可能となる。また、かかる構成においてユーザが複数部数をパンチ穴指定で印刷した場合、プリンタの物理的な制限にかかわりなく、ユーザが指定した部数の印刷物をパンチ穴があいた状態で得ることが可能となる。
【0105】
また、かかる構成においてユーザが複数部数を部単位ソート指定した場合、プリンタの物理的な制限にかかわりなく、ユーザが指定した部数の印刷物を部単位でソートした状態で得ることが可能となる。
【0106】
また、かかる構成においてユーザが複数部数をその他のソート指定で印刷した場合、プリンタの物理的な制限にかかわりなく、ユーザが所望とするソート指定の印刷物を得ることが可能となる。
【0107】
(第2の実施の形態)
上記第1の実施の形態としてのプリンタシステムでは、ユーザがプリンタ制限を超えるような部数を指定して印刷した場合、ステップS1206において、J回繰り返すべく指定される部数は、プリンタの上限部数の値としている。排紙口を複数備え、排紙口を切り替えることで部単位の印刷を行うプリンタを用いて上記第1の実施の形態で説明した処理を実行する場合、プリンタの上限部数は、一般に排紙口の数と等しくなる。この場合、例えば、10個の排紙口を備えたプリンタで、24部の印刷を行なう場合には、図14に示すように排紙口1〜4に3部、排紙口5〜10に2部排出される。しかし、このように、排紙口を全て占有することは、望ましくないことが多い。例えば、他の印刷ジョブで既にいくつかの排紙口が占有されている場合もあり、その他、複合機ではファクシミリの受信のために排紙口をあけておく必要もある。
【0108】
そこで、排紙口の占有を回避する印刷処理を行なうことも好適である。図15は、そのような印刷処理のフローチャートである。大部分は図12のフローチャートで示した処理と同じである為、同じ処理を行なうステップについては、同じ符号を付してその説明は省略する。また、この処理以外の構成及び作用については第1の実施の形態と同様である為、その説明は省略する。
【0109】
ステップS1201で印刷回数Jを求めたのち、ステップS1501で部数の計算を行う。ここでは、UNum/Jの小数点以下を切り上げた数値を部数N1とし、このN1部の印刷をJ−1回繰り返す。
【0110】
ステップS1206では、ステップS1501で求めた部数N1だけ印刷を行なう。ステップS1204では、N2=UNum−N1×(J−1)で求めた値N2を最後に印刷する部数とする。
【0111】
第1の実施の形態同様、制限10部で、ユーザが24部を指定した場合、J=3、N1=24/3=8、N2=24−8×(3−1)=8となり、図16に示すように最大で8つの排紙口を占有するだけですむ。
【0112】
このように、印刷回数や各回の部数指定のアルゴリズムを変えたさまざまなバリエーションも本発明の範疇に含まれる。
【0113】
(第3の実施の形態)
第1の実施の形態及び第2の実施の形態はともに、ユーザが認識する印刷単位と、実際に一部の印刷を構成する単位が等しくなるような実施の形態であるが(共に1、2、3)、図17のフローチャートに示すようなアルゴリズムを採用してもよい。その他の構成及び作用については、第1の実施の形態と同様である為その説明は省略する。
【0114】
まず、ステップS1801で繰り返し印刷する回数、即ち、デスプール回数を求める。ここでは、ユーザにより指定された部数を、プリンタが一回の印刷動作で印刷可能な制限部数で割った商(小数点以下切り下げ)をそのデスプール回数とする。
【0115】
ステップS1802では、ステップS1801で求めた回数分デスプールした印刷データを1部とし、その印刷データをプリンタの制限部数印刷するように指定したジョブをプリンタに送り、印刷させる。
【0116】
次に、ステップS1803でステップS1802で印刷した合計部数(実際の部数:N1×PNum)とユーザの指定した部数(UNum)の差を求める。
【0117】
ステップS1804では、今度はデスプール1回分の印字データについて、求めた部数差を指定したジョブをプリンタに送り、再度印刷させる。
【0118】
具体的に、3ページ文書をユーザが30部指定、プリンタの制限が10部であった場合を例にとって説明する。デスプール回数は30/10=3回となる。プリンタの制限である10部を指定してホストからは、図19に示すようにデスプール3回分の印刷データである1,2,3,1,2,3,1,2,3を1部の印刷単位として送る。即ち、印刷単位を9ページと変更して、9ページの印刷データを1単位として、10部印刷する。
【0119】
このように、印刷単位を、元となる印刷データの単位(スプールされた印刷データの単位)とは異なる形式に変更して印刷処理を行うことでプリンタの制限を回避することも本発明の範疇である。
【0120】
なお、ここでは、同じ印刷データを重複してスプールしないことを想定しており、ユーザが考える印刷単位とスプールされる印刷単位とは等しいものと考えて説明したが、デスプール回数ではなく、スプールされたデータを変更することによって印刷単位を変更しても良い。
【0121】
また、ステップS1801でデスプール回数を求める際、ユーザにより指定された部数を、プリンタの制限部数で割っているが、第2の実施の形態において説明したように、プリンタの制限部数以下の部数で割ることによってデスプール回数を求めてもよい。その場合、例えば、制限回数が排紙口の数であれば、実質的に排紙可能な排紙口の数で割ってもよい。
【0122】
(第4の実施の形態)
第1の実施の形態では、複数の排紙口を有するプリンタの制限として排紙口数を利用しているが、実際の物理的な排紙口の数とプリンタの制限は異なっていてもかまわない。
【0123】
例えば、10個の排紙口を有するプリンタにおいて、他の印刷ジョブによって排紙口が3つ使用されている場合には、実際には使用できる排紙口の数としては7つである。
【0124】
また、ユーザによって使用可能な排紙口がそれぞFれ指定されている場合には、その排紙口がプリンタの制限である。
【0125】
このような場合、プリンタの制限を取得する際に、この使用可能な排紙口位置に関する情報も合わせて取得する必要がある。ユーザによる排紙口の使用制限がある場合は、ユーザ名などから使用可能な排紙口を引いてくるようなテーブルを用いることによって印刷に用いる排紙口を取得することも可能である。
【0126】
印刷を行う際の排紙口指定の制御には、従来からの方式(ジョブコマンド言語を用いる)などの方法を流用することが可能となる。
【0127】
(その他の実施の形態)
尚、本発明の機能が実行されるのであれば、一つの機器からなる装置(複写機、プリンタ、ファクシミリ装置など)に適用しても、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)からなるシステムに適用しても、LAN(Local Area Network:ローカルエリアネットワーク)、WAN(Wide Area Network:広域ネットワーク)等のネットワークを介して接続がなされ処理が行われるシステムに適用してもよい。
【0128】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成される。
【0129】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0130】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
【0131】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0132】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0133】
【発明の効果】
本発明によれば、プリンタの物理的な制限にかかわりなく、ユーザが指定した部数の印刷物を得ることが可能である。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態としてのホストコンピュータとプリンタとを含むシステムの構成を説明するブロック図である。
【図2】本発明の第1の実施の形態としてのホストコンピュータでのプリント処理を示すブロック図である。
【図3】本発明の第1の実施の形態としてのホストコンピュータでのプリント処理を詳細に説明するブロック図である。
【図4】本発明の第1の実施の形態としてのホストコンピュータと共にプリントシステムを構成可能なプリンタについて説明した図である。
【図5】スプーラ305における処理を示したフローチャートである。
【図6】印刷設定画面の一例を示す図である。
【図7】スプールファイルマネージャ304における印刷制御および物理ページ番号の決定について示したフローチャートである。
【図8】スプールファイルマネージャ304からデスプーラ305に対して物理ページの印刷要求を行う際に渡すデータ形式の一例を示した図である。
【図9】デスプーラ305における処理を示したフローチャートである。
【図10】図5、図6から印刷処理の部分を取り出してまとめた図である。
【図11】図10に本発明の処理を追加する例を示したフローチャートである。
【図12】本発明特有の処理をさらに詳しく説明したフローチャートである。
【図13】本発明の第1の実施の形態としてのホストコンピュータを利用した出力例を示す図である。
【図14】排紙口を複数有するプリンタに対して第1の実施の形態としてのホストコンピュータを利用した場合の出力状態を示す図である。
【図15】本発明の第2の実施の形態としてのホストコンピュータを含むプリントシステムの処理を示すフローチャートである。
【図16】本発明の第2の実施の形態としてのホストコンピュータを含むプリントシステムで処理を行った場合の出力状態を示す図である。
【図17】本発明の第3の実施の形態としてのホストコンピュータを含むプリントシステムの処理を示すフローチャートである。
【図18】本発明の第3の実施の形態としてのホストコンピュータを含むプリントシステムの出力を説明する図である。
【図19】従来のホストコンピュータからプリンタへのデータの転送を説明する図である。
【符号の説明】
1,12 CPU
2,19 RAM
3,13 ROM
4 システムバス
7 ディスクコントローラ
3000 ホストコンピュータ
1500 プリンタ

Claims (21)

  1. プリンタに送信すべき印刷ジョブを生成するプリンタドライバを有するホストコンピュータとしての情報処理装置における印刷制御方法であって、
    アプリケーションからグラフィックエンジンを介して受け取る印刷命令を中間コードに変換し、中間コードファイルとしてスプールする中間コード変換工程と、
    印刷ダイアログから入力された印刷設定を前記プリンタドライバから取得し、指定されている部数を取得する取得工程と、
    前記プリンタが一回の印刷動作で印刷可能な制限部数を認識する認識工程と、
    前記取得工程で取得された部数が前記認識工程で認識された制限部数より大きい場合に、1つの印刷ジョブにおいて印刷される部数が、前記認識工程で認識された制限部数以下となるように、前記取得工程で取得された部数を前記制限部数で割って得られる数の小数点以下を切り上げた値を印刷ジョブ数として、該印刷ジョブ数分、前記中間コード変換工程で生成された中間コードを繰り返しデスプールするデスプール工程と、
    前記デスプール工程でデスプールされた中間コードに応じて、前記プリンタドライバを用いて前記制限部数以内の印刷部数が指定された複数の印刷ジョブを生成する印刷制御工程と、
    を有することを特徴とする印刷制御方法。
  2. 前記印刷制御工程は、各印刷ジョブで印刷される部数の総和が前記取得工程で取得された部数となるような複数の印刷ジョブを生成することを特徴とする請求項1に記載の印刷制御方法。
  3. 前記印刷制御工程は、
    前記取得工程で取得された指定部数UNumと、前記認識工程で認識した前記制限部数PNumとを比較する比較工程と、
    前記比較工程での比較の結果、前記指定部数UNumが前記制限部数PNumよりも大きい場合に、UNumをPNumで割った商N1及び余りN2に基づき、前記制限部数PNum印刷する印刷ジョブをN1個と、N2部印刷する印刷ジョブを1個生成するジョブ生成工程と、
    を含むことを特徴とする請求項1または2に記載の印刷制御方法。
  4. 前記ジョブ生成工程は、
    前記指定部数UNumと、前記制限部数PNumを比較した結果、前記指定部数UNumが前記制限部数PNumよりも大きい場合に、UNumをPNumで割った商N1及び余りN2を求め、N2が0でない場合には、UNumを(N1+1)で割った商N3及び余りN4に基づき、N3部印刷する印刷ジョブをN1個と、N4部印刷する印刷ジョブを1個生成することを特徴とする請求項3に記載の印刷制御方法。
  5. 前記制限部数は、前記プリンタに備えられた全排紙口の数であることを特徴とする請求項1乃至のいずれか一つに記載の印刷制御方法。
  6. 前記制限部数は、前記プリンタに備えられた全排紙口のうち、有効な排紙口の数であることを特徴とする請求項1乃至のいずれか一つに記載の印刷制御方法。
  7. 前記取得工程では、排紙口の指定を取得することが可能であって、前記制限部数は前記取得工程で指定された排紙口の数であることを特徴とする請求項1乃至のいずれか一つに記載の印刷制御方法。
  8. プリンタに送信すべき印刷ジョブを生成するプリンタドライバを有するホストコンピュータとしての印刷制御装置であって、
    アプリケーションからグラフィックエンジンを介して受け取る印刷命令を中間コードに変換し、中間コードファイルとしてスプールする中間コード変換手段と、
    印刷ダイアログから入力された印刷設定を前記プリンタドライバから取得し、指定されている部数を取得する取得手段と、
    前記プリンタが一回の印刷動作で印刷可能な制限部数を認識する認識手段と、
    前記取得手段で取得した部数が前記認識手段で認識した制限部数より大きい場合に、1つの印刷ジョブにおいて印刷される部数が、前記認識手段で認識された制限部数以下となるように、前記取得工程で取得された部数を前記制限部数で割って得られる数の小数点以下を切り上げた値を印刷ジョブ数として、該印刷ジョブ数分、前記中間コード変換工程で生成された中間コードを繰り返しデスプールするデスプール手段と、
    前記デスプール手段でデスプールされた中間コードに応じて、前記プリンタドライバを用いて前記制限部数以内の印刷部数が指定された複数の印刷ジョブを生成する印刷制御手段と、
    を有することを特徴とする印刷制御装置。
  9. 前記印刷制御手段は、
    前記取得手段で取得された指定部数UNumと、前記認識手段で認識した前記制限部数PNumとを比較する比較手段と、
    前記比較手段による比較の結果、前記指定部数UNumが前記制限部数PNumよりも大きい場合には、UNumをPNumで割り、商N1と余りN2を求め、制限部数PNum印刷するジョブをN1個と、N2部印刷するジョブを1個生成するジョブ生成手段と、
    を含むことを特徴とする請求項に記載の印刷制御装置。
  10. 前記ジョブ生成手段は、
    前記指定部数UNumと、前記制限部数PNumを比較した結果、前記指定部数UNumが前記制限部数PNumよりも大きい場合に、UNumをPNumで割った商N1及び余りN2を求め、N2が0でない場合には、UNumを(N1+1)で割った商N3及び余りN4に基づき、N3部印刷するジョブをN1個と、N4部印刷するジョブを1個生成することを特徴とする請求項8または9に記載の印刷制御装置。
  11. プリンタに送信すべき印刷ジョブを生成するプリンタドライバを有するホストコンピュータとしての印刷制御装置であって、
    アプリケーションからグラフィックエンジンを介して受け取る印刷命令を中間コードに変換し、中間コードファイルとしてスプールする中間コード変換手段と、
    印刷ダイアログから入力された印刷設定を前記プリンタドライバから取得し、指定されている部数を取得する取得手段と、
    前記プリンタが一回の印刷動作で印刷可能な制限部数を認識する認識手段と、
    前記取得手段で取得された指定部数UNumと、前記認識手段で認識した前記制限部数PNumとを比較する比較手段と、
    前記取得手段で取得された部数が前記認識手段で認識された制限部数より大きい場合に、取得された部数を制限部数で割った商をデスプール回数として、前記中間コード変換手段で生成された中間コードを算出された当該デスプール回数分デスプールし、取得された部数を制限部数で割った余りの部数としての中間コードをデスプールするデスプール手段と、
    前記デスプール手段で前記デスプール回数分デスプールされた中間コードに応じて1つの印刷ジョブとして前記プリンタドライバを用いてプリンタ制御コマンドからなる擬似印刷データを生成し、該擬似印刷データを前記制限部数印刷する印刷ジョブを生成する印刷制御手段と、を有し、
    前記デスプール手段は、前記比較手段による比較の結果、前記指定部数UNumが前記 制限部数PNumよりも大きい場合には、UNumをPNumで割った商N1及び余りN2に基づいて、前記中間コード変換手段で生成された中間コードをN1のデスプール回数分連続させてデスプールし、その後、前記中間コード変換手段で生成された中間コードをN2を部数としてデスプールし、
    前記印刷制御手段は、N1のデスプール回数分デスプールされた中間コードに応じてPNum部数指定された擬似印刷データを生成し、その後デスプールされた中間コードに応じてN2部数指定された印刷データを生成することを特徴とする印刷制御装置。
  12. 前記制限部数は、前記プリンタに備えられた全排紙口の数であることを特徴とする請求項8乃至11の何れかに記載の印刷制御装置。
  13. 前記制限部数は、前記プリンタに備えられた全排紙口のうち、有効な排紙口の数であることを特徴とする請求項8乃至11の何れかに記載の印刷制御装置。
  14. 前記取得手段は、排紙口の指定を取得することが可能であって、前記制限部数は前記取得手段で指定された排紙口の数であることを特徴とする請求項8乃至11の何れかに記載の印刷制御装置。
  15. プリンタに送信すべき印刷ジョブを生成するプリンタドライバとしての印刷制御プログラムを格納したコンピュータ可読メモリであって、
    前記印刷制御プログラムはコンピュータに、
    アプリケーションからグラフィックエンジンを介して受け取る印刷命令を中間コードに変換し、中間コードファイルとしてスプールする中間コード変換工程と、
    印刷ダイアログから入力された印刷設定を前記プリンタドライバから取得し、指定されている部数を取得する取得工程と、
    前記プリンタが一回の印刷動作で印刷可能な制限部数を認識する認識工程と、
    前記取得工程で取得された部数が前記認識工程で認識された制限部数より大きい場合に、1つの印刷ジョブにおいて印刷される部数が、前記認識工程で認識された制限部数以下となるように、前記取得工程で取得された部数を前記制限部数で割って得られる数の小数点以下を切り上げた値を印刷ジョブ数として、該印刷ジョブ数分、前記中間コード変換工程で生成された中間コードを繰り返しデスプールするデスプール工程と、
    前記デスプール工程でデスプールされた中間コードに応じて、前記制限部数以内の印刷部数が指定された複数の印刷ジョブを生成する印刷制御工程と、
    を実行させることを特徴とする印刷制御プログラムを格納したコンピュータ可読メモリ。
  16. 前記印刷制御プログラムは、
    ユーザにより指定された部数を取得する取得工程と、
    前記取得工程で取得された指定部数UNumと、前記認識工程で認識した前記制限部数PNumとを比較する比較工程と、
    前記比較工程での比較の結果、前記指定部数UNumが前記制限部数PNumよりも大きい場合に、UNumをPNumで割った商N1及び余りN2に基づき、制限部数PNum印刷する印刷ジョブをN1個と、N2部印刷する印刷ジョブを1個生成するジョブ生成工程と、
    を更にコンピュータに実行させることを特徴とする請求項15に記載のコンピュータ可読メモリ。
  17. 前記ジョブ生成工程は、
    前記指定部数UNumと、前記制限部数PNumを比較した結果、前記指定部数UNumが前記制限部数PNumよりも大きい場合に、UNumをPNumで割った商N1及び余りN2を求め、N2が0でない場合には、UNumを(N1+1)で割った商N3及び余りN4に基づき、N3部印刷する印刷ジョブをN1個と、N4部印刷する印刷ジョブを1個生成することを特徴とする請求項16に記載のコンピュータ可読メモリ。
  18. プリンタに送信すべき印刷ジョブを生成するプリンタドライバとしての印刷制御プログラムを格納したコンピュータ可読メモリであって、
    前記印刷制御プログラムはコンピュータに、
    アプリケーションからグラフィックエンジンを介して受け取る印刷命令を中間コードに変換し、中間コードファイルとしてスプールする中間コード変換工程と、
    印刷ダイアログから入力された印刷設定を前記プリンタドライバから取得し、指定されている部数を取得する取得工程と、
    前記プリンタが一回の印刷動作で印刷可能な制限部数を認識する認識工程と、
    前記取得工程で取得された指定部数UNumと、前記認識工程で認識した前記制限部数PNumとを比較する比較工程と、
    前記取得工程で取得された部数が前記認識工程で認識された制限部数より大きい場合に、取得された部数を制限部数で割った商をデスプール回数として、前記中間コード変換工程で生成された中間コードを算出された当該デスプール回数分デスプールし、取得された部数を制限部数で割った余りの部数としての中間コードをデスプールするデスプール工程と、
    前記デスプール工程で前記デスプール回数分デスプールされた中間コードに応じて1つの印刷ジョブとして前記プリンタドライバを用いてプリンタ制御コマンドからなる擬似印刷データを生成し、該擬似印刷データを前記制限部数印刷する印刷ジョブを生成する印刷制御工程と、
    を実行させ
    前記デスプール工程は、前記比較工程での比較の結果、前記指定部数UNumが前記制限部数PNumよりも大きい場合には、UNumをPNumで割った商N1及び余りN2に基づいて、前記中間コード変換工程で生成された中間コードをN1のデスプール回数分連続させてデスプールし、その後、前記中間コード変換手段で生成された中間コードをN2を部数としてデスプールし、
    前記印刷制御工程は、N1のデスプール回数分デスプールされた中間コードに応じてPNum部数指定された擬似印刷データを生成し、その後デスプールされた中間コードに応じてN2部数指定された印刷データを生成することを特徴とする印刷制御プログラムを格納したコンピュータ可読メモリ。
  19. 前記制限部数は、前記プリンタに備えられた全排紙口の数であることを特徴とする請求項15乃至18のいずれか一つに記載のコンピュータ可読メモリ。
  20. 前記制限部数は、前記プリンタに備えられた全排紙口のうち、有効な排紙口の数であることを特徴とする請求項15乃至18のいずれか一つに記載のコンピュータ可読メモリ。
  21. 前記取得工程では、排紙口の指定を取得することが可能であって、前記制限部数は前記取得工程で指定された排紙口の数であることを特徴とする請求項15乃至18のいずれか一つに記載のコンピュータ可読メモリ。
JP36551498A 1998-12-22 1998-12-22 印刷制御方法及び印刷制御装置 Expired - Fee Related JP3710307B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP36551498A JP3710307B2 (ja) 1998-12-22 1998-12-22 印刷制御方法及び印刷制御装置
US09/466,643 US6337961B2 (en) 1998-12-22 1999-12-20 Print control method and apparatus, and printer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP36551498A JP3710307B2 (ja) 1998-12-22 1998-12-22 印刷制御方法及び印刷制御装置

Publications (2)

Publication Number Publication Date
JP2000187581A JP2000187581A (ja) 2000-07-04
JP3710307B2 true JP3710307B2 (ja) 2005-10-26

Family

ID=18484453

Family Applications (1)

Application Number Title Priority Date Filing Date
JP36551498A Expired - Fee Related JP3710307B2 (ja) 1998-12-22 1998-12-22 印刷制御方法及び印刷制御装置

Country Status (2)

Country Link
US (1) US6337961B2 (ja)
JP (1) JP3710307B2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6631007B1 (en) * 1999-12-14 2003-10-07 International Business Machines Corporation System and method for presenting multiple sheetlets on a medium surface while presenting multiple logical pages within the sheetlets
US6961138B1 (en) * 2000-08-15 2005-11-01 Hewlett-Packard Development Company, L.P. Image forming devices and image forming methods
JP3503744B2 (ja) * 2001-03-13 2004-03-08 セイコーエプソン株式会社 印刷制御プログラム、印刷制御プログラムを記録した媒体、印刷制御装置および印刷制御方法
US20030051044A1 (en) * 2001-09-12 2003-03-13 Parry Travis J. System and method for facilitating generation of hard copies
JP3962679B2 (ja) * 2002-12-05 2007-08-22 キヤノン株式会社 印刷制御方法及び装置
US6873807B2 (en) * 2003-03-20 2005-03-29 Kabushiki Kaisha Toshiba Image forming apparatus
US20040267868A1 (en) * 2003-06-26 2004-12-30 International Business Machines Corporation Method for monitoring print jobs in a data processing network
US7750510B2 (en) * 2004-02-04 2010-07-06 Hewlett-Packard Development Company, L.P. Device switch actuation
US20060203272A1 (en) * 2005-03-11 2006-09-14 Manalo Manuel A Print accounting by embedded PDL comments
US20080232840A1 (en) * 2007-03-20 2008-09-25 Kabushiki Kaisha Toshiba Image forming apparatus and method of the same
JP4925939B2 (ja) * 2007-06-20 2012-05-09 富士通株式会社 分析方法、分析システム、分析装置、及びプログラム
US20090103138A1 (en) * 2007-10-18 2009-04-23 Kabushiki Kaisha Toshiba Image forming indicating terminal and image forming indicating method
JP5312164B2 (ja) * 2009-04-10 2013-10-09 キヤノン株式会社 画像形成システム、コンピュータプログラム、及び制御方法
US9491324B2 (en) * 2014-02-24 2016-11-08 Ricoh Company, Ltd. Printer-pool based splitting of multi-copy print jobs

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54104837A (en) * 1978-02-03 1979-08-17 Nippon Denso Co Ltd Controller of copying machines
JP2598823B2 (ja) * 1989-08-31 1997-04-09 三田工業株式会社 画像形成装置の管理装置
JP3478008B2 (ja) * 1996-07-16 2003-12-10 ミノルタ株式会社 画像形成管理方法および管理システム
JP3397050B2 (ja) * 1996-07-26 2003-04-14 ミノルタ株式会社 画像形成装置

Also Published As

Publication number Publication date
US6337961B2 (en) 2002-01-08
JP2000187581A (ja) 2000-07-04
US20010038760A1 (en) 2001-11-08

Similar Documents

Publication Publication Date Title
JP3576819B2 (ja) 情報処理装置及び印刷制御方法並びに記憶媒体
JP4054444B2 (ja) 印刷制御装置及び印刷制御方法並びに記憶媒体
EP0895183B1 (en) Print control apparatus and method for page layout preparation
EP1278117B1 (en) Printing control apparatus and display method therefor
US7916339B2 (en) Print layout and apparatus and method
US7508410B2 (en) Printing apparatus and information processing apparatus, control method thereof, program, and storage medium
JP3747130B2 (ja) 情報処理装置、メッセージ表示方法、インタフェース装置、及びコンピュータ読み取り可能なプログラムが格納された記憶媒体
JP3710307B2 (ja) 印刷制御方法及び印刷制御装置
US6509977B1 (en) Printing control system, printing control method and storage medium
US7258497B2 (en) Tab paper 2-sided print method, tab paper 2-sided print program, computer readable storage medium program, and print control apparatus
US7315387B2 (en) Print control method and apparatus, and print system
US7170619B2 (en) Information processing apparatus, printing system, and command generating method
US7142327B2 (en) Information processing apparatus and print processing method
US6349243B1 (en) Printing apparatus, delivering method, print system, and memory medium
JP4267047B2 (ja) 情報処理装置および制御方法および記憶媒体
JP2002014797A (ja) 情報処理装置、印刷制御装置、およびその制御方法、および記憶媒体、およびその制御プログラム
US7027170B1 (en) Printing control system for separation printing
JPH10305631A (ja) 印刷制御装置および方法
JP2003058331A (ja) 印刷制御装置及び印刷制御方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040513

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040521

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040716

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20041101

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041228

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20050228

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050801

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050809

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080819

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090819

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090819

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100819

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110819

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120819

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120819

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130819

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees