JP4313334B2 - 印刷制御プログラム、印刷装置の制御方法および前記プログラムを備えてなる印刷制御装置 - Google Patents

印刷制御プログラム、印刷装置の制御方法および前記プログラムを備えてなる印刷制御装置 Download PDF

Info

Publication number
JP4313334B2
JP4313334B2 JP2005149646A JP2005149646A JP4313334B2 JP 4313334 B2 JP4313334 B2 JP 4313334B2 JP 2005149646 A JP2005149646 A JP 2005149646A JP 2005149646 A JP2005149646 A JP 2005149646A JP 4313334 B2 JP4313334 B2 JP 4313334B2
Authority
JP
Japan
Prior art keywords
printing
print job
sub
print
unit
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.)
Active
Application number
JP2005149646A
Other languages
English (en)
Other versions
JP2006330828A (ja
Inventor
義朗 田中
亮治 村田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp 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
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP2005149646A priority Critical patent/JP4313334B2/ja
Priority to EP06010548.3A priority patent/EP1727035B1/en
Priority to US11/419,532 priority patent/US8009310B2/en
Priority to CNB2006100809577A priority patent/CN100429613C/zh
Publication of JP2006330828A publication Critical patent/JP2006330828A/ja
Application granted granted Critical
Publication of JP4313334B2 publication Critical patent/JP4313334B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • G06F3/1215Improving printing performance achieving increased printing speed, i.e. reducing the time between printing start and printing end
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/1232Transmitting printer device capabilities, e.g. upon request or periodically
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/124Parallel printing or parallel ripping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1284Local printer device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server

Landscapes

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

Description

この発明は、印刷制御プログラム、印刷装置の制御方法および前記プログラムを備えてなる印刷制御装置に関する。
近年、印刷ジョブを複数の印刷装置に分配して並行処理させることにより、短時間で印刷ジョブを処理するタンデム印刷機能を用いた印刷システムが普及しつつある。タンデム印刷機能は、例えば、マスター(主印刷装置)側のデジタル複合機で複数部のコピーを実行した場合に、マスターとスレーブ(副印刷装置)とでコピー部数を分割し、並行してコピー処理を行う機能である。あるいは、ホストから受信した印刷データを展開して複数部の印刷を出力する場合に、マスターとスレーブとで印字部数を分割し、並行して印刷処理を行う機能である。前記の印刷システムにおいて、各印刷装置は互いに一対一で接続され、あるいはネットワークを介して互いに接続されている。
印刷ジョブをより効率的に処理するために、複数部数の印刷を行う際に対象とする印刷装置を決定し、各装置の印刷能力を判断して印刷能力に応じた分散処理を行う手法が開示されている(例えば、特許文献1参照)。
特開2002−342055号公報
タンデム印刷機能は、印刷処理をより効率化するために提供される機能であるが、従来の技術にはより効率的な処理を提供するために改善すべき余地があった。ここで、効率化とは印刷処理に要する時間の短縮、印刷装置や印刷制御装置の設置、設定に要する手間の低減、処理エラーのリカバリーの手間の低減、印刷ジョブの実行を要求する際に使用者が印刷ジョブの設定を行う手間の低減のいずれか1を含む広い意味での効率化である。
まず、印刷装置や印刷制御装置の設置あるいは構成変更の際に、タンデム印刷機能を使うために用いる各種の情報の設定が必要であった。しかも、プリンタとしてタンデム印刷機能を使うために必要な情報は、印刷制御装置(ホスト)側で設定して保持し、コピー機としてタンデム印刷機能を使うために必要な情報は印刷装置(複合機)側で設定して保持していた。これは、実行する印刷ジョブの設定処理が、プリンタの場合はホスト側で行われ、コピーの場合はホストを介さずに複合機側で行われるため、それぞれ設定処理を行う側で情報が取得しやすいからである。しかし、前記情報は重複する部分が多く、システム・アドミニストレータや設置作業者など、システムを管理する管理者に対する設定の負担が大きかった。
さらに、設定後に関連する装置やネットワーク等の接続環境に変更があった場合にこれらの情報を更新しなければ、各装置やネットワークの構成に応じた効率的な処理が実現されない場合があった。そればかりでなく、前記情報が適切に更新されないと、実際には処理できない印刷ジョブが設定されてしまい、処理エラーが発生し、エラー解除のために使用者の手を煩わせるといったような結果に陥ることもあった。
本発明は、上記のような事情に鑑みてなされたものであり、タンデム印刷機能に必要な情報を装置情報として印刷装置に集約し、これによって効率的な処理を実現することのできる印刷システムに適用可能な印刷制御プログラムあるいは制御方法を提供するものである。
この発明は、主印刷装置と1以上の副印刷装置とに分割して印刷ジョブを実行するように要求する印刷要求部と、主印刷装置と副印刷装置とに関する装置情報を予め格納する主印刷装置から装置情報を取得する装置情報取得部と、要求された印刷ジョブと取得した装置情報から主印刷装置ならびに副印刷装置が実行すべき印刷ジョブを決定する指示決定部と、決定した印刷ジョブに基づき主印刷装置が実行すべき印刷ジョブの制御命令を主印刷装置へ送信する主印刷装置制御部と、決定した印刷ジョブに基づき副印刷装置が実行すべき印刷ジョブの制御命令を副印刷装置へ送信する副印刷装置制御部とを備える印刷制御プログラムを提供する。
ここで、印刷要求部は、例えば、GUIを用いて印刷ジョブに関する各種の設定を使用者に行わせた後、印刷ジョブの実行ボタンをクリックさせたときに、プログラム処理として印刷ジョブの要求が受け付けられ、印刷ジョブの設定に従った処理がされるようにトリガを与えるブロックである。また、装置情報とは、タンデム印刷を実行する際の各装置への印刷ジョブの設定に必要な情報である。装置情報は、例えば、各装置に制御命令を送信する際の送信先を示す情報を含んでいてもよい。あるいは、各装置のオプション機器の構成情報を含んでいてもよい。あるいは、各装置の印刷処理速度に関する情報を含んでいてもよい。
また、異なる観点から、この発明は、主印刷装置と1以上の副印刷装置とに分割して処理させる印刷ジョブを要求する工程と、主印刷装置と副印刷装置とに関する装置情報を予め格納する主印刷装置から装置情報を取得する工程と、要求された印刷ジョブと取得した装置情報から主印刷装置ならびに副印刷装置が実行すべき印刷ジョブを決定する工程と、決定した印刷ジョブに基づき主印刷装置が実行すべき印刷ジョブの制御命令を主印刷装置へ送信する工程と、決定した指示に基づき副印刷装置が実行すべき印刷ジョブの制御命令を副印刷装置へ送信する工程とをコンピュータに実行させることを特徴とする印刷装置の制御方法を提供する。
また、この発明は、前記プログラムを備えてなる印刷制御装置を提供する。
この発明のプログラムは、主印刷装置と副印刷装置とに関する装置情報を予め格納する主印刷装置から装置情報を取得する装置情報取得部と、要求された印刷ジョブと取得した装置情報から主印刷装置ならびに副印刷装置が実行すべき印刷ジョブを決定する指示決定部とを備えるので、コピー及びプリンタの印刷ジョブの決定に必要な機種情報を予め主印刷装置に集約して格納しておくことができる。従って、情報を設定する手間が低減できるばかりでなく、情報が集約されるので一部の情報の更新を忘れて不整合を生じることがない。引いては、情報設定の不整合に伴う非効率的な処理や処理エラーの発生を回避することができ、効率的な印刷処理を実現することができる。
主印刷装置へ送信する制御命令と、副印刷装置へ送信する制御命令との体系が共通であってもよい。このようにすれば、各装置に応じて異なる命令体系に変換する処理が不要になり、処理を単純にすることができる。従って、処理に要する時間が短縮できる。
また、主印刷装置へ送信する制御命令と、副印刷装置へ送信する制御命令とは、それぞれ各装置に対する印刷準備の指示を含んで断続的に送信される一連の命令からなり、主印刷装置制御部が、印刷準備の指示を送信し、かつ副印刷装置制御部が、印刷準備の指示を送信した後に、主印刷装置制御部が、後続の制御命令を送信し、かつ副印刷装置制御部が、後続の制御命令を送信するようにしてもよい。このようにすれば、主印刷装置と副印刷装置へ並列的に印刷準備の指示を送信して両者を印刷開始待ちの状態にすることができるので、各装置が印刷データを受けて印刷を開始するまでの時間を短縮して効率的な印刷処理を実現することができる。
前記印刷準備の指示が、印刷待機状態に復帰するまでに時間を要する省電力モードから主印刷装置または副印刷装置を復帰させる制御命令であってもよい。省電力モードからの復帰には時間を要するので、例えば、主印刷装置と副印刷装置に印刷準備の指示を送信し、各装置を省電力モードから復帰させている間に、印刷データの生成など他の処理を印刷制御装置側で行うことができる。このように、各装置が印刷データを受けて印刷を開始するまでの時間を有効に利用して印刷処理に要する全体の時間時間を短縮し、効率的な印刷処理を実現することができる。
さらに、前記印刷要求部が、複数部の印刷からなる印刷ジョブを要求し、前記指示決定部が、主印刷装置の印刷ジョブの部数と副印刷装置の印刷ジョブの部数を各装置の印刷ジョブとして決定するようにしてもよい。このようにすれば、印刷ジョブを要求する度に、各装置への部数の配分を使用者に設定させなくても、機種情報から適当な部数を決定することができるので、使用者の設定の手間を低減することができる。あるいは、最適な部数の設定により効率的な印刷処理を実現することができる。
また、前記印刷要求部が、複数ページの印刷からなる印刷ジョブを要求し、前記指示決定部が、主印刷装置で印刷するページと副印刷装置で印刷するページを各装置の印刷ジョブとして決定するようにしてもよい。このようにすれば、印刷ジョブを要求する度に、各装置への印刷ページ数の配分を使用者に設定させなくても、機種情報から適当な印刷頁数を決定することができるので、使用者の設定の手間を低減することができる。あるいは、最適な印刷ページ数の設定により効率的な印刷処理を実現することができる。
さらにまた、使用者への警告を発する報知部をさらに備え、前記装置情報取得部は、印刷要求部が印刷ジョブの要求をする度に主印刷装置に格納された副印刷装置への命令送信先を装置情報として取得し、前記報知部は、取得した命令送信先が以前の印刷ジョブ要求時に取得した命令送信先と異なる場合にその旨を報知するようにしてもよい。このようにすれば、主印刷装置に格納された命令転送先が変更された際に、命令転送先の更新を使用者に知らせることができるので、使用者は、どの副印刷装置から印刷が出力されるのかを事前に知って出力を受け取ることができる。
前記装置情報取得部が、主印刷装置と副印刷装置とに配分する印刷ジョブの配分比率を算出するための情報を取得し、指示決定部が、取得した情報に基づいて算出した配分比率に応じて各印刷ジョブを決定するようにしてもよい。このようにすれば、各装置の印刷処理速度が異なる場合にも、装置情報取得部が印刷ジョブの配分比率を算出するための情報を取得して、指示決定部が適当な配分比率を決定するので、各装置への適当な印刷ジョブの配分比率を使用者に設定させる手間を低減することができ、あるいは、適当な配分比率を設定することにより効率的な印刷処理を実現することができる。
また、前記装置情報取得部が、複数の副印刷装置に配分する印刷ジョブの配分比率を各副印刷装置についてそれぞれ算出するための情報を取得し、指示決定部が、取得した情報に基づいて各副印刷装置について算出した配分比率に応じて各印刷ジョブを決定するようにしてもよい。このようにすれば、複数の副印刷装置がある場合に、単に主印刷装置と副印刷装置の配分比率を決定するだけでなく、各副印刷装置の配分比率をそれぞれ決定するので、より印刷処理の時間を短縮して効率的な処理を実現することができる。
さらにまた、前記装置情報取得部が、各装置の処理能力を装置情報として取得するようにしてもよい。このようにすれば、各装置の能力に応じて最も効率的な処理を実現するように各装置への印刷ジョブを決定することができる。あるいは、ある装置に処理不可能な印刷ジョブを判断し、当該装置を除外して印刷処理を配分することができる。従って、印刷ジョブを設定する際に各装置への適当な印刷ジョブの配分を使用者に設定させる手間を省略することができ、あるいは、適切な配分を設定することにより効率的な印刷処理を実現することができ、あるいは、ある装置に処理不可能な印刷ジョブが誤って配分されるといった事態を回避することができる。
前記処理能力が、各装置に装着されたオプション機器の処理能力であってもよい。このようにすれば、例えば、装着されていないオプションを必要とする機能を印刷ジョブとして要求させないようにすることが可能となる。あるいは、印刷ジョブに必要なオプションが装着されていない装置がある場合、その装置に印刷ジョブを配分しないように決定することができる。
あるいは、前記処理能力が、各装置がサポートするプリンタ言語(PDL言語)の種類であってもよい。このようにすれば、例えば、主印刷装置がPCLとPS言語をサポートしており、副印刷装置がPCL言語のみをサポートしている場合、PS言語を使用する印刷ジョブは、副印刷装置に処理させず、主印刷装置のみで実行させるように決定することができる。したがって、処理能力の判定をせずに、副印刷装置に印刷ジョブを送って処理エラーが発生するといったような不具合の発生を回避することができる。
また、前記プログラムが、各装置が要求する認証データを予め設定する認証データ設定部と、設定した認証データを対応する装置へ送信する制御命令に付加する認証データ付加部とをさらに備えていてもよい。このようにすれば、各装置が印刷処理を行うために異なる認証データを必要とする場合にも、それぞれの装置に対応する認証データを制御命令に付加して送信することができるので、送信された認証データを用いて各装置の認証手続を行い、印刷処理を実行させることができる。
さらに、各装置のオプション機器の構成情報を取得するよう使用者に要求させる構成取得要求部をさらに備え、前記装置情報取得部が、構成取得要求部からの要求に応じて、オプション機器の構成情報と共に、副印刷装置への命令送信先を主印刷装置から取得するようにしてもよい。このようにすれば、設定が不可欠なオプション機器の構成情報と共に副印刷装置への命令送信先を取得することができるので、使用者が設定に要する操作の手間を低減することができる。
さらにまた、各装置の状態を監視する状態監視部をさらに備え、前記装置情報取得部が、副印刷装置への命令送信先を主印刷装置から取得し、前記状態監視部が、命令送信先を取得した副印刷装置の状態を監視するようにしてもよい。このようにすれば、主印刷装置だけでなく、副印刷装置についても状態監視を行うことができ、副印刷装置がタンデム印刷可能な状態にあるかどうかを知ることができる。
前記状態監視部は、印刷要求部から印刷ジョブの要求があった後、印刷ジョブの制御命令を各装置に送信するまで各装置の状態を監視し、当該装置に対応する主印刷装置制御部もしくは副印刷装置制御部は、各装置の監視結果に基づいて印刷ジョブの処理に支障がある装置の印刷ジョブの制御命令の送信を留保し、さらに、前記状態監視部が、送信を留保した装置が印刷ジョブの処理に支障のない状態に復帰するまで当該装置の状態を監視し、前記主印刷装置制御部もしくは副印刷装置制御部は、復帰した装置の印刷ジョブの制御命令の送信を再開するようにしてもよい。このようにすれば、印刷ジョブの制御命令を送信する前に、各出装置の状態を確認して、印刷ジョブの処理に支障がある状態の場合に、例えば、印刷ジョブを続行するかどうかを使用者に選択させることが可能となり、非効率な印刷処理の実行を回避することができる。従って、使用者にとっての利便性が向上する。
さらに、前記プログラムが、送信を留保した装置に関する警告を使用者に報知する報知部をさらに備えていてもよい。このようにすれば、装置の状態を使用者に知らせて、対応を促すことができる。
あるいはまた、前記状態監視部は、印刷要求部から印刷ジョブの要求があった後、印刷ジョブの制御命令を各装置に送信するまで各装置の状態を監視し、前記指示決定部は、各装置の監視結果に基づいて印刷ジョブの処理に支障がある装置への印刷ジョブを処理に支障のない他の装置が実行すべき印刷ジョブとして決定するようにしてもよい。このようにすれば、印刷ジョブの制御命令を送信する前に、各出装置の状態を確認して、印刷ジョブの処理に支障がある状態の場合に、当該装置以外に印刷出力することが可能となり、非効率な印刷処理の実行を回避することができる。従って、使用者にとっての利便性が向上する。
さらに、前記プログラムが、送信先を変更された装置に関する警告を使用者に報知する報知部をさらに備えていてもよい。このようにすれば、装置の状態を使用者に知らせて、対応を促すことができる。
前記装置情報取得部が装置情報を取得する副印刷装置のうち、印刷ジョブを実行させる対象から除外する副印刷装置を指定する非選択装置指定部をさらに備え、前記指示決定部が、非選択装置指定部に指定された副印刷装置を除く各装置に対する印刷ジョブを決定するようにしてもよい。このようにすれば、タンデム印刷可能な副印刷装置の中から適当な装置だけを選択することができるので、使用者の意図に応じた設定が可能になる。例えば、副印刷装置の数が多すぎて印刷出力を取りに行く手間がかかりすぎると使用者が判断した場合や、印刷装置が遠すぎて出力を取りに行く手間がかかりすぎると使用者が判断した場合に、判断に応じた設定に変更することができるので、使用者の利便性が向上する。
さらに、前記非選択装置指定部が、特定の使用者のみが副印刷装置を指定することができるようになっていてもよい。このようにすれば、副印刷装置を指定できる使用者を制限することにより、誤って指定が変更されることを回避することができる。ネットワークや装置の構成に明るくない一般のユーザーには、適切な装置の選択がむずかしいと想定され、設定変更可能な使用者の権限に制約を持たせた方が円滑な管理運用がなされる場合があるからである。
各装置への制御命令が、当該装置が主印刷装置か副印刷装置かを識別するための識別命令を含むようにしてもよい。このようにすれば、各装置の状態を監視する場合に、各装置が前記の識別命令に応じた識別情報を返信することにより、どの装置から送られた状態かを容易に識別することができる。例えば、主印刷装置が識別命令に識別子を含めて送り、各装置がその識別子を状態情報と共に返信するようにすれば、返信された状態情報がどの装置からのものかを容易に判断することができる。
また、異なる観点から、この発明は、主印刷装置と1以上の副印刷装置とに分割して処理させる印刷ジョブを要求する工程と、主印刷装置と副印刷装置とに関する装置情報を予め格納する主印刷装置から装置情報を取得する工程と、要求された印刷ジョブと取得した装置情報から主印刷装置ならびに副印刷装置が実行すべき印刷ジョブを決定する工程と、決定した印刷ジョブに基づき主印刷装置が実行すべき印刷ジョブの制御命令を主印刷装置へ送信する工程と、決定した指示に基づき副印刷装置が実行すべき印刷ジョブの制御命令を副印刷装置へ送信する工程とをコンピュータに実行させることを特徴とする印刷装置の制御方法を提供する。
主印刷装置送信工程と副印刷装置送信工程とが、対応する装置へ送信する印刷ジョブの一連の制御命令を順次生成する工程と、生成した制御命令を記憶する工程と、記憶した制御命令を装置へ送信し、送信済み制御命令を管理する工程とをそれぞれ備えていてもよい。
また、複数のスレッドを生成してスレッドごとの処理を非順次に実行するマルチタスク環境下で制御が実行され、主印刷装置送信工程と各副印刷装置への副印刷装置送信工程とが、各装置に対応して生成されるスレッド内で処理されるようにしてもよい。
また、この発明は、前記プログラムを備えてなる印刷制御装置を提供する。
以下、図面を用いてこの発明をさらに詳述する。以下の説明により、この発明をよりよく理解することが可能であろう。なお、以下の説明によってこの発明が限定されるものではない。
図1は、この発明に係る印刷制御装置、主印刷装置、副印刷装置からなる印刷システムの構成を示すブロック図である。図1に示すように、この発明に係る印刷システムは、印刷制御装置1と主印刷装置であるプリンタ2と副印刷装置であるプリンタ3とが互いに接続されて構成される。各装置間の物理的な接続形態は、例えばイサーネット等のネットワークによるものであってもよいが、それに限定されず、例えば、USBやIEEE1394などであってもよい。また、ネットワークに接続された各装置がやり取りする通信方式は、例えばTCP/IPを用いるものであってもよいがそれに限定されず、トークンリングなど他の方式であってもよい。図1は、副印刷装置が1台の例であるが、複数の副印刷装置が接続されていてもよい。
プリンタ2及びプリンタ3は、例えば、電子写真装置のデジタル複合機であってもよいが、それに限定されず、例えば、インクジェット方式のデジタル複合機であってもよい。また、印刷装置の何れかが画像読取機能を備えない単機能のプリンタであってもよい。また、印刷制御装置1は、例えばパーソナルコンピュータであってもよいが、それに限定されず、いわゆるワークステーションや情報端末機器であってもよい。
印刷制御装置1は、印刷すべき情報を作成するアプリケーションプログラム14、アプリケーションで作成した情報をプリンタ2及び3に印刷させるために印刷装置を制御する印刷制御プログラム11を含む。また、印刷装置の状態を監視し、必要に応じて図示しない表示部に印刷装置の状態を表示するプログラムであるステータスモニタ15を含んでいてもよい。
印刷制御プログラム11は、プリンタ2および3がサポートするPDL言語の種類に応じてプリンタに送信する制御命令(PJLまたはプリンタジョブ言語)を生成するプリンタドライバと、プリンタドライバで生成した制御命令をプリンタへ送信すると共に印刷データの生成するスレッドを起動し、プリンタからの情報を受信してプリンタドライバやステータスモニタ15に渡す通信ドライバ13から構成される。図1において、プリンタドライバは、PCL言語をサポートするプリンタのためのPCLプリンタドライバ12とPS言語をサポートするプリンタのためのPSプリンタドライバ16の2種類のプリンタドライバからなる。
PCLプリンタドライバ12、PSプリンタドライバ16、通信ドライバ13、アプリケーションプログラム14、ステータスモニタ15は、それぞれ印刷制御装置1が提供するマルチタスク・オペレーティングシステム環境下で独立したタスクとして動作する。さらに、各タスクは、必要に応じてスレッドを生成し、生成された各スレッドが独立して処理を実行する。印刷制御装置1が提供するマルチタスク・オペレーティングシステムの一例は、ウインドウズ(登録商標)であるが、これに限らず、他のオペレーティングシステム、例えばマックOSやリナックス(登録商標)であってもよい。
この発明の印刷要求部、装置情報取得部、指示決定部は、PCLプリンタドライバ12あるいはPSプリンタドライバ16の機能の一部として実現される。そして、主印刷装置制御部および副印刷装置制御部は、通信ドライバ13の機能の一部として実現される。この発明を実現するハードウェア構成としては、例えば、印刷制御装置1がパーソナルコンピュータであり、パーソナルコンピュータのCPUがPCLプリンタドライバ12、PSプリンタドライバ16、通信ドライバ13、アプリケーションプログラム14、ステータスモニタ15のそれぞれのプログラムを実行することによって実現される。各プログラムは、例えばパーソナルコンピュータが備えるハードディスクドライブに格納され、パーソナルコンピュータの電源投入時にRAM上に転送され、その内容に従ってCPUが処理を実行するように構成される。あるいは、各プログラムは、CDやDVDなどの媒体に記録されて提供され、それらの記録媒体の内容を読み取ってRAM上に転送されてもよい。さらにまた、各プログラムはフラッシュメモリなどの記憶素子に格納され、格納されたプログラムをCPUが直接フェッチし、あるいは一旦RAM上に転送されて、RAM上のプログラムをCPUがフェッチして実行されるものであってもよい。
図2は、図1に示すPCLプリンタドライバ12、PSプリンタドライバ16あるいは通信ドライバ13の内部構成を示すブロック図である。図2(a)は、PCLプリンタドライバ12あるいはPSプリンタドライバ16の内部構成を示し、図2(b)は、通信ドライバ13の内部構成を示すブロック図である。
図2(a)に示すように、PCLプリンタドライバ12およびPSプリンタドライバ16は、いずれも、アプリケーションプログラム14とやり取りを行うアプリケーション通信部201、印刷制御装置1の図示しない表示画面およびキーボードやマウスの入力部を用いて使用者にGUIを提供し、実行する印刷ジョブの設定を使用者に行わせると共に印刷要求部として機能するプリンタドライバ印刷設定部203、プリンタ2,3に関する情報をマスタープリンタ2から取得する装置情報取得部204、プリンタ2および3の状態を監視して取得し、状態監視部として機能する状態取得部205、生成したプリンタコマンドの送信先のプリンタの機種情報を保持する出力先情報保持部207、印刷設定部203から要求された印刷ジョブをプリンタ2および3に印刷させるためのPJLを生成する指示決定部としてのプリンタコマンド生成部202、印刷ジョブの続行/キャンセルを操作させる印刷続行/キャンセル操作部206から構成される。ここで、印刷要求部、装置情報取得部、指示決定部はこの発明の必須の構成要素である。
さらに、プリンタドライバ印刷設定部203は、認証データを予め設定する認証データ設定部としての機能を含んでいてもよい。さらにまた、プリンタドライバ印刷設定部203は、各装置のオプション機器の構成情報の取得を使用者に要求させる構成情報取得要求部としての機能を含んでいてもよい。
また、図2(b)に示すように、通信ドライバ13は、PCLプリンタドライバ12またはPSプリンタドライバ16が生成したプリンタコマンドを取得するプリンタコマンド取得部211、取得したプリンタコマンドの内容を解析し、解析結果に応じたプリンタコマンドを送信すると共に、各プリンタへの印刷データを作成するスレッドを生成するプリンタコマンド解析部212、生成されたプリンタコマンドを各プリンタへ送信するプリンタコマンド送信部214、順次プリンタへ送信されるプリンタコマンドの通信手順の進行を管理し、主印刷装置制御部および1以上の副印刷装置制御部として機能するプリンタコマンド送信管理部213から構成される。また、プリンタコマンド送信部214は、設定された認証データを対応する装置へ送信するプリンタコマンドに付加する認証データ付加部としての機能を含んでいてもよい。ここで、主印刷装置制御部と1つの副印刷装置制御部は、この発明の必須の構成要素である。以上が、印刷制御装置1の構成の説明である。
図3は、使用者に印刷ジョブの設定を行わせるために図2(a)の印刷設定部203が認証データ設定部として提供する機能設定画面の一例を示す説明図である。また、図5は、図3に示す機能設定画面の「ユーザー認証」ボタン305がクリックされることにより表示される設定画面の一例を示す説明図である。使用者は、図3の機能設定画面上で実行させる印刷ジョブの設定を行った後に、「OK」ボタンをクリックする。印刷設定部203は、「OK」ボタンがクリックされたことを検出すると、選択されたプリンタドライバ(一例として、この説明ではPCLプリンタドライバ12とする)に対して印刷ジョブの実行を要求する。要求を受けたPCLプリンタドライバ12は、印刷ジョブ開始の処理を行う。以下に、印刷制御プログラム11の処理の手順について説明する。
図9は、図1のPCLプリンタドライバ12あるいはPSプリンタドライバ16が実行する、印刷ジョブ開始の処理手順の一例を示すフローチャートである。以下の説明は、PCLプリンタドライバ12について説明するが、PSプリンタドライバ16についても処理の手順は同じである。図9に示すように、PCLプリンタドライバ12は、印刷ジョブ開始に関する制御命令(PJL)を生成する(ステップS901)。ここで生成されるPJLは、プリンタに印刷ジョブを実行させるために印刷制御装置が送信する制御命令である。図20は、図1の通信ドライバ13からプリンタ2または3へ、印刷ジョブ開始時に送信されるPJLのデータの一例を示す説明図である。図20に示すように、PJLは、プリンタに対する複数の制御命令から構成される。その命令体系は、プリンタの設計者もしくは印刷制御プログラムの設計者が決めるものであるが、この発明において、主印刷装置と副印刷装置の命令体系は、共通であることが好ましい。
続いて、PCLプリンタドライバ12は、印刷ジョブの印字部数のPJLを生成する(ステップS902)。そして、タンデム印刷の設定として部数分割が設定されているかどうかを判定する(ステップS903)。ここで、タンデム印刷の設定は、図3の画面で使用者によってなされた設定に従う。タンデム印刷が設定されない場合は、マスタープリンタ2だけで印刷を行うが、この場合の処理は、本願の特徴とするものではないのでこの実施の形態では、主としてタンデム印刷が設定されている場合について説明する。前記判定で、部数分割が設定されている場合、PCLプリンタドライバ12は、部数分割情報のPJLを生成する(ステップS904)。次に、ページ分割が設定されているかどうかを判定する(ステップS905)。ページ分割が設定されている場合、PCLプリンタドライバ12は、ページ分割情報のPJLを生成する(ステップS906)。
部数分割、ページ分割のいずれもが設定されていない場合、ルーチンは後述するステップS915へ進む。一方、部数分割またはページ分割のいずれかが設定されている場合、ルーチンはステップS908へ進み、マスタープリンタ2から機種情報としてタンデム印刷に関するマスタープリンタ2およびスレーブプリンタ3の情報を装置情報として取得する。また、プリンタ2および3の状態を取得する。この処理の詳細については、後述するが、ステップS908の処理は、図2(a)における装置情報取得部204および状態取得部205としての機能を実現する。
ステップS908で取得した機種情報およびプリンタの状態に基づき、何れかのプリンタがエラー状態にないか、あるいは何れかのプリンタの構成が要求された印刷ジョブの設定に対して不整合を生じないかを判断する(ステップS909)。その結果、エラーあるいは不整合があると判断した場合、図2(a)の印刷続行/キャンセル操作部206が、印刷ジョブを続行するか、あるいはキャンセルするかを使用者に選択させる画面を表示する(ステップS910)。
図7は、図2(a)の印刷続行/キャンセル操作部206が表示するエラー警告画面の一例を示す説明図である。このうち、図7(a)の画面が、ステップS910で表示する画面の一例である。表示された画面に対して、キャンセル(「いいえ」ボタン705)が選択された場合、PCLプリンタドライバ12は、PJLを通信ドライバに渡すことなく終了し、印刷ジョブはキャンセルされる。一方、印刷続行(「はい」ボタン704)が選択された場合、ルーチンはステップS912へ進み、前回印刷ジョブの実行要求があった際とスレーブプリンタコマンドの送信先が変更されているかどうかを判断する(ステップS912)。この実施の形態では、各プリンタがTCP/IPを用いたネットワークで接続されており、送信先は各プリンタのIPアドレスであるとする。送信先に、変更があった場合は、図示しない報知部によって、スレーブプリンタが変更されたことを使用者に通知する画面を表示する(ステップS913)。
図8は、取得されたスレーブプリンタへのプリンタコマンドの送信先が、以前の印刷ジョブ要求時と異なる場合の警告画面の一例を示す説明図である。
あるいは、前記ステップS909の判断で、エラーあるいは不整合があると判断されたプリンタについての印刷ジョブを、他のエラーあるいは不整合のないプリンタに変更して処理させるようにしてもよい。この場合、PJLの体系が各装置で共通であるため、変更の処理は装置固有の情報だけを変更するだけでよく、容易に実現することができる。
図7(b)は、エラー状態のプリンタが検出された場合に、エラー状態にない他のプリンタに印刷ジョブを処理させるかどうかを使用者に報知して選択させる画面の例を示す説明図である。図7(b)に示すように、スレーブ1のプリンタが用紙なしの状態であって、印刷ジョブを実行できないことを使用者に報知し、印刷可能なマスタープリンタに変更して出力するかどうかを選択させる画面である。使用者が「はい」のボタン704を選択すると、本来スレーブ1のプリンタで処理する予定の印刷ジョブを、マスタープリンタに変更して生成し、マスタープリンタに印刷させる。一方、使用者が「いいえ」のボタン705を選択した場合、印刷ジョブの変更を行わず、スレーブ1のプリンタに対するPJLを生成する。しかし、スレーブ1プリンタに対するプリンタコマンド送信部214は、スレーブ1に用紙が補給され、印刷可能な状態になるまでPJLの送信を留保する。その間、図1の状態取得部205は、スレーブ1のプリンタの状態を監視し、プリンタコマンド送信部214は、用紙が補給されて印刷可能な状態になったら、PJLの送信を行う。
また、印刷装置によっては、PCLプリンタドライバ12から送信されたPJLをその内部で保持できる程度の大容量メモリ、例えばハードディスクを備えたものがある。このような印刷装置では、印刷装置が印刷不可能な状態であってもPCLプリンタドライバ12はPJLを留保することなく送信してもよい。印刷装置は、受信したPJLをメモリに保持し、印刷可能な状態になった後に、メモリにPJLが保持されたジョブを処理するようにすればよい。
続いて、PCLプリンタドライバ12は、タンデム印刷設定のPJLを生成する(ステップS914)。
次に、PCLプリンタドライバ12は、印刷実行前にユーザー認証設定画面を表示する機能が設定されているかどうかを判定する(ステップS915)。この機能は、図5の画面のチェックボックス505で使用者によって設定される機能である。この機能が設定されているときは、図5のユーザー認証画面を表示し、ユーザー認証に必要なログイン名とパスワードを使用者に入力させる(ステップS916)。このステップは、前記認証データ設定部としての機能を提供する。一方、この機能が設定されていない場合はログイン名とパスワードの入力を求めないでルーチンは、ステップS917へ進む。ステップS917で、PCLプリンタドライバ12は、マスターおよびスレーブの全てのプリンタについてユーザー認証のPJLを作成する。ステップS916で、ユーザー認証に必要なログイン名とパスワードが入力された場合、ユーザー認証のPJLに入力されたログイン名とパスワードを付加する。ステップS917の処理は、プリンタドライバ13のプリンタコマンド送信部214に前記認証データ付加部の機能を実現させるために必要な処理である。
次に、PCLプリンタドライバ12は、PDL言語のPJLを作成する(ステップS918)。そして、これまでに生成したPJLを通信ドライバへ渡して、各プリンタへ送信するように要求する(ステップS919)。この印刷制御装置1が提供するオペレーティングシステムの一例であるウインドウズについてより詳細に説明すると、PCLプリンタドライバ12は、作成したPJLや印刷データを含む印刷ジョブを、ウインドウズによって提供されるスプーラーに渡す。スプーラーでは、渡された前記印刷ジョブをブロック単位で通信ドライバに渡し、通信ドライバは各プリンタへ印刷ジョブを送信する。
ここで、図9の「タンデム印刷設定情報取得」(ステップS908)処理の詳細ついて説明する。図13は、前記処理の詳細を示すフローチャートである。図13に示すように、PCLプリンタドライバ12は、マスタープリンタ2から、プリンタ2自身とスレーブプリンタ3の機種情報と、状態を取得する。ここで取得する機種情報は、スレーブプリンタ3のプリンタコマンド送信先、マスターとスレーブプリンタへの印刷ジョブの配分比率を計算するための情報である(ステップS1301)。取得した状態に基づいて、エラー状態のプリンタがあるか否かを判断する(ステップS1302)。エラー状態のプリンタが無ければ、エラー状態のプリンタが無かったことを示すフラグを後の判定のためにセットし(ステップS1305)て、ルーチンはS1306へ進む。一方、何れかのプリンタがエラー状態の場合、エラー状態のプリンタがマスタープリンタ2と同じPDL言語をサポートする装置かどうかを判断する(ステップS1303)。判断の結果、エラー状態のプリンタがマスターと同じPDL言語をサポートするものでなければ、ルーチンはステップS1305へ進んで、エラー状態のプリンタが無かったことを示すフラグをセットし(ステップS1305)、その後S1306へ進む。当該プリンタがエラー状態であっても、実行する印刷ジョブのPDL言語をサポートしていなければ、印刷ジョブの実行対象でないからである。一方、エラー状態のプリンタがマスターと同じPDL言語をサポートする場合、エラー状態のプリンタがあることを示すフラグを後の判定のためにセットし(ステップS1304)て、ルーチンはS1306へ進む。
ステップS1306で、PCLプリンタドライバ12は、前回印刷ジョブの実行要求があった際のスレーブプリンタコマンド送信先が、前述のステップS1301で取得した送信先から変更されているか否かを判断する。変更が無ければ、スレーブプリンタコマンド送信先に変更が無いことを示すフラグを後の判定のためにセットして(ステップS1308)、ルーチンはステップS1309へ進む。一方、変更があった場合、スレーブプリンタコマンド送信に変更があったことを示すフラグを後の判定のためにセットして(ステップS1307)、ルーチンはステップS1309へ進み、マスタープリンタ2と同じPDL言語をサポートするスレーブプリンタのアドレスリストと前記ステップS1301で取得したジョブの配分比率とをレジストリに保持する。
以上が、PCLプリンタドライバ12が実行する印刷ジョブ開始の処理手順の例である。
次に、印刷ジョブ終了の処理手順の例について説明する。図10は、PCLプリンタドライバ12が実行する、印刷ジョブ終了の処理手順の一例を示すフローチャートである。PCLプリンタドライバ12は、全てのPJLを生成した後に、その印刷ジョブの終了のPJLを生成する。図10に示すように、PCLプリンタドライバ12は、開始された印刷ジョブが途中でキャンセルされたかどうかを判断する(ステップS1001)。印刷ジョブがキャンセルされていなければ、印刷ジョブ終了のPJLを生成する(ステップS1002)。印刷ジョブがキャンセルされた場合は、終了のPJLを生成することなく終了する。印刷ジョブ終了のPJLを生成することにより、当該印刷ジョブに関する一連のPJL生成が完了する。
次に、生成された、PCLプリンタドライバ12が生成したプリンタコマンドを各プリンタへ送信する通信ドライバ13の処理の手順について説明する。
図11は、図1の通信ドライバ13が実行する、通信の処理手順の一例を示すフローチャートである。図11に示すように、通信ドライバ13のプリンタコマンド取得部211は、PCLプリンタドライバ12が生成したプリンタコマンドを取得する(ステップS1101)。そして、部数分割またはページ分割が設定されているかどうかを判断する(ステップS1102)。これらの設定は、図3の画面で使用者によって設定されるものである。部数分割もページ分割も設定されていない場合は、タンデム印刷を行わないので、取得したプリンタコマンドをマスタープリンタ2のみに送信して(ステップS1111)処理を終了する。
一方、部数分割またはページ分割が設定されている場合、取得したプリンタコマンドがジョブ終了のPJLかどうかを判断する(ステップS1103)。ジョブ終了のPJLの場合、ページ分割が設定されているかどうかを判断する(ステップS1112)。ページ分割が設定されている場合は、ページ分割処理を実行して(ステップS1113)終了する。ページ分割処理の詳細については、後述する。一方、前記ステップS1112の判定で、ページ分割が設定されていない場合は、部数分割終了処理(ステップS1114)を行って処理を終了する。部数分割終了処理の詳細は、後述する。
前記ステップS1103の判定で、ジョブ終了PJLでない場合、通信ドライバ13は、取得したプリンタコマンドがジョブ開始のPJLかどうかを判断する(ステップS1104)。ジョブ開始のPJLの場合、ジョブ開始PJL取得済みのフラグをセットする。(ステップS1115)そして、ページ分割が設定されているかどうかを判断する(ステップS1105)。ページ分割が設定されている場合、ジョブ開始PJLを一時的に保存して(ステップS1107)処理を終了する。一方、ページ分割が設定されていない場合、即ち部数分割が設定されている場合、部数分割開始処理(ステップS1106)を実行して処理を終了する。部数分割開始処理の詳細については、後述する。
前記ステップS1104の判定で、取得したPJLがジョブ開始PJLでない場合は、ジョブ開始PJLを既に取得済みであるかどうかを判断し(ステップS1116)、取得済みでなければ処理を終了する。ジョブ開始PJLを取得済みの場合、ページ分割が設定されているかどうかを判断し(ステップS1108)、ページ分割が設定されている場合は、取得したプリンタコマンドをページ単位で一時的に保存する(ステップS1109)。一方、ページ分割が設定されていない場合、部数分割処理(ステップS1110)を実行し、処理を終了する。部数分割処理の詳細は、後述する。
次に、ステップS1106の部数分割開始処理の詳細を説明する。図14は、図11のステップS1106の部数分割開始処理の詳細を示すフローチャートである。この処理で、通信ドライバ13は、マスターとスレーブの各プリンタに対する印刷部数の配分を決定し、各印刷装置のスレッドを起動生成する。図14に示すように、通信ドライバ13は、まず、ジョブ開始PJLの解析を行う(ステップS1401)。次に、部数の配分計算に用いるため、変数Cに図3の画面の部数設定302で設定された印刷部数を格納し(ステップS1402)、変数Nにスレーブプリンタの台数+1を格納する(ステップS1403)。この実施形態では、Nは2である。
続いて、出力先情報保持部207からマスタープリンタ2のIPアドレスと印刷ジョブのマスターへの配分比率(Y0)とを取得する(ステップS1404、1405)。そして、変数Cに格納された印刷部数とマスターへの配分比率Y0との積を計算してマスタープリンタ2に配分すべき印刷部数(C0)を求める(ステップS1406)。
次に、通信ドライバ13は、マスタープリンタ2との通信を管理するスレッドを起動生成する(ステップS1407)。ここで起動されるスレッドは、図18のフローチャートにその詳細な処理内容を示しているが、マスタープリンタ2へジョブ開始PJLを送信し、その後、PCLプリンタドライバによって生成され、テンポラリファイルに格納される印刷データを順次プリンタ2へ送信し、最後に、ジョブ終了PJLを送信する。印刷データは、多くの場合複数のブロックに分割して生成される。その場合、印刷データの送信はブロック単位で断続的に行われる。
続いて、通信ドライバ13は、スレーブプリンタ3に対する配分率を決定し、通信を管理するスレッドを起動生成する処理を行う。この実施形態では、スレーブプリンタは1台だけであるが、フローチャートは複数台のスレーブプリンタに対応した構造になっている。まず、処理用の一時変数iに1、DにCとC0との差、即ち、スレーブプリンタが印刷すべき部数の合計を格納する(ステップS1408)。そして、スレーブプリンタの台数だけループ処理を繰り返すために変数iがNよりも小さいかどうかを判定する(ステップS1409)。この実施形態においてN=2であるので、1回だけ判定結果が真(Yes)になる。スレーブプリンタが2台以上あれば、その台数と同じ回数だけ以下の処理が繰り返されることになる。
まず、通信ドライバ13は、機種情報として、出力先情報保持部207からスレーブプリンタiのIPアドレスと配分率Yiとを取得する(ステップS1410、S1411)。ここで、i=1である。次に、変数Cに格納された印刷部数とスレーブプリンタiへの配分比率Yiとの積を計算してスレーブプリンタiに配分すべき印刷部数(Ci)を求める(ステップS1412)。そして、求めたCiとDとの最小値を求めて改めてCiとする(ステップS1413)。これは、積の計算に伴う誤差を丸めて、各プリンタの合計印刷部数を設定した部数と等しくするための処理である。さらに、通信ドライバ13は、変数DにD−Ciを格納し、iを1だけ加算した(ステップS1414)後、ステップS1409の判定に進む。
このようにして、全てのスレーブプリンタについて処理を行った後、ステップS1409の判定は、Noとなり、ルーチンはS1415へ進む。ここで、通信ドライバ13は、スレーブプリンタの台数Sを求め、Sの値が0でなければ(ステップS1416)各スレーブプリンタにそれぞれ対応するスレッドを起動生成する(ステップS1417)。また、生成される印刷データを一時的に格納するためのテンポラリファイルを生成し(ステップS1418)、処理を終了する。
以上が、図11のステップS1106の部数分割開始処理の詳細である。
次に、図11のステップS1110の部数分割処理の詳細について説明する。図15は、図11の「部数分割処理」(ステップS1110)処理の詳細を示すフローチャートである。図15に示すように、通信ドライバ13は、前述のように図14のステップS1418で生成した印刷データ保持用のテンポラリファイルに、取得したプリンタコマンドを追加書き込みする(ステップS1501)。そして、各プリンタとの通信管理のために起動生成された各スレッドに対して、テンポラリファイルに追加書き込みを行ったことを通知して(ステップS1502)処理を終了する。前記通知に応じて、各スレッドは、生成された印刷データをプリンタに送信する。以上が、部数分割処理の詳細である。
次に、図11のステップS1114の部数分割終了処理の詳細について説明する。図16は、図11の「部数分割終了処理」(ステップS1114)処理の詳細を示すフローチャートである。図16に示すように、通信ドライバ13は、印刷データ保持用のテンポラリファイルに、ジョブ終了のPJLを書き込む(ステップS1601)。そして、各プリンタとの通信管理を行う各スレッドに対して、処理の終了を要求し(ステップS1602)処理を終了させるためのイベントを発行し、全スレッドが終了することを確認する。前記終了要求に応じて、各スレッドは、テンポラリファイルに残っている内容を各プリンタに送信する。印刷データが残っていれば、それが送信され、最後にテンポラリファイルに書き込まれたジョブ終了のPJLが送信される。通信ドライバ13は、全スレッドが終了していることを確認した後、印刷データを一時的に格納するために生成したテンポラリファイルを削除する。各スレッドは、処理を終えた後に消滅する。部数分割処理の詳細である。
次に、図11のステップS1113のページ分割処理の詳細について説明する。この処理で、通信ドライバ13は、マスターとスレーブの各プリンタに対するページ数の配分と印刷するページの先頭位置を決定し、各印刷装置のスレッドを起動生成する。図17は、図11の「ページ分割処理」(ステップS1113)処理の詳細を示すフローチャートである。図17に示すように、通信ドライバ13は、まず、印刷する先頭ページ位置を指定するための変数P0に1を格納し、印刷ページ数を指定するための変数Cに要求された印刷ジョブの総ページ数を格納する(ステップS1701)。
次に、変数Nにスレーブプリンタの台数+1を格納する(ステップS1702)。この実施形態では、Nは2である。
続いて、出力先情報保持部207から、マスタープリンタ2のIPアドレスと印刷ジョブのマスターへの配分比率(Y0)とを取得する(ステップS1703、1704)。そして、変数Cに格納された総ページ数とマスターへの配分比率Y0との積を計算してマスタープリンタ2に配分すべき印刷ページ数(C0)を求める(ステップS1705)。
次に、通信ドライバ13は、マスタープリンタ2との通信を管理するスレッドを起動生成する(ステップS1706)。ここで起動されるスレッドは、図19のフローチャートにその詳細な処理内容を示しているが、マスタープリンタ2へジョブ開始PJLを送信し、その後、PCLプリンタドライバによって生成され、テンポラリファイルに格納される印刷データを順次プリンタ2へ送信し、最後にジョブ終了PJLを送信する。印刷データは、多くの場合複数のブロックに分割して生成される。その場合、印刷データの送信はブロック単位で断続的に行われる。
続いて、通信ドライバ13は、スレーブプリンタ3に対する配分率を決定し、通信を管理するスレッドを起動生成する処理を行う。この実施形態では、スレーブプリンタは1台だけであるが、フローチャートは複数台のスレーブプリンタに対応した構造になっている。まず、処理用の一時変数iに1、DにCとC0との差、即ち、スレーブプリンタが印刷すべきページ数の合計を格納する(ステップS1707)。そして、スレーブプリンタの台数だけループ処理を繰り返すために変数iがNよりも小さいかどうかを判定する(ステップS1708)。この実施形態においてN=2であるので、1回だけ判定結果が真(Yes)になる。スレーブプリンタが2台以上あれば、その台数と同じ回数だけ以下の処理が繰り返されることになる。
まず、通信ドライバ13は、機種情報として、スレーブプリンタiのIPアドレスと配分率Yiとを取得する(ステップS1709、S1710)。ここで、i=1である。次に、変数Cに格納された印刷部数とスレーブプリンタiへの配分比率Yiとの積を計算してスレーブプリンタiに配分すべき印刷ページ数(Ci)を求める(ステップS1711)。そして、求めたCiとDとの最小値を求めて改めてCiとする(ステップS1712)。これは、積の計算に伴う誤差を丸めて、各プリンタの合計印刷ページ数を設定した総ページ数と等しくするための処理である。さらに、通信ドライバ13は、変数DにD−Ciを格納し、iを1だけ加算し(ステップS1713)、各プリンタの印刷先頭ページ位置を格納する変数PiにP(i−1)+C(i―1)を格納した後(ステップS1714)、ステップS1708の判定に進む。この実施形態では、PiにP0+C0=1+C0(C0は、マスタープリンタ3の印刷ページ数)を格納する。
このようにして、全てのスレーブプリンタについて処理を行った後、ステップS1708の判定は、Noとなり、ルーチンはS1715へ進む。ここで、通信ドライバ13は、スレーブプリンタの台数Sを求め、Sの値が0でなければ(ステップS1716)各スレーブプリンタにそれぞれ対応するスレッドを起動生成する(ステップS1717)。その後、生成される印刷データを一時的に格納するためのテンポラリファイルにジョブ終了のPJLを格納し(ステップS1718)、各スレッドに対して処理の終了要求を行った後に(ステップS1719)処理を終了する。
以上が、図11のステップS1113のページ分割処理の詳細である。
次に、図14の処理によって起動されたスレッド内の部数分割時のデータ送信処理の手順を示すフローチャートである。図18に示すように、スレッドは、ジョブ開始のPJLを取得する(ステップS1801)。この実施形態では、マスタープリンタおよびスレーブプリンタのPJLの体系は、共通である。そこで、取得したジョブ開始PJLのうち、各プリンタでパラメータの値が異なるものを置換する。まず、印刷部数を前記スレッドが対応するプリンタに配分された印刷部数Ciに変更する(ステップS1802)。また、対応するプリンタ以外のユーザー認証情報を削除する(ステップS1803)。
次に、前記スレッドは、対応するプリンタがマスタープリンタかどうかを判定する(ステップS1804)。マスタープリンタに対応する場合は、ジョブ開始PJLに、マスタープリンタであることを識別するための識別命令を追加する(ステップS1805)。スレーブプリンタに対応する場合は、ジョブ開始PJLに、スレーブプリンタであることを識別するための識別命令を追加する(ステップS1806)。この識別命令は、各プリンタに対してユニークな識別子を含み、各プリンタは、識別命令に含まれる識別子を応答するコマンドに付加するようにしてもよい。
さらに、前記スレッドは、スレーブプリンタの識別番号をジョブ開始PJLに追加する(ステップS1807)。そして、ジョブ開始PJLを対応するプリンタに送信する(ステップS1808)。
その後、前記スレッドは、受信イベント待ちで待機する(ステップS1809)。待機状態で、受信イベントが発生すると、まず、受信したコマンドが終了要求かどうかを判定する(ステップS1810)。終了要求を受信した場合、テンポラリファイルにある印刷データを取得し(ステップS1814)、取得した全ての印刷データをプリンタに送信(ステップS1815)し、さらにジョブ終了のPJLを送信した後、スレッドの終了処理を行う(ステップS1816)。これによって、スレッドが消滅する。終了要求を送信した通信ドライバ13は、全スレッドが終了するのを待っており、全スレッドが終了処理を完了したことを確認した後に、生成したテンポラリファイルを削除する。
一方、前記ステップS1810で、終了要求以外を受信した場合、印刷データの追加書き込みがあったかどうかを判断する(ステップS1811)。追加書き込みがあった場合は、テンポラリファイルから追加書き込みされた印刷データを取得し(ステップS1812)、取得した印刷データを印刷装置に送信する(ステップS1813)。そして、ルーチンはステップS1809へ進み、次のイベント待ちで待機する。追加書き込みがなかった場合、何も処理せずにルーチンはステップS1809へ進み、次のイベント待ちで待機する。
以上が、図14の処理によって起動されたスレッドのデータ送信処理の詳細である。
次に、図17の処理によって起動されたスレッド内の部数分割時のデータ送信処理の手順を示すフローチャートである。図19に示すように、スレッドは、ジョブ開始のPJLを取得する(ステップS1901)。この実施形態では、マスタープリンタおよびスレーブプリンタのPJLの体系は、共通である。そこで、取得したジョブ開始PJLのうち、各プリンタでパラメータの値が異なるものを置換する。まず、対応するプリンタ以外のユーザー認証情報を削除する(ステップS1902)。結果的に、残されたユーザー認証情報がジョブ開始PJLに付加されて対応する装置へ送信される。ステップS1902の処理は、前記前記認証データ付加部としての機能を実現する。
次に、前記スレッドは、対応するプリンタがマスタープリンタかどうかを判定する(ステップS1903)。マスタープリンタに対応する場合は、ジョブ開始PJLに、マスタープリンタであることを識別するための識別命令を追加する(ステップS1904)。スレーブプリンタに対応する場合は、ジョブ開始PJLに、スレーブプリンタであることを識別するための識別命令を追加する(ステップS1905)。この識別命令は、各プリンタに対してユニークな識別子を含み、各プリンタは、識別命令に含まれる識別子を応答するコマンドに付加するようにしてもよい。
そして、ジョブ開始PJLを対応するプリンタに送信し(ステップS1906)、さらに、対応するプリンタが印刷するページ位置、即ち、ページ位置のPiからPi+Ciについてのプリンタコマンドを取得し(ステップS1907)、取得したプリンタコマンドを対応するプリンタへ送信する(ステップS1908)。
その後、前記スレッドは、受信イベント待ちで待機する(ステップS1909)。待機状態で、受信イベントが発生すると、まず、受信したコマンドが終了要求かどうかを判定する(ステップS1910)。終了要求を受信した場合、テンポラリファイルにある印刷データを取得し(ステップS1911)、取得した全ての印刷データをプリンタに送信(ステップS1912)した後、スレッドの終了処理を行う(ステップS1913)。これによって、スレッドが消滅する。
一方、前記ステップS1910で、終了要求以外を受信した場合、何も処理せずにルーチンはステップS1909へ進み、次のイベント待ちで待機する。
以上が、図17の処理によって起動されたスレッドのデータ送信処理の詳細である。
また、図4は、図1のPCLプリンタドライバ12あるいはPSプリンタドライバ16が操作者に対して提供するオプション機器設定画面の一例を示す説明図である。
図12は、図4の設定画面の「オプション自動設定」ボタン402がクリックされることにより、PCLプリンタドライバ12が実行する処理手順の一例を示すフローチャートである。「オプション自動設定」ボタン402は、印刷制御装置に印刷制御プログラムをインストールした後、あるいは印刷装置を設置したとき、使用者に操作させるためのボタンである。あるいは、印刷制御プログラムや印刷装置、もしくはネットワークの接続設定などを変更した際に使用者に操作させるものである。
図12に示すように、PCLプリンタドライバ12は、まず、オプションの構成情報を機種情報として取得する(ステップS1201)。さらに、スレーブプリンタ3の機種情報として、IPアドレスやジョブの配分比率をマスタープリンタ2から取得する(ステップS1202)。さらに、各装置の印刷能力に関する情報を機種情報として取得する(ステップS1203)。そして、マスタープリンタ2と同じPDL言語をサポートするスレーブプリンタのIPアドレスとジョブの配分比率とをレジストリに格納する(ステップS1204)。また、全てのプリンタがサポートする機能を項目別にレジストリに格納する(ステップS1205)。前記レジストリは、出力先情報保持部207に相当する。
以上が、図4の設定画面の「オプション自動設定」ボタン402がクリックされた際のPCLプリンタドライバ12の処理であり、ステップS1201〜1205の機能は、図2の装置情報取得部204に相当する。
また、図6は、図4の「タンデム印刷設定」ボタン403がクリックされることにより表示される設定画面の一例を示す説明図である。図6で、削除ボタン604は、表示部602に一覧表示された装置情報の取得対象となる印刷装置のうち、選択された印刷装置を印刷ジョブの実行対象から除外させるためのボタンであり、このボタンを押すことにより、PCLプリンタドライバ12は、前記非選択装置指定部としての機能を実行する。即ち、実行対象から除外された装置に対して、印刷ジョブのPJLを作成せず、従って印刷ジョブに関する制御命令を送信することもしない。
前述の実施の形態の他にも、この発明について種々の変形例があり得ることは明らかである。そのような変形例は、この発明の特徴及び範囲に属さないと解釈されるべきものではない。そのような変形例が、この発明の特許請求の範囲に含まれることを意図したものであることは、この技術分野の通常の知識を有するものにとって明らかである。
この発明に係る印刷制御装置、主印刷装置、副印刷装置からなる印刷システムの構成を示すブロック図である。 図1に示すPCLプリンタドライバ12、PSプリンタドライバ16あるいは通信ドライバ13の内部構成を示すブロック図である。 使用者に印刷ジョブの設定を行わせるために図2(a)の印刷設定部203が提供する機能設定画面の一例を示す説明図である。 図1のPCLプリンタドライバ12あるいはPSプリンタドライバ16が操作者に対して提供するオプション機器設定画面の一例を示す説明図である。 図3に示す機能設定画面の「ユーザー認証」ボタン305がクリックされることにより表示される設定画面の一例を示す説明図である。 図4の「タンデム印刷設定」ボタン403がクリックされることにより表示される設定画面の一例を示す説明図である。 図2(a)の印刷続行/キャンセル操作部206が表示するエラー警告画面の一例を示す説明図である。 この発明に係る印刷制御プログラムにおいて、取得された副印刷装置への命令送信先が、以前の印刷ジョブ要求時と異なる場合に報知部が報知する警告画面の一例を示す説明図である。 図1のPCLプリンタドライバ12あるいはPSプリンタドライバ16が実行する、印刷ジョブ開始の処理手順の一例を示すフローチャートである。 図1のPCLプリンタドライバ12あるいはPSプリンタドライバ16が実行する、印刷ジョブ終了の処理手順の一例を示すフローチャートである。 図1の通信ドライバ13が実行する、通信の処理手順の一例を示すフローチャートである。 図4の設定画面の「オプション自動設定」ボタン402がクリックされることにより、PCLプリンタドライバ12あるいはPSプリンタドライバ16が実行する処理手順の一例を示すフローチャートである。 図9の「タンデム印刷設定情報取得」(ステップS908)処理の詳細を示すフローチャートである。 図11の「部数分割開始処理」(ステップS1106)処理の詳細を示すフローチャートである。 図11の「部数分割処理」(ステップS1110)処理の詳細を示すフローチャートである。 図11の「部数分割終了処理」(ステップS1114)処理の詳細を示すフローチャートである。 図11の「ページ分割処理」(ステップS1113)処理の詳細を示すフローチャートである。 図14の処理によって起動されるスレッド内の部数分割時のデータ送信処理の手順を示すフローチャートである。 図17の処理によって起動されるスレッド内のページ分割時のデータ送信処理の手順を示すフローチャートである。 図1の通信ドライバ13からプリンタ2または3へ、印刷ジョブ開始時に送信されるPJLのデータの一例を示す説明図である。
符号の説明
1 印刷制御装置
2 主印刷装置、プリンタ(マスター)
3 副印刷装置、プリンタ(スレーブ)
11 印刷制御プログラム
12 PCLプリンタドライバ
13 PSプリンタドライバ
14 アプリケーションプログラム
15 ステータスモニタ

Claims (24)

  1. 主印刷装置と1以上の副印刷装置とに分割して印刷ジョブを実行するように要求する印刷要求部と、
    主印刷装置と副印刷装置とに関する装置情報を予め格納する主印刷装置から装置情報を取得する装置情報取得部と、
    各装置の状態を監視する状態監視部と、
    要求された印刷ジョブと取得した装置情報から主印刷装置ならびに副印刷装置が実行すべき印刷ジョブを決定する指示決定部と、
    決定した印刷ジョブに基づき主印刷装置が実行すべき印刷ジョブの制御命令を主印刷装置へ送信する主印刷装置制御部と、
    決定した印刷ジョブに基づき副印刷装置が実行すべき印刷ジョブの制御命令を副印刷装置へ送信する副印刷装置制御部としてコンピュータを機能させ、
    主印刷装置へ送信する制御命令と、副印刷装置へ送信する制御命令とは、それぞれ各装置に対する印刷準備の指示を含んで断続的に送信される一連の命令からなり、
    主印刷装置制御部が印刷準備の指示を送信し、かつ副印刷装置制御部が印刷準備の指示を送信した後に、主印刷装置制御部が後続の制御命令を送信し、かつ副印刷装置制御部が後続の制御命令を送信し、
    前記装置情報取得部は、印刷要求部が印刷ジョブの要求をする度に主印刷装置に格納された副印刷装置への命令送信先を装置情報として取得し、取得した命令送信先が以前の印刷ジョブ要求時に取得した命令送信先と異なる場合にその旨が報知されるように前記コンピュータを機能させるための印刷制御プログラム。
  2. 主印刷装置へ送信する制御命令と、副印刷装置へ送信する制御命令との体系が共通である請求項1記載のプログラム。
  3. 前記印刷準備の指示が、印刷待機状態に復帰するまでに時間を要する省電力モードから主印刷装置または副印刷装置を復帰させる制御命令である請求項1記載のプログラム。
  4. 前記印刷要求部が、複数部の印刷からなる印刷ジョブを要求し、
    前記指示決定部が、主印刷装置の印刷ジョブの部数と副印刷装置の印刷ジョブの部数を各装置の印刷ジョブとして決定する請求項1記載のプログラム。
  5. 前記印刷要求部が、複数ページの印刷からなる印刷ジョブを要求し、
    前記指示決定部が、主印刷装置で印刷するページと副印刷装置で印刷するページを各装置の印刷ジョブとして決定する請求項1記載のプログラム。
  6. 前記装置情報取得部が、主印刷装置と副印刷装置とに配分する印刷ジョブの配分比率を算出するための情報を取得し、
    指示決定部が、取得した情報に基づいて算出した配分比率に応じて各印刷ジョブを決定する請求項1記載のプログラム。
  7. 前記装置情報取得部が、複数の印刷装置に配分する印刷ジョブの配分比率を各副印刷装置についてそれぞれ算出するための情報を取得し、
    指示決定部が、取得した情報に基づいて各副印刷装置について算出した配分比率に応じて各印刷ジョブを決定する請求項記載のプログラム。
  8. 前記装置情報取得部が、各装置の処理能力を装置情報として取得する請求項1記載のプログラム。
  9. 前記処理能力が、各装置に装着されたオプション機器の処理能力である請求項記載のプログラム。
  10. 前記処理能力が、各装置がサポートするプリンタ言語の種類である請求項1記載のプログラム。
  11. 各装置が要求する認証データを予め設定する認証データ設定部と、
    設定した認証データを対応する装置へ送信する制御命令に付加する認証データ付加部とをさらに備える請求項1記載のプログラム。
  12. 各装置のオプション機器の構成情報を取得するよう使用者に要求させる構成取得要求部をさらに備え、
    前記装置情報取得部が、構成取得要求部からの要求に応じて、オプション機器の構成情報と共に、副印刷装置への命令送信先を主印刷装置から取得する請求項1記載のプログラム。
  13. 前記装置情報取得部が、副印刷装置への命令送信先を主印刷装置から取得し、
    前記状態監視部が、命令送信先を取得した副印刷装置の状態を監視する請求項1記載のプログラム。
  14. 前記状態監視部は、印刷要求部から印刷ジョブの要求があった後、印刷ジョブの制御命令を各装置に送信するまで各装置の状態を監視し、
    当該装置に対応する主印刷装置制御部もしくは副印刷装置制御部は、各装置の監視結果に基づいて印刷ジョブの処理に支障がある装置の印刷ジョブの制御命令の送信を留保し、
    さらに、前記状態監視部が、送信を留保した装置が印刷ジョブの処理に支障のない状態に復帰するまで当該装置の状態を監視し、
    前記主印刷装置制御部もしくは副印刷装置制御部は、復帰した装置の印刷ジョブの制御命令の送信を再開する請求項13記載のプログラム。
  15. 送信を留保した装置に関する警告を使用者に報知する報知部をさらに備える請求項14記載のプログラム。
  16. 前記状態監視部は、印刷要求部から印刷ジョブの要求があった後、印刷ジョブの制御命令を各装置に送信するまで各装置の状態を監視し、
    前記指示決定部は、各装置の監視結果に基づいて印刷ジョブの処理に支障がある装置への印刷ジョブを処理に支障のない他の装置が実行すべき印刷ジョブとして決定する請求項13記載のプログラム。
  17. 他の装置に制御命令の送信先を変更された装置に関する警告を使用者に報知する報知部をさらに備える請求項16記載のプログラム。
  18. 前記装置情報取得部が装置情報を取得する副印刷装置のうち、印刷ジョブを実行させる対象から除外する副印刷装置を指定する非選択装置指定部をさらに備え、
    前記指示決定部が、非選択装置指定部に指定された副印刷装置を除く各装置に対する印刷ジョブを決定する請求項1記載のプログラム。
  19. 前記非選択装置指定部が、特定の使用者のみが副印刷装置を指定することができるように構成される請求項18記載のプログラム。
  20. 各装置への制御命令が、当該装置が主印刷装置か副印刷装置かを識別するための識別命令を含む請求項1記載のプログラム。
  21. 主印刷装置と1以上の副印刷装置とに分割して処理させる印刷ジョブを要求する工程と、
    主印刷装置と副印刷装置とに関する装置情報を予め格納する主印刷装置から装置情報を取得する情報取得工程と、
    要求された印刷ジョブと取得した装置情報から主印刷装置ならびに副印刷装置が実行すべき印刷ジョブを決定する工程と、
    決定した印刷ジョブに基づき主印刷装置が実行すべき印刷ジョブの制御命令を主印刷装置へ送信する主印刷装置送信工程と、
    決定した指示に基づき副印刷装置が実行すべき印刷ジョブの制御命令を副印刷装置へ送信する副印刷装置送信工程と
    各装置の状態を監視する工程とをコンピュータに実行させ、
    主印刷装置へ送信する制御命令と、副印刷装置へ送信する制御命令とは、それぞれ各装置に対する印刷準備の指示を含んで断続的に送信される一連の命令からなり、主印刷装置が印刷準備の指示を送信しかつ副印刷装置が印刷準備の指示を送信した後に、主印刷装置が後続の制御命令を送信しかつ副印刷装置が後続の制御命令を送信し、
    前記情報取得工程は、印刷ジョブが要求される度に主印刷装置に格納された副印刷装置への命令送信先を装置情報として取得し、取得した命令送信先が以前の印刷ジョブ要求時に取得した命令送信先と異なる場合にその旨が報知されるようにすることを特徴とする印刷装置の制御方法。
  22. 主印刷装置送信工程と副印刷装置送信工程とが、
    対応する装置へ送信する印刷ジョブの一連の制御命令を順次生成する工程と、
    生成した制御命令を記憶する工程と、
    記憶した制御命令を装置へ送信し、送信済み制御命令を管理する工程とをそれぞれ備える請求項21記載の制御方法。
  23. 複数のスレッドを生成してスレッドごとの処理を非順次に実行するマルチタスク環境下で制御が実行され、
    主印刷装置送信工程と各副印刷装置への副印刷装置送信工程とが、各装置に対応して生成されるスレッド内で処理される請求項21記載の制御方法。
  24. 請求項1記載のプログラムを備えてなる印刷制御装置。
JP2005149646A 2005-05-23 2005-05-23 印刷制御プログラム、印刷装置の制御方法および前記プログラムを備えてなる印刷制御装置 Active JP4313334B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2005149646A JP4313334B2 (ja) 2005-05-23 2005-05-23 印刷制御プログラム、印刷装置の制御方法および前記プログラムを備えてなる印刷制御装置
EP06010548.3A EP1727035B1 (en) 2005-05-23 2006-05-22 Print control program, method of controlling printing apparatus and print control unit
US11/419,532 US8009310B2 (en) 2005-05-23 2006-05-22 Print control program, method of controlling printing apparatus, and print control unit
CNB2006100809577A CN100429613C (zh) 2005-05-23 2006-05-23 打印设备控制方法和打印控制装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005149646A JP4313334B2 (ja) 2005-05-23 2005-05-23 印刷制御プログラム、印刷装置の制御方法および前記プログラムを備えてなる印刷制御装置

Publications (2)

Publication Number Publication Date
JP2006330828A JP2006330828A (ja) 2006-12-07
JP4313334B2 true JP4313334B2 (ja) 2009-08-12

Family

ID=36847627

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005149646A Active JP4313334B2 (ja) 2005-05-23 2005-05-23 印刷制御プログラム、印刷装置の制御方法および前記プログラムを備えてなる印刷制御装置

Country Status (4)

Country Link
US (1) US8009310B2 (ja)
EP (1) EP1727035B1 (ja)
JP (1) JP4313334B2 (ja)
CN (1) CN100429613C (ja)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE528405C2 (sv) * 2004-06-30 2006-11-07 Kenet Works Ab Metod samt kommunikationsplattform för att understödja kommunikation mellan en tjänsteproducent och en radiokommunikationsapparat
JP4189469B2 (ja) * 2006-05-25 2008-12-03 コニカミノルタビジネステクノロジーズ株式会社 情報処理装置、情報処理システム及び情報処理方法
JP4226618B2 (ja) * 2006-07-25 2009-02-18 シャープ株式会社 制御装置、複合機、複合機制御システム、制御プログラム、およびコンピュータ読み取り可能な記録媒体
KR101269465B1 (ko) 2006-11-07 2013-05-30 삼성전자주식회사 화상형성장치 및 그 인쇄오류 방지방법
JP4838692B2 (ja) * 2006-11-27 2011-12-14 キヤノン株式会社 画像形成システム、画像形成装置及びその制御方法、並びにプログラム
JP4315191B2 (ja) 2006-12-12 2009-08-19 セイコーエプソン株式会社 印刷制御装置、印刷制御方法、印刷制御プログラム、印刷装置、印刷方法、印刷プログラム、及び記録媒体
CN101901125B (zh) * 2007-04-20 2012-05-30 夏普株式会社 打印控制装置及打印装置
JP2008279037A (ja) * 2007-05-10 2008-11-20 Kyoraku Sangyo Kk パチンコ遊技機、主制御基板、周辺基板、認証方法および認証プログラム
JP2008279041A (ja) * 2007-05-10 2008-11-20 Kyoraku Sangyo Kk パチンコ遊技機、主制御基板、周辺基板、認証方法および認証プログラム
JP2008279042A (ja) * 2007-05-10 2008-11-20 Kyoraku Sangyo Kk パチンコ遊技機、主制御基板、周辺基板、認証方法および認証プログラム
JP2008279039A (ja) * 2007-05-10 2008-11-20 Kyoraku Sangyo Kk パチンコ遊技機、主制御基板、周辺基板、認証方法および認証プログラム
JP2008279038A (ja) * 2007-05-10 2008-11-20 Kyoraku Sangyo Kk パチンコ遊技機、主制御基板、周辺基板、認証方法および認証プログラム
JP2008279040A (ja) * 2007-05-10 2008-11-20 Kyoraku Sangyo Kk パチンコ遊技機、主制御基板、周辺基板、認証方法および認証プログラム
JP5067966B2 (ja) * 2007-07-20 2012-11-07 株式会社ピーエーネット技術研究所 遊技機用ワンチップ・マイクロコンピュータおよび遊技機
JP5082965B2 (ja) * 2008-03-21 2012-11-28 セイコーエプソン株式会社 印刷装置および情報管理システム
CN101593088B (zh) * 2008-05-28 2013-01-09 鸿富锦精密工业(深圳)有限公司 集群式打印系统及方法
JP5268434B2 (ja) * 2008-06-03 2013-08-21 キヤノン株式会社 ジョブ処理方法及び画像処理システム並びに画像処理装置
JP5235540B2 (ja) * 2008-07-11 2013-07-10 キヤノン株式会社 情報処理システム、情報処理装置及び情報処理方法並びにプログラム
JP4710995B2 (ja) * 2009-03-04 2011-06-29 コニカミノルタビジネステクノロジーズ株式会社 画像形成システム及び画像形成装置並びに画像形成方法
JP5672627B2 (ja) * 2010-09-09 2015-02-18 富士ゼロックス株式会社 印刷装置およびプログラム
JP5701041B2 (ja) * 2010-12-15 2015-04-15 キヤノン株式会社 サーバ装置、画像処理システム、サーバ装置の制御方法、及びプログラム
JP5791311B2 (ja) * 2011-03-02 2015-10-07 キヤノン株式会社 情報処理装置、印刷設定方法、及びコンピュータプログラム
JP6106668B2 (ja) 2011-07-14 2017-04-05 エクレボ・リミテッドEcrebo Limited 販売時点情報管理システムを強化する方法
JP5723723B2 (ja) * 2011-08-19 2015-05-27 株式会社日立産機システム インクジェット記録装置
JP5824987B2 (ja) * 2011-09-07 2015-12-02 株式会社リコー 機器連携システム、画像形成装置、サービス提供方法
JP5955041B2 (ja) * 2012-03-09 2016-07-20 キヤノン株式会社 印刷システム及びその方法
JP6427880B2 (ja) * 2013-02-06 2018-11-28 株式会社リコー 情報処理システム、情報処理装置及びプログラム
JP6123472B2 (ja) * 2013-05-13 2017-05-10 株式会社リコー 機器管理装置、機器管理システム、機器管理方法及びプログラム
JP2015195006A (ja) * 2014-03-17 2015-11-05 株式会社リコー 情報処理装置及び情報処理システム
JP6482369B2 (ja) * 2014-06-18 2019-03-13 キヤノン株式会社 印刷制御装置、印刷制御装置の制御方法、印刷システム
JP6602188B2 (ja) * 2015-12-02 2019-11-06 キヤノン株式会社 情報処理装置及びその制御方法、並びにプログラム
JP2018025961A (ja) * 2016-08-10 2018-02-15 京セラドキュメントソリューションズ株式会社 画像形成システム、画像形成方法及び情報処理装置
CN108124073A (zh) * 2016-11-30 2018-06-05 京瓷办公信息系统株式会社 信息处理系统
US10018945B1 (en) * 2016-12-28 2018-07-10 Kabushiki Kaisha Toshiba Image processing apparatus having image heating portions that can perform decoloring processing independently
CN109542367B (zh) * 2018-10-26 2022-10-21 森大(深圳)技术有限公司 打印机主板光纤通讯的速率匹配方法、装置及打印系统
CN110874195B (zh) * 2018-11-22 2023-07-28 安天科技集团股份有限公司 一种打印语言识别方法、装置、电子设备、存储介质
JP2021140301A (ja) * 2020-03-03 2021-09-16 富士フイルムビジネスイノベーション株式会社 情報処理装置及び画像形成装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06106813A (ja) * 1992-08-14 1994-04-19 Fuji Xerox Co Ltd プリンタ制御方法および装置
US5287194A (en) * 1992-11-25 1994-02-15 Xerox Corporation Distributed printing
JPH09146726A (ja) * 1995-11-20 1997-06-06 Canon Inc プリンタサーバーシステムの制御方法
JP3580060B2 (ja) * 1996-05-09 2004-10-20 富士ゼロックス株式会社 印刷制御装置及び方法
JPH11184649A (ja) * 1997-07-25 1999-07-09 Seiko Epson Corp 印刷システム、方法及びプリンタ
NL1009817C2 (nl) * 1998-08-07 2000-02-08 Oce Tech Bv Manipulatie van energiebesparing bij beeldvormende apparaten in een netwerksysteem.
US7116434B2 (en) * 2000-08-10 2006-10-03 Canon Kabushiki Kaisha Controlling a cluster operation
JP4239396B2 (ja) * 2000-10-30 2009-03-18 コニカミノルタビジネステクノロジーズ株式会社 プリンタおよびプリントシステムおよび記憶媒体
US20020078101A1 (en) * 2000-11-20 2002-06-20 Chang William Ho Mobile and pervasive output client device
JP3884943B2 (ja) * 2000-12-26 2007-02-21 キヤノン株式会社 情報処理装置、印刷データ生成方法、印刷制御プログラム及びコンピュータ読み取り可能な記録媒体
US8411298B2 (en) 2001-01-11 2013-04-02 Sharp Laboratories Of America, Inc. Methods and systems for printing device load-balancing
JP2002342055A (ja) 2001-05-16 2002-11-29 Canon Inc 印刷制御方法、印刷制御システム、プログラム及び記憶媒体
JP2004088573A (ja) 2002-08-28 2004-03-18 Canon Inc プリンティングシステム、分散画像形成方法、プログラム、及び記憶媒体
JP2004220564A (ja) * 2002-12-26 2004-08-05 Seiko Epson Corp デバイス連携管理システム、ネットワークデバイスおよびデバイス用プログラム、並びにデバイス連携管理方法
CN101241426B (zh) * 2003-03-27 2011-03-23 佳能株式会社 控制装置
US20040190042A1 (en) * 2003-03-27 2004-09-30 Ferlitsch Andrew Rodney Providing enhanced utilization of printing devices in a cluster printing environment
JP2005004251A (ja) 2003-06-09 2005-01-06 Seiko Epson Corp ネットワーク印刷システム及びプリンタ
JP4174381B2 (ja) 2003-06-30 2008-10-29 キヤノン株式会社 情報処理装置、分散印刷制御方法及び分散印刷制御プログラム

Also Published As

Publication number Publication date
EP1727035A2 (en) 2006-11-29
US20060268304A1 (en) 2006-11-30
CN100429613C (zh) 2008-10-29
EP1727035A3 (en) 2008-02-27
EP1727035B1 (en) 2017-03-01
CN1869917A (zh) 2006-11-29
JP2006330828A (ja) 2006-12-07
US8009310B2 (en) 2011-08-30

Similar Documents

Publication Publication Date Title
JP4313334B2 (ja) 印刷制御プログラム、印刷装置の制御方法および前記プログラムを備えてなる印刷制御装置
JP4420421B2 (ja) 情報処理装置およびその制御方法
JP4847212B2 (ja) 情報処理装置、印刷制御方法、プログラム及びコンピュータ可読の記憶媒体
EP1501008B1 (en) Imformation processing apparatus, information processing method, program, and computer-readable storage medium
JP7086754B2 (ja) 情報処理装置、情報処理装置の制御方法及びコンピュータプログラム
JP5383254B2 (ja) 情報処理装置及びその制御方法、並びにプログラム
JP3833127B2 (ja) 代行印刷処理装置、代行印刷処理方法、プログラム、および記憶媒体
JP2003091389A (ja) 印刷制御方法及び装置
US20110019226A1 (en) Server, printer, and computer readable medium
JP5100195B2 (ja) 情報処理装置及びジョブ管理方法
JP2008059372A (ja) 印刷制御装置およびその方法
JP2008097226A (ja) 情報処理装置及び情報処理方法
JP2006301860A (ja) 情報処理装置
JP2005165393A (ja) 情報処理装置、情報処理方法およびプログラム並びにコンピュータ読み取り可能な記憶媒体
JP2019008673A (ja) 情報処理装置およびドライバーインストール方法
JP2006171991A (ja) 代行及び分散印刷システム
JP2006202332A (ja) 代行印刷処理装置、代行印刷処理方法、プログラム、および記憶媒体
JP4401640B2 (ja) プリンタ管理方法、情報処理装置、プログラム及び記憶媒体
JP3919780B2 (ja) 情報処理装置および印刷制御方法およびコンピュータ読み出し可能な記憶媒体
JP3740448B2 (ja) 制御装置、制御方法、プログラム及び記憶媒体
JP7328405B2 (ja) 情報処理装置、情報処理装置の制御方法及び印刷設定アプリケーション
JP3833090B2 (ja) 制御方法、制御装置、プログラム及び記憶媒体
JP3884949B2 (ja) ジョブ管理方法及び情報処理装置及びプログラム並びに記憶媒体
JP4323982B2 (ja) 情報処理方法、及び、情報処理装置、及び、プログラム、並びに、記憶媒体
JP2017168083A (ja) 画像処理装置及びその制御方法、印刷システム、プログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090121

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090316

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090420

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090514

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

Free format text: PAYMENT UNTIL: 20120522

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4313334

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120522

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130522

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140522

Year of fee payment: 5