JP3780109B2 - Information processing apparatus, information processing apparatus control method, and computer-readable storage medium storing information processing apparatus control program - Google Patents

Information processing apparatus, information processing apparatus control method, and computer-readable storage medium storing information processing apparatus control program Download PDF

Info

Publication number
JP3780109B2
JP3780109B2 JP34367798A JP34367798A JP3780109B2 JP 3780109 B2 JP3780109 B2 JP 3780109B2 JP 34367798 A JP34367798 A JP 34367798A JP 34367798 A JP34367798 A JP 34367798A JP 3780109 B2 JP3780109 B2 JP 3780109B2
Authority
JP
Japan
Prior art keywords
stored
spool
storage unit
printer
printing
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 - Lifetime
Application number
JP34367798A
Other languages
Japanese (ja)
Other versions
JP2000168198A (en
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 JP34367798A priority Critical patent/JP3780109B2/en
Publication of JP2000168198A publication Critical patent/JP2000168198A/en
Application granted granted Critical
Publication of JP3780109B2 publication Critical patent/JP3780109B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、受信データをスプール記憶手段へ一時的に記憶し、指定された回数分連続的に処理するジョブスプール機能を有するプリンタと通信可能な情報処理装置、情報処理装置の制御方法、および情報処理装置の制御プログラムを格納したコンピュータ読取可能な記憶媒体に関するものである。
【0002】
【従来の技術】
従来より、印刷装置において、複数ページから成る印刷物を複数部数印刷させるための構成が種々知られている。
【0003】
たとえば、ホストコンピュータから複数ページを構成する印刷データを複数回繰り返してプリンタへ送信すれば、プリンタ排紙部へ出力用紙を送信回数分に丁合いしながら積載していく事(以下「丁合い出力」という)が可能となり、ユーザはページを揃え直(丁合い)す必要なく、1部ぶんのページを綴じる(ステープラなどの排紙機構があればこれも必要なくなる)だけで、複数ページから成る複数部の印刷物を得られる。
【0004】
しかし、上記のように複数ページを構成する印刷データを複数回繰り返してプリンタへ送信する処理によると、ホストコンピュータとプリンタ間でのデータ通信負荷が送信回数に比例して大きくなってしまう問題がある。
【0005】
この点に鑑み、近年のプリンタには、受信データを特定の記憶手段へ一時的に記憶しておき、指定された回数分データを繰り返し受信したかのように実行できる蓄積印刷機能(以下「ジョブスプール機能」という)を持つものがある。このジョブスプール機能によると、おおよそ1回(1部)ぶんの印刷データをプリンタへ送信するだけの通信負荷で前記のような丁合い出力を実現することができる。
【0006】
このようなプリンタのジョブスプール機能を用いて丁合い出力を行う場合には、ホストコンピュータ上で動作する従来のプリンタドライバは、通常生成するプリンタ制御コマンド群に加えて、プリンタが一時的に記憶した受信データを何回繰り返して処理するかを指定するプリンタ制御コマンドを付加し、プリンタに送信する。
【0007】
【発明が解決しようとする課題】
しかしながら、上記のようにプリンタのジョブスプール機能を利用して、プリンタに1部ぶんのデータをあらかじめ送信し、指定回数(部数)だけ印刷させる方式では、次のような問題がある。
【0008】
すなわち、プリンタドライバが生成するプリンタ制御コマンドの総データサイズはコマンド生成処理の終了時まで分からないため、前記プリンタで一次的に記憶可能である最大データサイズをプリンタ制御コマンドの総データサイズが超えてしまう可能性があった。従って、従来構成によると、プリンタのジョブスプール機能を用いた丁合い出力は、常に成功する、という保証がなかった。
【0009】
また、上記の問題を解決するために、単にホストコンピュータ上で動作するプリンタドライバが指定された回数だけプリンタ制御コマンドを常に繰り返して出力する旧来の方法を用いれば、プリンタ制御コマンドの総データサイズや指定回数に比例してホストコンピュータとプリンタ間の通信負荷が大きく増加してしまう問題が生じるのは前述の通りである。
【0010】
このようなプリンタ〜ホストコンピュータの間のデータ通信負荷の増大により、システム環境や条件によっては、システム全体のパフォーマンス劣化を生じる恐れもある。特に、複数のホストコンピュータ、プリンタがネットワーク接続され、相互にネットワーク共有している資源が多ければ多いほどこのような問題は生じやすくなる。
【0011】
本発明の課題は上記の問題を解決し、プリンタ〜ホストコンピュータの間のデータ通信負荷を低減し、しかも、丁合い出力のような複数部数の印刷出力においてプリンタのジョブスプール機能を確実に利用できるように保証できるようにすることにある。
【0012】
【課題を解決するための手段】
上記の課題を解決するために、本発明においては、受信データをスプール記憶手段へ一時的に記憶し印刷制御コマンドにて指定された回数分前記受信データを連続的に印刷処理するジョブスプール機能を有するプリンタと通信可能な情報処理装置、情報処理装置の制御方法、および情報処理装置の制御プログラムを格納したコンピュータ読取可能な記憶媒体において、
前記プリンタのスプール記憶手段に記憶可能な印刷データのデータサイズを取得し、
取得した前記スプール記憶手段に記憶可能なデータサイズおよび記憶手段に記憶された前記プリンタにて印刷すべき印刷データを用いて、前記スプール記憶手段に前記印刷データを収めて前記ジョブスプール機能を用いた印刷をすることが可能であるか否かを判定する第1の判定を行ない、
前記第1の判定により、前記スプール記憶手段に前記印刷データを収めて前記ジョブスプール機能を用いた印刷をすることができないと判定された場合、前記スプール記憶手段に記憶可能なデータサイズを変更することにより、前記スプール記憶手段に前記印刷データを収めて前記ジョブスプール機能を用いた印刷をすることが可能となるか否かを判定する第2の判定を行ない、
前記第2の判定により、前記スプール記憶手段に記憶可能なデータサイズを変更することにより前記スプール記憶手段に前記印刷データを収めて前記ジョブスプール機能を用いた印刷をすることが可能であると判定された場合、前記スプール記憶手段に記憶可能なデータサイズを変更するための変更指示を前記プリンタに対して送信し、前記第2の判定より、前記スプール記憶手段に記憶可能なデータサイズを変更しても前記スプール記憶手段に前記印刷データを収めて前記ジョブスプール機能を用いた印刷をすることができないと判定された場合、前記記憶手段に記憶されている印刷データを指定回数だけ繰り返して出力することにより生成される印刷ジョブを送信する送信制御を行なう構成を採用した。
あるいはさらに、前記送信制御において、前記第2の判定により、前記スプール記憶手段に記憶可能なデータサイズを変更することにより前記スプール記憶手段に前記印刷データを収めて前記ジョブスプール機能を用いた印刷をすることが可能であると判定された場合、前記ジョブスプール機能を利用して指定回数だけ印刷させる第1の出力処理と、前記記憶手段により記憶されている前記印刷データを前記指定回数だけプリンタへ出力させる第2の出力処理のうち、いずれの処理が高速に処理できるかを判定し、その判定結果に応じて前記第1乃至第2のいずれかの出力処理を選択して実行する構成を採用した。
あるいはさらに、出力用紙を送信回数分丁合いする丁合い出力が指定されている場合に前記第1の判定処理を実行する構成を採用した。
【0015】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を詳細に説明する。
【0016】
[第1実施形態]
図1は本発明を採用した印刷システムの全体構成を示している。ここでは、便宜上ホストコンピュータ3000とプリンタ1500から成るシステムを示しているが、この2つが一体化された単体の機器から成る印刷システムであってもよい。また、複数の機器からなる印刷システムであっても、その数には制限はなく、また、LAN、WAN等のネットワークを介して複数のホストコンピュータやプリンタなどの機器の相互接続が行われる印刷システムであっても本発明を適用できるのはいうまでもない。
【0017】
図1において、3000はホストコンピュータで、ROM3のプログラム用ROMに記憶された文書処理プログラム等に基づいて図形、イメージ、文字、表(表計算等を含む)等が混在した文書処理を実行するCPU1を備え、システムバス4に接続される各デバイスをCPU1が総括的に制御することにより上記の処理を行なう。
【0018】
また、図1のROM3のプログラム用ROMあるいは外部メモリ11(ハードディスクなどの外部記憶装置)は、CPU1の制御プログラムであるオペレーティングシステムプログラム(以下OS)等を記憶する。ROM3のフォント用ROMあるいは外部メモリ11には上記文書処理の際に使用するフォントデータ等を記憶し、ROM3のデータ用ROMあるいは外部メモリ11は上記の文書処理等を行う際に使用する各種データ(例えば、ディレクトリ情報、プリンタドライバテーブル等)を記憶する。
【0019】
ホストコンピュータ3000の制御の主体は、ハードウェア上はCPUである。一方、ソフトウェア上は制御の主体はプリンタ制御コマンド生成プログラム(以下プリンタドライバ)というアプリケーションソフトウェアである。本実施形態では、OSは例えば、ウィンドウズ95(マイクロソフト社製)を想定しているが、これに限るものではない。
【0020】
図1において符号2はRAMで、CPU1の主メモリ、およびワークエリア等として機能する。後述のように、本実施形態のプリンタ制御においても、このRAM2がワークエリアとして用いられる。
【0021】
符号5はキーボードコントローラ(KBC)で、キーボード9や不図示のポインティングデバイスからのキー入力を制御する。6はCRTコントローラ(CRTC)で、CRTディスプレイ(CRT)10の表示を制御する。7はディスクコントローラ(DKC)で、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタドライバ等を記憶するハードディスク(HD)、フロッピーディスク(FD)等の外部メモリ11とのアクセスを制御する。
【0022】
符号8はプリンタコントローラ(PRTC)で、所定の双方向性インターフェース21を介してプリンタ1500に接続されて、プリンタ1500との通信制御処理を実行する。双方向性インターフェース21としては、IEEE1284などが考えられるが、他のインターフェース、たとえばSCSI、USB、IEEE1394などのバスやイーサネットなどのネットワークインターフェースによりホストコンピュータ3000とプリンタ1500が接続されていてもよい。
【0023】
なお、CPU1は、例えばRAM2上に設定された表示情報RAMへのアウトラインフォントの展開(ラスタライズ)処理を実行し、CRT10上においてGUIを用いたWYSIWYG(What You See Is What You Get)な処理を可能としている。また、CPU1は、CRT10上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウィンドウを開き、種々のデータ処理を実行する。
【0024】
プリンタ1500において、12はプリンタCPUで、ROM13のプログラム用ROMに記憶された制御プログラム等あるいは外部メモリ14に記憶された制御プログラム等に基づいてシステムバス15に接続される印刷部(プリンタエンジン)17に出力情報としての画像信号を出力する。
【0025】
また、このROM13のプログラムROMには、CPU12の制御プログラム等を記憶する。ROM13のフォント用ROMには上記出力情報を生成する際に使用するフォントデータ等を記憶し、ROM13のデータ用ROMにはハードディスク等の外部メモリ14がないプリンタの場合には、ホストコンピュータ上で利用される情報等を記憶している。
【0026】
CPU12は入力部18を介してホストコンピュータとの通信処理が可能となっており、プリンタ内の情報等をホストコンピュータ3000に通知できるように構成されている。
【0027】
符号19はCPU12の主メモリ、ワークエリア等として機能するRAMで、このRAM19は、ビットマップ情報の展開処理に用いられる領域、環境データ格納領域、バッテリバックアップされたNVRAM領域などとして割り当てられている。RAM19は不図示の増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。
【0028】
外部メモリ14は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、1501は操作パネルで、この操作パネル1501上にはスイッチ、LED、LCDなどの表示器、その他の部品が配置されている。
【0029】
前述の外部メモリ14は1個に限らず、少なくとも1個以上備え、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。さらに、図示しないNVRAMを有し、操作パネル1501からのプリンタモード設定情報を記憶するようにしてもよい。
【0030】
前述のハードディスク、ICカード等の外部メモリ14は、ディスクコントローラ(DKC)20によりアクセスを制御される。
【0031】
本実施形態においては、上記のRAM19は、特定のプリンタ制御コマンドを受け付けた場合、それ以降に受信したデータを直ちに処理せずに一時的に記憶し、同データを指定された回数だけ連続的に受信したかのように処理できる機能(以下ジョブスプール機能という)のジョブスプール記憶領域として用いられる。このジョブスプール記憶領域として割り当て(確保)可能な最大サイズは後述のプリンタ制御コマンドを用いて、設定することができる。このジョブスプール記憶領域の確保は、前記のオプションRAM増設によるメモリ容量拡張とは別に後述のようにソフトウェア的に行なわれるものである。
【0032】
さて、本実施形態のプリンタ1500は、特定のプリンタ制御コマンドを受け付けた場合、それ以降に受信したデータを直ちに処理せず、RAM19へ一時的に記憶し、同データを指定された回数だけ連続的に受信したかのように処理できる機能(ジョブスプール機能)を有する。前記機能を指定するプリンタ制御コマンドのフォーマットを以下に示す。
【0033】
@PJL JOBSPOOL COPIES=num ENDSTRING="word"
<LF> …(1)
num 一時記憶したデータを何度連続処理するかを示す数値
word 印刷データの終了を指示するための文字列

キャリッジリターンキャラクタ
<LF> ラインフィードキャラクタ
ここで、「@PJL」は、プリンタ制御コマンドの開始を、また、「JOBSPOOL」はコマンドの種別を示すニーモニックであり、プリンタ1500が上記の「@PJL」で始まるコマンドを受信すると、同コマンド直後のデータから「word」で指定された文字列の直前までのデータをRAM19へ保存する。そして保存終了後に、プリンタ1500はRAM19に保存されたデータを上記コマンドの「num」で指定された回数だけあたかも受信したように連続処理する。
【0034】
このようなジョブスプール機能を用いる事により、プリンタ排紙部へ出力用紙を「word」で指定された回数分に丁合いしながら積載していく(以下丁合い出力)ことが可能となる。
【0035】
ここで、上記のジョブスプール機能において、プリンタ1500に一時記憶可能な受信データサイズはRAM19のハードウェア容量や他の処理との兼ねあいにより、予めプリンタに設定されている最大容量以下に制限される。この最大確保容量を変更する場合は、操作パネル1501を用いて所定の方法で設定変更を行うか、同様の効果を持つ以下に示すプリンタ制御コマンドをプリンタ1500へ送信し、プリンタ再起動を行うかハードウェア設定を更新するためのプリンタ制御コマンド(以下ハードウェアリセット命令)をプリンタ1500へ送信するものとする。
【0036】
@PJL SET SPOOL-SIZE=x
<LF> …(2)
x 一時記憶可能なデータサイズを示す数値(Mega-Byte単位)

キャリッジリターンキャラクタ
<LF> ラインフィードキャラクタ
ここで、「@PJL」は、プリンタ制御コマンドの開始を、また、「SET」はコマンドの種別を示すニーモニックであり、その後の「SPOOL-SIZE=x」の部分とともにジョブスプール機能においてプリンタ1500に保存可能な受信データサイズを設定するためのものである。
【0037】
なお、上記のプリンタ制御コマンドにより確保されるジョブスプール記憶領域の確保容量の最大値は、RAM19のハードウェア的な最大容量、他の用途のための記憶領域との兼ねあいによりおのずと制限がある。ホストコンピュータ3000から要求されたジョブスプール記憶領域の容量を確保できれば、プリンタ1500は所定の肯定レスポンスを、また確保できなければ、確保不可能である旨のレスポンスをホストコンピュータ3000に返すものとする。
【0038】
また、プリンタ1500に設定されている前記容量サイズは、ホストコンピュータ3000から特定のプリンタ制御コマンドによる情報取得請求があった場合に、ホストコンピュータ3000へ通知できるものとする。
【0039】
なお、本実施形態で示すプリンタ1500は、上記プリンタ制御コマンド(1)を受け付けた場合に、受信データをRAM19へ記憶すると限定しているが、プリンタ1500に内蔵されている外部メモリ14などの任意の記憶手段へ記憶しても良いし、これらを組み合わせて記憶手段として活用しても良い。たとえば、RAM19上で要求されたジョブスプール記憶領域の容量を確保できなければ、自動的に外部メモリ14の空きを調べ、そのうちの妥当な量をジョブスプール記憶領域として確保し、ホストコンピュータ3000の要求を満足させる構成も考えられる。
【0040】
ホストコンピュータ3000において、BIOS、OS、アプリケーション、及び本発明による情報処理方法が適用されたプリンタドライバが、CPU1により動作する。BIOSはプログラムROM3に書き込まれており、OSは外部メモリ11であるハードディスクに書き込まれている。そして、ホストコンピュータ3000の電源がONされた時に、BIOSプログラム中のIPL(Initial Program Loading)機能により、OSの実行コードイメージがハードディスクからRAM2へ読み込まれ、該OSの動作が開始する。
【0041】
そして、実際にプリンタドライバが動作可能となるのは、ユーザ等の指示により、前記ホストコンピュータ3000上でOS管理のもとに動作するアプリケーションが印刷処理を開始した場合で、プリンタドライバを記憶している外部メモリ11等の媒体から、OS及びBIOSの制御のもとに、プリンタドライバが読み出され、RAM2へロードされた時である。
【0042】
ここで、本実施形態のプリンタドライバは、狭義のドライバ、つまりプリンタポートを駆動するためだけのドライバソフトウェアではなく、後述のプリンタのジョブスプール機能の設定、上記のプリンタ制御コマンドの生成などを含む本発明の処理を行なうものであり、RAM2へロードされるまでは、その任意の部分はホストコンピュータ上の任意の記憶媒体の任意の記憶位置に記憶されるものであってよい。
【0043】
以下では、プリンタドライバに本発明の処理が実装される場合の例を示すが、本発明の特徴的な処理の全部、あるいは任意の一部はプリンタドライバのみならず、アプリケーションソフトウェアなどの上に実装されていてもかまわない。
【0044】
図2は、本発明を採用したプリンタドライバがホストコンピュータ3000上のRAM2へロードされ、実行可能となった状態のメモリマップ21を示している。符号22は印刷を行なうアプリケーションの記憶領域、23は使用されていない空きメモリ、24はプリンタドライバの制御に必要な各種のパラメータを記憶するデータ領域、25はプリンタドライバ本体の記憶領域、26はOSの記憶領域、27はBIOSの記憶領域(この一部はROM上に割り合てられる場合もある)である。図2のメモリ配置はあくまでも一例であり、OSの仕様や慣習に応じてこれとは異なる配置になっていてもかまわない。
【0045】
以下、本発明を適用したプリンタドライバの処理について詳しく説明する。
【0046】
本発明を適用したプリンタドライバがOSを介したアプリケーションの印刷要求を受け付けてプリンタ制御コマンドを順次生成する際の処理の概略を図3のフローチャートに示す。また、図4は図3のステップ303、図5は図3のステップ307の処理内容を示したものである。
【0047】
図3に示した通り、アプリケーションが印刷処理を開始してから終了するまでの間、プリンタドライバはOSを介したアプリケーションからの印刷要求を受け付け続ける(ステップS301)。受け付けた印刷要求は、まず、印刷開始を意味するものかどうかを判定され(ステップS302)、もしそうであれば、ステップS303(図4)を処理した後、再びアプリケーションからの印刷要求を受け付け始める。
【0048】
ステップS302で印刷要求が印刷開始を意味するものではないと判定された後、それが印刷終了を意味するものであると判定された(ステップS304)場合には、ステップS307(図5)へ進み、その後、プリンタ制御コマンド生成処理を終了する。
【0049】
ステップS302とステップS304で、それぞれ、印刷要求が印刷開始または印刷終了を意味するものではないと判定された場合には、印刷要求の内容に応じたプリンタ制御コマンドを生成(ステップS305)し、OSが管理するシステムスプーラを介して、同プリンタ制御コマンドをプリンタ1500へ出力する(ステップS306)。
【0050】
次に、アプリケーションからの印刷要求が印刷開始を意味するものであった場合のプリンタドライバ処理(ステップS303)を図4を用いて詳細に説明する。
【0051】
まず、プリンタドライバは印刷開始要求を受け付けた際に得た追加情報を参照して丁合い出力が指定されていないかどうかを判定(ステップS401)し、指定されていないと判定した場合には、アプリケーションまたはOSより入力された出力ポート名などを含む出力先情報をもとに印刷ジョブをオープンする(ステップS405)。
【0052】
一方、ステップS401において丁合い出力が指定されていると判定した場合には、アプリケーション、またはOSより入力された出力先情報をホストコンピュータ3000のRAM2上へ保存(ステップS402)した後、OSが提供するファンクションコールを利用してテンポラリファイルのフルパス名を生成する(ステップS403)。また、これと同時に前記のテンポラリファイルのフルパス名もRAM2上へ保存する(ステップS403)。
【0053】
次にプリンタドライバは、ステップS403で生成したテンポラリファイルのフルパス名でアプリケーションまたはOSより入力された出力先情報を置き換えて印刷ジョブをオープンする(ステップS404)。
【0054】
ちなみに、OSが提供するシステムスプーラを用い、テンポラリファイルのフルパス名を出力先として指定した印刷ジョブをオープンして、印刷終了時に印刷ジョブをクローズすれば、結果、指定したフルパス名が示すファイルに全てのプリンタ制御コマンドを記憶することが可能となる。これは、印刷ジョブをオープンした際に取得した識別子(ハンドル)を用いてシステムスプーラへデータを書き込めば、印刷ジョブのオープン時に指定した出力先へのデータ出力が、システムスプーラによって透過的に行われるからである。
【0055】
次に、アプリケーションからの印刷要求が印刷終了を意味するものであった場合のプリンタドライバ処理(ステップS307)を図5を用いて詳細に説明する。
【0056】
まず、最初に、プリンタドライバはオープン中の印刷ジョブをクローズした(ステップS501)後、印刷終了要求を受け付けた際に得た追加情報を参照して丁合い出力が指定されていないかどうかを判定(ステップS502)する。ステップS502において丁合い出力が指定されていないと判定された場合には、そのまま処理を終了するが、丁合い出力が指定されていると判定された場合には、前記ステップS402で保存しておいた出力先情報をRAM2上から読み込み、その情報をもとにして印刷ジョブを新たにオープンする(ステップS503)。
【0057】
続いて、プリンタドライバは、テンポラリファイルへ一時記憶しておいたプリンタ制御コマンドの総データサイズをOSのファンクションコールを用いて求め、RAM2上へ記憶する(ステップS504)。次にプリンタドライバはジョブスプール機能を用いた場合にプリンタ1500が一時記憶可能な最大データサイズを取得し、RAM2上へ記憶する(ステップS505)。なお、本実施形態においては、プリンタ1500が一時記憶可能な最大データサイズは、専用アプリケーション(たとえばプリンタドライバのインストーラなど)が所定のタイミングでプリンタ1500と通信して取得した上、外部メモリ11上の予め決められた場所へ、予め決められたフォーマットで保存されているものとし、プリンタドライバはこの情報をOSのファンクションコールを用いてRAM2上へ読み込む事により、前記ステップS505の処理を行なうものとする。ただし、ステップS505の処理は、プリンタ1500がジョブスプール記憶領域に一時記憶可能な最大データサイズの情報が必要になる毎にプリンタ1500と通信して該情報を取得するものであってもよい。
【0058】
そしてプリンタドライバは、ステップS504で取得したプリンタ制御コマンドの総データサイズとステップS505で取得したプリンタ1500のジョブスプール機能における最大記憶データサイズを比較(ステップS506)し、前者の方が小さい、もしくは等しいと判定した場合には直ちにステップS510へ進み、テンポラリファイルへ一時記憶しておいたプリンタ制御コマンドの先頭に上述の(1)として示したプリンタ制御コマンドを、また後尾に印刷データの終了を指示するための文字列を付加して、システムスプーラへ出力する。
【0059】
一方、ステップS506において、前者(プリンタ制御コマンドの総データサイズ)の方が大きいと判定した場合には、プリンタ1500のジョブスプール記憶領域の最大記憶データサイズを更新可能かどうかをプリンタ構成情報から判定すると共に、更新したらプリンタ制御コマンドの総データサイズが収まるのに十分な領域を確保できるのかどうかを判定する(ステップS507)。
【0060】
ステップS507において、プリンタ1500のジョブスプール記憶領域の最大記憶データサイズを更新しても依然プリンタ制御コマンドの総データサイズの方が大きいと判定された場合には、テンポラリファイルへ一時記憶しておいたプリンタ制御コマンドを所定の回数だけ繰り返してシステムスプーラへ出力する(ステップS508)。
【0061】
一方、ステップS507において、プリンタ1500のジョブスプール記憶領域の最大記憶データサイズを更新すればプリンタ制御コマンドの総データサイズ分をプリンタ1500に一時記憶可能と判定した場合には、プリンタ1500のジョブスプール記憶領域の最大記憶データサイズを更新する印刷ジョブをシステムスプーラへ出力し(ステップS509)、ステップS510に移行する。
【0062】
なお、ステップS509においては、上述の(2)として示したプリンタ制御コマンドとハードウェアリセット命令で構成される印刷ジョブをシステムスプーラを介して(OSなどの構成によってはシステムスプーラを介さずに送信してもよい)プリンタ1500へ出力することにより、プリンタ1500のジョブスプール記憶領域の最大記憶データサイズを更新する処理を行なうものとする。
【0063】
そして、ステップS508または510に続いて、プリンタドライバはステップS503において新たにオープンした印刷ジョブをクローズし(ステップS511)、丁合い出力が指定された場合の処理(ステップS503〜511)を終了する。
【0064】
以上に示したように、本実施形態によれば、丁合い出力が指定されている場合に、順次生成したプリンタ制御コマンドを直ちにプリンタ1500へは出力せず、ホストコンピュータ3000上の外部メモリ11へ一時的に記憶しておき、その総データサイズがジョブスプール機能を用いた際にプリンタ1500が一時記憶可能である最大データサイズを超えていないかどうかを判定し、超えている場合にはプリンタ1500が一時記憶可能な最大データサイズを更新する印刷ジョブをプリンタ1500へ発行してから、ジョブスプール機能を適用した印刷ジョブを出力するので、従来のようにオーバーフローを生じることなく、丁合い出力のような複数部数の印刷出力において、プリンタのジョブスプール機能を利用して、所定の回数分の印刷出力を確実に保証でき、プリンタ〜ホストコンピュータ間の通信負荷増大を回避することができる、という優れた効果がある。
【0065】
また、プリンタの最大記憶データサイズを再設定してもプリンタから取得した最大記憶データサイズを超えてしまう場合、ジョブスプール機能を利用せず、テンポラリファイルに記憶しておいた印刷データを指定回数だけプリンタへ出力させるようにしているので、印刷出力が不可能になってしまう事がなく、確実に印刷出力を得ることができる、という優れた効果がある。
【0066】
なお、以上では、本発明の機能がプリンタドライバに実装される構成を例示したが、外部からインストールされるプログラムに本発明の機能が実装されていてもかまわない。その場合、本発明を適用した処理プログラムは任意のコンピュータ読取可能な記憶媒体から読み込まれるものであってよい。すなわち、本発明を適用した処理プログラムはCD−ROMやフラッシュメモリやFD等の記憶媒体により、あるいは、電子メールやパソコン通信等のネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置やホストコンピュータを含むシステム内にロードすることにより、ホストコンピュータあるいは出力装置に供給することが可能である。
【0067】
[第2実施形態]
第1実施形態では、プリンタ1500のジョブスプールのための最大記憶データサイズを更新不可能であればテンポラリファイルに一時記憶しておいたプリンタ制御コマンドを所定の回数だけ繰り返してプリンタ1500へ出力するようにしている。しかし、前述の図5のステップS506〜510を改良し、テンポラリファイルへ一時記憶しておいたプリンタ制御コマンドを所定の回数だけ繰り返してプリンタ1500へ出力する手法と、プリンタ1500のジョブスプールのための最大記憶データサイズを更新する印刷ジョブをプリンタ1500へ出力してからジョブスプール機能を適用した印刷ジョブを出力する手法のどちらが高速に印刷処理を行えるか判定してから、いずれかの手法を選択実行する構成も考えられる。以下では、このような印刷処理の最適化を含む構成を例示する。
【0068】
本実施形態が示すプリンタドライバでは、図6に示した処理を実行する。図6のステップS506〜510は、第1実施形態の図5のステップS506〜510を置換するのである。図6の各処理フローを示す符号のうち、図5と同じ番号を付した処理フローは、前記実施形態と全く同一の処理内容を示しているものとする。
【0069】
図6のステップS506において、ホストコンピュータ3000の外部メモリ11へテンポラリファイルとして記憶しておいたプリンタ制御コマンドの総データサイズがプリンタ1500で一時記憶可能な最大データサイズよりも小さいか等しいと、判定された場合には、前記実施形態と同様にステップS510へ進み、ジョブスプール機能を適用した印刷ジョブを生成し、出力する。
【0070】
一方、ステップS506において、テンポラリファイルとして記憶しておいたプリンタ制御コマンドの総データサイズがプリンタ1500で一時記憶可能な最大データサイズよりも大きいと判定された場合には、プリンタ1500の最大記憶データサイズを更新可能かどうかをプリンタ1500の構成情報から判定すると共に、更新したらプリンタ制御コマンドの総データサイズが収まるのに十分な領域をプリンタ1500へ確保できるのかどうかを判定する(ステップS507)。
【0071】
ここで、プリンタ1500の最大記憶データサイズを更新しても依然としてプリンタ制御コマンドの総データサイズをプリンタ1500の一時記憶領域へ収めることが不可能だと判定された場合には、テンポラリファイルへ一時記憶しておいたプリンタ制御コマンドを所定の回数だけ繰り返してプリンタ1500へ出力する(ステップS508)。
【0072】
一方、プリンタ1500の最大記憶データサイズを更新すればプリンタ制御コマンドの総データサイズをプリンタ1500へ一時記憶可能であるとステップS507において判定した場合には、ステップS508が示す処理手法とステップS509及び510が示す処理手法に要するそれぞれの処理時間を計算する(ステップS601)。
【0073】
本実施形態で示したプリンタ1500が保持するジョブスプール機能とは受信データを単純に指定された回数だけ繰り返して受信したかのように処理する機能である。従って、前記に示した2つの処理手法に要する処理時間を比較する場合には、次に示した処理内容に必要となる処理時間がそれぞれ分かれば良いこととなる。
【0074】
1.ホストコンピュータ3000上における印刷データ生成処理の処理時間
2.ホストコンピュータ3000上におけるプリンタ1500の最大記憶データサイズを更新するための印刷データ生成処理の処理時間
3.上記2.の印刷データに関するホストコンピュータ3000からプリンタ1500へのデータ通信処理の処理時間
4.プリンタ1500で最大記憶データサイズを更新するための処理時間
5.上記1.の印刷データに関するホストコンピュータ3000からプリンタ1500へのデータ通信処理の処理時間
本実施形態では、上記1.及び上記5.に要する処理時間は単純に扱うデータサイズに比例して増加するものとし、上記4に要する処理時間は概ね一定になることとする。なお、前記実施形態で示した通り、プリンタ1500の最大記憶データサイズを更新するための印刷ジョブは、上記(2)で示したプリンタ制御コマンドとハードウェアリセット命令で構成されるので、この印刷ジョブ自体のデータサイズは相対的に非常に小さいものとなる。従って、本実施形態では上記2及び上記3のプリンタ1500のジョブスプールにおける最大記憶データサイズ更新処理の要する処理時間は無視して、2つの印刷手法に必要となる処理時間をそれぞれ計算し、比較することにする(もちろん、正確を期す場合にはジョブスプールにおける最大記憶データサイズ更新処理の処理時間を加味した計算を行なうようにしてもよい)。
【0075】
ここで、上記の処理時間1、5、4に要する総処理時間を、それぞれP,Q,R(単位:msec)で表現するものとすれば、1バイトの印刷データの処理速度p(単位:msec/byte,テンポラリファイルを読み出し、送信準備する処理に要する速度)、および1バイトの印刷データの通信速度q(単位:msec/byte)に対して扱うデータサイズを乗算するとP、Qがそれぞれ求められる。さらに、ホストコンピュータ3000上の外部メモリ11上にテンポラリファイルとして記憶しておいたプリンタ制御コマンド群の総データサイズをS(単位:byte)とし、丁合いする回数(丁合い出力する部数)をTとする。そして、ステップS508(テンポラリファイルのプリンタコマンドを複数回送信する場合)の処理時間をγ(単位:msec)、また、ステップS509およびステップS510(プリンタのジョブスプール機能を利用する場合)の処理を行ったとした場合の合計処理時間をθ(単位:msec)で表現すれば、これらγ、θはそれぞれ次のような計算式で表すことが可能となる。
【0076】

Figure 0003780109
したがって、ステップS602において、本実施形態で示すプリンタドライバは上記の計算式で算出したγとθを比較する。ここで、γがθよりも小さいか等しいと判定された場合には、ステップS508へ進むが、γの方が大きいと判定された場合にはステップS509へ進み、プリンタ1500の最大記憶データサイズを更新する印刷ジョブをシステムスプーラを介してプリンタ1500へ出力した後、ジョブスプール機能を適用した印刷ジョブを出力する(ステップS510)。すなわち、テンポラリファイルのプリンタコマンドを複数回送信したほうが速いと判定すればステップS508に進み、一方、プリンタのジョブスプール機能を利用したほうが速いと判定すればステップS509に進む。
【0077】
本実施形態の処理(図6)によれば、ホストコンピュータ3000上に一時記憶しておいたプリンタ制御コマンド群の総データサイズがプリンタ1500の最大記憶データサイズを超えてしまうが、プリンタ1500の最大記憶データサイズを更新することによりジョブスプール機能を利用できる場合であっても、予めジョブスプール機能を利用しない方法との処理速度を比較し、これらのうちいずれか高速な処理手法を選択実行することができ、比較的に高速な印刷処理を行いながら、所定の回数分の丁合いされた用紙出力結果を保証できるという優れた効果がある。
【0078】
本発明の処理を実現するためのプログラム、および制御データは、印刷システムを構成するホストコンピュータ、プリンタなど任意の装置の任意の記憶媒体に格納されていてよい。特に、プリンタのジョブスプール機能において受信データを一時的に記憶可能な最大データサイズについては、種々の構成が考えられる。
【0079】
たとえば、プリンタのジョブスプール記憶領域の受信データを一時的に記憶可能な最大データサイズをホストコンピュータの記憶手段に記憶する構成が考えられ、その場合、ホストコンピュータ内のNVRAMなどの不揮発性のメモリ、着脱可能な記憶手段など、任意の記憶手段に記憶させておくことができる。また、一旦プリンタから取得した最大データサイズに関する情報は、リソースファイルなどの形式でOSがシャットダウンされる際などにハードディスクなどの外部記憶装置に退避されるような構成であってもよい。特に、上記のように不揮発的に最大データサイズを保持しておく構成によれば、面倒な再設定操作を行なわなくても、継続的にジョブスプールに関しては同一の条件でシステムを動作させることができる。
【0080】
また、プリンタのジョブスプール記憶領域の受信データを一時的に記憶可能な最大データサイズは、ユーザがホストコンピュータ上で動作する任意のプログラムのユーザインターフェイス(たとえばプリンタドライバの動作をカスタマイズするユーザインターフェース、プリンタを用いるあらゆる情報処理を行なうアプリケーションプログラムのユーザインターフェースなど)を介して好みの値を設定できるようにすることが考えられる。このような構成により、たとえば、ユーザはプリンタの用途に応じ、好みのプリンタ内蔵フォントの展開や外部からプリンタへのフォントダウンロードのために必要なメモリ容量をプリンタ上に確保しておくことが可能となる。
【0081】
また、前述のように、プリンタのジョブスプール記憶領域の受信データを一時的に記憶可能な最大データサイズをプリンタのメモリ(内蔵メモリ、あるいは着脱可能な拡張メモリなど)に格納しておき、ホストコンピュータ側からプリンタ制御コマンドのインターフェースを用い、双方向インターフェイスやネットワークを介して取得し、また再設定できるようにしておくことができる。
【0082】
特に、上記のようにホストコンピュータ側に最大データサイズを記憶できる機構も設けられている場合には、プリンタのメモリに記憶されているジョブスプール記憶領域の最大データサイズの情報と、ホストコンピュータのメモリに記憶されている最大データサイズの情報をなんらかの手法で同期させる必要があるが、このためには当業者において必要に応じて任意の手法を採用すればよい。たとえば、前記のように丁合い印刷が必要となった時に、プリンタ側から取得し、これにホストコンピュータ側のメモリの内容を同期させ、再設定の必要が生じた場合は両者を同時に更新するような方法が考えられる。
【0083】
また、以上の各実施形態では、プリンタのジョブスプール機能の最大データサイズを再設定するところまでを示したが、その後の処理については、種々の構成が考えられる。たとえば、ジョブスプール機能の最大データサイズの設定をプリンタ側の設定メモリに残しても良いし、また、再設定の必要となった(丁合い)出力ジョブの処理が終了したらジョブスプール機能の最大データサイズの設定を当該ジョブが開始される前の状態に復帰させるようにしてもよい。
【0084】
【発明の効果】
以上から明らかなように、本発明によれば、順次生成したプリンタ制御コマンドを直ちにプリンタへは出力せず、ホストコンピュータ上で一時的に記憶しておき、その総データサイズがジョブスプール機能を用いた際にプリンタが一時記憶可能である最大データサイズを超えていないかどうかを判定し、超えている場合にはプリンタが一時記憶可能な最大データサイズを更新する印刷ジョブをプリンタへ発行してから、ジョブスプール機能を適用した印刷ジョブを出力するようにしているので、プリンタ〜ホストコンピュータの間のデータ通信負荷を低減し、しかも、丁合い出力のような複数部数の印刷出力においてプリンタのジョブスプール機能を確実に利用できるように保証できる、という優れた効果がある。
【0085】
あるいはさらに、プリンタの最大記憶データサイズを再設定してもプリンタから取得した最大記憶データサイズを超えてしまう場合、ジョブスプール機能を利用せず、記憶しておいた印刷データを指定回数だけプリンタへ出力させることもでき、その場合、印刷出力が不可能になってしまう事がなく、確実に印刷出力を得ることができる、という優れた効果がある。
【0086】
あるいはさらにプリンタの最大記憶データサイズを更新することによりジョブスプール機能を利用できる場合であっても、予めジョブスプール機能を利用しない方法との処理速度を比較し、これらのうちいずれか高速な処理手法を選択実行することができ、比較的に高速な印刷処理を行いながら所定の回数分で丁合いされた用紙出力結果を保証できるという優れた効果がある。
【図面の簡単な説明】
【図1】本発明を採用した印刷システムの構成を示したブロック図である。
【図2】本発明を採用したプリンタドライバがホストコンピュータのRAM上にロードされて実行可能となった状態におけるメモリマップ図である。
【図3】本発明を採用したプリンタドライバの処理の概略を示したフローチャート図である。
【図4】図3のステップS303の処理を示したフローチャート図である。
【図5】図3のステップS307の処理を示したフローチャート図である。
【図6】異なる実施形態における図5の変更部分を示したフローチャート図である。
【符号の説明】
1、12 CPU
2、19 RAM
3、13 ROM
4、15 システムバス
5 KBC
6 CRTC
7、20 DKC
8 PRTC
11、14 外部メモリ
18 入力部
1500 プリンタ
1501 操作パネル
3000 ホストコンピュータ[0001]
BACKGROUND OF THE INVENTION
The present invention Receive Data is temporarily stored in the spool storage means for the specified number of times. Process continuously Printer with job spool function Processing apparatus capable of communicating with information processing apparatus, information processing apparatus control method, and computer readable storage medium storing information processing apparatus control program It is about.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, various configurations for printing a plurality of copies of a plurality of pages in a printing apparatus are known.
[0003]
For example, if print data composing multiple pages is repeatedly sent to the printer from the host computer, the output paper is stacked on the printer paper discharge unit while collating the number of transmissions (hereinafter referred to as “collation output”). The user does not need to realign (collate) the pages, and only binds one page (no need for a paper discharge mechanism such as a stapler). Multiple copies can be obtained.
[0004]
However, according to the processing for repeatedly transmitting print data constituting a plurality of pages to the printer as described above, there is a problem that the data communication load between the host computer and the printer increases in proportion to the number of transmissions. .
[0005]
In view of this point, recent printers temporarily store received data in a specific storage unit, and can execute an accumulation printing function (hereinafter referred to as “job”) that can be executed as if the data has been repeatedly received a specified number of times. Some have a "spool function". According to this job spool function, it is possible to realize the collation output as described above with a communication load of transmitting print data about once (one copy) to the printer.
[0006]
When collation output is performed using the job spool function of such a printer, the conventional printer driver operating on the host computer temporarily stores the printer control commands in addition to the normally generated printer control commands. A printer control command specifying how many times the received data is repeatedly processed is added and transmitted to the printer.
[0007]
[Problems to be solved by the invention]
However, the above-described method of using the job spool function of the printer to send one copy of data to the printer in advance and printing it for the designated number of times (number of copies) has the following problems.
[0008]
That is, since the total data size of the printer control command generated by the printer driver is not known until the end of the command generation process, the total data size of the printer control command exceeds the maximum data size that can be temporarily stored in the printer. There was a possibility. Therefore, according to the conventional configuration, there is no guarantee that collation output using the job spool function of the printer will always succeed.
[0009]
In addition, in order to solve the above problem, if an old method is used in which the printer driver operating on the host computer always outputs the printer control command repeatedly for the designated number of times, the total data size of the printer control command and As described above, the communication load between the host computer and the printer greatly increases in proportion to the specified number of times.
[0010]
Due to such an increase in data communication load between the printer and the host computer, the performance of the entire system may be deteriorated depending on the system environment and conditions. In particular, such a problem is more likely to occur as a plurality of host computers and printers are connected to the network and there are more resources sharing the network.
[0011]
The object of the present invention is to solve the above problems, reduce the data communication load between the printer and the host computer, and can reliably use the job spool function of the printer for printing a plurality of copies such as collation output. There is to be able to guarantee that.
[0012]
[Means for Solving the Problems]
In order to solve the above problems, in the present invention, received data is temporarily stored in the spool storage means. With the print control command For the specified number of times The received data Continuously printing In an information processing apparatus capable of communicating with a printer having a job spool function to be processed, a control method for the information processing apparatus, and a computer-readable storage medium storing a control program for the information processing apparatus,
Obtaining the data size of print data that can be stored in the spool storage means of the printer;
Using the acquired data size that can be stored in the spool storage unit and the print data to be printed by the printer stored in the storage unit, the print data is stored in the spool storage unit and the job spool function is used. A first determination is made to determine whether printing is possible,
When it is determined by the first determination that the print data cannot be stored in the spool storage unit and printing using the job spool function is performed, the data size that can be stored in the spool storage unit is changed. Thus, a second determination is made to determine whether the print data can be stored in the spool storage means and printing using the job spool function can be performed,
According to the second determination, it is determined that the print data can be stored in the spool storage unit by changing the data size that can be stored in the spool storage unit and printing using the job spool function can be performed. Said spool A change instruction for changing the data size that can be stored in the storage means is transmitted to the printer. From the second determination, it is determined that even if the data size that can be stored in the spool storage unit is changed, the print data cannot be stored in the spool storage unit and printing using the job spool function cannot be performed. If a print job is generated, a print job generated by repeatedly outputting the print data stored in the storage means a specified number of times is transmitted. A configuration for performing transmission control is adopted.
Alternatively, in the transmission control, according to the second determination, the print data is stored in the spool storage unit by changing a data size that can be stored in the spool storage unit, and printing using the job spool function is performed. If it is determined that the print data can be printed, the first output processing for printing the specified number of times using the job spool function and the print data stored in the storage unit to the printer for the specified number of times. A configuration is adopted in which which one of the second output processes to be output can be processed at high speed, and one of the first to second output processes is selected and executed according to the determination result. did.
Alternatively, a configuration is adopted in which the first determination process is executed when collation output for collating the output paper for the number of times of transmission is designated.
[0015]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
[0016]
[First Embodiment]
FIG. 1 shows the overall configuration of a printing system employing the present invention. Here, for convenience, a system including the host computer 3000 and the printer 1500 is shown, but a printing system including a single device in which the two are integrated may be used. Even if the printing system is composed of a plurality of devices, the number is not limited, and a printing system in which a plurality of devices such as a host computer and a printer are interconnected via a network such as a LAN or a WAN. However, it goes without saying that the present invention can be applied.
[0017]
In FIG. 1, reference numeral 3000 denotes a host computer, which is a CPU 1 that executes document processing in which graphics, images, characters, tables (including spreadsheets, etc.) are mixed based on a document processing program stored in a program ROM of the ROM 3. , And the CPU 1 performs overall control of each device connected to the system bus 4 to perform the above processing.
[0018]
Further, the program ROM of the ROM 3 in FIG. 1 or the external memory 11 (external storage device such as a hard disk) stores an operating system program (hereinafter referred to as OS) which is a control program of the CPU 1. The font ROM or the external memory 11 of the ROM 3 stores font data used for the document processing, and the ROM 3 data ROM or the external memory 11 stores various data (for example, the document processing etc.). For example, directory information, a printer driver table, etc.) are stored.
[0019]
The main control of the host computer 3000 is a CPU in hardware. On the other hand, in software, the main control is application software called a printer control command generation program (hereinafter referred to as a printer driver). In this embodiment, the OS is assumed to be, for example, Windows 95 (manufactured by Microsoft Corporation), but is not limited thereto.
[0020]
In FIG. 1, reference numeral 2 denotes a RAM which functions as a main memory and a work area of the CPU 1. As will be described later, this RAM 2 is also used as a work area in the printer control of this embodiment.
[0021]
Reference numeral 5 denotes a keyboard controller (KBC) which controls key input from a keyboard 9 or a pointing device (not shown). Reference numeral 6 denotes a CRT controller (CRTC) which controls display on a CRT display (CRT) 10. Reference numeral 7 denotes a disk controller (DKC) for accessing the external memory 11 such as a hard disk (HD) or floppy disk (FD) for storing a boot program, various applications, font data, user files, edit files, printer drivers, and the like. Control.
[0022]
Reference numeral 8 denotes a printer controller (PRTC) which is connected to the printer 1500 via a predetermined bidirectional interface 21 and executes communication control processing with the printer 1500. The bidirectional interface 21 may be IEEE1284 or the like, but the host computer 3000 and the printer 1500 may be connected by another interface, for example, a bus such as SCSI, USB, IEEE1394, or a network interface such as Ethernet.
[0023]
The CPU 1 executes, for example, outline font development (rasterization) processing on the display information RAM set on the RAM 2 and can perform WYSIWYG (What You See Is What You Get) processing using a GUI on the CRT 10. It is said. Further, the CPU 1 opens various windows registered based on commands instructed by a mouse cursor (not shown) on the CRT 10 and executes various data processing.
[0024]
In the printer 1500, reference numeral 12 denotes a printer CPU, which is a printing unit (printer engine) 17 connected to the system bus 15 based on a control program stored in the program ROM of the ROM 13 or a control program stored in the external memory 14. An image signal is output as output information.
[0025]
Further, the control program of the CPU 12 and the like are stored in the program ROM of the ROM 13. The font ROM of the ROM 13 stores font data used when generating the output information, and the ROM 13 data ROM is used on the host computer in the case of a printer without the external memory 14 such as a hard disk. Information to be stored is stored.
[0026]
The CPU 12 can communicate with the host computer via the input unit 18 and is configured to notify the host computer 3000 of information in the printer.
[0027]
Reference numeral 19 denotes a RAM that functions as a main memory, a work area, and the like for the CPU 12. The RAM 19 is allocated as an area used for developing bitmap information, an environment data storage area, a battery-backed NVRAM area, and the like. The RAM 19 is configured so that the memory capacity can be expanded by an optional RAM connected to an expansion port (not shown).
[0028]
The external memory 14 is connected as an option and stores font data, an emulation program, form data, and the like. Reference numeral 1501 denotes an operation panel. On the operation panel 1501, a display such as a switch, LED, LCD, and other components are arranged.
[0029]
The above-mentioned external memory 14 is not limited to one, and at least one external memory 14 is provided. In addition to the built-in font, an optional font card and a plurality of external memories storing programs for interpreting printer control languages of different language systems can be connected. May be. Furthermore, an NVRAM (not shown) may be provided to store printer mode setting information from the operation panel 1501.
[0030]
Access to the external memory 14 such as the hard disk and the IC card is controlled by a disk controller (DKC) 20.
[0031]
In the present embodiment, when the RAM 19 receives a specific printer control command, the RAM 19 temporarily stores the data received thereafter without immediately processing it, and continuously stores the data for the designated number of times. It is used as a job spool storage area for functions that can be processed as if received (hereinafter referred to as job spool functions). The maximum size that can be allocated (reserved) as the job spool storage area can be set using a printer control command described later. The securement of the job spool storage area is performed by software as will be described later, in addition to the expansion of the memory capacity by adding the optional RAM.
[0032]
When the printer 1500 of this embodiment receives a specific printer control command, it does not immediately process the data received thereafter but temporarily stores it in the RAM 19 and continuously stores the data for the designated number of times. Have a function (job spool function) that can be processed as if they were received. The format of a printer control command that designates the function is shown below.
[0033]
@PJL JOBSPOOL COPIES = num ENDSTRING = "word"
<LF> (1)
num Numeric value indicating how many times the temporarily stored data is processed
word Character string to indicate the end of print data

Carriage return character
<LF> Line feed character
Here, “@PJL” is the start of a printer control command, and “JOBSPOOL” is a mnemonic indicating the type of command. When the printer 1500 receives a command starting with the above “@PJL”, it immediately follows the command. To the RAM 19 are stored in the RAM 19 until the character string designated by “word”. After the storage is completed, the printer 1500 continuously processes the data stored in the RAM 19 as if it were received as many times as specified by the “num” of the command.
[0034]
By using such a job spool function, it is possible to stack the output paper on the printer paper discharge unit while collating the number of times designated by “word” (hereinafter, collation output).
[0035]
Here, in the above-described job spool function, the received data size that can be temporarily stored in the printer 1500 is limited to a maximum capacity that is set in advance in the printer due to the hardware capacity of the RAM 19 and other processing. . When changing this maximum reserved capacity, whether to change the setting by a predetermined method using the operation panel 1501, or to send the following printer control command having the same effect to the printer 1500 and restart the printer Assume that a printer control command (hereinafter referred to as a hardware reset command) for updating hardware settings is transmitted to the printer 1500.
[0036]
@PJL SET SPOOL-SIZE = x
<LF> (2)
x Numeric value indicating the data size that can be temporarily stored (in Mega-Byte units)

Carriage return character
<LF> Line feed character
Here, “@PJL” is a mnemonic indicating the start of a printer control command, and “SET” is a command type. After that, the “SPOOL-SIZE = x” portion together with the “SPOOL-SIZE = x” portion is sent to the printer 1500. This is for setting the storable received data size.
[0037]
Note that the maximum value of the reserved capacity of the job spool storage area secured by the printer control command is naturally limited due to the combination of the hardware maximum capacity of the RAM 19 and the storage area for other purposes. If the capacity of the job spool storage area requested by the host computer 3000 can be secured, the printer 1500 returns a predetermined positive response to the host computer 3000, and if not secured, the printer 1500 returns a response indicating that the job spool storage area cannot be secured.
[0038]
The capacity size set in the printer 1500 can be notified to the host computer 3000 when the host computer 3000 requests information acquisition by a specific printer control command.
[0039]
Note that the printer 1500 shown in this embodiment is limited to storing the received data in the RAM 19 when the printer control command (1) is received, but the external memory built in the printer 1500 is limited. 14 It may be stored in any storage means such as, or a combination of these may be utilized as the storage means. For example, if the capacity of the requested job spool storage area on the RAM 19 cannot be secured, the external memory automatically 14 A configuration is also conceivable in which the available space is checked, a reasonable amount of the space is secured as a job spool storage area, and the requirements of the host computer 3000 are satisfied.
[0040]
In the host computer 3000, the CPU 1 operates a printer driver to which the BIOS, OS, application, and information processing method according to the present invention are applied. The BIOS is written in the program ROM 3, and the OS is written in the hard disk as the external memory 11. When the host computer 3000 is turned on, the OS execution code image is read from the hard disk into the RAM 2 by the IPL (Initial Program Loading) function in the BIOS program, and the operation of the OS starts.
[0041]
The printer driver can actually be operated when an application operating under OS management on the host computer 3000 starts print processing in response to an instruction from the user or the like. This is when the printer driver is read out from the medium such as the external memory 11 under the control of the OS and BIOS and loaded into the RAM 2.
[0042]
Here, the printer driver of this embodiment is not a driver in a narrow sense, that is, driver software for driving a printer port, but a book that includes setting of a job spool function of a printer to be described later, generation of the printer control command, and the like. The processing of the invention is performed, and any portion thereof may be stored in any storage location on any storage medium on the host computer until loaded into the RAM 2.
[0043]
In the following, an example in which the processing of the present invention is implemented in the printer driver is shown, but all or some of the characteristic processing of the present invention is implemented not only on the printer driver but also on application software. It may be done.
[0044]
FIG. 2 shows a memory map 21 in a state where a printer driver employing the present invention is loaded into the RAM 2 on the host computer 3000 and becomes executable. Reference numeral 22 is a storage area for an application for printing, 23 is an unused memory area, 24 is a data area for storing various parameters necessary for controlling the printer driver, 25 is a storage area for the printer driver body, and 26 is an OS. 27 is a BIOS storage area (a part of which may be allocated on the ROM). The memory arrangement in FIG. 2 is merely an example, and it may be different from that according to the specifications and customs of the OS.
[0045]
Hereinafter, processing of the printer driver to which the present invention is applied will be described in detail.
[0046]
A flowchart of FIG. 3 shows an outline of processing when a printer driver to which the present invention is applied receives a print request from an application via the OS and sequentially generates printer control commands. 4 shows the processing contents of step 303 in FIG. 3, and FIG. 5 shows the processing contents of step 307 in FIG.
[0047]
As shown in FIG. 3, the printer driver continues to accept print requests from the application via the OS from when the application starts the printing process to when it ends (step S <b> 301). The received print request is first determined whether or not it signifies the start of printing (step S302). If so, step S303 (FIG. 4) is processed, and then the print request from the application is started again. .
[0048]
If it is determined in step S302 that the print request does not mean the start of printing, and if it is determined that it means the end of printing (step S304), the process proceeds to step S307 (FIG. 5). Thereafter, the printer control command generation process is terminated.
[0049]
If it is determined in steps S302 and S304 that the print request does not mean print start or print end, a printer control command corresponding to the content of the print request is generated (step S305), and the OS The printer control command is output to the printer 1500 via the system spooler managed by (step S306).
[0050]
Next, the printer driver process (step S303) when the print request from the application signifies the start of printing will be described in detail with reference to FIG.
[0051]
First, the printer driver refers to the additional information obtained when the print start request is received, and determines whether collation output is not specified (step S401). A print job is opened based on output destination information including an output port name input from an application or OS (step S405).
[0052]
On the other hand, if it is determined in step S401 that collation output is designated, the output destination information input from the application or the OS is saved in the RAM 2 of the host computer 3000 (step S402), and then provided by the OS. The full path name of the temporary file is generated using the function call (step S403). At the same time, the full path name of the temporary file is also stored on the RAM 2 (step S403).
[0053]
Next, the printer driver replaces the output destination information input from the application or the OS with the full path name of the temporary file generated in step S403, and opens the print job (step S404).
[0054]
By the way, if you use a system spooler provided by the OS, open a print job that specifies the full path name of the temporary file as the output destination, and close the print job when printing ends, the result is that all the files indicated by the specified full path name The printer control command can be stored. If data is written to the system spooler using the identifier (handle) acquired when the print job is opened, the data output to the output destination specified when the print job is opened is transparently performed by the system spooler. Because.
[0055]
Next, printer driver processing (step S307) in the case where the print request from the application means the end of printing will be described in detail with reference to FIG.
[0056]
First, after the printer driver closes the open print job (step S501), the printer driver determines whether collation output is designated with reference to additional information obtained when a print end request is received. (Step S502). If it is determined in step S502 that collation output is not designated, the process is terminated, but if it is determined that collation output is designated, it is stored in step S402. The output destination information is read from the RAM 2 and a print job is newly opened based on the information (step S503).
[0057]
Subsequently, the printer driver obtains the total data size of the printer control commands temporarily stored in the temporary file using the OS function call, and stores it on the RAM 2 (step S504). Next, when using the job spool function, the printer driver acquires the maximum data size that can be temporarily stored in the printer 1500 and stores it in the RAM 2 (step S505). In this embodiment, the maximum data size that can be temporarily stored in the printer 1500 is acquired by a dedicated application (for example, a printer driver installer) communicating with the printer 1500 at a predetermined timing, and then stored in the external memory 11. It is assumed that the printer driver is stored in a predetermined format in a predetermined location, and the printer driver reads the information into the RAM 2 by using an OS function call, thereby performing the process of step S505. . However, the process of step S505 may be performed by communicating with the printer 1500 and acquiring the information every time the printer 1500 needs information on the maximum data size that can be temporarily stored in the job spool storage area.
[0058]
The printer driver then compares the total data size of the printer control command acquired in step S504 with the maximum stored data size in the job spool function of the printer 1500 acquired in step S505 (step S506), and the former is smaller or equal. If YES, the process immediately proceeds to step S510, in which the printer control command shown as (1) above is instructed at the beginning of the printer control command temporarily stored in the temporary file, and the end of the print data is instructed at the end. Is added to the system spooler.
[0059]
On the other hand, if it is determined in step S506 that the former (total data size of the printer control command) is larger, it is determined from the printer configuration information whether the maximum storage data size of the job spool storage area of the printer 1500 can be updated. At the same time, it is determined whether or not a sufficient area can be secured to accommodate the total data size of the printer control command after the update (step S507).
[0060]
If it is determined in step S507 that the total data size of the printer control command is still larger even after updating the maximum storage data size of the job spool storage area of the printer 1500, the temporary data is temporarily stored in the temporary file. The printer control command is repeated a predetermined number of times and output to the system spooler (step S508).
[0061]
On the other hand, if it is determined in step S507 that the maximum data size of the job spool storage area of the printer 1500 is updated, the total data size of the printer control command can be temporarily stored in the printer 1500. A print job for updating the maximum storage data size of the area is output to the system spooler (step S509), and the process proceeds to step S510.
[0062]
In step S509, a print job composed of the printer control command and the hardware reset command shown as (2) above is transmitted via the system spooler (in some configurations such as the OS, not via the system spooler). It is also possible to perform processing for updating the maximum storage data size in the job spool storage area of the printer 1500 by outputting to the printer 1500.
[0063]
Then, following step S508 or 510, the printer driver closes the print job newly opened in step S503 (step S511), and ends the process when collation output is designated (steps S503 to 511).
[0064]
As described above, according to the present embodiment, when collate output is designated, the sequentially generated printer control commands are not immediately output to the printer 1500, but to the external memory 11 on the host computer 3000. It is temporarily stored, and it is determined whether or not the total data size exceeds the maximum data size that the printer 1500 can temporarily store when the job spool function is used. Issues a print job that updates the maximum data size that can be temporarily stored to the printer 1500, and then outputs a print job to which the job spool function is applied. When printing multiple copies, the printer's job spool function is used to print a predetermined number of times. Can reliably guarantee the output, it is possible to prevent a communication load increase between the printer-host computer, there is excellent effect that.
[0065]
If the maximum storage data size obtained from the printer is exceeded even after resetting the maximum storage data size of the printer, the print data stored in the temporary file is used for the specified number of times without using the job spool function. Since the output is made to the printer, there is an excellent effect that the print output does not become impossible and the print output can be surely obtained.
[0066]
In the above description, the configuration in which the function of the present invention is implemented in the printer driver is exemplified. However, the function of the present invention may be implemented in a program installed from the outside. In that case, the processing program to which the present invention is applied may be read from an arbitrary computer-readable storage medium. That is, the processing program to which the present invention is applied outputs an information group including the program from a storage medium such as a CD-ROM, flash memory, or FD, or from an external storage medium via a network such as e-mail or personal computer communication. It can be supplied to a host computer or an output device by being loaded into a system including the device and the host computer.
[0067]
[Second Embodiment]
In the first embodiment, if the maximum storage data size for the job spool of the printer 1500 cannot be updated, the printer control command temporarily stored in the temporary file is repeatedly output a predetermined number of times to the printer 1500. I have to. However, the above-described steps S506 to S510 in FIG. 5 are improved, a method for repeatedly outputting the printer control command temporarily stored in the temporary file to the printer 1500 a predetermined number of times, and a job spool for the printer 1500 After determining which of the methods to output a print job to which the maximum spooled data size is updated to the printer 1500 and then outputting the print job to which the job spool function is applied can be performed at high speed, select one of the methods It is also possible to use a configuration that does this. Hereinafter, a configuration including optimization of such print processing will be exemplified.
[0068]
The printer driver shown in this embodiment executes the processing shown in FIG. Steps S506 to 510 in FIG. 6 replace steps S506 to 510 in FIG. 5 of the first embodiment. Of the reference numerals indicating the processing flows in FIG. 6, the processing flow given the same number as in FIG. 5 indicates the same processing content as in the above embodiment.
[0069]
In step S506 of FIG. 6, it is determined that the total data size of the printer control command stored as a temporary file in the external memory 11 of the host computer 3000 is smaller than or equal to the maximum data size that can be temporarily stored in the printer 1500. In the case where the job spool function has been received, the process proceeds to step S510, and a print job to which the job spool function is applied is generated and output.
[0070]
On the other hand, if it is determined in step S506 that the total data size of the printer control command stored as a temporary file is larger than the maximum data size that can be temporarily stored in the printer 1500, the maximum storage data size of the printer 1500 is determined. Is updated from the configuration information of the printer 1500, and if updated, it is determined whether or not a sufficient area for the total data size of the printer control command can be secured in the printer 1500 (step S507).
[0071]
If it is determined that the total data size of the printer control command still cannot be stored in the temporary storage area of the printer 1500 even if the maximum storage data size of the printer 1500 is updated, the temporary storage is temporarily stored in the temporary file. The printer control command that has been set is repeated a predetermined number of times and output to the printer 1500 (step S508).
[0072]
On the other hand, if it is determined in step S507 that the total data size of the printer control command can be temporarily stored in the printer 1500 by updating the maximum storage data size of the printer 1500, the processing method shown in step S508 and steps S509 and 510 are performed. Each processing time required for the processing method indicated by is calculated (step S601).
[0073]
The job spool function held by the printer 1500 shown in the present embodiment is a function that simply processes received data as if it were repeatedly received a specified number of times. Therefore, when comparing the processing time required for the two processing methods described above, it is only necessary to know the processing time required for the following processing contents.
[0074]
1. Processing time for print data generation processing on the host computer 3000
2. Processing time of print data generation processing for updating the maximum storage data size of the printer 1500 on the host computer 3000
3. 2. Processing time of data communication processing from the host computer 3000 to the printer 1500 for the print data of
4). Processing time for updating the maximum stored data size in the printer 1500
5. Above 1. Processing time of data communication processing from the host computer 3000 to the printer 1500 for the print data of
In the present embodiment, the above 1. And 5. It is assumed that the processing time required for the processing increases in proportion to the data size that is simply handled, and the processing time required for the above 4 is substantially constant. As shown in the above embodiment, the print job for updating the maximum storage data size of the printer 1500 is composed of the printer control command and the hardware reset command shown in (2) above. The data size itself is relatively very small. Therefore, in the present embodiment, the processing time required for the maximum storage data size update processing in the job spool of the printer 1500 of the above 2 and 3 is ignored, and the processing times required for the two printing methods are calculated and compared respectively. (Of course, for accuracy, calculation may be performed in consideration of the processing time of the maximum storage data size update processing in the job spool).
[0075]
Here, if the total processing time required for the processing times 1, 5, and 4 is expressed by P, Q, and R (unit: msec), respectively, the processing speed p (unit: 1 byte) of print data. Multiplying the data size handled by msec / byte, the speed required to read the temporary file and prepare for transmission), and the communication speed q (unit: msec / byte) of 1-byte print data, P and Q are obtained respectively. It is done. Further, the total data size of the printer control command group stored as a temporary file on the external memory 11 on the host computer 3000 is S (unit: byte), and the number of collations (the number of collated outputs) is T. And Then, the processing time of step S508 (when the printer command of the temporary file is transmitted a plurality of times) is γ (unit: msec), and the processing of steps S509 and S510 (when the job spool function of the printer is used) is performed. If the total processing time is expressed by θ (unit: msec), γ and θ can be expressed by the following calculation formulas.
[0076]
Figure 0003780109
Therefore, in step S602, the printer driver shown in the present embodiment compares γ and θ calculated by the above formula. If it is determined that γ is smaller than or equal to θ, the process proceeds to step S508. If it is determined that γ is larger, the process proceeds to step S509, and the maximum storage data size of the printer 1500 is set. After the print job to be updated is output to the printer 1500 via the system spooler, the print job to which the job spool function is applied is output (step S510). In other words, if it is determined that it is faster to send the printer command of the temporary file a plurality of times, the process proceeds to step S508. If it is determined that it is faster to use the job spool function of the printer, the process proceeds to step S509.
[0077]
According to the processing of this embodiment (FIG. 6), the total data size of the printer control command group temporarily stored on the host computer 3000 exceeds the maximum storage data size of the printer 1500. Even if the job spool function can be used by updating the storage data size, the processing speed is compared with a method that does not use the job spool function in advance, and one of these high-speed processing methods is selected and executed. Thus, there is an excellent effect that a collated sheet output result for a predetermined number of times can be guaranteed while performing a relatively high-speed printing process.
[0078]
A program and control data for realizing the processing of the present invention may be stored in an arbitrary storage medium of an arbitrary apparatus such as a host computer or a printer constituting the printing system. In particular, various configurations can be considered for the maximum data size that can temporarily store received data in the job spool function of the printer.
[0079]
For example, a configuration in which the maximum data size that can temporarily store the received data in the job spool storage area of the printer is stored in the storage means of the host computer, in which case, a nonvolatile memory such as NVRAM in the host computer, It can be stored in any storage means such as a removable storage means. Further, the information on the maximum data size once acquired from the printer may be configured to be saved in an external storage device such as a hard disk when the OS is shut down in the form of a resource file or the like. In particular, according to the configuration in which the maximum data size is held in a nonvolatile manner as described above, the system can be continuously operated under the same conditions regarding the job spool without performing a troublesome resetting operation. it can.
[0080]
The maximum data size that can temporarily store the received data in the job spool storage area of the printer is the user interface of any program that the user operates on the host computer (for example, a user interface that customizes the operation of the printer driver, printer It is conceivable that a desired value can be set via a user interface of an application program that performs any information processing using the. With such a configuration, for example, the user can secure a memory capacity necessary for developing a favorite printer built-in font or downloading a font from the outside to the printer according to the use of the printer. Become.
[0081]
Also, as described above, the maximum data size that can temporarily store the received data in the job spool storage area of the printer is stored in the printer memory (built-in memory or removable expansion memory), and the host computer The printer control command interface can be used from the side, and can be acquired via a bidirectional interface or a network, and can be reset.
[0082]
In particular, when a mechanism capable of storing the maximum data size is provided on the host computer side as described above, information on the maximum data size of the job spool storage area stored in the memory of the printer and the memory of the host computer It is necessary to synchronize the information of the maximum data size stored in the memory by some method. For this purpose, any method may be adopted as necessary by those skilled in the art. For example, when collation printing is required as described above, it is obtained from the printer side, and the contents of the memory on the host computer side are synchronized with this, and if it is necessary to reset, both are updated simultaneously. Can be considered.
[0083]
In each of the above embodiments, the steps up to resetting the maximum data size of the job spool function of the printer have been shown, but various configurations can be considered for the subsequent processing. For example, the maximum data size setting of the job spool function may be left in the setting memory on the printer side, or the maximum data of the job spool function may be output after processing of the output job that needs to be reset (collation) is completed. The size setting may be returned to the state before the job is started.
[0084]
【The invention's effect】
As is clear from the above, according to the present invention, Sequentially generated printer control commands are not immediately output to the printer, but temporarily stored on the host computer, and the total data size is the maximum data size that the printer can temporarily store when using the job spool function If it does not exceed the maximum, the printer issues a print job that updates the maximum data size that the printer can temporarily store, and then outputs the print job to which the job spool function is applied. Because There is an excellent effect of reducing the data communication load between the printer and the host computer and ensuring that the job spool function of the printer can be used reliably in the print output of a plurality of copies such as collation output.
[0085]
Or in addition, If the maximum storage data size acquired from the printer is exceeded even if the maximum storage data size of the printer is reset, the stored print data is output to the printer the specified number of times without using the job spool function. In that case, There is an excellent effect that print output is not impossible and print output can be obtained reliably.
[0086]
Or even more , Even if the job spool function can be used by updating the maximum storage data size of the printer, compare the processing speed with the method that does not use the job spool function in advance and select one of these faster processing methods This has an excellent effect that the sheet output result collated in a predetermined number of times can be guaranteed while performing a relatively high-speed printing process.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of a printing system employing the present invention.
FIG. 2 is a memory map diagram in a state in which a printer driver employing the present invention is loaded onto a RAM of a host computer and becomes executable.
FIG. 3 is a flowchart showing an outline of processing of a printer driver employing the present invention.
FIG. 4 is a flowchart showing the process of step S303 in FIG.
FIG. 5 is a flowchart showing the process of step S307 in FIG. 3;
FIG. 6 is a flowchart showing a changed portion of FIG. 5 in a different embodiment.
[Explanation of symbols]
1, 12 CPU
2, 19 RAM
3, 13 ROM
4, 15 System bus
5 KBC
6 CRTC
7, 20 DKC
8 PRTC
11, 14 External memory
18 Input section
1500 printer
1501 Operation panel
3000 Host computer

Claims (9)

受信データをスプール記憶手段へ一時的に記憶し印刷制御コマンドにて指定された回数分前記受信データを連続的に印刷処理するジョブスプール機能を有するプリンタと通信可能な情報処理装置であって、
前記プリンタにて印刷すべき印刷データを記憶する記憶手段と、
前記プリンタのスプール記憶手段に記憶可能な印刷データのデータサイズを取得する取得手段と、
前記取得手段から取得した前記スプール記憶手段に記憶可能なデータサイズおよび前記記憶手段に記憶された印刷データを用いて、前記スプール記憶手段に前記印刷データを収めて前記ジョブスプール機能を用いた印刷をすることが可能であるか否かを判定する第1判定手段と、
前記第1判定手段により、前記スプール記憶手段に前記印刷データを収めて前記ジョブスプール機能を用いた印刷をすることができないと判定された場合、前記スプール記憶手段に記憶可能なデータサイズを変更することにより、前記スプール記憶手段に前記印刷データを収めて前記ジョブスプール機能を用いた印刷をすることが可能となるか否かを判定する第2判定手段と、
前記第2判定手段により、前記スプール記憶手段に記憶可能なデータサイズを変更することにより前記スプール記憶手段に前記印刷データを収めて前記ジョブスプール機能を用いた印刷をすることが可能であると判定された場合、前記スプール記憶手段に記憶可能なデータサイズを変更するための変更指示を前記プリンタに対して送信し、前記第2判定手段により、前記スプール記憶手段に記憶可能なデータサイズを変更しても前記スプール記憶手段に前記印刷データを収めて前記ジョブスプール機能を用いた印刷をすることができないと判定された場合、前記記憶手段に記憶されている印刷データを指定回数だけ繰り返して出力することにより生成される印刷ジョブを送信する送信制御手段を有することを特徴とする情報処理装置。
An information processing apparatus capable of communicating with a printer having a job spool function for temporarily storing received data in a spool storage unit and continuously printing the received data for the number of times designated by a print control command ,
Storage means for storing print data to be printed by the printer;
Obtaining means for obtaining the data size of print data that can be stored in the spool storage means of the printer;
Using the data size that can be stored in the spool storage unit acquired from the acquisition unit and the print data stored in the storage unit, the print data is stored in the spool storage unit and printing using the job spool function is performed. First determination means for determining whether or not it is possible,
When it is determined by the first determination unit that the print data cannot be stored in the spool storage unit and printing using the job spool function is performed, the data size that can be stored in the spool storage unit is changed. A second determination unit that determines whether or not the print data can be stored in the spool storage unit and printing using the job spool function can be performed;
The second determination means determines that the print data can be stored in the spool storage means and printed using the job spool function by changing the data size that can be stored in the spool storage means. If so, a change instruction for changing the data size that can be stored in the spool storage unit is transmitted to the printer, and the second determination unit changes the data size that can be stored in the spool storage unit. However, if it is determined that the print data cannot be stored in the spool storage unit and printing using the job spool function is performed, the print data stored in the storage unit is repeatedly output a specified number of times. An information processing apparatus comprising: a transmission control unit configured to transmit a print job generated by the process .
前記送信制御手段は、前記第2判定手段により、前記スプール記憶手段に記憶可能なデータサイズを変更することにより前記スプール記憶手段に前記印刷データを収めて前記ジョブスプール機能を用いた印刷をすることが可能であると判定された場合、前記ジョブスプール機能を利用して指定回数だけ印刷させる第1の出力処理と、前記記憶手段により記憶されている前記印刷データを前記指定回数だけプリンタへ出力させる第2の出力処理のうち、いずれの処理が高速に処理できるかを判定し、その判定結果に応じて前記第1乃至第2のいずれかの出力処理を選択して実行することを特徴とする請求項に記載の情報処理装置。The transmission control unit stores the print data in the spool storage unit by using the second determination unit to change the data size that can be stored in the spool storage unit, and performs printing using the job spool function. If it is determined that printing is possible, a first output process for printing a specified number of times using the job spool function, and outputting the print data stored in the storage unit to the printer for the specified number of times It is determined which of the second output processes can be processed at high speed, and the first or second output process is selected and executed according to the determination result. The information processing apparatus according to claim 1 . 前記第1判定手段は、出力用紙を送信回数分丁合いする丁合い出力が指定されている場合に判定処理を実行することを特徴とする請求項1または2に記載の情報処理装置。 3. The information processing apparatus according to claim 1, wherein the first determination unit performs the determination process when collation output for collating the output paper for the number of transmissions is designated. 4. 受信データをスプール記憶手段へ一時的に記憶し印刷制御コマンドにて指定された回数分前記受信データを連続的に印刷処理するジョブスプール機能を有するプリンタと通信可能な情報処理装置の制御方法であって、
前記プリンタのスプール記憶手段に記憶可能な印刷データのデータサイズを取得する取得ステップと、
前記取得ステップから取得した前記スプール記憶手段に記憶可能なデータサイズおよび記憶手段に記憶された前記プリンタにて印刷すべき印刷データを用いて、前記スプール記憶手段に前記印刷データを収めて前記ジョブスプール機能を用いた印刷をすることが可能であるか否かを判定する第1判定ステップと、
前記第1判定ステップにより、前記スプール記憶手段に前記印刷データを収めて前記ジョブスプール機能を用いた印刷をすることができないと判定された場合、前記スプール記憶手段に記憶可能なデータサイズを変更することにより、前記スプール記憶手段に前記印刷データを収めて前記ジョブスプール機能を用いた印刷をすることが可能となるか否かを判定する第2判定ステップと、
前記第2判定ステップにより、前記スプール記憶手段に記憶可能なデータサイズを変更することにより前記スプール記憶手段に前記印刷データを収めて前記ジョブスプール機能を用いた印刷をすることが可能であると判定された場合、前記スプール記憶手段に記憶可能なデータサイズを変更するための変更指示を前記プリンタに対して送信し、前記第2判定ステップにより、前記スプール記憶手段に記憶可能なデータサイズを変更しても前記スプール記憶手段に前記印刷データを収めて前記ジョブスプール機能を用いた印刷をすることができないと判定された場合、前記記憶手段に記憶されている印刷データを指定回数だけ繰り返して出力することにより生成される印刷ジョブを送信する送信制御ステップを含むことを特徴とする情報処理装置の制御方法。
A control method for an information processing apparatus capable of communicating with a printer having a job spool function for temporarily storing received data in a spool storage means and continuously printing the received data for the number of times specified by a print control command. And
An acquisition step of acquiring a data size of print data that can be stored in the spool storage unit of the printer;
Using the data size that can be stored in the spool storage unit acquired from the acquisition step and the print data to be printed by the printer stored in the storage unit, the print data is stored in the spool storage unit and the job spool is stored. A first determination step of determining whether or not printing using a function is possible;
When it is determined in the first determination step that the print data cannot be stored in the spool storage unit and printing using the job spool function is performed, the data size that can be stored in the spool storage unit is changed. A second determination step of determining whether the print data can be stored in the spool storage unit and printing using the job spool function can be performed;
In the second determination step, it is determined that printing using the job spool function can be performed by storing the print data in the spool storage unit by changing the data size that can be stored in the spool storage unit. If so, a change instruction for changing the data size that can be stored in the spool storage means is transmitted to the printer, and the second determination step changes the data size that can be stored in the spool storage means. However, when it is determined that the print data cannot be stored in the spool storage unit and printing using the job spool function is performed, the print data stored in the storage unit is repeatedly output a specified number of times. the information processing instrumentation, characterized in that it comprises a transmission control step of transmitting a print job generated by Control method of.
前記送信制御ステップは、前記第2判定ステップにより、前記スプール記憶手段に記憶可能なデータサイズを変更することにより前記スプール記憶手段に前記印刷データを収めて前記ジョブスプール機能を用いた印刷をすることが可能であると判定された場合、前記ジョブスプール機能を利用して指定回数だけ印刷させる第1の出力処理と、前記記憶手段により記憶されている前記印刷データを前記指定回数だけプリンタへ出力させる第2の出力処理のうち、いずれの処理が高速に処理できるかを判定し、その判定結果に応じて前記第1乃至第2のいずれかの出力処理を選択して実行することを特徴とする請求項に記載の情報処理装置の制御方法。In the transmission control step, in the second determination step, the print data is stored in the spool storage unit by changing the data size that can be stored in the spool storage unit, and printing is performed using the job spool function. If it is determined that printing is possible, a first output process for printing a specified number of times using the job spool function, and outputting the print data stored in the storage unit to the printer for the specified number of times It is determined which of the second output processes can be processed at high speed, and the first or second output process is selected and executed according to the determination result. The method for controlling the information processing apparatus according to claim 4 . 前記第1判定ステップは、出力用紙を送信回数分丁合いする丁合い出力が指定されている場合に判定処理を実行することを特徴とする請求項4または5に記載の情報処理装置の制御方法。6. The method of controlling an information processing apparatus according to claim 4, wherein the first determination step executes a determination process when collation output for collating the output paper for the number of transmissions is designated. . 受信データをスプール記憶手段へ一時的に記憶し印刷制御コマンドにて指定された回数分前記受信データを連続的に印刷処理するジョブスプール機能を有するプリンタと通信可能な情報処理装置の制御プログラムを格納したコンピュータ読取可能な記憶媒体であって、
前記プリンタのスプール記憶手段に記憶可能な印刷データのデータサイズを取得する取得ステップと、
前記取得ステップから取得した前記スプール記憶手段に記憶可能なデータサイズおよび記憶手段に記憶された前記プリンタにて印刷すべき印刷データを用いて、前記スプール記憶手段に前記印刷データを収めて前記ジョブスプール機能を用いた印刷をすることが可能であるか否かを判定する第1判定ステップと、
前記第1判定ステップにより、前記スプール記憶手段に前記印刷データを収めて前記ジョブスプール機能を用いた印刷をすることができないと判定された場合、前記スプール記憶手段に記憶可能なデータサイズを変更することにより、前記スプール記憶手段に前記印刷データを収めて前記ジョブスプール機能を用いた印刷をすることが可能となるか否かを判定する第2判定ステップと、
前記第2判定ステップにより、前記スプール記憶手段に記憶可能なデータサイズを変更することにより前記スプール記憶手段に前記印刷データを収めて前記ジョブスプール機能を用いた印刷をすることが可能であると判定された場合、前記ジョブスプール記憶手段に記憶可能なデータサイズを変更するための変更指示を前記プリンタに対して送信し、前記第2判定ステップにより、前記スプール記憶手段に記憶可能なデータサイズを変更しても前記スプール記憶手段に前記印刷データを収めて前記ジョブスプール機能を用いた印刷をすることができないと判定された場合、前記記憶手段に記憶されている印刷データを指定回数だけ繰り返して出力することにより生成される印刷ジョブを送信する送信制御ステップを実行させるための制御プログラムを格納したことを特徴とする情報処理装置の制御プログラムを格納したコンピュータ読取可能な記憶媒体。
Stores a control program for an information processing apparatus capable of communicating with a printer having a job spool function for temporarily storing received data in a spool storage means and continuously printing the received data for the number of times specified by a print control command A computer-readable storage medium,
An acquisition step of acquiring a data size of print data that can be stored in the spool storage unit of the printer;
Using the data size that can be stored in the spool storage unit acquired from the acquisition step and the print data to be printed by the printer stored in the storage unit, the print data is stored in the spool storage unit and the job spool is stored. A first determination step of determining whether or not printing using a function is possible;
When it is determined in the first determination step that the print data cannot be stored in the spool storage unit and printing using the job spool function is performed, the data size that can be stored in the spool storage unit is changed. A second determination step of determining whether the print data can be stored in the spool storage unit and printing using the job spool function can be performed;
In the second determination step, it is determined that printing using the job spool function can be performed by storing the print data in the spool storage unit by changing the data size that can be stored in the spool storage unit. If so, a change instruction for changing the data size that can be stored in the job spool storage unit is transmitted to the printer, and the data size that can be stored in the spool storage unit is changed by the second determination step. However, if it is determined that the print data cannot be stored in the spool storage unit and printing using the job spool function is performed, the print data stored in the storage unit is repeatedly output a specified number of times. control professional for executing a transmission control step of transmitting a print job generated by Computer-readable storage medium storing a control program of an information processing apparatus characterized by storing the ram.
前記送信制御ステップにおいて、前記第2判定ステップにより、前記スプール記憶手段に記憶可能なデータサイズを変更することにより前記スプール記憶手段に前記印刷データを収めて前記ジョブスプール機能を用いた印刷をすることが可能であると判定された場合、前記ジョブスプール機能を利用して指定回数だけ印刷させる第1の出力処理と、前記記憶手段により記憶されている前記印刷データを前記指定回数だけプリンタへ出力させる第2の出力処理のうち、いずれの処理が高速に処理できるかを判定し、その判定結果に応じて前記第1乃至第2のいずれかの出力処理を選択して実行させるための制御プログラムを格納したことを特徴とする請求項に記載の情報処理装置の制御プログラムを格納したコンピュータ読取可能な記憶媒体。In the transmission control step, in the second determination step, the print data is stored in the spool storage unit by changing the data size that can be stored in the spool storage unit, and printing is performed using the job spool function. If it is determined that printing is possible, a first output process for printing a specified number of times using the job spool function, and outputting the print data stored in the storage unit to the printer for the specified number of times A control program for determining which of the second output processes can be processed at high speed, and selecting and executing one of the first to second output processes according to the determination result computer-readable storage medium storing a control program of the information processing apparatus according to claim 7, characterized in that the stored 前記第1判定ステップに、出力用紙を送信回数分丁合いする丁合い出力が指定されている場合に判定処理を実行させるための制御プログラムを格納したことを特徴とする請求項7または8に記載の情報処理装置の制御プログラムを格納したコンピュータ読取可能な記憶媒体。The first determination step, according to claim 7 or 8, characterized by storing a control program for executing the determination process when the collated output to fit the number of transmissions min Ding output sheet is designated A computer-readable storage medium storing a control program for the information processing apparatus.
JP34367798A 1998-12-03 1998-12-03 Information processing apparatus, information processing apparatus control method, and computer-readable storage medium storing information processing apparatus control program Expired - Lifetime JP3780109B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP34367798A JP3780109B2 (en) 1998-12-03 1998-12-03 Information processing apparatus, information processing apparatus control method, and computer-readable storage medium storing information processing apparatus control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP34367798A JP3780109B2 (en) 1998-12-03 1998-12-03 Information processing apparatus, information processing apparatus control method, and computer-readable storage medium storing information processing apparatus control program

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2005289685A Division JP4154415B2 (en) 2005-10-03 2005-10-03 Information processing apparatus, information processing apparatus control method, and computer-readable storage medium storing information processing apparatus control program

Publications (2)

Publication Number Publication Date
JP2000168198A JP2000168198A (en) 2000-06-20
JP3780109B2 true JP3780109B2 (en) 2006-05-31

Family

ID=18363400

Family Applications (1)

Application Number Title Priority Date Filing Date
JP34367798A Expired - Lifetime JP3780109B2 (en) 1998-12-03 1998-12-03 Information processing apparatus, information processing apparatus control method, and computer-readable storage medium storing information processing apparatus control program

Country Status (1)

Country Link
JP (1) JP3780109B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4109827B2 (en) 2000-12-22 2008-07-02 キヤノン株式会社 Information processing apparatus, method, and computer-readable storage medium
JP4261916B2 (en) 2002-06-19 2009-05-13 キヤノン株式会社 Information processing apparatus and print processing method
KR20050065037A (en) * 2003-12-24 2005-06-29 삼성전자주식회사 Data processing method of print control device having printer driver
JP4552918B2 (en) * 2006-09-28 2010-09-29 ブラザー工業株式会社 Image forming apparatus

Also Published As

Publication number Publication date
JP2000168198A (en) 2000-06-20

Similar Documents

Publication Publication Date Title
US11042336B2 (en) Information processing apparatus and method
US8451463B2 (en) Information processing apparatus and information processing method
JP4669895B2 (en) Print control apparatus, print control method, and program
US7779168B2 (en) Information processing apparatus, information processing method, and computer-readable memory medium storing program for realizing the method
US7827493B2 (en) Data processing apparatus, data processing method of data processing apparatus, and computer-readable memory medium storing program therein
US8493584B2 (en) Information processing apparatus for performing printing and determining whether a conflict resolution of the setting values in a complex print setting is required
US7903272B2 (en) Data processing apparatus, print setting adjusting method, recording medium storing computer-readable program therein, and program
JP4481800B2 (en) Information processing apparatus, information processing method, and program
JPH11327856A (en) Printing controller, data processing method for the same and storage medium storing program which computer can read
US7768665B2 (en) Printing control device for processing a spool file and printing system, program product, and printing control method associated therewith
JP3733284B2 (en) Information processing apparatus, printing system, and command generation method
US20030038959A1 (en) Data processing apparatus capable of communicating with output apparatus and its data processing method
JP3667043B2 (en) Information processing system, information processing apparatus, and print control method
JP2001030584A (en) Apparatus and method for controlling printer, or printer
JP3780109B2 (en) Information processing apparatus, information processing apparatus control method, and computer-readable storage medium storing information processing apparatus control program
WO2011123574A1 (en) Printer control system, printing method, and storage medium
JP2009205694A (en) Information processing apparatus, method, and device driver
JP2002014797A (en) Information processor, print controller and its control method, and storage medium and its control program
JP4154415B2 (en) Information processing apparatus, information processing apparatus control method, and computer-readable storage medium storing information processing apparatus control program
JP6827738B2 (en) Control methods, programs and information processing equipment
US7253911B2 (en) Printing method and system for executing printing in plural print processes
JP2002251268A (en) Information processor and data processing method for the same device and data processing program and storage medium with the same program stored
JP2008015563A (en) Printing control device, printing control method, program and recording medium
JP4054544B2 (en) Information processing apparatus, information processing method, print control program, print processing apparatus, print processing method, and print processing program
JP2003029945A (en) Information processor, printing controller, printing control method and storage medium

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050405

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050802

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051003

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: 20060228

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060306

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: 20100310

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100310

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110310

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120310

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130310

Year of fee payment: 7