JP2006178767A - 印刷予約システム及びその制御方法 - Google Patents
印刷予約システム及びその制御方法 Download PDFInfo
- Publication number
- JP2006178767A JP2006178767A JP2004371819A JP2004371819A JP2006178767A JP 2006178767 A JP2006178767 A JP 2006178767A JP 2004371819 A JP2004371819 A JP 2004371819A JP 2004371819 A JP2004371819 A JP 2004371819A JP 2006178767 A JP2006178767 A JP 2006178767A
- Authority
- JP
- Japan
- Prior art keywords
- printing
- reservation
- unit
- determination
- 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.)
- Withdrawn
Links
- 238000007639 printing Methods 0.000 title claims abstract description 214
- 238000000034 method Methods 0.000 title claims abstract description 61
- 230000005540 biological transmission Effects 0.000 claims description 16
- 238000012790 confirmation Methods 0.000 claims description 8
- 230000015654 memory Effects 0.000 abstract description 39
- 238000012545 processing Methods 0.000 description 57
- 230000006870 function Effects 0.000 description 36
- 238000010586 diagram Methods 0.000 description 13
- 238000012546 transfer Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 2
- 238000004883 computer application Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 210000000707 wrist Anatomy 0.000 description 1
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
【課題】 複数の印刷ジョブが予約されている場合であっても、利用者が指定した時刻及び印刷体裁等の印刷内容で確実に印刷を実行させることができる印刷システム及びその制御方法を提供する。
【解決手段】 複数の印刷予約が設定可能なプリンタ1500に対してホストコンピュータ3000から印刷予約を行う。そこで、印刷させる印刷データを外部メモリ111に保持しておき、プリンタ1500に対して当該印刷データの印刷予約を行うが、プリンタ1500は、印刷予約で指定された時刻に印刷実行が可能であるか否かを判断し、ホストコンピュータ3000はその判断結果に基づいて印刷データの印刷予約を確定する。
【選択図】 図7
【解決手段】 複数の印刷予約が設定可能なプリンタ1500に対してホストコンピュータ3000から印刷予約を行う。そこで、印刷させる印刷データを外部メモリ111に保持しておき、プリンタ1500に対して当該印刷データの印刷予約を行うが、プリンタ1500は、印刷予約で指定された時刻に印刷実行が可能であるか否かを判断し、ホストコンピュータ3000はその判断結果に基づいて印刷データの印刷予約を確定する。
【選択図】 図7
Description
本発明は、印刷指示装置から予約した時刻にネットワークを介して接続された印刷装置から印刷を実行する印刷予約システム及びその制御方法に関する。
近年、印刷装置を共有するために、印刷装置と複数のクライアント装置とがネットワークを介して相互に接続した構成がとられるようになってきた。このような構成においては複数のクライアント装置が同一の印刷装置を共有して使用するために、当該複数のクライアント装置から同時期に印刷ジョブが投入された場合は、投入された順に印刷が実行されることとなる。そのため、印刷ジョブの待ちが発生してしまうという課題があった。
しかし、印刷ジョブの種類によっては、必ずしも印刷装置に対して印刷ジョブを要求した時点ですぐに印刷出力する必要がなく、一定時間が経過した後に印刷物を入手できればいいというような場合や、他の印刷ジョブへの影響を考えて印刷装置の使用頻度が少ない夜間等に大量のデータを印刷出力させたいという場合も少なくない。
そこで、クライアント装置から印刷ジョブの要求を行う際に、印刷時刻を指定することができる技術が開示されている(特許文献1参照)。特許文献1に記載の技術によれば、クライアント装置から印刷時刻が指定された印刷ジョブの要求(予約)を印刷装置が受けると、指定された時刻まではそのまま印刷データを保存しておき、指定時刻になったときに印刷出力を実行することが可能である、これにより、緊急性の低い、或いはデータ量の多い印刷ジョブを、印刷装置の使用頻度が低い時間帯等に印刷させることにより、他の印刷ジョブへの影響を抑制することができる。
また、クライアント装置から印刷時刻が指定して要求された印刷ジョブの予約をプリンタ側(プリンタ本体、或いは印刷データ処理用サーバマシン等)で受け付け、指定された印刷時刻が到来すると、プリンタ側はクライアント装置に対して印刷データの要求を行うことにより印刷を実行する技術が開示されている(特許文献2参照)。特許文献2に記載の技術によれば、印刷時刻が到来したときに、クライアント装置から印刷データを要求して印刷を実行するため、プリンタ側で備える印刷データ保存用の記憶デバイスの記憶容量を低減することができる。
特開平6−340151号公報
特開2003−233481公報
しかしながら、上述した特許文献1及び特許文献2に記載の技術は、印刷ジョブ予約を受け付けた時に、クライアント装置から予約を受け付けた印刷ジョブが予約時刻において実際に印刷可能か否かを判断せずに当該予約を受け付けるため、予約印刷ジョブの内容や既に予約されている印刷ジョブの存在によっては、予約時刻に印刷が完了しない場合があるという問題が残る。
また、印刷予約受付時のみで実際に印刷可能か否かを判断した場合、印刷予約時から印刷実行時までの間に生じるプリンタデバイス環境(例えば、用紙残数、設定用紙サイズ、トナー残量、ステイプル残数等)の変化や印刷予約後にされるその他の印刷ジョブの予約内容によって、予約時刻において印刷が完了しないという可能性もある。
本発明は、このような事情を考慮してなされたものであり、複数の印刷ジョブが予約されている場合であっても、利用者が指定した時刻及び印刷体裁等の印刷内容で確実に印刷を実行させることができる印刷システム及びその制御方法を提供することを目的とする。
上記課題を解決するために、本発明は、複数の印刷予約が設定可能な印刷制御装置と、該印刷制御装置に対してネットワークを介して接続され、印刷予約を実行する印刷指示装置とを備える印刷システムであって、
前記印刷制御装置が、
前記ネットワークを介して前記印刷指示装置から印刷予約に関する情報を受信する受信手段と、
前記印刷予約で指定された時刻での印刷が可能であるか否かを判断する判断手段と、
前記判断手段による前記印刷予約の可否に関する判定結果を前記印刷指示装置に通知する通知手段とを備え、
前記印刷指示装置が、
アプリケーションから前記印刷予約に関する情報を取得する取得手段と、
前記印刷予約に関する情報を前記印刷制御装置に送信する送信手段と、
前記通知手段によって通知された前記判定結果に基づいて印刷予約を確定する確定手段とを備える
ことを特徴とする。
前記印刷制御装置が、
前記ネットワークを介して前記印刷指示装置から印刷予約に関する情報を受信する受信手段と、
前記印刷予約で指定された時刻での印刷が可能であるか否かを判断する判断手段と、
前記判断手段による前記印刷予約の可否に関する判定結果を前記印刷指示装置に通知する通知手段とを備え、
前記印刷指示装置が、
アプリケーションから前記印刷予約に関する情報を取得する取得手段と、
前記印刷予約に関する情報を前記印刷制御装置に送信する送信手段と、
前記通知手段によって通知された前記判定結果に基づいて印刷予約を確定する確定手段とを備える
ことを特徴とする。
また、上記課題を解決するために、本発明は、複数の印刷予約が設定可能な印刷制御装置と、該印刷制御装置に対してネットワークを介して接続され、印刷予約を実行する印刷指示装置とを備える印刷システムであって、
前記印刷制御装置が、
前記ネットワークを介して前記印刷指示装置から印刷予約に関する情報を受信する受信手段と、
前記印刷予約で指定された時刻での印刷が可能であるか否かを判断する判断手段と、
前記判断手段により印刷可能と判断された場合は前記印刷予約で指定された時刻に印刷を実行し、前記判断手段により印刷不可能と判断された場合は、前記印刷予約に基づいて印刷可能候補を算出し、該印刷可能候補に従って印刷を実行する印刷手段とを備え、
前記印刷指示装置が、
アプリケーションから前記印刷予約に関する情報を取得する取得手段と、
前記印刷予約に関する情報を前記印刷制御装置に送信する送信手段とを備える
ことを特徴とする。
前記印刷制御装置が、
前記ネットワークを介して前記印刷指示装置から印刷予約に関する情報を受信する受信手段と、
前記印刷予約で指定された時刻での印刷が可能であるか否かを判断する判断手段と、
前記判断手段により印刷可能と判断された場合は前記印刷予約で指定された時刻に印刷を実行し、前記判断手段により印刷不可能と判断された場合は、前記印刷予約に基づいて印刷可能候補を算出し、該印刷可能候補に従って印刷を実行する印刷手段とを備え、
前記印刷指示装置が、
アプリケーションから前記印刷予約に関する情報を取得する取得手段と、
前記印刷予約に関する情報を前記印刷制御装置に送信する送信手段とを備える
ことを特徴とする。
さらに、上記課題を解決するために、本発明に係る印刷システムは、
複数の印刷予約が設定可能な印刷手段と、
前記印刷手段に印刷させる印刷データを保持する保持手段と、
前記印刷手段に対して前記印刷データの印刷予約を行う予約手段と、
前記印刷予約で指定された時刻に前記印刷手段による前記印刷データの印刷実行が可能であるか否かを判断する判断手段と、
前記判断手段による判断結果に基づいて前記印刷データの印刷予約を確定する確定手段と、
前記確定手段で確定した印刷予約の内容で前記保持手段に保持された前記印刷データを前記印刷手段で印刷させる制御手段と
を備えることを特徴とする。
複数の印刷予約が設定可能な印刷手段と、
前記印刷手段に印刷させる印刷データを保持する保持手段と、
前記印刷手段に対して前記印刷データの印刷予約を行う予約手段と、
前記印刷予約で指定された時刻に前記印刷手段による前記印刷データの印刷実行が可能であるか否かを判断する判断手段と、
前記判断手段による判断結果に基づいて前記印刷データの印刷予約を確定する確定手段と、
前記確定手段で確定した印刷予約の内容で前記保持手段に保持された前記印刷データを前記印刷手段で印刷させる制御手段と
を備えることを特徴とする。
さらにまた、上記課題を解決するために、本発明は、複数の印刷予約が設定可能な印刷制御装置と、該印刷制御装置に対してネットワークを介して接続され、印刷予約を実行する印刷指示装置とを備える印刷システムの制御方法であって、
前記印刷制御装置に、
前記ネットワークを介して前記印刷指示装置から印刷予約に関する情報を受信する受信工程と、
前記印刷予約で指定された時刻での印刷が可能であるか否かを判断する判断工程と、
前記判断工程による前記印刷予約の可否に関する判定結果を前記印刷指示装置に通知する通知工程と実行させ、
前記印刷指示装置に、
アプリケーションから前記印刷予約に関する情報を取得する取得工程と、
前記印刷予約に関する情報を前記印刷制御装置に送信する送信工程と、
前記通知工程によって通知された前記判定結果に基づいて印刷予約を確定する確定工程とを実行させる
ことを特徴とする。
前記印刷制御装置に、
前記ネットワークを介して前記印刷指示装置から印刷予約に関する情報を受信する受信工程と、
前記印刷予約で指定された時刻での印刷が可能であるか否かを判断する判断工程と、
前記判断工程による前記印刷予約の可否に関する判定結果を前記印刷指示装置に通知する通知工程と実行させ、
前記印刷指示装置に、
アプリケーションから前記印刷予約に関する情報を取得する取得工程と、
前記印刷予約に関する情報を前記印刷制御装置に送信する送信工程と、
前記通知工程によって通知された前記判定結果に基づいて印刷予約を確定する確定工程とを実行させる
ことを特徴とする。
さらにまた、上記課題を解決するために、本発明は、複数の印刷予約が設定可能な印刷制御装置と、該印刷制御装置に対してネットワークを介して接続され、印刷予約を実行する印刷指示装置とを備える印刷システムの制御方法であって、
前記印刷制御装置に、
前記ネットワークを介して前記印刷指示装置から印刷予約に関する情報を受信する受信工程と、
前記印刷予約で指定された時刻での印刷が可能であるか否かを判断する判断工程と、
前記判断工程により印刷可能と判断された場合は前記印刷予約で指定された時刻に印刷を実行し、前記判断工程により印刷不可能と判断された場合は、前記印刷予約に基づいて印刷可能候補を算出し、該印刷可能候補に従って印刷を実行する印刷工程とを実行させ、
前記印刷指示装置に、
アプリケーションから前記印刷予約に関する情報を取得する取得工程と、
前記印刷予約に関する情報を前記印刷制御装置に送信する送信工程とを実行させる
ことを特徴とする。
前記印刷制御装置に、
前記ネットワークを介して前記印刷指示装置から印刷予約に関する情報を受信する受信工程と、
前記印刷予約で指定された時刻での印刷が可能であるか否かを判断する判断工程と、
前記判断工程により印刷可能と判断された場合は前記印刷予約で指定された時刻に印刷を実行し、前記判断工程により印刷不可能と判断された場合は、前記印刷予約に基づいて印刷可能候補を算出し、該印刷可能候補に従って印刷を実行する印刷工程とを実行させ、
前記印刷指示装置に、
アプリケーションから前記印刷予約に関する情報を取得する取得工程と、
前記印刷予約に関する情報を前記印刷制御装置に送信する送信工程とを実行させる
ことを特徴とする。
さらにまた、上記課題を解決するために、本発明は、複数の印刷予約が設定可能な印刷手段を備える印刷システムを制御する制御方法であって、
前記印刷手段に印刷させる印刷データを保持手段に保持する保持工程と、
前記印刷手段に対して前記印刷データの印刷予約を行う予約工程と、
前記印刷予約で指定された時刻に前記印刷手段による前記印刷データの印刷実行が可能であるか否かを判断する判断工程と、
前記判断工程による判断結果に基づいて前記印刷データの印刷予約を確定する確定工程と、
前記確定工程で確定した印刷予約の内容で前記保持手段に保持された前記印刷データを前記印刷手段で印刷させる制御工程と
を有することを特徴とする。
前記印刷手段に印刷させる印刷データを保持手段に保持する保持工程と、
前記印刷手段に対して前記印刷データの印刷予約を行う予約工程と、
前記印刷予約で指定された時刻に前記印刷手段による前記印刷データの印刷実行が可能であるか否かを判断する判断工程と、
前記判断工程による判断結果に基づいて前記印刷データの印刷予約を確定する確定工程と、
前記確定工程で確定した印刷予約の内容で前記保持手段に保持された前記印刷データを前記印刷手段で印刷させる制御工程と
を有することを特徴とする。
本発明によれば、複数の印刷ジョブが予約されている場合であっても、利用者が指定した時刻及び印刷体裁等の印刷内容で確実に印刷を実行させることができる。
以下、図面を参照して、本発明の一実施形態に係る印刷システムの構成及びその印刷予約手順等について詳細に説明する。
図1は、本発明の一実施形態に係る印刷システムの構成を示すブロック図である。尚、本発明に係る印刷予約等の諸機能が実行されるものであれば、単体の機器であっても、複数の機器からなるシステムであっても、或いはLAN、WAN等のネットワークを介して接続され処理が行われるシステムであっても良い。すなわち、以下の実施形態で説明する各種端末が接続されたシステム構成は一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
図1において、3000はホストコンピュータであり、ROM103、或いはハードディスク(HD)や着脱可能な可搬記憶媒体(例えば、フレキシブルディスク(FD))等の外部メモリ111には、CPU101の制御プログラムであるBIOS(Basic Input/Output System)やオペレーティングシステムプログラム(OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。本実施形態で使用するOSは、例えば、ウィンドウズ(登録商標)XP(マイクロソフト社製)を想定するが、これに限るものではない。
また、図1に示すホストコンピュータ3000において、RAM102は、CPU101の主メモリやワークエリア等として機能する。尚、CPU101は、処理の実行に際して必要なプログラム等をRAM102にロードして、プログラムを実行することで各種動作を実現する。
また、入力コントローラ(入力C)105は、キーボード(KB)109や不図示のマウス等のポインティングデバイスからの入力を制御する。さらに、ビデオコントローラ(VC)106は、CRTディスプレイ(CRT)110等の表示器への表示を制御する。尚、表示器はCRTだけでなく、液晶ディスプレイであっても構わない。これらは必要に応じて管理者が使用するものであって、本実施形態には直接関係があるものではない。
さらにまた、メモリコントローラ(MC)107は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)やフレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ111へのアクセスを制御する。
通信I/Fコントローラ(通信I/FC)108は、ネットワークを介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信やプリンタ1500との間でデータ送受信等が可能である。尚、CPU101は、例えばRAM102内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT110上での表示を可能としている。また、CPU101は、CRT110上の不図示のマウスカーソル等でのユーザ指示を可能とする。
次に、ホストコンピュータとネットワーク121を介して接続されたプリンタ1500において、CPU112は、ROM113のプログラム用ROM113bに記憶された制御プログラム等や外部メモリ114に記憶された制御プログラム等に基づいて、システムバス115に対して印刷部インタフェース(I/F)116を介して接続される印刷部(プリンタエンジン)117に出力情報としての画像信号を出力する。また、ROM113のプログラム用ROM113bには、CPU112の制御プログラム等が記憶される。また、ROM113のフォント用ROM113aには、上記出力情報を生成する際に使用するフォントデータ等を記憶する。さらに、ROM113のデータ用ROM113cには、ハードディスク(HD)やフレキシブルディスク(FD)等の外部メモリ114がないプリンタの場合に、ホストコンピュータ3000上で利用される情報等も記憶される。
また、プリンタ1500において、CPU112は、入力部118を介してホストコンピュータ3000との通信処理が可能となっており、プリンタ内の情報等をホストコンピュータ3000に通知可能に構成されている。さらに、RAM119は、CPU112の主メモリであって、ワークエリア等として機能する。ここで、RAM119は、図示しない増設ポートに接続されるオプションRAMにより、メモリ容量を拡張することができるように構成されている。尚、RAM119は、出力情報展開領域、環境データ格納領域、NVRAM等にも用いられる。
前述したハードディスク(HD)、ICカード等の外部メモリ114は、メモリコントローラ(MC)120によりアクセスが制御される。尚、外部メモリ114は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、操作部122は、操作パネルを有しており、操作のためのスイッチやLED表示器等が配置されている。
また、前述した外部メモリは1つに限られることはなく、少なくとも1つ以上備え、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。さらに、図示しないNVRAMを有し、操作パネルを備える操作部122からのプリンタモード設定情報を記憶するようにしてもよい。
また、本実施形態では、プリンタ1500がサポートするページ記述言語(以下、「PDL」と略す。)が、例えば、LBP Image Processing System(キヤノン社製、以下「LIPS」と称す。)といった比較的に高度なPDLであると想定しているが、これに限られるものではない。
本実施形態では、印刷機器制御プログラム(以下、「プリンタドライバ」という。)は外部メモリ111に記録されており、必要に応じてRAM102にロードされることによりCPU101によって実行される。さらに、本実施形態では、プリンタドライバが用いる定義ファイル及び各種情報テーブルは、外部メモリ111に格納されており、これらについての詳細な説明は後述する。
図2は、図1に示す印刷システムにおけるホストコンピュータ3000からプリンタ1500に印刷ジョブデータを送信する際の主な流れを示す機能ブロック図である。図2に示すように、ホストコンピュータ3000におけるアプリケーションプログラム(以下、「アプリケーション」)201、グラフィックエンジン202、プリンタドライバ203及びプリントサブシステム204は、それぞれ図1に示した外部メモリ111に保存されたファイルとして存在し、実行される際に、OSやそのモジュールを利用するモジュールによってRAM102にロードされ実行されるプログラムモジュールである。
尚、アプリケーション201及びプリンタドライバ203は、フレキシブルディスク(FD)、CD−ROM、或いは後述するネットワークを経由して、ハードディスク(HD)といった外部メモリ111に追加可能になっている。
外部メモリ111に保存されているアプリケーション201は、CPU101によってRAM102にロードされて実行される。このアプリケーション201からプリンタ1500に対して印刷を行わせる際には、同様にCPU101によってRAM102にロードされて実行されるグラフィックエンジン202を利用して出力(描画)することとなる。
グラフィックエンジン202は、印刷装置(プリンタ)毎に用意されたプリンタドライバ203を起動する。これにより、プリンタドライバ203は、CPU101によって外部メモリ111からRAM102にロードさせて実行される。グラフィックエンジン202は、このプリンタドライバ203を用いて、アプリケーション201の出力をPDLによるプリンタ制御命令に変換する。
プリンタドライバ203により変換されたプリンタ制御コマンドは、プリントサブシステム204を経て通信インタフェース108経由でプリンタ1500に出力される仕組みとなっている。
尚、このプリントサブシステム204は、OSによって起動されて、CPU101によって外部メモリ111からRAM102にロードされて実行されるものであり、印刷ジョブのスケジューリング、プリンタとのホストコンピュータと接続制御やプリンタのステータスの管理を行っている。
また、プリンタドライバ203は、前述したような、アプリケーション201から指示された印字や描画命令の出力に対してプリンタ制御コマンドを生成し、プリント出力に反映されるようプリンタに指示するだけでなく、プリンタドライバ203やプリンタ1500本体が持つ機能を制御するための設定を行う機能(以下、「ユーザインタフェース」という。)と、その設定を記憶する機能、プリンタドライバ203やプリンタ1500本体が持つ能力をアプリケーションやOSに情報提供する機能、上記ユーザインタフェースで設定された機能がプリンタの有する機能である場合にプリンタ制御命令を生成する機能、ユーザインタフェースで設定された機能がプリンタドライバ独自で行う機能の場合にその機能を実現する機能等を有する。
図3は、図1に示す印刷システムにおけるホストコンピュータ3000及びプリンタ1500を適用可能な別の印刷システムの一例を示すシステム構成図である。図3において、301はネットワークであり、複数のクライアントコンピュータ3000、プリンタ1500、及びプリントサーバコンピュータ4000が接続されている。ここで、図1に示すホストコンピュータ3000は、図3に示すクライアントコンピュータ3000を指すが、プリンタ1500がセントロニクスやUSB等のローカルインタフェース302を介してプリントサーバコンピュータ4000と接続される場合は、図1に示すホストコンピュータ3000にプリントサーバコンピュータ4000が含まれる。
図3に示す印刷システムの場合、クライアントコンピュータ3000の通信I/Fコントローラ108は、ネットワークインタフェースカード(NIC)の機能を有するものとする。また、プリンタ1500は、セントロニクスやUSB等のローカルインタフェース302を介してプリントサーバコンピュータ4000と接続され、当該プリントサーバ4000を介してネットワーク3000に接続される形態であっても、ネットワーク301に直接接続される形態であってもよい。尚、ネットワーク301に直接接続されているプリンタ1500の入力部118は、ネットワークインタフェースカード(NIC)の機能を有するものとする。
ここで、プリントサーバコンピュータ4000を介してネットワーク301に接続されるプリンタ1500に各クライアントコンピュータ3000から印刷ジョブを送信する場合、まず各クライアントコンピュータ3000は、プリントサブシステム204を介して、プリントサーバコンピュータ4000へ印刷ジョブを送信する。そして、プリントサーバコンピュータ4000は、各クライアントコンピュータ3000から送信されてきた印刷ジョブを、不図示のプリントサーバコンピュータ4000上のプリントサブシステムを介して、プリンタ1500へ送信する。これにより、各クライアントコンピュータ3000は、プリントサーバコンピュータ4000を介して印刷ジョブをプリンタ1500へ送信することができる。
また、ネットワーク301に直接接続されるプリンタ1500に各クライアントコンピュータ3000から印刷ジョブを送信する場合、各クライアントコンピュータ3000は、プリントサブシステム204を介して、ネットワーク301に直接接続されるプリンタ1500へ印刷ジョブを送信する。
次に、図4のタイミングチャートを用いて、本発明を適用するために好適なプリンタドライバの基本的な処理の流れについて説明する。
図4は、本発明の一実施形態に係る印刷指示装置(ホストコンピュータ3000又はプリントサーバコンピュータ4000)が印刷制御装置(プリンタ1500又はプリントサーバコンピュータ4000)に印刷を行わせる場合の基本的な処理の流れを示すタイミングチャートである。すなわち、図2に示すホストコンピュータのアプリケーション201、グラフィックエンジン202、プリンタドライバ203の処理に対応する。尚、図4においては、図2と同一の機器には同一の符号を付している。
図2に示したように、アプリケーション201は、プリンタドライバ203と直接やり取りを行うのではなく、OSの持つグラフィックエンジン202を介して行うため、アプリケーション201自体は、実際にはグラフィックエンジン202とやり取りを行う。グラフィックエンジン202は、アプリケーション201から指示を受け、プリンタドライバ203に対して指示を行う。
まず、アプリケーション201は、片面/両面設定や部数設定等の印刷のための設定(印刷設定)をRAM102に確保されたメモリを介してグラフィックエンジン202に通知する。そして、プリンタドライバ203は、グラフィックエンジン202より、その印刷設定とその印刷設定を元にプリンタドライバ203が印刷処理を行う上で必要な情報を格納する新たにRAM102上に確保されたメモリ領域の初期化要求を受信する(ステップS401)。これにより、プリンタドライバ203は、そのプリンタドライバ203が印刷処理を行うために必要な情報(プリンタドライバ情報)を保持するメモリ領域を確保し、印刷設定に従ってそのメモリ領域を初期化する。
次に、プリンタドライバ203は、プリンタドライバ203が参照する情報メモリの初期化処理要求の受信により必要な処理を完了すると、ステップS401で受信した印刷設定に応じたプリンタドライバ203の印刷能力をグラフィックエンジン202に通知する。そして、アプリケーション201は、グラフィックエンジン202より、最終的にプリンタ1500に送信される印刷ジョブとその印刷ジョブに反映する印刷設定とを関連付けるために必要なハンドル値を取得する(ステップS402)。
次に、アプリケーション201が印刷の開始要求をグラフィックエンジン202に行うと、プリンタドライバ203は、グラフィックエンジン202より印刷開始要求を受信する(ステップS403)。これにより、プリンタドライバ203は、PDLの生成処理を開始し、プリンタ1500が印刷開始に必要なプリンタ命令を生成することができる。但し、プリンタ1500が印刷開始に必要なプリンタ命令を生成する処理は、最初のページ(1ページ目)の印刷処理が開始された時点(アプリケーションからの最初のページの描画指示を受信した時点)でもあっても良い。
次に、アプリケーション201は、文字やイメージ等の描画オブジェクトの描画を実現するための描画指示をグラフィックエンジン202に対して行う。そして、プリンタドライバ203は、その描画指示をグラフィックエンジン202より受信する(ステップS404)。これにより、プリンタドライバ203は、指定された描画オブジェクトや改ページ、さらに不図示の印刷設定を途中で変更するための要求等を反映したプリンタ制御命令を適宜生成し、プリンタ1500へ出力する。尚、印刷するページ数は、アプリケーション201からの指定によるものとする。
次に、アプリケーション201が印刷の終了要求をグラフィックエンジン202に行うと、プリンタドライバ203は、グラフィックエンジン202より印刷終了要求を受信する(ステップS405)。これにより、プリンタドライバ203は、プリンタ1500が印刷終了に必要なプリンタ命令を生成し、PDLの生成処理を終了する。
次に、アプリケーション201は、ステップS402で取得したハンドル値の破棄要求をグラフィックエンジン202に通知する。そして、プリンタドライバ203は、グラフィックエンジン202より、プリンタドライバ203が印刷処理を行う上で必要な情報を格納するメモリ領域にある情報(プリンタドライバ情報)の破棄要求を受信する(ステップS406)。これにより、プリンタドライバ203は、上記プリンタドライバ情報の破棄処理を行う。
以上説明したステップS403〜ステップS405の処理により、プリンタ1500へ送信するための1つのジョブが生成されることになる。
本実施形態に係る印刷システムは、図1及び図2で示すプリンタとホストコンピュータに加えて、さらにアプリケーション201からの印刷データを一旦中間コードデータでスプールする構成を有する。このシステムにおいては、一旦スプールした中間コードデータの内容に対してさらに加工することができる。これにより、アプリケーション201からの印刷データに対して、拡大縮小や複数ページを1ページに縮小して印刷する等、アプリケーションが持たない機能を実現することができる。
図5は、グラフィックエンジン202からプリンタドライバ203へ印刷命令を送る際に、一旦中間コードからなるスプールファイル504を生成するように拡張された印刷システムの構成図である。図5で示す印刷システムにおいては、スプールファイル504の内容に対してさらに加工することができる。これにより、アプリケーションからの印刷データに対して、拡大縮小や複数ページを1ページに縮小して印刷する等、アプリケーションが本来持たない機能を実現することができる。
そこで、これらの目的を達成するために、図5に示すように、図2に示す印刷システムに対して中間コードデータでスプールするようにシステムの拡張がなされている。尚、印刷データの加工を行うためには、通常、プリンタドライバ203が提供するウインドウから設定を行い、プリンタドライバ203がその設定内容をRAM102上或いは外部メモリ111上に保管する。
以下、図5に示す印刷システムの詳細について説明する。図5に示すように、この拡張された印刷システムでは、グラフィックエンジン202からの印刷命令であるDDI関数をディスパッチャ501が受け取る。ディスパッチャ501がグラフィックエンジン202から受け取った印刷命令(DDI関数)が、アプリケーション201からグラフィックエンジン202へ発行された印刷命令(GDI関数)に基づくものである場合には、ディスパッチャ501は外部メモリ111に格納されている内部スプール処理モジュールであるスプーラ503をRAM102にロードし、通常の印字データ作成処理507ではなくスプーラ503へ印刷命令(DDI関数)を送付する。
スプーラ503は、受け取った印刷命令を解析し、ページ単位に中間コードに変換してスプールファイル504に出力する。このページ単位に格納されている中間コードのスプールファイルをページ描画ファイル(PDF:Page Description File)と呼ぶ。また、スプーラ503は、プリンタドライバ203に対して設定されている印刷データに関する加工設定(製本印刷、Nup、両面、ステイプル、カラー/モノクロ指定等)をプリンタドライバ203から取得してジョブ単位のファイルとしてスプールファイル504に保存する。
この時、ジョブ単位に格納されている設定ファイルをジョブ設定ファイル(簡略して、SDF(Spool Description Fileと呼ぶこともある。)と呼ぶ。このジョブ設定ファイルについては後述する。尚、スプールファイル504は、外部メモリ111上にファイルとして生成するが、RAM102上に生成するようにしても構わない。さらに、スプーラ503は、外部メモリ111に格納されているスプールファイルマネージャ505をRAM102にロードし、スプールファイルマネージャ505に対してスプールファイル504の生成状況を通知する。その後、スプールファイルマネージャ505は、スプールファイル504に保存された印刷データに関する加工設定の内容に従って印刷を行えるか否かを判断する。
その結果、スプールファイルマネージャ505がグラフィックエンジン202を利用して印刷を行えると判断した際には、外部メモリ111に格納されているデスプーラ506をRAM102にロードし、デスプーラ506に対して、スプールファイル504に記述された中間コードのページ描画ファイルの印刷処理を行うように指示する。
デスプーラ506は、スプールファイル504に含まれる中間コードのページ描画ファイルをスプールファイル504に含まれる加工設定情報を含むジョブ設定ファイルに従って加工し、GDI関数を再生成し、もう一度グラフィックエンジン202経由でGDI関数を出力する。
ディスパッチャ501がグラフィックエンジン202から受け取った印刷命令(DDI関数)がデスプーラ506からグラフィックエンジン202へ発行された印刷命令(GDI関数)に基づいたものである場合には、ディスパッチャ501はスプーラ1103ではなく、プリンタドライバの通常の印字データ作成処理507に印刷命令を送る。プリンタドライバ203は、グラフィックエンジン202から取得したDDI関数に基づいてPDL等からなるプリンタ制御コマンドを生成し、プリントサブシステム204経由でプリンタ1500に出力する。
以上、図1〜図5を用いて本実施形態を実施するために好適な動作環境、或いはプリンタドライバ203の全体的な処理内容について説明したが、次に、本発明の一実施形態に係る印刷システムの動作について詳述する。
図6は、本発明の一実施形態に係る印刷システム全体の動作を説明するためのフローチャートである。すなわち、図6では、プリンタ本体の動作、若しくはサーバ装置(プリントサーバコンピュータ4000)等(以下、サーバと略す)とクライアント装置(ホストコンピュータ3000)との関係を示している。
まず、アプリケーションから印刷が開始された際に、クライアント装置はOSからの印刷予約情報を含む印刷要求を受け付ける(ステップS601)。ここで、印刷データは、図5に示す印刷システムのスプーラ503より、スプールファイルとして一時的に保存される。また、図5において内部スプール処理を使用しない場合であっても、プリンタを一時停止させて印刷データ507をスプールファイルとして保持しておくことも可能である。この印刷開始時、もしくは印刷開始前に予め、クライアント装置にて印刷予約情報を設定させる。
図13は、印刷予約情報を選択するユーザインタフェースの一例を示す図である。例えば、ユーザはクライアント装置のモニタ上に表示された図13に示すユーザインタフェースを用いて、印刷予約の日付、時間等を設定することができる。具体的には、印刷予約日付は表示されたカレンダーの該当する日付けをマウス等でクリックすることで指定が可能である。
次に、一時的に保持したスプールファイルのサイズとネットワーク回線上の転送速度より、プリンタへの転送時間を算出する(ステップS602)。すなわち、ネットワークの転送速度を取得するための任意のデータをクライアント装置からプリンタ側へ送信してからクライアント装置へ戻ってくるまでの時間と任意のデータサイズから転送速度を割り出す。そして、一時的に保持したスプールファイルのサイズと転送速度から、出力データとプリンタへの転送時間を算出する。
例えば、256バイトのデータをデバイスに送信してからデバイスから同じく256バイトのデータが返され、その送受信に要する時間が1秒だった場合、その転送速度は512バイト/秒となる。また、スプールファイルサイズが1024Kバイトだった場合、プリンタへの転送速度は2000秒となる。
そして、印刷実行タイミングの決定を行う(ステップS603)。図7は、クライアント側より送信された情報等に基づいてサーバが印刷予約指定時刻等の決定を行う処理を説明するためのフローチャートである。
まず、クライアント装置よりサーバへ、クライアント名称、ジョブ名称、印刷予約開始時刻、ジョブ等の印刷予約情報を送信する(ステップS701)。図11は、ステップS701においてクライアント装置からサーバへ送信する印刷予約情報の一例を示す図である。尚、クライアント装置からサーバへ送信する印刷予約データには、図11に示すクライアント名称、ジョブ名称、印刷予約開始時刻、ジョブ等の印刷予約情報の他に、送信元であるクライアント装置のアドレスと送信先であるサーバ装置のアドレスが含まれる。また、クライアント装置が送信する情報は、予めクライアント側で設定させていたり、アプリケーションで印刷開始時にユーザが入力したものや、印刷ジョブのスプール時にドライバ側で印刷ジョブ情報を収集したもの等、いろいろな収集方法・情報形態がありうる。例えば、図13に示すユーザインタフェースのようにクライアント装置上で設定画面を表示し、予約情報をユーザに設定させ、その情報をサーバへ送信する。
次いで、サーバは、クライアント装置から印刷予約情報を受け付ける(ステップS702)。そして、クライアント装置から送られた図11に示す印刷予約情報とその時点におけるデバイス構成の情報を取得する(ステップS703)。図10は、デバイスから取得可能なデバイス構成情報の一例を示す図である。図10に示すように、デバイスから取得する情報としては、用紙残量、用紙サイズ、用紙タイプ、トナー残量等のさまざまな情報が考えられる。
さらに、サーバで管理している印刷予約リストの情報を取得する(ステップS704)。図9は、本発明の一実施形態に係る印刷システムにおけるサーバで管理する印刷予約リストの一例を示す図である。図9に示すように、印刷予約リストには、予約番号、クライアント名称、(印刷)ジョブ名称、ジョブサイズ、印刷開始時刻、データの転送所要時間、出力所要時間、印刷終了予定時刻、用紙枚数、用紙サイズ等が含まれる。さらに、印刷予約リストには、ユーザが予約時に設定した設定情報である、丸め制御許可や途中までの印字許可の有無、印字許可フォント最小サイズ等が含まれる。
そして、指定時刻に印刷対象のデータの印字が可能であるか否かを確認する(ステップS705)。具体的には、サーバで管理している印刷予約リスト内に、クライアント装置が指定してきた予約開始時刻において他に印刷開始予約しているジョブがないか等を確認する。その結果、他のジョブと印刷予約開始時刻が重複していなければ印字可能であると判断して(Yes)、クライアント装置が指定してきた時刻で印刷予約を設定する(ステップS708)。
一方、印刷開始時刻が重複していた場合は印字不可と判断して(No)、クライアント装置が指定してきた時刻に重複しない時刻であって、それにより近い時刻に予約時刻をずらす処理をする。具体的には、まず、当該印刷ジョブと指定時刻が重複している予約リストジョブとジョブサイズを比較する(ステップS723)。そして、ジョブサイズが小さい方の予約ジョブを指定された時刻よりも早く印刷するように修正し、ジョブサイズが大きい方の予約ジョブをその後に続いて印刷するようにそれぞれ印刷開示時刻を指定し(ステップS724)、それぞれ指定された時刻で印刷予約を設定する(ステップS708)。
また、これ以外にも、印刷開始時刻が重複した場合には、ジョブサイズが大きい方の印刷開始時刻を遅らせるように設定してもよい。さらに、他の印刷ジョブの出力が開始する前に予約ジョブの出力が終了する時刻に設定したり、他の印刷ジョブの出力が終了すると予想される時刻に予約設定を行ったり等、印刷開始時刻の設定方法にはいろいろなものが考えられる。また、ここでは印刷開始時刻を中心に設定を行っているが、印刷開始時刻でなく、印刷予約から何時間後或いは何日後といった指定方法も可能である。
次いで、現状のプリンタ構成でクライアント装置から要求されている印刷予約ジョブの出力可否を判定する(ステップS709)。すなわち、ここでは、クライアント装置から送信された予約印刷ジョブの属性とデバイス状況を照らし合わせて、出力が可能か否かの判定を行う。例えば、印刷ジョブで実際に出力される用紙サイズとデバイスに設定されている用紙サイズを照らし合わせる。その結果、クライアント装置が意図した用紙サイズがデバイスに設定されていなかった場合、予約印刷を行っても意図した用紙サイズで出力されず、予約印刷の意味をなさない。また、用紙タイプや用紙残量、ステイプル、トナー等も同様である。
そして、出力が可能と判断された場合(Yes)は、サーバから当該サーバで設定された印刷予約結果情報をクライアント装置へ送信する(ステップS721)。さらに、クライアント装置は、サーバより印刷予約結果情報を受け付け(ステップS710)、その後、印刷開始時刻を設定(確定)することとなる(ステップS722)。
ステップS709で、現状の設定でクライアント装置のジョブが出力可能でないと判定された場合(No)は、ジョブ属性を変更して出力することが可能か否かを判定するために、丸め処理が許可されているか否かに関して判定を行う(ステップS711)。図9に示すように、本実施形態では、サーバが印刷予約リストとして管理する情報の一つとして、クライアント装置の予約印刷ジョブの属性の丸め処理を許可するか否かという設定値がある。許可するか否かは、サーバ若しくはクライアント装置で設定された規定値を保持していたり、印刷予約時にユーザがクライアント装置上で図13に示すようなユーザインタフェースを用いて設定したりする等、さまざまな方法が考えられる。また、この丸め処理を許可していない場合であってジョブ属性を変更した場合に出力可能となる印刷ジョブについても、一律丸め処理を実行できないといった設定を行うことも可能である。
その結果、丸め処理が許可されていた場合(Yes)は、印刷予約ジョブの属性とデバイス状況を照らし合わせ、使用可能な属性を算出する(ステップS712)。ここで、具体的に、用紙枚数と用紙サイズを例に挙げて説明する。図9に示す印刷予約リストにおいて、印字開始時刻が2004年12月1日11:00、印字終了予定時刻が同日11:50であり、用紙サイズ:レターが100枚の印刷ジョブを予約したいとする。また、その時点においてデバイスに設定されている用紙サイズ:レターは100枚、A5サイズが500枚設定されているとする。
このとき、印字開始時刻と終了時刻を鑑みて、それ以前に用紙サイズ:レターで印字予約されている印刷ジョブはNo.3の印刷ジョブとなる。デバイスには100枚設定されており、No.3の印刷ジョブで消費される用紙が60枚ということは、予約ジョブの印字が開始される際に残存しているレターの用紙枚数は40枚となる。そこで、丸め処理可否判定に関して検討すると、ジョブで指定している用紙サイズがデバイスに設定されていなかった場合に、現時点でデバイスに設定されている用紙サイズに変更すれば出力可能であるため、この場合は丸め処理が可能と判断される。そこで、前記例の場合、予約ジョブは用紙サイズ:レターで100枚印字する必要があるため、当該用紙が60枚不足することとなる。これに対して、用紙サイズをA5に変更すれば100枚の印字が可能となる。従って、この場合はステップS714で丸め処理が可能と判断する。
また、用紙残量が少なくて出力が不可能な場合は、ジョブ属性を両面印刷、2UP/4UP/6UP印刷で用紙枚数を抑えることで出力が可能となる。例えば、前記例を用いた場合、クライアント装置で予約したい印刷ジョブの用紙枚数が合計で100枚であるが、その時点で使用可能な用紙枚数が40枚しかなかった場合、4UP印刷を行うことで100枚の用紙を消費することなく25枚の消費で済む。すなわち、ジョブ属性を等倍印刷から4UPへ変更することで出力できるということで、この場合もステップS714で丸め処理が可能と判断する。
その他にもステップS714におけるジョブ属性の丸め処理として、さまざまな回避策が考え得る。ここで、印刷ジョブ属性を変更することで出力可能か否かを判断し(ステップS714)、属性を変更することで出力が可能になる場合(Yes)は、サーバからクライアント装置へ印刷予約時刻と丸め処理候補をクライアント装置へ通知する(ステップS715)。
一方、ステップS714において丸め処理が不可能と判断した場合(No)、若しくはステップS711において丸め許可がないと判断した場合(No)は、サーバからクライアント装置へ印刷予約時刻を含む印刷予約結果情報、出力不可能通知を通知する(ステップS718)。また、ステップS709において出力可能と判断した場合(Yes)は、サーバからクライアント装置へ印刷予約結果情報を通知する(ステップS721)。
クライアント装置は、ステップS715、S718及びS721でサーバから通知された印刷予約結果情報を受け付ける(ステップS710)。その後、所定の処理を行って、印刷開始時刻を設定(確定)することとなる(ステップS722)。
すなわち、サーバから印刷予約結果情報をクライアント装置が取得した後(ステップS710)、クライアント装置は現状の予約設定で出力可能であったとサーバが印刷予約を受け付けたか否かを判断する(ステップS713)。その結果、印刷予約が受け付けられたと判断された場合(Yes)、クライアント装置は当該印刷開始時刻で印刷予約を設定(確定)する(ステップS722)。一方、印刷予約が受け付けられなかった場合(No)は、サーバから出力不可能通知を受け取ったか否かを判定する(ステップS717)。
その結果、出力不可能通知を受け取っていない場合(No)、クライアント装置は丸め処理候補を表示させ(ステップS716)、そこで丸め処理候補を選択したか否かを判定する(ステップS719)。その結果、丸め処理候補を選択した場合(Yes)は元の印刷開始時刻で印刷予約を設定(確定)する(ステップS722)。一方、ステップS719において丸め処理候補を選択しなかった場合(No)は、ジョブ属性を再設定するか否かを選択させる(ステップS720)。
ここで、ステップS720において、ジョブ属性を再設定するか否かを判断するのは、もともとサーバ、もしくはクライアント装置に予め設定されていた既定値を参照する、或いは図12に示すような、ディスプレイ等にユーザへ設定を促すユーザインタフェースを表示させてユーザに選択させる等、さまざまな判断方法がある。すなわち、図12は、丸め処理における優先順位を選択するためのユーザインタフェースの一例を示す図である。
ステップS720でジョブ属性を再設定しない場合(No)は、そのまま印刷開始時刻を設定(確定)する(ステップS722)。一方、ステップS720において、ジョブ属性を再設定すると判断した場合(Yes)は、印刷ジョブ属性を再設定し(ステップS707)、ステップS701に戻って上述した処理を再度行う。ジョブ属性を再設定する場合、古いジョブ属性の印刷予約情報を印刷予約リストから削除してジョブ属性を再設定した印刷予約情報を再度印刷予約リストに設定する指示をステップS701で送信する印刷予約情報に盛り込むよう、ステップS707にて指示する。以上が、図6に示すフローチャートのステップS603の印刷タイミングの決定処理である。
ステップS603の処理後、出力データをスプールファイル504に保存させる(ステップS604)。尚、図5に示す印刷システムにおいて、内部スプール処理を使用しなくても印刷データ507を中間コードデータではなく「*.prn」等のファイルに保存しておくことも可能であり、印刷データ保存の内容及び手法等はさまざまである。
そして、設定された印刷開始時刻になった時に、クライアント側からプリンタサーバに再度予約情報を送信する(ステップS605)。尚、印刷予約リストに基づいてサーバがクライアント側に再度予約情報を送信させることも可能であり、クライアント装置・サーバのどちらでの処理も可能である。
そして、サーバは、クライアント装置へ出力データの要求処理を行う(ステップS606)。図8は、図6のフローチャートにおける、クライアント装置より印刷予約された情報等に基づいて予約されたジョブの出力可否判定、丸め処理、クライアント装置へ出力データの送信要求処理等(ステップS606)を詳細に説明するためのフローチャートである。
まず、サーバは、デバイス状況と現在予約されているクライアント装置のジョブ属性を印刷予約リストから取得する。尚、デバイスから取得する情報は、図10に示すように、用紙残量、用紙サイズ、用紙タイプ、トナー残量、ステイプル針残量等、さまざまな情報が考えられる。そして、現状のプリンタ構成でクライアント装置から要求されている印刷予約ジョブの出力可否を判定する(ステップS801)。具体的には、予約印刷ジョブの属性とデバイス状況を照らし合わせ、出力が可能か否かの判定を行う。
その結果、予約印刷データの出力が可能と判断された場合(Yes)は、サーバからクライアント装置へ出力データの送信を要求し(ステップS814)、クライアント装置は出力データをプリンタ(プリンタサーバ)へ送信する(ステップS815)。尚、本実施形態においてはサーバからクライアント装置へ出力データの送信を要求し、クライアント装置が出力データをプリンタ(プリンタサーバ)へ送信することとしているが、必ずしもこれに限られるわけではなく、例えば、印刷予約時にクライアント装置が前もってプリンタ(プリンタサーバ)へ送信した出力データを利用するようにしてもよい。
一方、ステップS801において出力不可と判定された場合(No)は、ジョブ属性の丸め許可が設定されているか否かを判断する(ステップS802)。尚、丸め許可の設定は、一律サーバ若しくはクライアント装置において予め規定値を設定する、若しくは印刷予約時にユーザがPC上のディスプレイに表示された図13に示すようなユーザインタフェースから設定する等、様々な方法がある。
その結果、ジョブ属性の丸め処理が許可されていた場合(Yes)は、ステップS801において出力不可能と判定された出力データに関して丸め処理を行えば出力が可能であるか否か、かつ、そのデータがユーザの許容範囲の出力体裁であるか否かを判断する(ステップS803)。
ステップS803における丸め処理可否判定に関して具体例について説明する。ジョブで指定している用紙サイズがデバイスに設定されていなかった場合、現時点でデバイスに設定されている用紙サイズに変更すれば出力可能であるため、この場合は丸め処理が可能と判断される。例えば、ジョブで設定されている用紙サイズがB4であった場合、デバイスに設定されている用紙サイズがA4/A5/A3であった場合、B4からデバイスに設定されているA4/A5/A3のいずれかの用紙サイズに変更すれば出力可能である。従って、この場合は、丸め処理が可能と判断する。
また、用紙残量が少なくて出力不可能な場合は、ジョブ属性を両面印刷、2UP/4UP/6UP印刷で用紙枚数を抑えることで出力可能となる。例えば、予約ジョブでは用紙枚数が100枚設定されているが、デバイスに50枚しか残存されていない場合、印刷ジョブの属性を2UPにした場合は用紙枚数:50枚で済むため、出力が可能となる。その場合、丸め処理が可能と判断する。また、その他さまざまな回避策が考えられる。
その後、丸め処理後の出力体裁が許容範囲内であるかどうかに関しては、その判定方法の1つに出力フォントサイズを確認する手段がある。用紙枚数が足りないため、用紙枚数をおさえることで出力可能だとしても、印字された文字が読めない程に縮小されていた場合、出力されても意味をなさない。よって、丸め処理を行った後の出力体裁が実際に許容範囲内であるか否かをここで判定を行う。
フォントサイズを例にとると、まず、図9に示す予約印刷データに実際に出力されるフォントサイズ及び印字を許可するフォントの最小サイズを格納しておく。ジョブ属性を4UP印刷へ変更することで出力が可能となる場合、1UPを4UPにすることで出力データの縮小率を計算することができる。その縮小率を用いて丸め処理前のフォントサイズから丸め処理(ここでは、4UP印刷へ変更)を行った後のフォントサイズを算出する。丸め処理後の出力フォントサイズが許容範囲内であった場合、丸め処理を行って出力可能と判断する。
ステップS803で出力可能と判断された場合(Yes)は、次いで丸め処理候補が複数存在するか否かを判定する(ステップS805)。その結果、複数存在した場合(Yes)は、ステップS719で設定された丸め処理の優先順位に従って、丸め処理を選択する(ステップS807)。尚、ステップS719において表示・選択された丸め処理とは別のものが存在した場合、それは予めクライアント装置にてユーザインタフェース等で設定された優先順位付けを示す値に従う。そして、サーバからクライアント装置へ出力データの属性変更の要求を通知する(ステップS810)。
その後、サーバから出力データの属性変更を受け取ったクライアント装置は、出力データの属性の変更処理を行い(ステップS811)、出力データをプリンタサーバへ送信する(ステップS815)。尚、印刷予約時にクライアント装置が前もってプリンタ(プリンタサーバ)へ出力データを送信している場合は、当該出力データは破棄することとなる。
一方、ステップS802において丸め許可がないと判定された場合(No)、又はステップS803において丸め処理不可或いは丸め処理後の出力体裁が許容範囲外であると判断された場合、すなわち丸め処理を行っても無理と判断された場合(No)は、予約時の設定のまま途中まで出力する許可が設定されているか否かを判定する(ステップS804)。
ここで、途中までの印字許可に関しては、サーバ又はクライアント装置において予め規定値を設定する、若しくは印刷予約時にユーザがPC上のディスプレイに表示された図13に示すようなユーザインタフェースから設定する等、様々な方法がある。そして、印刷予約時にクライアント装置がサーバへ情報を通知した際の設定項目の1つとして、図9に示すようなサーバの印刷予約リストの項目として保持される。
途中まで出力可能という場合は、例えば、デバイスに予約データの用紙サイズは設定されているが、用紙残量が少なくて全枚数の出力が不可能な際はデバイスに用紙がある限りを出力するということである。そこで、途中まで出力許可がある場合(Yes)は、途中まで出力が可能であるかどうかを判断する(ステップS806)。そして、途中まで出力が可能であると判断された場合(Yes)は、さらにどこまで出力可能であるかをクライアント装置へ通知し、プリンタのパネル上にそれを表示させる(ステップS808)。そして、どこまで出せるかに関する情報を盛り込んだ1ページからなるジョブをプリンタへ送信する(ステップS809)。その後、サーバからクライアント装置へ出力データの送信を要求する(ステップS814)。そして、クライアント装置は、サーバから出力データの送信要求を受け取った後、出力データをサーバ(プリンタサーバ)へ送信する(ステップS815)。
一方、ステップS804において途中までの出力許可がないと判断された場合(No)、及びステップS806において途中までの出力が不可能と判断された場合(No)は、予約印刷データの出力不可をクライアント装置へ通知し、クライアント装置のディスプレイ上にその旨を表示させたり、プリンタへ通知してプリンタのパネル上に表示させる(ステップS812)。そして、クライアント名、ジョブ名称等が含まれている1ページからなる出力不可通知ジョブをプリンタへ送信する(ステップS813)。以上がステップS606における予約印刷データの出力要求処理の詳細である。
その後、プリンタは、クライアント装置或いはサーバから送信された出力データを受け付けて印字処理を実行する(ステップS607)。その後、出力不可となったジョブに関しては定期的に、若しくはサーバに他の印刷予約情報が送信された際等に、デバイスの情報を取得して、プリンタデバイス状況の監視を行う(ステップS608)。そして、出力不可ジョブが印字される状況になった場合は、再度、ステップS606の処理に戻って印刷データの出力要求処理を行う。
尚、本実施形態に係る印刷システムは、上述した図6〜図11の各種テーブルの構成及びその内容だけに限定されるものではなく、用途や目的に応じて様々な構成や内容で構成されることは言うまでもない。
このように、本実施形態に係る印刷システムにおいては、印刷予約時及び印刷実行時等に、その時点のプリンタデバイス構成を把握し、意図通りの体裁で予約印刷ジョブの出力を実行することができる。すなわち、従来のように、単純に印刷予約を受け付けるだけでなく、予約受付時及び印刷時でのプリンタデバイス構成において予約印刷ジョブの印刷可否についての判定を行って、できる限り利用者が意図する通りの体裁で印刷することができる。
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体(記録媒体)等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図に示すフローチャートに対応したプログラム)を、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などがある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
101、112 CPU
102、119 RAM
103、113 ROM
104、115 システムバス
105 入力コントローラ
106 ビデオコントローラ
107 メモリコントローラ
108 通信I/Fコントローラ
109 キーボード
110 CRT(モニタ)
111 外部メモリ(HD、FD)
113a フォントROM
113b プログラムROM
113c データROM
114 外部メモリ(HD)
116 印刷部I/F
117 印刷部
118 入力部
120 メモリコントローラ
121 データ転送経路
122 操作部
201 アプリケーション
202 グラフィックエンジン
203 プリンタドライバ
204 プリントサブシステム
501 ディスパッチャ
502 内部スプール処理
503 スプーラ
504 スプールファイル
505 スプールファイルマネージャ
506 デスプーラ
507 印刷データ作成処理
1500 プリンタ
3000 ホストコンピュータ(クライアントコンピュータ)
400 プリントサーバコンピュータ
102、119 RAM
103、113 ROM
104、115 システムバス
105 入力コントローラ
106 ビデオコントローラ
107 メモリコントローラ
108 通信I/Fコントローラ
109 キーボード
110 CRT(モニタ)
111 外部メモリ(HD、FD)
113a フォントROM
113b プログラムROM
113c データROM
114 外部メモリ(HD)
116 印刷部I/F
117 印刷部
118 入力部
120 メモリコントローラ
121 データ転送経路
122 操作部
201 アプリケーション
202 グラフィックエンジン
203 プリンタドライバ
204 プリントサブシステム
501 ディスパッチャ
502 内部スプール処理
503 スプーラ
504 スプールファイル
505 スプールファイルマネージャ
506 デスプーラ
507 印刷データ作成処理
1500 プリンタ
3000 ホストコンピュータ(クライアントコンピュータ)
400 プリントサーバコンピュータ
Claims (14)
- 複数の印刷予約が設定可能な印刷制御装置と、該印刷制御装置に対してネットワークを介して接続され、印刷予約を実行する印刷指示装置とを備える印刷システムであって、
前記印刷制御装置が、
前記ネットワークを介して前記印刷指示装置から印刷予約に関する情報を受信する受信手段と、
前記印刷予約で指定された時刻での印刷が可能であるか否かを判断する判断手段と、
前記判断手段による前記印刷予約の可否に関する判定結果を前記印刷指示装置に通知する通知手段とを備え、
前記印刷指示装置が、
アプリケーションから前記印刷予約に関する情報を取得する取得手段と、
前記印刷予約に関する情報を前記印刷制御装置に送信する送信手段と、
前記通知手段によって通知された前記判定結果に基づいて印刷予約を確定する確定手段とを備える
ことを特徴とする印刷システム。 - 前記印刷制御装置が、前記判断手段により印刷不可能と判断された場合に、前記印刷予約に基づいて印刷可能候補を算出する算出手段をさらに備え、
前記通知手段は、前記算出手段により算出された前記印刷可能候補を前記印刷指示装置に通知する
ことを特徴とする請求項1に記載の印刷システム。 - 前記印刷可能候補が、前記印刷制御装置での印刷可能時刻、又は印刷可能体裁を示す印刷可能属性の少なくとも一方を含むことを特徴とする請求項2に記載の印刷システム。
- 前記印刷制御装置が、前記通知手段により通知された前記印刷可能候補から印刷予約を選択する選択手段をさらに備え、
前記確定手段が、前記選択手段により選択された印刷予約を確定する
ことを特徴とする請求項2又は3に記載の印刷システム。 - 前記印刷指示装置が、前記印刷予約が行われた印刷データを保持する保持手段をさらに備え、
前記印刷制御装置が、前記確定手段により確定した前記印刷予約の印刷実行時に、前記印刷手段が備える前記保持手段から前記印刷データを取得して印刷を実行する印刷手段をさらに備える
ことを特徴とする請求項1から4までのいずれか1項に記載の印刷システム。 - 前記受信手段により受信された前記印刷予約の印刷時刻が前記印刷制御装置にすでに予約されている他の印刷予約の印刷時刻とが重複する場合に、それぞれの印刷予約に関する印刷データのサイズを比較し、サイズが小さな印刷データをサイズが大きな印刷データよりも早く印刷されるように印刷予約時刻を変更する変更手段をさらに備えることを特徴とする請求項1から5までのいずれか1項に記載の印刷システム。
- 複数の印刷予約が設定可能な印刷制御装置と、該印刷制御装置に対してネットワークを介して接続され、印刷予約を実行する印刷指示装置とを備える印刷システムであって、
前記印刷制御装置が、
前記ネットワークを介して前記印刷指示装置から印刷予約に関する情報を受信する受信手段と、
前記印刷予約で指定された時刻での印刷が可能であるか否かを判断する判断手段と、
前記判断手段により印刷可能と判断された場合は前記印刷予約で指定された時刻に印刷を実行し、前記判断手段により印刷不可能と判断された場合は、前記印刷予約に基づいて印刷可能候補を算出し、該印刷可能候補に従って印刷を実行する印刷手段とを備え、
前記印刷指示装置が、
アプリケーションから前記印刷予約に関する情報を取得する取得手段と、
前記印刷予約に関する情報を前記印刷制御装置に送信する送信手段とを備える
ことを特徴とする印刷システム。 - 複数の印刷予約が設定可能な印刷手段と、
前記印刷手段に印刷させる印刷データを保持する保持手段と、
前記印刷手段に対して前記印刷データの印刷予約を行う予約手段と、
前記印刷予約で指定された時刻に前記印刷手段による前記印刷データの印刷実行が可能であるか否かを判断する判断手段と、
前記判断手段による判断結果に基づいて前記印刷データの印刷予約を確定する確定手段と、
前記確定手段で確定した印刷予約の内容で前記保持手段に保持された前記印刷データを前記印刷手段で印刷させる制御手段と
を備えることを特徴とする印刷システム。 - 前記確定手段による確定した前記印刷予約で指定された時刻に、前記印刷データの印刷実行が可能であるか否かを再判定する再判定手段と、
前記再判定手段により前記印刷データの印刷実行が不可能であると判定された場合、前記印刷データの印刷属性を変更する変更手段とをさらに備え、
前記制御手段が、前記変更手段により印刷属性が変更した前記印刷データを前記印刷手段で印刷させる
ことを特徴とする請求項7に記載の印刷システム。 - 複数の印刷予約が設定可能な印刷制御装置と、該印刷制御装置に対してネットワークを介して接続され、印刷予約を実行する印刷指示装置とを備える印刷システムの制御方法であって、
前記印刷制御装置に、
前記ネットワークを介して前記印刷指示装置から印刷予約に関する情報を受信する受信工程と、
前記印刷予約で指定された時刻での印刷が可能であるか否かを判断する判断工程と、
前記判断工程による前記印刷予約の可否に関する判定結果を前記印刷指示装置に通知する通知工程と実行させ、
前記印刷指示装置に、
アプリケーションから前記印刷予約に関する情報を取得する取得工程と、
前記印刷予約に関する情報を前記印刷制御装置に送信する送信工程と、
前記通知工程によって通知された前記判定結果に基づいて印刷予約を確定する確定工程とを実行させる
ことを特徴とする制御方法。 - 複数の印刷予約が設定可能な印刷制御装置と、該印刷制御装置に対してネットワークを介して接続され、印刷予約を実行する印刷指示装置とを備える印刷システムの制御方法であって、
前記印刷制御装置に、
前記ネットワークを介して前記印刷指示装置から印刷予約に関する情報を受信する受信工程と、
前記印刷予約で指定された時刻での印刷が可能であるか否かを判断する判断工程と、
前記判断工程により印刷可能と判断された場合は前記印刷予約で指定された時刻に印刷を実行し、前記判断工程により印刷不可能と判断された場合は、前記印刷予約に基づいて印刷可能候補を算出し、該印刷可能候補に従って印刷を実行する印刷工程とを実行させ、
前記印刷指示装置に、
アプリケーションから前記印刷予約に関する情報を取得する取得工程と、
前記印刷予約に関する情報を前記印刷制御装置に送信する送信工程とを実行させる
ことを特徴とする制御方法。 - 複数の印刷予約が設定可能な印刷手段を備える印刷システムを制御する制御方法であって、
前記印刷手段に印刷させる印刷データを保持手段に保持する保持工程と、
前記印刷手段に対して前記印刷データの印刷予約を行う予約工程と、
前記印刷予約で指定された時刻に前記印刷手段による前記印刷データの印刷実行が可能であるか否かを判断する判断工程と、
前記判断工程による判断結果に基づいて前記印刷データの印刷予約を確定する確定工程と、
前記確定工程で確定した印刷予約の内容で前記保持手段に保持された前記印刷データを前記印刷手段で印刷させる制御工程と
を有することを特徴とする制御方法。 - 複数の印刷予約が設定可能な印刷手段に印刷させる印刷データを保持手段に保持する保持手順と、
前記印刷手段に対して前記印刷データの印刷予約を行う予約手順と、
前記印刷予約で指定された時刻に前記印刷手段による前記印刷データの印刷実行が可能であるか否かを判断する判断手順と、
前記判断手順による判断結果に基づいて前記印刷データの印刷予約を確定する確定手順と、
前記確定手順で確定した印刷予約の内容で前記保持手段に保持された前記印刷データを前記印刷手段で印刷させる制御手順と
をコンピュータに実行させるためのプログラム。 - 請求項13に記載のプログラムを格納したことを特徴とするコンピュータ読み取り可能な記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004371819A JP2006178767A (ja) | 2004-12-22 | 2004-12-22 | 印刷予約システム及びその制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004371819A JP2006178767A (ja) | 2004-12-22 | 2004-12-22 | 印刷予約システム及びその制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006178767A true JP2006178767A (ja) | 2006-07-06 |
Family
ID=36732828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004371819A Withdrawn JP2006178767A (ja) | 2004-12-22 | 2004-12-22 | 印刷予約システム及びその制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006178767A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008209974A (ja) * | 2007-02-23 | 2008-09-11 | Seiko Epson Corp | 印刷予約システム、及び、印刷予約プログラム |
JP2010154252A (ja) * | 2008-12-25 | 2010-07-08 | Brother Ind Ltd | 通信装置 |
US9658813B2 (en) | 2013-08-21 | 2017-05-23 | Fuji Xerox Co., Ltd. | Information processing device, information processing system, information processing method, and storage medium |
JP2019145035A (ja) * | 2018-02-23 | 2019-08-29 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法、プログラムおよび記憶媒体 |
-
2004
- 2004-12-22 JP JP2004371819A patent/JP2006178767A/ja not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008209974A (ja) * | 2007-02-23 | 2008-09-11 | Seiko Epson Corp | 印刷予約システム、及び、印刷予約プログラム |
JP2010154252A (ja) * | 2008-12-25 | 2010-07-08 | Brother Ind Ltd | 通信装置 |
US9658813B2 (en) | 2013-08-21 | 2017-05-23 | Fuji Xerox Co., Ltd. | Information processing device, information processing system, information processing method, and storage medium |
JP2019145035A (ja) * | 2018-02-23 | 2019-08-29 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法、プログラムおよび記憶媒体 |
JP7246857B2 (ja) | 2018-02-23 | 2023-03-28 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法およびプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3720740B2 (ja) | 分散印刷システム、分散印刷制御方法、記憶媒体、及びプログラム | |
JP4785577B2 (ja) | 情報処理装置及びその制御方法、プログラム | |
US7283266B2 (en) | Information processing apparatus and print control apparatus, data processing method, storage medium and program | |
JP4630751B2 (ja) | 印刷システム、印刷装置及びその制御方法、プログラム | |
EP1367482A2 (en) | Information processing apparatus and print system | |
JP2007317088A (ja) | 情報処理装置、印刷制御方法、プログラム及びコンピュータ可読の記憶媒体 | |
JP2010165261A (ja) | 印刷制御装置とその制御方法 | |
US20080266601A1 (en) | Information processing apparatus and job management method | |
JP2002044344A (ja) | 情報処理装置および情報処理方法および印刷処理プログラムを格納した記憶媒体および印刷システム | |
JP2004246570A (ja) | 情報処理装置 | |
JP4869009B2 (ja) | 情報処理装置及び情報処理方法 | |
JP2009146277A (ja) | 情報処理装置及び印刷制御方法、並びにプログラム | |
JP4383696B2 (ja) | 印刷システム及びその制御方法と印刷管理装置及び方法 | |
JP2009151559A (ja) | 情報処理装置及び印刷制御方法、印刷制御プログラム、印刷装置、並びに印刷システム | |
JP2004070871A (ja) | ネットワークプリンタ及びデータ共有印刷システム | |
JP2003228474A (ja) | 情報処理装置および印刷制御装置および印刷システムおよびデータ処理方法および記憶媒体およびプログラム | |
JP4886501B2 (ja) | 印刷装置、印刷制御方法、及びプログラム | |
JP2006178767A (ja) | 印刷予約システム及びその制御方法 | |
JP2006189920A (ja) | ユーザインタフェース装置、ユーザインタフェースの表示方法及びプログラム | |
JP3743184B2 (ja) | プリントシステム、プリンタおよびプリントサーバ | |
JP2006350443A (ja) | 印刷システムおよび印刷制御方法およびプログラム | |
JP4110021B2 (ja) | 部門管理を伴う印刷処理を行う印刷処理プログラム及び情報処理装置及び情報処理方法並びに記憶媒体 | |
JP2004202754A (ja) | 画像形成装置およびプログラム | |
JP2006263969A (ja) | 画像処理装置及び印刷ジョブ生成装置ならびに画像処理システム | |
JP3583879B2 (ja) | プリンタ制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20080304 |