JP3788206B2 - Distributed printing control apparatus, distributed printing control method, and recording medium - Google Patents

Distributed printing control apparatus, distributed printing control method, and recording medium Download PDF

Info

Publication number
JP3788206B2
JP3788206B2 JP2000205550A JP2000205550A JP3788206B2 JP 3788206 B2 JP3788206 B2 JP 3788206B2 JP 2000205550 A JP2000205550 A JP 2000205550A JP 2000205550 A JP2000205550 A JP 2000205550A JP 3788206 B2 JP3788206 B2 JP 3788206B2
Authority
JP
Japan
Prior art keywords
printer
printers
print data
paper
information
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
JP2000205550A
Other languages
Japanese (ja)
Other versions
JP2002023985A (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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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
Priority to JP2000205550A priority Critical patent/JP3788206B2/en
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to EP01917837A priority patent/EP1191433A4/en
Priority to EP10183743A priority patent/EP2267590A3/en
Priority to PCT/JP2001/002967 priority patent/WO2001077808A1/en
Priority to EP10185194.7A priority patent/EP2270645B1/en
Priority to US09/980,111 priority patent/US7173718B2/en
Publication of JP2002023985A publication Critical patent/JP2002023985A/en
Application granted granted Critical
Publication of JP3788206B2 publication Critical patent/JP3788206B2/en
Priority to US11/643,591 priority patent/US20070103726A1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、外部から入力された印刷すべき印刷データを複数のプリンタ用に分配して、各分配された印刷データを各プリンタ毎に設けられたプリンタドライバを介して各プリンタに提供する技術に関する。
【0002】
【従来の技術】
近年、コンピュータネットワークを用いることで、パーソナルコンピュータ等の一の情報処理装置に対して複数のプリンタを容易に接続することが可能となった。こうした一の情報処理装置に複数のプリンタを接続した構成では、情報処理装置で作成した印刷データを各プリンタに分散して出力することができ、全体としての印刷時間の短縮を図ることができる。例えば、情報処理装置からアプリケーションプログラムによって作成した文書を3部印刷しようとする場合、3台のプリンタに1部ずつ分散して印刷を行なうことで、理論的には1部の印刷に要する時間で3部の印刷を済ますことができる。
【0003】
【発明が解決しようとする課題】
上記従来の技術では、分散先である複数のプリンタが異機種である場合、同じサイズの用紙に印刷を行なっても、用紙上に全く同一の大きさの印刷範囲の描画を得ることができず、印刷の結果物が微妙に不揃いなものとなる問題があった。というのは、プリンタには、用紙領域上に印刷禁止領域なるものがあり、その大きさは機種によって相違することにより、機種毎に印刷可能領域が相違するためである。ここで、印刷禁止領域としては、紙送り機構の用紙に対する関わりから用紙の下端や右端などに生じる印刷のできない領域が該当する。
【0004】
この発明は、分散先である複数のプリンタから、印刷領域の大きさ、位置が完全に一致した印刷結果物を得ることができるようにすることを目的としている。
【0005】
【課題を解決するための手段およびその作用・効果】
前述した課題の少なくとも一部を解決するための手段として、以下に示す構成をとった。
【0006】
この発明の分散印刷制御装置は、
接続された複数のプリンタに、外部からの印刷データを分散して印刷させる分散印刷制御装置であって、
前記複数のプリンタの機種毎に設けられたプリンタドライバを記憶するプリンタドライバ記憶手段と、
前記複数のプリンタの中から、分散先となる複数のプリンタを分散先プリンタとして設定する第1の設定手段と、
印刷を行なう用紙に関わる用紙情報を設定する第2の設定手段と、
外部からの印刷データを、前記第1および第2の設定手段から設定された双方の情報に基づいて加工して、前記用紙情報に適合しつつ前記分散先プリンタ用として分配された複数の印刷データを作成し、該複数の印刷データの各々を、前記分散先プリンタの各々について設けられた前記プリンタドライバを介して各分散先プリンタに提供する分散制御手段と
を備えるともに、
前記分散制御手段は、
前記第1の設定手段により設定された分散先プリンタの各々における用紙領域内の印刷禁止領域についての情報を、前記記憶された各プリンタドライバから取り込む情報取込手段と、
該情報取込手段により取り込んだ各プリンタの情報から、前記分散先プリンタのいずれのプリンタでも印刷可能な用紙領域内の印刷可能領域を算出する印刷可能領域算出手段と、
前記外部からの印刷データの加工を前記印刷可能領域算出手段にて算出された印刷可能領域に合わせたものとすることにより、前記分配された複数の印刷データを前記印刷可能領域に適合したものに変える領域適合手段と
を備えたことを特徴としている。
【0007】
上記構成の分散印刷制御装置によれば、分散先となる複数のプリンタ毎に、印刷を行なう用紙領域内の印刷禁止領域についての情報が取り込まれ、それら取り込まれた各プリンタの情報から、それらプリンタのいずれのプリンタでも印刷可能な用紙領域内の印刷可能領域が算出される。そうして、外部からの印刷データは、その印刷可能領域に適合させたものとして分配出力される。このために、印刷データは、分散先となる複数のプリンタのいずれにおいても同一の範囲の印刷領域を占めるものとなる。したがって、分散先である複数のプリンタから、印刷領域の大きさ、位置が完全に一致した印刷結果物を得ることができるという効果を奏する。また、プリンタの機種毎に設けられたプリンタドライバから前記情報の取り込みが行なわれることから、各プリンタにおける印刷しようとするサイズの用紙領域上の印刷禁止領域についての情報を容易に取り込むことができる。
【0008】
上記構成の分散印刷制御装置において、前記領域適合手段は、前記印刷データで定められる用紙上の余白を、前記印刷可能領域算出手段にて算出された印刷可能領域に基づいて補正する余白補正手段を備える構成とすることができる。この構成によれば、印刷データで定められる用紙上の余白を上記印刷可能領域に基づいて補正するだけで、印刷データをその印刷可能領域に適合させている。このため、コンピュータプログラムにおける構成が容易であるという効果を奏する。
【0010】
この発明の分散印刷制御方法は、
接続された複数のプリンタに、外部からの印刷データを分散して印刷させる分散印刷制御方法であって、
(g)前記複数のプリンタの機種毎に設けられたプリンタドライバを予め用意する工程と、
(a)前記複数のプリンタの中から、分散先となる複数のプリンタを分散先プリンタとして設定する工程と、
(b)印刷を行なう用紙に関わる用紙情報を設定する工程と、
(c)外部からの印刷データを、前記工程(a)および工程(b)から設定された双方の情報に基づいて加工して、前記用紙情報に適合しつつ前記分散先プリンタ用として分配された複数の印刷データを作成し、該複数の印刷データの各々を、前記分散先プリンタの各々について設けられた前記プリンタドライバを介して各分散先プリンタに提供する工程と
を備えるともに、
前記工程(c)は、
(d)前記工程(a)により設定された分散先プリンタの各々における用紙領域内の印刷禁止領域についての情報を、前記用意された各プリンタドライバから取り込む工程と、
(e)該工程(d)により取り込んだ各プリンタの情報から、前記分散先プリンタのいずれのプリンタでも印刷可能な用紙領域内の印刷可能領域を算出する工程と、
(f)前記外部からの印刷データの加工を前記工程(e)にて算出された印刷可能領域に合わせたものとすることにより、前記分配された複数の印刷データを前記印刷可能領域に適合したものに変える工程と、
を備えたことを特徴といている。
【0011】
この発明のコンピュータ読み取り可能な記録媒体は、
接続された複数のプリンタに、外部からの印刷データを分散して印刷させるためのコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
(a)前記複数のプリンタの中から、分散先となる複数のプリンタを分散先プリンタとして設定する機能と、
(b)印刷を行なう用紙に関わる用紙情報を設定する機能と、
(c)外部からの印刷データを、前記機能(a)および機能(b)から設定された双方の情報に基づいて加工して、前記用紙情報に適合しつつ前記分散先プリンタ用として分配された複数の印刷データを作成し、該複数の印刷データの各々を、前記分散先プリンタの各々について設けられたプリンタドライバを介して各分散先プリンタに提供する機能と
をコンピュータに実現させるとともに、
前記機能(c)は、
(d)前記機能(a)により設定された分散先プリンタの各々における用紙領域内の印刷禁止領域についての情報を、前記各プリンタドライバから取り込む機能と、
(e)該機能(d)により取り込んだ各プリンタの情報から、前記分散先プリンタのいずれのプリンタでも印刷可能な用紙領域内の印刷可能領域を算出する機能と、
(f)前記外部からの印刷データの加工を前記機能(e)にて算出された印刷可能領域に合わせたものとすることにより、前記分配された複数の印刷データを前記印刷可能領域に適合したものに変える機能と、
を備えたコンピュータプログラムを記録したことを要旨としている。
【0012】
上記構成の分散印刷制御方法およびコンピュータ読み取り可能な記録媒体は、上記発明の分散印刷制御装置と同様な作用・効果を有しており、分散先である複数のプリンタから、印刷領域の大きさ、位置が完全に一致した印刷結果物を得ることができる。
【0013】
【発明の他の態様】
この発明は、以下のような他の態様も含んでいる。その第1の態様は、この発明の記録媒体による機能と同様の機能を持つコンピュータプログラムとしての態様である。その第2の態様は、コンピュータプログラムを通信経路を介して供給するプログラム供給装置としての態様である。この第2の態様では、コンピュータプログラムをコンピュータネットワーク上のサーバなどに置き、通信経路を介して、必要なプログラムをコンピュータにダウンロードし、これを実行することで、上記の装置や方法を実現することができる。
【0014】
【発明の実施の形態】
以上説明したこの発明の構成・作用を一層明らかにするために、以下この発明の実施の形態を実施例に基づき説明する。
【0015】
1.ハードウェアの全体構成
図1はこの発明の一実施例を適用するコンピュータシステムのハードウェアの概略構成を示すブロック図である。図示するように、この一実施例のコンピュータシステムは、コンピュータ10を備え、このコンピュータ10には、実質的にコンピュータ機能を有する複数のプリンタ70,80,…が、ローカルエリアネットワーク(LAN)により構築されたコンピュータネットワーク90を介して接続されている。なお、コンピュータネットワーク90は、LANに替えて、インターネットや、イントラネットや、ワイドエリアネットワーク(WAN)など、各種ネットワークに替えることができる。
【0016】
コンピュータ10には、周辺機器としてのCRTディスプレイ12が接続され、さらにはローカルにてもう一台のプリンタ60が接続されている。また、コンピュータ10は、コンピュータ本体16とキーボード18とマウス20を備える。このコンピュータ本体16には、フロッピィディスク22の内容を読み取るフロッピィディスクドライブ24が搭載されている。
【0017】
コンピュータ本体16は、中央演算処理装置としてのCPU30を中心にバスにより相互に接続されたROM31、RAM32、表示画像メモリ33、マウスインタフェース34、キーボードインタフェース35、FDC36、HDC37、CRTC38、プリンタインタフェース39およびネットワーク制御回路40を備える。
【0018】
ROM31は、内蔵されている各種プログラム等を記憶する読み出し専用のメモリである。RAM32は、各種データ等を記憶する読み出し・書込み可能なメモリである。表示画像メモリ33はCRTディスプレイ12に表示する画像の画像データを記憶するメモリである。マウスインタフェース34は、マウス20とのデータ等のやり取りを司るインタフェースである。キーボードインタフェース35は、キーボード18からのキー入力を司るインタフェースである。FDC36は、フロッピィディスクドライブ(FDD)24を制御するフロッピィディスクコントローラである。HDC37は、ハードディスクドライブ(HDD)41を制御するハードディスクコントローラである。CRTC38は、表示画像メモリ33に記憶される表示画像データに基づいてCRTディスプレイ12における画像の表示を制御するCRTコントローラである。プリンタインタフェース39は、ローカルにて接続されるプリンタ14へのデータの出力を制御するインタフェースである。ネットワーク制御回路40は、ネットワークカードなどから成り、コンピュータネットワーク90に接続されている。
【0019】
このコンピュータシステムでは、オペレーティングシステムはHDD41に記憶されており、コンピュータ本体16に電源を投入すると、HDD41のブートブロックに書き込まれたローダに従ってRAM32の所定の領域にロードされる。また、プリンタ60,70,80の機種毎に用意される実プリンタドライバは、フロッピィディスク22に予め格納されており、所定のインストールプログラムを起動することで、フロッピィディスクドライブ24からコンピュータ10にインストールされる。このインストールされたプリンタドライバは、HDD41に記憶されており、コンピュータ10に電源を投入したときに、オペレーティングシステムに組み込まれ、RAM32の所定の領域にロードされる。
【0020】
また、このコンピュータシステムでは、仮想的なプリンタについての情報を定める仮想的なプリンタドライバ(仮想プリンタドライバ)110を備えている。この仮想プリンタドライバ110は、実際のプリンタドライバと同様に、フロッピィディスク22に予め格納されており、所定のインストールプログラムを起動することで、フロッピィディスクドライブ24からコンピュータ10にインストールされる。このインストールされた仮想プリンタドライバ110は、HDD41に記憶されており、コンピュータ10に電源を投入したときに、オペレーティングシステムに組み込まれ、RAM32の所定の領域にロードされる。なお、仮想プリンタドライバ110のコンピュータプログラムは、フロッピィディスク22に格納されたものに替えて、CD−ROM、光磁気ディスク、ICカード等の他の携帯型記録媒体(可搬型記録媒体)に格納された構成としてもよい。また、このコンピュータプログラムは、外部のコンピュータネットワーク(例えばインターネット)に接続される特定のサーバから、コンピュータネットワークを介して提供されるプログラムデータをダウンロードして、RAM32またはHDD41に転送することにより得るようにすることもできる。
【0021】
プリンタ60,70,80は、ドラムにレーザ光を当てて像を作り、トナーで現像して用紙に転写する所謂レーザプリンタである。なお、プリンタ60,70,80としては、インクジェットプリンタ、熱転写プリンタなど、各種プリンタを適用することができる。なお、ここでは、プリンタ60,70,80は、それぞれ異なる機種であるものとする。
【0022】
2.分散印刷処理の様子
かかる構成のコンピュータシステムによれば、大まかには、コンピュータ本体16により、印刷すべき印刷データを作成し、この印刷データをコンピュータ本体16に接続されているプリンタ60,70,80に分散して印刷させる分散印刷処理を行なう。こうした分散印刷処理の様子について以下詳しく説明する。
【0023】
図2は、分散印刷処理の全体の様子を概略的に示すブロック図である。図3は、分散印刷処理に用いられる仮想プリンタドライバ110の処理の様子を示すブロック図である。図4は、分散印刷処理の一部を実現する分散印刷ユーティリティプログラム(以下、単に「分散印刷ユーティリティ」と呼ぶ)120の処理の様子を示すブロック図である。
【0024】
図2に示すように、コンピュータ本体16の内部で動作しているアプリケーションプログラム100は、画像の処理を行って画像データを生成し、この画像データを印刷すべく印刷命令を発行する。アプリケーションプログラム100から印刷命令が発行されると、仮想プリンタドライバ110が、印刷命令を受けて、この仮想プリンタドライバ110が想定する仮想的なプリンタの性能についての性能情報をアプリケーションプログラム100に返す。詳細には、図3に示すように、仮想プリンタドライバ110は、印刷命令受信部111により、アプリケーションプログラム100から発行される印刷命令を受信して、その印刷命令を受信した旨を印刷命令受信部111から受けた性能情報返信部112により、仮想的なプリンタの性能についての性能情報をアプリケーションプログラム100に返す。
【0025】
ここで仮想的なプリンタの性能というのは、分散先となり得る全てのプリンタのうちの最も性能の高いプリンタについての性能である。一般に、性能の高いプリンタは、高級なプログラム言語により描画を行なっている。例えば、数式等を用いた高度な描画命令により図形を表わすものは高級なプログラム言語であり、ビットマップを用いた程度の低い描画命令により図形を表わすものは低級なプログラム言語である。したがって、この実施例では、仮想的なプリンタの性能を上述したように分配先となり得る全てのプリンタのうちの最も高いプリンタについての性能と定めることで、この仮想プリンタドライバ110において高級なプログラム言語に従うデータ変換処理(レンダリング処理)を可能としている。すなわち、高級なプログラム言語は前述したように、高度な描画命令を使用するものであるから、この仮想プリンタドライバ110では、もっとも高性能なプリンタに合わせて効率的なレンダリング処理を実現し得るようにしている。
【0026】
なお、分散先となり得るプリンタというのは、コンピュータ本体16にローカルもしくはネットワークで接続される全てのプリンタのうちのプロパティ設定部113により設定されるプリンタグループに属するプリンタであり、ここでは、プリンタ60,70,80が該当するものとする。
【0027】
詳細には、上記プリンタ60,70,80の機種毎に用意されるプリンタドライバ(以下、実プリンタドライバと呼ぶ)から分散印刷ユーティリティ120が取り込んだ各プリンタ60,70,80の性能情報を、性能情報入力部114により取り込んで、仮想プリンタ性能決定部115により、これら各プリンタ60,70,80の性能情報から最も高いものを選択して、これを仮想的なプリンタの性能情報とする。性能情報返信部112はこの仮想的なプリンタの性能情報をアプリケーションプログラム100に返している。
【0028】
なお、こうした仮想プリンタドライバ110で定める性能情報は、この実施例のように最も高性能のプリンタの性能とする構成に替えて、各プリンタ60,70,80の性能情報から選択した任意のものとすることもできる。さらに、各プリンタ60,70,80の性能情報に依存しない予め定めた性能情報とすることもできる。
【0029】
また、仮想プリンタドライバ110は、プロパティ設定部113により、ユーザインタフェース116を動作させて印刷のための各種情報を設定・記憶するが、この印刷のための各種情報のうちのいくつかの情報を上記性能情報とともに性能情報返信部112を介してアプリケーションプログラム100に返す。印刷のための各種情報としては、印刷品質、色補正、ハーフトーンの種類等の印刷の基本設定に関するもの、用紙のサイズ、印刷方向等の用紙設定に関するもの、分散先となり得るプリンタを指定するプリンタグループに関するもの、分散印刷する場合の分散形態に関するもの等があるが、ここでは、これら情報の内のプリンタグループおよび分散形態に関するものを除いた情報をアプリケーションプログラム100に送る。
【0030】
アプリケーションプログラム100は、性能情報やこれら情報を受け取り、上記生成した画像データを性能情報やこれら情報に基づいて、プリンタ(ここでは仮想的なプリンタ)に適合した印刷データに変換して、この変換後の印刷データを仮想プリンタドライバ110に送る。この印刷データの変換の処理は、前述したように効率的なレンダリング処理を実現するもので、実プリンタドライバにより実現される色変換やハーフトーン等の処理についてはここでは実施されない。
【0031】
図2に示すように、仮想プリンタドライバ110は、アプリケーションプログラム100から送られてきた印刷データを中間印刷データとして、その中間印刷データをまとめたデータセットを中間印刷ファイルMFとしてHDD41に一旦格納する。詳細には、図3に示すように、アプリケーションプログラム100から送られてきた印刷データを印刷データ受信部117により受信して、その後、その印刷データを中間印刷データとしてその中間印刷データをまとめたデータセットを、中間印刷データ出力部118によりHDD41に出力する。この中間印刷ファイルMFの中間印刷データは、その後、分散印刷ユーティリティ120により読み込まれる。なお、中間印刷ファイルMFは、HDD41に替えてRAM32に格納する構成としたり、フロッピィディスク22に格納する構成としたりすることもでき、さらには、他の外部記憶装置とすることもできる。また、仮想プリンタドライバ110は、プロパティ設定部113で設定された各種情報をプリンタプロパティデータとしてプロパティデータ出力部119を介して分散印刷ユーティリティ120に送る処理も行なう。
【0032】
図2に示すように、分散印刷ユーティリティ120は、中間印刷ファイルMFを構成する中間印刷データとプリンタプロパティデータとを受け取り、その中間印刷データを、プリンタプロパティデータに含まれるプリンタグループと分散形態に関する情報に従って各プリンタ60,70,80用に分配して、各プリンタ60,70,80に対応して設けられた実プリンタドライバ130,140,150に送る。分散印刷ユーティリティ120によるこうした処理について、次に詳しく説明する。
【0033】
図4に示すように、分散印刷ユーティリティ120は、まず、中間印刷データ入力部121により、中間印刷ファイルMFを構成する中間印刷データを取り込むとともに、プロパティデータ入力部122により、仮想プリンタドライバ110から送られてくるプリンタプロパティデータを受け取る。次いで、そのプリンタプロパティデータに含まれるプリンタグループと分散形態に関する情報に基づいて、割り振り決定部123により中間印刷データの割り振りを決定する。ここでいう割り振りというのは、中間印刷データをページ単位に分け、プリンタグループに属する各プリンタ60,70,80がそれぞれ引き受けるページを定めることである。
【0034】
こうして決定された割り振りの情報は出力データ制御部124に送られる。出力データ制御部124は、中間印刷データ入力部121で取り込んだ中間印刷データを、上記割り振りの情報に基づいて、上記プリンタ60,70,80の実プリンタドライバ130,140,150に対して振り分けながらそれぞれ出力する。なお、この実プリンタドライバ130,140,150へのデータ出力の際には、具体的には次のような作業を経て行なう。
【0035】
まず、割り振り先のプリンタに対してプリンタドライバを介して設定変更を指示する処理をプリンタ設定部125により行なう。次いで、出力命令出力部126により出力命令を発行して、その出力命令の発行を受けた実プリンタドライバ130,140,150から返送されてくるプリンタ60,70,80の性能についての性能情報を、性能情報入力部127により受け取る。実プリンタドライバ130,140,150から受け取る性能情報は、各実プリンタドライバ130,140,150の対応するプリンタ60,70,80の性能を示すもので、印刷可能な用紙サイズ、用紙領域内の印刷禁止領域を示す禁止幅サイズ、両面印刷の可否等の情報が該当する。ここで、禁止幅サイズとは、用紙の上下左右の4方向についてのものである。一般に、プリンタにおいては、用紙の端では紙送り機構のローラが用紙から外れてしまう等の様々な理由により、印刷が不可能な印刷禁止領域が存在する。こうした印刷禁止領域の大きさは、各プリンタ60,70,80の機種によって相違する。性能情報入力部127は、こうした各種情報を実プリンタドライバ130,140,150から受け取る。
【0036】
出力データ制御部124は、性能情報入力部127から受け取った性能情報と、プロパティデータ入力部122から受け取ったプリンタプロパティデータに含まれる印刷の基本設定に関する情報、用紙設定に関する情報等(プリンタグループと分散形態に関する情報を除く)に基づいて、中間印刷データの割り振るべきページを割り振り先のプリンタ60,70,80に適合したデータに変換する。なお、この出力データ制御部124には、印刷可能領域算出部124aと領域適合部124bを備える。印刷可能領域算出部124aは、性能情報入力部127により取り込んだ性能情報のうちの禁止幅サイズの値に基づいて、割り振り先の全てのプリンタ60,70,80のいずれでも印刷可能な印刷可能領域(以下、共通印刷可能領域と呼ぶ)を求めるものである。領域適合部124bは、中間印刷データをプリンタ60,70,80に適合したデータに変換するに際し、中間印刷データで定められる印刷領域が、印刷可能領域算出部124aで算出した共通印刷可能領域をはみ出す場合に、その中間印刷データの印刷領域をその共通印刷可能領域内に制限するものである。
【0037】
出力データ制御部124は、これら変換後の印刷データを最終印刷データとして、最終印刷データ出力部128を介して実プリンタドライバ130,140,150に送る。実プリンタドライバ130,140,150は、仮想プリンタドライバでは実施されなかった各プリンタに対応した色変換やハーフトーン等の処理を最終印刷データに施して、その最終印刷データを各プリンタ60,70,80に送信する。
【0038】
さらに、分散印刷ユーティリティ120は、実プリンタドライバ130,140,150からの信号に基づいて各プリンタ60,70,80の状態を監視するプリンタ監視部129を備えている。プリンタ監視部129は、各プリンタの混み具合やプリンタのエラー状態(故障は勿論のこと、用紙詰まり、用紙切れの状態等も含む)を監視するものである。出力データ制御部124は、このプリンタ監視部129からの信号を受け取り、上記分配された印刷データの出力に際して、混み合っていたりエラー状態にあるプリンタについては出力先を変更したり、出力先を中止したりする処理を行なう。
【0039】
なお、実プリンタドライバ130,140,150から送られてくる各プリンタ60,70,80の性能情報は、前述したように分散印刷ユーティリティ120で利用されるとともに、性能情報出力部12aを介して仮想プリンタドライバ110にも送られる。
【0040】
3.仮想プリンタドライバ
仮想プリンタドライバ110がコンピュータ10にインストールされたときに、オペレーティングシステムがどのような状態に変わるかを、次に説明する。なお、この説明に当たり、この仮想プリンタドライバ110が動作するオペレーティングシステムとして、Windows95(マイクロソフト社の商標)を例にとって説明する。
【0041】
ユーザ(作業者)は、コンピュータ10を次のように操作して、印刷のための各種情報を設定するダイアログボックスをCRTディスプレイ12の画面上に開く。すなわち、[スタート]→[設定]→[プリンタ]の操作を行なうことで、「プリンタ」ウィンドウを開く。図5は、この「プリンタ」ウィンドウを示す説明図である。仮想プリンタドライバ110がコンピュータ10にインストールされた場合、図示するように、「プリンタ」ウィンドウWN1には、プリンタ60,70,80の機種毎に用意される実プリンタドライバ130,140,150のアイコンIC1,IC2,IC3に加えて、仮想プリンタドライバ110に対応する例えば「分散印刷」と表記されたアイコンIC4が表示されることになる。即ち、仮想プリンタドライバ110も実プリンタドライバと同様に、インストールされると、その仮想プリンタドライバ110に対応したアイコンIC4が「プリンタ」ウィンドウWN1に表示されることになる。
【0042】
なお、その「プリンタ」ウィンドウ上の仮想プリンタドライバ110に対応した「分散印刷」のアイコンIC4をダブル・クリックして、その仮想プリンタドライバ110についてのウィンドウを開き、その後、そのウィンドウから[プリンタ]→[プロパティ]の操作を行なうと、その仮想のプリンタについての各種情報を設定する「分散印刷プロパティ」のダイアログボックスが表示される。作業者は、この「分散印刷プロパティ」のダイアログボックスに従ってマウス20およびキーボード18を操作することにより、各種の設定情報を入力することが可能となる。なお、この「分散印刷プロパティ」のダイアログボックスが、前述したユーザインタフェース116に相当する。
【0043】
4.ユーザインタフェース
図6は、「分散印刷プロパティ」のダイアログボックスWN2を例示する説明図である。図示するように、「分散印刷プロパティ」のダイアログボックスWN2には、「分散設定」、「プリンタ」の2種類のカードCD1,CD2が用意されている。「分散設定」のカードCD1は、分散印刷する場合の分散形態に関わる情報等を設定するためのものである。「プリンタ」のカードCD2は、分散先となり得るプリンタグループに関わる情報、印刷の基本設定に関する情報および用紙設定に関する情報等を設定するためのものである。両カードCD1,CD2のいずれかが、作業者によって、マウス20を操作することにより選択されて、ダイアログボックスWN2に表示される。図6には、「分散設定」のカードCD1が表示された状態が例示されている。なお、カードCD1,CD2の内容の組み分けは、上記例に限る訳ではなく、1枚のカードで全ての内容を含む構成としてもよく、あるいは、より細かく分けて3枚以上のカードに分ける構成としてもよい。
【0044】
図示するように、「分散設定」のカードCD1には、「ドキュメント」、「リカバリ」、「指定日時」の3つのフィールドfd1,fd2,fd3が設けられている。「ドキュメント」のフィールドfd1は、文書の印刷形態を設定するためのもので、「部数」についてのデータ入力欄id1、「部単位で印刷する」のチェックボックスid2、「部、ページ単位でまとめる」のチェックボックスid3、「ジョブのまとめ方」についてのデータ入力欄id4、「区切りページ」についてのデータ入力欄id5が設けられている。各データ入力欄(チェックボックスを含む、以下同じ)id1〜id5は次のような仕様にて設計されている。
【0045】
1)「部数」のデータ入力欄id1:
印刷する部数を入力する。アプリケーションプログラム100で設定された内容がデフォルトとして入力される。
2)「部単位で印刷する」のチェックボックスid2:
このチェックボックスid2がオン状態のとき、丁合い印刷となり、オフ状態のとき、スタック印刷となる。ここで、丁合い印刷とは、部単位で、各部はページ順にて出力を行なうものであり、スタック印刷とは、ページ単位で、同一ページを部数分まとめて出力を行なうものである。
3)「部、ページ単位でまとめる」のチェックボックスid3:
このチェックボックスid3がオン状態のときには、上記部単位もしくはページ単位の一集合が複数のプリンタに渡ることを禁止し、オフ状態のときには、その一集合が複数のプリンタに渡ることを許可する。
【0046】
4)「ジョブのまとめ方」のデータ入力欄id4:
このデータ入力欄id4における「プリンタ単位」のラジオボタンが選択されると、一のプリンタから出力する全ページを一つのまとまりとして扱う。このラジオボタンが選択されると、ネットワークに接続された共有プリンタ70,80において他の使用者の印刷結果との混在がなくなる。一方、「部、ページ番号単位」のラジオボタンが選択されると、上記部単位やページ単位の一集合ごとを一つのまとまりとして扱う。ローカルのプリンタ60に分散する場合や他の使用者の印刷結果と混在しても問題ないような場合に利用する。
【0047】
5)「区切りページ」のデータ入力欄id5:
区切りページとは、他の使用者の印刷結果と上記まとまりの単位で混在した場合に判別できるように、上記まとまりの先頭や末尾に設けるページである。「先頭」のチェックボックスがクリックされた場合には、まとまりの先頭位置に区切りページを印刷する。「末尾」のチェックボックスがクリックされた場合には、まとまりの末尾位置に区切りページを印刷する。なお、区切りページには、印刷する文書名や部数、ページ数、使用者名などが印刷される。
【0048】
なお、この「ドキュメント」のフィールドfd1には、上記データ入力欄id1〜id5の他に、上記データ入力欄id1〜id5の設定内容によって決定される分散形態を表わす分散形態表示欄ddが設けられている。この分散形態表示欄ddは、データ入力欄id1〜id5の設定内容によって決定される分散形態がどのようなものであるかをイラスト画像にて示すものである。
【0049】
次に、データ入力欄id1〜id5の設定の内容によって分散形態表示欄ddのイラスト画像がどのように決まるかを、図7および図8を用いて説明する。まず最初に、「部数」のデータ入力欄id1、「部単位で印刷する」のチェックボックスid2、「部、ページ単位でまとめる」のチェックボックスid3によってイラスト画像がどのように決まるかを説明する。
【0050】
図7は、データ入力欄id1と2つのチェックボックスid2,id3の設定の内容によって分散形態表示欄ddのイラスト画像がどのように変わるかを示す説明図である。図示の表において、列は、部単位で印刷するか否か、すなわち、「部単位で印刷する」のチェックボックスid2がオン状態であるかオフ状態であるかによって定まり、行は、部、ページ単位でまとめないか否か、すなわち、「部、ページ単位でまとめる」のチェックボックスid3がオフ状態であるかオン状態であるかによって定まる。この表は、「部数」データ入力欄id1から設定される部数が4部である場合の一例である。
【0051】
「部単位で印刷する」で、かつ「部、ページ単位でまとめない」の場合には、表中第1行、第1列のセルC11に示すように、1台目のプリンタ60には、丁合で第1部の第1ページと第2ページが次いで第2部の第1ページが印刷され、2台目のプリンタ70には、第2部の第2ページ、第3部の第1ページと第2ページが印刷され、3台目のプリンタ80には、第4部の第1ページと第2ページが印刷されることを示すイラスト画像が表示される。
【0052】
「部単位で印刷しない」で、かつ「部、ページ単位でまとめない」の場合には、表中第1行、第2列のセルC12に示すように、スタック印刷となることから、1台目のプリンタ60には、第1ページが3部印刷され、2台目のプリンタ70には、第1ページの必要部数の残り分と第2ページが2部印刷され、3台目のプリンタ80には、第2部の必要部数の残り分とが印刷されることを示すイラスト画像が表示される。
【0053】
「部単位で印刷する」で、かつ「部、ページ単位でまとめる」の場合には、表中第2行、第1列のセルC21に示すように、1台目のプリンタ60は、1単位が複数のプリンタに渡ることを禁止することから、第1部の第1ページから第2部の第2ページまで印刷され、2台目のプリンタ70には、第3部の第1ページと第2ページが印刷され、3台目のプリンタ80には、第4部の第1ページと第2ページが印刷されることを示すイラスト画像が表示される。
【0054】
「部単位で印刷しない」で、かつ「部、ページ単位でまとめる」の場合には、表中第2行、第2列のセルC22に示すように、1台目のプリンタ60には、第1ページが必要部数分印刷され、2台目のプリンタ70には、第2ページが必要部数分印刷されることを示すイラスト画像が表示される。
【0055】
次に、データ入力欄id1〜id3の設定内容から決まるイラスト画像が、「ジョブのまとめ方」のデータ入力欄id4と「区切りページ」のデータ入力欄id5によってどのように変わるかを説明する。図8は、データ入力欄id4,id5によって分散形態表示欄ddのイラスト画像がどのように決まるかを示す説明図である。図8に示したイラスト画像の一例は、データ入力欄id1〜id3の内容によって図7中のセルC11に示すようにイラスト画像が決定した場合に、データ入力欄id4,id5の設定内容に応じてさらにどのように変わるかを示すものである。
【0056】
図8の表において、列は、「ジョブのまとめ方」のデータ入力欄id4において「プリンタ単位」、「部、ページ番号単位」のいずれのラジオボタンが選択されたかによって定まり、行は、「区切りページ」のデータ入力欄id5において「先頭」、「末尾」の両チェックボックスがどのように指示されているかによって定まる。
【0057】
「ジョブのまとめ方」のデータ入力欄id4において、「プリンタ単位」のラジオボタンがクリックされている場合、表中の第1行、第1列のセルCE11に示すように、図7のセルC11とそのイラスト画像は変わらず、一のプリンタから印刷される全ページはまとめられた形となる。一方、「部、ページ番号単位」のラジオボタンがクリックされている場合には、第1行、第2列のセルCE12に示すように、部、もしくはページ単位の集合がまとめられ、それらは次の集合との間で一旦分けられる。なお、実際は、「プリンタ単位」のラジオボタンがクリックされている場合も「部、ページ番号単位」のラジオボタンがクリックされている場合にも、区切りページがないことから同じ印刷結果となる。
【0058】
「区切りページ」のデータ入力欄id5から区切りページがあると判別された場合には、表中の第2行目、第3行目、第4行目に示すように、第1行目にてまとめられた区分に対して、先頭、末尾、または両者に区切りページ(図中黒塗りの部分)が差し込まれた形にイラスト画像は定められる。この表によって決定されるイラスト画像が、分散形態表示欄ddに表示される。
【0059】
図6に戻り、「リカバリ」のフィールドfd2は、分散印刷されるプリンタでエラーが発生した場合に他のプリンタでリカバリさせる際のリカバリ先を指定するためのものである。この「リカバリ」のフィールドfd2には、「リカバリしない」、「出力先を指定する」、「リカバリ先を自動で選択する」の3つのラジオボタンが設けられている。「リカバリしない」のラジオボタンが選択された場合には、分散印刷されるプリンタでエラーが発生した場合にもリカバリをしないものとする。「出力先を指定する」のラジオボタンが選択された場合には、「プリンタ」のデータ入力欄から入力された出力先をリカバリ先とする。「リカバリ先を自動で選択する」のラジオボタンが選択された場合には、エラーが発生したプリンタと同機種のプリンタをリカバリ先とする。同機種のプリンタがなければ空いているプリンタをリカバリ先とする。
【0060】
「指定日時」のフィールドfd3は、印刷時間を指定するもので、「印刷日時を指定する」のチェックボックスが指定された場合には、「指定日時」の欄から入力された時間に印刷が開始される。
【0061】
「分散印刷プロパティ」のダイアログボックスWN2に表示される「プリンタ」のカードCD2について、図9を用いて次に説明する。図示するように、「プリンタ」のカードCD2には、「プリンタグループ」のフィールドfd4と、「用紙設定」のフィールドfd5と、内容表示欄fd6が設けられている。
【0062】
「プリンタグループ」のフィールドfd4は、文書を分散して印刷するプリンタのグループを指定するためのもので、「グループ名」のデータ入力欄id11と「プリンタ」の表示欄id12と「グループ設定」のボタンid13とが設けられている。「グループ名」のデータ入力欄id11は、そのグループの名前を設定するためのものであり、予め設定されたグループ名が選択肢として用意される。「プリンタ」の表示欄id12は、「グループ名」のデータ入力欄id1から設定されたグループに属するプリンタ名を表示する。「グループ設定」のボタンid13は、図示しない新たなウィンドウを開き作業者からのデータ入力を受け付けることで、「グループ名」のデータ入力欄id11に用意される選択肢の追加、削除を行なう。「プリンタグループ」のフィールドfd4によって指定されるグループに属する全てのプリンタ、すなわち、「プリンタ」の表示欄id12に表示される各プリンタに対して、コンピュータ10は分散印刷を行なうことになる。すなわち、コンピュータ本体16にローカルまたはコンピュータネットワーク90にて接続される全てのプリンタの中でも、この「プリンタグループ」のフィールドfd4によって指定されるグループのプリンタ群だけが印刷の分散先となることになる。
【0063】
「用紙設定」のフィールドfd5は、用紙や印刷品質を設定するためのもので、「用紙サイズ」、「用紙方向」、「用紙種類」、「色」、「解像度」をそれぞれ設定するデータ入力欄id14,id15,id16,id17が設けられている。
【0064】
「用紙サイズ」のデータ入力欄id14は、使用する用紙サイズを用紙の種類と共に設定するもので、例えば、「A4 210×297mm」、「A4横 210×297mm」、「洋封筒 120×235」、「ハガキ 100×147mm」等が選択肢として用意されている。「用紙方向」のデータ入力欄id15は、プリンタにおいて用紙のセットされる方向を示すものであり、「縦」と「横」とが選択可能である。「用紙種類」のデータ入力欄id16は、用紙の種類を設定するもので、「普通紙」、「スーパーファイン専用紙」、「専用光沢紙」が選択肢として用意されている。「色」のデータ入力欄id17は、プリンタ14に使用するインクの種類を設定するもので、「カラー」と「モノクロ」とが選択肢として用意されている。「解像度定」のデータ入力欄id18は、印刷する解像度を設定するもので、「はやい」、「きれい」の2種類が選択肢として用意されている。ここで、「はやい」、「きれい」は、例えば、順に360×360(dot)、720×720(dot)の解像度を示すものである。
【0065】
内容表示欄fd6は、「プリンタグループ」のフィールドfd1と「用紙設定」のフィールドfd5から設定された内容のうちの所望のデータを表示する。
【0066】
以上のように構成された「分散印刷プロパティ」のダイアログボックスWN2に従って、作業者はマウス20およびキーボード18を操作することにより、各種の設定情報がコンピュータ本体16に入力されることになる。なお、このデータ入力の際に、各プリンタ60,70,80の性能情報によっては上記入力データの取り込みは制限されるように構成されている。例えば、各プリンタ60,70,80の性能情報から、これらプリンタ60,70,80は共にA4までの用紙サイズしか印刷不可能な場合には、「分散印刷プロパティ」のダイアログボックスWN2の「用紙サイズ」のデータ入力欄id14は、A4より大きい用紙サイズは選択肢から除外する構成として、A4より大きい用紙サイズについての入力データは取り込み不可能としている。
【0067】
5.コンピュータプログラム
図3に示した仮想プリンタドライバ110にて実現される各部111〜119は、実際は、コンピュータプログラムである仮想プリンタドライバ110とその仮想プリンタドライバ110に従ってCPU30により実行される各種処理とにより実現されている。また、図4に示した分散印刷ユーティリティ120にて実現される各部121〜129は、実際は、コンピュータプログラムである分散印刷ユーティリティ120とその分散印刷ユーティリティ120に従ってCPU30により実行される各種処理とにより実現されている。
【0068】
上記分散印刷ユーティリティ120は、仮想プリンタドライバ110と同様に、フロッピィディスク22に予め格納されており、所定のインストールプログラムを起動することで、フロッピィディスクドライブ24からコンピュータ10にインストールされる。このインストールされた分散印刷ユーティリティ120は、HDD41に記憶されており、コンピュータ10に電源を投入したときに、オペレーティングシステムに組み込まれ、RAM32の所定の領域にロードされる。なお、分散印刷ユーティリティ120は、仮想プリンタドライバ110と同様に、フロッピィディスク22に格納されたものに替えて、CD−ROM、光磁気ディスク、ICカード等の他の携帯型記録媒体(可搬型記録媒体)に格納された構成としてもよい。また、この分散印刷ユーティリティ120は、外部のコンピュータネットワーク(例えばインターネット)に接続される特定のサーバから、コンピュータネットワークを介して提供されるプログラムデータをダウンロードして、RAM32またはHDD41に転送することにより得るようにすることもできる。
【0069】
図10は、仮想プリンタドライバ110で記述される処理ルーチンを、アプリケーションプログラム100で記述される処理ルーチンとともに示すフローチャートである。図示するように、このコンピュータ本体16のCPU30は、まず、アプリケーションプログラム100に処理を移して、画像の処理を行って画像データを作成する処理を行なう(ステップS210)。このアプリケーションプログラム100は、文書や絵図等を作成する汎用のアプリケーションプログラムであり、それぞれのアプリケーションプログラム特有の機能を使って画像データが作成される。
【0070】
次いで、CPU30は、この作成されたアプリケーションプログラムに備えられる[印刷]のコマンドを実行することで、分散印刷を行なう旨の印刷命令を発行する処理を行なう(ステップS220)。詳細には、印刷のコマンドが操作されたときに、CRTディスプレイ12に「印刷」のダイアログボックス(図示せず)が表示されるが、ここで「OK」のボタンがクリックされるのを受けて、アプリケーションプログラムは仮想プリンタドライバ110に対して印刷命令を発行する処理を行なう。なお、この「印刷」のダイアログボックスにおいて「プロパティ」のボタンがクリックされた場合には、仮想プリンタドライバ110に従う処理ルーチンにより、「分散印刷プロパティ」のダイアログボックスを表示させ、キーボード18とマウス20からの入力データを読み取ることで、分散印刷に係わる各種情報を設定する処理を行なっており、その後、印刷命令が発行される。上記印刷命令の発行は、アプリケーションプログラムからオペレーティングシステムを介して行なう構成とすることもできる。
【0071】
アプリケーションプログラム100に従う処理により印刷命令が発行されると、CPU30は、仮想プリンタドライバ110に処理を移して、アプリケーションプログラム100による処理から印刷命令を取り込んだか否かを判別する(ステップS310)。ここで、印刷命令を取り込んでいないと判別されると、ステップS310の判別処理を繰り返し実行して、アプリケーションプログラム100からの印刷命令が取り込まれるのを待つ。一方、ステップS310で印刷命令が取り込まれたと判別されたときには、以下の処理を実行する。
【0072】
CPU30は、まず、プリンタ60,70,80の機種毎に用意される実プリンタドライバ130,140,150から分散印刷ユーティリティ120が取り込んだ各プリンタ60,70,80の性能情報を、分散印刷ユーティリティ120から取り込む(ステップS320)。その後、CPU30は、これら各プリンタ60,70,80の性能情報から最も高いものを抽出して、これを仮想プリンタの性能情報と決定する(ステップS330)。その後、CPU30は、この仮想プリンタの性能情報をアプリケーションプログラム100に送る(ステップS340)。
【0073】
仮想プリンタドライバ110から仮想プリンタの性能情報が送られてくると、CPU30は、アプリケーションプログラム100に処理を移して、その仮想プリンタの性能情報を取り込む(ステップS240)。次いで、CPU30は、その性能情報と、仮想プリンタドライバ110で設定した分散印刷に係わる各種情報のうちの印刷の基本設定に関する情報、用紙設定に関する情報等(プリンタグループと分散形態に関する情報を除く)とに基づいて、ステップS210で作成した画像データを仮想プリンタに適合した印刷データに変換する(ステップS250)。なお、前述したように、この印刷データの変換の処理は、効率的なレンダリング処理を実現するもので、実プリンタドライバにより実現される色変換やハーフトーン等の処理は含まない。その後、この変換後の印刷データを仮想プリンタドライバ110に送る(ステップS260)。CPU30は、ステップS260の処理を終えると、アプリケーションプログラム100の処理ルーチンを終了する。
【0074】
アプリケーションプログラム100から仮想プリンタに適合した印刷データが送られてくると、CPU30は、仮想プリンタドライバ110に処理を移して、その印刷データを取り込む(ステップS350)。続いて、CPU30は、その取り込んだ印刷データを中間印刷データとして、その中間印刷データをHDD41に出力する(ステップS360)。この結果、この中間印刷データをまとめたデータセットが中間印刷ファイルMFとしてHDD41に格納される。CPU30は、ステップS360の処理を終えると、仮想プリンタドライバ110の処理ルーチンを終了する。
【0075】
図11および図12は、分散印刷ユーティリティ120で記述される処理ルーチンを示すフローチャートである。この処理ルーチンは、仮想プリンタドライバ110の処理ルーチンを終了後、起動されるものである。処理が開始されると、図11に示すように、CPU30は、まず、HDD41から中間印刷ファイルMFの中間印刷データを取り込む(ステップS410)。次いで、CPU30は、仮想プリンタドライバ110で設定された各種情報であるプリンタプロパティデータを取り込む(ステップS420)。
【0076】
続いて、CPU30は、各プリンタ60,70,80の実プリンタドライバ130,140,150に対して制御信号を送って、その制御信号を受けた実プリンタドライバ130,140,150から、プリンタ60,70,80の性能についての性能情報を取り込む(ステップS422)。次いで、CPU30は、それら性能情報から各プリンタの用紙領域における上下左右の禁止幅サイズのデータを抽出して、分散先である全てのプリンタ60,70,80のいずれでも印刷可能な共通印刷可能領域を、それら禁止幅サイズのデータに基づいて算出する(ステップS424)。
【0077】
この算出は、各プリンタ60,70,80の用紙領域における上下左右それぞれの禁止幅サイズを比較して最も大きな値を共通印刷禁止領域として、この共通印刷禁止領域を除いた用紙領域上の範囲を共通印刷可能領域とするものである。図14は、この算出の様子を示す説明図である。例えば、図示するように、プリンタ60の禁止幅サイズが、左=4mm、右=5mm、上=3mm、下=3mmであり、プリンタ70とプリンタ80の禁止幅サイズが、左=3mm、右=8mm、上=3mm、下=8mmである場合には、共通印刷禁止領域は、左=4mm、右=8mm、上=3mm、下=8mmとなり、この印刷禁止領域を除いた用紙領域P上の領域(図中のハッチング部分)が共通印刷可能領域と求められる。なお、このステップS424が、上述した印刷可能領域算出部124aに相当する。
【0078】
続いて、CPU30は、中間印刷データで定められるマージンを、ステップS424で算出した共通印刷可能領域に基づいて補正する処理を行なう(ステップS426)。ここでマージンとは、アプリケーションプログラム100において印刷データを作成する際に、作業者によって[ページ設定]のダイアログボックスから指定された上下左右の余白のサイズである。ステップS426では、このマージンが上記共通印刷可能領域の外側にある場合には、そのマージンの値を共通印刷可能領域と一致する大きさに補正する処理を行なう。例えば、共通印刷可能領域が図14で例示した大きさであり、アプリケーションで設定された上下左右のマージンの値が全て5mmである場合には、上下左右の各マージンの値は、5mm、8mm、5mm、8mmに補正される。なお、このステップS426が、上述した領域適合部124bに相当する。
【0079】
続いて、CPU30は、ステップS420で取り込んだプリンタプロパティデータに含まれるプリンタグループに関する情報と分散形態に関する情報に基づいて、ステップS426でマージン補正した中間印刷データの割り振りを決定する処理を行なう(ステップS430)。この割り振りは、中間印刷データを構成する各ページをプリンタグループに属する各プリンタ60,70,80に対してどのように割り振るかを定めるものである。即ち、「分散印刷プロパティ」のダイアログボックスWN2で設定した分散形態が実現されるように(即ち、「分散設定」のカードCD1の分散形態表示欄ddに表示された図8に例示した分散形態が実現されるように)、中間印刷データを構成する各ページをどのように各プリンタ60,70,80用に割り振るかを定めている。こうして定めた各ページについてのプリンタの出力先を示すデータは出力先リストデータとしてRAM32に記憶する。
【0080】
図13は、その出力先リストデータの一例を示す説明図である。図示の例は、3ページから構成される文書を3台のプリンタ60,70,80に1部ずつ印刷する場合を示している。図示するように、3台のプリンタ60,70,80に対して1ページから3ページまでの各ページがそれぞれ、印刷するページ番号として定められる。
【0081】
ステップS430で各ページの出力先の割り振りが決まると、次いで、この割り振りに従って実際に印刷がなされるように、以下の処理を実行する。まず、図12に示すように、CPU30は、印刷の対象となるプリンタを示すプリンタカウンタC1を値1にセットする(ステップS440)。ここで、プリンタカウンタC1は、値1のとき1台目のプリンタ60を、値2のとき2台目のプリンタ70を、値3のとき3台目のプリンタ70というように分散先の各プリンタを示すものとする。
【0082】
次いで、CPU30は、プリンタカウンタC1の値に対応するプリンタに対して設定変更を指示する処理を行なう(ステップS450)。この処理は、印刷しようとするプリンタに対してプリンタドライバを介して印刷の用意を促すもので、上記ステップS420で取り込んだプリンタプロパティデータに含まれる印刷の基本設定に関する情報と用紙設定に関する情報のうちから必要な設定情報をプリンタドライバに対して指示を行なう。例えば、用紙の種類は「専用光沢紙」であるということをプリンタドライバに知らせることで、プリンタに対してその用紙に適した印刷が可能な状態となるように定める。
【0083】
続いて、CPU30は、印刷の対象となるページ数を示すページカウンタC2を値1にセットする(ステップS460)。その後、CPU30は、ステップS430で求めた出力先リストデータに、プリンタカウンタC1およびページカウンタC2で特定されるページが含まれるか否かを判別する(ステップS470)。ここで、出力先リストデータに含まれると判別されると、以下の処理を行なう。まず、プリンタカウンタC1の値に対応するプリンタに対して印刷を実行させるべく、そのプリンタの実プリンタドライバ130(140,150)に対して出力命令を発行する(ステップS480)。その出力命令の発行を受けた実プリンタドライバ130(140,150)からは、プリンタ60(70,80)の性能についての性能情報が返送されてくることから、次いで、CPU30は、その性能情報を取り込む(ステップS490)。
【0084】
続いて、その性能情報と、ステップS420で取り込んだプロパティデータに含まれる印刷の基本設定に関する情報、用紙設定に関する情報等(プリンタグループと分散形態に関する情報を除く)とに基づいて、プリンタカウンタC1およびページカウンタC2で特定されるページについての最終印刷データを作成する処理を行なう(ステップS500)。詳しくは、ステップS426でマージン補正をした中間印刷データの中からページカウンタC2の値に対応したページのページデータを抽出し、この抽出したページデータを、上記性能情報、印刷の基本設定に関する情報および用紙設定に関する情報等に基づいて、プリンタカウンタC1の値に対応したプリンタ60(70,80)に適合したデータに変換することにより、最終印刷データを作成する。なお、ステップS426で中間印刷データをマージン補正したことにより、このステップS500で作成される最終印刷データの各ページの印刷範囲は、各プリンタ60,70,80のいずれでも印刷可能な共通印刷可能領域をはみ出すことのないものとなっている。
【0085】
その後、CPU30は、その最終印刷データをプリンタカウンタC1の値に対応したプリンタ60(70,80)の実プリンタドライバ130(140,150)に出力する(ステップS510)。実プリンタドライバ130,140,150では、前述したように、仮想プリンタドライバでは実施されなかった各プリンタに対応した色変換やハーフトーン等の処理を最終印刷データに施して、その最終印刷データを各プリンタ60,70,80に送信する。
【0086】
なお、ステップS480ないしS510で印刷を実行させる前に、実プリンタドライバ130,140,150からの信号に基づいて各プリンタ60,70,80の状態を監視する処理を行ない、この監視結果が、出力先のプリンタが混み合っていたりエラー状態にあるといったエラー状態にあるというものであるときには、その出力先へのプリンタについては出力先を変更したり、出力先を中止したりする処理を行なうよう構成することもできる。
【0087】
その後、CPU30は、ページカウンタC2の値を1だけインクリメントする(ステップS520)。なお、ステップS470で否定判別されたときには、ステップS480ないしS510を読み飛ばして直ちにステップS520に進む。その後、CPU30は、ページカウンタC2の値が最終ページを示す値LC2を超えたか否かを判別する(ステップS530)。ここで、最終ページを示す値LC2を超えていないと判別されると、処理をステップS470に戻して、上記値1を増加したページについての最終印刷データの作成および出力の処理を行なう。一方、ステップS530でページカウンタC2の値が最終ページを示す値LC2を超えたと判別されたときには、CPU30は、プリンタカウンタC1の値を1だけインクリメントして(ステップS540)、そのプリンタカウンタC1の値が最後のプリンタを示す値LC1を超えたか否かを判別する(ステップS550)。ここで、最後のプリンタを示す値LC1を超えていないと判別されると、処理をステップS450に戻して、上記値1を増加したプリンタカウンタC1で示される次のプリンタ70(80,60)についての各ページの最終印刷データの作成および出力の処理を行なう。一方、ステップS550でプリンタカウンタC1の値が最終ページを示す値LC1を超えたと判別されたときには、全てのプリンタについての印刷を要する全てのページの最終印刷データの作成・出力が終了したとして、「エンド」に抜けて、分散印刷ユーティリティの処理ルーチンを終了する。
【0088】
なお、この分散印刷ユーティリティの処理ルーチンは、前述したように、1ページから最終ページまでの最終印刷データの作成および出力の処理を第1のプリンタから最終のプリンタまで各プリンタ単位で順に行なうよう記述されているが、これはフローチャートの記載上の便宜のためにこのように記述されたものであり、実際は、1ページから最終ページまでの最終印刷データの作成および出力の処理を各プリンタ毎に時分割によりマクロ的に並行処理されるよう構成されている。
【0089】
図15は、以上のように構成されたコンピュータシステムによって分散印刷が行なわれる手順を、従来例と比較しつつ示すタイミングチャートである。図示の例は、3ページから構成される文書を3台のプリンタ60,70,80に1部ずつ印刷する場合についてが示されている。図示するように、この実施例では、最初、中間印刷データの作成がなされ(▲1▼)、次いで、その中間印刷データの1ページ目のページデータが、並行処理により、プリンタ60用、プリンタ70用、プリンタ80用と順に各プリンタに適合するようにデータ変換される(▲2▼、▲3▼、▲4▼)。なお、プリンタ60用に変換されたデータ(最終印刷データ)のプリンタ60への送信の処理は、次のプリンタ70用へのデータ変換と並列に行なわれており、同様に、プリンタ70への送信の処理もプリンタ80への送信も次の処理と並列に行なわれる。次いで、中間印刷データの2ページ目のページデータが、並行処理により、プリンタ60用、プリンタ70用、プリンタ80用と順に各プリンタに適合するようにデータ変換され(▲5▼、▲6▼、▲7▼)、続いて、中間印刷データの3ページ目のページデータが、並行処理により、プリンタ60用、プリンタ70用、プリンタ80用と順に各プリンタに適合するようにデータ変換される(▲8▼、▲9▼、○10)。こうして全ての印刷が終了する。
【0090】
これに対して、従来例では、まず、1ページ目のページデータを1台目のプリンタAに適合するようにデータ変換する処理が行なわれ、その後、その変換されたデータをプリンタAに送信する処理が行なわれる。次いで、2ページ目のページデータを1台目のプリンタAに適合するようにデータ変換する処理が行なわれ、その後、その変換されたデータをプリンタAに送信する処理が行なわれる。続いて、3ページ目のページデータを1台目のプリンタAに適合するようにデータ変換する処理が行なわれ、その後、その変換されたデータをプリンタAに適合するように送信する処理が行なわれる。さらにその後、2台目のプリンタBについても、1台目のプリンタAと同様に、1ページ目、2ページ目、3ページ目と順に、データ変換およびプリンタへの送信が行なわれる。その後、3台目のプリンタCについても、1台目のプリンタAと同様に、1ページ目、2ページ目、3ページ目と順に、データ変換およびプリンタへの送信が行なわれる。
【0091】
したがって、この実施例では、データ変換の処理とプリンタへの送信の処理とが並列に行なわれていることから、従来例と比較して、印刷に要する全体の時間を短縮することができるという効果を奏する。
【0092】
また、この実施例によれば、アプリケーションプログラム100からは仮想プリンタドライバ110に対して一の印刷命令を行なうだけで、中間印刷データを得ることができ、この中間印刷データから各プリンタ60,70,80への分散印刷が自動的に行なわれる。このために、作業者は、アプリケーションプログラム上で[印刷]のコマンドを一度行なえばよく、作業性に優れているという効果を奏する。
【0093】
この実施例では、分散先となる複数のプリンタ60,70,80毎に、用紙領域内の印刷禁止領域を示す禁止幅サイズの情報が取り込まれ、それら情報から、プリンタ60,70,80のいずれのプリンタでも印刷可能な用紙領域内の共通印刷可能領域が算出される。そうして、アプリケーションプログラムからの印刷データは、その共通印刷可能領域に適合させたものとして分配出力される。このために、印刷データは、分散先となる複数のプリンタ60,70,80のいずれにおいても同一の範囲の印刷領域を占めるものとなる。したがって、分散先である複数のプリンタ60,70,80から、印刷領域の大きさ、位置が完全に一致した印刷結果物を得ることができるという効果を奏する。
【0094】
特に、この実施例では、アプリケーションプログラムにより指定されたマージンを上記共通印刷可能領域に基づいて補正するだけで、印刷データをその共通印刷可能領域に適合させている。このため、コンピュータプログラムにおける構成が容易であるという効果を奏する。
【0095】
また、この実施例では、各プリンタ60,70,80毎に設けられたプリンタドライバから上記禁止幅サイズの情報を取り込むように構成されていることから、新たな取り込みの手段を設ける必要もなく、その取り込みが容易である。
【0096】
なお、この実施例では、分散印刷されるプリンタでエラーが発生した場合に他のプリンタでリカバリさせる構成となっていることから、このリカバリ先のプリンタを含めた共通印刷可能領域が得られることになる。したがって、リカバリ先のプリンタを含めて印刷が行なわれる全てのプリンタから、印刷領域の大きさ、位置が完全に一致した印刷結果物を得ることができる。
【0097】
本発明の他の実施形態について、次に説明する。
(1)上記実施例では、分散先の複数のプリンタから用紙領域における禁止幅サイズの情報を取り込んで、それら情報からそれらプリンタに共通の印刷可能領域を求めているが、これに替えて、印刷禁止領域を示す情報として印刷可能な領域を示す情報を取り込んで、それら情報から印刷可能領域を求める構成とすることができる。印刷可能領域は印刷禁止領域の排他的なものであることからこうした構成をとることが可能である。
【0098】
(2)上記実施例では、アプリケーションプログラムにより指定されたマージンを共通印刷可能領域に基づいて補正するだけで、印刷データをその共通印刷可能領域に適合させていたが、これに替えて、実プリンタドライバ130,140,150を用いて最終印刷データを作成するレンダリング処理の段階、すなわち、ステップS500の処理で、最終印刷データの各ページの印刷範囲を、上記共通印刷可能範囲を越えないようなデータ変換を行なう構成とすることもできる。
【0099】
(3)上記実施例では、この発明の分散印刷制御装置として、印刷を行なう1台のコンピュータ10から複数のプリンタ60,70,80に対して直接印刷データを出力する構成としていたが、これに替えて、コンピュータネットワーク90上に、サーバを用意し、サーバ上でプリンタを管理して分散印刷を行なうクライアント/サーバ方式の構成とすることもできる。この構成では、各クライアントに仮想プリンタドライバを内蔵し、サーバに分散印刷ユーティリティを内蔵するようにすればよい。
【0100】
以上、本発明の一実施例を詳述してきたが、本発明は、こうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲において種々なる態様にて実施することができるのは勿論のことである。
【図面の簡単な説明】
【図1】この発明の一実施例を適用するコンピュータシステムのハードウェアの概略構成を示すブロック図である。
【図2】分散印刷処理の全体の様子を概略的に示すブロック図である。
【図3】分散印刷処理に用いられる仮想プリンタドライバ110の処理の様子を示すブロック図である。
【図4】分散印刷処理の一部を実現する分散印刷ユーティリティ120の処理の様子を示すブロック図である。
【図5】「プリンタ」ウィンドウWN1を示す説明図である。
【図6】「分散印刷プロパティ」のダイアログボックスWN2に表示される「分散設定」のカードCD1を示す説明図である。
【図7】データ入力欄id1〜id3の設定の内容によって分散形態表示欄のイラスト画像がどのように変わるかを示す説明図である。
【図8】データ入力欄id4、id5の設定の内容によって分散形態表示欄のイラスト画像がどのように変わるかを示す説明図である。
【図9】「分散印刷プロパティ」のダイアログボックスWN2に表示される「プリンタ」のカードCD2を示す説明図である。
【図10】アプリケーションプログラム100で記述される処理ルーチンと仮想プリンタドライバ110で記述される処理ルーチンを示すフローチャートである。
【図11】分散印刷ユーティリティ120で記述される処理ルーチンの前半部分を示すフローチャートである。
【図12】分散印刷ユーティリティ120で記述される処理ルーチンの後半部分を示すフローチャートである。
【図13】出力先リストデータの一例を示す説明図である。
【図14】用紙領域P内の共通印刷可能領域を算出する様子を示す説明図である。
【図15】この実施例によって分散印刷が行なわれる手順を、従来例と比較しつつ示すタイミングチャートである。
【符号の説明】
10…コンピュータ
12…CRTディスプレイ
14…プリンタ
16…コンピュータ本体
18…キーボード
20…マウス
22…フロッピィディスク
24…フロッピィディスクドライブ
30…CPU
31…ROM
32…RAM
33…表示画像メモリ
34…マウスインタフェース
35…キーボードインタフェース
36…FDC
37…HDC
38…CRTC
39…プリンタインタフェース
40…ネットワーク制御回路
41…HDD
60,70,80…プリンタ
90…コンピュータネットワーク
100…アプリケーションプログラム
110…仮想プリンタドライバ
111…印刷命令受信部
112…性能情報返信部
113…プロパティ設定部
114…性能情報入力部
115…仮想プリンタ性能決定部
116…ユーザインタフェース
117…印刷データ受信部
118…中間印刷データ出力部
119…プロパティデータ出力部
120…分散印刷ユーティリティ
121…中間印刷データ入力部
122…プロパティデータ入力部
123…割り振り決定部
124…出力データ制御部
125…出力命令出力部
126…性能情報入力部
127…最終印刷データ出力部
128…プリンタ監視部
129…性能情報出力部
130,140,150…実プリンタドライバ
IC1〜IC4…アイコン
MF…中間印刷ファイル
PG…ページカウンタ
WN1…ウィンドウ
WN2…「分散印刷プロパティ」のダイアログボックス
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a technique for distributing print data to be printed input from the outside to a plurality of printers, and providing each distributed print data to each printer via a printer driver provided for each printer. .
[0002]
[Prior art]
In recent years, by using a computer network, it has become possible to easily connect a plurality of printers to one information processing apparatus such as a personal computer. In a configuration in which a plurality of printers are connected to such one information processing apparatus, print data created by the information processing apparatus can be distributed and output to each printer, and the overall printing time can be shortened. For example, when three copies of a document created by an application program from an information processing apparatus are to be printed, it is theoretically possible to print one copy on three printers. You can print 3 copies.
[0003]
[Problems to be solved by the invention]
In the above conventional technique, when a plurality of printers as distribution destinations are different models, even if printing is performed on the same size paper, it is not possible to obtain a drawing of the same size print range on the paper. There is a problem that the printed result is slightly irregular. This is because some printers have a print prohibition area on the paper area, and the size varies depending on the model, so that the printable area varies depending on the model. Here, the print-prohibited area corresponds to a non-printable area generated at the lower end or the right end of the paper due to the paper feeding mechanism with respect to the paper.
[0004]
An object of the present invention is to make it possible to obtain a print result in which the size and position of a print area are completely the same from a plurality of printers as distribution destinations.
[0005]
[Means for solving the problems and their functions and effects]
As means for solving at least a part of the problems described above, the following configuration is adopted.
[0006]
The distributed printing control apparatus of the present invention
A distributed printing control apparatus that causes a plurality of connected printers to print out print data from outside,
Printer driver storage means for storing a printer driver provided for each model of the plurality of printers;
A first setting means for setting a plurality of printers as distribution destinations among the plurality of printers as distribution destination printers;
Second setting means for setting paper information relating to paper to be printed;
A plurality of print data distributed for the distribution destination printer while processing external print data based on both information set by the first and second setting means and conforming to the paper information Distribution control means for providing each of the plurality of print data to each distribution destination printer via the printer driver provided for each of the distribution destination printers,
The dispersion control means includes
Information fetching means for fetching information about the print prohibition area in the paper area in each of the distribution destination printers set by the first setting means from each of the stored printer drivers;
Printable area calculating means for calculating a printable area within a paper area that can be printed by any of the distribution destination printers from the information of each printer acquired by the information acquisition means;
By adapting the processing of the print data from the outside to the printable area calculated by the printable area calculation means, the plurality of distributed print data are adapted to the printable area. It is characterized in that it is provided with means for adapting the area to be changed.
[0007]
According to the distributed printing control apparatus having the above-described configuration, the information about the print prohibition area in the paper area to be printed is captured for each of the plurality of printers that are the distribution destinations. The printable area within the paper area that can be printed by any of the printers is calculated. Thus, print data from the outside is distributed and output as being adapted to the printable area. For this reason, the print data occupies the same range of print area in any of the plurality of printers that are the distribution destinations. Therefore, it is possible to obtain a print result in which the sizes and positions of the print areas are completely the same from the plurality of printers that are the distribution destinations. In addition, since the information is taken in from a printer driver provided for each printer model, it is possible to easily take in information on a print prohibited area on a paper area of a size to be printed in each printer.
[0008]
In the distributed printing control apparatus configured as described above, the area adaptation unit includes a margin correction unit that corrects a margin on the paper determined by the print data based on the printable area calculated by the printable area calculation unit. It can be set as the structure provided. According to this configuration, the print data is adapted to the printable area only by correcting the margin on the paper determined by the print data based on the printable area. For this reason, there exists an effect that the structure in a computer program is easy.
[0010]
The distributed printing control method of this invention
A distributed printing control method for distributing print data from outside to a plurality of connected printers,
(G) preparing in advance a printer driver provided for each model of the plurality of printers;
(A) setting a plurality of printers as distribution destinations among the plurality of printers as distribution destination printers;
(B) setting paper information relating to paper to be printed;
(C) Print data from outside is processed based on both information set from step (a) and step (b) and distributed to the destination printer while conforming to the paper information. Creating a plurality of print data, and providing each of the plurality of print data to each distribution destination printer via the printer driver provided for each of the distribution destination printers,
The step (c)
(D) fetching information about the print prohibited area in the paper area in each of the distribution destination printers set in step (a) from each of the prepared printer drivers;
(E) calculating a printable area in a paper area that can be printed by any of the distribution destination printers from the information of each printer captured in step (d);
(F) By adapting the processing of the external print data to the printable area calculated in the step (e), the plurality of distributed print data is adapted to the printable area. The process of turning into things,
It is characterized by having.
[0011]
The computer-readable recording medium of the present invention is
A computer-readable recording medium recording a computer program for distributing print data from outside to a plurality of connected printers,
(A) a function of setting a plurality of printers as distribution destinations among the plurality of printers as distribution destination printers;
(B) a function for setting paper information relating to paper to be printed;
(C) Print data from outside is processed based on both information set from the function (a) and the function (b), and distributed to the destination printer while conforming to the paper information. A function of creating a plurality of print data, and providing each of the plurality of print data to each distribution destination printer via a printer driver provided for each of the distribution destination printers,
The function (c) is:
(D) a function of fetching information about the print prohibited area in the paper area in each of the distribution destination printers set by the function (a) from each printer driver;
(E) a function of calculating a printable area within a paper area that can be printed by any of the distribution destination printers from information of each printer captured by the function (d);
(F) By adapting the processing of the external print data to the printable area calculated in the function (e), the distributed print data is adapted to the printable area. The ability to turn things into things,
The gist is that a computer program provided with is recorded.
[0012]
The distributed printing control method and computer-readable recording medium having the above-described configuration have the same operations and effects as the distributed printing control apparatus of the above invention, and from the plurality of printers that are the distribution destinations, It is possible to obtain a printed result whose position is completely matched.
[0013]
Other aspects of the invention
The present invention includes other aspects as follows. The first mode is a mode as a computer program having the same function as the function of the recording medium of the present invention. The 2nd aspect is an aspect as a program supply apparatus which supplies a computer program via a communication path. In the second aspect, the above-described apparatus and method are realized by placing a computer program on a server or the like on a computer network, downloading a necessary program to a computer via a communication path, and executing the program. Can do.
[0014]
DETAILED DESCRIPTION OF THE INVENTION
In order to further clarify the configuration and operation of the present invention described above, embodiments of the present invention will be described based on examples.
[0015]
1. 1 is a block diagram showing a schematic hardware configuration of a computer system to which one embodiment of the present invention is applied. As shown in the figure, the computer system of this embodiment includes a computer 10, in which a plurality of printers 70, 80,... Having substantially computer functions are constructed by a local area network (LAN). Connected via a computer network 90. The computer network 90 can be replaced with various networks such as the Internet, an intranet, and a wide area network (WAN) instead of the LAN.
[0016]
A CRT display 12 as a peripheral device is connected to the computer 10, and another printer 60 is connected locally. The computer 10 also includes a computer main body 16, a keyboard 18, and a mouse 20. A floppy disk drive 24 for reading the contents of the floppy disk 22 is mounted on the computer main body 16.
[0017]
The computer main body 16 includes a ROM 31, a RAM 32, a display image memory 33, a mouse interface 34, a keyboard interface 35, an FDC 36, an HDC 37, a CRTC 38, a printer interface 39, and a network, which are mutually connected by a bus with a CPU 30 as a central processing unit. A control circuit 40 is provided.
[0018]
The ROM 31 is a read-only memory that stores various built-in programs and the like. The RAM 32 is a readable / writable memory for storing various data. The display image memory 33 is a memory for storing image data of an image to be displayed on the CRT display 12. The mouse interface 34 is an interface that manages data exchange with the mouse 20. The keyboard interface 35 is an interface that manages key input from the keyboard 18. The FDC 36 is a floppy disk controller that controls the floppy disk drive (FDD) 24. The HDC 37 is a hard disk controller that controls a hard disk drive (HDD) 41. The CRTC 38 is a CRT controller that controls display of an image on the CRT display 12 based on display image data stored in the display image memory 33. The printer interface 39 is an interface that controls output of data to the printer 14 connected locally. The network control circuit 40 includes a network card and is connected to the computer network 90.
[0019]
In this computer system, the operating system is stored in the HDD 41, and when the computer main body 16 is turned on, it is loaded into a predetermined area of the RAM 32 according to the loader written in the boot block of the HDD 41. The actual printer driver prepared for each model of the printers 60, 70, and 80 is stored in the floppy disk 22 in advance, and is installed in the computer 10 from the floppy disk drive 24 by starting a predetermined installation program. The The installed printer driver is stored in the HDD 41, and is installed in the operating system and loaded into a predetermined area of the RAM 32 when the computer 10 is turned on.
[0020]
The computer system also includes a virtual printer driver (virtual printer driver) 110 that defines information about a virtual printer. The virtual printer driver 110 is stored in the floppy disk 22 in advance like the actual printer driver, and is installed in the computer 10 from the floppy disk drive 24 by starting a predetermined installation program. The installed virtual printer driver 110 is stored in the HDD 41. When the computer 10 is turned on, the installed virtual printer driver 110 is incorporated in the operating system and loaded into a predetermined area of the RAM 32. Note that the computer program of the virtual printer driver 110 is stored in another portable recording medium (portable recording medium) such as a CD-ROM, a magneto-optical disk, or an IC card in place of the computer program stored in the floppy disk 22. It is good also as a structure. The computer program is obtained by downloading program data provided via a computer network from a specific server connected to an external computer network (for example, the Internet) and transferring the program data to the RAM 32 or the HDD 41. You can also
[0021]
The printers 60, 70, and 80 are so-called laser printers that form an image by applying laser light to a drum, develop the image with toner, and transfer the image onto a sheet. As the printers 60, 70, 80, various printers such as an ink jet printer and a thermal transfer printer can be applied. Here, it is assumed that the printers 60, 70, and 80 are different models.
[0022]
2. In general, according to the computer system having such a configuration, print data to be printed is created by the computer main body 16, and the printers 60, 70, and 80 connected to the computer main body 16 are used to generate print data to be printed. A distributed printing process is performed for printing in a distributed manner. The state of such distributed printing processing will be described in detail below.
[0023]
FIG. 2 is a block diagram schematically showing the overall state of the distributed printing process. FIG. 3 is a block diagram showing a state of processing of the virtual printer driver 110 used for distributed printing processing. FIG. 4 is a block diagram showing a processing state of a distributed printing utility program (hereinafter simply referred to as “distributed printing utility”) 120 that realizes a part of the distributed printing processing.
[0024]
As shown in FIG. 2, the application program 100 operating inside the computer main body 16 performs image processing to generate image data, and issues a print command to print the image data. When a print command is issued from the application program 100, the virtual printer driver 110 receives the print command and returns performance information about the virtual printer performance assumed by the virtual printer driver 110 to the application program 100. Specifically, as shown in FIG. 3, the virtual printer driver 110 receives a print command issued from the application program 100 by the print command receiving unit 111 and indicates that the print command has been received. The performance information reply unit 112 received from 111 returns performance information about the performance of the virtual printer to the application program 100.
[0025]
Here, the performance of the virtual printer is the performance of the printer with the highest performance among all the printers that can be distributed. Generally, a high-performance printer performs drawing using a high-level program language. For example, a high-level program language represents a graphic by an advanced drawing command using a mathematical expression or the like, and a low-level program language represents a graphic by a low-level drawing command using a bitmap. Therefore, in this embodiment, the performance of the virtual printer is determined as the performance of the highest printer among all the printers that can be the distribution destination as described above, so that the virtual printer driver 110 follows the high-level program language. Data conversion processing (rendering processing) is possible. That is, as described above, the high-level programming language uses a high-level drawing command, so that the virtual printer driver 110 can realize an efficient rendering process according to the most high-performance printer. ing.
[0026]
A printer that can be a distribution destination is a printer that belongs to a printer group set by the property setting unit 113 among all printers connected to the computer main body 16 locally or via a network. 70 and 80 are applicable.
[0027]
Specifically, the performance information of each printer 60, 70, 80 imported by the distributed printing utility 120 from a printer driver (hereinafter referred to as an actual printer driver) prepared for each model of the printer 60, 70, 80 is used as the performance. The information is input by the information input unit 114, and the virtual printer performance determination unit 115 selects the highest one from the performance information of each of the printers 60, 70, and 80 and uses this as the virtual printer performance information. The performance information reply unit 112 returns the performance information of the virtual printer to the application program 100.
[0028]
The performance information determined by the virtual printer driver 110 is selected from the performance information of each of the printers 60, 70, and 80, instead of the configuration having the highest performance of the printer as in this embodiment. You can also Further, it may be predetermined performance information that does not depend on the performance information of each printer 60, 70, 80.
[0029]
Also, the virtual printer driver 110 sets and stores various information for printing by operating the user interface 116 by the property setting unit 113, and some information among the various information for printing is stored in the above-described manner. It returns to the application program 100 via the performance information reply part 112 with performance information. Various types of information for printing include basic settings for printing such as print quality, color correction, and halftone type, information regarding paper settings such as paper size and printing direction, and printers that specify printers that can be distributed There are information on groups, information on distributed forms in the case of distributed printing, and the like, but here, information other than information on printer groups and distributed forms is sent to the application program 100.
[0030]
The application program 100 receives the performance information and the information, converts the generated image data into print data suitable for a printer (here, a virtual printer) based on the performance information and the information, and after this conversion Are sent to the virtual printer driver 110. This print data conversion process realizes efficient rendering processing as described above, and color conversion and halftone processing realized by the actual printer driver are not performed here.
[0031]
As shown in FIG. 2, the virtual printer driver 110 temporarily stores print data sent from the application program 100 as intermediate print data and a data set in which the intermediate print data is collected in the HDD 41 as an intermediate print file MF. Specifically, as shown in FIG. 3, the print data received from the application program 100 is received by the print data receiving unit 117, and then the print data is used as intermediate print data and the intermediate print data is collected. The set is output to the HDD 41 by the intermediate print data output unit 118. The intermediate print data in the intermediate print file MF is then read by the distributed printing utility 120. The intermediate print file MF can be configured to be stored in the RAM 32 in place of the HDD 41, or can be stored in the floppy disk 22, and can also be another external storage device. The virtual printer driver 110 also performs processing for sending various information set by the property setting unit 113 to the distributed printing utility 120 via the property data output unit 119 as printer property data.
[0032]
As shown in FIG. 2, the distributed printing utility 120 receives intermediate print data and printer property data constituting the intermediate print file MF, and receives the intermediate print data from the printer group included in the printer property data and information regarding the distribution form. Are distributed to each printer 60, 70, 80 and sent to actual printer drivers 130, 140, 150 provided corresponding to each printer 60, 70, 80. Such processing by the distributed printing utility 120 will be described in detail below.
[0033]
As shown in FIG. 4, the distributed printing utility 120 first takes in the intermediate print data constituting the intermediate print file MF by the intermediate print data input unit 121 and sends it from the virtual printer driver 110 by the property data input unit 122. Received printer property data. Next, the allocation determining unit 123 determines the allocation of the intermediate print data based on the information regarding the printer group and the distribution form included in the printer property data. Here, the allocation is to divide the intermediate print data into pages, and to determine the pages each printer 60, 70, 80 belonging to the printer group takes over.
[0034]
The allocation information determined in this way is sent to the output data control unit 124. The output data control unit 124 distributes the intermediate print data fetched by the intermediate print data input unit 121 to the actual printer drivers 130, 140, 150 of the printers 60, 70, 80 based on the allocation information. Output each. The data output to the actual printer drivers 130, 140, 150 is specifically performed through the following operations.
[0035]
First, the printer setting unit 125 performs a process of instructing a setting change via the printer driver to the assigned printer. Next, an output command is issued by the output command output unit 126, and performance information about the performance of the printers 60, 70, 80 returned from the actual printer drivers 130, 140, 150 that have received the output command is obtained. Received by the performance information input unit 127. The performance information received from the actual printer drivers 130, 140, 150 indicates the performance of the printers 60, 70, 80 corresponding to the actual printer drivers 130, 140, 150. This includes information such as the prohibited width size indicating the prohibited area and the possibility of double-sided printing. Here, the forbidden width size refers to the four directions of the top, bottom, left, and right sides of the paper. Generally, in a printer, there is a print prohibition area where printing is not possible due to various reasons such as the roller of the paper feed mechanism coming off the paper at the edge of the paper. The size of such a print prohibition area differs depending on the model of each printer 60, 70, 80. The performance information input unit 127 receives such various information from the actual printer drivers 130, 140, and 150.
[0036]
The output data control unit 124 receives the performance information received from the performance information input unit 127, information about basic print settings included in the printer property data received from the property data input unit 122, information about paper settings, and the like (printer group and distribution). The page to which the intermediate print data is to be allocated is converted into data suitable for the printers 60, 70, and 80 to be allocated. The output data control unit 124 includes a printable area calculation unit 124a and an area adaptation unit 124b. The printable area calculation unit 124a can print on any of the allocation destination printers 60, 70, 80 based on the value of the prohibited width size in the performance information captured by the performance information input unit 127. (Hereinafter referred to as a common printable area). When converting the intermediate print data into data suitable for the printers 60, 70, and 80, the area matching unit 124b protrudes the common printable area calculated by the printable area calculation unit 124a from the print area defined by the intermediate print data. In this case, the print area of the intermediate print data is limited to the common printable area.
[0037]
The output data control unit 124 sends the converted print data as final print data to the actual printer drivers 130, 140, and 150 via the final print data output unit 128. The actual printer drivers 130, 140, and 150 perform processing such as color conversion and halftone corresponding to each printer, which was not performed by the virtual printer driver, on the final print data, and use the final print data for each printer 60, 70, To 80.
[0038]
Furthermore, the distributed printing utility 120 includes a printer monitoring unit 129 that monitors the status of each printer 60, 70, 80 based on signals from the actual printer drivers 130, 140, 150. The printer monitoring unit 129 monitors the degree of congestion of each printer and the error state of the printer (including not only a failure but also a paper jam, a paper out state, etc.). The output data control unit 124 receives the signal from the printer monitoring unit 129, and when outputting the distributed print data, the output destination is changed or the output destination is canceled for a printer that is busy or in an error state. Process.
[0039]
Note that the performance information of each printer 60, 70, 80 sent from the actual printer driver 130, 140, 150 is used by the distributed printing utility 120 as described above, and is virtualized via the performance information output unit 12a. Also sent to the printer driver 110.
[0040]
3. The following describes how the operating system changes when the virtual printer driver 110 is installed in the computer 10. In this description, Windows 95 (trademark of Microsoft Corporation) will be described as an example of an operating system on which the virtual printer driver 110 operates.
[0041]
The user (operator) operates the computer 10 as follows to open a dialog box for setting various information for printing on the screen of the CRT display 12. That is, a “printer” window is opened by performing an operation of [start] → [setting] → [printer]. FIG. 5 is an explanatory diagram showing this “printer” window. When the virtual printer driver 110 is installed in the computer 10, as shown in the figure, the “printer” window WN 1 displays the icon IC 1 of the actual printer driver 130, 140, 150 prepared for each model of the printer 60, 70, 80. , IC2 and IC3, an icon IC4 labeled “distributed printing” corresponding to the virtual printer driver 110 is displayed. That is, when the virtual printer driver 110 is installed in the same manner as the actual printer driver, the icon IC4 corresponding to the virtual printer driver 110 is displayed in the “printer” window WN1.
[0042]
Note that a “distributed printing” icon IC4 corresponding to the virtual printer driver 110 on the “printer” window is double-clicked to open a window for the virtual printer driver 110, and then [Printers] → When the [Property] operation is performed, a "distributed printing property" dialog box for setting various information about the virtual printer is displayed. The operator can input various setting information by operating the mouse 20 and the keyboard 18 in accordance with the “distributed printing property” dialog box. The “distributed print property” dialog box corresponds to the user interface 116 described above.
[0043]
4). User Interface FIG. 6 is an explanatory diagram illustrating a dialog box WN2 for “distributed printing properties”. As shown in the figure, in the “distributed printing property” dialog box WN2, two types of cards CD1 and CD2 of “distributed setting” and “printer” are prepared. The “distribution setting” card CD1 is used to set information related to the distribution mode in the case of distributed printing. The “printer” card CD2 is for setting information relating to a printer group that can be a distribution destination, information relating to basic printing settings, information relating to paper settings, and the like. Either one of the cards CD1 and CD2 is selected by the operator by operating the mouse 20, and is displayed in the dialog box WN2. FIG. 6 illustrates a state in which the “distribution setting” card CD1 is displayed. The grouping of the contents of the cards CD1 and CD2 is not limited to the above example, and may be configured to include all the contents with one card, or may be divided into three or more cards more finely. It is good.
[0044]
As shown in the figure, the “distribution setting” card CD1 is provided with three fields fd1, fd2, and fd3 of “document”, “recovery”, and “designated date”. The “document” field fd1 is for setting the print form of the document. The data input field id1 for “number of copies”, the check box id2 for “print in units of copies”, and “combined in units of copies and pages”. Check box id3, a data input field id4 for "how to organize jobs", and a data input field id5 for "separator page". Each data entry field (including check boxes, the same applies hereinafter) id1 to id5 is designed with the following specifications.
[0045]
1) Data entry field id1: “Number of copies”
Enter the number of copies to print. The content set by the application program 100 is input as a default.
2) Check box id2 of “Print by copy”:
When this check box id2 is on, collate printing is performed, and when it is off, stack printing is performed. Here, collate printing is output in units of copies, and each unit is output in page order. Stack printing is output in batches of the same page by the number of copies.
3) Check box id3 of “Group by page, page”:
When the check box id3 is in an on state, a set of the unit or page is prohibited from passing to a plurality of printers. When the check box id3 is in an off state, the set is allowed to pass to a plurality of printers.
[0046]
4) Data input field id4 of “How to organize jobs”:
When the “printer unit” radio button in the data input field id4 is selected, all pages output from one printer are handled as one unit. When this radio button is selected, the shared printers 70 and 80 connected to the network are not mixed with the print results of other users. On the other hand, when the radio button of “unit, page number unit” is selected, a set of the above unit units or page units is treated as one unit. This is used when distributed to the local printer 60 or when there is no problem even if it is mixed with print results of other users.
[0047]
5) Data input field id5 of “separator page”:
The separator page is a page provided at the beginning or end of the group so that it can be discriminated when the print result of another user is mixed in the unit of the group. When the “top” check box is clicked, a separator page is printed at the top position of the group. When the “end” check box is clicked, a separator page is printed at the end position of the group. Note that the name of the document to be printed, the number of copies, the number of pages, the user name, and the like are printed on the separator page.
[0048]
In addition to the data input fields id1 to id5, the “document” field fd1 is provided with a distributed form display field dd representing a distributed form determined by the setting contents of the data input fields id1 to id5. Yes. This distributed form display field dd indicates what kind of distributed form is determined by the setting contents of the data input fields id1 to id5 as an illustration image.
[0049]
Next, how the illustration image of the distributed form display field dd is determined by the setting contents of the data input fields id1 to id5 will be described with reference to FIGS. First, how the illustration image is determined by the data input field id1 of “number of copies”, the check box id2 of “print in units of copies”, and the check box id3 of “collect in units of pages” will be described.
[0050]
FIG. 7 is an explanatory diagram showing how the illustration image in the distributed form display field dd changes depending on the setting contents of the data input field id1 and the two check boxes id2 and id3. In the illustrated table, the column is determined by whether or not printing is performed in units of copies, that is, whether the check box id2 of “printing in units of copies” is in an on state or in an off state, and a row is a section, a page It is determined by whether or not the data is not grouped, that is, whether or not the check box id3 of “group by page, page” is in an off state or an on state. This table is an example when the number of copies set from the “number of copies” data input field id1 is four.
[0051]
In the case of “print in units of copies” and “not grouped in units of pages,” as shown in the cell C11 in the first row and first column in the table, the first printer 60 has The first page of the first part and the second page are then printed, and then the first page of the second part is printed. The second printer 70 has the second page of the second part and the first page of the third part. The page and the second page are printed, and the third printer 80 displays an illustration image indicating that the first page and the second page of the fourth part are printed.
[0052]
In the case of “Do not print in units of copies” and “Do not collect in units of pages and pages”, as shown in the cell C12 in the first row and second column in the table, stack printing is performed. The first printer 60 prints three copies of the first page, and the second printer 70 prints the remaining number of required copies of the first page and two copies of the second page. The third printer 80 Is displayed with an illustration image indicating that the required number of remaining copies of the second part is printed.
[0053]
In the case of “printing in units of copies” and “combining in units of pages and pages”, as shown in the cell C21 in the second row and first column in the table, the first printer 60 is one unit. Is prohibited from passing to a plurality of printers, the first page of the first part to the second page of the second part are printed, and the second printer 70 has the first page of the third part and the second page. Two pages are printed, and the third printer 80 displays an illustration image indicating that the first and second pages of the fourth part are printed.
[0054]
In the case of “do not print in units of copies” and “combine in units of pages and pages”, the first printer 60 has the first printer 60 as shown in the cell C22 in the second row and second column in the table. One page is printed for the required number of copies, and the second printer 70 displays an illustration image indicating that the second page is printed for the required number of copies.
[0055]
Next, how the illustration image determined from the setting contents of the data input fields id1 to id3 changes depending on the data input field id4 of “How to assemble jobs” and the data input field id5 of “separator page” will be described. FIG. 8 is an explanatory diagram showing how the illustration image in the distributed form display field dd is determined by the data input fields id4 and id5. An example of the illustration image shown in FIG. 8 corresponds to the setting contents of the data input fields id4 and id5 when the illustration image is determined as shown in the cell C11 in FIG. 7 by the contents of the data input fields id1 to id3. It also shows how it changes.
[0056]
In the table of FIG. 8, the column is determined depending on which radio button of “unit of printer” or “unit of page number” is selected in the data input field id4 of “how to organize jobs”, and the row is “delimited” It is determined by how both the “start” and “end” check boxes are designated in the data input field id5 of “page”.
[0057]
When the “printer unit” radio button is clicked in the data input field id4 of “job grouping”, as shown in the cell CE11 in the first row and the first column in the table, the cell C11 in FIG. And the illustration image does not change, and all pages printed from one printer are combined. On the other hand, when the “unit, page number unit” radio button is clicked, as shown in the cell CE12 in the first row and the second column, a set of units or pages is grouped, Once divided into a set. Actually, when the “printer unit” radio button is clicked and when the “copy, page number unit” radio button is clicked, the same print result is obtained because there is no separator page.
[0058]
When it is determined that there is a separator page from the data input field id5 of "separator page", as shown in the second, third, and fourth lines in the table, the first line An illustration image is determined in such a way that a separator page (black portion in the figure) is inserted at the head, tail, or both for the grouped sections. The illustration image determined by this table is displayed in the distributed form display field dd.
[0059]
Returning to FIG. 6, the “recovery” field fd <b> 2 is for designating a recovery destination when recovery is performed by another printer when an error occurs in a printer that performs distributed printing. The “recovery” field fd2 is provided with three radio buttons “not recover”, “designate an output destination”, and “automatically select a recovery destination”. When the “Do not recover” radio button is selected, recovery is not performed even if an error occurs in a printer that performs distributed printing. When the “designate output destination” radio button is selected, the output destination input from the data input field of “printer” is set as the recovery destination. When the “automatically select recovery destination” radio button is selected, the printer of the same model as the printer in which the error has occurred is set as the recovery destination. If there is no printer of the same model, a free printer is the recovery destination.
[0060]
The “designated date / time” field fd3 is used to designate the printing time. When the “designated date / time” check box is designated, printing starts at the time entered from the “designated date / time” column. Is done.
[0061]
Next, the “printer” card CD2 displayed in the “distributed printing property” dialog box WN2 will be described with reference to FIG. As illustrated, the “printer” card CD2 is provided with a “printer group” field fd4, a “paper setting” field fd5, and a content display field fd6.
[0062]
A “printer group” field fd4 is used to specify a group of printers to which a document is to be distributed and printed. A “group name” data input field id11, a “printer” display field id12, and a “group setting” field. A button id13 is provided. The “group name” data entry field id11 is for setting the name of the group, and a preset group name is prepared as an option. The “printer” display column id12 displays the printer names belonging to the group set from the “group name” data input column id1. The “group setting” button id 13 opens a new window (not shown) and accepts data input from the operator, thereby adding or deleting options prepared in the data input field id 11 of “group name”. The computer 10 performs distributed printing for all printers belonging to the group designated by the “printer group” field fd4, that is, for each printer displayed in the “printer” display field id12. In other words, among all the printers connected to the computer main body 16 locally or via the computer network 90, only the printer group of the group specified by the “printer group” field fd4 is the distribution destination of printing.
[0063]
A “paper setting” field fd5 is used to set paper and print quality. Data input fields for setting “paper size”, “paper orientation”, “paper type”, “color”, and “resolution”, respectively. id14, id15, id16, and id17 are provided.
[0064]
The “paper size” data input field id14 is used to set the paper size to be used together with the type of paper. For example, “A4 210 × 297 mm”, “A4 width 210 × 297 mm”, “Western envelope 120 × 235”, “Postcard 100 × 147 mm” or the like is prepared as an option. The “paper direction” data input field id15 indicates the paper setting direction in the printer, and “vertical” and “horizontal” can be selected. The “paper type” data input field id 16 is used to set the paper type, and “plain paper”, “super fine paper”, and “exclusive glossy paper” are prepared as options. The “color” data input field id 17 is used to set the type of ink used in the printer 14, and “color” and “monochrome” are prepared as options. The data input field id 18 for “resolution” is for setting the resolution to be printed, and two types of “fast” and “pretty” are prepared as options. Here, “fast” and “clean” indicate, for example, resolutions of 360 × 360 (dot) and 720 × 720 (dot) in this order.
[0065]
The content display field fd6 displays desired data among the contents set from the “printer group” field fd1 and the “paper setting” field fd5.
[0066]
In accordance with the “distributed printing property” dialog box WN 2 configured as described above, the operator operates the mouse 20 and the keyboard 18 to input various setting information to the computer main body 16. Note that, when the data is input, the input data fetching is limited depending on the performance information of the printers 60, 70, and 80. For example, from the performance information of each printer 60, 70, 80, if these printers 60, 70, 80 can only print paper sizes up to A4, the "paper size" in the "distributed printing properties" dialog box WN2 In the data input field id14 of “”, the paper size larger than A4 is excluded from the options, and the input data for the paper size larger than A4 cannot be captured.
[0067]
5. 3 is actually realized by the virtual printer driver 110 which is a computer program and various processes executed by the CPU 30 in accordance with the virtual printer driver 110. ing. Also, each unit 121 to 129 realized by the distributed printing utility 120 shown in FIG. 4 is actually realized by the distributed printing utility 120 which is a computer program and various processes executed by the CPU 30 according to the distributed printing utility 120. ing.
[0068]
Similar to the virtual printer driver 110, the distributed printing utility 120 is stored in the floppy disk 22 in advance, and is installed in the computer 10 from the floppy disk drive 24 by starting a predetermined installation program. The installed distributed printing utility 120 is stored in the HDD 41. When the computer 10 is turned on, it is incorporated into the operating system and loaded into a predetermined area of the RAM 32. Note that the distributed printing utility 120 is replaced with one stored in the floppy disk 22 in the same way as the virtual printer driver 110, and other portable recording media (portable recording medium) such as a CD-ROM, a magneto-optical disk, and an IC card. It is good also as a structure stored in the medium. The distributed printing utility 120 is obtained by downloading program data provided via a computer network from a specific server connected to an external computer network (for example, the Internet) and transferring the program data to the RAM 32 or the HDD 41. It can also be done.
[0069]
FIG. 10 is a flowchart showing a processing routine described by the virtual printer driver 110 together with a processing routine described by the application program 100. As shown in the figure, the CPU 30 of the computer main body 16 first shifts the processing to the application program 100, and performs processing for image processing to create image data (step S210). The application program 100 is a general-purpose application program for creating documents, pictures, etc., and image data is created using functions specific to each application program.
[0070]
Next, the CPU 30 executes a process of issuing a print command for performing distributed printing by executing a [print] command provided in the created application program (step S220). More specifically, when a print command is operated, a “print” dialog box (not shown) is displayed on the CRT display 12. In response to a click on the “OK” button. The application program performs processing for issuing a print command to the virtual printer driver 110. When the “property” button is clicked in the “print” dialog box, the “distributed print property” dialog box is displayed by the processing routine according to the virtual printer driver 110, and the keyboard 18 and the mouse 20 are used. By reading the input data, processing for setting various information related to distributed printing is performed, and then a printing command is issued. The printing command can be issued from an application program via an operating system.
[0071]
When the print command is issued by the process according to the application program 100, the CPU 30 moves the process to the virtual printer driver 110 and determines whether or not the print command is taken from the process by the application program 100 (step S310). If it is determined that the print command has not been fetched, the discrimination process in step S310 is repeatedly executed to wait for the print command from the application program 100 to be fetched. On the other hand, when it is determined in step S310 that the print command has been fetched, the following processing is executed.
[0072]
First, the CPU 30 uses the distributed printing utility 120 to obtain the performance information of each printer 60, 70, 80 fetched by the distributed printing utility 120 from the actual printer drivers 130, 140, 150 prepared for each model of the printer 60, 70, 80. (Step S320). Thereafter, the CPU 30 extracts the highest one from the performance information of each of the printers 60, 70, 80, and determines this as the performance information of the virtual printer (step S330). Thereafter, the CPU 30 sends the performance information of the virtual printer to the application program 100 (step S340).
[0073]
When the performance information of the virtual printer is sent from the virtual printer driver 110, the CPU 30 moves the process to the application program 100 and takes in the performance information of the virtual printer (step S240). Next, the CPU 30 includes the performance information, information related to basic printing settings among various information related to distributed printing set by the virtual printer driver 110, information related to paper settings, and the like (excluding information related to printer groups and distribution forms). Based on the above, the image data created in step S210 is converted into print data suitable for the virtual printer (step S250). As described above, the print data conversion process realizes an efficient rendering process, and does not include processes such as color conversion and halftone realized by an actual printer driver. Thereafter, the converted print data is sent to the virtual printer driver 110 (step S260). CPU30 complete | finishes the process routine of the application program 100, after complete | finishing the process of step S260.
[0074]
When print data suitable for the virtual printer is sent from the application program 100, the CPU 30 shifts the processing to the virtual printer driver 110 and takes in the print data (step S350). Subsequently, the CPU 30 outputs the captured print data as intermediate print data to the HDD 41 (step S360). As a result, a data set in which the intermediate print data is collected is stored in the HDD 41 as the intermediate print file MF. When finishing the process of step S360, the CPU 30 ends the processing routine of the virtual printer driver 110.
[0075]
FIG. 11 and FIG. 12 are flowcharts showing processing routines described by the distributed printing utility 120. This processing routine is started after the processing routine of the virtual printer driver 110 is completed. When the process is started, as shown in FIG. 11, the CPU 30 first takes in the intermediate print data of the intermediate print file MF from the HDD 41 (step S410). Next, the CPU 30 takes in printer property data, which is various information set by the virtual printer driver 110 (step S420).
[0076]
Subsequently, the CPU 30 sends a control signal to the actual printer drivers 130, 140, and 150 of the printers 60, 70, and 80, and receives the control signal from the actual printer drivers 130, 140, and 150, to the printer 60, The performance information about the performances 70 and 80 is fetched (step S422). Next, the CPU 30 extracts, from the performance information, data of prohibited width sizes in the upper, lower, left, and right sides of the paper area of each printer, and a common printable area that can be printed by any of all the printers 60, 70, 80 as the distribution destination Are calculated based on the data of these prohibited width sizes (step S424).
[0077]
This calculation is performed by comparing the prohibited width sizes of the upper, lower, left, and right sides of the paper areas of the printers 60, 70, and 80, and setting the largest value as the common print prohibited area. This is a common printable area. FIG. 14 is an explanatory diagram showing the state of this calculation. For example, as shown in the figure, the forbidden width sizes of the printer 60 are left = 4 mm, right = 5 mm, top = 3 mm, bottom = 3 mm, and the forbidden width sizes of the printer 70 and the printer 80 are left = 3 mm, right = When 8 mm, top = 3 mm, and bottom = 8 mm, the common print prohibition area is left = 4 mm, right = 8 mm, top = 3 mm, bottom = 8 mm, and on the paper area P excluding this print prohibition area An area (hatched portion in the figure) is obtained as a common printable area. This step S424 corresponds to the printable area calculation unit 124a described above.
[0078]
Subsequently, the CPU 30 performs a process of correcting the margin determined by the intermediate print data based on the common printable area calculated in step S424 (step S426). Here, the margin is the size of the top, bottom, left, and right margins designated by the operator from the [Page Setup] dialog box when creating print data in the application program 100. In step S426, if the margin is outside the common printable area, the margin value is corrected to a size that matches the common printable area. For example, when the common printable area is the size illustrated in FIG. 14 and the values of the upper, lower, left, and right margins set by the application are all 5 mm, the values of the upper, lower, left, and right margins are 5 mm, 8 mm, It is corrected to 5 mm and 8 mm. Note that step S426 corresponds to the above-described region matching unit 124b.
[0079]
Subsequently, the CPU 30 performs a process of determining the allocation of the intermediate print data subjected to the margin correction in step S426 based on the information on the printer group and the information on the distribution form included in the printer property data captured in step S420 (step S430). ). This allocation determines how each page constituting the intermediate print data is allocated to each printer 60, 70, 80 belonging to the printer group. That is, the distribution form illustrated in FIG. 8 displayed in the distribution form display column dd of the “distribution setting” card CD1 is realized so that the distribution form set in the “distributed print property” dialog box WN2 is realized. It defines how each page making up the intermediate print data is allocated to each printer 60, 70, 80, as implemented. Data indicating the output destination of the printer for each page determined in this manner is stored in the RAM 32 as output destination list data.
[0080]
FIG. 13 is an explanatory diagram showing an example of the output destination list data. The illustrated example shows a case where a document composed of three pages is printed one by one on three printers 60, 70, 80. As shown in the figure, each page from page 1 to page 3 is determined as a page number to be printed for each of the three printers 60, 70, 80.
[0081]
When the allocation of the output destination of each page is determined in step S430, the following processing is then executed so that printing is actually performed according to this allocation. First, as shown in FIG. 12, the CPU 30 sets a printer counter C1 indicating a printer to be printed to a value 1 (step S440). Here, the printer counter C1 indicates that each printer at the distribution destination is a first printer 60 when the value is 1, a second printer 70 when the value is 2, and a third printer 70 when the value is 3. It shall be shown.
[0082]
Next, the CPU 30 performs processing for instructing the printer corresponding to the value of the printer counter C1 to change the setting (step S450). This process prompts the printer to be printed to prepare for printing via the printer driver. Among the information on the basic print settings and the paper settings included in the printer property data fetched in step S420, To instruct the printer driver of necessary setting information. For example, by notifying the printer driver that the paper type is “exclusive glossy paper”, the printer is determined to be in a state where printing suitable for the paper is possible.
[0083]
Subsequently, the CPU 30 sets a page counter C2 indicating the number of pages to be printed to a value 1 (step S460). Thereafter, the CPU 30 determines whether or not the page specified by the printer counter C1 and the page counter C2 is included in the output destination list data obtained in step S430 (step S470). If it is determined that the data is included in the output destination list data, the following processing is performed. First, in order to cause the printer corresponding to the value of the printer counter C1 to execute printing, an output command is issued to the actual printer driver 130 (140, 150) of the printer (step S480). The performance information about the performance of the printer 60 (70, 80) is returned from the actual printer driver 130 (140, 150) that has received the output command, so the CPU 30 then stores the performance information. Capture (step S490).
[0084]
Subsequently, based on the performance information, information on basic settings for printing, information on paper settings, etc. (excluding information on printer groups and distribution forms) included in the property data captured in step S420, the printer counter C1 and A process of creating final print data for the page specified by the page counter C2 is performed (step S500). Specifically, page data of a page corresponding to the value of the page counter C2 is extracted from the intermediate print data that has been margin-corrected in step S426, and the extracted page data is used as the performance information, information about basic printing settings, and The final print data is created by converting the data into the data suitable for the printer 60 (70, 80) corresponding to the value of the printer counter C1 based on the information regarding the paper setting. Note that the margin of the intermediate print data is corrected in step S426, so that the print range of each page of the final print data created in step S500 is a common printable area that can be printed by any of the printers 60, 70, and 80. It is something that does not protrude.
[0085]
Thereafter, the CPU 30 outputs the final print data to the actual printer driver 130 (140, 150) of the printer 60 (70, 80) corresponding to the value of the printer counter C1 (step S510). As described above, the actual printer drivers 130, 140, and 150 perform processing such as color conversion and halftone corresponding to each printer that was not performed by the virtual printer driver on the final print data, and the final print data Transmit to the printer 60, 70, 80.
[0086]
Before executing printing in steps S480 to S510, processing for monitoring the status of each printer 60, 70, 80 is performed based on signals from the actual printer drivers 130, 140, 150, and the monitoring result is output. When the destination printer is busy or in an error state, it is configured to perform processing to change the output destination or cancel the output destination for the printer to that output destination. You can also
[0087]
Thereafter, the CPU 30 increments the value of the page counter C2 by 1 (step S520). If a negative determination is made in step S470, steps S480 to S510 are skipped, and the process immediately proceeds to step S520. Thereafter, the CPU 30 determines whether or not the value of the page counter C2 exceeds a value LC2 indicating the last page (step S530). If it is determined that the value LC2 indicating the last page has not been exceeded, the process returns to step S470 to create and output final print data for the page having the value 1 increased. On the other hand, when it is determined in step S530 that the value of the page counter C2 has exceeded the value LC2 indicating the last page, the CPU 30 increments the value of the printer counter C1 by 1 (step S540), and the value of the printer counter C1. It is determined whether or not exceeds a value LC1 indicating the last printer (step S550). If it is determined that the value LC1 indicating the last printer is not exceeded, the process returns to step S450, and the next printer 70 (80, 60) indicated by the printer counter C1 incremented by the value 1 is processed. The final print data for each page is created and output. On the other hand, if it is determined in step S550 that the value of the printer counter C1 has exceeded the value LC1 indicating the last page, it is assumed that the creation and output of the final print data for all pages that require printing for all the printers is completed. Exit to “END” and end the processing routine of the distributed printing utility.
[0088]
As described above, the processing routine of this distributed printing utility is described so that the process of creating and outputting the final print data from the first page to the last page is sequentially performed for each printer from the first printer to the final printer. However, this is described for the convenience of description of the flowchart, and in actuality, the final print data generation and output processing from one page to the last page is performed for each printer. It is configured to perform parallel processing in a macro manner by division.
[0089]
FIG. 15 is a timing chart showing a procedure for performing distributed printing by the computer system configured as described above, in comparison with a conventional example. The illustrated example shows a case where a document composed of three pages is printed one by one on three printers 60, 70, 80. As shown in the figure, in this embodiment, intermediate print data is first created ((1)), and then page data of the first page of the intermediate print data is processed for the printer 60 and the printer 70 by parallel processing. And data for the printer 80 are sequentially converted so as to be suitable for each printer ((2), (3), (4)). The process of transmitting the data converted for the printer 60 (final print data) to the printer 60 is performed in parallel with the data conversion for the next printer 70, and similarly to the printer 70. This process and the transmission to the printer 80 are performed in parallel with the next process. Next, the page data of the second page of the intermediate print data is converted into data for the printer 60, the printer 70, and the printer 80 in order in accordance with the parallel processing ((5), (6), (7) Subsequently, the page data of the third page of the intermediate print data is converted by the parallel processing so as to be adapted to each printer in order of the printer 60, the printer 70, and the printer 80 (▲ 8 ▼, {9}, ○ 10). Thus, all printing is completed.
[0090]
On the other hand, in the conventional example, the page data of the first page is first subjected to data conversion so as to be compatible with the first printer A, and then the converted data is transmitted to the printer A. Processing is performed. Next, a process of converting the page data of the second page so as to be compatible with the first printer A is performed, and then a process of transmitting the converted data to the printer A is performed. Subsequently, a process of converting the page data of the third page so as to be compatible with the first printer A is performed, and then a process of transmitting the converted data so as to be compatible with the printer A is performed. . Further, similarly to the first printer A, the second printer B performs data conversion and transmission to the printer in the order of the first page, the second page, and the third page. Thereafter, the third printer C performs data conversion and transmission to the printer in the order of the first page, the second page, and the third page in the same manner as the first printer A.
[0091]
Therefore, in this embodiment, since the data conversion process and the transmission process to the printer are performed in parallel, the overall time required for printing can be reduced as compared with the conventional example. Play.
[0092]
Further, according to this embodiment, the intermediate print data can be obtained from the application program 100 only by issuing a single print command to the virtual printer driver 110, and each printer 60, 70,. Distributed printing to 80 is automatically performed. For this reason, the worker only has to execute the [Print] command once on the application program, and the workability is excellent.
[0093]
In this embodiment, for each of a plurality of printers 60, 70, 80 serving as distribution destinations, information on the prohibited width size indicating the print prohibited area in the paper area is captured, and any of the printers 60, 70, 80 is taken from the information. The common printable area within the paper area that can be printed by this printer is calculated. Thus, the print data from the application program is distributed and output as being adapted to the common printable area. For this reason, the print data occupies the same range of print area in any of the plurality of printers 60, 70, 80 serving as distribution destinations. Therefore, it is possible to obtain a print result in which the sizes and positions of the print areas are completely the same from the plurality of printers 60, 70, and 80 that are the distribution destinations.
[0094]
In particular, in this embodiment, the print data is adapted to the common printable area only by correcting the margin designated by the application program based on the common printable area. For this reason, there exists an effect that the structure in a computer program is easy.
[0095]
In this embodiment, since the information on the prohibited width size is fetched from the printer driver provided for each printer 60, 70, 80, there is no need to provide a new fetching means. Its uptake is easy.
[0096]
In this embodiment, when an error occurs in a printer that performs distributed printing, the recovery is performed by another printer. Therefore, a common printable area including the recovery destination printer can be obtained. Become. Therefore, it is possible to obtain a print result in which the size and position of the print area are completely the same from all printers that perform printing including the recovery destination printer.
[0097]
Another embodiment of the present invention will be described next.
(1) In the above-described embodiment, information on the prohibited width size in the paper area is obtained from a plurality of distribution destination printers, and a printable area common to the printers is obtained from the information. It is possible to obtain information indicating a printable area as information indicating the prohibited area and obtain a printable area from the information. Since the printable area is exclusive of the print prohibited area, such a configuration is possible.
[0098]
(2) In the above embodiment, the print data is adapted to the common printable area only by correcting the margin designated by the application program based on the common printable area. Data that does not exceed the common printable range for the print range of each page of the final print data in the stage of rendering processing for creating the final print data using the drivers 130, 140, 150, that is, the processing of step S500. It is also possible to adopt a configuration for performing conversion.
[0099]
(3) In the above embodiment, the distributed printing control apparatus of the present invention is configured to directly output print data from a single computer 10 for printing to a plurality of printers 60, 70, 80. Alternatively, a client / server configuration may be employed in which a server is prepared on the computer network 90, and printers are managed on the server to perform distributed printing. In this configuration, a virtual printer driver may be built in each client, and a distributed printing utility may be built in the server.
[0100]
As mentioned above, although one Example of this invention was explained in full detail, this invention is not limited at all to such an Example, In the range which does not deviate from the summary of this invention, it can implement in various aspects. Of course.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a schematic configuration of hardware of a computer system to which an embodiment of the present invention is applied.
FIG. 2 is a block diagram schematically showing an overall state of distributed printing processing.
FIG. 3 is a block diagram showing a state of processing of a virtual printer driver 110 used for distributed printing processing.
FIG. 4 is a block diagram illustrating a processing state of a distributed printing utility 120 that implements part of the distributed printing processing.
FIG. 5 is an explanatory diagram showing a “printer” window WN1.
FIG. 6 is an explanatory diagram showing a “distribution setting” card CD1 displayed in a “distribution print property” dialog box WN2.
FIG. 7 is an explanatory diagram showing how the illustration image in the distributed form display field changes depending on the setting contents of the data input fields id1 to id3.
FIG. 8 is an explanatory diagram showing how the illustration image in the distributed form display field changes depending on the setting contents of the data input fields id4 and id5.
FIG. 9 is an explanatory diagram showing a “printer” card CD2 displayed in a “distributed printing property” dialog box WN2.
10 is a flowchart showing a processing routine described by an application program 100 and a processing routine described by a virtual printer driver 110. FIG.
FIG. 11 is a flowchart showing the first half of a processing routine described by the distributed printing utility 120;
12 is a flowchart showing the latter half of the processing routine described by the distributed printing utility 120. FIG.
FIG. 13 is an explanatory diagram of an example of output destination list data.
FIG. 14 is an explanatory diagram showing a state in which a common printable area in the paper area P is calculated.
FIG. 15 is a timing chart showing a procedure for performing distributed printing according to this embodiment, as compared with a conventional example.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 10 ... Computer 12 ... CRT display 14 ... Printer 16 ... Computer main body 18 ... Keyboard 20 ... Mouse 22 ... Floppy disk 24 ... Floppy disk drive 30 ... CPU
31 ... ROM
32 ... RAM
33 ... Display image memory 34 ... Mouse interface 35 ... Keyboard interface 36 ... FDC
37 ... HDC
38 ... CRTC
39 ... Printer interface 40 ... Network control circuit 41 ... HDD
60, 70, 80 ... printer 90 ... computer network 100 ... application program 110 ... virtual printer driver 111 ... print command reception unit 112 ... performance information return unit 113 ... property setting unit 114 ... performance information input unit 115 ... virtual printer performance determination unit 116: User interface 117 ... Print data receiving unit 118 ... Intermediate print data output unit 119 ... Property data output unit 120 ... Distributed print utility 121 ... Intermediate print data input unit 122 ... Property data input unit 123 ... Allocation determination unit 124 ... Output data Control unit 125 ... Output command output unit 126 ... Performance information input unit 127 ... Final print data output unit 128 ... Printer monitoring unit 129 ... Performance information output units 130, 140, 150 ... Actual printer drivers IC1 to IC4 ... Icon M ... intermediate print file PG ... page counter WN1 ... window WN2 ... dialog box of the "Distributed Print Properties"

Claims (7)

接続された複数のプリンタに、外部からの印刷データを分散して印刷させる分散印刷制御装置であって、
前記複数のプリンタの機種毎に設けられたプリンタドライバを記憶するプリンタドライバ記憶手段と、
前記複数のプリンタの中から、分散先となる複数のプリンタを分散先プリンタとして設定する第1の設定手段と、
印刷を行なう用紙に関わる用紙情報を設定する第2の設定手段と、
外部からの印刷データを、前記第1および第2の設定手段から設定された双方の情報に基づいて加工して、前記用紙情報に適合しつつ前記分散先プリンタ用として分配された複数の印刷データを作成し、該複数の印刷データの各々を、前記分散先プリンタの各々について設けられた前記プリンタドライバを介して各分散先プリンタに提供する分散制御手段と
を備えるともに、
前記分散制御手段は、
前記第1の設定手段により設定された分散先プリンタの各々における用紙領域内の印刷禁止領域についての情報を、前記記憶された各プリンタドライバから取り込む情報取込手段と、
該情報取込手段により取り込んだ各プリンタの情報から、前記分散先プリンタのいずれのプリンタでも印刷可能な用紙領域内の印刷可能領域を算出する印刷可能領域算出手段と、
前記外部からの印刷データの加工を前記印刷可能領域算出手段にて算出された印刷可能領域に合わせたものとすることにより、前記分配された複数の印刷データを前記印刷可能領域に適合したものに変える領域適合手段と
を備えた分散印刷制御装置。
A distributed printing control apparatus that causes a plurality of connected printers to print out print data from outside,
Printer driver storage means for storing a printer driver provided for each model of the plurality of printers;
A first setting means for setting a plurality of printers as distribution destinations among the plurality of printers as distribution destination printers;
Second setting means for setting paper information relating to paper to be printed;
A plurality of print data distributed for the distribution destination printer while processing external print data based on both information set by the first and second setting means and conforming to the paper information Distribution control means for providing each of the plurality of print data to each distribution destination printer via the printer driver provided for each of the distribution destination printers,
The dispersion control means includes
Information fetching means for fetching information about the print prohibition area in the paper area in each of the distribution destination printers set by the first setting means from each of the stored printer drivers;
Printable area calculating means for calculating a printable area within a paper area that can be printed by any of the distribution destination printers from the information of each printer acquired by the information acquisition means;
By adapting the processing of the print data from the outside to the printable area calculated by the printable area calculation means, the plurality of distributed print data are adapted to the printable area. A distributed printing control device comprising: a region adaptation means for changing.
前記領域適合手段は、前記印刷データで定められる用紙上の余白を、前記印刷可能領域算出手段にて算出された印刷可能領域に基づいて補正する余白補正手段を備える請求項1に記載の分散印刷制御装置。  2. The distributed printing according to claim 1, wherein the area adaptation unit includes a margin correction unit that corrects a margin on the paper determined by the print data based on the printable area calculated by the printable area calculation unit. Control device. 前記複数のプリンタが、コンピュータネットワークにより接続された構成である請求項1または2に記載の分散印刷制御装置。  The distributed printing control apparatus according to claim 1, wherein the plurality of printers are connected via a computer network. 接続された複数のプリンタに、外部からの印刷データを分散して印刷させる分散印刷制御方法であって、
(g)前記複数のプリンタの機種毎に設けられたプリンタドライバを予め用意する工程と、
(a)前記複数のプリンタの中から、分散先となる複数のプリンタを分散先プリンタとして設定する工程と、
(b)印刷を行なう用紙に関わる用紙情報を設定する工程と、
(c)外部からの印刷データを、前記工程(a)および工程(b)から設定された双方の情報に基づいて加工して、前記用紙情報に適合しつつ前記分散先プリンタ用として分配された複数の印刷データを作成し、該複数の印刷データの各々を、前記分散先プリンタの各々について設けられた前記プリンタドライバを介して各分散先プリンタに提供する工程と
を備えるともに、
前記工程(c)は、
(d)前記工程(a)により設定された分散先プリンタの各々における用紙領域内の印刷禁止領域についての情報を、前記用意された各プリンタドライバから取り込む工程と、
(e)該工程(d)により取り込んだ各プリンタの情報から、前記分散先プリンタのいずれのプリンタでも印刷可能な用紙領域内の印刷可能領域を算出する工程と、
(f)前記外部からの印刷データの加工を前記工程(e)にて算出された印刷可能領域に合わせたものとすることにより、前記分配された複数の印刷データを前記印刷可能領域に適合したものに変える工程と、
を備えた分散印刷制御方法。
A distributed printing control method for distributing print data from outside to a plurality of connected printers,
(G) preparing in advance a printer driver provided for each model of the plurality of printers;
(A) setting a plurality of printers as distribution destinations among the plurality of printers as distribution destination printers;
(B) setting paper information relating to paper to be printed;
(C) Print data from outside is processed based on both information set from step (a) and step (b) and distributed to the destination printer while conforming to the paper information. Creating a plurality of print data, and providing each of the plurality of print data to each distribution destination printer via the printer driver provided for each of the distribution destination printers,
The step (c)
(D) fetching information about the print prohibited area in the paper area in each of the distribution destination printers set in step (a) from each of the prepared printer drivers;
(E) calculating a printable area in a paper area that can be printed by any of the distribution destination printers from the information of each printer captured in step (d);
(F) By adapting the processing of the external print data to the printable area calculated in the step (e), the plurality of distributed print data is adapted to the printable area. The process of turning into things,
A distributed printing control method.
前記工程(f)は、前記印刷データで定められる用紙上の余白を、前記工程(e)にて算出された印刷可能領域に基づいて補正するステップを備える請求項4に記載の分散印刷制御方法。  The distributed printing control method according to claim 4, wherein the step (f) includes a step of correcting a margin on the paper determined by the print data based on the printable area calculated in the step (e). . 接続された複数のプリンタに、外部からの印刷データを分散して印刷させるためのコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
(a)前記複数のプリンタの中から、分散先となる複数のプリンタを分散先プリンタとして設定する機能と、
(b)印刷を行なう用紙に関わる用紙情報を設定する機能と、
(c)外部からの印刷データを、前記機能(a)および機能(b)から設定された双方の情報に基づいて加工して、前記用紙情報に適合しつつ前記分散先プリンタ用として分配された複数の印刷データを作成し、該複数の印刷データの各々を、前記分散先プリンタの各々について設けられたプリンタドライバを介して各分散先プリンタに提供する機能と
をコンピュータに実現させるとともに、
前記機能(c)は、
(d)前記機能(a)により設定された分散先プリンタの各々における用紙領域内の印刷禁止領域についての情報を、前記各プリンタドライバから取り込む機能と、
(e)該機能(d)により取り込んだ各プリンタの情報から、前記分散先プリンタのいずれのプリンタでも印刷可能な用紙領域内の印刷可能領域を算出する機能と、
(f)前記外部からの印刷データの加工を前記機能(e)にて算出された印刷可能領域に合わせたものとすることにより、前記分配された複数の印刷データを前記印刷可能領域に適合したものに変える機能と、
を備えたコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
A computer-readable recording medium recording a computer program for distributing print data from outside to a plurality of connected printers,
(A) a function of setting a plurality of printers as distribution destinations among the plurality of printers as distribution destination printers;
(B) a function for setting paper information relating to paper to be printed;
(C) Print data from outside is processed based on both information set from the function (a) and the function (b), and distributed to the destination printer while conforming to the paper information. A function of creating a plurality of print data, and providing each of the plurality of print data to each distribution destination printer via a printer driver provided for each of the distribution destination printers,
The function (c) is:
(D) a function of fetching information about the print prohibited area in the paper area in each of the distribution destination printers set by the function (a) from each printer driver;
(E) a function of calculating a printable area within a paper area that can be printed by any of the distribution destination printers from information of each printer captured by the function (d);
(F) By adapting the processing of the external print data to the printable area calculated in the function (e), the distributed print data is adapted to the printable area. The ability to turn things into things,
A computer-readable recording medium having recorded thereon a computer program.
前記機能(f)は、前記印刷データで定められる用紙上の余白を、前記機能(e)にて算出された印刷可能領域に基づいて補正する機能を備えた構成である請求項6に記載のコンピュータ読み取り可能な記録媒体。  The said function (f) is a structure provided with the function which correct | amends the margin on the paper defined by the said print data based on the printable area | region calculated by the said function (e). Computer-readable recording medium.
JP2000205550A 2000-04-07 2000-07-06 Distributed printing control apparatus, distributed printing control method, and recording medium Expired - Fee Related JP3788206B2 (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2000205550A JP3788206B2 (en) 2000-07-06 2000-07-06 Distributed printing control apparatus, distributed printing control method, and recording medium
EP10183743A EP2267590A3 (en) 2000-04-07 2001-04-05 Control of distributed printing with multiple printers
PCT/JP2001/002967 WO2001077808A1 (en) 2000-04-07 2001-04-05 Control of decentralized printing by printers
EP10185194.7A EP2270645B1 (en) 2000-04-07 2001-04-05 Control of distributed printing with multiple printers
EP01917837A EP1191433A4 (en) 2000-04-07 2001-04-05 Control of decentralized printing by printers
US09/980,111 US7173718B2 (en) 2000-04-07 2001-04-05 Control of distributed printing using data output control module
US11/643,591 US20070103726A1 (en) 2000-04-07 2006-12-20 Control of distributed printing with multiple printers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000205550A JP3788206B2 (en) 2000-07-06 2000-07-06 Distributed printing control apparatus, distributed printing control method, and recording medium

Publications (2)

Publication Number Publication Date
JP2002023985A JP2002023985A (en) 2002-01-25
JP3788206B2 true JP3788206B2 (en) 2006-06-21

Family

ID=18702615

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000205550A Expired - Fee Related JP3788206B2 (en) 2000-04-07 2000-07-06 Distributed printing control apparatus, distributed printing control method, and recording medium

Country Status (1)

Country Link
JP (1) JP3788206B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7804607B2 (en) 2001-09-14 2010-09-28 Canon Kabushiki Kaisha Group printer for multiple member printers
JP4027102B2 (en) 2002-01-31 2007-12-26 キヤノン株式会社 Information processing apparatus, information processing method, and control program
US9069498B2 (en) * 2011-09-12 2015-06-30 Microsoft Technology Licensing, Llc Presenting devices as applications
JP5906829B2 (en) 2012-03-09 2016-04-20 セイコーエプソン株式会社 CONTROL DEVICE, CONTROL DEVICE CONTROL METHOD, AND PROGRAM

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07271780A (en) * 1994-03-31 1995-10-20 Canon Inc Document processor and its starting method
JPH09146731A (en) * 1995-09-20 1997-06-06 Fuji Xerox Co Ltd Printing instruction device
JP3907228B2 (en) * 1996-01-11 2007-04-18 キヤノン株式会社 Information processing apparatus and data processing method
JPH11203082A (en) * 1998-01-14 1999-07-30 Fuji Xerox Co Ltd Distributed printing system
JP3747645B2 (en) * 1998-07-30 2006-02-22 セイコーエプソン株式会社 Print information setting apparatus, method and recording medium therefor, and computer system
JPH11282643A (en) * 1998-03-31 1999-10-15 Nec Corp Automatic printer distribution device and printer system

Also Published As

Publication number Publication date
JP2002023985A (en) 2002-01-25

Similar Documents

Publication Publication Date Title
EP2270645B1 (en) Control of distributed printing with multiple printers
US7167260B2 (en) Control of distributed printers using virtual printer driver execute module
US20050206953A1 (en) Information processing apparatus and method utilizing print previews, and computer-readable storage medium
JP5197787B2 (en) Host computer, control method, and storage medium
JP2009208315A (en) Printing job control apparatus, printing job control method, and printing job control program
US8705079B2 (en) Information processing apparatus
US8049922B2 (en) Image forming apparatus and printing method for creating a combined image
JP2001290630A (en) Device and method for controlling distributed printing and recording medium
JP3757749B2 (en) Distributed printing control apparatus, distributed printing control method, and recording medium
US20130155455A1 (en) Printing system, printing apparatus, image processing apparatus, and data conversion method
JP3804395B2 (en) Distributed printing control apparatus, distributed printing control method, and recording medium
JP3788206B2 (en) Distributed printing control apparatus, distributed printing control method, and recording medium
JP3788184B2 (en) Distributed printing control apparatus, distributed printing control method, and recording medium
JP2011046154A (en) Image processing apparatus, printing system, and program
JP3726634B2 (en) Distributed printing control apparatus, distributed printing control method, and recording medium
JP2003296086A (en) Decentralized print control unit, decentralized print control method, and recording medium
JP4098457B2 (en) Distributed printing control apparatus, distributed printing control method, and recording medium
JP2001197286A (en) Image processor and image processing method
JP2001189853A (en) Image processor and method
JP2003296077A (en) Device and method for controlling distributed printing and recording medium
JP4449364B2 (en) Print control device
JP2003296076A (en) Device and method for controlling distributed printing and recording medium
JP2003263295A (en) Decentralized printing control device, decentralized printing control method and recording medium
JP2013052593A (en) Printing apparatus
JP2004054658A (en) Printing system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050308

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050509

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050614

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050811

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060320

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100407

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110407

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110407

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120407

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130407

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130407

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20140407

Year of fee payment: 8

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees