JP3823534B2 - Printing system - Google Patents

Printing system Download PDF

Info

Publication number
JP3823534B2
JP3823534B2 JP13497698A JP13497698A JP3823534B2 JP 3823534 B2 JP3823534 B2 JP 3823534B2 JP 13497698 A JP13497698 A JP 13497698A JP 13497698 A JP13497698 A JP 13497698A JP 3823534 B2 JP3823534 B2 JP 3823534B2
Authority
JP
Japan
Prior art keywords
capcal
drawing data
output
file
job
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
JP13497698A
Other languages
Japanese (ja)
Other versions
JPH11327821A (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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP13497698A priority Critical patent/JP3823534B2/en
Publication of JPH11327821A publication Critical patent/JPH11327821A/en
Application granted granted Critical
Publication of JP3823534B2 publication Critical patent/JP3823534B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は印刷システムに関し、特に、クライアントサーバ印刷システムに適用して好適なものである。
【0002】
【従来の技術】
近年、オフィス業務や基幹業務向けコンピュータのオペレーティングシステムとして、マイクロソフト社のWindowsの普及が目覚ましい。
【0003】
ところが、オペレーティングシステムとして、Windowsを用いた場合、Windowsはパーソナル指向のオペレーティングシステムであることから、基幹業務における大量印刷には不向きな点がある。例えば、Windowsでは、1回の印刷アクションで、複数のプリンタに同時に印刷することができない。このため、資料の配布等を行うとき、繰り返し印刷起動をかけ、印刷物を手作業で仕分けし、さらに郵便等で配布する手間がかかる。
【0004】
また、昨今のメイルの普及により、ワードプロセッサなどにより作成された少量かつ固定的ドキュメントは、メイルで代替えすることができるが、アプリケーション稼働による集計データ等の管理帳票の印刷や大量のドキュメントの印刷などについては、メイルでは代替不可能である。さらに、大量の印刷を行う時、複数のプリンタに分散して印刷することができず、開始頁と終了頁と出力先プリンタとを各プリンタごとに繰り返し指定する必要がある。
【0005】
これらの問題を解決するため、従来では、基幹業務帳票印刷用の専用のAPI(アプリケーション・インタフェース関数)を用意し、そのAPIを用いて、Windowsなどのオペレーティングシステムの有する印刷制御の不備を補う方法があった。
【0006】
図12は、従来の分散印刷方法を説明するブロック図である。図12において、アプリケーション201は、専用の印刷制御関数として、API203を呼び出す。ここで、API203には、プリンタ名称、開始頁及び終了頁の組を複数受け取ることができるインターフェースが設られ、API203にこのインターフェースを設けることにより、分散印刷を可能としている。API203が、パラメータ202として、プリンタ名称、開始頁及び終了頁の組を複数受け取るとともに、描画データをアプリケーション201から受け取ると、受け取ったパラメータ202と描画データとを、オペレーティングシステム204及びファイルドライバ205を経由してスプールファイル206に格納する。
【0007】
一方、スプールライタ207は、ある決められたディレクトリ(スプールディレクトリ)をポーリングしており、完成したスプールファイル206を検知すると、スプールファイル206の読み出しを開始し、スプールファイル206内に格納されたパラメータ202を取り出す。また、各ページの描画データをスプールファイル206から順次読み出すとともに、GDI208を呼び出し、パラメータ202の情報に従って、指定の頁の印刷を指定のプリンタ211a、211bに行わせる。なお、GDI208は、オペレーティングシステム204と密接に結びついたグラフィカルデバイス描画用の関数群である。
【0008】
例えば、スプールファイル206に格納される100頁分の印刷データを2台のプリンタ211a、211bに均等に分配して印刷するために、プリンタ211aのプリンタ名称、開始頁=1、終了頁=50、プリンタ211bのプリンタ名称、開始頁=51、終了頁=100を、パラメータ202として与えたものとする。この場合、GDI208では、プリンタ単位の描画を取り扱うため、スプールライタ207は、まず、プリンタ211aを指定して、GDI208を呼び出す。すると、プリンタ211a専用のスプールキューに1頁から50頁までの印刷データが出力され、スプールファイル209aが生成される。次に、スプールライタ207は、プリンタ211bを指定して、GDI208を呼び出す。すると、プリンタ211b専用のスプールキューに51頁から100頁までの印刷データが出力され、スプールファイル209bが生成される。
【0009】
スプールファイル209a、209bが生成されると、各プリンタ211a、211b専用のプリンタドライバ210a、210bによって、プリンタ211a、211bの物理的コマンドコードに変換された後、各々のプリンタ211a、211bに出力され印刷される。
【0010】
【発明が解決しようとする課題】
しかしながら、従来のAPI203を提供する手法では、API203を呼び出すことが可能な専用のアプリケーション221だけにしか、適用することができなかった。このため、API203を呼び出す機能がないワードプロセッサなどの汎用パッケージアプリケーションには適用することができないという問題があった。また、提供されたAPI203を用いて印刷用のアプリケーション201を構築しなければならないという問題もあった。
【0011】
また、1つのアプリケーション201から印刷要求されたドキュメント(文書)を複数のプリンタ211a、211bに同時に分散して印刷を行う場合、描画データがプリンタ211a、211bごとに分別された待ち行列(以下、プリンタキューと言う)に予め振り分けられ、描画データをプリンタキューにページ単位で格納し直すことが行われる。このため、各プリンタ211a、211bに対する印刷するページの配分をプリンタキューに格納した後に変更するには、描画データをスプールファイル206から読み出し、その描画データをプリンタキューごとに再度格納し直す必要があり、印刷するページの配分の変更が非常に困難になるという問題があった。
【0012】
また、アプリケーション201が出力した描画データがスプールファイル206に格納された後、スプールファイル206に格納されている描画データが、スプールファイル206とは別個のスプールファイル209a、209bに再格納されるため、スプール処理に時間がかかるという問題もあった。
【0013】
また、従来のAPI203を提供する手法では、1つのアプリケーション201が出力したドキュメント単位に印刷が行われるため、複数のアプリケーションが出力するドキュメントにより、1つのドキュメント文書(以下、仮想ドキュメントと言う)を構成する場合、アプリケーション201を複数起動して開始頁、終了頁を指定して印刷動作を行わなければならなず、操作が煩雑になるという問題もあった。
【0014】
そこで、本発明の第1の目的は、印刷データのスプール処理を効率的に行うことが可能な印刷システムを提供することである。
また、本発明の第2の目的は、複数のアプリケーションが出力したドキュメントを統一して扱うことが可能な印刷システムを提供することである。
【0015】
【課題を解決するための手段】
上述した課題を解決するために、本発明によれば、描画データを格納する描画データ格納手段と、前記描画データの出力要求を、前記描画データの出力先ごとに格納する出力要求格納手段と、前記描画データの出力要求に基づいて、前記描画データを前記描画データ格納手段から前記出力先に転送する描画データ転送手段とを備えている。
【0016】
このことにより、描画データ格納手段に格納されている描画データを、描画データの出力先に対応させて再度格納し直すことなく、出力先に転送する描画データを描画データ格納手段から直接読み出して、出力先に転送することが可能となり、描画データを出力先に転送する際に、描画データをその出力先ごとに再格納する処理を省略することが可能となることから、スプール処理を高速化することが可能となる。
【0017】
また、本発明の一態様によれば、前記出力要求は、前記描画データを識別する識別情報及び前記描画データの印刷頁を指定する頁情報を含んでいる。
このことにより、出力する描画データの印刷頁を変更する場合には、出力要求格納手段に格納されている頁情報を変更するだけでよく、印刷頁の変更に対応した描画データの再格納が不要になることから、スプール処理を効率的に行うことが可能となる。
【0018】
また、本発明の一態様によれば、複数のアプリケーションにより作成された描画データを格納する描画データ格納手段と、前記複数のアプリケーションにより作成された描画データに基づいて、仮想的なドキュメントを生成する仮想ドキュメント生成手段と、前記仮想的なドキュメントの出力要求を、前記仮想的なドキュメントの出力先ごとに格納する出力要求格納手段と、前記仮想的なドキュメントの出力要求に基づいて、前記仮想的なドキュメントに含まれる描画データを、前記描画データ格納手段から前記出力先に転送する描画データ転送手段とを備えている。
【0019】
このことにより、複数のアプリケーションにより作成された描画データを統合し、この統合された描画データを一体的に扱うことが可能となり、各アプリケーションごとの印刷指定を何度も行うことなく、統合された仮想的なドキュメントについての印刷指定を1回行うだけで、複数のアプリケーションにより作成された描画データの印刷を行うことが可能となることから、複数のアプリケーションを扱う印刷処理を効率的に行うことが可能となる。
【0020】
また、仮想的なドキュメントの描画データを、その描画データの出力先に対応させて構成することなく、仮想的なドキュメントの出力要求に基づいて、仮想的なドキュメントに含まれる描画データを描画データ格納手段から順次に読み出して、出力先に転送することが可能となり、仮想的なドキュメントの描画データを出力先に転送する際に、仮想的なドキュメントごとの描画データを格納しておく処理を省略することが可能となることから、複数のアプリケーションを扱うスプール処理を高速化することが可能となる。
【0021】
【発明の実施の形態】
以下、本発明の一実施例に係わる印刷システムについて図面を参照しながら説明する。なお、以下の実施例では、Windowsによるオペレーティングシステム下における出力装置運用支援(以下CAPCALと称する)制御方式について説明する。
【0022】
図1は、本発明の一実施例に係わる印刷システムの構成を示すブロック図である。図1において、クライアント100とサーバ103とが通信ネットワーク101、102を介して接続され、サーバ103はプリンタ9と接続されている。ここで、通信ネットワーク102は、例えば、LAN(ローカルエリアネットワーク)、通信ネットワーク101は、例えば、LAN、WAN(ワイドエリアネットワーク)、インターネットである。クライアント100には、アプリケーション1、GDI2、Windows印刷制御部3及びクライアント制御部4が設けられ、サーバ103には、Windows印刷制御部5、サーバ制御部6、GDI7及びプリンタ出力制御部8が設けられている。ここで、GDI2、7は、Windowsのプログラムが画面表示やプリンタ9への印刷を行う際に利用するインターフェース(API)である。
【0023】
Windowsによる印刷処理を行う場合、Windows印刷制御部3、5による処理が行われ、クライアント100側で生成された印刷データは通信回線102を介してサーバ側へ送れられる。一方、CAPCAL制御を行う場合、クライアント制御部4及びサーバ制御部6による処理が行われ、クライアント100側で生成された印刷データは通信回線101を介してサーバ側へ送られる。なお、CAPCAL制御を選択する場合、CAPCAL制御用に設けられたCAPCALドライバをアプリケーション1で指定してGDI2を呼び出す。
【0024】
図2は、図1のクライアント制御部4の構成を説明するブロック図である。図2において、クライアント制御部4には、CAPCALドライバ14、CAPCALドライバプロパティ制御スレッド15、出力制御情報ファイル17、ジョブ記述ファイル18、EMFファイル19、24、CAPCALクライアント定義ファイル20、CAPCALプリントプロセッサ21、CAPCALジョブ記述ファイル23、CAPCAL転送先定義ファイル25、CAPCALクライアントメインプロセス26及びCAPCALジョブ転送スレッド27が設けられている。また、Windows印刷制御部3には、スプーラプロセス11、ローカルプリントプロバイダ12及びプリントプロセッサ13が設けられている。ここで、クライアント制御部4は、Windowsによるオペレーティングシステム上で稼働するアプリケーション1が描画した印刷データをCAPCALの処理環境に取り込み、サーバ103へ転送するまでの処理を制御する。
【0025】
アプリケーション1が描画した印刷データをCAPCAL環境で処理する場合、アプリケーション1は、仮想ドライバとして設けられたCAPCALドライバ14を指定し、GDI2を呼び出す。なお、CAPCALドライバ14は、実際のプリンタに対応するドライバとは別個に設けられた仮想的なものであり、Windowsのプリンタドライバとは別個独立のものである。
【0026】
GDI2が呼び出されると、CAPCALドライバ14から描画機能を取得し、アプリケーション1の要求した描画プリミティブをCAPCALドライバ14が有する描画機能に変換して、システムスプールキュー16にスプールする。このシステムスプールキュー16には、印刷要求したユーザ名や、アプリケーション名などを格納したジョブ記述ファイル18と、描画情報をフォーマット化して格納したEMFファイル19が作成される。EMFとは、Enhanced Meta−Fileの略で、Windowsにおける描画データの論理的な格納形式である。なお、ジョブ記述ファイル18及びEMFファイル19の形式は、Windows標準の形式と完全に同一である。このため、ジョブ記述ファイル18及びEMFファイル19は、Windowsに備わっているデフォルト機能により生成させることができる。
【0027】
また、CAPCALドライバ14は、CAPCAL特有の出力制御情報を出力制御情報ファイル17として、システムスプールキュー16に書き込む。なお、この出力制御情報は、CAPCALドライバ14側からダイアログ画面を開き、配布や分散などの印刷条件をオペレータに指定させることにより、設定することができる。
【0028】
アプリケーション1の全描画データのスプールが完了すると、CAPCALプリントプロセッサ21が呼び出される。このCAPCALプリントプロセッサ21の呼び出しは、アプリケーション1でCAPCALドライバ14を指定することにより行われる。なお、アプリケーション1で他のドライバが指定された場合は、Windowsに備わっているプリントプロセッサ13が呼び出され、Windowsによる印刷処理を行うことができる。
【0029】
CAPCALプリントプロセッサ21は、システムスプールキュー16からジョブ記述ファイル18と出力制御情報ファイル17の内容を取り込み、CAPCALスプールキュー22にCAPCALジョブ記述ファイル23として書き込む。ここで、CAPCALクライアント定義ファイル20には、出力制御情報のデフォルト値が定義されており、出力制御情報ファイル17に出力制御情報が格納されていない場合は、CAPCALクライアント定義ファイル20から出力制御情報を取り込む。
【0030】
また、CAPCALプリントプロセッサ21は、システムスプールキュー16のEMFファイル19を、そのままCAPCALスプールキュー22のEMFファイル24に書き込む。CAPCALジョブ記述ファイル23及びEMFファイル24が、CAPCALスプールキュー22へ書き込まれると、CAPCALプリントプロセッサ21は、このことをCAPCALジョブ転送スレッド27に通知する。
【0031】
CAPCALジョブ転送スレッド27は、予め定義された転送手段に基づいて、CAPCALジョブ記述ファイル23及びEMFファイル24の内容をサーバ103に転送する。なお、転送手段及び転送先のサーバ名は、CAPCAL転送先定義ファイル25に格納されており、CAPCALジョブ転送スレッド27は、CAPCAL転送先定義ファイル25の内容に従って、転送手段及び転送先のサーバ103を決定する。なお、転送手段として、ファイル転送プロトコル(ftp)を用いた通信ネットワーク28やメイルの添付ファイルを用いた通信ネットワーク29が使用可能である。また、これら以外の転送手段を用いるようにしてもよい。
【0032】
このように、仮想ドライバとしてのCAPCALドライバ14をクライアント制御部4に設け、このCAPCALドライバ14により出力情報制御ファイル17をシステムスプールキュー16にスプールさせる。このCAPCALドライバ14は、仮想的に設けられたものであり、特定のプリンタ機種やメーカに依存することがないため、Windowsに予め備わっている印刷機能では実現不可能な機能をCAPCALドライバ14上で独自に構築することが可能となり、ドキュメント配布処理、分散印刷処理、配布先自動検出処理、プリンタエラー及び印刷完了の通知処理等を容易に実現することが可能となる。
【0033】
また、Windows上のGDI2を利用して、ジョブ記述ファイル18及びEMFファイル19をシステムスプールキュー16にスプールさせることにより、ジョブ記述ファイル18及びEMFファイル19の形式を、Windows標準の形式と一致させることが可能となり、Windowsのアプリケーションインタフェースを一切変更せずに、汎用パッケージソフトを含むWindows上で動作する全てのアプリケーションについて、ドキュメント配布処理、分散印刷処理、配布先自動検出処理、プリンタエラー及び印刷完了の通知処理等を容易に実現することが可能となる。
【0034】
図3は、図1のサーバ制御部6の構成を説明するブロック図である。図3において、サーバ制御部6には、メイル用のCAPCAL受信スレッド30、ftp用のCAPCAL受信スレッド31、CAPCALサーバメインプロセス32、CAPCALジョブ記述ファイル34、EMFファイル35、ジョブ制御ファイル36、配布分散処理スレッド37、出力制御ファイル39、CAPCALサーバ側定義ファイル40、プリンタ別出力スレッド41、42及びCAPCALジョブ転送スレッド43が設けられている。
【0035】
CAPCALサーバメインプロセス32によりCAPCAL受信スレッド30、31が起動されると、CAPCAL受信スレッド30、31は、CAPCALジョブ転送スレッド27から送信されたCAPCALジョブ記述ファイル23及びEMFファイル24を受信する。そして、受信したCAPCALジョブ記述ファイル23及びEMFファイル24の内容を、CAPCALスプールドキュメントキュー33のCAPCALジョブ記述ファイル34及びEMFファイル35に書き込む。ここで、CAPCAL受信スレッド30、31は、ファイル名(ジョブID)が重複しないように管理を行う。CAPCALスプールドキュメントキュー33への書き込みが完了したら、CAPCALサーバメインプロセス32は配布分散処理スレッド37を起動し、CAPCALスプールドキュメントキュー33への書き込み完了を、配布分散処理スレッド37に通知する。
【0036】
配布分散処理スレッド37は、CAPCALジョブ記述ファイル34から出力制御情報を取り込む。また、CAPCALサーバ側定義ファイル40の内容を予め読み込んでおく。そして、配布分散処理スレッド37は、出力制御情報及びサーバ側定義ファイル40の内容から、出力プリンタ及び出力する開始頁、終了頁を検出し、ジョブ制御ファイル36を生成する。ジョブ制御ファイル36には、プリンタ名及びCAPCALプリントジョブIDが格納される。ここで、CAPCALプリントジョブIDは、CAPCALスプールプリントキュー38ごとにユニークに与えられるIDである。また、配布分散処理スレッド37は、出力プリンタ及び出力する開始頁、終了頁を検出すると、出力プリンタ9ごとに設けられるCAPCALスプールプリントキュー38に印刷要求を投入する。
【0037】
配布分散処理スレッド37は、CAPCALスプールプリントキュー38に印刷要求を投入すると、出力制御ファイル39を生成する。この出力制御ファイル39には、CAPCALジョブID、開始頁、終了頁及びWinジョブIDが格納される。ここで、CAPCALジョブIDは、CAPCALシステムが独自にユニークに作成する管理上のIDであり、このCAPCALジョブIDを指定することにより、CAPCALスプールドキュメントキュー33に格納されているCAPCALジョブ記述ファイル34の内容及びEMFファイル35の内容を特定することができる。
【0038】
CAPCALサーバ側定義ファイル40には、配布先名とプリンタ名(またはサーバ名)との対応関係が格納されており、配布先が論理名で特定されている場合においても、CAPCALサーバ側定義ファイル40を参照することにより、出力プリンタを決定することができる。CAPCALスプールプリントキュー38への印刷要求の投入が完了したら、印刷要求があったプリンタ9を専門に受け持つプリンタ別出力スレッド41通知する。
【0039】
プリンタ別出力スレッド41は、CAPCALスプールプリントキュー38の出力制御ファイル39に格納されているCAPCALジョブIDを参照することにより、CAPCALスプールドキュメントキュー33に格納されているCAPCALジョブ記述ファイル34及びEMFファイル35を特定する。そして、特定されたCAPCALジョブ記述ファイル34及びEMFファイル35の内容のうち、出力制御ファイル39で指定される開始頁から終了頁までの部分を、CAPCALスプールドキュメントキュー33から取り出し、GDI7を呼び出すことにより、Windows印刷制御5に描画データが渡るようにする。
【0040】
なお、出力制御情報及びCAPCALサーバ側定義ファイル40の内容により、出力プリンタとして、サーバ103が管理しているプリンタ9以外のプリンタが指定されている場合、配布分散処理スレッド37は、CAPCALジョブ転送スレッド43から通信ネットワーク44を介し、指定されているプリンタを管理しているサーバに印刷要求を送る。
【0041】
このように、CAPCALスプールプリントキュー38に、CAPCALスプールドキュメントキュー33に格納されているCAPCALジョブ記述ファイル34及びEMFファイル35の内容を書き込むのではなく、CAPCALジョブ記述ファイル34及びEMFファイル35の内容を特定する情報を書き込む。そして、プリンタ別出力スレッド41、42が描画データをGDI7に送る際には、CAPCALスプールプリントキュー38から描画データを取り出すのではなく、出力制御ファイル39で指定される情報に従って、CAPCALスプールドキュメントキュー33から描画データを取り出すようにする。
【0042】
このことにより、CAPCALスプールプリントキュー38に描画データを書き込む必要がなくなり、スプール処理を高速化することが可能となる。また、印刷頁を変更する場合は、出力制御ファイル39の印刷頁を書き換えるだけでよく、CAPCALスプールプリントキュー38への描画データの再書き込みを行う必要がなくなることから、印刷頁の変更など容易に行うことが可能となる。
【0043】
図4は、図1のプリンタ出力制御部8の構成を説明するブロック図である。図4において、プリンタ出力制御部8には、セントロポートモニタ48及びプリンタ出力管理部50が設けられ、サーバ制御部6には、CAPCALサーバメインプロセス32、EMFファイル35及びプリンタ別出力スレッド41が設けられ、Windows印刷制御部5には、Rawスプールファイル46、プリントプロセッサ47及びスプーラプロセスメイン49が設けられ、クライアント100には、CAPCALクライアントメインプロセス26が設けられている。
【0044】
プリンタ別出力スレッド41は、CAPCALスプールドキュメントキュー35からEMFファイル35を取り出し、GDI7を呼び出すことにより、Windows印刷制御部5に描画データを送る。GDI7は、印刷指定されたプリンタ9用のプリンタドライバ45と交信し、印刷指定されたプリンタ9専用のコマンド(ESCシーケンス)にEMFファイル35を変換する。変換して得られたESCシーケンスは、Windowsのシステムスプールキューに格納される。これをRawスプールファイル46と言う。Rawスプールファイル46は、純粋なプリンタコマンド(ESCシーケンス)だけで構成される。Rawスプールファイル46は、Windowsのスプーラプロセスメイン49によりプリントプロセッサ47で読み込まれ、1頁分の描画データ単位で、セントロポートモニタ48に送られる。
【0045】
プリンタ9とサーバ100とのインタフェースがLANの場合、LANポートモニタに送られ、その他のインタフェースの場合、そのインタフェース用のポートモニタが送られる。なお、ここまでの処理は、Windows印刷制御部5によるデータ処理と同一である。
【0046】
セントロポートモニタ48は、スプーラプロセスメイン49経由で受け取ったプリンタ9のコマンドデータを、セントロポートに出力する。ここで、プリンタ9にエラーが発生し、コマンドデータを出力できなかった場合、セントロポートモニタ48は、プリンタ出力管理部50に、プリンタ名称、エラーコード及び元のドキュメントを識別するジョブIDを通知する。また、他のポートモニタ51も、他のポートモニタ51に接続されているプリンタにエラーが発生した場合、プリンタ出力管理部50に、プリンタ名称、エラーコード及び元のドキュメントを識別するジョブIDを通知する。ここで、ジョブIDは、Windows印刷制御の仕組みに存在するプリントジョブを特定するIDであり、ジョブIDをプリンタ出力管理部50に通知することにより、プリンタ出力管理部50は、元のドキュメント名称、印刷要求したクライアントホスト名称及びユーザ名称を取得することができる。
【0047】
プリンタ出力管理部50は、プリンタ名称、エラーコード及びジョブIDをセントロポートモニタ48から受け取ると、CAPCALサーバメインプロセス32に、これらの情報を通知する。
【0048】
CAPCALサーバメインプロセス32は、取得したジョブIDから印刷要求を発行したクライアントホスト名を検出し、そのクライアントホスト上で稼働するCAPCALクライアントメインプロセス26にドキュメント名称、ユーザ名及びエラーコードを通知する。また、画面呼び出し52を行うことにより、これらの情報を表示する。
【0049】
CAPCALクライアントメインプロセス26は、CAPCALサーバメインプロセス32からドキュメント名称、ユーザ名及びエラーコードを受信すると、画面呼び出し53を行うことにより、ユーザ名、印刷中のドキュメント名称、エラーメッセージを表示する。
【0050】
また、セントロポートモニタ48は、1つのジョブの出力が完全に終了したら、プリンタ出力管理部50にプリンタ名称及びジョブIDを通知する。プリンタ出力管理部50は、セントロポートモニタ48からプリンタ名称及びジョブIDを受け取ると、CAPCALサーバメインプロセス32に、これらの情報を通知する。
【0051】
CAPCALサーバメインプロセス32は、取得したジョブIDから印刷要求を発行したクライアントホスト名を検出し、そのクライアントホスト上で稼働するCAPCALクライアントメインプロセス26に、ドキュメント名称及びユーザ名を通知する。また、画面呼び出し52を行うことにより、これらの情報を表示する。
【0052】
CAPCALクライアントメインプロセス26は、CAPCALサーバメインプロセス32からドキュメント名称及びユーザ名を受信すると、画面呼び出し53を行うことにより、ドキュメントの印刷が完了したことを示すメッセージを表示する。
【0053】
このように、セントロポートモニタ48は、元のドキュメントを識別するジョブIDをプリンタ出力管理部50に通知することにより、プリンタ出力管理部50は、印刷要求したクライアントホスト名を認識することが可能となり、印刷要求したクライアント100に対し、印刷エラーや印刷完了を通知することが可能となることから、ドキュメントの印刷状況をクライアント100側で認識することが可能となる。
【0054】
以下、本発明の第1実施例に係わるドキュメント管理制御方法についてより詳細に説明する。
図5は、本発明の第1実施例に係わるドキュメント管理制御方法を示すブロック図である。図5において、1つのアプリケーション1が印刷実行されると、CAPCALジョブ記述ファイル34及びEMFファイル35が、CAPCALクライアント制御部4の各モジュールを経由して、CAPCALサーバ制御部6のCAPCALスプールドキュメントキュー33に生成される。
【0055】
ここで、CAPCALジョブ記述ファイル34及びEMFファイル35のファイル名称形式は、以下のように表される。
・「nnnnn.cshd」…CAPCALジョブ記述ファイル
・「nnnnn.cspl」…EMFファイル
ただし、「nnnnn」の部分は、CAPCALジョブIDと呼び、CAPCALシステムが独自にユニークに作成する管理上のIDである。CAPCALジョブIDが同じCAPCALジョブ記述ファイル34とEMFファイル35とで、1つのスプールジョブを構成する。
【0056】
配布分散処理スレッド37は、実際の出力先(プリンタ名)、出力開始頁及び出力終了頁を検出すると、プリンタ名とCAPCALプリントジョブIDをジョブ制御ファイル36に書き込む。ここで、印刷結果を複数のプリンタに出力させる場合、各プリンタごとのプリンタ名及びCAPCALプリントジョブIDがジョブ制御ファイル36に書き込まれる。
【0057】
また、このジョブ制御ファイル36に書き込まれたCAPCALプリントジョブIDに対応して、出力するプリンタ台数分のCAPCALスプールプリントキュー39a、39b、・・・が生成される。そして、配布分散処理スレッド37は、各CAPCALスプールプリントキュー38a、38b、・・・に対応させて、出力制御ファイル39a、39b、・・・を生成し、各出力制御ファイル39a、39b、・・・に対し、CAPCALジョブID、開始頁、終了頁及びWinジョブIDを書き込む。
【0058】
例えば、出力制御ファイル39aが生成されると、配布分散処理スレッド37は、ジョブ制御ファイル36で指定されたプリンタを受け持つプリンタ別出力スレッド41を起動する。プリンタ別出力スレッド41は、CAPCALスプールドキュメントキュー33に格納されているCAPCALジョブ記述ファイル34及びEMFファイル35の内容のうち、出力制御ファイル39aで指定される開始頁から終了頁までの部分を、CAPCALスプールドキュメントキュー33から取り出し、GDI7を呼び出して、Windows印刷制御5に描画データを送る。
【0059】
また、出力制御ファイル39bが生成されると、配布分散処理スレッド37は、ジョブ制御ファイル36で指定されたプリンタを受け持つプリンタ別出力スレッド42を起動する。プリンタ別出力スレッド42は、CAPCALスプールドキュメントキュー33に格納されているCAPCALジョブ記述ファイル34及びEMFファイル35の内容のうち、出力制御ファイル39bで指定される開始頁から終了頁までの部分を、CAPCALスプールドキュメントキュー33から取り出し、GDI7を呼び出して、Windows印刷制御5に描画データを送る。
【0060】
図6(a)は、図5のジョブ制御ファイル36の内容の一例を示す図である。図6(a)において、ジョブ制御ファイル36には、出力するプリンタ台数分のプリンタ名及びCAPCALプリントジョブIDが書き込まれる。ここで、CAPCALプリントジョブIDは、CAPCALスプールプリントキュー38a、38b、・・・ごとにユニークな5桁の数字文字列である。この5桁の数字文字列を1エントリとし、出力するプリンタが複数ある場合には、複数のエントリを書き込む。なお、ジョブ制御ファイル36のファイル名は、「(CAPCALジョブID).jctI」とすることができる。
【0061】
図6(b)は、図5の出力制御ファイル39aの内容の一例を示す図である。図6(b)において、出力制御ファイル39aには、CAPCALジョブID、開始頁、終了頁及びWinジョブIDが書き込まれる。ここで、CAPCALジョブIDは、CAPCALスプールドキュメントキュー33上のスプールファイルの実体を特定するIDである。また、WinジョブIDは、プリンタ別出力スレッド41がGDI7に描画データを出力した時、Windowsスプールジョブを特定するための管理IDである。出力制御ファイル39aにWinジョブIDを格納するのは、後に印刷の取消が指示された時に、Windowsスプールジョブの削除を行うためには、WinジョブIDを記憶しておく必要があるからである。なお、出力制御ファイル39aのファイル名は、「(CAPCALプリントジョブID).pctI」とすることができる。図5の出力制御ファイル39b、・・・の構成も同様である。
【0062】
図7は、本発明の第1実施例に係わるドキュメント管理制御方法を示すフローチャートである。図7において、配布分散処理スレッド37は、CAPCALジョブ記述ファイル34及びEMFファイル35がCAPCALスプールドキュメントキュー33に生成され、実際の出力先(プリンタ名)、出力開始頁及び出力終了頁を検出すると、CAPCALスプールドキュメントキュー33にジョブ制御ファイル36を生成する(ステップS1)。
【0063】
次に、各CAPCALスプールプリントキュー38a、38b、・・・に対応させて、出力制御ファイル39a、39b、・・・を生成し(ステップS2)、使用するプリンタ専用のプリンタ別出力スレッド41、42にイベントで通知する(ステップS3)。
【0064】
プリンタ別出力スレッド41、42への通知が行われると、該当するCAPCALスプールプリントキュー38a、38b、・・・下の出力制御ファイル39a、39b、・・・を読み込み、CAPCALジョブID、開始頁及び終了頁を認識する(ステップS11)。次に、出力制御ファイル39a、39b、・・・から読み出した開始頁を変数Nに格納し(ステップS12)、出力制御ファイル39a、39b、・・・から読み出したCAPCALジョブIDにより特定されるCAPCALスプールドキュメントキュー33下のEMFファイル35の第N頁目を読み込み(ステップS13)、GDI7に出力する。。
【0065】
次に、変数Nの値を1だけ増やしながら(ステップS14)、変数Nの値が出力制御ファイル39a、39b、・・・から読み出した終了頁を越えるまで(ステップS15)、CAPCALスプールドキュメントキュー33下のEMFファイル35の第N頁目を読み込みを繰り返す。
【0066】
変数Nの値が出力制御ファイル39a、39b、・・・から読み出した終了頁を越えると、出力するプリンタ台数分の処理を行ったかどうかを判断し(ステップS4)、出力するプリンタ台数分の処理が終了していない場合は、ステップS2に戻り、出力制御ファイル39a、39b、・・・の作成及びプリンタ別出力スレッド41、42のジョブ投入処理を繰り返す。
【0067】
このように、本発明の第1実施例によれば、アプリケーション1が出力したスプールファイルである描画データの実体はシステムに唯一存在させ、CAPCALスプールプリントキュー38a、38b、・・・に描画データの実体をスプールするのではなく、CAPCALスプールプリントキュー38a、38b、・・・に印刷要求ファイルを作成し、この印刷要求ファイルにEMFファイル35の中の当該プリンタで印刷する頁情報を格納することにより、スプール処理を高速に行うことが可能となる。
【0068】
また、CAPCALスプールプリントキュー38a、38b、・・・に印刷要求ファイルを作成した後に、当該プリンタへ印刷する頁数等を変更する場合においても、出力制御ファイル39a、39b、・・・内の開始頁、終了頁を書き換えるだけでよく、CAPCALジョブ記述ファイル34及びEMFファイル35の印刷データのスプールをやり直す必要がなくなることから、当該プリンタへ印刷する頁数等の変更も容易に行うことが可能となる。
次に、本発明の第2実施例に係わる仮想ドキュメント管理制御方法について図面を参照しながら説明する。
【0069】
図8は、本発明の第2実施例に係わる仮想ドキュメント管理制御方法を示すブロック図である。図8において、サーバ制御部6には、仮想ドキュメントエディタ60が設けられている。仮想ドキュメントエディタ60は、複数のアプリケーションが出力したスプールファイル群を元に、任意の頁構成で仮想ドキュメントを構築するマンマシンインタフェースを提供するユーティリティアプリケーションである。
【0070】
この仮想ドキュメントエディタ60は、複数のアプリケーションが出力したスプールファイルを読み込み、頁単位に表示させる。そして、オペレーション指示により、複数のアプリケーションが出力した文書データを指示頁単位に抜き出して、仮想ドキュメントを作成する。その後、作成した仮想ドキュメント単位で、特定プリンタへの印刷、複写印刷、複数のプリンタで同時印刷などを実行させる。
【0071】
具体的には、複数のアプリケーションから出力された文書データに対応して、複数のCAPCALジョブ記述ファイル34a、・・・、34b及びEMFファイル35a、・・・、35bが、CAPCALスプールドキュメントキュー33に生成されているものとすると、仮想ドキュメントエディタ60は、CAPCALスプールドキュメントキュー33にジョブ制御ファイル36’を作成する。ここで、仮想ドキュメントエディタ60により作成されたジョブ制御ファイル36’は、図5の配布分散処理スレッド37が作成するジョブ制御ファイル36と同等である。すなわち、ジョブ制御ファイル36’には、プリンタ名とCAPCALプリントジョブIDを書き込まれ、印刷結果を複数のプリンタに出力させる場合には、各プリンタごとのプリンタ名及びCAPCALプリントジョブIDがジョブ制御ファイル36’に書き込まれる。
【0072】
また、このジョブ制御ファイル36’に書き込まれたCAPCALプリントジョブIDに対応して、出力するプリンタ台数分のCAPCALスプールプリントキュー38a’、38b’、・・・が生成される。そして、仮想ドキュメントエディタ60は、各CAPCALスプールプリントキュー38a’、38b’、・・・に対応させて、出力制御ファイル39a’、39b’、・・・を生成し、各出力制御ファイル39a’、39b’、・・・に対し、CAPCALジョブID、開始頁、終了頁及びWinジョブIDを書き込む。ここで、仮想ドキュメントエディタ60により生成された仮想ドキュメントが、複数のアプリケーションから出力された文書データを統合したものである場合、各出力制御ファイル39a’、39b’、・・・には、各アプリケーションごとのCAPCALジョブID、開始頁、終了頁及びWinジョブIDが格納される。
【0073】
例えば、出力制御ファイル39a’が生成されると、仮想ドキュメントエディタ60は、ジョブ制御ファイル36’で指定されたプリンタを受け持つプリンタ別出力スレッド41を起動する。プリンタ別出力スレッド41は、まず、出力制御ファイル39a’に格納されている1番目のCAPCALジョブIDを参照することにより、CAPCALスプールドキュメントキュー33に格納されているCAPCALジョブ記述ファイル34a、・・・、34b及びEMFファイル35a、・・・、35bを特定する。例えば、出力制御ファイル39a’に格納されている1番目のCAPCALジョブIDが、CAPCALジョブ記述ファイル34a及びEMFファイル35aを指定している場合、CAPCALジョブ記述ファイル34a及びEMFファイル35aの内容のうち、出力制御ファイル39a’で指定される開始頁から終了頁までの部分を、CAPCALスプールドキュメントキュー33から取り出し、GDI7を呼び出して、Windows印刷制御5に描画データを送る。
【0074】
次に、プリンタ別出力スレッド41は、出力制御ファイル39a’に格納されている2番目のCAPCALジョブIDを参照することにより、CAPCALスプールドキュメントキュー33に格納されているCAPCALジョブ記述ファイル34a、・・・、34b及びEMFファイル35a、・・・、35bを特定する。例えば、出力制御ファイル39a’に格納されている2番目のCAPCALジョブIDが、CAPCALジョブ記述ファイル34b及びEMFファイル35bを指定している場合、CAPCALジョブ記述ファイル34b及びEMFファイル35bの内容のうち、出力制御ファイル39a’で指定される開始頁から終了頁までの部分を、CAPCALスプールドキュメントキュー33から取り出し、GDI7を呼び出して、Windows印刷制御5に描画データを送る。
【0075】
プリンタ別出力スレッド41は、出力制御ファイル39a’に格納されている全てのCAPCALジョブIDについて、以上の処理を行う。
また、出力制御ファイル39b’が生成されると、仮想ドキュメントエディタ60は、ジョブ制御ファイル36’で指定されたプリンタを受け持つプリンタ別出力スレッド42を起動する。プリンタ別出力スレッド42は、まず、出力制御ファイル39b’に格納されている1番目のCAPCALジョブIDを参照することにより、CAPCALスプールドキュメントキュー33に格納されているCAPCALジョブ記述ファイル34a、・・・、34b及びEMFファイル35a、・・・、35bを特定する。例えば、出力制御ファイル39b’に格納されている1番目のCAPCALジョブIDが、CAPCALジョブ記述ファイル34a及びEMFファイル35aを指定している場合、CAPCALジョブ記述ファイル34a及びEMFファイル35aの内容のうち、出力制御ファイル39b’で指定される開始頁から終了頁までの部分を、CAPCALスプールドキュメントキュー33から取り出し、GDI7を呼び出して、Windows印刷制御5に描画データを送る。
【0076】
次に、プリンタ別出力スレッド42は、出力制御ファイル39b’に格納されている2番目のCAPCALジョブIDを参照することにより、CAPCALスプールドキュメントキュー33に格納されているCAPCALジョブ記述ファイル34a、・・・、34b及びEMFファイル35a、・・・、35bを特定する。例えば、出力制御ファイル39b’に格納されている2番目のCAPCALジョブIDが、CAPCALジョブ記述ファイル34b及びEMFファイル35bを指定している場合、CAPCALジョブ記述ファイル34b及びEMFファイル35bの内容のうち、出力制御ファイル39b’で指定される開始頁から終了頁までの部分を、CAPCALスプールドキュメントキュー33から取り出し、GDI7を呼び出して、Windows印刷制御5に描画データを送る。
【0077】
プリンタ別出力スレッド42は、出力制御ファイル39a’に格納されている全てのCAPCALジョブIDについて、以上の処理を行う。
この結果、複数のアプリケーションにより作成された仮想ドキュメントの描画データをプリンタキューに形成することなく、仮想ドキュメントの複数のプリンタによる分散印刷を行うことが可能となる。
【0078】
このように、仮想ドキュメントエディタ60が、CAPCALジョブ記述ファイル34a、・・・、34b及びEMFファイル35a、・・・、35bを統合した文書を仮想的に生成する。そして、この仮想的に生成された仮想ドキュメントの描画データをCAPCALスプールプリントキュー38a’、38b’、・・・に書き込むのではなく、この仮想ドキュメントの印刷要求をCAPCALスプールプリントキュー38a’、38b’、・・・に書き込む。このことにより、複数のアプリケーションで作成された文書を統合して印刷する場合においても、スプール処理を高速に行うことが可能となるととも、使用するアプリケーションの変更や指定頁の変更なども容易に行うことが可能となる。
【0079】
図9(a)は図8のジョブ制御ファイル36’の内容の一例を示す図である。図9(a)において、ジョブ制御ファイル36’には、出力するプリンタ台数分のプリンタ名及びCAPCALプリントジョブIDが書き込まれる。ここで、CAPCALプリントジョブIDは、CAPCALスプールプリントキュー38a’、38b’、・・・ごとにユニークな5桁の数字文字列である。この5桁の数字文字列を1エントリとし、出力するプリンタが複数ある場合には、複数のエントリを書き込む。なお、ジョブ制御ファイル36’のファイル名は、「(CAPCALジョブID).jctI」とすることができる。
【0080】
図9(b)は図8の出力制御ファイル39a’の内容の一例を示す図である。図9(b)において、出力制御ファイル39a’には、CAPCALジョブID、開始頁、終了頁及びWinジョブIDが書き込まれる。ここで、CAPCALジョブIDは、CAPCALスプールドキュメントキュー33上のCAPCALジョブ記述ファイル34a、・・・、34b及びEMFファイル35a、・・・、35bの実体を特定するIDである。すなわち、各CAPCALジョブ記述ファイル34a、・・・、34b及びEMFファイル35a、・・・、35bごとに、異なるCAPCALジョブIDが付与される。また、WinジョブIDは、プリンタ別出力スレッド41がGDI7に描画データを出力した時、Windowsスプールジョブを特定するための管理IDである。ここで、複数のCAPCALジョブ記述ファイル34a、・・・、34b及びEMFファイル35a、・・・、35bを特定する場合、CAPCALジョブID、開始頁、終了頁、WinジョブIDを1エントリとして、複数エントリの情報が出力制御ファイル39a’に書き込まれる。なお、出力制御ファイル39a’のファイル名は、「(CAPCALプリントジョブID).pctI」とすることができる。図8の出力制御ファイル39b’、・・・の構成も同様である。
【0081】
図10は、本発明の第2実施例に係わる仮想ドキュメント管理制御方法を示すフローチャートである。図10において、仮想ドキュメントエディタ60は、CAPCALジョブ記述ファイル34a、・・・、34b及びEMFファイル35a、・・・、35bがCAPCALスプールドキュメントキュー33に生成され、仮想ドキュメントの実際の出力先(プリンタ名)を検出すると、CAPCALスプールドキュメントキュー33にジョブ制御ファイル36’を生成する(ステップS21)。
【0082】
次に、各CAPCALスプールプリントキュー38a’、38b’、・・・に対応させて、出力制御ファイル39a’、39b’、・・・を生成し(ステップS22)、仮想ドキュメントに含まれるスプールファイル(CAPCALジョブ記述ファイル34a、・・・、34b及びEMFファイル35a、・・・、35b)の数だけループすることにより(ステップS23)、仮想ドキュメントに含まれるスプールファイルの個数に対応したエントリ情報(CAPCALジョブID、開始頁、終了頁)を書き込む。
【0083】
次に、出力制御ファイル39a’、39b’、・・・へのエントリ情報(CAPCALジョブID、開始頁、終了頁)の書き込みが終了すると、使用するプリンタ専用のプリンタ別出力スレッド41、42にイベントで通知する(ステップS24)。
【0084】
次に、プリンタ別出力スレッド41,42は、当該プリンタごとに生成されたCAPCALスプールプリントキュー38a’、38b’、・・・から、ファイル作成時間が古い順に出力制御ファイル39a’、39b’、・・・の内容を読み込む(ステップS31)。そして、出力制御ファイル39a’、39b’、・・・から、1エントリ情報(CAPCALジョブID、開始頁、終了頁)を取り出し(ステップS32)、1ジョブ印刷処理を行う(ステップS33)。
【0085】
1ジョブ印刷処理では、出力制御ファイル39a’、39b’、・・・の1エントリ情報内の開始頁を変数Nに格納し(ステップS41)、出力制御ファイル39a’、39b’、・・・の1エントリ情報内のCAPCALジョブIDにより特定されるCAPCALスプールドキュメントキュー33下のEMFファイル35a、・・・、35bの第N頁目を読み込み(ステップS42)、GDI7に出力する。
【0086】
次に、変数Nの値を1だけ増やしながら(ステップS43)、変数Nの値が出力制御ファイル39a’、39b’、・・・の1エントリ情報内の終了頁を越えるまで(ステップS44)、CAPCALスプールドキュメントキュー33下のEMFファイル35a、・・・、35bの第N頁目を読み込みを繰り返す。
【0087】
1ジョブ印刷処理が終了すると、出力制御ファイル39a’、39b’、・・・に次のエントリがあるかどうかを判断し(ステップS34)、出力制御ファイル39a’、39b’、・・・に次のエントリがある場合は、ステップS32に戻り、エントリ情報(CAPCALジョブID、開始頁、終了頁)の取り出し及び1ジョブ印刷処理を繰り返す。
【0088】
出力制御ファイル39a’、39b’、・・・に次のエントリがなくなると、出力するプリンタ台数分の処理を行ったかどうかを判断し(ステップS25)、出力するプリンタ台数分の処理が終了していない場合は、ステップS22に戻り、出力制御ファイル39a、39b、・・・の作成及びプリンタ別出力スレッド41、42のジョブ投入処理を繰り返す。
【0089】
このように、本発明の第2実施例では、複数のアプリケーションから出力された描画データを統合する仮想ドキュメントエディタ60を設け、仮想ドキュメントエディタ60で生成された仮想ドキュメントを1つのドキュメントファイルとして管理することにより、仮想ドキュメントの指定を行うだけで、複数のアプリケーションから出力された描画データを一体的に扱って、何度でも印刷することが可能となり、複数のアプリケーションを用いた印刷処理を容易に行うことが可能となる。また、仮想ドキュメント単位でプリンタから出力させることができるので、複数のアプリケーションを用いて印刷された印刷物を仕分けしたり、手書きで頁連番を書き加えるたりすることなく、複数のアプリケーションを用いた印刷された印刷物に通し番号を印字するなどの印刷処理を自動的に行うことが可能となる。
【0090】
図11は、本発明の一実施例に係わる印刷システムのシステム構成を示すブロック図である。図11において、151は全体的な処理を行う中央演算処理ユニット(CPU)、152はリードオンリメモリ(ROM)、153はランダムアクセスメモリ(RAM)、154は通信インターフェイス、155は通信ネットワーク、156はバス、157は入出力インターフェイス、158は印刷イメージなどを表示するディスプレイ、159は印刷結果を出力するプリンタ、160はキーボード、161はマウス、162は記憶媒体を駆動するドライバ、163はハードディスク、164はICメモリカード、165は磁気テープ、166はフロッピーディスク、167はCD−ROMやDVD−ROMなどの光ディスクである。
【0091】
印刷処理を行うプログラムや印刷データなどは、ハードディスク163、ICメモリカード164、磁気テープ165、フロッピーディスク166、光ディスク167などの記憶媒体に格納される。そして、印刷処理を行うプログラムをこれらの記憶媒体からRAM153に読み出すことにより、印刷処理を行うことができる。また、印刷処理を行うプログラムをROM152に格納しておくこともできる。
【0092】
さらに、印刷処理を行うプログラムや印刷データなどを通信インターフェイス154を介して通信ネットワーク155から取り出すこともできる。通信インターフェイス24に接続される通信ネットワーク155として、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネット、アナログ電話網、デジタル電話網(ISDN:Integral Service Digital Network)、PHS(パーソナルハンディシステム)や衛星通信などの無線通信網を用いることができる。
【0093】
CPU151は、印刷処理を行うプログラムが起動されると、キーボード160やマウス161などで入力された描画データをハードディスク163、ICメモリカード164、磁気テープ165、フロッピーディスク166、光ディスク167などの記憶媒体に格納する。そして、これらの記憶媒体に格納された描画データをプリンタ159に送って印刷させたり、通信ネットワーク155を介して他のサーバやプリンタに送ったりする。
【0094】
【発明の効果】
以上説明したように、本発明によれば、描画データ格納手段に格納されている描画データを、描画データの出力先に対応させて再度格納し直すことなく、出力先に転送する描画データを描画データ格納手段から直接読み出して、出力先に転送することにより、描画データを出力先に転送する際に、描画データをその出力先ごとに再格納する処理を省略することが可能となることから、スプール処理を高速化することが可能となる。
【0095】
また、本発明の一態様によれば、描画データを識別する識別情報及び描画データの印刷頁を指定する頁情報を、描画データの代わりに格納しておくことにより、出力する描画データの印刷頁を変更する場合には、描画データの内容を再格納することなく、頁情報を変更するだけで済むことから、スプール処理を効率的に行うことが可能となる。
【0096】
また、本発明の一態様によれば、複数のアプリケーションにより作成された描画データを統合した仮想ドキュメントを生成することにより、複数のアプリケーションにより作成された描画データを一体的に扱うことが可能となり、各アプリケーションごとの印刷指定を何度も行うことなく、統合された仮想ドキュメントについての印刷指定を1回行うだけで、複数のアプリケーションにより作成された描画データの印刷を行うことが可能となり、印刷処理を効率的に行うことが可能となる。
【0097】
また、仮想ドキュメントの描画データを、その描画データの出力先に対応させて構成することなく、仮想ドキュメントの出力要求に基づいて、仮想ドキュメントに含まれる描画データを描画データ格納手段から順次に読み出して、出力先に転送することが可能となり、仮想ドキュメントの描画データを出力先に転送する際に、仮想ドキュメントごとの描画データを格納しておく処理を省略することが可能となることから、スプール処理を高速化することが可能となる。
【図面の簡単な説明】
【図1】本発明の一実施例に係わる印刷システムの構成を示すブロック図である。
【図2】図1のクライアント制御部の構成を説明するブロック図である。
【図3】図1のサーバ制御部の構成を説明するブロック図である。
【図4】図1のプリンタ出力制御部の構成を説明するブロック図である。
【図5】本発明の第1実施例に係わるドキュメント管理制御方法を示すブロック図である。
【図6】(a)は図5のジョブ制御ファイルの内容の一例を示す図、(b)は図5の出力制御ファイルの内容の一例を示す図である。
【図7】本発明の第1実施例に係わるドキュメント管理制御方法を示すフローチャートである。
【図8】本発明の第2実施例に係わる仮想ドキュメント管理制御方法を示すブロック図である。
【図9】(a)は図8のジョブ制御ファイルの内容の一例を示す図、(b)は図8の出力制御ファイルの内容の一例を示す図である。
【図10】本発明の第2実施例に係わる仮想ドキュメント管理制御方法を示すフローチャートである。
【図11】本発明の一実施例に係わる印刷システムのシステム構成を示すブロック図である。
【図12】従来の分散印刷方法を説明するブロック図である。
【符号の説明】
100 クライアント
103 サーバ
101、102、28、29、44 通信回線
1 アプリケーション
2、7 GDI
3、5 Windows印刷制御部
4 クライアント制御部
6 サーバ制御部
8 プリンタ出力制御部
9 プリンタ
11 スプーラプロセス
12 プロバイダ
13、47 プリントプロセッサ
14 仮想ドライバ
15 CAPCALドライバプロパティ制御スレッド
16 システムスプールキュー
17 出力制御情報ファイル
18 ジョブ記述ファイル
19、24、35、35a、35b EMFファイル
20 CAPCALクライアント定義ファイル
21 CAPCALプリントプロセッサ
22 CAPCALスプールキュー
23、34a、34b CAPCALジョブ記述ファイル
25 CAPCAL転送先定義ファイル
26 CAPCALクライアントメインプロセス
27 CAPCALジョブ転送スレッド
30、31 CAPCAL受信スレッド
32 CAPCALサーバメインプロセス
33 CAPCALスプールドキュメントキュー
36、36 ジョブ制御ファイル
37 配布分散処理スレッド
38、38a、38b、38a’、38b’ CAPCALスプールプリンタキュー
39、39a、39b、39a’、39b’ 出力制御ファイル
40 CAPCALサーバ側定義ファイル
41、42 プリンタ別出力スレッド
43 CAPCALジョブ転送スレッド
45 プリンタドライバ
46 Rawスプールファイル
48 セントロポートモニタ
49 スプーラプロセスメイン
50 プリンタ出力管理部
51 ポートモニタ
52、53 画面呼び出し
60 仮想ドキュメントエディタ
151 CPU
152 ROM
153 RAM
154 通信インターフェース
155 通信ネットワーク
156 バス
157 入出力インターフェース
158 ディスプレイ
159 プリンタ
160 キーボード
161 マウス
162 ドライバ
163 ハードディスク
164 ICメモリカード
165 磁気テープ
166 フロッピーディスク
167 光ディスク
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a printing system, and is particularly suitable for application to a client-server printing system.
[0002]
[Prior art]
In recent years, the use of Microsoft Windows as a computer operating system for office work and mission-critical work has been remarkable.
[0003]
However, when Windows is used as the operating system, since Windows is a personal-oriented operating system, there is a point unsuitable for mass printing in core business. For example, in Windows, it is not possible to simultaneously print on a plurality of printers with a single printing action. For this reason, when distributing materials, it takes time to repeatedly start printing, manually sort the printed matter, and distribute it by mail or the like.
[0004]
In addition, due to the recent spread of mail, small and fixed documents created by word processors can be replaced by mail. However, printing of management forms such as aggregated data by application operation and printing of a large number of documents, etc. Cannot be replaced by mail. Furthermore, when a large amount of printing is performed, it is impossible to perform printing distributed to a plurality of printers, and it is necessary to repeatedly specify a start page, an end page, and an output destination printer for each printer.
[0005]
Conventionally, in order to solve these problems, a dedicated API (application interface function) for printing a basic business form is prepared, and the API is used to make up for deficiencies in print control of an operating system such as Windows. was there.
[0006]
FIG. 12 is a block diagram for explaining a conventional distributed printing method. In FIG. 12, the application 201 calls the API 203 as a dedicated print control function. Here, the API 203 is provided with an interface that can receive a plurality of sets of printer names, start pages, and end pages. By providing this interface in the API 203, distributed printing is possible. When the API 203 receives a plurality of sets of the printer name, start page, and end page as the parameter 202 and also receives drawing data from the application 201, the received parameter 202 and drawing data are passed through the operating system 204 and the file driver 205. And stored in the spool file 206.
[0007]
On the other hand, the spool writer 207 polls a predetermined directory (spool directory). When the spool writer 207 detects a completed spool file 206, the spool writer 207 starts reading the spool file 206 and stores the parameter 202 stored in the spool file 206. Take out. In addition, the drawing data of each page is sequentially read from the spool file 206, and the GDI 208 is called to cause the designated printers 211a and 211b to print the designated page according to the information of the parameter 202. The GDI 208 is a function group for drawing a graphical device that is closely connected to the operating system 204.
[0008]
For example, in order to equally distribute and print 100 pages of print data stored in the spool file 206 to the two printers 211a and 211b, the printer name of the printer 211a, start page = 1, end page = 50, Assume that the printer name of the printer 211b, start page = 51, and end page = 100 are given as parameters 202. In this case, since the GDI 208 handles rendering in units of printers, the spool writer 207 first designates the printer 211a and calls the GDI 208. Then, the print data from page 1 to page 50 is output to the spool queue dedicated to the printer 211a, and a spool file 209a is generated. Next, the spool writer 207 designates the printer 211b and calls the GDI 208. Then, print data from page 51 to page 100 is output to a spool queue dedicated to the printer 211b, and a spool file 209b is generated.
[0009]
When the spool files 209a and 209b are generated, they are converted into physical command codes of the printers 211a and 211b by the printer drivers 210a and 210b dedicated to the printers 211a and 211b, and then output to the printers 211a and 211b for printing. Is done.
[0010]
[Problems to be solved by the invention]
However, the conventional method of providing the API 203 can be applied only to the dedicated application 221 that can call the API 203. For this reason, there is a problem that it cannot be applied to a general-purpose package application such as a word processor that does not have a function of calling the API 203. There is also a problem that the printing application 201 must be constructed using the provided API 203.
[0011]
When a document requested to be printed from one application 201 is simultaneously distributed to a plurality of printers 211a and 211b and printing is performed, a queue (hereinafter referred to as a printer) in which drawing data is sorted for each printer 211a and 211b. In this case, the drawing data is stored in the printer queue in units of pages. For this reason, in order to change the distribution of pages to be printed to the printers 211a and 211b after they are stored in the printer queue, it is necessary to read the drawing data from the spool file 206 and store the drawing data again for each printer queue. There is a problem that it becomes very difficult to change the distribution of pages to be printed.
[0012]
In addition, after the drawing data output by the application 201 is stored in the spool file 206, the drawing data stored in the spool file 206 is re-stored in the spool files 209a and 209b separate from the spool file 206. There was also a problem that the spool processing took time.
[0013]
In addition, in the method of providing the conventional API 203, printing is performed in units of documents output by one application 201. Therefore, one document document (hereinafter referred to as a virtual document) is configured by documents output by a plurality of applications. In this case, it is necessary to start a plurality of applications 201 and specify a start page and an end page to perform a printing operation, which causes a problem that the operation becomes complicated.
[0014]
SUMMARY OF THE INVENTION Accordingly, a first object of the present invention is to provide a printing system capable of efficiently performing print data spool processing.
A second object of the present invention is to provide a printing system that can handle documents output by a plurality of applications in a unified manner.
[0015]
[Means for Solving the Problems]
In order to solve the above-described problem, according to the present invention, a drawing data storage unit that stores drawing data, an output request storage unit that stores an output request for the drawing data for each output destination of the drawing data, Drawing data transfer means for transferring the drawing data from the drawing data storage means to the output destination based on the drawing data output request.
[0016]
This allows the drawing data stored in the drawing data storage means to be read directly from the drawing data storage means without re-storing the drawing data corresponding to the output destination of the drawing data, and stored again. It is possible to transfer to the output destination, and when drawing data is transferred to the output destination, it is possible to omit the process of re-storing the drawing data for each output destination, thereby speeding up the spool processing. It becomes possible.
[0017]
According to another aspect of the invention, the output request includes identification information for identifying the drawing data and page information for designating a print page of the drawing data.
As a result, when changing the print page of the drawing data to be output, it is only necessary to change the page information stored in the output request storage means, and there is no need to re-store the drawing data corresponding to the change of the print page. Therefore, spool processing can be performed efficiently.
[0018]
According to another aspect of the present invention, a virtual document is generated based on drawing data storage means for storing drawing data created by a plurality of applications, and drawing data created by the plurality of applications. Virtual document generation means, output request storage means for storing the virtual document output request for each output destination of the virtual document, and the virtual document output request based on the virtual document output request. Drawing data transfer means for transferring drawing data included in the document from the drawing data storage means to the output destination;
[0019]
This makes it possible to integrate drawing data created by multiple applications and handle the integrated drawing data in an integrated manner, without having to repeatedly specify the printing for each application. Since it is possible to print drawing data created by a plurality of applications with only one print designation for a virtual document, it is possible to efficiently perform print processing that handles a plurality of applications. It becomes possible.
[0020]
Also, drawing data contained in a virtual document can be stored as drawing data based on a virtual document output request without configuring the drawing data of the virtual document corresponding to the output destination of the drawing data. It is possible to sequentially read out from the means and transfer it to the output destination, and omit the process of storing the drawing data for each virtual document when transferring the drawing data of the virtual document to the output destination. Therefore, it is possible to speed up spool processing that handles a plurality of applications.
[0021]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, a printing system according to an embodiment of the present invention will be described with reference to the drawings. In the following embodiments, an output device operation support (hereinafter referred to as CAPCAL) control method under an operating system by Windows will be described.
[0022]
FIG. 1 is a block diagram showing the configuration of a printing system according to an embodiment of the present invention. In FIG. 1, a client 100 and a server 103 are connected via communication networks 101 and 102, and the server 103 is connected to a printer 9. Here, the communication network 102 is, for example, a LAN (local area network), and the communication network 101 is, for example, a LAN, a WAN (wide area network), or the Internet. The client 100 is provided with an application 1, GDI 2, Windows print control unit 3 and client control unit 4, and the server 103 is provided with a Windows print control unit 5, server control unit 6, GDI 7 and printer output control unit 8. ing. Here, GDI 2 and 7 are interfaces (APIs) used when a Windows program performs screen display or printing to the printer 9.
[0023]
When performing printing processing using Windows, processing by the Windows print control units 3 and 5 is performed, and print data generated on the client 100 side is sent to the server side via the communication line 102. On the other hand, when CAPCAL control is performed, processing by the client control unit 4 and the server control unit 6 is performed, and print data generated on the client 100 side is sent to the server side via the communication line 101. When selecting CAPCAL control, the CAPCAL driver provided for CAPCAL control is designated by the application 1 to call GDI2.
[0024]
FIG. 2 is a block diagram illustrating the configuration of the client control unit 4 of FIG. 2, the client control unit 4 includes a CAPCAL driver 14, a CAPCAL driver property control thread 15, an output control information file 17, a job description file 18, EMF files 19, 24, a CAPCAL client definition file 20, a CAPCAL print processor 21, A CAPCAL job description file 23, a CAPCAL transfer destination definition file 25, a CAPCAL client main process 26, and a CAPCAL job transfer thread 27 are provided. The Windows print control unit 3 is provided with a spooler process 11, a local print provider 12, and a print processor 13. Here, the client control unit 4 controls the processing until the print data drawn by the application 1 running on the Windows operating system is loaded into the CAPCAL processing environment and transferred to the server 103.
[0025]
When processing the print data drawn by the application 1 in the CAPCAL environment, the application 1 designates the CAPCAL driver 14 provided as a virtual driver and calls GDI2. Note that the CAPCAL driver 14 is a virtual device provided separately from the driver corresponding to the actual printer, and is independent of the Windows printer driver.
[0026]
When GDI2 is called, the drawing function is acquired from the CAPCAL driver 14, the drawing primitive requested by the application 1 is converted into the drawing function of the CAPCAL driver 14, and spooled in the system spool queue 16. In the system spool queue 16, a job description file 18 that stores the name of a user who requested printing, an application name, and the like, and an EMF file 19 that stores drawing information in a formatted format are created. EMF is an abbreviation for Enhanced Meta-File, and is a logical storage format of drawing data in Windows. Note that the formats of the job description file 18 and the EMF file 19 are completely the same as the standard Windows format. For this reason, the job description file 18 and the EMF file 19 can be generated by a default function provided in Windows.
[0027]
Further, the CAPCAL driver 14 writes CAPCAL-specific output control information in the system spool queue 16 as an output control information file 17. This output control information can be set by opening a dialog screen from the CAPCAL driver 14 side and causing the operator to specify printing conditions such as distribution and distribution.
[0028]
When the spooling of all drawing data of the application 1 is completed, the CAPCAL print processor 21 is called. The CAPCAL print processor 21 is called by designating the CAPCAL driver 14 in the application 1. Note that when another driver is designated by the application 1, the print processor 13 provided in Windows is called, and printing processing by Windows can be performed.
[0029]
The CAPCAL print processor 21 takes in the contents of the job description file 18 and the output control information file 17 from the system spool queue 16 and writes them in the CAPCAL spool queue 22 as a CAPCAL job description file 23. Here, the default value of the output control information is defined in the CAPCAL client definition file 20. If the output control information is not stored in the output control information file 17, the output control information is obtained from the CAPCAL client definition file 20. take in.
[0030]
The CAPCAL print processor 21 writes the EMF file 19 in the system spool queue 16 into the EMF file 24 in the CAPCAL spool queue 22 as it is. When the CAPCAL job description file 23 and the EMF file 24 are written to the CAPCAL spool queue 22, the CAPCAL print processor 21 notifies the CAPCAL job transfer thread 27 of this fact.
[0031]
The CAPCAL job transfer thread 27 transfers the contents of the CAPCAL job description file 23 and the EMF file 24 to the server 103 based on a predefined transfer means. The transfer means and the server name of the transfer destination are stored in the CAPCAL transfer destination definition file 25, and the CAPCAL job transfer thread 27 specifies the transfer means and the transfer destination server 103 according to the contents of the CAPCAL transfer destination definition file 25. decide. As a transfer means, a communication network 28 using a file transfer protocol (ftp) or a communication network 29 using a mail attachment file can be used. Also, transfer means other than these may be used.
[0032]
As described above, the CAPCAL driver 14 as a virtual driver is provided in the client control unit 4, and the output information control file 17 is spooled in the system spool queue 16 by the CAPCAL driver 14. The CAPCAL driver 14 is provided virtually, and does not depend on a specific printer model or manufacturer. Therefore, the CAPCAL driver 14 has functions that cannot be realized by the printing function provided in advance in Windows on the CAPCAL driver 14. It is possible to construct it independently, and it is possible to easily realize document distribution processing, distributed printing processing, distribution destination automatic detection processing, printer error and print completion notification processing, and the like.
[0033]
In addition, the job description file 18 and the EMF file 19 are spooled in the system spool queue 16 by using the GDI2 on Windows, so that the format of the job description file 18 and the EMF file 19 matches the format of the Windows standard. For all applications that run on Windows including general-purpose package software without changing any Windows application interface, document distribution processing, distributed printing processing, distribution destination automatic detection processing, printer errors, and print completion Notification processing and the like can be easily realized.
[0034]
FIG. 3 is a block diagram illustrating the configuration of the server control unit 6 of FIG. In FIG. 3, the server control unit 6 includes a mail CAPCAL reception thread 30, an ftp CAPCAL reception thread 31, a CAPCAL server main process 32, a CAPCAL job description file 34, an EMF file 35, a job control file 36, and distribution distribution. A processing thread 37, an output control file 39, a CAPCAL server-side definition file 40, output threads for printers 41 and 42, and a CAPCAL job transfer thread 43 are provided.
[0035]
When the CAPCAL reception threads 30 and 31 are activated by the CAPCAL server main process 32, the CAPCAL reception threads 30 and 31 receive the CAPCAL job description file 23 and the EMF file 24 transmitted from the CAPCAL job transfer thread 27. Then, the contents of the received CAPCAL job description file 23 and EMF file 24 are written into the CAPCAL job description file 34 and EMF file 35 of the CAPCAL spool document queue 33. Here, the CAPCAL reception threads 30 and 31 perform management so that file names (job IDs) do not overlap. When the writing to the CAPCAL spool document queue 33 is completed, the CAPCAL server main process 32 starts the distribution distribution processing thread 37 and notifies the distribution distribution processing thread 37 of the completion of writing to the CAPCAL spool document queue 33.
[0036]
The distribution distribution processing thread 37 takes in output control information from the CAPCAL job description file 34. The contents of the CAPCAL server-side definition file 40 are read in advance. The distribution distribution processing thread 37 detects the output printer and the start and end pages to be output from the output control information and the contents of the server-side definition file 40, and generates a job control file 36. The job control file 36 stores a printer name and a CAPCAL print job ID. Here, the CAPCAL print job ID is an ID uniquely given to each CAPCAL spool print queue 38. Further, when the distribution distribution processing thread 37 detects the output printer and the start page and the end page to be output, it sends a print request to the CAPCAL spool print queue 38 provided for each output printer 9.
[0037]
The distribution distribution processing thread 37 generates an output control file 39 when a print request is input to the CAPCAL spool print queue 38. The output control file 39 stores a CAPCAL job ID, a start page, an end page, and a Win job ID. Here, the CAPCAL job ID is a management ID uniquely created by the CAPCAL system, and by specifying the CAPCAL job ID, the CAPCAL job description file 34 stored in the CAPCAL spool document queue 33 is specified. The contents and the contents of the EMF file 35 can be specified.
[0038]
The CAPCAL server-side definition file 40 stores the correspondence between the distribution destination name and the printer name (or server name), and the CAPCAL server-side definition file 40 even when the distribution destination is specified by a logical name. The output printer can be determined by referring to FIG. When the input of the print request to the CAPCAL spool print queue 38 is completed, the printer-specific output thread 41 that specializes in the printer 9 that has made the print request is notified.
[0039]
The output thread 41 for each printer refers to the CAPCAL job ID stored in the output control file 39 of the CAPCAL spool print queue 38, so that the CAPCAL job description file 34 and the EMF file 35 stored in the CAPCAL spool document queue 33 are referred to. Is identified. Of the contents of the specified CAPCAL job description file 34 and EMF file 35, the portion from the start page to the end page specified by the output control file 39 is taken out from the CAPCAL spool document queue 33 and GDI 7 is called. The drawing data is passed to the Windows print control 5.
[0040]
When a printer other than the printer 9 managed by the server 103 is designated as an output printer by the output control information and the contents of the CAPCAL server-side definition file 40, the distribution distribution processing thread 37 is a CAPCAL job transfer thread. A print request is sent from the server 43 to the server managing the designated printer via the communication network 44.
[0041]
As described above, the contents of the CAPCAL job description file 34 and the EMF file 35 are not written in the CAPCAL spool print queue 38, but the contents of the CAPCAL job description file 34 and the EMF file 35 stored in the CAPCAL spool document queue 33 are written. Write identifying information. When the printer-specific output threads 41 and 42 send the drawing data to the GDI 7, the drawing data is not taken out from the CAPCAL spool print queue 38, but in accordance with the information specified in the output control file 39. The drawing data is taken out from.
[0042]
This eliminates the need to write drawing data to the CAPCAL spool print queue 38, thereby enabling the spool processing to be speeded up. Further, when changing the print page, it is only necessary to rewrite the print page of the output control file 39, and it is not necessary to rewrite the drawing data to the CAPCAL spool print queue 38. Can be done.
[0043]
FIG. 4 is a block diagram illustrating the configuration of the printer output control unit 8 of FIG. In FIG. 4, the printer output control unit 8 is provided with a Centroport monitor 48 and a printer output management unit 50, and the server control unit 6 is provided with a CAPCAL server main process 32, an EMF file 35, and a printer-specific output thread 41. The Windows print control unit 5 is provided with a Raw spool file 46, a print processor 47 and a spooler process main 49, and the client 100 is provided with a CAPCAL client main process 26.
[0044]
The output thread 41 for each printer retrieves the EMF file 35 from the CAPCAL spool document queue 35 and calls the GDI 7 to send drawing data to the Windows print control unit 5. The GDI 7 communicates with the printer driver 45 for the printer 9 designated for printing, and converts the EMF file 35 into a command (ESC sequence) dedicated to the printer 9 designated for printing. The ESC sequence obtained by the conversion is stored in the Windows system spool queue. This is called the Raw spool file 46. The raw spool file 46 is composed of pure printer commands (ESC sequence) only. The raw spool file 46 is read by the print processor 47 by the Windows spooler process main 49 and sent to the centroport monitor 48 in units of drawing data for one page.
[0045]
When the interface between the printer 9 and the server 100 is a LAN, it is sent to a LAN port monitor, and when it is another interface, a port monitor for that interface is sent. Note that the processing up to this point is the same as the data processing by the Windows print control unit 5.
[0046]
The Centro port monitor 48 outputs the command data of the printer 9 received via the spooler process main 49 to the Centro port. If an error occurs in the printer 9 and command data cannot be output, the centroport monitor 48 notifies the printer output management unit 50 of the printer name, error code, and job ID for identifying the original document. . Also, when an error occurs in the printer connected to the other port monitor 51, the other port monitor 51 notifies the printer output management unit 50 of the printer name, error code, and job ID for identifying the original document. To do. Here, the job ID is an ID for specifying a print job that exists in the Windows print control mechanism, and the printer output management unit 50 notifies the printer output management unit 50 of the job ID so that the original document name, The client host name and user name that requested printing can be acquired.
[0047]
Upon receiving the printer name, error code, and job ID from the Centroport monitor 48, the printer output management unit 50 notifies the CAPCAL server main process 32 of these pieces of information.
[0048]
The CAPCAL server main process 32 detects the name of the client host that issued the print request from the acquired job ID, and notifies the CAPCAL client main process 26 operating on the client host of the document name, user name, and error code. Further, the screen call 52 is performed to display these pieces of information.
[0049]
When the CAPCAL client main process 26 receives a document name, a user name, and an error code from the CAPCAL server main process 32, the CAPCAL client main process 26 displays a user name, a document name being printed, and an error message by performing a screen call 53.
[0050]
The Centroport monitor 48 notifies the printer output management unit 50 of the printer name and job ID when the output of one job is completed. Upon receiving the printer name and job ID from the Centroport monitor 48, the printer output management unit 50 notifies the CAPCAL server main process 32 of these pieces of information.
[0051]
The CAPCAL server main process 32 detects the client host name that issued the print request from the acquired job ID, and notifies the CAPCAL client main process 26 running on the client host of the document name and user name. Further, the screen call 52 is performed to display these pieces of information.
[0052]
When the CAPCAL client main process 26 receives the document name and the user name from the CAPCAL server main process 32, the CAPCAL client main process 26 displays a message indicating that the printing of the document is completed by performing a screen call 53.
[0053]
As described above, the Centroport monitor 48 notifies the printer output management unit 50 of the job ID for identifying the original document, so that the printer output management unit 50 can recognize the name of the client host that requested the printing. Since it is possible to notify the client 100 that has made a print request of a print error or print completion, it is possible to recognize the print status of the document on the client 100 side.
[0054]
Hereinafter, the document management control method according to the first embodiment of the present invention will be described in more detail.
FIG. 5 is a block diagram showing a document management control method according to the first embodiment of the present invention. In FIG. 5, when one application 1 is printed and executed, the CAPCAL job description file 34 and the EMF file 35 pass through the modules of the CAPCAL client control unit 4 and the CAPCAL spool document queue 33 of the CAPCAL server control unit 6. Is generated.
[0055]
Here, the file name formats of the CAPCAL job description file 34 and the EMF file 35 are expressed as follows.
"Nnnnnn.csdh" ... CAPCAL job description file
・ "Nnnnn.cspl" ... EMF file
However, the part “nnnnn” is called a CAPCAL job ID, and is a management ID uniquely created by the CAPCAL system. A CAPCAL job description file 34 and an EMF file 35 having the same CAPCAL job ID constitute one spool job.
[0056]
When the distribution distribution processing thread 37 detects the actual output destination (printer name), output start page, and output end page, it writes the printer name and CAPCAL print job ID into the job control file 36. Here, when printing results are output to a plurality of printers, the printer name and the CAPCAL print job ID for each printer are written in the job control file 36.
[0057]
In addition, CAPCAL spool print queues 39a, 39b,... Corresponding to the number of printers to be output are generated corresponding to the CAPCAL print job ID written in the job control file 36. The distribution distribution processing thread 37 generates output control files 39a, 39b,... Corresponding to the respective CAPCAL spool print queues 38a, 38b,..., And outputs the output control files 39a, 39b,. For CAPCAL job ID, start page, end page, and Win job ID are written.
[0058]
For example, when the output control file 39a is generated, the distribution / distribution processing thread 37 activates the output thread 41 for each printer that handles the printer designated by the job control file 36. The output thread 41 for each printer captures the portion of the contents of the CAPCAL job description file 34 and the EMF file 35 stored in the CAPCAL spool document queue 33 from the start page to the end page specified by the output control file 39a. The data is taken out from the spool document queue 33, GDI7 is called, and drawing data is sent to the Windows print control 5.
[0059]
When the output control file 39b is generated, the distribution / distribution processing thread 37 activates the output thread 42 for each printer that handles the printer designated by the job control file 36. The output thread 42 for each printer uses the CAPCAL job description file 34 and the EMF file 35 stored in the CAPCAL spool document queue 33 to capture the portion from the start page to the end page specified by the output control file 39b. The data is taken out from the spool document queue 33, GDI7 is called, and drawing data is sent to the Windows print control 5.
[0060]
FIG. 6A shows an example of the contents of the job control file 36 shown in FIG. 6A, in the job control file 36, printer names and CAPCAL print job IDs for the number of output printers are written. Here, the CAPCAL print job ID is a unique five-digit numeric character string for each CAPCAL spool print queue 38a, 38b,. If this 5-digit numeric character string is one entry and there are a plurality of printers to output, a plurality of entries are written. The file name of the job control file 36 can be “(CAPCAL job ID) .jctI”.
[0061]
FIG. 6B is a diagram showing an example of the contents of the output control file 39a of FIG. In FIG. 6B, the CAPCAL job ID, the start page, the end page, and the Win job ID are written in the output control file 39a. Here, the CAPCAL job ID is an ID for identifying the substance of the spool file on the CAPCAL spool document queue 33. The Win job ID is a management ID for identifying a Windows spool job when the printer-specific output thread 41 outputs drawing data to the GDI 7. The reason why the Win job ID is stored in the output control file 39a is that it is necessary to store the Win job ID in order to delete the Windows spool job when an instruction to cancel printing is given later. The file name of the output control file 39a can be “(CAPCAL print job ID). PctI”. The configuration of the output control file 39b in FIG. 5 is the same.
[0062]
FIG. 7 is a flowchart showing a document management control method according to the first embodiment of the present invention. In FIG. 7, when the distribution distribution processing thread 37 generates the CAPCAL job description file 34 and the EMF file 35 in the CAPCAL spool document queue 33 and detects the actual output destination (printer name), output start page, and output end page, A job control file 36 is generated in the CAPCAL spool document queue 33 (step S1).
[0063]
Next, output control files 39a, 39b,... Are generated in correspondence with the respective CAPCAL spool print queues 38a, 38b,... (Step S2), and printer-specific output threads 41, 42 dedicated to the printer to be used. Is notified by an event (step S3).
[0064]
When notification to the output threads 41 and 42 by printer is performed, the corresponding CAPCAL spool print queues 38a, 38b,... Are read, and the CAPCAL job ID, start page, and the lower output control files 39a, 39b,. The end page is recognized (step S11). Next, the start page read from the output control files 39a, 39b,... Is stored in the variable N (step S12), and the CAPCAL specified by the CAPCAL job ID read from the output control files 39a, 39b,. The Nth page of the EMF file 35 under the spool document queue 33 is read (step S13) and output to the GDI 7. .
[0065]
Next, while increasing the value of the variable N by 1 (step S14), until the value of the variable N exceeds the end page read from the output control files 39a, 39b,... (Step S15), the CAPCAL spool document queue 33. Repeat reading of the Nth page of the lower EMF file 35.
[0066]
When the value of the variable N exceeds the end page read from the output control files 39a, 39b,..., It is determined whether processing for the number of output printers has been performed (step S4), and processing for the number of output printers is performed. Is not completed, the process returns to step S2, and the creation of the output control files 39a, 39b,... And the job input processing of the output threads 41 and 42 for each printer are repeated.
[0067]
As described above, according to the first embodiment of the present invention, the entity of the drawing data, which is the spool file output by the application 1, is uniquely present in the system, and the drawing data is stored in the CAPCAL spool print queues 38a, 38b,. Instead of spooling the entity, a print request file is created in the CAPCAL spool print queue 38a, 38b,... And the page information to be printed by the printer in the EMF file 35 is stored in the print request file. Thus, the spool process can be performed at high speed.
[0068]
In addition, even when the number of pages to be printed on the printer is changed after the print request file is created in the CAPCAL spool print queue 38a, 38b,..., The start in the output control file 39a, 39b,. It is only necessary to rewrite the page and the end page, and it is not necessary to re-spool the print data of the CAPCAL job description file 34 and the EMF file 35, so that the number of pages to be printed on the printer can be easily changed. Become.
Next, a virtual document management control method according to a second embodiment of the present invention will be described with reference to the drawings.
[0069]
FIG. 8 is a block diagram showing a virtual document management control method according to the second embodiment of the present invention. In FIG. 8, the server control unit 6 is provided with a virtual document editor 60. The virtual document editor 60 is a utility application that provides a man-machine interface for constructing a virtual document with an arbitrary page configuration based on a spool file group output by a plurality of applications.
[0070]
The virtual document editor 60 reads spool files output from a plurality of applications and displays them in page units. Then, in accordance with an operation instruction, document data output by a plurality of applications is extracted in units of instruction pages to create a virtual document. Thereafter, printing to a specific printer, copy printing, simultaneous printing with a plurality of printers, etc. are executed in units of created virtual documents.
[0071]
Specifically, a plurality of CAPCAL job description files 34 a,..., 34 b and EMF files 35 a,..., 35 b are stored in the CAPCAL spool document queue 33 corresponding to the document data output from a plurality of applications. If it is generated, the virtual document editor 60 creates a job control file 36 ′ in the CAPCAL spool document queue 33. Here, the job control file 36 ′ created by the virtual document editor 60 is equivalent to the job control file 36 created by the distribution distribution processing thread 37 of FIG. That is, the printer name and the CAPCAL print job ID are written in the job control file 36 ′, and when the print result is output to a plurality of printers, the printer name and the CAPCAL print job ID for each printer are stored in the job control file 36. Written to '.
[0072]
In addition, CAPCAL spool print queues 38a ′, 38b ′,... Are generated for the number of printers to be output corresponding to the CAPCAL print job ID written in the job control file 36 ′. Then, the virtual document editor 60 generates output control files 39a ′, 39b ′,... Corresponding to the respective CAPCAL spool print queues 38a ′, 38b ′,. CAPCAL job ID, start page, end page, and Win job ID are written into 39b '. Here, when the virtual document generated by the virtual document editor 60 is an integrated document data output from a plurality of applications, each output control file 39a ′, 39b ′,. Each CAPCAL job ID, start page, end page, and Win job ID are stored.
[0073]
For example, when the output control file 39a ′ is generated, the virtual document editor 60 activates the output thread 41 for each printer that handles the printer specified in the job control file 36 ′. The printer-specific output thread 41 first refers to the first CAPCAL job ID stored in the output control file 39a ′, so that the CAPCAL job description file 34a stored in the CAPCAL spool document queue 33,. , 34b and EMF files 35a,. For example, when the first CAPCAL job ID stored in the output control file 39a ′ designates the CAPCAL job description file 34a and the EMF file 35a, among the contents of the CAPCAL job description file 34a and the EMF file 35a, The part from the start page to the end page specified by the output control file 39a ′ is taken out from the CAPCAL spool document queue 33, GDI7 is called, and drawing data is sent to the Windows print control 5.
[0074]
Next, the output thread 41 for each printer refers to the second CAPCAL job ID stored in the output control file 39a ′, so that the CAPCAL job description file 34a stored in the CAPCAL spool document queue 33,. ., 34b and EMF files 35a,..., 35b are identified. For example, when the second CAPCAL job ID stored in the output control file 39a ′ designates the CAPCAL job description file 34b and the EMF file 35b, among the contents of the CAPCAL job description file 34b and the EMF file 35b, The part from the start page to the end page specified by the output control file 39a ′ is taken out from the CAPCAL spool document queue 33, GDI7 is called, and drawing data is sent to the Windows print control 5.
[0075]
The per-printer output thread 41 performs the above processing for all CAPCAL job IDs stored in the output control file 39a ′.
When the output control file 39b ′ is generated, the virtual document editor 60 activates the output thread 42 for each printer that handles the printer designated by the job control file 36 ′. The printer-specific output thread 42 first refers to the first CAPCAL job ID stored in the output control file 39b ′, so that the CAPCAL job description file 34a stored in the CAPCAL spool document queue 33,. , 34b and EMF files 35a,. For example, when the first CAPCAL job ID stored in the output control file 39b ′ designates the CAPCAL job description file 34a and the EMF file 35a, among the contents of the CAPCAL job description file 34a and the EMF file 35a, The part from the start page to the end page specified by the output control file 39b ′ is taken out from the CAPCAL spool document queue 33, GDI7 is called, and drawing data is sent to the Windows print control 5.
[0076]
Next, the output thread 42 for each printer refers to the second CAPCAL job ID stored in the output control file 39b ′, so that the CAPCAL job description file 34a stored in the CAPCAL spool document queue 33,. ., 34b and EMF files 35a,..., 35b are identified. For example, when the second CAPCAL job ID stored in the output control file 39b ′ designates the CAPCAL job description file 34b and the EMF file 35b, among the contents of the CAPCAL job description file 34b and the EMF file 35b, The part from the start page to the end page specified by the output control file 39b ′ is taken out from the CAPCAL spool document queue 33, GDI7 is called, and drawing data is sent to the Windows print control 5.
[0077]
The printer-specific output thread 42 performs the above processing for all CAPCAL job IDs stored in the output control file 39a ′.
As a result, it is possible to perform distributed printing of a virtual document by a plurality of printers without forming drawing data of a virtual document created by a plurality of applications in a printer queue.
[0078]
As described above, the virtual document editor 60 virtually generates a document in which the CAPCAL job description files 34a,..., 34b and the EMF files 35a,. Then, instead of writing the virtually generated drawing data of the virtual document to the CAPCAL spool print queues 38a ′, 38b ′,..., The virtual document print request is sent to the CAPCAL spool print queues 38a ′, 38b ′. Write to ... As a result, even when documents created by a plurality of applications are integrated and printed, the spool processing can be performed at a high speed, and the application to be used and the designated page can be easily changed. It becomes possible.
[0079]
FIG. 9A shows an example of the contents of the job control file 36 ′ of FIG. In FIG. 9A, printer names and CAPCAL print job IDs for the number of output printers are written in the job control file 36 ′. Here, the CAPCAL print job ID is a unique five-digit numeric character string for each CAPCAL spool print queue 38a ', 38b',. If this 5-digit numeric character string is one entry and there are a plurality of printers to output, a plurality of entries are written. The file name of the job control file 36 ′ can be “(CAPCAL job ID) .jctI”.
[0080]
FIG. 9B shows an example of the contents of the output control file 39a ′ of FIG. In FIG. 9B, the CAPCAL job ID, the start page, the end page, and the Win job ID are written in the output control file 39a ′. Here, the CAPCAL job ID is an ID for identifying the substance of the CAPCAL job description files 34a,..., 34b and the EMF files 35a,. That is, a different CAPCAL job ID is assigned to each CAPCAL job description file 34a,..., 34b and each EMF file 35a,. The Win job ID is a management ID for identifying a Windows spool job when the printer-specific output thread 41 outputs drawing data to the GDI 7. When a plurality of CAPCAL job description files 34a,..., 34b and EMF files 35a,..., 35b are specified, a plurality of CAPCAL job IDs, start pages, end pages, and Win job IDs are set as one entry. The entry information is written in the output control file 39a ′. The file name of the output control file 39a ′ can be “(CAPCAL print job ID). PctI”. The configuration of the output control files 39b ′,... In FIG.
[0081]
FIG. 10 is a flowchart showing a virtual document management control method according to the second embodiment of the present invention. 10, the virtual document editor 60 generates CAPCAL job description files 34a,..., 34b and EMF files 35a,..., 35b in the CAPCAL spool document queue 33, and outputs the actual output destination (printer) of the virtual document. If a name is detected, a job control file 36 'is generated in the CAPCAL spool document queue 33 (step S21).
[0082]
Next, output control files 39a ′, 39b ′,... Are generated in correspondence with the respective CAPCAL spool print queues 38a ′, 38b ′,... (Step S22), and the spool files ( CAPAL job description files 34a,..., 34b and EMF files 35a,..., 35b) are looped (step S23), and entry information (CAPCAL) corresponding to the number of spool files included in the virtual document is obtained. Job ID, start page, end page).
[0083]
Next, when the entry information (CAPCAL job ID, start page, end page) has been written to the output control files 39a ′, 39b ′,..., An event is sent to the printer-specific output threads 41, 42 dedicated to the printer to be used. (Step S24).
[0084]
Next, the output threads 41 and 42 for each printer output the output control files 39a ′, 39b ′,... From the CAPCAL spool print queues 38a ′, 38b ′,. .. Are read (step S31). Then, one entry information (CAPCAL job ID, start page, end page) is extracted from the output control files 39a ′, 39b ′,... (Step S32), and one job printing process is performed (step S33).
[0085]
In the one-job printing process, the start page in one entry information of the output control files 39a ′, 39b ′,... Is stored in the variable N (step S41), and the output control files 39a ′, 39b ′,. The Nth page of the EMF files 35a,..., 35b under the CAPCAL spool document queue 33 specified by the CAPCAL job ID in one entry information is read (step S42) and output to the GDI 7.
[0086]
Next, while increasing the value of the variable N by 1 (step S43), until the value of the variable N exceeds the end page in one entry information of the output control files 39a ′, 39b ′,... (Step S44). The reading of the Nth page of the EMF files 35a,..., 35b under the CAPCAL spool document queue 33 is repeated.
[0087]
When one job printing process is completed, it is determined whether or not there is a next entry in the output control files 39a ′, 39b ′,... (Step S34), and the output control files 39a ′, 39b ′,. If there is an entry, the process returns to step S32 to repeat the extraction of entry information (CAPCAL job ID, start page, end page) and one job printing process.
[0088]
When there is no next entry in the output control files 39a ′, 39b ′,..., It is determined whether processing for the number of output printers has been performed (step S25), and processing for the number of output printers has been completed. If not, the process returns to step S22 to repeat the creation of the output control files 39a, 39b,.
[0089]
As described above, in the second embodiment of the present invention, the virtual document editor 60 that integrates drawing data output from a plurality of applications is provided, and the virtual document generated by the virtual document editor 60 is managed as one document file. By simply specifying a virtual document, drawing data output from multiple applications can be handled as a whole and printed any number of times, making it easy to perform print processing using multiple applications. It becomes possible. Also, because it can be output from the printer in units of virtual documents, printing using multiple applications without sorting the printed matter printed using multiple applications or adding page serial numbers by handwriting It is possible to automatically perform a printing process such as printing a serial number on the printed matter.
[0090]
FIG. 11 is a block diagram showing a system configuration of a printing system according to an embodiment of the present invention. In FIG. 11, 151 is a central processing unit (CPU) that performs overall processing, 152 is a read only memory (ROM), 153 is a random access memory (RAM), 154 is a communication interface, 155 is a communication network, 156 is Bus 157, an input / output interface, 158 a display for displaying a print image, 159 a printer for outputting a print result, 160 a keyboard, 161 a mouse, 162 a driver for driving a storage medium, 163 a hard disk, 164 An IC memory card, 165 is a magnetic tape, 166 is a floppy disk, and 167 is an optical disk such as a CD-ROM or DVD-ROM.
[0091]
Programs for performing printing processing, print data, and the like are stored in a storage medium such as the hard disk 163, the IC memory card 164, the magnetic tape 165, the floppy disk 166, and the optical disk 167. Then, the printing process can be performed by reading a program for performing the printing process from these storage media to the RAM 153. In addition, a program for performing a printing process can be stored in the ROM 152.
[0092]
Further, a program for performing a printing process, print data, and the like can be taken out from the communication network 155 via the communication interface 154. Examples of the communication network 155 connected to the communication interface 24 include a LAN (Local Area Network), a WAN (Wide Area Network), the Internet, an analog telephone network, a digital telephone network (ISDN), and a PHS (Personal Handy Network). System) and satellite communication.
[0093]
When a program for performing a printing process is started, the CPU 151 stores drawing data input by the keyboard 160 and the mouse 161 on a storage medium such as the hard disk 163, the IC memory card 164, the magnetic tape 165, the floppy disk 166, and the optical disk 167. Store. Then, the drawing data stored in these storage media is sent to the printer 159 for printing, or sent to another server or printer via the communication network 155.
[0094]
【The invention's effect】
As described above, according to the present invention, drawing data to be transferred to an output destination can be drawn without re-storing the drawing data stored in the drawing data storage means in association with the drawing data output destination. By directly reading from the data storage means and transferring it to the output destination, when transferring the drawing data to the output destination, it becomes possible to omit the process of re-storing the drawing data for each output destination. The spool processing can be speeded up.
[0095]
Further, according to one aspect of the present invention, print information for drawing data to be output is stored by storing identification information for identifying drawing data and page information for designating a print page for drawing data instead of drawing data. Is changed, it is only necessary to change the page information without re-storing the contents of the drawing data, so that the spool process can be performed efficiently.
[0096]
In addition, according to one aspect of the present invention, it is possible to integrally handle drawing data created by a plurality of applications by generating a virtual document that integrates drawing data created by a plurality of applications. It is possible to print drawing data created by a plurality of applications by performing print designation for an integrated virtual document only once without performing print designation for each application many times. Can be performed efficiently.
[0097]
In addition, the drawing data included in the virtual document is sequentially read out from the drawing data storage unit based on the virtual document output request without configuring the drawing data of the virtual document in correspondence with the output destination of the drawing data. Since it is possible to transfer to the output destination, it is possible to omit the process of storing the drawing data for each virtual document when transferring the drawing data of the virtual document to the output destination. Can be speeded up.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of a printing system according to an embodiment of the present invention.
FIG. 2 is a block diagram illustrating a configuration of a client control unit in FIG. 1;
FIG. 3 is a block diagram illustrating a configuration of a server control unit in FIG. 1;
4 is a block diagram illustrating a configuration of a printer output control unit in FIG. 1. FIG.
FIG. 5 is a block diagram showing a document management control method according to the first embodiment of the present invention.
6A is a diagram illustrating an example of the contents of the job control file in FIG. 5; FIG. 6B is a diagram illustrating an example of the contents of the output control file in FIG. 5;
FIG. 7 is a flowchart showing a document management control method according to the first embodiment of the present invention.
FIG. 8 is a block diagram showing a virtual document management control method according to a second embodiment of the present invention.
9A is a diagram illustrating an example of the contents of the job control file in FIG. 8, and FIG. 9B is a diagram illustrating an example of the contents of the output control file in FIG. 8;
FIG. 10 is a flowchart showing a virtual document management control method according to a second embodiment of the present invention.
FIG. 11 is a block diagram illustrating a system configuration of a printing system according to an embodiment of the present invention.
FIG. 12 is a block diagram illustrating a conventional distributed printing method.
[Explanation of symbols]
100 clients
103 servers
101, 102, 28, 29, 44 Communication line
1 Application
2,7 GDI
3, 5 Windows printing control unit
4 Client control unit
6 Server controller
8 Printer output controller
9 Printer
11 Spooler process
12 Provider
13, 47 Print processor
14 Virtual drivers
15 CAPCAL driver property control thread
16 System spool queue
17 Output control information file
18 Job description file
19, 24, 35, 35a, 35b EMF file
20 CAPCAL client definition file
21 CAPCAL print processor
22 CAPCAL spool queue
23, 34a, 34b CAPCAL job description file
25 CAPCAL destination definition file
26 CAPCAL Client Main Process
27 CAPCAL job transfer thread
30, 31 CAPCAL reception thread
32 CAPCAL server main process
33 CAPCAL spool document queue
36, 36 Job control file
37 Distribution distributed processing thread
38, 38a, 38b, 38a ', 38b' CAPCAL spool printer queue
39, 39a, 39b, 39a ′, 39b ′ output control file
40 CAPCAL server-side definition file
41, 42 Output thread by printer
43 CAPCAL job transfer thread
45 Printer driver
46 Raw spool file
48 Centroport Monitor
49 Spooler process main
50 Printer output manager
51 port monitor
52, 53 Screen call
60 Virtual Document Editor
151 CPU
152 ROM
153 RAM
154 Communication interface
155 communication network
156 bus
157 I / O interface
158 display
159 Printer
160 keyboard
161 mouse
162 drivers
163 hard disk
164 IC memory card
165 magnetic tape
166 floppy disk
167 optical disc

Claims (4)

描画データを生成するクライアント装置と、
クライアント装置から受信した描画データを格納する描画データ格納手段と、
前記クライアント装置から受信した前記描画データの印刷要求に基づいて、該描画データの内容を特定するための情報を含む出力要求を生成し、該出力要求を前記描画データの出力先ごとに格納する出力要求格納手段と、
前記出力要求格納手段に格納された出力要求に基づいて、該出力要求により特定される内容の前記描画データを前記描画データ格納手段から読み出して、該出力要求に対応する出力先に転送する描画データ転送手段とを備えたサーバ装置からなることを特徴とする印刷システム。
A client device that generates drawing data ;
The drawing data received from the client device and the drawing data storing means for store,
Based on the drawing data print request received from the client device, an output request including information for specifying the contents of the drawing data is generated, and the output request is stored for each output destination of the drawing data Request storage means;
Based on the output request stored in the output request storage means, the drawing data having the content specified by the output request is read from the drawing data storage means and transferred to the output destination corresponding to the output request. A printing system comprising a server device including transfer means.
前記出力要求は、前記描画データを識別する識別情報及び前記描画データの印刷頁を指定する頁情報を含んでいることを特徴とする請求項1記載の印刷システム。The printing system according to claim 1, wherein the output request includes identification information for identifying the drawing data and page information for designating a print page of the drawing data. 複数のアプリケーションにより作成された描画データを格納する描画データ格納手段と、
前記複数のアプリケーションにより作成された描画データを統合した仮想的なドキュメントを生成する仮想ドキュメント生成手段と、
前記仮想的なドキュメントの内容を特定するための情報を含む出力要求を生成し該出力要求を前記仮想的なドキュメントの出力先ごとに格納する出力要求格納手段と、
前記出力要求格納手段に格納された出力要求に基づいて、該出力要求により特定される内容の前記仮想的なドキュメントに含まれる描画データを、前記描画データ格納手段から読み出して、該出力要求に対応する出力先に転送する描画データ転送手段とを備えることを特徴とする印刷システム。
Drawing data storage means for storing drawing data created by a plurality of applications;
Virtual document generation means for generating a virtual document in which drawing data created by the plurality of applications is integrated ;
An output request storage means for the generating the output request including information for specifying the contents of the virtual documents, and stores the output request for each destination of said virtual documents,
Based on the output request stored in the output request storage means, the drawing data included in the virtual document having the content specified by the output request is read from the drawing data storage means , and the output request is handled. And a drawing data transfer means for transferring to an output destination.
クライアント装置から受信した描画データを前記描画データの出力先と独立に格納する機能と、
前記クライアント装置から受信した前記描画データの印刷要求に基づいて、該描画データの内容を特定するための情報を含む出力要求を生成し該出力要求を前記描画データの出力先ごとに格納する機能と、
前記描画データの出力要求に基づいて、前記出力先と独立に格納され、該出力要求により特定される内容の描画データを読み出して、該出力要求に対応する出力先に転送する機能とをコンピュータに実行させるプログラムを格納したコンピュータ読み取り可能な記憶媒体。
A function of storing drawing data received from a client device independently of an output destination of the drawing data;
A function of generating an output request including information for specifying the content of the drawing data based on the drawing data print request received from the client device , and storing the output request for each output destination of the drawing data When,
Based on the output request for the drawing data, the computer has a function of reading the drawing data having the contents stored independently of the output destination and specified by the output request and transferring the drawing data to the output destination corresponding to the output request. A computer-readable storage medium storing a program to be executed.
JP13497698A 1998-05-18 1998-05-18 Printing system Expired - Lifetime JP3823534B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13497698A JP3823534B2 (en) 1998-05-18 1998-05-18 Printing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13497698A JP3823534B2 (en) 1998-05-18 1998-05-18 Printing system

Publications (2)

Publication Number Publication Date
JPH11327821A JPH11327821A (en) 1999-11-30
JP3823534B2 true JP3823534B2 (en) 2006-09-20

Family

ID=15141017

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13497698A Expired - Lifetime JP3823534B2 (en) 1998-05-18 1998-05-18 Printing system

Country Status (1)

Country Link
JP (1) JP3823534B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7613798B2 (en) 2001-01-29 2009-11-03 Thinprint Gmbh Method for processing printing orders in server-based networks, and corresponding server-based network
US7417754B2 (en) 2001-09-05 2008-08-26 Hewlett-Packard Development Company, L.P. Wireless printing interface kit and method
JP2005341343A (en) * 2004-05-28 2005-12-08 Fuji Xerox Co Ltd Image processing apparatus and image processing method
US20080180725A1 (en) * 2007-01-26 2008-07-31 Levin Burton L User-defined cluster printing

Also Published As

Publication number Publication date
JPH11327821A (en) 1999-11-30

Similar Documents

Publication Publication Date Title
US5699495A (en) Point-and-print in a distributed environment
US6268924B1 (en) Document object having a print interface for programmatic automation by a using program
US6874034B1 (en) Intelligent peer hybrid printing protocol
US7382477B2 (en) Information processing apparatus capable of transferring print job to another information processing apparatus, and its control method
US5128878A (en) Remote plotting of integrated circuit layout in a network computer-aided design system
US6618566B2 (en) Print control apparatus for generating accounting information relating to a print job
US20050068564A1 (en) Systems and methods for providing interactive printing with job data pull
JP5782865B2 (en) Printer driver
JP2006277751A (en) Document processor, document processing method and recording medium
JP5293035B2 (en) Data processing apparatus, data processing method, program, and recording medium
JPH06230908A (en) System for control of printing of electronic document by using various kinds of page description languages and other parameters
JP3495845B2 (en) Information processing apparatus and method, printer system
US6809841B2 (en) Marking print documents for visible ownership
US20030020944A1 (en) Printer pausing and reordering
US20020159092A1 (en) Method and apparatus for embodying documents
JPH05216695A (en) Method for adjusting task-controlling subsystem and task of data processing system
JP3832978B2 (en) Print control apparatus and print control method
JPH11143661A (en) Printing system
JP3823534B2 (en) Printing system
JPH11305982A (en) Print information processing system
US7577693B2 (en) Performing multiple actions on a spool file by assigning a particular action to be performed on each segment of the spool file
JP3399461B2 (en) Printing system
US6894797B1 (en) Method and apparatus for supporting line-conditioned data stream (LCDS) data in a networked job-oriented printing environment
JP2001243034A (en) Processor
JP2001306286A (en) Print job management system and method on network

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051014

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051101

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051222

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060619

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100707

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110707

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110707

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120707

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120707

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130707

Year of fee payment: 7

EXPY Cancellation because of completion of term