JP4817474B2 - データ処理装置およびデ―タ処理方法およびコンピュ―タが読み出し可能なプログラムを格納した記憶媒体 - Google Patents

データ処理装置およびデ―タ処理方法およびコンピュ―タが読み出し可能なプログラムを格納した記憶媒体 Download PDF

Info

Publication number
JP4817474B2
JP4817474B2 JP06009099A JP6009099A JP4817474B2 JP 4817474 B2 JP4817474 B2 JP 4817474B2 JP 06009099 A JP06009099 A JP 06009099A JP 6009099 A JP6009099 A JP 6009099A JP 4817474 B2 JP4817474 B2 JP 4817474B2
Authority
JP
Japan
Prior art keywords
printing
printer
printer driver
print
intermediate data
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
JP06009099A
Other languages
English (en)
Other versions
JPH11327856A (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 JP06009099A priority Critical patent/JP4817474B2/ja
Publication of JPH11327856A publication Critical patent/JPH11327856A/ja
Priority to US10/727,640 priority patent/US7199890B2/en
Application granted granted Critical
Publication of JP4817474B2 publication Critical patent/JP4817474B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/121Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/126Job scheduling, e.g. queuing, determine appropriate device
    • G06F3/1261Job scheduling, e.g. queuing, determine appropriate device by using alternate printing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、所定の通信媒体を介して複数の印刷装置に対して固有の印刷情報を転送制御可能な印刷制御装置および印刷制御装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記録媒体に関するものである。
【0002】
【従来の技術】
従来、コンピュータ上のアプリケーションから印刷を実行する場合には、コンピュータ上の目的の印刷装置に対応したプリンタドライバによつて目的の印刷装置に依存した形式の印刷データを生成し、その印刷データを印刷装置に送信して行つていた。
【0003】
【発明が解決しようとする課題】
しかしながら、上記のようにアプリケーションからの印刷実行時に印刷装置に依存したプリンタドライバを用いて印刷を行うと、前記プリンタドライバの印刷データ生成中、印刷データ送信中、もしくは印刷装置での印刷中に何らかのエラーが発生し、印刷が正常に終了しなかった場合には、ユーザが再度アプリケーションより、同じ印刷装置に対して印刷を実行するか、別の印刷装置に対して印刷を実行する必要があった。
【0004】
本発明は上記の問題点を解消するためになされたもので、本発明の目的は、選択した印刷装置に対する印刷処理中にエラーが発生した際に、ユーザが意図する次候補の印刷装置を自動選択し、かつ次候補の印刷装置にとって最適な印刷制御情報を既に変換されている描画オブジェクトから短時間に生成することにより、印刷処理中の障害発生時における次候補印刷装置により代替印刷処理を自動的に行える印刷処理環境を自在に整備することができる印刷制御装置および印刷制御装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記録媒体を提供することにある。
【0005】
本発明は上記従来例に鑑みてなされたもので、ユーザの手を煩わせることなく、印刷実行中の障害を回避し印刷を確実に行わせることを実現する印刷制御装置および方法を提供することを目的とする。更には、出力先の印刷装置を変更することによって生じる問題点をユーザに通知、または代替手段により解決を図ることで、ユーザの所望する印刷出力を可能とすることをも目的としている。
【0006】
【課題を解決するための手段】
本発明に係る第1の発明は、複数の印刷装置と通信可能であり、アプリケーションにより出力される印刷命令に基づいて前記印刷命令とは異なる個別の印刷装置に依存しない中間形式の中間データを生成する共通プリンタドライバと、前記中間データに基づいて前記中間データとは異なるそれぞれの印刷装置で解釈可能な最終形式のプリンタ制御言語を生成する複数のプリンタドライバとを備えるデータ処理装置であって、前記共通プリンタドライバを用いて、前記中間データを生成する第1の変換手段と、前記複数のプリンタドライバから選択される第1プリンタドライバを用いて、前記第1プリンタドライバに対応する第1印刷装置に固有の第1プリンタ制御言語を生成する第2の変換手段と、前記第1の変換手段により生成された前記中間データをスプーラに保存し、前記第2の変換手段により前記第1プリンタ制御言語が生成された後も前記中間データを該スプーラに残しておく保存制御手段と、前記第1印刷装置の印刷処理状態を監視することにより、印刷処理エラーの発生を判定する判定手段と、前記判定手段により前記第1印刷装置に前記印刷処理エラーが発生したと判定された場合に、前記複数のプリンタドライバから選択される前記第1プリンタドライバにより生成された第1プリンタ制御言語を用いて印刷することができない第2プリンタドライバを用いて、前記保存制御手段により前記スプーラに残された前記中間データに基づいて前記第2プリンタ制御言語を生成する第3の変換手段と、前記印刷処理エラーが発生した際に、前記スプーラに保存された前記中間データを転送すべき次の印刷装置候補を印刷装置毎に設定する設定手段と、前記設定手段により設定された前記中間データを転送すべき次の印刷装置候補の一覧記憶する記憶手段と、前記記憶手段に記憶されている次の印刷装置候補一覧に設定された他の印刷装置に対応するいずれかのプリンタドライバを選択する選択手段と、前記第1プリンタドライバにて印刷を実行した場合の印刷結果と前記第2プリンタドライバにて印刷を実行した場合の印刷結果との間で印刷結果に差異が生じるかを判定する第3の判定手段と、前記第3の判定手段により印刷結果に差異が生じると判定された場合に、印刷結果に差異が生じることを示すとともに前記第2プリンタドライバにて印刷を継続するかどうかを選択させるための確認画面を表示部に表示する表示制御手段とを有することを特徴とする。
【0009】
本発明に係る第4の発明は、前記印刷装置は、ローカルプリンタ,ネットワークプリンタを含むものである。
【0026】
【発明の実施の形態】
〔第1実施形態〕
図1は、本発明の第1実施形態を示すデータ処理装置を適用可能な印刷システムの構成を説明するブロック図である。なお、本発明の機能が実行されるのであれば、単体の機器であつても、複数の機器からなるシステムであっても、LAN、WAN等のネットワークを介して接続がなされ処理が行われるシステムであっても本発明を適用できる。
【0027】
同図において、ホストコンピュータ3000は、ROM3のプログラム用ROMあるいは外部メモリ11に記憶された文書処理プログラム等に基づいて図形、イメージ、文字、表(表計算等を含む)等が混在した文書処理を実行するCPUlを備え、システムバス4に接続される各デバイスをCPUlが総括的に制御する。
【0028】
また、このROM3のプログラム用ROMあるいは外部メモリ11には、CPUlの制御プログラムであるオペレーティングシステムプログラム(以下OS)等を記憶し、ROM3のフォント用ROMあるいは外部メモリ11には上記画像処理の際に使用するフォントデータ等を記憶し、ROM3のデータ用ROMあるいは外部メモリ11には上記画像処理等を行う際に使用する各種データを記憶する。RAM2は、CPUlの主メモリ、ワークエリア等として機能する。
【0029】
5はキーボードコントローラ(KBC)で、キーボード9や不図示のポインティングデバイスからのキー入力を制御する。6はCRTコントローラ(CRTC)で、CRTディスプレイ(CRT)10の表示を制御する。7はディスクコントローラ(DKC)で、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、印刷制御プログラムを含むプリンタ制御コマンド生成プログラム(以下プリンタドライバ)等を記憶するハードディスク(HD)、フロッピーディスク(FD)等の外部メモリ11とのアクセスを制御する。
【0030】
8はプリンタコントローラ(PRTC)で、双方向性インタフェース(インタフェース)21を介してプリンタ1500に接続されて、プリンタ1500との通信制御処理を実行する。
【0031】
なお、CPUlは、例えばRAM2上に設定された表示情報RAMへのアウトラインフォントの展開(ラスタライズ)処理を実行し、CRT10上でのWYSIWYGを可能としている。また、CPUlは、CRT10上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷の設定に関するウインドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行える。
【0032】
プリンタ1500において、12はプリンタCPU(CPU)で、ROM13のプログラム用ROMに記憶された制御プログラム等あるいは外部メモリ14に記憶された制御プログラム等に基づいてシステムバス15に接続される印刷部(プリンタエンジン)17に出力情報としての画像信号を出力する。また、このROM13のプログラム用ROMには、CPU12の制御プログラム等を記憶する。ROM13のフォント用ROMには上記出力情報を生成する際に使用するフォントデータ等が記憶され、ROM13のデータ用ROMには、ハードディスク等の外部メモリ14がないプリンタの場合には、ホストコンピュータ上で利用される情報等が記憶されている。1000はプリンタ制御ユニットである。
【0033】
CPU12は、入力部18を介してホストコンピュータ3000との通信処理が可能となつており、プリンタ内の情報等をホストコンピュータ3000に通知できる。RAM19は、CPU12の主メモリや、ワークエリア等として機能するRAMで、図示しない増設ポートに接続されるオプションRAMによリメモリ容量を拡張することができるように構成されている。なお、RAM19は、出力情報展開領域,環境データ格納領域,NVRAM等に用いられる。前述したハードディスク(HD),ICカード等の外部メモリ14は、メモリコントローラ(MC)20によリアクセスを制御される。外部メモリ14は、オブションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、1501は前述した操作パネルで、操作のためのスイッチおよびLED表示器等が配されている。
【0034】
また、前述した外部メモリ14は1個に限らず、複数個備えられ、内蔵フォントに加えてオプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。更に、図示しないNVRAMを有し、操作パネル1501からのプリンタモード設定情報を記憶するようにしてもよい。
【0035】
図2は、図1に示した印刷システムにおける第1のホストコンピュータの構成を説明するブロック図であり、ホストコンピュータ上のプログラムモジュールの構成に対応する。なお、本実施形態は、ホストコンピュータ3000とプリンタ1500とが直接接続されているか、あるいはネットワーク経由で接続されているホストコンピュータで適用可能である。
【0036】
図において、アプリケーション201,グラフィックエンジン202,プリンタドライバ203およびシステムスプーラ204は、外部メモリ11に保存されたファイルとして存在し、OSやそのモジュールを利用するモジュールによってRAM2にロードされ実行されるプログラムモジュールとして機能する。
【0037】
また、アプリケーション201およびプリンタドライバ203は、外部メモリ11のFDや図示しないCD−ROM、あるいは図示しないネットワークを経由して外部メモリ11のHDに随時インストールすることが可能となつている。外部メモリ11に保存されているアプリケーション201はRAM2にロードされて実行されるが、このアプリケーション201からプリンタ1500に対して印刷を行う際には、同様にRAM2にロードされ実行可能となつているグラフィックエンジン202を利用して出力(描画)を行う。
【0038】
グラフィックエンジン202は、印刷装置毎に用意されたプリンタドライバ203を同様に外部メモリ11からRAM2にロードし、アプリケーション210の出力をプリンタドライバ203を用いてプリンタ1500の制御コマンドに変換する。そして、変換されたプリンタ制御コマンドはOSによってRAM2にロードされたシステムスプーラ204を経てインタフェース21経由でプリンタ1500へ出力される仕組みとなつている。
【0039】
本実施形態では、図2で示すプリンタとホストコンピュータからなる印刷システムを前提としているが、更に後述する図3に示すように、アプリケーションからの印刷データを一旦中間コードデータでスプールするシステムを前提としている。
【0040】
図3は、図2のシステムを拡張したもので、グラフィックエンジン202からプリンタドライバ203へ印刷命令を送る際に、一旦中間コードからなるスプールファイル303を生成する構成をとる。図2に示した印刷システムでは、アプリケーション201が印刷処理から開放されるのはプリンタドライバ203がグラフィックエンジン202からのすべての印刷命令をプリンタの制御コマンドヘ変換し終つた時点であるのに対し、図3に示したシステムでは、スプーラ302がすべての印刷命令を中間コードデータに変換し、スプールファイル303に出力した時点であり、通常、後者の方が短時間で済む。以下、図3の詳細を説明する。
【0041】
図3は、図1に示した印刷システムにおける第2のホストコンピュータの構成を説明するブロック図であり、図1と同一のものには同一の符号を付してある。以下、構成および動作について説明する。
【0042】
この拡張された処理方式では、グラフィックエンジン202からの印刷命令を共通プリンタドライバ301が受け取る。共通プリンタドライバ301がグラフィックエンジン202から受け取つた印刷命令がアプリケーション201からグラフィックエンジン202へ発行された印刷命令の場合には、共通プリンタドライバ301は外部メモリ11に格納されているスプーラ302をRAM2にロードし、プリンタドライバ203ではなくスプーラ302へ印刷命令を送付する。スプーラ302は受け取った印刷命令を中間コードに変換してスプールファイル303に出力する。
【0043】
また、プリンタドライバ203に対して設定されている印刷データに関する加工設定をスプーラ302はプリンタドライバ203から取得してスプールファイル303に保存する。
【0044】
なお、スプールファイル303は外部メモリ11上にファイルとして生成するが、RAM2上に生成する事も可能である。更にスプーラ302は外部メモリ11に格納されているスプールファイルマネージャ304をRAM2にロードし、スプールファイルマネージャ304に対してスプールファイル303の生成状況を通知する。その後、スプールファイルマネージャ304は、再度グラフィックエンジン202を利用して印刷を行えると判断した際には、外部メモリ11に格納されているデスプーラ305をRAM2にロードし、デスプーラ304に対して、スプールファイル303に記述された中間コードの印刷処理を行うように指示する。
【0045】
デスプーラ305はスプールファイル303に含まれる中間コードをもう一度グラフィックエンジン202経由でプリンタドライバ203に出力する。プリンタドライバ203はプリンタ制御コマンドを生成し、システムスプーラ204経由でプリンタ1500に出力がなされる。
【0046】
図4は、図1に示したRAM2のメモリマップの一例を示す図であり、印刷プログラムがホストコンピュータ3000上のRAM2にロードされ実行可能となつた状態に対応する。なお、本実施形態における印刷制御プログラムは印刷プログラム404の一部として存在している。
【0047】
図において、401がアプリケーションで、外部メモリ11等からRAM2にロードされる。402は空きメモリで、CPU1のワークメモリとして機能する。403は関連データ、404は印刷関連プログラムで、外部メモリ11等からRAM2にロードされる。405はOS、406はBIOSで、入出力デバイスを制御する。
【0048】
図5は、本発明に係る印刷システムにおける第1のプリント処理形態を説明するブロック図であり、特に、印刷データを生成するクライアント600には各々ローカル接続、ネットワーク直結、サーバ経由接続されたプリンタに対応したプリンタドライバ203,601,602および共通プリンタドライバ301が存在するシステム例に対応する。
【0049】
図において、301は共通プリンタドライバで、ネットワーク上の各印刷装置に依存しない印刷データを生成処理する。601はプリンタドライバで、プリンタ606に依存する印刷データを生成処理する。602はプリンタドライバで、サーバ607に接続されるプリンタ608に依存する印刷データを生成処理する。604はプリンタで、クライアント600のローカルプリンタとしてセントロニクスインタフェース603を介して接続される。
【0050】
なお、プリンタ608は、サーバ607とセントロニクスインタフェース603を介して通信可能に接続されている。また、プリンタ606は、ネットワークカードを備えて、所定のプロコトルでプリンタドライバ601と通信処理する。
【0051】
図6は、本発明に係る印刷システムにおける第2のプリント処理形態を説明するブロック図であり、図1,図5と同一のものには同一の符号を付してある。
【0052】
図において、304はスプールファイルマネージャで、各プリンタ604,606,608の印刷が正常に終了したかどうかをモニタリング処理する。
【0053】
以下、本実施形態の特徴的構成について図5等を参照して説明する。
【0054】
上記のように構成された所定の通信媒体(ネットワーク,インタフェースを含む)を介して複数の印刷装置(プリンタ604,プリンタ606,プリンタ608)と通信可能な印刷制御装置であって、アプリケーション201から要求される描画情報を各印刷装置に依存しない描画オブジェクトに変換する第1の変換手段(共通プリンタドライバ301)と、前記第1の変換手段により変換された前記描画オブジェクトを格納する格納手段と、前記格納手段に格納された前記描画オブジェクトを選択される印刷装置に固有の印刷制御情報に変換して対応するそれぞれの印刷装置に転送する複数の第2の変換手段(プリンタドライバ203,601,602)と、いずれかの第2の変換手段による変換処理開始からいずれかの印刷装置の印刷処理が終了するまで印刷処理状態を監視して印刷処理エラーの発生を判定する判定手段(スプールファイルマネージャ304)と、前記判定手段により前記いずれかの印刷装置に前記印刷処理エラーが発生したと判定した場合に、設定された他の印刷装置に対応するいずれかの第2の変換手段を選択する制御手段(ホストコンピュータ3000のCPU1がROM3,外部メモリ11に記憶された制御プログラムを実行して選択制御する)とを有するので、それぞれの印刷装置に依存しない描画オブジェクトを選択されたいずれかの印刷装置において印刷処理が正常に終了するまで保持しておき、ユーザが選択した印刷装置に対する印刷処理中に、何らかのエラーが発生した場合に、設定された次の代替印刷装置を選択し、該選択された印刷装置に対し、該格納されている描画オブジェクトから固有の印刷制御情報を変換して順次転送処理でき、ユーザによる印刷装置候補の選択負担を軽減できるとともに、次候補の印刷装置に対して速やかに印刷制御情報を転送でき、印刷処理時間を大幅に短縮して効率よく印刷処理を行える印刷環境を整備することができる。
【0055】
また、前記印刷処理エラーは、いずれかの第2の変換手段による変換処理エラー,いずれかの第2の変換手段による変換される前記印刷制御情報の転送エラー,選択されるいずれかの印刷装置のエンジン動作エラー(例えば給紙ジャム)を含むので、一連の印刷処理中における印刷処理エラーを捉えて選択された印刷装置から設定された他の印刷装置に対する印刷処理に動的に切り替えることができる。
【0056】
さらに、前記印刷処理エラーが発生した際に、前記格納手段に格納された前記描画オブジェクトを転送すべき次の印刷装置候補を各印刷装置毎に設定する設定手段(ホストコンピュータ3000の図示しないGUIによりユーザが任意に設定する)と、前記設定手段により設定された前記描画オブジェクトを転送すべき次の印刷装置候補一覧を記憶する記憶手段(外部メモリ11等に記憶し、RAM2上にロードされる)とを有し、前記制御手段は、前記記憶手段に記憶されている次の印刷装置候補一覧(図8に示すテーブル参照)に設定された他の印刷装置に対応するいずれかの第2の変換手段を選択するので、ユーザが意図する優先順位に従って意図する印刷装置に対して格納されている描画オブジェクトから変換される印刷制御情報を順次転送することができる。
【0057】
また、前記印刷装置は、ローカルプリンタ(プリンタ604),ネットワークプリンタ(プリンタ606,608)を含むので、障害時における代替印刷装置候補を種々の印刷環境から自在に選択することができる。
【0058】
さらに、前記ネットワークプリンタは、前記所定の通信媒体に対してサーバを介して接続される第1のネットワークプリンタ(プリンタ606)と、前記所定の通信媒体に対して直接接続される第2のネットワークプリンタ(プリンタ608)とを含むので、障害時における代替ネットワークプリンタ候補を種々のネットワークプリンタ環境から自在に選択することができる。
【0059】
また、前記選択手段により選択された次候補の印刷装置と前候補の印刷装置との互換性を判定する第2の判定手段ホストコンピュータ3000のCPU1がROM3,外部メモリ11に記憶された制御プログラムを実行して判定する)を有し、前記制御手段は、前記第2の判定手段により次候補の印刷装置と前候補の印刷装置とが互換性があると判定した場合に、変換済みの印刷制御情報を次候補の印刷装置に転送するので、選択した印刷装置に対する印刷処理中にエラーが発生した際に、次候補として選択される印刷装置が前候補の印刷装置と互換性がある場合には、既に変換された印刷制御情報を直接転送でき、再変換処理が不要となり、次候補の印刷装置における印刷処理時間を大幅に短縮することができる。
【0060】
図7は、図5,図6に示したクライアントの表示部に表示されるダイアログメッセージの一例を示す図であり、例えば印刷が不成功に終了した場合のメッセージ例に対応する。
【0061】
図8は、図1に示したRAM2または外部メモリ11に記憶管理されるプリンタ選択候補の優先順位テーブルの一例を示す図であり、選択されるプリンタ毎に設定されている。
【0062】
図9は、本発明に係るデータ処理装置における第1のデータ処理手順の一例を示すフローチャートである。なお、(1)〜(9)は各ステップを示す。また、本実施形態における処理は、ユーザが図1に示したキーボードコントローラ5等により、図4に示すようにOS405の管理の下RAM2上にロードされ、実行中のアプリケーション201にて印刷先のプリンタの指定と印刷実行を指示することで始まる。
【0063】
例えば、図5に示すようにクライアント600上で動作するアプリケーション201から、それぞれプリンタドライバ203,601,602を使用してプリンタ604,606,608の3台のプリンタに出力が可能である場合は、ユーザがプリンタドライバ203,601,602の何れかを選択して印刷を実行することになる。以下本実施形態のフローチャートを用いた説明では、この時ユーザが選択したプリンタドライバはプリンタドライバ203であるものとする。
【0064】
印刷開始がユーザによって指示されると、まず、ステップ(1)で、アプリケーション201はグラフィックエンジン202に印刷命令を印刷データが全てなくなるまで実行する。次に、アプリケーション201より印刷命令を受けたグラフィックエンジン202は、ユーザが指定したプリンタドライバ203の代わりに、共通プリンタドライバ301をRAM2上に呼び出し印刷を実行する。
【0065】
そして、共通プリンタドライバ301は、受け付けた印刷命令をスプーラ302を呼び出し、印刷命令の中間コードヘの変換とスプールファイル303への保存を行う。このように共通プリンタドライバ301がグラフィックエンジン202からの印刷命令を全て中間コードヘ変換し、スプールファイル303ヘの保存を行い処理が終了すると、ステップ(3)で、アプリケーション201が開放される。
【0066】
続いて、ステップ(4)で、先に図3の説明を行つたとおり、スプールファイルマネージャ304、デスプーラ305、グラフィックエンジン202経由で、ユーザが印刷指定したプリンタ604に対応したプリンタドライバ203を出力先として印刷を実行する。
【0067】
続いて、ステップ(5)で、スプールファイルマネージャ304が印刷が正常終了したかどうかの確認を行う。実際の確認は、印刷処理の流れの中で、各モジュールの処理状況(正常終了したか、異常終了したか)を監視することにより行われる。本実施形態では、図6に示したように、グラフィックエンジン202、システムスプーラ204およびプリンタ604,606,608の状態を監視することで正常終了したかどうかの判断が行われる。異常終了の例としては、グラフィックエンジン202でのメモリ不足,ディスク不足,システムスプーラ204でのプリンタヘのデータの送信エラー,プリンタでの紙ジャム等が挙げられる。
【0068】
上記ステップ(5)で、印刷が正常終了したと判定した場合には、ステップ(9)で、スプールファイルマネージャ304がスプールファイル303を削除して全ての処理を終了する。
【0069】
一方、ステップ(5)で、印刷が正常に終了しなかったと判定した場合には、ステップ(6)で、ホストコンピュータ3000にて利用可能なプリンタドライバの中で、次候補のプリンタドライバがあるかどうかの判別を行う。なお、本実施形態において、次候補の決定方法は、図8に示したように、ユーザが予め優先順位を定義したテーブルをRAM2中または外部メモリ11に記憶しておき、この優先順位を定義したテーブルを順に辿っていくことで決定できる。この他に、次候補の決定には、プリンタドライバの持つ情報を各プリンタドライバから集めて外部メモリ11に記憶しておき、それらの情報をもとに、印刷実行時に印刷先として指定されたプリンタドライバとの互換性、プリンタのロケーション情報(プリンタが何処に設置されているのか)等をもとに図8と同様のプリンタドライバの優先順位を示すテーブルを作成して行うことも可能である。
【0070】
ステップ(6)で、次候補のプリンタドライバがあったと判定された場合には、ステップ(7)で、そのドライバを次候補として選択し、ステップ(4)へ戻り、デスプーラ305が再びグラフィックエンジン202に対してスプールファイル303の内容の印刷を実行する。
【0071】
なお、本実施形態の場合には、図8に示すとおり次候補が、プリンタ604の次候補は、プリンタ608であるので、プリンタドライバ601を次候補として選択する。このようにして、印刷が正常に終了するか、次候補のプリンタドライバが存在しなくなるまでプリンタドライバを切り替えながら印刷処理が行われる。
【0072】
一方、ステップ(6)で、次候補ドライバが存在しなかったと判定した場合には、印刷が不成功に終わったことをユーザに通知するために、ステップ(8)で、CRT10に対して、図7に示したエラーメッセージを表示する。続いて、ステップ(9)で、スプールファイル303を削除し、処理を終了する。
【0073】
以上の処理によリアプリケーションからの印刷処理は全て終了し、本実施形態における印刷プログラムの処理も終了し、RAM2からはOS405の機能により消去される。
【0074】
なお、本実施形態においては、本印刷プログラムを記録する媒体を外部メモリ11としているが、外部メモリ11としては、FDドライブ、HDドライブ、CD−ROMやICメモリカード等であってもよい。
【0075】
更に、本印刷プログラム単独、もしくはOSその他のホストコンピュータ上で動作するプログラムと共にROM3に記録しておき、これをメモリマップの一部となすように構成し、直接CPUlで実行することも可能である。
【0076】
以下、本実施形態の特徴的構成について図9等を参照して説明する。
【0077】
上記のように構成された所定の通信媒体(ネットワーク,インタフェースを含む)を介して複数の印刷装置と通信可能な印刷制御装置のデータ処理方法であって、あるいは所定の通信媒体を介して複数の印刷装置と通信可能なデータ処理装置を制御するコンピュータが読み出し可能なプログラムを格納した記録媒体であって、アプリケーションから要求される描画情報を各印刷装置に依存しない描画オブジェクトに変換する第1の変換工程(図9のステップ(2))と、前記第1の変換工程により変換された前記描画オブジェクトをメモリに格納する格納工程(図9のステップ(2))と、前記格納工程により前記メモリに格納された前記描画オブジェクトを選択される印刷装置に固有の印刷制御情報に変換して対応するそれぞれの印刷装置に転送する複数の第2の変換工程(図9のステップ(4))と、いずれかの第2の変換工程による変換処理開始からいずれかの印刷装置の印刷処理が終了するまで印刷処理状態を監視して印刷処理エラーの発生を判定する判定工程(図9のステップ(5))と、前記判定工程により前記いずれかの印刷装置に前記印刷処理エラーが発生したと判定した場合に、設定された他の印刷装置に対応するいずれかの第2の変換工程を選択する選択工程(図9のステップ(6),(7))とを有するので、それぞれの印刷装置に依存しない描画オブジェクトを選択されたいずれかの印刷装置において印刷処理が正常に終了するまで保持しておき、ユーザが選択した印刷装置に対する印刷処理中に、何らかのエラーが発生した場合に、設定された次の代替印刷装置を選択し、該選択された印刷装置に対し、該格納されている描画オブジェクトから固有の印刷制御情報を変換して順次転送処理でき、ユーザによる印刷装置候補の選択負担を軽減できるとともに、次候補の印刷装置に対して速やかに印刷制御情報を転送でき、印刷処理時間を大幅に短縮して効率よく印刷処理を行える印刷環境を整備することができる。
【0078】
また、前記印刷処理エラーは、いずれかの第2の変換工程による変換処理エラー,いずれかの第2の変換工程による変換される前記印刷制御情報の転送エラー,選択されるいずれかの印刷装置のエンジン動作エラーを含むので、一連の印刷処理中のおける印刷処理エラーを捉えて選択された印刷装置から設定された他の印刷装置に対する印刷処理に動的に切り替えることができる。
【0079】
さらに、前記印刷処理エラーが発生した際に、前記メモリに格納された前記描画オブジェクトを転送すべき次の印刷装置候補を各印刷装置毎に設定する設定工程(図示しない)と、前記設定工程により設定された前記描画オブジェクトを転送すべき次の印刷装置候補一覧を前記メモリに登録する登録工程(図示しない)とを有し、前記選択工程は、前記メモリに記憶されている次の印刷装置候補一覧に設定された他の印刷装置に対応するいずれかの第2の変換工程を選択するので、ユーザが意図する優先順位に従って意図する印刷装置に対して格納されている描画オブジェクトから変換される印刷制御情報を順次転送することができる。
【0080】
また、前記印刷装置は、ローカルプリンタ(プリンタ604),ネットワークプリンタ(プリンタ606,プリンタ608)を含むので、障害時における代替印刷装置候補を種々の印刷環境から自在に選択することができる。
【0081】
さらに、前記ネットワークプリンタは、前記所定の通信媒体に対してサーバを介して接続される第1のネットワークプリンタ(プリンタ606)と、前記所定の通信媒体に対して直接接続される第2のネットワークプリンタ(プリンタ608)とを含むので、障害時における代替ネットワークプリンタ候補を種々のネットワークプリンタ環境から自在に選択することができる。
【0082】
〔第2実施形態〕
第1実施形態では、図9に示したステップ(5)にて印刷が正常に終了しなかったことを検知した場合に、ステップ(7)にて次候補となるプリンタドライバを決定し、再度、次候補プリンタドライバとして選択されたプリンタドライバを用いて印刷を実行する構造となつているが、図10に示すように優先順位を示すテーブルに互換性フラグを追加し、再度印刷を実行せずに、印刷が正常に終了しなかった際に生成された印刷データを次候補のプリンタに送信することで、印刷を再実行するように構成しても良い。以下、その実施形態について説明する。
【0083】
図10は、本発明の第2実施形態を示すデータ処理装置に記憶されるプリンタ選択優先順位テーブルの一例を示す図であり、外部メモリ11等に記憶されるものとする。
【0084】
図11は、本発明に係るデータ処理装置における第2のデータ処理手順の一例を示すフローチャートであり、要部手順のみを示してある。なお、(11),(12)は各ステップを示し、他の処理は図9に準ずる。
【0085】
図示されていないが、図9に示したステップ(4)における出力先プリンタドライバによる印刷の実行において、通常、プリンタドライバにより生成された印刷データはシステムスプーラ204の管理する一時保存ファイルに書き込まれた後、実際にクライアント600に接続されたプリンタに送信されるが、本実施形態では、プリンタドライバの出力を一旦、スプールファイルマネージヤ304の管理下の一時保存ファイルに書き込み保存を行い、保存が終了した後、再度、システムスプーラ204の管理する一時保存ファイルヘの書き込み保存を最終印刷データ形式にて行う。
【0086】
スプールファイルマネージャ304管理下に置かれた一時保存ファイルは、中間コード形式のスプールファイル303と同様にステップ(9)のスプールファイル削除の処理により削除される。
【0087】
まず、図9に示したステップ(7)にて、次候補ドライバがあることがわかった場合に、さらに、ステップ(11)で、次候補のドライバが先に印刷を行つたプリンタドライバと互換性があるかどうかの判別を、図10に示したテーブルを参照して行い、互換性がないと判定した場合には、図9に示したステップ(4)の処理に戻る。
【0088】
一方、ステップ(11)で、互換性があると判定した場合には、ステップ(12)で、スプールファイルマネージャ304に管理されている最終印刷データ形式のファイルをオープンし、データの出力先プリンタヘの送信を行い、該処理の終了と共に、図9に示したステップ(5)の処理に戻る。
【0089】
例えば、ユーザが出力先として指定したプリンタがプリンタ604で、このプリンタヘの印刷終了前に何らかのエラーが発生した場合には、図10に示す次候補情報,互換性情報により、次候補がプリンタ606で、互換性ありということが判明する。
【0090】
したがって、この場合には、スプールファイルマネージャ304の管理する中間データ形式のスプールファイル303を用いて再度グラフィックエンジン202への印刷を行う必要はなく、最終印刷データ形式により保存した一時保存ファイルをプリンタに送信することでプリンタ606への印刷が行われる。仮にプリンタ606においても印刷が正常終了しなかつた場合には、図10に示したプリンタ604の項目を参照し、プリンタ608が最終候補で互換性がないことが判明するので、プリンタ608に対しては、ステップ(4)による通常の印刷処理が行われることになる。
【0091】
以下、本実施形態の特徴的構成について図11に示すフローチャートを参照して説明する。
【0092】
上記のように構成された所定の通信媒体を介して複数の印刷装置と通信可能な印刷制御装置のデータ処理方法であって、あるいは所定の通信媒体を介して複数の印刷装置と通信可能なデータ処理装置を制御するコンピュータが読み出し可能なプログラムを格納した記録媒体であって、前記選択工程により選択された次候補の印刷装置と前候補の印刷装置との互換性を判定する第2の判定工程(図11のステップ(11))と、前記第2の判定工程により次候補の印刷装置と前候補の印刷装置とが互換性があると判定した場合に、変換済みの印刷制御情報を次候補の印刷装置に転送する転送工程(図11のステップ(12))とを有するので、選択した印刷装置に対する印刷処理中にエラーが発生した際に、次候補として選択される印刷装置が前候補の印刷装置と互換性がある場合には、既に変換された印刷制御情報を直接転送でき、再変換処理が不要となり、次候補の印刷装置における印刷処理時間を大幅に短縮することができる。
【0093】
以下、図12に示すメモリマップを参照して本発明に係るデータ処理装置を適用可能な印刷システムで読み出し可能なデータ処理プログラムの構成について説明する。
【0094】
図12は、本発明に係るデータ処理装置を適用可能な印刷システムで読み出し可能な各種データ処理プログラムを格納する記録媒体のメモリマップを説明する図である。
【0095】
なお、特に図示しないが、記録媒体に記録されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【0096】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【0097】
本実施形態における図9,図11に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【0098】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0099】
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【0100】
プログラムコードを供給するための記録媒体としては、例えば、フロッピーディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROM,EEPROM等を用いることができる。
【0101】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0102】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0103】
〔第3の実施形態〕
以下、図面を参照して本発明の第3の実施形態について説明する。第3の実施形態では、ユーザの手を煩わせることなく、印刷実行中の障害を回避し印刷を確実に行わせることを実現する印刷制御装置および方法を提供すること。更には、出力先の印刷装置を変更することによって生じる問題点をユーザに通知、または代替手段により解決を図ることで、ユーザの所望する印刷出力を可能とすることを目的としている。
【0104】
そして、印刷を実行する印刷装置に非依存なデータを生成する印刷制御手段を備え、前記印刷制御手段により生成された印刷装置に非依存なデータを任意の印刷装置に対しての印刷データに変換する手段と、前記印刷データを印刷装置に送信する手段と、前記送信した印刷データの印刷完了までをモニタリングする手段と、何らかの原因により印刷が不成功に終わった場合に、前記印刷装置に非依存なデータを基に、出力先の印刷装置を変更し、変更後の印刷装置に対しての印刷データに変換し、印刷を実行する手段とを備えるものである。
【0105】
前述の図1から図4までの図を流用する。なお、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、LAN、WAN等のネットワークを介して接続が為され処理が行われるシステムであっても本発明を適用できる。
【0106】
図1において、18は前述した操作パネルで操作のためのスイッチおよびLED表示器等が配されている。
【0107】
また、前述した外部メモリ14は1個に限らず、複数個備えられ、内蔵フォントに加えてオプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。更に、図示しないNVRAMを有し、操作パネル1501からのプリンタモード設定情報を記憶するようにしてもよい。以下、図4までの説明は説明のため重複している。
【0108】
図2は、プリンタ等の印刷装置が直接接続されているか、あるいはネットワーク経由で接続されているホストコンピュータにおける典型的な印刷処理の構成図である。アプリケーション201、グラフィックエンジン202、プリンタドライバ203、およびシステムスプーラ204は、外部メモリ11に保存されたファイルとして存在し、実行される場合にOSやそのモジュールを利用するモジュールによってRAM2にロードされ実行されるプログラムモジュールである。また、アプリケーション201およびプリンタドライバ203は、外部メモリ11のFDや不図示のCD−ROM、あるいは不図示のネットワークを経由して外部ディスク11のHDに追加することが可能となっている。外部メモリ11に保存されているアプリケーション201はRAM2にロードされて実行されるが、このアプリケーション201からプリンタ1500に対して印刷を行う際には、同様にRAM2にロードされ実行可能となっているグラフィックエンジン202を利用して出力(描画)を行う。グラフィックエンジン202は印刷装置ごとに用意されたプリンタドライバ203を同様に外部メモリ11からRAM2にロードし、アプリケーション210の出力をプリンタドライバ203を用いてプリンタの制御コマンドに変換する。変換されたプリンタ制御コマンドはOSによってRAM2にロードされたシステムスプーラ204を経てインターフェース21経由でプリンタ1500へ出力される仕組みとなっている。
【0109】
本発明は、図2で示すプリンタとホストコンピュータからなる印刷システムを前提としているが、更に図3に示すように、アプリケーションからの印刷データを一旦中間コードデータでスプールするシステムを前提としている。図3は、図2のシステムを拡張したもので、グラフィックエンジン202からプリンタドライバ203へ印刷命令を送る際に、一旦中間コードからなるスプールファイル303を生成する構成をとる。第2図のシステムでは、アプリケーション201が印刷処理から開放されるのはプリンタドライバ203がグラフィックエンジン202からのすべての印刷命令をプリンタの制御コマンドへ変換し終った時点であるのに対し、図3のシステムでは、スプーラ302がすべての印刷命令を中間コードデータにに変換し、スプールファイル303に出力した時点であり、通常、後者の方が短時間で済む。
【0110】
以下、図3の詳細を説明する。図に示すとおり、この拡張された処理方式では、グラフィックエンジン202からの印刷命令を共通プリンタドライバ301が受け取る。共通プリンタドライバ301がグラフィックエンジン202から受け取った印刷命令がアプリケーション201からグラフィックエンジン202へ発行された印刷命令の場合には、共通プリンタドライバ301は外部メモリ11に格納されているスプーラ302をRAM2にロードし、プリンタドライバ203ではなくスプーラ302へ印刷命令を送付する。スプーラ302は受け取った印刷命令を中間コードに変換してスプールファイル303に出力する。また、プリンタドライバ203に対して設定されている印刷データに関する加工設定をスプーラ302はプリンタドライバ203から取得しスプールファイル303に保存する。なお、スプールファイル303は外部メモリ11上にファイルとして生成するが、RAM2上に生成する事も可能である。更にスプーラ302は外部メモリ11に格納されているスプールファイルマネージャ304をRAM2にロードし、スプールファイルマネージャ304に対してスプールファイル303の生成状況を通知する。その後、スプールファイルマネージャ304は、再度グラフィックエンジン202を利用して印刷を行えると判断した際には、外部メモリ11に格納されているデスプーラ305をRAM2にロードし、デスプーラ304に対して、スプールファイル303に記述された中間コードの印刷処理を行うように指示する。デスプーラ305はスプールファイル303に含まれる中間コードをもう一度グラフィックエンジン202経由でプリンタドライバ203に出力する。プリンタドライバ203はプリンタ制御コマンドを生成し、システムスプーラ204経由でプリンタ1500に出力がなされる。
【0111】
図4に示すのが、本実施例における印刷プログラムがホストコンピュータ3000上のRAM2にロードされ実行可能となった状態のメモリマップを示している。なお、本実施例における印刷制御プログラムは印刷プログラム404の一部として存在している。図13、19に示されるプログラムも404に含まれる。
【0112】
以下、図13から図19に基づいて、第3の実施形態について説明する。図13に示すのが、第3実施形態における処理の内容をフローチャートにて図示したものである。
【0113】
図14に示すのが、本実施例におけるシステム構成の例を示すものである。図中の印刷データを生成するクライアント600には各々ローカル接続、ネットワーク直結、サーバ経由接続されたプリンタに対応したプリンタドライバA、B、Cが存在することを簡単に示している。
【0114】
図7は印刷が正常終了したかどうかをモニタリングする構成の例を示したものである。
【0115】
図16は印刷が不成功に終わった場合のエラーメッセージの表示例となっている。
【0116】
図17は印刷優先順位を示す情報の例となっている。また、図18は次候補プリンタに印刷実行する場合に無効となる印刷指定がある場合に表示されるメッセージの表示例となっている。以下、図13に示すフローチャートを中心にして本実施例を詳しく説明する。
【0117】
まず、第13図に示すとおり、本実施例における処理はユーザが第1図に示したキーボードコントローラKBC5等により第4図に示すようにOS405の管理の下RAM2上にロードされ、実行中のアプリケーション201にて印刷先のプリンタの指定と印刷実行を指示することで始まる。例えば、図14に示すようにクライアント600上で動作するアプリケーションから、それぞれプリンタドライバA、B、Cを使用してプリンタA、B、Cの3台のプリンタに出力が可能である場合は、ユーザがプリンタドライバA、B、Cの何れかを選択して印刷を実行することになる。以下本実施例のフローチャートを用いた説明では、この時ユーザが選択したプリンタドライバはプリンタドライバA203であるものとして行う。印刷がユーザによって指示されると、アプリケーション201はグラフィックエンジン202に印刷命令を印刷データが全てなくなるまで実行する(ステップ501)。アプリケーション201より印刷命令を受けたグラフィックエンジン202は、ユーザが指定したプリンタドライバA203の代わりに、共通プリンタドライバ301をRAM2上に呼び出し印刷を実行する。共通プリンタドライバ301は受け付けた印刷命令をスプーラ302を呼び出して、印刷命令の中間コードへの変換とスプールファイル303への保存を行う(ステップ502)。このように共通プリンタドライバ301がグラフィックエンジン202からの印刷命令を全て中間コードへ変換し、スプールファイルへの保存を行い、処理が終了すると、アプリケーション201が開放される(ステップ503)。続いて、先に図3の説明を行ったとおりスプールファイルマネージャ304、デスプーラ305、グラフィックエンジン202経由で、ユーザが印刷指定したプリンタA604に対応したプリンタドライバA203を出力先として印刷を実行する(ステップ504)。続いて、スプールファイルマネージャ304がステップ504の印刷が正常終了したかどうかの確認を行う。実際の確認は、印刷処理の流れの中で、各モジュールの処理状況(正常終了したか、異常終了したか)を監視することにより行われる。本実施例では、図15に示すように、グラフィックエンジン202、システムスプーラ204およびプリンタA、B、Cの状態を監視することで正常終了したかどうかの判断が行われる。異常終了の例としては、グラフィックエンジン202でのメモリ不足、ディスク不足、システムスプーラ204でのプリンタへのデータの送信エラー、プリンタでの紙ジャム等が挙げられる(ステップ505)。ここで印刷が正常終了であった場合、または、印刷が正常に終了したかどうかのチェックを行う必要がない場合またはユーザが印刷の終了確認を必要としない場合にも、スプールファイルマネージャ304がスプールファイル303を削除して全ての処理を終了する(ステップ512)。印刷が正常に終了したかどうかのチェックを行う必要がない場合の例としては、後述する通り、当初印刷を行おうとしたプリンタでエラーが発生したために、次候補プリンタでの印刷を行おうとしたものの、印刷出力が一部非互換となるために再度、元のプリンタへの出力を行う場合がある。一方、印刷が正常に終了しなかった場合には、ホストコンピュータ3000にて利用可能なプリンタドライバの中で、次候補のプリンタドライバがあるかどうかの判別を行う(ステップ506)。次候補の決定方法は、図17に示すようにユーザが予め優先順位を定義したテーブルをRAM2中または外部メモリ11に記憶しておき、この優先順位を定義したテーブルを順にたどっていくことで決定できる。この他に、次候補の決定には、プリンタドライバの持つ情報を各プリンタドライバから集めて外部メモリ11に記憶しておき、それらの情報をもとに、印刷実行時に印刷先として指定されたプリンタドライバとの互換性、プリンタのロケーション情報(プリンタが何処に設置されているのか)等をもとに図17と同様のプリンタドライバの優先順位を示すテーブルを作成して行うことも可能である。次候補ドライバが存在しなかった場合には、印刷が不成功に終わったことをユーザに通知するために、CRT10に図16に示すメッセージを表示し(ステップ511)、続いて、スプールファイル303を削除し、処理を終了する。(ステップ512)一方、次候補のプリンタドライバがあった場合にはそのドライバを次候補として選択する。(ステップ507)本実施例の場合には、図17に示すとおり次候補がプリンタBであるので、プリンタドライバBを次候補として選択する。次に選択したプリンタドライバBと元々選択していたプリンタドライバAにて印刷を実行した場合に印刷の差異が生じないかどうかの評価を共通プリンタドライバから各プリンタドライバへ、あらかじめ定められた問い合わせ用I/Fにて情報を取得して行う。印刷に差異があるかどうかの確認項目は多岐に渡るが、その一例としては、両面の可否、出力用紙サイズ、ステイプル可否、ソート、製本印刷等が挙げられる。(ステップ508)印刷の差異が生じない場合には、デスプーラ305が再びグラフィックエンジン202に対してスプールファイル303の内容の印刷を実行する。(ステップ504)このようにして、印刷が正常に終了するか、次候補のプリンタドライバが存在しなくなるまでプリンタドライバを切り替えながら印刷処理が行われる。一方、印刷の差異が生じることが判明した場合には、その事をユーザに通知するためにCRT10に図18に示すようなメッセージを表示し、次候補プリンタドライバにて印刷を継続するかどうか、ユーザに確認を行う。図18では次候補プリンタドライバBを用いて印刷を実行した場合に両面印刷が不可となることを示している(ステップ509)。印刷継続が選択された場合には、デスプーラ305が再びグラフィックエンジン202に対してスプールファイル303の内容の印刷を実行する(ステップ504)。一方、印刷中止が選択された場合には、次候補プリンタドライバでの印刷を行わずに、再度、最初に選択されたプリンタドライバにて印刷を行うように次候補プリンタドライバの選択を変更する(ステップ510)。続いて、デスプーラ305が再びグラフィックエンジン202に対してスプールファイル303の内容の印刷を実行するが(ステップ504)、この場合は、一度、印刷エラーが生じた後に再度、同じプリンタに対して印刷を試みているので、印刷終了のチェックは行わずに、スプールファイル303を削除し、処理を終了する(ステップ512)。
【0118】
以上の処理によりアプリケーションからの印刷処理は全て終了し、本実施例における印刷プログラムの処理も終了し、RAM2からはOS405の機能により消去される。なお、本実施例においては、本印刷プログラムを記録する媒体を外部メモリとしているが、外部メモリとしては、FD、HDドライブ、CD−ROMやICメモリカード等であってもよい。更に、本印刷プログラム単独、もしくはOSその他のホストコンピュータ上で動作するプログラムと共にROM3に記録しておき、これをメモリマップの一部となすように構成し、直接CPU1で実行することも可能である。
【0119】
〔更に他の他の実施例〕
上記実施例では、ステップ508にてユーザの印刷指示に次候補ドライバで実行できない機能があった場合には、ステップ509にてユーザに印刷を継続するかどうかの確認を行っているが、本実施例ではこのステップ508とステップ509の間の処理として、プリンタ機能に起因して処理不可な機能のうち、プリンタドライバ側処理にて代行可能な機能については代行するモードにプリンタドライバの動作モードを変更する処理を加えている。以下において図19を用いて説明を行う。
【0120】
まず、ステップ508にて次候補ドライバで実行できないユーザの印刷指示があることが判明した場合に、ユーザの支持した印刷指示がプリンタに起因して次候補ドライバで実行できないかどうかを判別し、さらに前記プリンタに起因する制限をホスト側の処理にて代行できるかどうかの判別をあわせて行う。(ステップ1101)これら2つの判別には、例えば、あらかじめ定められた問い合わせ用I/Fにて情報を取得して行うのが有効である。もちろん、プリンタドライバ個々の能力をまとめたテーブル、データベース等を用いることも可能である。代行ができない場合には、そのままステップ509の処理に戻る。一方、代行可能である場合には、続いて、該当機能についてプリンタ機能ではなく、プリンタドライバ側の機能で実現するために、プリンタドライバの動作モードの変更を行う(ステップ1102)。この場合には、ステップ509の処理はスキップして、直接ステップ504の処理に移る。例えば、プリンタドライバにて代行可能なプリンタ機能には、用紙サイズの定型拡縮、ズーム、ページレイアウト印刷(Nページ、ポスター等)、部単位印刷、製本印刷等がある。一方、プリンタドライバにて代行できないプリンタ機能としては、給紙口指定、排紙口指定、ステイプル、両面等デバイスでしかできないものが挙げられる。この後の処理は、上記実施例と同様に、デスプーラ305が再びグラフィックエンジン202に対してスプールファイル303の内容の印刷を実行し、(ステップ504)、印刷が正常終了すれば、スプールファイル303を削除し、処理を終了する(ステップ512)。
【0121】
以上の処理によりアプリケーションからの印刷処理は全て終了し、本実施例における印刷プログラムの処理も終了し、RAM2からはOS405の機能により消去される。なお、本実施例においては、本印刷プログラムを記録する媒体を外部メモリとしているが、外部メモリとしては、FD、HDドライブ、CD−ROMやICメモリカード等であってもよい。更に、本印刷プログラム単独、もしくはOSその他のホストコンピュータ上で動作するプログラムと共にROM3に記録しておき、これをメモリマップの一部となすように構成し、直接CPU1で実行することも可能である。
【0122】
以上説明したように、本実施形態の印刷制御装置は、所定の通信媒体を介して複数の印刷装置と通信可能な印刷制御装置であり、アプリケーションから要求される描画情報を各印刷装置に依存しない描画オブジェクトに変換する第1の変換手段と、前記第1の変換手段により変換された前記描画オブジェクトを格納する格納手段と、前記格納手段に格納された前記描画オブジェクトを選択される印刷装置に固有の印刷制御情報に変換して対応するそれぞれの印刷装置に転送する複数の第2の変換手段と、いずれかの第2の変換手段による変換処理開始からいずれかの印刷装置の印刷処理が終了するまで印刷処理状態を監視して印刷処理エラーの発生を判定する判定手段と、前記判定手段により前記いずれかの印刷装置に前記印刷処理エラーが発生したと判定した場合に、設定された他の印刷装置に対応するいずれかの第2の変換手段を選択する制御手段とを有するので、それぞれの印刷装置に依存しない描画オブジェクトを選択されたいずれかの印刷装置において印刷処理が正常に終了するまでに保持しておき、ユーザが選択した印刷装置に対する印刷処理中に、何らかのエラーが発生した場合に、設定された次の代替印刷装置を選択し、該選択された印刷装置に対し、該格納されている描画オブジェクトから固有の印刷制御情報を変換して順次転送処理でき、ユーザによる印刷装置候補の選択負担を軽減できるとともに、次候補の印刷装置に対して速やかに印刷制御情報を転送でき、印刷処理時間を大幅に短縮して効率よく印刷処理を行える印刷環境を整備することができる。
【0123】
また、本実施形態では、前記印刷処理エラーは、いずれかの第2の変換手段による変換処理エラー,いずれかの第2の変換手段による変換される前記印刷制御情報の転送エラー,選択されるいずれかの印刷装置のエンジン動作エラーを含むので、一連の印刷処理中のおける印刷処理エラーを捉えて選択された印刷装置から設定された他の印刷装置に対する印刷処理に動的に切り替えることができる。
【0124】
また、本実施形態では、前記印刷処理エラーが発生した際に、前記格納手段に格納された前記描画オブジェクトを転送すべき次の印刷装置候補を各印刷装置毎に設定する設定手段と、前記設定手段により設定された前記描画オブジェクトを転送すべき次の印刷装置候補一覧を記憶する記憶手段とを有し、前記制御手段は、前記記憶手段に記憶されている次の印刷装置候補一覧に設定された他の印刷装置に対応するいずれかの第2の変換手段を選択するので、ユーザが意図する優先順位に従って意図する印刷装置に対して格納されている描画オブジェクトから変換される印刷制御情報を順次転送することができる。
【0125】
また、本実施形態では、前記印刷装置は、ローカルプリンタ,ネットワークプリンタを含むので、障害時における代替印刷装置候補を種々の印刷環境から自在に選択することができる。
【0126】
また、本実施形態では、前記ネットワークプリンタは、前記所定の通信媒体に対してサーバを介して接続される第1のネットワークプリンタと、前記所定の通信媒体に対して直接接続される第2のネットワークプリンタとを含むので、障害時における代替ネットワークプリンタ候補を種々のネットワークプリンタ環境から自在に選択することができる。
【0134】
従って、印刷処理中の障害発生時における次候補印刷装置により代替印刷処理を自動的に行える印刷処理環境を自在に整備することができる等の効果を奏する。
【0135】
以上説明したように、本発明によれば、アプリケーションを早く解放することができ、更に、ユーザの手を煩わせることなく、印刷実行中の障害を回避し印刷を確実に行わせることを実現する印刷制御装置および方法を提供することが可能となる。
【0136】
更には、アプリを解放した状態で、出力先の印刷装置を変更することによって生じる問題点をユーザに通知、または代替手段により解決を図ることで、ユーザの所望する印刷出力を可能とする。
【発明の効果】
以上説明したように、本発明によれば、複数の印刷装置と通信可能であり、それぞれの印刷装置で解釈可能な印刷制御情報を生成する複数のプリンタドライバと、個別の印刷装置に依存しない共通プリンタドライバとを備えるデータ処理装置において、前記共通プリンタドライバを用いて、アプリケーションから要求される描画情報を各印刷装置に依存しない非依存データに変換し、変換された非依存データをスプーラに保存し、前記複数のプリンタドライバから選択される1つのプリンタドライバを用いて、前記非依存データを、選択される印刷装置に固有の印刷制御情報に変換し、変換のために前記非依存データを出力した後も前記非依存データを該スプーラに残しておき、前記選択された印刷装置の印刷処理状態を監視することにより、印刷処理エラーの発生を判定し、前記選択された印刷装置に前記印刷処理エラーが発生したと判定した場合に、前記複数のプリンタドライバから選択される他の1つのプリンタドライバを用いて印刷制御情報が生成されるべく、前記スプーラに保存されている非依存データを出力するので、選択された印刷装置に対する印刷処理中に、何らかのエラーが発生した場合にも、ユーザによるアプリケーションからの再印刷を行うことなく、容易に他の代替印刷装置で代替印刷でき、代替印刷のための処理時間を大幅に短縮して効率よく印刷処理を行える印刷環境を整備することができる。
【図面の簡単な説明】
【図1】本発明の第1実施形態を示すデータ処理装置を適用可能な印刷システムの構成を説明するブロック図である。
【図2】図1に示した印刷システムにおけるホストコンピュータの構成を説明するブロック図である。
【図3】図1に示した印刷システムにおけるのホストコンピュータの構成を詳細に説明するブロック図である。
【図4】本実施例における印刷モード自動制御プログラムを含む印刷関連モジュールがホストコンピュータ3000のRAM2上にロードされ、実行可能となった状態のメモリマップを示しているブロック図である。
【図5】本発明に係る印刷システムにおける第1のプリント処理形態を説明するブロック図である。
【図6】本発明に係る印刷システムにおける第2のプリント処理形態を説明するブロック図である。
【図7】図5,図6に示したクライアントの表示部に表示されるダイアログメッセージの一例を示す図である。
【図8】図1に示したRAM2または外部メモリに記憶管理されるプリンタ選択候補の優先順位テーブルの一例を示す図である。
【図9】本発明に係るデータ処理装置における第1のデータ処理手順の一例を示すフローチャートである。
【図10】本発明の第2実施形態を示すデータ処理装置に記憶されるプリンタ選択優先順位テーブルの一例を示す図である。
【図11】本発明に係るデータ処理装置における第2のデータ処理手順の一例を示すフローチャートである。
【図12】本発明に係るデータ処理装置を適用可能な印刷システムで読み出し可能な各種データ処理プログラムを格納する記録媒体のメモリマップを説明する図である。
【図13】本実施例における処理の内容をフローチャートにて図示したものである。
【図14】本実施例におけるシステム構成の例を示す図である。
【図15】印刷が正常終了したかどうかをモニタリングする構成の例を示した図である。
【図16】印刷が不成功に終わった場合のエラーメッセージの表示例を示す図となっている。
【図17】印刷優先順位を示す情報の例を示す図となっている。
【図18】次候補プリンタに印刷実行する場合に無効となる印刷指定がある場合に表示されるメッセージの表示例を示す図となっている。
【図19】他の実施例における処理の内容をフローチャートにて図示したものである。
【符号の説明】
201 アプリケーション
202 グラフィックエンジン
203 プリンタドライバ
204 システムスプーラ
301 共通プリンタドライバ
302 スプーラ
303 スプールファイル
304 スプールファイルマネージャ
305 デスプーラ
1500 プリンタ
3000 ホストコンピュータ
1 CPU
2 プリンタ

Claims (18)

  1. 複数の印刷装置と通信可能であり、アプリケーションにより出力される印刷命令に基づいて前記印刷命令とは異なる個別の印刷装置に依存しない中間形式の中間データを生成する共通プリンタドライバと、前記中間データに基づいて前記中間データとは異なるそれぞれの印刷装置で解釈可能な最終形式のプリンタ制御言語を生成する複数のプリンタドライバとを備えるデータ処理装置であって、
    前記共通プリンタドライバを用いて、前記中間データを生成する第1の変換手段と、前記複数のプリンタドライバから選択される第1プリンタドライバを用いて、前記第1プリンタドライバに対応する第1印刷装置に固有の第1プリンタ制御言語を生成する第2の変換手段と、
    前記第1の変換手段により生成された前記中間データをスプーラに保存し、前記第2の変換手段により前記第1プリンタ制御言語が生成された後も前記中間データを該スプーラに残しておく保存制御手段と、
    前記第1印刷装置の印刷処理状態を監視することにより、印刷処理エラーの発生を判定する判定手段と、
    前記判定手段により前記第1印刷装置に前記印刷処理エラーが発生したと判定された場合に、前記複数のプリンタドライバから選択される前記第1プリンタドライバにより生成された第1プリンタ制御言語を用いて印刷することができない第2プリンタドライバを用いて、前記保存制御手段により前記スプーラに残された前記中間データに基づいて前記第2プリンタ制御言語を生成する第3の変換手段と、
    前記印刷処理エラーが発生した際に、前記スプーラに保存された前記中間データを転送すべき次の印刷装置候補を印刷装置毎に設定する設定手段と、
    前記設定手段により設定された前記中間データを転送すべき次の印刷装置候補の一覧記憶する記憶手段と、
    前記記憶手段に記憶されている次の印刷装置候補一覧に設定された他の印刷装置に対応するいずれかのプリンタドライバを選択する選択手段と、
    前記第1プリンタドライバにて印刷を実行した場合の印刷結果と前記第2プリンタドライバにて印刷を実行した場合の印刷結果との間で印刷結果に差異が生じるかを判定する第3の判定手段と、
    前記第3の判定手段により印刷結果に差異が生じると判定された場合に、印刷結果に差異が生じることを示すとともに前記第2プリンタドライバにて印刷を継続するかどうかを選択させるための確認画面を表示部に表示する表示制御手段とを有することを特徴とするデータ処理装置。
  2. 前記印刷処理エラーは、前記選択されるプリンタドライバに対応する印刷装置のエンジン動作エラーを含むことを特徴とする請求項1記載のデータ処理装置。
  3. 前記印刷装置は、ローカルプリンタ,ネットワークプリンタを含むことを特徴とする請求項1または2に記載のデータ処理装置。
  4. 前記設定手段は、前記第1プリンタドライバに対応する第1印刷装置の位置と、他の印刷装置の位置とに基づいて前記次の印刷装置候補を設定することを特徴とする請求項に記載のデータ処理装置。
  5. 前記表示制御手段により表示された確認画面を介して印刷を継続しないことを受け付けた場合、前記選択手段は、前記第1プリンタドライバを再選択し、前記再選択された第1プリンタドライバを読み出して前記第2の変換手段による変換のために前記中間データを出力する場合、前記保存制御手段は、前記中間データを前記スプーラから削除することを特徴とする請求項に記載のデータ処理装置。
  6. 前記第1プリンタドライバに対する印刷指示の中で前記第2プリンタドライバに対応する第2印刷装置が実行できない指示が含まれる場合、当該実行できない指示を前記第2プリンタドライバが代行できるか否かを判定する第4の判定手段と、
    前記第2プリンタドライバが前記第2印刷装置が実行できない指示を代行できると前記第4の判定手段により判定された場合、前記指示を前記第2プリンタドライバが実行することで印刷を継続する継続手段を備えることを特徴とする請求項1に記載のデータ処理装置。
  7. 複数の印刷装置と通信可能であり、アプリケーションにより出力される印刷命令に基づいて前記印刷命令とは異なる個別の印刷装置に依存しない中間形式の中間データを生成する共通プリンタドライバと、前記中間データに基づいて前記中間データとは異なるそれぞれの印刷装置で解釈可能な最終形式のプリンタ制御言語を生成する複数のプリンタドライバとを備えるデータ処理装置におけるデータ処理方法であって、
    前記共通プリンタドライバを用いて、前記中間データを生成する第1の変換工程と、前記複数のプリンタドライバから選択される第1プリンタドライバを用いて、前記第1プリンタドライバに対応する第1印刷装置に固有の第1プリンタ制御言語を生成する第2の変換工程と、
    前記第1の変換工程により生成された前記中間データをスプーラに保存し、前記第2の変換工程により前記第1プリンタ制御言語が生成された後も前記中間データを該スプーラに残しておく保存制御工程と、
    前記第1印刷装置の印刷処理状態を監視することにより、印刷処理エラーの発生を判定する判定工程と、
    前記判定工程により前記第1印刷装置に前記印刷処理エラーが発生したと判定された場合に、前記複数のプリンタドライバから選択される前記第1プリンタドライバにより生成された第1プリンタ制御言語を用いて印刷することができない第2プリンタドライバを用いて、前記保存制御工程により前記スプーラに残された前記中間データに基づいて前記第2プリンタ制御言語を生成する第3の変換工程と、
    前記印刷処理エラーが発生した際に、前記スプーラに保存された前記中間データを転送すべき次の印刷装置候補を印刷装置毎に設定する設定工程と、
    前記設定工程により設定された前記中間データを転送すべき次の印刷装置候補の一覧記憶する記憶工程と、
    前記記憶工程に記憶されている次の印刷装置候補一覧に設定された他の印刷装置に対応するいずれかのプリンタドライバを選択する選択工程と、
    前記第1プリンタドライバにて印刷を実行した場合の印刷結果と前記第2プリンタドライバにて印刷を実行した場合の印刷結果との間で印刷結果に差異が生じるかを判定する第3の判定工程と、
    前記第3の判定工程により印刷結果に差異が生じると判定された場合に、印刷結果に差異が生じることを示すとともに前記第2プリンタドライバにて印刷を継続するかどうかを選択させるための確認画面を表示部に表示する表示制御工程とを有することを特徴とするデータ処理方法。
  8. 前記印刷処理エラーは、前記選択されるプリンタドライバに対応する印刷装置のエンジン動作エラーを含むことを特徴とする請求項7に記載のデータ処理方法。
  9. 前記印刷装置は、ローカルプリンタ,ネットワークプリンタを含むことを特徴とする請求項7または8に記載のデータ処理方法。
  10. 前記設定工程は、前記第1プリンタドライバに対応する印刷装置の位置と、他の印刷装置の位置とに基づいて前記次の印刷装置候補を設定することを特徴とする請求項に記載のデータ処理方法。
  11. 前記表示制御工程により表示された確認画面を介して印刷を継続しないことを受け付けた場合、前記選択工程は、前記第1プリンタドライバを再選択し、
    前記再選択された第1プリンタドライバを読み出して前記第2の変換工程による変換のために前記中間データを出力する場合、前記保存制御工程は、前記中間データを前記スプーラから削除することを特徴とする請求項に記載のデータ処理方法。
  12. 前記第1プリンタドライバに対する印刷指示の中で前記第2プリンタドライバに対応する第2印刷装置が実行できない指示が含まれる場合、当該実行できない指示を前記第2プリンタドライバが代行できるか否かを判定する第4の判定工程と、
    前記第2プリンタドライバが前記第2印刷装置が実行できない指示を代行できると前記第4の判定工程により判定された場合、前記指示を前記第2プリンタドライバが実行することで印刷を継続する継続工程を備えることを特徴とする請求項に記載のデータ処理方法。
  13. 複数の印刷装置と通信可能であり、アプリケーションにより出力される印刷命令に基づいて前記印刷命令とは異なる個別の印刷装置に依存しない中間形式の中間データを生成する共通プリンタドライバと、前記中間データに基づいて前記中間データとは異なるそれぞれの印刷装置で解釈可能な最終形式のプリンタ制御言語を生成する複数のプリンタドライバとを備えるデータ処理装置を制御するコンピュータが読み出し可能なプログラムを格納した記憶媒体であって、
    前記共通プリンタドライバを用いて、前記中間データを生成する第1の変換工程と、前記複数のプリンタドライバから選択される第1プリンタドライバを用いて、前記第1プリンタドライバに対応する第1印刷装置に固有の第1プリンタ制御言語を生成する第2の変換工程と、
    前記第1の変換工程により生成された前記中間データをスプーラに保存し、前記第2の変換工程により前記第1プリンタ制御言語が生成された後も前記中間データを該スプーラに残しておく保存制御工程と、
    前記第1印刷装置の印刷処理状態を監視することにより、印刷処理エラーの発生を判定する判定工程と、
    前記判定工程により前記第1印刷装置に前記印刷処理エラーが発生したと判定された場合に、前記複数のプリンタドライバから選択される前記第1プリンタドライバにより生成された第1プリンタ制御言語を用いて印刷することができない第2プリンタドライバを用いて、前記保存制御工程により前記スプーラに残された前記中間データに基づいて前記第2プリンタ制御言語を生成する第3の変換工程と、
    前記印刷処理エラーが発生した際に、前記スプーラに保存された前記中間データを転送すべき次の印刷装置候補を印刷装置毎に設定する設定工程と、
    前記設定工程により設定された前記中間データを転送すべき次の印刷装置候補の一覧記憶する記憶工程と、
    前記記憶工程に記憶されている次の印刷装置候補一覧に設定された他の印刷装置に対応するいずれかのプリンタドライバを選択する選択工程と、
    前記第1プリンタドライバにて印刷を実行した場合の印刷結果と前記第2プリンタドライバにて印刷を実行した場合の印刷結果との間で印刷結果に差異が生じるかを判定する第3の判定工程と、
    前記第3の判定工程により印刷結果に差異が生じると判定された場合に、印刷結果に差異が生じることを示すとともに前記第2プリンタドライバにて印刷を継続するかどうかを選択させるための確認画面を表示部に表示する表示制御工程とを有することを特徴とするコンピュータが読み出し可能なプログラムを格納した記憶媒体。
  14. 前記印刷処理エラーは、前記選択されるプリンタドライバに対応する印刷装置のエンジン動作エラーを含むことを特徴とする請求項13に記載の記憶媒体。
  15. 前記印刷装置は、ローカルプリンタ,ネットワークプリンタを含むことを特徴とする請求項13または14に記載の記憶媒体。
  16. 前記設定工程は、前記第1プリンタドライバに対応する印刷装置の位置と、他の印刷装置の位置とに基づいて前記次の印刷装置候補を設定することを特徴とする請求項13に記載の記憶媒体。
  17. 前記表示制御工程により表示された確認画面を介して印刷を継続しないことを受け付けた場合、前記選択工程は、前記第1プリンタドライバを再選択し、
    前記再選択された第1プリンタドライバを読み出して前記第2の変換工程による変換のために前記中間データを出力する場合、前記保存制御工程は、前記中間データを前記スプーラから削除することを特徴とする請求項13に記載の記憶媒体。
  18. 前記第1プリンタドライバに対する印刷指示の中で前記第2プリンタドライバに対応する第2印刷装置が実行できない指示が含まれる場合、当該実行できない指示を前記第2プリンタドライバが代行できるか否かを判定する第4の判定工程と、
    前記第2プリンタドライバが前記第2印刷装置が実行できない指示を代行できると前記第4の判定工程により判定された場合、前記指示を前記第2プリンタドライバが実行することで印刷を継続する継続工程を備えることを特徴とする請求項13に記載の記憶媒体。
JP06009099A 1998-03-17 1999-03-08 データ処理装置およびデ―タ処理方法およびコンピュ―タが読み出し可能なプログラムを格納した記憶媒体 Expired - Fee Related JP4817474B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP06009099A JP4817474B2 (ja) 1998-03-17 1999-03-08 データ処理装置およびデ―タ処理方法およびコンピュ―タが読み出し可能なプログラムを格納した記憶媒体
US10/727,640 US7199890B2 (en) 1998-03-17 2003-12-05 Print control method and apparatus

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP1998066539 1998-03-17
JP10-66539 1998-03-17
JP6653998 1998-03-17
JP06009099A JP4817474B2 (ja) 1998-03-17 1999-03-08 データ処理装置およびデ―タ処理方法およびコンピュ―タが読み出し可能なプログラムを格納した記憶媒体

Publications (2)

Publication Number Publication Date
JPH11327856A JPH11327856A (ja) 1999-11-30
JP4817474B2 true JP4817474B2 (ja) 2011-11-16

Family

ID=26401159

Family Applications (1)

Application Number Title Priority Date Filing Date
JP06009099A Expired - Fee Related JP4817474B2 (ja) 1998-03-17 1999-03-08 データ処理装置およびデ―タ処理方法およびコンピュ―タが読み出し可能なプログラムを格納した記憶媒体

Country Status (2)

Country Link
US (1) US7199890B2 (ja)
JP (1) JP4817474B2 (ja)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6553414B1 (en) * 1998-10-02 2003-04-22 Canon Kabushiki Kaisha System used in plural information processing devices for commonly using peripheral device in network
JP3848133B2 (ja) * 2000-11-17 2006-11-22 キヤノン株式会社 構造化記述言語で記述されたデータを処理する画像形成装置及び画像形成方法
JP2002366334A (ja) * 2001-06-07 2002-12-20 Komatsu Ltd 複数の処理モジュールを制御する装置及び方法
JP4383696B2 (ja) * 2001-09-13 2009-12-16 キヤノン株式会社 印刷システム及びその制御方法と印刷管理装置及び方法
US7180623B2 (en) 2001-12-03 2007-02-20 Canon Kabushiki Kaisha Method and apparatus for print error recovery
JP4045799B2 (ja) * 2001-12-28 2008-02-13 コニカミノルタビジネステクノロジーズ株式会社 プリントシステム
US7969990B2 (en) * 2002-07-25 2011-06-28 Oded Shmueli Routing of data including multimedia between electronic devices
US20040021906A1 (en) * 2002-08-05 2004-02-05 Howard Dennis W. Peripheral device output job routing
US20040203358A1 (en) * 2003-03-17 2004-10-14 Anderson Jeff M. Mobile-printing desktop assistant
JP3944133B2 (ja) 2003-07-25 2007-07-11 キヤノン株式会社 情報処理装置及び情報処理方法及びプログラム並びにコンピュータ読み取り可能な記憶媒体
JP2005084898A (ja) 2003-09-08 2005-03-31 Brother Ind Ltd 印刷データ加工システム、および該システム用のプログラム
US7636584B2 (en) * 2003-10-17 2009-12-22 Hewlett-Packard Development Company, L.P. Computing device and methods for mobile-printing
US20050225789A1 (en) * 2003-12-09 2005-10-13 Sharp Laboratories Of America, Inc. Print subsystem despooling backplane
US7383500B2 (en) 2004-04-30 2008-06-03 Microsoft Corporation Methods and systems for building packages that contain pre-paginated documents
US8661332B2 (en) 2004-04-30 2014-02-25 Microsoft Corporation Method and apparatus for document processing
US7880918B2 (en) * 2004-05-19 2011-02-01 Microsoft Corporation System and method for generating unified image output
GB0412647D0 (en) * 2004-06-07 2004-07-07 Silver Fox Ltd Register control for printing labels
US20060013254A1 (en) * 2004-06-07 2006-01-19 Oded Shmueli System and method for routing communication through various communication channel types
JP2006127218A (ja) * 2004-10-29 2006-05-18 Oki Data Corp ドライバソフトウェアインストール方法、それを用いた情報処理装置、そのコンピュータプログラムおよび記憶媒体
JP4624184B2 (ja) * 2005-06-13 2011-02-02 京セラミタ株式会社 画像形成装置
JP4259529B2 (ja) * 2006-02-24 2009-04-30 コニカミノルタビジネステクノロジーズ株式会社 情報処理システムおよびデータ送受信方法
JP4857102B2 (ja) * 2006-12-22 2012-01-18 キヤノン株式会社 情報処理装置、ジョブ処理方法、プログラム及び記憶媒体
JP4474440B2 (ja) * 2007-06-19 2010-06-02 インターナショナル・ビジネス・マシーンズ・コーポレーション 多機能周辺装置(mfp)によるサービスの提供
US20100097631A1 (en) * 2008-10-21 2010-04-22 Xerox Corporation Method and apparatus for automatically reconfiguring a print driver for an image production device
JP2011003054A (ja) * 2009-06-19 2011-01-06 Canon Inc 印刷出力システム、印刷制御装置、印刷制御方法、及びコンピュータプログラム
JP5817196B2 (ja) * 2010-09-29 2015-11-18 ブラザー工業株式会社 携帯装置のプログラムおよび携帯装置の制御方法
JP5728896B2 (ja) * 2010-11-15 2015-06-03 株式会社リコー 印刷システム及びプログラム
JP2012164124A (ja) * 2011-02-07 2012-08-30 Canon Inc 画像形成装置、制御方法及びプログラム
JP5422006B2 (ja) * 2012-01-13 2014-02-19 京セラドキュメントソリューションズ株式会社 通信プログラム、情報処理装置、及び画像形成システム
JP5677556B2 (ja) * 2013-11-25 2015-02-25 キヤノン株式会社 情報処理装置及びその方法
JP6314455B2 (ja) * 2013-12-05 2018-04-25 株式会社リコー 情報処理システム、情報処理装置、情報処理方法及びプログラム
US9588721B2 (en) * 2014-10-16 2017-03-07 Seiko Epson Corporation Print control device, printing system, and control method of a print control device
JP6304284B2 (ja) * 2016-02-23 2018-04-04 コニカミノルタ株式会社 印刷制御装置、プログラム及び画像形成システム
JP6874732B2 (ja) * 2018-04-17 2021-05-19 京セラドキュメントソリューションズ株式会社 画像形成システム及び画像形成方法
JP7171430B2 (ja) * 2018-12-28 2022-11-15 キヤノン株式会社 画像形成装置および画像形成装置の制御方法
JP7327087B2 (ja) * 2019-11-05 2023-08-16 富士フイルムビジネスイノベーション株式会社 印刷装置及び印刷プログラム
JP2023087578A (ja) * 2021-12-13 2023-06-23 キヤノン株式会社 情報処理装置およびプログラム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3486427B2 (ja) * 1993-01-18 2004-01-13 キヤノン株式会社 制御装置および制御方法
US5566278A (en) * 1993-08-24 1996-10-15 Taligent, Inc. Object oriented printing system
US5625757A (en) * 1993-12-24 1997-04-29 Hitachi, Ltd. Printing system
JPH07230372A (ja) * 1993-12-24 1995-08-29 Hitachi Ltd 印刷システム
JP3209857B2 (ja) * 1994-06-30 2001-09-17 キヤノン株式会社 印刷システムおよび印刷装置およびデータ分配装置および印刷システムの制御方法および印刷装置の制御方法およびデータ分配装置の制御方法
JP3323652B2 (ja) * 1994-07-22 2002-09-09 キヤノン株式会社 プリンタシステムおよびホストコンピュータおよび印刷方法
US5881213A (en) * 1994-10-05 1999-03-09 Microsoft Corporation Deferred printing
JPH08161131A (ja) * 1994-12-01 1996-06-21 Fuji Xerox Co Ltd プリンタ制御装置
JPH08230285A (ja) * 1994-12-06 1996-09-10 Canon Inc 情報処理システム、該システムの印刷装置及び方法
US6213652B1 (en) * 1995-04-18 2001-04-10 Fuji Xerox Co., Ltd. Job scheduling system for print processing
JPH099084A (ja) * 1995-06-22 1997-01-10 Sony Corp コンピュータシステム、コンピュータ及びカラー用プリンタ並びにカラー画像転送方法
JPH09146725A (ja) * 1995-11-20 1997-06-06 Hitachi Ltd 印刷システム
JPH09258937A (ja) * 1996-03-18 1997-10-03 Ricoh Co Ltd プリンタシステム
WO1997036226A1 (fr) * 1996-03-22 1997-10-02 Hitachi, Ltd. Systeme d'impression
US6275299B1 (en) * 1996-04-17 2001-08-14 Apple Computer, Inc. Multiple spooler printing system
US6552813B2 (en) * 1996-06-11 2003-04-22 Sun Microsystems, Inc. Directing print jobs in a network printing system
JP3651152B2 (ja) * 1996-12-05 2005-05-25 ブラザー工業株式会社 印刷装置

Also Published As

Publication number Publication date
US7199890B2 (en) 2007-04-03
JPH11327856A (ja) 1999-11-30
US20040080779A1 (en) 2004-04-29

Similar Documents

Publication Publication Date Title
JP4817474B2 (ja) データ処理装置およびデ―タ処理方法およびコンピュ―タが読み出し可能なプログラムを格納した記憶媒体
JP3720740B2 (ja) 分散印刷システム、分散印刷制御方法、記憶媒体、及びプログラム
US8947688B2 (en) Print control with interfaces provided in correspondence with printing methods to show status of member printers
US7209256B2 (en) Document processing method
US9043730B2 (en) Data processing apparatus, data processing method of data processing apparatus, and computer-readable memory medium storing program therein
US7719703B2 (en) Print control program and medium and information processing apparatus
JP2005173701A (ja) 情報処理装置、情報処理方法及びそのプログラム
KR100644671B1 (ko) 프린터 드라이버 변경장치 및 방법과 이를 이용한드라이버 변경가능한 프린터 시스템 및 방법
JP2003177905A (ja) 情報処理装置、情報処理システム、印刷制御方法、記憶媒体、及びプログラム
JP4100912B2 (ja) 情報処理装置及びその制御方法、プログラム並びに記憶媒体
JP3962720B2 (ja) 情報処理装置、情報処理方法、及びコンピュータプログラム、並びにコンピュータ読み取り可能な記憶媒体
JP2000112684A (ja) 文書印刷処理システム
JP3604885B2 (ja) 画像処理装置および画像処理装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP4776763B2 (ja) プリントサーバ装置及び情報処理装置及び印刷ジョブ保存管理方法、及び保存ジョブ生成方法および記憶媒体
JP3840226B2 (ja) 印刷制御プログラム及び媒体及び情報処理装置
JP2003241948A (ja) 失敗した印刷ジョブを回復するための方法または装置
JP2003173245A (ja) データ処理装置、および、データ処理方法
JP2003072164A (ja) データ処理装置、データ処理システム、データ処理方法、記憶媒体、及びプログラム
JP2000259365A (ja) 画像出力装置および画像出力制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP2003108341A (ja) 情報処理装置、情報処理システム、情報処理方法、記録媒体及びプログラム
JP2002259084A (ja) 印刷データ処理装置およびデータ処理方法および記憶媒体
JPH08297546A (ja) 情報処理装置並びにプリンタ並びにプリンタシステムおよびプリンタシステムのプリントジョブ処理方法
JPH09190315A (ja) プリンタ制御装置及び方法及び印刷システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060214

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090407

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090608

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091117

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100217

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20100226

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20100611

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20100630

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110720

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110830

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

Free format text: PAYMENT UNTIL: 20140909

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140909

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees