JP5680926B2 - プリントシステム、印刷方法、プリントサーバ及びその制御方法、並びにプログラム - Google Patents

プリントシステム、印刷方法、プリントサーバ及びその制御方法、並びにプログラム Download PDF

Info

Publication number
JP5680926B2
JP5680926B2 JP2010222436A JP2010222436A JP5680926B2 JP 5680926 B2 JP5680926 B2 JP 5680926B2 JP 2010222436 A JP2010222436 A JP 2010222436A JP 2010222436 A JP2010222436 A JP 2010222436A JP 5680926 B2 JP5680926 B2 JP 5680926B2
Authority
JP
Japan
Prior art keywords
print
print job
job
printing
printing apparatus
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
JP2010222436A
Other languages
English (en)
Other versions
JP2012078999A5 (ja
JP2012078999A (ja
Inventor
鈴木 慎也
慎也 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2010222436A priority Critical patent/JP5680926B2/ja
Priority to US13/228,423 priority patent/US20120081731A1/en
Publication of JP2012078999A publication Critical patent/JP2012078999A/ja
Publication of JP2012078999A5 publication Critical patent/JP2012078999A5/ja
Application granted granted Critical
Publication of JP5680926B2 publication Critical patent/JP5680926B2/ja
Expired - Fee Related 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/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1288Remote printer device, e.g. being remote from client or server in client-server-printer device configuration
    • 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/1205Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
    • 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/1244Job translation or job parsing, e.g. page banding
    • G06F3/1245Job translation or job parsing, e.g. page banding by conversion to intermediate or common format
    • 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/1244Job translation or job parsing, e.g. page banding
    • G06F3/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format
    • 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/1253Configuration of print job parameters, e.g. using UI at the client
    • G06F3/1258Configuration of print job parameters, e.g. using UI at the client by updating job settings at the printer
    • 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/1222Increasing security of the print job
    • 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/1238Secure printing, e.g. user identification, user rights for device usage, unallowed content, blanking portions or fields of a page, releasing held jobs
    • 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/1267Job repository, e.g. non-scheduled jobs, delay printing

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参照)。これにより、ユーザはアプリケーションからの印刷時に特定の印刷装置への出力ではなく、所望の印刷装置からの印刷データ出力を可能としている。
また、ユーザの意図しない印刷出力がなされた場合の再印刷手段として、印刷装置上のパネルにクライアントPC上で動作しているプリンタドライバのUI(User Interface)を表示する。そして、このUIを操作することで再印刷設定と再印刷を指示するシステムの提案がなされている(例えば、特許文献2参照)。
さらに、セキュアプリントの手段として、サーバが認証情報をクライアントおよび印刷装置に送信し、クライアント側で得た認証情報を、印刷装置上で入力することで認証を行うプリントシステムが提案されている(例えば、特許文献3参照)。サーバが印刷データを印刷装置の格納領域に送信し、格納された印刷データに対応する認証情報をクライアント側のユーザに通知する。そして、ユーザはこの認証情報を印刷装置に入力して、印刷をする場合は印刷データを格納領域から取得して印刷をすることができ、セキュアかつユーザの待ち時間が少ない印刷を可能としている。
特許第4033857号明細書 特開2007−304881号公報 特開2003−280866号公報
従来の方法では、ユーザが印刷装置からサーバ上に一時蓄積された印刷データに対して印刷要求を行う際に、印刷設定情報の変更を指示することが困難である。サーバ上に一次蓄積される印刷データの形式は、印刷装置に依存したPDL(Page Description Language)であるため、印刷設定情報の変更の指示通りにPDLを編集しなければならない。具体例を示す。ユーザが印刷装置からサーバ上に一時蓄積された印刷データに対して印刷要求を行う際に、4ページを1ページに割り付けるような印刷設定(以後、4in1と称する)を指示したとする。このとき、サーバ上に一次蓄積される印刷データ、即ちPDLを4in1に適合するように変更する必要がある。もし、PDLが印刷装置の解像度に依存するラスタ形式であるなら、4in1を実現するためにラスタ画像を縮小することになるので、細線の消失等、品質上の様々な問題が生じる。また、PDLは多種多様な仕様が存在するので、それら複数のPDLに対応することは多大な労力を必要とする。そもそも、PDLの仕様が非公開であったら、PDLを変更することもできない。
また、ユーザが印刷装置から印刷設定情報の変更を指示する方法として、印刷装置上のパネルにクライアントPC上で動作しているプリンタドライバのUIを表示する方法がある。しかし、この方法は、プルプリントシステムに適用するのが困難である。ユーザが、プルプリントを実行するためにクライアントPC上で印刷を指示する時点では、まだ出力対象の印刷装置は確定していないので、使用するプリンタドライバUIの機能は印刷装置に依存しない汎用的なものにならざるを得ない。そして、ユーザが印刷装置に赴き、印刷装置上のパネルを操作する時点で初めて出力対象の印刷装置が確定する。つまり、印刷装置上のパネルに表示するプルプリント用のプリンタドライバUIの機能は汎用的なものに過ぎない、即ち印刷装置固有の機能を使えないので、印刷設定可能な機能が限定されてしまう。
また、サーバからクライアントに認証情報を送信し、ユーザが印刷装置上で認証情報を入力することでセキュアプリントを可能とする方法がある。しかし、この場合もクライアントが印刷を指示したときにすでに対象印刷装置が決定している必要があるため、プルプリントシステムには適応できない。さらに、印刷データが印刷装置に保存された時点で、PDL変換が完了しているため、前述した通り印刷設定情報の変更が困難となっている。
さらに、前述したプルプリントシステムと、前述した印刷装置に予め保存しておくことでユーザの待ち時間が少ないシステムを同時に導入することは難しく、現在は運用によってユーザの望むシステムを導入することとなる。ただし、ユーザとしてはプルプリントシステムと、待ち時間が少ないシステムを統合したいという要望もあり、課題となっている。
上記課題を解決するため、本発明は以下の構成を有する。すなわち、印刷装置に送信される前の形式である中間形式の印刷ジョブを生成する仮想プリンタドライバを備える情報処理装置と、前記印刷ジョブを管理するプリントサーバと、印刷装置とを含むプリントシステムであって、前記プリントサーバは、前記情報処理装置から受信した前記中間形式の印刷ジョブを記憶する記憶手段と、前記印刷装置からジョブの一覧の要求を受信した際に、当該印刷装置に対応するプリンタドライバがインストールされていなかった場合、前記印刷装置に対応するプリンタドライバのインストール処理を実行するインストール手段と、前記インストール手段によるインストール処理の対象となった前記プリンタドライバを用いて、前記記憶手段により記憶された中間形式の印刷ジョブを前記印刷装置にて印刷可能な第1PDL印刷ジョブに変換する変換手段と、前記変換手段にて変換された前記第1PDL印刷ジョブが前記印刷装置にて保存されるように前記第1PDL印刷ジョブを送信する送信手段とを有し、前記記憶手段は、前記第1PDL印刷ジョブが生成された後も前記中間形式の印刷ジョブを記憶し、前記送信手段は、前記印刷装置から前記印刷ジョブに対する印刷設定変更指示を受信した場合、変更された印刷設定情報と前記記憶手段に記憶された前記中間形式の印刷ジョブに基づいて生成された第2PDL印刷ジョブを前記印刷装置に送信し、前記印刷装置は、前記送信手段により送信された前記第1PDL印刷ジョブを保存する保存手段と、前記印刷ジョブを印刷する印刷手段と、印刷ジョブを選択する選択手段と、前記選択手段により選択された印刷ジョブに対する前記印刷設定情報の変更指示を送信する設定変更送信手段とを有し、前記印刷手段は、前記設定変更送信手段によって印刷設定情報の変更指示が送信された場合、前記プリントサーバから送信された前記第2PDL印刷ジョブを用いて印刷を行い、前記設定変更送信手段によって印刷設定情報の変更指示が送信されい場合、前記保存手段にて保存されている前記第1PDL印刷ジョブを用いて印刷を行う。
本発明により、ユーザが印刷装置からサーバ上に一時蓄積された印刷データに対して印刷要求を行う際に、印刷設定の変更を指示することが可能となる。また、ユーザが印刷設定変更や印刷ジョブを確認している間に、プリンタドライバインストールとPDL変換を行っておくため、ユーザが印刷指示をしたらすぐに印刷装置から出力することができる。そして、以上の2つのシステムを、システム内でユーザが印刷設定を変更したか否かを判別することで、印刷設定可能などこでもプリントシステムでありながら、ユーザが印刷設定を変更しない場合、印刷指示後すぐに印刷装置から出力することができる。
本発明に係るプリントシステムの構成の一例を示すシステム構成図。 本発明に係る各装置のハードウェア構成を示すブロック図。 本発明に係る複合機のコントローラユニットの構成の例を示すブロック図。 プリントシステムにおけるプルプリントの全体の流れを説明する模式図。 本発明に係る各データフローの詳細を示す図。 本発明に係るアプリケーションプログラムの印刷画面の一例を示す模式図。 プリントシステムにおける第1の制御処理の例を示すフローチャート。 プリントシステムにおける第2の制御処理の例を示すフローチャート。 プリントシステムにおける保存領域への保存処理を示すフローチャート。 プリントシステムにおける第3の制御処理の例を示すフローチャート。 プリントシステムにおける第4の制御処理の例を示すフローチャート。 プリントシステムにおける第5の制御処理の例を示すフローチャート。 本発明に係るデータ詳細を示す図。 本発明に係るデータ詳細を示す図。 複合機の操作部の表示部に表示される画面の模式図。 複合機の操作部の表示部に表示される画面の模式図。 プリントシステムにおけるプルプリントの全体の流れを説明する模式図。 第3および第4の制御処理の例を示すフローチャート。 ジョブ探索順とジョブ保存最大数の設定変更画面の例を示す模式図。 ジョブ保存処理の例を示すフローチャート。 保存処理の例を示すフローチャート。
<第一実施形態>
[システム構成]
以下、本発明を実施するための最良の形態について図面を用いて説明する。図1は、本発明に係る情報処理装置、プリントサーバ、アドレス管理サーバ、および印刷装置を適用可能なプリントシステムの構成の一例を示すシステム構成図である。図1の「事業所A」に示すように、本実施形態のプリントシステムは、1又は複数のクライアントPC100、1又は複数のプリントサーバ101、1又は複数の複合機102、アドレス管理サーバ103、1又は複数のログインサービスPC104、ディレクトリサービスサーバ105がローカルエリアネットワーク(LAN)106を介して接続される構成となっている。
クライアントPC100には、仮想プリンタドライバがインストールされている。この仮想プリンタドライバは、クライアント・アプリケーションから受け取ったデータに基づいて、特定の複合機に依存しない中間形式の印刷ジョブを生成し、プリントサーバ101へ送信する。なお、中間形式の印刷ジョブとは、フォーマットに関する共通仕様が一般に公開されていて、かつ再編集が容易な形式の印刷データを意味する。例えば、EMFSPOOL形式(Enhanced Metafile Spool Format)、PDF(Portable Document Format)などがある。本実施形態においては、EMFSPOOL形式を使って説明するが、XPSやPDFなど他の中間形式の印刷データであってもかまわない。
プリントサーバ101は、受信した該印刷ジョブを所定の格納場所に格納する。また、プリントサーバ101は、ジョブ管理データベース(以後、ジョブ管理DBと呼ぶ)を備え、該印刷ジョブに関するメタデータを、ジョブ管理DBに記憶する。プリントサーバ101は、ジョブ管理DBに記憶しているメタデータから印刷ジョブ一覧情報(印刷ジョブ一覧データ)を生成し、複合機102へ転送する。プリントサーバ101は、ジョブ管理DBに記憶しているメタデータと複合機102から受信する印刷設定情報とを使って、印刷設定情報の更新を行い、複合機102へ更新した印刷設定情報を転送する。さらに、プリントサーバ101は、上記所定の格納場所に保存している印刷ジョブとジョブ管理DBに記録管理しているメタデータとからPDL(Printer Description Language)データを生成し、複合機102へ転送する。
アドレス管理サーバ103は、アドレス管理データベース(以後、アドレス管理DBと呼ぶ)を備える。アドレス管理サーバ103は、本実施形態の「プルプリント」処理の実行時に、印刷ジョブを管理するプリントサーバ101のアドレス情報(以下、アドレス)とユーザ識別子を、アドレス管理DBに記憶する。さらに、アドレス管理サーバ103は、複合機102からの印刷ジョブ一覧要求に応じて、複合機102から受信したユーザ識別子に対応するプリントサーバ101のアドレスを複合機102へ送信する。
ログインサービスPC104は、複合機102のログインサービスとして、ディレクトリサービスサーバ105で記憶されているクライアントPC100のログインユーザ名、パスワード(例えば、マイクロソフト社のWindows(登録商標)のログインユーザ名、パスワード)に基づく認証処理を行う。ここでの認証処理の例として、SSO(Single Sign−ON)が挙げられる。ログインサービスPC104の例として、キヤノン社のセキュリティエージェント(Security Agent)を搭載したパーソナルコンピュータが挙げられる。
ディレクトリサービスサーバ105は、ネットワーク上に存在するサーバ、クライアント、プリンタ等のハードウェア資源や、それらを使用するユーザの属性(クライアントPC100のログインユーザ名、パスワードを含む)、アクセス権等の情報を記憶する。ディレクトリサービスサーバ105の一例として、アクティブディレクトリ(Active Directory)機能を搭載したサーバが挙げられる。
また、「事業所B」は、1又は複数のクライアントPC100,1又は複数のプリントサーバ101,1又は複数の複合機102がLAN106を介して接続される構成を有する。本実施形態のプリントシステムは、上述した構成の「事業所A」と、1又は複数の「事業所B」とが、WAN107を介して接続される構成であってもよい。
また、各サーバの機能は、一台の装置で複数のサーバとしての機能を実現しても良いし、複数台の装置で、一つの機能を協働して実現しても構わない。
[情報処理装置]
図2を用いて、図1に示したクライアントPC100、プリントサーバ101、アドレス管理サーバ103、ログインサービスPC104、ディレクトリサービスサーバ105に適用可能な情報処理装置のハードウェア構成について説明する。図2は、図1に示したクライアントPC100、プリントサーバ101、アドレス管理サーバ103、ログインサービスPC104、ディレクトリサービスサーバ105に適用可能な情報処理装置のハードウェア構成を示すブロック図である。
図2において、CPU201は、システムバス204に接続される各デバイスやコントローラを統括的に制御する。また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input/Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な各種プログラム等が記憶されている。RAM203は、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM202あるいは外部メモリ211からRAM203にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。また、入力コントローラ205は、キーボード209やマウス(不図示)等のポインティングデバイス等からの入力を制御する。
ビデオコントローラ206は、モニタ210への表示を制御する。一般に、モニタ210は液晶ディスプレイやCRT等の表示器である。これらは必要に応じて管理者が使用するものである。メモリコントローラ207は、ブートプログラム、各種のアプリケーション、編集ファイル、各種データ等を記憶するハードディスク(HD)、SSD(Solid State Drive)、SDメモリカード等の外部メモリ211へのアクセスを制御する。通信I/Fコントローラ208は、ネットワーク(例えば、図1に示したLAN106)を介して外部機器と接続・通信し、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。なお、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、モニタ210上での表示を可能としている。
また、CPU201は、モニタ210上のマウスカーソル(不図示)等でのユーザ指示を可能とする。本発明を実現するための後述する各種プログラムは、外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ211に格納されており、これらについての詳細な説明も後述する。
[コントローラユニット]
図3を用いて、図1に示した複合機102を制御するコントローラユニットのハードウェア構成について説明する。図3は、図1に示した複合機102のコントローラユニットのハードウェア構成の一例を示すブロック図である。図3において、コントローラユニット316は、画像入力デバイスとして機能するスキャナ314や、画像出力デバイスとして機能するプリンタ312と接続する。その一方で、コントローラユニット316は、LAN(例えば、図1に示したLAN106)や公衆回線(WAN)(例えば、PSTNまたはISDN等)と接続することで、画像データやデバイス情報の入出力を行う。コントローラユニット316において、CPU301は、システム全体を制御するプロセッサである。RAM302は、CPU301が動作するためのシステムワークメモリであり、プログラムを記録するためのプログラムメモリや、画像データを一時記録するための画像メモリでもある。ROM303は、システムのブートプログラムや各種制御プログラムが格納されている。ハードディスクドライブ(HDD)304は、システムを制御するための各種プログラム,画像データ等を格納する。本実施形態では、保存領域304にPDLジョブが保存される。
操作部インタフェース(操作部I/F)307は、操作部(UI)308とのインタフェース部であり、操作部308に表示する画像データを操作部308に対して出力する。また、操作部I/F307は、操作部308から本システム使用者が入力した情報(例えば、ユーザ情報等)をCPU301に伝える役割をする。なお、操作部308はタッチパネルを有する表示部を備え、該表示部に表示されたボタンを、ユーザが押下(指等でタッチ)することにより、各種指示を行うことができる。ネットワークインタフェース(Network I/F)305は、ネットワーク(LAN)に接続し、データの入出力を行う。モデム(MODEM)306は、公衆回線に接続し、FAXの送受信等のデータの入出力を行う。外部インタフェース(外部I/F)318は、USB、IEEE1394、プリンタポート、RS−232C等の外部入力を受け付けるI/F部である。なお、本実施形態においては認証で必要となるICカードの読み取り用のカードリーダ319が外部I/F318に接続されている。そして、CPU301は、この外部I/F318を介してカードリーダ319によるICカードからの情報読み取りを制御し、該ICカードから読み取られた情報を取得可能である。以上のデバイスがシステムバス309上に配置される。
イメージバスインタフェース(IMAGE BUS I/F)320は、システムバス309と画像データを高速で転送する画像バス315とを接続し、データ構造を変換するバスブリッジである。画像バス315は、PCIバスまたはIEEE1394で構成される。画像バス315上には以下のデバイスが接続される。ラスタイメージプロセッサ(RIP)310は、例えば、PDLコード等のベクトルデータをビットマップイメージに展開する。プリンタインタフェース(プリンタI/F)311は、プリンタ312とコントローラユニット316を接続し、画像データの同期系/非同期系の変換を行う。また、スキャナインタフェース(スキャナI/F)313は、スキャナ314とコントローラユニット316を接続し、画像データの同期系/非同期系の変換を行う。画像処理部317は、入力画像データに対し補正、加工、編集を行い、プリント出力画像データに対して、プリンタの補正、解像度変換等を行う。また、これに加えて、画像処理部317は、画像データの回転や、多値画像データに対してはJPEG、2値画像データはJBIG、MMR、MH等の圧縮伸張処理を行う。
スキャナ314は、原稿となる紙上の画像を照明し、CCDラインセンサで走査することで、ラスタイメージデータとして電気信号に変換する。原稿用紙は原稿フィーダのトレイにセットし、装置使用者が操作部308から読み取り起動指示することにより、CPU301がスキャナ314に指示を与え、フィーダは原稿用紙を1枚ずつフィードし原稿画像の読み取り動作を行う。プリンタ312は、ラスタイメージデータを用紙上の画像に変換する部分であり、その方式は感光体ドラムや感光体ベルトを用いた電子写真方式、微少ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式等がある。本発明が適用可能であれば、どの方式の装置を用いても構わない。プリント動作の起動は、CPU301からの指示によって開始する。なお、プリンタ312には、異なる用紙サイズまたは異なる用紙向きを選択できるように複数の給紙段を持ち、それに対応した用紙カセットがある。
操作部308は、LCD表示部を有し、LCD上にタッチパネルシートが貼られており、システムの操作画面を表示するとともに、表示してあるキーが押されるとその位置情報を操作部I/F307を介してCPU301に伝える。また、操作部308は、各種操作キーとして、例えば、スタートキー、ストップキー、IDキー、リセットキー等を備える。ここで、操作部308のスタートキーは、原稿画像の読み取り動作を開始する時などに用いる。スタートキーの中央部には、緑と赤の2色LEDがあり、その色によってスタートキーが使える状態にあるかどうかを示す。また、操作部308のストップキーは、稼働中の動作を止める働きをする。また、操作部308のIDキーは、使用者のユーザIDを入力する時に用いる。リセットキーは、操作部からの設定を初期化する時に用いる。
カードリーダ319は、CPU301からの制御により、ICカード(例えば、ソニー社のフェリカ(FeliCa)(登録商標))内に記憶されている情報を読み取り、該読み取った情報を外部I/F318を介してCPU301へ通知する。以上のような構成によって、複合機102は、スキャナ314から読み込んだ画像データをLAN106上に送信し、LAN106から受信した印刷データをプリンタ312により印刷出力することができる。また、スキャナ314から読み込んだ画像データをモデム306により、公衆回線上にFAX送信し、公衆回線からFAX受信した画像データをプリンタ312により出力することできる。
[プルプリント処理の流れ]
図4を用いて、本実施形態のプリントシステムにおけるプルプリントの全体の流れについて説明する。その前に、まず、本実施形態のプルプリントを実行するための前提について説明する。本実施形態のプルプリントを実現するための仮想プリンタドライバをクライアントPC100に共有プリンタとしてインストールしておく。仮想プリンタドライバは、クライアント・アプリケーション400から指示された印字や描画命令の出力に基づいてEMFSPOOL形式の印刷ジョブを生成する機能を有する。更に、印刷設定情報の設定を受け付ける機能(ユーザインタフェース)と、その印刷設定情報をインストールされた論理プリンタごとに外部記憶装置に記憶する機能等を有する。また、この印刷設定情報は、米国Microsoft社のWindows(登録商標)の場合、DEVMODE構造体に格納される。このDEVMODE構造体とは、プリンタが使用可能な機能,レイアウト設定,仕上げ設定,給・排紙設定,印字品質設定等の論理プリンタに関するデフォルトの動作条件を含む各種設定を記憶するために、米国Microsoft社が規定したものである。この情報は、インストールされた論理プリンタごとに外部記憶装置に記憶される。各クライアントPC100は、仮想プリンタドライバ401をプリントサーバ101からポイント&プリント等でダウンロードしてインストールし、仮想プリンタドライバの論理プリンタを追加しておく。また、プリントサーバ101は、各プリンタ固有のプリンタドライバをインストールする。図4では、複合機102のプリンタドライバ408が、プリントサーバ101にインストールされている。
以下、本実施形態のプルプリントの全体の流れについて説明する。図4は、本実施形態のプリントシステムにおけるプルプリント(どこでもプリント(登録商標))の全体の流れを説明する模式図である。図4に示すように、まず、ユーザは、クライアントPC100にログインし、該クライアントPC100で実行されるクライアント・アプリケーション400から仮想プリンタドライバ401に対応する論理プリンタへの印刷指示を行う(1−1)。この際、ユーザは仮想プリンタドライバを使って印刷設定情報を設定できる。ただし、ここで設定できる印刷設定情報は、特定の印刷装置に特化した設定はできず、汎用的な内容に限られる。具体的には、全てのプリンタで対応できる印刷設定情報である。この印刷指示に応じて、クライアントPC100のクライアント・アプリケーション400は、グラフィックエンジンを介して、仮想プリンタドライバ401にデータを送信する。クライアントPC100の仮想プリンタドライバ401は、該クライアント・アプリケーションからグラフィックエンジン(不図示)を介して受け取ったデータに基づいてデバイスに依存しないEMFSPOOL形式の印刷ジョブを生成する。そして、クライアントPC100は、生成したEMFSPOOL形式の印刷ジョブをプリントサーバ101に送信する(1−2)。
プリントサーバ101にて、プリントプロセッサ402は、仮想プリンタドライバ401から送信されてきたEMFSPOOL形式の印刷ジョブを読み取り、印刷ジョブのメタデータを生成する。そして、プリントプロセッサ402は、ジョブ管理サービス403へメタデータと印刷ジョブを送信する(1−3)。ジョブ管理サービス403は、プリントサーバ101上の所定の格納場所にEMFSPOOL形式の印刷ジョブを保存する。さらにジョブ管理サービス403は、メタデータをジョブ管理DB404(プリントサーバ101の外部記憶装置上に構築される)に登録する(1−4)。このとき、プリントサーバ101は、上記所定の格納場所にEMFSPOOL形式の印刷ジョブを保存するだけで、印刷装置への送信は行わない。さらに、プリントサーバ101は、印刷ジョブの識別子とユーザ識別子をアドレス管理サーバ103上のアドレス管理サービス405へ登録するために送信する(1−5)。
アドレス管理サービス405は、ジョブ管理サービス403から、印刷ジョブの識別子とユーザ識別子を受信すると、プリントサーバ101のアドレスも加えてアドレス管理DB406に登録する(1−6)。本実施形態において、アドレス管理DB406は、アドレス管理サーバ103の外部記憶装置上に構築される。なお、本実施形態では、機器を判別するためのアドレスとしてIPアドレスを使用する。本実施形態では、ジョブ識別子としてGUID(Global Unique Identifier)を使用する。
複合機102は、カードリーダ319により読み取り可能なICカードを検知すると、該ICカード内の個人認証情報を読み取り、該読み取った個人認証情報を認証要求として認証サーバ(不図示)に送信する。個人認証情報は、認証に用いられる情報であり該ICカードの製造番号でも良い。ユーザが一意に特定できる情報であればよく、特に限定するものではない。認証サーバは、複合機102より個人認証情報を受信すると、該個人認証情報の認証処理を認証サーバの外部記憶装置上に記憶されるICカード認証用テーブルに基づいて行い、認証結果を複合機102に返信する。なお、認証処理に成功した場合には、認証結果として、クライアントPC100のユーザ識別子を送信するものとする。なお、この認証サーバの機能を実現できればその機能を有する機器はいずれでも良く、例えば、アドレス管理サーバ103にあってもよい。
複合機102上のパネル・アプリケーション407は、認証に成功した旨の認証結果(クライアントPC100のログインユーザ識別子)を受信する。本実施形態では、ユーザ識別子としてユーザ名を使用する。もちろん、ユーザを識別する手段としてICカードの製造番号などでもかまわない。
パネル・アプリケーション407は、プリントサーバ101に印刷ジョブ一覧を要求するが、その前に印刷ジョブ一覧を取得するためにプリントサーバ101のIPアドレスを取得する前処理を実施する。パネル・アプリケーション407は、まず、アドレス管理サーバ103上のアドレス管理サービス405にユーザ識別子を送信する(2−1)。これにより、アドレス解決指示手段を実現する。アドレス管理サービス405は、受信したユーザ名に対応するプリントサーバ101のアドレスをアドレス管理DB406から取得する(2−2)。そして、アドレス管理サービス405は、パネル・アプリケーション407へプリントサーバ101のアドレスを返信する(2−3)。このアドレスを受信することにより、パネル・アプリケーション407は、アドレス受信手段を実現する。
パネル・アプリケーション407は、アドレス管理サービス405からプリントサーバ101のアドレスを受信すると、取得したアドレスに基づいて、プリントサーバ101上のジョブ管理サービス403へ対し印刷ジョブ一覧を要求する。このとき、パネル・アプリケーション407は、印刷ジョブ一覧要求と同時に複合機102のモデル名を送信する(2−4)。これにより、パネル・アプリケーション407は、一覧要求送信手段を実現する。また、この印刷ジョブ一覧要求を受信することで、ジョブ管理サービス403は、一覧要求受信手段を実現する。ジョブ管理サービス403は、ジョブ管理DB404を参照して(2−5)、該ユーザ識別子に対応する印刷ジョブ一覧を生成し、パネル・アプリケーション407へ印刷ジョブ一覧を返信する(2−6)。これにより、一覧送信手段を実現する。また、この印刷ジョブ一覧を受信することで、パネル・アプリケーション407は、一覧受信手段を実現する。パネル・アプリケーション407は、ジョブ管理サービス403から印刷ジョブ一覧を受信すると、該印刷データ一覧を操作部308のUI上に表示する。
次に、ジョブ管理サービス403は、パネル・アプリケーション407から送信されたモデル名を使用して、そのモデルに適したプリンタドライバ408をインストールする(2−7)。そして、ジョブ管理サービス403は、ジョブ管理DB404から対象とされるメタデータおよびEMFSPOOL形式の印刷ジョブを参照する(2−8)。そして、ジョブ管理サービス403は、メタデータおよびEMFSPOOL形式の印刷ジョブをプリンタドライバ408に送信し、保存指示を行う(2−9)。この時、対象とされるメタデータおよびEMFSPOOL形式の印刷ジョブは、ジョブ管理サービス403が参照した順番で決定する。そして、プリンタドライバ408はPDL変換を行い、複合機102にある保存領域304にPDLジョブが保存されるように前記PDLジョブを送信する(2−10)。ここで、PDLジョブとは、EMFSPOOL形式の印刷ジョブをPDL変換した後のジョブを意味する。PDLジョブが保存領域304に保存されていると、再度プリンタドライバ408を経由せずにPDLジョブを複合機102で印刷できるため、ユーザの印刷待ち時間を減らすことができる。
そして、ユーザにより、印刷ジョブが選択され、印刷設定情報の変更指示、及び印刷指示がなされると、パネル・アプリケーション407は、パネル・アプリケーション407上で印刷設定情報が変更されているかを確認して印刷処理手順を決定する。もし、印刷設定情報が変更されていない場合は、パネル・アプリケーション407は、パネル・アプリケーション407で指示されたジョブに対応するPDLジョブを保存領域304から取得する(3−1−1)。そして、パネル・アプリケーション407は、取得したPDLジョブを複合機102で印刷するために制御する(3−1−2)。複合機102は、印刷終了後に保存領域にあるPDLジョブを削除する。ただし、複合機102の設定次第では、そのPDLジョブを残しておくことも可能である。そして、パネル・アプリケーション407は、印刷ジョブ削除の処理に進む。
もし、印刷設定情報が変更されている場合は、パネル・アプリケーション407は、ユーザに指示された印刷ジョブの変更された印刷設定情報をプリントサーバ101に送信する(3−2−1)。これにより、設定変更送信手段を実現する。また、送信された印刷設定情報を受信することで、パネル・アプリケーション407は設定変更受信手段を実現する。ジョブ管理サービス403は、パネル・アプリケーション407から印刷設定情報を受信すると、ジョブ管理DB404を参照して(3−2−2)、印刷設定情報の変更を行う。そして、ジョブ管理サービス403は、パネル・アプリケーション407へ変更された印刷設定情報を返信する(3−2−3)。これにより、設定送信手段を実現する。また、更新された印刷設定情報を受信することで、パネル・アプリケーション407は設定受信手段を実現する。パネル・アプリケーション407は送信した印刷設定情報と受信した印刷設定情報を比較し、印刷設定変更指示が正しく機能したかどうか判定する。正しく機能した場合、パネル・アプリケーション407は、保存領域304に保存されているPDLジョブ(設定変更前のPDLジョブ)を削除する(3−2−4)。
そして、パネル・アプリケーション407は、改めてジョブ管理サービス403に対し印刷要求(出力指示)を行う(4−1)。これにより印刷要求送信手段を実現する。また、この印刷要求を受信することにより、ジョブ管理サービス403は、印刷要求受信手段を実現する。ジョブ管理サービス403は、パネル・アプリケーション407から印刷指示を受信すると、ジョブ管理DB404を参照して印刷ジョブの印刷に必要な情報を取得する(4−2)。そして、ジョブ管理サービス403は、該印刷指示に基づいて印刷指示をプリンタドライバ408に対して行う(4−3)。具体的にはEMFSPOOL形式の印刷ジョブ等がプリンタドライバに送信される。この指示に従って、プリンタドライバ408は参照されたメタデータおよびEMFSPOOL形式の印刷ジョブをPDLジョブに変換し、複合機102にPDLジョブを送信する(4−4)。なお、この変換時に使用される印刷設定情報は、(3−2−1)でパネル・アプリケーションから送信された変更後の印刷設定情報である。これにより、ジョブ送信手段が実現されPDLジョブが複合機102にて印刷される。なお、ここでのPDLジョブとは、EMFSPOOL形式の印刷ジョブに対して、印刷可能なPDL形式に変換したジョブを指す。このPDL形式のジョブに変換することにより、複合機102にて出力が可能となる。印刷設定情報の変更を判別する機能を有することで、ユーザの指示によって自動で印刷方法を決定し、ユーザにとって最適な印刷時間で出力できる。
最後に、ユーザにより、印刷ジョブの削除が指示されると、パネル・アプリケーション407は、ジョブ管理サービス403に対し指定された印刷ジョブの削除を指示する(5−1)。ジョブ管理サービス403は、パネル・アプリケーション407から印刷ジョブの削除要求を受信すると、まず、アドレス管理サービス405へ登録した印刷ジョブ識別子の削除を指示する(5−2)。アドレス管理サービス405は、ジョブ管理サービス403から印刷ジョブ識別子の登録解除要求を受信すると、アドレス管理DB406の該当するレコードを削除する(5−3)。次に、ジョブ管理サービス403は、ジョブ管理DBの該当するレコードを削除し(5−4)、EMFSPOOL形式の印刷ジョブファイルも削除する。
以上、プリントシステム全体の流れを説明した。なお、図5は、図4のプリントシステムにおけるデータの詳細を表形式で表したものである。以降、フローチャートを使って詳細に説明するが、その際に図5を併用して説明を補足していく。
[印刷指示動作]
図1に示したクライアントPC100上で動作するクライアント・アプリケーション400上での印刷指示について説明する。図6は、図1に示したクライアントPC100上で動作するクライアント・アプリケーション400の印刷画面の一例を示す模式図であり、クライアントPC100のCPUの制御により表示器に表示される。プリンタ選択部610は、クライアントPC100に設定されている論理プリンタから、印刷を行う論理プリンタを選択するためのものである。
このプリンタ選択部610において、「どこでも印刷」601は、本実施形態のプルプリント設定された仮想プリンタドライバに対応する論理プリンタとする。さらに、プリンタ選択部610における「Cxxxx ix3250」602,「Cxxxx ix5051」603は、通常のプリンタドライバに対応する論理プリンタとする。ユーザは、プリンタ選択部610で、いずれかの論理プリンタを選択し、OKボタン605をポインティングデバイス(不図示)等で指示する。すると、クライアント・アプリケーション400は、印刷のためのデータを、プリンタ選択部610で選択された論理プリンタに対応するプリンタドライバにグラフィックエンジンを介して送信する。以下、プリンタ選択部610で「どこでも印刷」601が選択されて印刷指示がなされた場合の仮想プリンタドライバの動作について説明する。
[第1の制御処理]
図7は、本発明のプリントシステムにおける第1の制御処理手順の一例を示すフローチャートであり、図4に示した1−1から1−6までの処理手順に対応する。なお、図7に示されたフローチャートにおいて、実線矢印は処理の流れを示し、破線矢印は装置間のデータの送受信を示している。
SA700〜SA702は、図4に示した仮想プリンタドライバ401による印刷ジョブ投入処理に対応する。これらフローチャートの処理は、図1に示したクライアントPC100のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。
SB700〜SB706は、図4に示したプリントプロセッサ402によるメタデータ生成・送信処理及び印刷ジョブ転送処理に対応する。これらフローチャートの処理は、図1に示したプリントサーバ101のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。
SC700〜SC709は、図4に示したジョブ管理サービス403によるメタデータ登録処理及び印刷ジョブ保存処理対応する。これらフローチャートの処理は、図1に示したプリントサーバ101のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。
SD700〜SD704は、図4に示したアドレス管理サービス405による印刷ジョブ識別子登録処理に対応する。これらフローチャートの処理は、図1に示したアドレス管理サーバ103のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。
まず、クライアントPC100の仮想プリンタドライバ401による印刷ジョブ投入処理を説明する。SA700において、仮想プリンタドライバ401の処理が開始する。SA701において、仮想プリンタドライバ401は、図4のクライアント・アプリケーション400から入力されたデータをEMFSPOOL形式の印刷ジョブとして出力する。これは図4の1−1と1−2に相当する。米国Microsoft社のWindows(登録商標)の場合、プリンタドライバへの入力はDDI(Device Driver Interface)と呼ばれるOS(Operating System)による関数呼び出しによって実施される。
仮想プリンタドライバ401は、DDIの呼び出しと同時に渡されるパラメーターを解釈して、EMFSPOOL形式の印刷ジョブを生成し、OSが管理するスプーラへ生成したジョブを出力する。一般に、プリンタドライバの役割は、出力対象のデバイスに依存した印刷ジョブを生成し出力することであるが、本実施形態においては、複合機102に依存しない中間形式の印刷ジョブを生成し、出力することが重要である。これによって、複合機102の構成が変更されたとしても、本発明のプリントシステムにおいて仮想プリンタドライバ401の構成に変更は生じない。つまり、複合機固有の機能をプルプリントシステムで使用することが容易に実現できる。SA702で処理を終了する。
次にプリントサーバ101のプリントプロセッサ402によるメタデータ生成・送信処理及び印刷ジョブ転送処理を説明する。米国Microsoft社のWindows(登録商標)の場合、OSがプリントプロセッサに対し印刷ジョブの処理を依頼する際に呼び出すPrintDocumentOnPrintProcessor関数の内部処理を示す。SB700において、プリントプロセッサ402は、プリントサーバ101上で処理を開始する。SB701において、プリントプロセッサ402は、仮想プリンタドライバ401から出力され、OSにて管理されている印刷ジョブの形式に関する情報を取得する。そして、プリントプロセッサ402は、OSのスプールに出力されたジョブの種類がRAW形式かどうか判定する。RAW形式とは、プリンタドライバが出力した印刷ジョブを意味する。つまり、仮想プリンタドライバ401は、SA701にて印刷ジョブを出力しているので、ここではRAW形式と判定され、SB702へ進む。RAW形式と判定されない場合は、SB706へ進み、処理を終わる。SB702において、プリントプロセッサ402は、メタデータを生成する。
メタデータは、図5の「1−3」行の「送信データ」列にある、GUID(Global Unique Identifier)、ジョブ名、ユーザ名、DEVMODE、仮想プリンタドライバの論理プリンタ名である。具体的には、図13(a)のようなXML形式で表現される。JobInfo要素のGuid属性には、本発明のプリントシステムにおいて一意となる印刷ジョブの識別子を記述する。JobInfo要素のJobName属性には、図4の1−1の過程で指定されたジョブの名前を記述する。JobInfo要素のUserName属性には、図4の1−1の過程で印刷を実行したユーザの名前を記述する。JobInfo要素のPrintQueueName属性には、図4の1−1の過程で使用された論理プリンタの名前を記述する。DocumentSettings要素のDEVMODESnapshot属性には、図4の1−1の過程で指定された最初のページの印刷設定情報(DEVMODE)を記述する。なお、DEVMODEはバイナリ形式なので、XMLで記述するためにBase64と呼ばれる手法によりテキスト化している。
SB703において、プリントプロセッサ402は、SB702で生成したメタデータをジョブ管理サービス403へ送信する。米国Microsoft社のWindows(登録商標)の場合、送信プロトコルとして名前付きパイプを使うと高効率である。しかも、後述するユーザトークン取得に関しても名前付きパイプの使用は都合が良い。SB705において、プリントプロセッサ402は、OSのスプーラからスプールデータを読み込む。ここでのスプールデータとは、仮想プリンタドライバ401により出力されたEMFSPOOL形式の印刷ジョブに対応する。そして、SB705において、プリントプロセッサ402は、読み込んだスプールデータをジョブ管理サービス403へ送信する。SB706で処理を終了する。
次にジョブ管理サービス403によるメタデータ登録処理及び印刷ジョブ保存処理を説明する。SC700において、ジョブ管理サービス403は、プリントサーバ101上で処理を開始する。SC701において、ジョブ管理サービス403は名前付きパイプのサーバとして機能することによって、プリントプロセッサ402からSB703で送信されたメタデータを図13(a)のようなXML形式で受信する。なお、プリントプロセッサ402とのコネクションを確立する際に、ジョブ管理サービス403は、名前付きパイプのクライアント(即ちプリントプロセッサ402)のユーザトークンを取得する(SC702)。ユーザトークンの使用方法については後述する。
SC703において、ジョブ管理サービス403は、印刷ジョブを保存するファイルパスを決定する。SC704において、ジョブ管理サービス403は、プリントプロセッサ402によりSB705にて送信されたEMFSPOOL形式の印刷ジョブを受信する。SC705において、ジョブ管理サービス403は、受信したEMFSPOOL形式の印刷ジョブをSC703で決定したファイル名で保存し、SC706において現在の日付・時刻を生成する。これをもって印刷ジョブ投入時刻とする。
SC707において、ジョブ管理サービス403は、SC701で受信したメタデータとSC702で取得したユーザトークンとSC703で決定したファイル名とSC706で生成した日付・時刻を新規レコードとして図4のジョブ管理DB404に登録する。SC708において、ジョブ管理サービス403は、アドレス管理サービス405へ印刷ジョブ識別子登録コマンドを送信する。このとき、ジョブ管理サービス403は、SC701で受信したメタデータに含まれるGUIDとユーザ名も送信する。SC709で処理を終了する。
次にアドレス管理サービス405による印刷ジョブ識別子登録処理を説明する。SD700において、アドレス管理サービス405は、アドレス管理サーバ103上で処理を開始する。SD701において、ジョブ管理サービス403からSC708で送信されたGUIDとユーザ名を受信する。なお、ジョブ管理サービス403とのコネクションを確立する際に、アドレス管理サービス405は、プリントサーバ101のIPアドレスを取得する(SD702)。SD703において、アドレス管理サービス405は、SD701で受信したGUIDとユーザ名とSD702で取得したIPアドレスを図4のアドレス管理DB406に新規レコードとして登録する。SD704で処理を終了する。
[第2の制御処理]
図8は、本発明のプリントシステムにおける第2の制御処理手順の一例を示すフローチャートであり、図4に示した2−1から2−10までの処理手順に対応する。なお、図8に示されたフローチャートにおいて、実線矢印は処理の流れを示し、破線矢印は装置間のデータの送受信を示している。
SE800〜SE813は、図4に示したパネル・アプリケーション407による印刷ジョブ一覧表示処理に対応する。これらフローチャートの処理は、図1に示した複合機102のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。
SD800〜SD807は、図4に示したアドレス管理サービス405によるアドレス解決処理に対応する。これらフローチャートの処理は、図1に示したアドレス管理サーバ103のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。
SC800〜SC811は、図4に示したジョブ管理サービス403による印刷ジョブ一覧生成およびジョブ保存指示処理に対応する。これらフローチャートの処理は、図1に示したプリントサーバ101のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。
まず、パネル・アプリケーション407による印刷ジョブ一覧表示処理を説明する。SE800において、パネル・アプリケーション407の処理が開始する。SE801において、パネル・アプリケーション407は、ログイン表示画面(図15(a))を操作部308に表示するように制御する。そして、SE802において、パネル・アプリケーション407は、ICカード等によるユーザ認証を行う。本実施形態において、ユーザ認証は重要なプロセスではないので、ここでは、認証カードの検出方法やICカードの識別ID取得方法や認証サーバによる認証処理といった詳細説明を省略する。
SE803において、パネル・アプリケーション407は、認証結果を判定する。SE803にて認証エラーである旨の認証結果が得られた場合には、SE804において、パネル・アプリケーション407は、エラー表示画面(図15(b))を操作部308の表示部に表示するように制御する。パネル・アプリケーション407は、該エラー表示画面にてOKボタンの押下を受け付けると、SE801に戻り、再度、ログイン表示画面を表示制御する。一方、SE803にて認証が成功したと判定した場合、SE805へ進む。SE805において、パネル・アプリケーション407は、認証に成功したユーザ名を取得する。SE806において、パネル・アプリケーション407は、アドレス管理サービス405にユーザ名を送信する。次に、SE807において、パネル・アプリケーション407は、アドレス管理サービス405からプリントサーバ101のIPアドレスのリストを受信する。つまり、アドレス管理サービス405に対し、ユーザ名で対象となる印刷ジョブを絞り込み、その印刷ジョブを保持するジョブ管理サービスのIPアドレスを返信することを要求している。
続くSE808からSE811までは、IPアドレスのリストからIPアドレスを列挙するループ処理である。SE808において、パネル・アプリケーション407は、IPアドレスのリストからIPアドレスを取り出す。SE809において、パネル・アプリケーション407は、IPアドレスを取り出せたか否かを判定する。IPアドレスを取り出せた場合、SE810へ進み、パネル・アプリケーション407は、ジョブ管理サービス403に印刷ジョブ一覧要求コマンドを送信する。このときユーザ名およびモデル名も併せて送信する。SE811において、パネル・アプリケーション407は、ジョブ管理サービス403から印刷ジョブ一覧を受信する。
この印刷ジョブ一覧は、図5の「2−6」行の「送信データ」列にある、GUID、ジョブ名、部数、両面、カラーモード、ページ集約、日付・時刻である。具体的には、図14のようなXML形式の印刷ジョブ一覧情報として表現される。JobList要素は、ジョブの数だけのJobInfo子要素を保持する。JobInfo要素のGuid属性は図13(a)で説明したGuidと同じものである。JobInfo要素のJobName属性も図13(a)で説明したJobNameと同じものである。一方、DocumentSettings要素が保持する各種属性は図13(a)のものと大きく異なる。
CopyCount属性は、印刷部数を指定する。Duplexing属性は片面印刷を使用するか、両面印刷を使用するかを指定する。具体的には、“OneSided”と記述すると、片面印刷を指定する。“TwoSideLongEdge”と記述すると、両面(長辺綴じ)を指定する。“TwoSidedShortEdge”と記述すると、両面(短辺綴じ)を指定する。OutputColor属性は、色に関する出力方法を指定する。“Color”と記述すると、カラーを指定する。“Monochrome”と記述すると、モノクロを指定する。PagePerSheet属性は、用紙の片面に印刷するように選択できるページ数を指定する。DateTime属性は、ジョブ投入時刻を指定する。SE808からSE811において、パネル・アプリケーション407は、IPアドレスのリストからIPアドレスを取り出し終えると、SE812に進む。SE812にて、パネル・アプリケーション407は、印刷ジョブ一覧表示画面(図15(c))を操作部308に表示するように制御する。SE813で処理を終了する。
次にアドレス管理サービス405によるアドレス解決処理を説明する。SD800において、アドレス管理サービス405の処理が開始する。SD801において、アドレス管理サービス405は、パネル・アプリケーション407のSE806から送信されるユーザ名を受信する。SD802において、アドレス管理サービス405は、図4のアドレス管理DB406からSD801で得たユーザ名と一致するレコードを探索する。SD803において、アドレス管理サービス405は、探索したレコードから1つのレコードを取り出す。SD804において、レコードを取り出せたかどうか判定する。レコードが取り出せるときは、SD805へ進み、アドレス管理サービス405は、レコードからジョブ管理サービス403が動作するプリントサーバ101のIPアドレスを取り出す。SD803からSD805において、探索した全レコードからIPアドレスを取り出し終えると、SD806へ進み、アドレス管理サービス405は、パネル・アプリケーション407へIPアドレスのリストを返信する。SD807で処理を終了する。
次にジョブ管理サービス403による印刷ジョブ一覧生成およびジョブ保存指示処理を説明する。SC800において、ジョブ管理サービス403の処理が開始する。SC801において、ジョブ管理サービス403は、パネル・アプリケーション407のSE810から印刷ジョブ一覧要求を受け付ける。このときジョブ管理サービス403は、ユーザ名およびモデル名も併せて受信する。SC802において、ジョブ管理サービス403は、図4のジョブ管理DB404からSC801で得たユーザ名と一致するレコードを探索する。SC803において、探索したレコードから1つのレコードを取り出す。
SC804において、ジョブ管理サービス403は、レコードを取り出せるかどうかを判定する。レコードを取り出せるときは、SC805へ進み、ジョブ管理サービス403は、レコードからGUIDとジョブ名とDEVMODEと仮想プリンタドライバの論理プリンタ名とユーザトークンと日付・時刻を取り出す。SC806において、ジョブ管理サービス403は、SC804で得たユーザトークンを使って、自身のスレッドを“偽装”する。スレッドを偽装している間、スレッドは図4のクライアント・アプリケーション400で印刷を実行したユーザのセキュリティコンテキストで実行される。つまり、ここでの“偽装”するとは、ユーザのセキュリティコンテキストを用いて、その権限によりスレッドを実行することを意味する。また、ここで、“スレッド”とは、印刷設定情報の変更により生じるスレッドを意味する。
SC807において、ジョブ管理サービス403は、SC805で得たDEVMODEからカラーモード、両面、ページ集約、部数、といった個々の情報を取り出す。DEVMODEは、プリンタドライバが管理するプリンタドライバ固有のデータ形式であるので、DEVMODEから個々の情報を取り出すためには、DEVMODEを生成したプリンタドライバに問い合わせる必要がある。SC807で仮想プリンタドライバの論理プリンタ名を取得済みなので、この論理プリンタを使ってDEVMODEから個々の情報を取り出すことになる。
一般に、DEVMODEから個々の情報を取り出す手法としては、プリンタドライバにDEVMODEを操作する独自の拡張インタフェースを設けて、そのインタフェースを経由することが多い。近年は、プリントチケットと呼ばれる米国Microsoft社が規定したXMLによる印刷設定格納形式を利用する方法も利用ある。即ち、プリンタドライバがプリントチケットをサポートするならば、DEVMODEをプリントチケットに変換し、プリントチケットから個々の情報を取り出してもよい。
SC808において、ジョブ管理サービス403は、スレッドの偽装を解除する。SC803からSC808において、探索した全レコードから個々の印刷設定情報を取り出し終えると、SC809へ進み、ジョブ管理サービス403は、印刷ジョブ一覧(図14)を生成する。そして、ジョブ管理サービス403は、パネル・アプリケーション407へ印刷ジョブ一覧を返信する。SC810において、複合機102の保存領域304へのPDLジョブ保存指示処理を行う。このSC810に関しては後述する。そして、SC811で処理を終了する。なお、SC810において送信されるPDL印刷ジョブは、第1PDL印刷ジョブとも呼ばれる。
[保存処理]
図9は、図8のSC810で呼び出される複合機102における保存領域304へのPDLジョブ保存処理のフローチャートである。図4に示した2−7から2−10までの処理手順に対応する。
SC900において、ジョブ管理サービス403の処理を開始する。SC901において、ジョブ管理サービス403は、図1の複合機102のIPアドレスを取得する。この複合機102のIPアドレスは、パネル・アプリケーション407とのデータの送受信のコネクションが確立した際に入手しておく。SC902において、ジョブ管理サービス403は、図1の複合機102のモデル名をサポートしたプリンタドライバがプリントサーバ101上にインストールされているかどうか判定する。インストールされていない場合、SC903へ進み、ジョブ管理サービス403は、図1の複合機102のモデル名をサポートしたプリンタドライバをプリントサーバ101上にインストールする。そして、SC904へ進む。一方、SC902でインストール済みと判定された場合は、SC904へ進む。なお、この段階でインストール済みとなったプリンタドライバは、図4のプリンタドライバ408に相当する。
SC904において、ジョブ管理サービス403は、インストール済みのプリンタドライバから構成され、かつ、S901で得たIPアドレスを出力ポートとする論理プリンタがプリントサーバ101上に存在するかどうか判定する。存在しない場合、SC905へ進み、ジョブ管理サービス403は、SC903で作成したプリンタドライバとSC901で得たIPアドレスを出力ポートとする論理プリンタを作成する。そして、SC906へ進む。一方、SC904で存在すると判定された場合は、SC906へ進む。
SC906において、ジョブ管理サービス403は、ジョブ管理DB404に登録されているEMFSPOOL形式の印刷ジョブすべてを、プリンタドライバ408に送信したかどうかを判定する。すべてのEMFSPOOL形式の印刷ジョブを送信していないと判定した場合、SC907へ進む。SC907において、ジョブ管理サービス403は、ジョブ管理DB404から次に送信すべきレコードを探索し、対象レコードを取得する。SC908において、ジョブ管理サービス403は、SC907で取得した対象レコードからDEVMODEとユーザトークンとEMFSPOOL形式の印刷ジョブのファイルパスを取得する。SC909において、ジョブ管理サービス403は、SC908で取得したユーザトークンを用いて、自身のスレッドを偽装する。スレッドを偽装している間、スレッドは図4のクライアント・アプリケーション400で印刷を実行したユーザのセキュリティコンテキストで実行される。SC910において、ジョブ管理サービス403は、SC908で取得したファイルパスを利用して得たEMFSPOOL形式の印刷ジョブとDEVMODEをプリンタドライバ408へ送信し、複合機102の保存領域304に保存する指示を行う。これによりプリンタドライバ408は、複合機102の保存領域304に保存されるPDL印刷ジョブを生成して、複合機102に送信する。SC911において、スレッドの偽装を解除し、SC906に進む。
SC906において、すべてのジョブを送信したと判定した場合、SC912に進み、ジョブ管理サービス403の保存指示処理は終了する。ここで、図9には記載していないが、本フローチャート内の処理の各ステップには、外部から中止信号を受信する機能を設ける。外部から中止信号を受信した場合は、ジョブ管理サービス403は、受信したステップ以降の処理を中断する。
以上の手順により、ユーザが認証を行った時点で、プリントサーバ101でプリンタドライバ408がインストールされる。またプリンタドライバ408が、EMFSPOOL形式の印刷ジョブを使ってPDL変換を行い、生成されたPDL印刷ジョブを複合機102に送信することにより、保存領域304にPDL印刷ジョブが保存される。
[第3の制御処理]
図10は、本発明のプリントシステムにおける第3の制御処理手順の一例を示すフローチャートであり、図4に示した3−1−1、3−1−2および3−2−1から3−2−4までの処理手順に対応する。なお、図10に示されたフローチャートにおいて、実線矢印は処理の流れを示し、破線矢印は装置間のデータの送受信を示している。
SE1000〜SE1015は、図4に示したパネル・アプリケーション407による印刷設定変更確認、及び印刷指示処理に対応する。これらフローチャートの処理は、図1に示した複合機102のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。
SC1000〜SC1010は、図4に示したジョブ管理サービス403処理に対応する。これらフローチャートの処理は、図1に示したプリントサーバ101のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。
まず、パネル・アプリケーション407による印刷設定情報の変更確認及び印刷指示処理を説明する。SE1000において、パネル・アプリケーション407の処理が開始する。複合機102のCPU301は、図8のSE812において、印刷ジョブ一覧表示画面(図15(c))を操作部308に表示するように制御している。
SE1001において、パネル・アプリケーション407は、印刷ジョブの選択とプリントするボタン1422の押下をユーザから受け付ける。すると、SE1002において、パネル・アプリケーション407は、印刷設定変更画面(図16(a))を操作部308に表示するように制御する。図16(a)の設定1431は、カラーモードの指定を意味し、モノクロとカラーのどちらかをチェックできる。図16(a)の設定1432は、両面・片面の指定を意味し、片面、両面(長辺綴じ)、両面(短辺綴じ)のうち1つを選択できる。図16(a)の設定1433は、ページ集約の指定を意味し、1in1、2in1、4in1、6in1、8in1、9in1、16in1のうち1つを選択できる。図16(a)の設定1434は、印刷部数の指定を意味し、1から9999までの値を指定できる。なお、図16(a)は、図15(c)において文書名「決算報告書」の印刷ジョブの選択を受け付けて、プリントするボタン1422の押下を受け付けた場合の印刷設定情報の変更例を示している。
SE1003において、パネル・アプリケーション407は、印刷設定情報の変更をユーザから受け付ける。そして、SE1004において、パネル・アプリケーション407は、印刷設定情報が変更されたかどうか判定する。印刷設定情報が変更されていないと判定した場合は、SE1005に進む。これは、図4の3−1−1、3−1−2に対応する。SE1005において、パネル・アプリケーション407は、保存領域304からユーザによって指定された印刷ジョブ(PDL印刷ジョブ)を取得する。SE1006において、パネル・アプリケーション407は、SE1005で取得した印刷ジョブを複合機102で印刷させる。そして、SE1007へ進む。SE1007のジョブ削除指示処理については後述する。そして、SE1016へ進む。SE1016において、パネル・アプリケーション407は、印刷設定変更画面を閉じる。SE1017において、パネル・アプリケーション407の印刷処理が終了する。
以上の手順によって、印刷設定情報を変更しない場合は、保存されたPDLジョブを利用することで、ユーザが印刷指示をしたらすぐに印刷装置から出力することができる。
SE1004にて、印刷設定情報が変更されたと判定した場合は、SE1008へ進む。これは、図4の3−2−1から3−2−4に対応する。SE1008において、パネル・アプリケーション407は、ジョブ管理サービス403へ印刷設定情報を送信する。この印刷設定情報は、図5の「3−2−1」行の「送信データ」列にある、GUID、部数、両面、カラーモード、ページ集約、複合機のモデル名である。
具体的には、図13(b)のようなXML形式で表現される。JobInfo要素のGuid属性は図13(a)で説明したGuidと同じものである。JobInfo要素のDeviceModelName属性は、図1の複合機102のモデル名を記述する。DocumentSettings要素が保持する各種属性は図13(a)で説明したものと同様である。ただし、SE1004で片面を両面(長辺綴じ)に変更しているので、Duplexing属性は“TwoSideLongEdge”になる。SE1009において、ジョブ管理サービス403から印刷設定情報の変更指示が反映された印刷設定情報を受信する。この印刷設定情報は、図5の「3−2−3」行の「送信データ」列にある、GUID、部数、両面、カラーモード、ページ集約である。具体的には、図13(c)のようなXML形式で表現される。内容は図13(b)とほぼ同じなので説明は省略する。
SE1010において、パネル・アプリケーション407は、SE1008で送信した印刷設定情報とSE1009で受信した印刷設定情報を比較する。前に述べたようにSE1008で送信した印刷設定情報ではDuplexing属性を“TwoSideLongEdge”と指定した。しかし、SE1009で受信した印刷設定情報のDuplexing属性は“OneSided”となったとする。このように送信設定と受信設定が一致しないことは原理的に大いにありうる。
例えば、SE1003で変更対象外の設定情報として用紙サイズがあるが、図4の1−1の段階で用紙サイズは「はがき」になっていたとする。そして、印刷設定情報の禁則条件として、用紙が「はがき」の場合、両面・片面指定は片面しか選択できないとする。かつ、禁則条件適用の優先度は両面・片面指定よりも用紙サイズの指定の方が高いとする。となると、Duplexing属性は常に“OneSided”にならざるを得ない。パネル・アプリケーション407にプリンタドライバと同様の高度な禁則処理を実装すれば、図16(a)の設定変更入力の時点で両面指定を変更できないようにすることも可能であるが、パネル・アプリケーションの実装難易度が非常に高くなる。本実施形態のように、パネル・アプリケーション407では印刷設定情報の禁則処理を行わず、印刷設定情報を変更したら都度、変更可能かどうかプリンタドライバに問い合わせる方が容易な上、汎用性も増す。
SE1008で送信した印刷設定情報とSE1009で受信した印刷設定情報を比較した結果、差異が無い場合は、SE1014へ進む。一方、差異がある場合は、SE1011へ進み、パネル・アプリケーション407は、エラー表示画面(図16(b))を操作部308の表示部に表示するように制御する。ここでは、SE1009で受信した印刷設定情報のDuplexing属性は“OneSided”になっているので、図16(b)のエラー表示も「片面」から「両面(長辺綴じ)」に変更できなかった旨の内容となっている。SE1012において、パネル・アプリケーション407は、印刷続行指示の入力を受け付ける。SE1013において、パネル・アプリケーション407は、OKボタン1442の押下を受け付けると、SE1014へ進む。
SE1014において、パネル・アプリケーション407は、保存領域304に保存されているPDLジョブを削除する。そして、SE1015へ進む。ただし、パネル・アプリケーション407は、PDLジョブの保存が完了していない場合はPDLジョブを削除することができない。その場合は、パネル・アプリケーション407は、直ちに中断処理信号をジョブ管理サービス403へ送信する。そして、SE1016へ進む。SE1016の印刷指示処理については後述する。そして、SE1016へ進む。一方、図16(b)のエラー表示画面でキャンセルボタン1441の押下を受け付けると、SE1016へ進む。SE1016にて、パネル・アプリケーション407は、図16(b)のエラー表示画面及び図16(a)の印刷設定情報の変更画面を閉じる。SE1017で処理を終了する。
次にジョブ管理サービス403による印刷設定情報の変更処理を説明する。SC1000において、ジョブ管理サービス403の処理を開始する。SC1001において、ジョブ管理サービス403は、パネル・アプリケーション407のSE1008から図13(b)のようなXML形式で印刷設定情報を受信する。
SC1002において、ジョブ管理サービス403は、図4のジョブ管理DB404からSC1001で得たGUIDと一致するレコードを探索する。SC1003において、ジョブ管理サービス403は、探索して得られたレコードからDEVMODEとユーザトークンを取得する。SC1004において、ジョブ管理サービス403は、SC1003で得たユーザトークンを使って、自身のスレッドを偽装する。スレッドを偽装している間、スレッドは図4のクライアント・アプリケーション400で印刷を実行したユーザのセキュリティコンテキストで実行される。SC1005において、ジョブ管理サービス403は、SC1001で得た個々の印刷設定情報をSC1003で得たDEVMODEに適用する。DEVMODEは、プリンタドライバが管理するプリンタドライバ固有のデータ形式であるので、DEVMODEに個々の情報を適用するためには、DEVMODEを生成したプリンタドライバにDEVMODEの更新を依頼する必要がある。
図8におけるSC810で論理プリンタを生成済みなので、この論理プリンタを使ってDEVMODEに対し個々の情報を適用することになる。一般に、DEVMODEに個々の情報を適用する手法としては、プリンタドライバにDEVMODEを操作する独自の拡張インタフェースを設けて、そのインタフェースを経由することが多い。近年は、プリントチケットと呼ばれる米国Microsoft社が規定したXMLによる印刷設定格納形式を利用する方法もある。即ち、プリンタドライバがプリントチケットをサポートするならば、DEVMODEをプリントチケットに変換し、プリントチケットに対し個々の情報を適用し、プリントチケットからDEVMODEに変換してもよい。
SC1006において、ジョブ管理サービス403は、ジョブ管理DB404に保存しているDEVMODEをSC1005で変更したDEVMODEを使って更新する。SC1007において、ジョブ管理サービス403は、SC1006で更新したDEVMODEからカラーモード、両面、ページ集約、部数、といった個々の情報を取り出す。個々の情報の取り出し方は、図8のSC807と同じである。SC1008において、ジョブ管理サービス403は、スレッドの偽装を解除する。SC1009において、ジョブ管理サービス403は、パネル・アプリケーション407へ図13(c)のようなXML形式で変更した印刷設定情報を返信する。SC1010で処理を終了する。ただし、図16(a)の設定1434(部数)のみ変更した印刷設定情報に関しては、複合機102内で処理が可能となっている。そのため、SE1004からSE1008に進む必要はない。
[第4の制御処理]
図11は、本発明のプリントシステムにおける第4の制御処理手順の一例を示すフローチャートであり、図10のSE1015で呼び出される印刷指示処理のフローチャートでもある。図4に示した4−1から4−4までの処理手順に対応する。なお、図11に示されたフローチャートにおいて、実線矢印は処理の流れを示し、破線矢印は装置間のデータの送受信を示している。
SE1100〜SE1107は、図4に示したパネル・アプリケーション407による印刷指示処理に対応する。これらフローチャートの処理は、図1に示した複合機102のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。
SC1100〜SC1108は、図4に示したジョブ管理サービス403による印刷処理に対応する。これらフローチャートの処理は、図1に示したプリントサーバ101のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。
まず、パネル・アプリケーション407による印刷指示処理を説明する。SE1100において、パネル・アプリケーション407の処理を開始する。SE1101において、パネル・アプリケーション407は、ジョブ管理サービス403へ印刷指示要求コマンドと選択済みの印刷ジョブのGUIDと複合機102のモデル名も併せて送信する。SE1102において、パネル・アプリケーション407は、ジョブ管理サービス403から印刷実行結果(成否)を受信する。SE1103において、パネル・アプリケーション407は、印刷実行に成功したかどうかを判定する。失敗した場合は、SE1104へ進み、パネル・アプリケーション407は、エラー表示画面(図16(c))を操作部308の表示部に表示するように制御する。そしてSE1107へ進む。一方、SE1103において、印刷実行に成功したと判定した場合は、SE1105へ進む。
SE1105において、パネル・アプリケーション407は、図16(a)のプリント後文書消去チェックボックス1435がチェックされていたかどうかを判定する。プリント後に削除する指示があった場合、SE1106へ進み、パネル・アプリケーション407は、印刷ジョブを削除する。詳細は図12を用いて後述する。そしてSE1107に進む。SE1107で処理を終了する。
次にジョブ管理サービス403による印刷処理を説明する。SC1100において、ジョブ管理サービス403の処理を開始する。SC1101において、ジョブ管理サービス403は、パネル・アプリケーション407のSE1101から印刷指示コマンドと印刷対象の印刷ジョブのGUIDを受信する。SC1102において、ジョブ管理サービス403は、図4のジョブ管理DB404からSC1101で得たGUIDと一致するレコードを探索する。SC1103において、ジョブ管理サービス403は、探索して得られたレコードからEMFSPOOLのファイル名とDEVMODEとユーザトークンを取得する。
SC1104において、ジョブ管理サービス403は、SC1103で得たユーザトークンを使って、自身のスレッドを偽装する。スレッドを偽装している間、スレッドは図4のクライアント・アプリケーション400で印刷を実行したユーザのセキュリティコンテキストで実行される。SC1105において、ジョブ管理サービス403は、SC1103にて得たEMFSPOOL形式の印刷ジョブとDEVMODEをプリンタドライバ408に送信する。論理プリンタを構成するプリンタドライバ408は、ジョブ管理サービス403から受信したEMFSPOOL形式の印刷ジョブとDWEVMODEに基づいてPDL印刷ジョブを生成し、複合機102にPDL印刷ジョブを送信する。なお、SC1105にて送信されるPDL印刷ジョブは、第2PDL印刷ジョブとも呼ばれる。SC1106において、スレッドの偽装を解除する。SC1107において、ジョブ管理サービス403は、パネル・アプリケーション407へ印刷実行結果(成否)を返信する。SC1108で処理を終了する。
[第5の制御処理]
図12は、本発明のプリントシステムにおける第5の制御処理手順の一例を示すフローチャートであり、図10のSE1007で呼び出される印刷ジョブ削除処理のフローチャートである。さらに、図11のSE1106で呼び出される印刷ジョブ削除処理のフローチャートでもある。図4に示した5−1から5−4までの処理手順に対応する。なお、図12に示されたフローチャートにおいて、実線矢印は処理の流れを示し、破線矢印は装置間のデータの送受信を示している。
SE1200〜SE1203は、図4に示したパネル・アプリケーション407による印刷ジョブ削除指示処理に対応する。これらフローチャートの処理は、図1に示した複合機102のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。
SC1200〜SC1207は、図4に示したジョブ管理サービス403処理による印刷ジョブ削除処理に対応する。これらフローチャートの処理は、図1に示したプリントサーバ101のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。
SD1200〜SD1204は、図4に示したアドレス管理サービス405による印刷ジョブ識別子登録解除処理に対応する。これらフローチャートの処理は、図1に示したアドレス管理サーバ103のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。
まず、パネル・アプリケーション407による印刷ジョブ削除指示処理を説明する。SE1200において、パネル・アプリケーション407の処理を開始する。なお、前述した通りSE1200の呼び出しは、図11のSE1106であるが、図15(c)の消去ボタン1421の押下をユーザから受け付けた場合も同様に当ステップを呼び出す。SE1201において、パネル・アプリケーション407は、削除対象の印刷ジョブのGUIDを取得し、SE1202において、ジョブ管理サービス403へ印刷ジョブ削除指示コマンドを送信する。このとき、パネル・アプリケーション407は、SE1201で取得したGUIDも併せて送信する。SE1203で処理を終了する。
次にジョブ管理サービス403による印刷ジョブ削除処理を説明する。SC1200において、ジョブ管理サービス403の処理を開始する。SC1201において、ジョブ管理サービス403は、パネル・アプリケーション407のSE1202から印刷ジョブ削除指示コマンドと削除対象の印刷ジョブのGUIDを受信する。SC1202において、ジョブ管理サービス403は、アドレス管理サービス405へ印刷ジョブ識別子登録解除コマンドとSC1201で得たGUIDを送信する。SC1203において、ジョブ管理サービス403は、図4のジョブ管理DB404からSC1201で得たGUIDと一致するレコードを探索する。SC1204において、ジョブ管理サービス403は、探索して得られたレコードからEMFSPOOL形式の印刷ジョブのファイル名を取得する。SC1205において、ジョブ管理サービス403は、ジョブ管理サービス403は、取得したファイル名に基づいて、EMFSPOOL形式の印刷ジョブを削除する。SC1206において、ジョブ管理サービス403は、図4のジョブ管理DB404からSC1203で得たレコードを削除する。SC1207で処理を終了する。
次にアドレス管理サービス405による印刷ジョブ識別子登録解除処理を説明する。SD1200において、アドレス管理サービス405の処理を開始する。SD1201において、アドレス管理サービス405は、ジョブ管理サービス403のSC1202から印刷ジョブ識別子登録解除コマンドと対象の印刷ジョブ識別子であるGUIDを受信する。SD1202において、アドレス管理サービス405は、図4のアドレス管理DB406からSD1201で得たGUIDと一致するレコードを探索する。SD1203において、アドレス管理サービス405は、図4のジョブ管理DB404からSD1202で得たレコードを削除する。SD1204で処理を終了する。
以上の手順により、ユーザが印刷装置からサーバ上に一時蓄積された印刷データに対して印刷要求を行う際に、印刷設定情報の変更を指示することが可能となる。しかも、印刷装置上で動作する印刷設定情報の変更を指示するプログラムは、クライアントPCではなく、サーバ上にある印刷装置に適したプリンタドライバに印刷設定情報の変更を依頼するため、適切な印刷設定情報の変更が可能になる。さらに、ユーザが印刷設定情報の変更や印刷ジョブを確認している間に、印刷装置に適した印刷ジョブを準備しておくので、ユーザの待ち時間を減らすことができる。
以上の手順により、ユーザが複合機102にログインした時点でプリントサーバはプリンタドライバをインストールし、複合機102に保存するためにEMFSPOOL形式の印刷ジョブをPDL変換する。その間にユーザはパネル・アプリケーション407で印刷設定情報の変更や印刷物の確認を行う。次にユーザが印刷指示を行ったとき、印刷設定情報を変更したかを判定することで、保存したPDLジョブを利用するか、印刷設定情報を変更するためにEMFSPOOL形式の印刷ジョブから再度PDL変換するかを判定する。もし、保存したPDLジョブを利用する場合は、プリンタドライバのインストールおよびPDL変換にかかる時間がないため、印刷指示後すぐに出力が可能となる。印刷設定情報が変更されたとしても、プリンタドライバはインストールされているため、時間はそれほどかからない。これらの2つのシステムを、ユーザによる印刷設定情報の変更の判定によって、自動で最適な印刷方法を決定することができる。
<第二実施形態>
第一実施形態において、PDLジョブを保存する領域を複合機102の保存領域304としていたが、複合機によっては保存領域を備えていない場合もある。そこで、プリントサーバ101の外部メモリ211を保存領域として使用するシステムについて図17と図18のフローチャートを用いて説明する。本実施形態では図1に示したプリントサーバ101の外部メモリ211を保存領域211と記載する。
[プルプリント処理の流れ]
図17の1−1から2−10までは第一実施形態で述べた図4の処理と同様であるため、説明を省略する。ただし、ジョブ管理サービス403がプリンタドライバ408に保存指示を行い、プリンタドライバ408が保存する先は、プリントサーバ101に搭載されている保存領域211となる。そして、ユーザが複合機102の操作パネルを介して印刷ジョブを選択し、印刷設定情報の変更及び印刷指示がなされる。これらの指示により、パネル・アプリケーション407は、パネル・アプリケーション上で印刷設定情報が変更されているかを確認して、印刷処理手順を決定する。ここで、印刷設定情報が変更されていると判定した場合は、第一実施形態と処理が同じため説明を省略する。
印刷設定情報が変更されていない場合、パネル・アプリケーション407は、ジョブ管理サービス403に印刷指示を行い(3−1)、ユーザによって指示されたジョブに対応するPDLジョブを保存領域211から取得する(3−2)。そして、ジョブ管理サービス403は、保存領域211から取得したPDLジョブをプリンタドライバ408に送信し、印刷指示を行う(3−3)。プリンタドライバ408は、すでにPDL変換されているジョブを取得すると、そのまま複合機102にPDLジョブを送信することで、複合機102が印刷処理を実行する(3−4)。
最後に、ユーザにより印刷ジョブの削除が指示されると、パネル・アプリケーション407は、ジョブ管理サービス403に対し、指定された印刷ジョブの削除を指示する(4−1)。これにより削除送信手段を実現する。また、この削除指示を受信することで、ジョブ管理サービス403は、削除受信手段を実現する。ジョブ管理サービス403は、パネル・アプリケーション407から印刷ジョブの削除要求を受信すると、まず、アドレス管理サービス405へ登録した印刷ジョブの削除を指示する(4−2)。アドレス管理サービス405は、ジョブ管理サービス403から印刷ジョブの登録解除要求を受信すると、アドレス管理DB406の該当するレコードを削除する(4−3)。次に、ジョブ管理サービス403は、ジョブ管理DBの該当するレコードを削除し(4−4)、EMFSPOOL形式の印刷ジョブも削除する。そして、ジョブ管理サービス403は、保存領域211に保存されているPDLジョブを削除する(4−5)。
以上、保存領域を搭載していない複合機におけるプルプリントシステムの全体の流れを説明した。次は詳細な説明を図18のフローチャートを用いて説明する。ただし、第一実施形態と同様の処理は説明を省略する。
[第3および第4の制御処理]
図18は、本発明のプリントシステムにおける第3および第4の制御処理手順の一例を示すフローチャートであり、図17に示した3−1から3−3および4−1から4−5までの処理手順に対応する。なお、図18に示されたフローチャートにおいて、実線矢印は処理の流れを示し、破線矢印は装置間のデータの送受信を示している。
SE1600〜SE1604は、図17に示したパネル・アプリケーション407の処理に対応する。これらフローチャートの処理は、図1に示した複合機102のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。
SC1600〜SC1611は、図17に示したジョブ管理サービス403処理に対応する。これらフローチャートの処理は、図1に示したプリントサーバ101のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。
SD1600〜SC1604は、図17に示したアドレス管理サービス405処理に対応する。これらフローチャートの処理は、図1に示したアドレス管理サーバ103のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。
まず、パネル・アプリケーション407による印刷およびジョブ削除指示処理を説明する。SE1600において、パネル・アプリケーション407の処理を開始する。SE1601において、パネル・アプリケーション407は、ジョブ管理サービス403へ印刷指示コマンドを送信する。SE1602において、パネル・アプリケーション407は、削除対象の印刷ジョブのGUIDを取得する。なお、本実施形態では図16(a)のプリント後文書消去チェックボックス1435がチェックされている場合に当ステップを呼び出す。SE1603において、パネル・アプリケーション407は、ジョブ管理サービス403へ印刷ジョブ削除指示コマンドとSE1602で取得したGUIDを送信する。SE1604で処理を終了する。
次にジョブ管理サービス403による印刷およびジョブ削除処理を説明する。SC1600において、ジョブ管理サービス403の処理を開始する。SC1601において、ジョブ管理サービス403は、パネル・アプリケーション407からの印刷指示コマンドを受信する。SC1602において、ジョブ管理サービス403は、保存領域211から対象PDLジョブを取得する。SC1603において、ジョブ管理サービス403は、プリンタドライバ408に印刷対象PDLジョブを送信して、複合機102に印刷させる。このとき、新たにPDL変換を行うことはないため、パネル・アプリケーション407がユーザからの印刷指示を受けてすぐに、出力を開始することができる。
SC1604において、ジョブ管理サービス403は、パネル・アプリケーション407のSE1603から印刷ジョブ削除指示コマンドと削除対象の印刷ジョブのGUIDを受信する。SC1605において、ジョブ管理サービス403は、アドレス管理サービス405へ印刷ジョブ識別子登録解除コマンドとSC1604で得たGUIDを送信する。SC1606において、ジョブ管理サービス403は、図4のジョブ管理DB404からSC1604で得たGUIDと一致するレコードを探索する。SC1607において、ジョブ管理サービス403は、探索して得られたレコードからEMFSPOOL形式の印刷ジョブのファイル名を取得し、SC1608において、EMFSPOOL形式の印刷ジョブを削除する。SC1609において、ジョブ管理サービス403は、図4のジョブ管理DB404からSC1606で得たレコードを削除する。SC1610において、ジョブ管理サービス403は、保存領域211から対象PDLジョブを削除する。SC1611で処理を終了する。
次にアドレス管理サービス405による印刷ジョブ識別子登録解除処理を説明する。SD1600において、アドレス管理サービス405の処理を開始する。SD1601において、アドレス管理サービス405は、ジョブ管理サービス403のSC1605から印刷ジョブ識別子登録解除コマンドと対象の印刷ジョブ識別子であるGUIDを受信する。SD1602において、アドレス管理サービス405は、図4のアドレス管理DB406からSD1601で得たGUIDと一致するレコードを探索する。SD1603において、アドレス管理サービス405は、図4のジョブ管理DB404からSD1602で得たレコードを削除する。SD1604で処理を終了する。
以上の手順により、保存領域が確保できない印刷装置に対しても本発明のシステムを適用することが可能となる。
<第三実施形態>
第一実施形態において、ジョブ管理サービス403は、プリンタドライバ408をインストールした後にEMFSPOOL形式の印刷ジョブおよびメタデータを利用して、プリンタドライバ408にPDL変換させる。ただし、ジョブ管理DB404の探索方法を指定していないため、プリンタドライバ408に送信する順番が定まっていない。さらに、大量のジョブがジョブ管理DB404に登録されている場合、すべてのジョブに対して保存を行うと、保存領域が必要以上に圧迫されてしまう恐れがある。そのため、ジョブ管理サービス403のジョブ探索方法および保存領域に保存するジョブの最大数を決めておく必要がある。そこで、ジョブ探索方法およびジョブ保存最大数の設定方法を図19と図20のフローチャートを利用して説明する。
[保存設定の画面例]
図19では、図1に示したプリントサーバ101上で動作するジョブ管理サービス403の保存に関する設定画面の一例を示す模式図である。この設定は、本システム導入前、または導入中にサーバ管理者によって設定されることが想定される。
ジョブ探索方法選択部1701において、ジョブ管理DB404に保存されているEMFSPOOL形式の印刷ジョブとメタデータの探索方法を選択する。通常の探索方法としては、仮想プリンタドライバ401から送信された順を示す印刷順1702が設定されている。ページ数の多い順1703は、ページ数が多いEMFSPOOL形式の印刷ジョブを優先的に探索する。ページ数の多い順番に設定することで、該保存中のEMFSPOOL形式の印刷ジョブを保存している間に、ユーザは他のジョブを選択して図4の3−2−1から4−4のフローで印刷することができる。
ページ数の少ない順1704は、ページ数が少ないEMFSPOOL形式の印刷ジョブを優先的に探索する。ページ数の少ない順に設定することで、保存にかかる時間が他のジョブより少ないため、逐次PDLジョブが保存領域304に格納され、複合機102は格納されたPDLジョブを印刷することが可能となる。PDLジョブの保存可能な数を設定するために、ジョブ保存最大数の設定1705では、任意の数を設定することが可能である。保存数を制限することで、PDLジョブの保存領域304を必要以上に圧迫しないように設定することができる。
以上のように、印刷ジョブの特性(ページ数や印刷指示を受けた順番等)を用いた優先順を定義し、これらに基づく設定をすることで、システム利用者に適した方法で本システムを適用できる。
[保存指示処理]
次は詳細な説明を図20のフローチャートを用いて説明する。ただし、第一実施形態と同様の処理の説明を省略する。図20は、本発明のプリントシステムにおける記憶領域への保存指示処理手順の一例を示すフローチャートである。事前に図19の印刷設定画面からジョブ保存順およびジョブ最大数が設定されている必要がある。
SC1800〜SC1808は、図1に示したジョブ管理サービス403処理に対応する。これらフローチャートの処理は、図1に示したプリントサーバ101のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。
SC1800において、ジョブ管理サービス403の処理を開始する。SC1801において、ジョブ管理サービス403は、図19に示す画面によりユーザから設定された印刷保存順とジョブ保存最大数を取得する。SC1802において、ジョブ管理サービス403スプールされたEMFSPOOL形式のジョブをすべてプリンタドライバ408に送信したか、またはSC1801で取得した保存最大数を超えたかを判定する。EMFSPOOL形式のジョブをすべて送信し終えていない、かつ、保存最大数を超えていない場合はSC1803に進む。SC1803において、ジョブ管理サービス403は、ジョブ管理DB404からSC1801で取得したジョブ保存順に応じてレコードを探索する。
SC1804において、ジョブ管理サービス403は、取得したレコードからDEVMODEとユーザトークンとEMFSPOOL形式の印刷ジョブのファイルパスを取得する。SC1805において、ジョブ管理サービス403は、SC1804で取得したユーザトークンを用いて自身のスレッドを偽装する。SC1806において、ジョブ管理サービス403は、EMFSPOOL形式の印刷ジョブとDEVMODEをプリンタドライバ408へ送信し、保存指示を行う。SC1807において、ジョブ管理サービス403は、スレッドの偽装を解除し、SC1802に進む。SC1802において、ジョブ管理サービス403は、スプールされたEMFSPOOL形式のジョブをすべてプリンタドライバ408に送信し終えた、またはSC1801で取得した保存最大数を超えた場合、SC1808に進む。そして、記憶領域への保存指示処理が終了となる。
以上の手順により、システム利用者に適した保存処理を設定することができる。なお、ジョブ保存最大数を決定したとしても、保存領域304の容量が足りず、保存ができない可能性がある。その場合は、EMFSPOOL形式の印刷ジョブおよびメタデータを利用して、再度プリンタドライバ408でPDL変換を行い出力する手法を使用する。その手法に関しては第一実施形態にて記載したため、ここでは省略する。
<第四実施形態>
第一実施形態において、保存するPDLジョブはクライアントPC100の仮想プリンタドライバで設定したメタデータを利用して生成される。ただし、仮想プリンタドライバ401で設定できる印刷設定情報は、出力対象の印刷装置が確定していないため、印刷装置に依存しない汎用的な印刷設定情報に限られる。そのため、保存処理の機能が仮想プリンタドライバで設定できない可能性がある。さらに、本システムの管理者が、エコプリント(例えば、モノクロ、両面印刷、2in1の印刷設定情報)等の、ユーザの印刷設定情報を強制することができる方法があることが望ましい。そこで、あらかじめパネル・アプリケーション407で設定しておいた印刷設定情報を、モデル名と同時に複合機102に送信することで、該印刷対象ジョブを保存する印刷設定情報を強制する手段を図21のフローチャートを用いて説明する。
[第4の制御処理]
図21は、本発明のプリントシステムにおける第4の制御処理手順の一例を示すフローチャートである。なお、図21に示されたフローチャートにおいて、実線矢印は処理の流れを示し、破線矢印は装置間のデータの送受信を示している。
SE1900〜SE1913は、図4に示したパネル・アプリケーション407による印刷ジョブ一覧表示処理に対応する。これらフローチャートの処理は、図1に示した複合機102のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。
SD1900〜SD1907は、図4に示したアドレス管理サービス405によるアドレス解決処理に対応する。これらフローチャートの処理は、図1に示したアドレス管理サーバ103のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。
SC1900〜SC1911は、図4に示したジョブ管理サービス403による印刷ジョブ一覧生成およびジョブ保存指示処理に対応する。これらフローチャートの処理は、図1に示したプリントサーバ101のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。
まず、パネル・アプリケーション407による印刷ジョブ一覧表示処理を説明する。SE1900からSE1909までは第一実施形態と処理が同じであるため説明を省略する。
SE1910にて、パネル・アプリケーション407は、ジョブ管理サービス403に印刷ジョブ一覧要求コマンドを送信する。このとき、パネル・アプリケーション407は、ユーザ名、モデル名、さらにユーザが指定する印刷ジョブに対して強制したい印刷設定情報も併せて送信する。ここで、強制したい印刷設定情報はシステム管理者が前もって図16(a)のような設定画面で設定しておき、パネル・アプリケーション407は複合機ごとに設定した印刷設定情報を記憶しておく必要がある。記憶、送信するデータとしては、図13(a)のようなXML形式で表現される。なお、便宜上、この強制したい印刷設定情報を強制印刷設定情報と記載する。また、強制印刷設定情報は、記憶部である外部メモリ211等に記憶され、これにより、強制設定保持手段を実現する。
SE1911において、パネル・アプリケーション407は、ジョブ管理サービス403から印刷ジョブ一覧を受信する。SE1908からSE1911において、IPアドレスのリストからIPアドレスを取り出し終えると、SE1912に進む。そして、SE1912にて、パネル・アプリケーション407は、印刷ジョブ一覧表示画面(図15(c))を操作部308の表示部に表示するように制御する。SE1913で処理を終了する。
アドレス管理サービス405によるアドレス解決処理(SD1900〜SD1907)については、第一実施形態と同じため、ここでは説明を省略する。
次にジョブ管理サービス403による印刷ジョブ一覧生成およびジョブ保存指示処理を説明する。SC1900において、ジョブ管理サービス403は、ジョブ管理サービス403の処理が開始する。SC1901において、ジョブ管理サービス403は、パネル・アプリケーション407のSE1910から印刷ジョブ一覧要求を受け付ける。このとき、ジョブ管理サービス403は、ユーザ名、モデル名、および強制印刷設定情報も受信する。取得する印刷設定情報は前述した図13(a)のようなXML形式で表現される。SC1902において、ジョブ管理サービス403は、図4のジョブ管理DB404からSC1901で得たユーザ名と一致するレコードを探索する。
SC1903において、ジョブ管理サービス403は、探索したレコードから1つのレコードを取り出す。SC1904において、ジョブ管理サービス403は、レコードを取り出せるかどうかを判定する。レコードを取り出せるときは、SC1905へ進む。そして、ジョブ管理サービス403は、レコードからGUIDとジョブ名とDEVMODEと仮想プリンタドライバの論理プリンタ名とユーザトークンと日付、時刻を取り出す。SC1906において、ジョブ管理サービス403は、SC1904で得たユーザトークンを使って、自身のスレッドを偽装する。スレッドを偽装している間、スレッドは図4のクライアント・アプリケーション400で印刷を実行したユーザのセキュリティコンテキストで実行される。
SC1907において、ジョブ管理サービス403は、SC1905で得たDEVMODEをSC1901で取得した印刷設定情報で更新してジョブ管理DB404に登録し直す。そして、ジョブ管理サービス403は、更新されたDEVMODEからカラーモード、両面、ページ集約、部数、といった個々の情報を取り出す。SC1908において、ジョブ管理サービス403は、スレッドの偽装を解除する。SC1903からSC1908において、探索した全レコードから個々の印刷設定情報を取り出し終えると、SC1909へ進む。そして、ジョブ管理サービス403は、印刷ジョブ一覧(図14)を生成する。そして、ジョブ管理サービス403は、パネル・アプリケーション407へ印刷ジョブ一覧を返信する。SC1910は第一実施形態と処理が同じため説明を省略する。そしてSC1911で処理を終了する。
以上の手順により、パネル・アプリケーション407で強制したい印刷設定情報を設定しておくことで、印刷設定情報を反映したPDLジョブの保存が可能となる。
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (9)

  1. 印刷装置に送信される前の形式である中間形式の印刷ジョブを生成する仮想プリンタドライバを備える情報処理装置と、前記印刷ジョブを管理するプリントサーバと、印刷装置とを含むプリントシステムであって、
    前記プリントサーバは、
    前記情報処理装置から受信した前記中間形式の印刷ジョブを記憶する記憶手段と、
    前記印刷装置からジョブの一覧の要求を受信した際に、当該印刷装置に対応するプリンタドライバがインストールされていなかった場合、前記印刷装置に対応するプリンタドライバのインストール処理を実行するインストール手段と、
    前記インストール手段によるインストール処理の対象となった前記プリンタドライバを用いて、前記記憶手段により記憶された中間形式の印刷ジョブを前記印刷装置にて印刷可能な第1PDL印刷ジョブに変換する変換手段と、
    前記変換手段にて変換された前記第1PDL印刷ジョブが前記印刷装置にて保存されるように前記第1PDL印刷ジョブを送信する送信手段と
    を有し、
    前記記憶手段は、前記第1PDL印刷ジョブが生成された後も前記中間形式の印刷ジョブを記憶し、
    前記送信手段は、前記印刷装置から前記印刷ジョブに対する印刷設定変更指示を受信した場合、変更された印刷設定情報と前記記憶手段に記憶された前記中間形式の印刷ジョブに基づいて生成された第2PDL印刷ジョブを前記印刷装置に送信し、
    前記印刷装置は、
    前記送信手段により送信された前記第1PDL印刷ジョブを保存する保存手段と、
    前記印刷ジョブを印刷する印刷手段と、
    印刷ジョブを選択する選択手段と、
    前記選択手段により選択された印刷ジョブに対する前記印刷設定情報の変更指示を送信する設定変更送信手段と
    を有し、
    前記印刷手段は、
    前記設定変更送信手段によって印刷設定情報の変更指示が送信された場合、前記プリントサーバから送信された前記第2PDL印刷ジョブを用いて印刷を行い、
    前記設定変更送信手段によって印刷設定情報の変更指示が送信されい場合、前記保存手段にて保存されている前記第1PDL印刷ジョブを用いて印刷を行う
    ことを特徴とするプリントシステム。
  2. 前記送信手段は、前記印刷ジョブの特性に応じて予め定義された優先順に従って、印刷ジョブの保存する順番を決定することを特徴とする請求項1に記載のプリントシステム。
  3. 前記優先順を定義するための前記印刷ジョブの特性は、印刷ジョブの印刷順、印刷ジョブにおけるページ数のうち、少なくとも一つであることを特徴とする請求項2に記載のプリントシステム。
  4. 前記送信手段は、保存可能な印刷ジョブの数を定義することができることを特徴とする請求項1に記載のプリントシステム。
  5. 前記印刷装置は、前記プリントサーバにて管理している印刷ジョブに適用する強制印刷設定を予め保持する強制設定保持手段を更に有し、
    印刷ジョブ一覧要求を送信する際に、前記強制印刷設定を更に前記プリントサーバに送信し、
    前記プリントサーバは、前記印刷装置から受信した前記強制印刷設定を用いて設定を行った印刷ジョブを含む刷ジョブ一覧情報を前記印刷装置へ送信することを特徴とする請求項1に記載のプリントシステム。
  6. 印刷装置に送信される前の形式である中間形式の印刷ジョブを生成する仮想プリンタドライバを備える情報処理装置と印刷装置と通信するプリントサーバであって、
    前記情報処理装置から受信した前記中間形式の印刷ジョブを記憶する記憶手段と、
    前記印刷装置からジョブの一覧の要求を受信した際に、当該印刷装置に対応するプリンタドライバがインストールされていなかった場合、前記印刷装置に対応するプリンタドライバのインストール処理を実行するインストール手段と、
    前記インストール手段によるインストール処理の対象となった前記プリンタドライバを用いて、前記記憶手段により記憶された中間形式の印刷ジョブを前記印刷装置にて印刷可能な第1PDL印刷ジョブに変換する変換手段と、前記変換手段にて変換された前記第1PDL印刷ジョブが前記印刷装置にて保存されるように前記第1PDL印刷ジョブを送信する送信手段と
    を有し、
    前記記憶手段は、前記第1PDL印刷ジョブが生成された後も前記中間形式の印刷ジョブを記憶し、
    前記送信手段は、前記印刷装置から前記印刷ジョブに対する印刷設定変更指示を受信した場合、変更された印刷設定情報と前記記憶手段にて記憶された前記中間形式の印刷ジョブに基づいて生成された第2PDL印刷ジョブを前記印刷装置に送信するプリントサーバ。
  7. 印刷装置に送信される前の形式である中間形式の印刷ジョブを生成する仮想プリンタドライバを備える情報処理装置と、前記印刷ジョブを管理するプリントサーバと、印刷装置とを含むプリントシステムにおける印刷方法であって、
    前記プリントサーバにおいて、
    記憶手段が、前記情報処理装置から受信した前記中間形式の印刷ジョブを記憶する記憶工程と、
    インストール手段が、前記印刷装置からジョブの一覧の要求を受信した際に、当該印刷装置に対応するプリンタドライバがインストールされていなかった場合、前記印刷装置に対応するプリンタドライバのインストール処理を実行するインストール工程と、
    変更手段が、前記インストール工程においてインストール処理の対象となった前記プリンタドライバを用いて、前記記憶工程において記憶された中間形式の印刷ジョブを前記印刷装置にて印刷可能な第1PDL印刷ジョブに変換する変換工程と、
    送信手段が、前記変換工程において変換された前記第1PDL印刷ジョブが前記印刷装置にて保存されるように前記第1PDL印刷ジョブを送信する送信工程と
    を有し、
    前記記憶工程において、前記第1PDL印刷ジョブが生成された後も前記中間形式の印刷ジョブを記憶し、
    前記印刷装置から前記印刷ジョブに対する印刷設定変更指示を受信した場合、前記送信工程において、変更された印刷設定情報と前記記憶工程において記憶された前記中間形式の印刷ジョブに基づいて生成された第2PDL印刷ジョブを前記印刷装置に送信し、
    前記印刷装置において、
    保存手段が、前記送信工程により送信された前記第1PDL印刷ジョブを保存する保存工程と、
    印刷手段が、前記印刷ジョブを印刷する印刷工程と、
    選択手段が、印刷ジョブを選択する選択工程と、
    設定変更送信手段が、前記選択工程において選択された印刷ジョブに対する前記印刷設定情報の変更指示を送信する設定変更送信工程と
    を有し、
    前記印刷工程において、
    前記設定変更送信工程において印刷設定情報の変更指示が送信された場合、前記プリントサーバから送信された前記第2PDL印刷ジョブを用いて印刷を行い、
    前記設定変更送信工程において印刷設定情報の変更指示が送信されい場合、前記保存工程にて保存された前記第1PDL印刷ジョブを用いて印刷を行う
    ことを特徴とする印刷方法。
  8. 印刷装置に送信される前の形式である中間形式の印刷ジョブを生成する仮想プリンタドライバを備える情報処理装置と印刷装置と通信するプリントサーバの制御方法であって、
    記憶手段が、前記情報処理装置から受信した前記中間形式の印刷ジョブを記憶する記憶工程と、
    インストール手段が、前記印刷装置からジョブの一覧の要求を受信した際に、当該印刷装置に対応するプリンタドライバがインストールされていなかった場合、前記印刷装置に対応するプリンタドライバのインストール処理を実行するインストール工程と、
    変換手段が、前記インストール工程においてインストール処理の対象となった前記プリンタドライバを用いて、前記記憶工程において記憶された中間形式の印刷ジョブを前記印刷装置にて印刷可能な第1PDL印刷ジョブに変換する変換工程と、
    送信手段が、前記変換工程において変換された前記第1PDL印刷ジョブが前記印刷装置にて保存されるように前記第1PDL印刷ジョブを送信する送信工程と
    を有し、
    前記記憶工程において、前記第1PDL印刷ジョブが生成された後も前記中間形式の印刷ジョブを記憶し、
    前記印刷装置から前記印刷ジョブに対する印刷設定変更指示を受信した場合、前記送信工程において、変更された印刷設定情報と前記記憶工程において記憶された前記中間形式の印刷ジョブに基づいて生成された第2PDL印刷ジョブを前記印刷装置に送信する制御方法。
  9. コンピュータを、
    情報処理装置から受信した中間形式の印刷ジョブを記憶する記憶手段、
    刷装置からジョブの一覧の要求を受信した際に、当該印刷装置に対応するプリンタドライバがインストールされていなかった場合、前記印刷装置に対応するプリンタドライバのインストール処理を実行するインストール手段、
    前記インストール手段によるインストール処理の対象となった前記プリンタドライバを用いて、前記記憶手段により記憶された中間形式の印刷ジョブを前記印刷装置にて印刷可能な第1PDL印刷ジョブに変換する変換手段、
    前記変換手段にて変換された前記第1PDL印刷ジョブが前記印刷装置にて保存されるように前記第1PDL印刷ジョブを送信する送信手段
    として機能させ、
    前記記憶手段は、前記第1PDL印刷ジョブが生成された後も前記中間形式の印刷ジョブを記憶し、
    前記送信手段は、前記印刷装置から前記印刷ジョブに対する印刷設定変更指示を受信した場合、変更された印刷設定情報と前記記憶手段に記憶された前記中間形式の印刷ジョブに基づいて生成された第2PDL印刷ジョブを前記印刷装置に送信することを特徴とするプログラム。
JP2010222436A 2010-09-30 2010-09-30 プリントシステム、印刷方法、プリントサーバ及びその制御方法、並びにプログラム Expired - Fee Related JP5680926B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010222436A JP5680926B2 (ja) 2010-09-30 2010-09-30 プリントシステム、印刷方法、プリントサーバ及びその制御方法、並びにプログラム
US13/228,423 US20120081731A1 (en) 2010-09-30 2011-09-08 Printing system, printing method, print server, control method and computer-readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010222436A JP5680926B2 (ja) 2010-09-30 2010-09-30 プリントシステム、印刷方法、プリントサーバ及びその制御方法、並びにプログラム

Publications (3)

Publication Number Publication Date
JP2012078999A JP2012078999A (ja) 2012-04-19
JP2012078999A5 JP2012078999A5 (ja) 2013-11-14
JP5680926B2 true JP5680926B2 (ja) 2015-03-04

Family

ID=45889575

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010222436A Expired - Fee Related JP5680926B2 (ja) 2010-09-30 2010-09-30 プリントシステム、印刷方法、プリントサーバ及びその制御方法、並びにプログラム

Country Status (2)

Country Link
US (1) US20120081731A1 (ja)
JP (1) JP5680926B2 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5754114B2 (ja) * 2010-11-22 2015-07-29 株式会社リコー 画像形成装置、情報設定システム、情報設定方法及び情報設定プログラム
JP5817364B2 (ja) * 2011-09-12 2015-11-18 株式会社リコー 画像処理装置、情報設定システム及び情報設定プログラム
JP5843691B2 (ja) * 2012-05-11 2016-01-13 キヤノン株式会社 情報処理装置、印刷システム、情報処理装置の制御方法、およびコンピュータプログラム
JP6007015B2 (ja) * 2012-05-22 2016-10-12 京セラドキュメントソリューションズ株式会社 画像形成装置及び画像形成プログラム
JP6053491B2 (ja) * 2012-12-13 2016-12-27 キヤノン株式会社 情報処理装置及びプログラム、制御方法
JP6064585B2 (ja) 2012-12-25 2017-01-25 ブラザー工業株式会社 画像形成装置,記憶媒体および画像形成システム
US9134931B2 (en) * 2013-04-30 2015-09-15 Hewlett-Packard Development Company, L.P. Printing content over a network
JP6303571B2 (ja) 2014-02-17 2018-04-04 株式会社リコー データ処理装置、データ処理システム、データ処理方法、及びプログラム
JP6272080B2 (ja) * 2014-02-26 2018-01-31 キヤノン株式会社 情報処理装置及び分散印刷システム、印刷制御方法、プログラム
JP6311364B2 (ja) * 2014-03-10 2018-04-18 セイコーエプソン株式会社 印刷サーバー、印刷システム、印刷管理プログラムおよび印刷管理方法
JP6226807B2 (ja) * 2014-04-18 2017-11-08 キヤノン株式会社 プログラム、モバイル端末、制御方法、及び画像処理システム
JP6445800B2 (ja) 2014-07-08 2018-12-26 キヤノン株式会社 ネットワークデバイス及び情報処理方法
JP6370156B2 (ja) 2014-08-06 2018-08-08 キヤノン株式会社 情報処理装置及びその制御方法
US10264152B2 (en) * 2015-03-19 2019-04-16 Ricoh Company, Ltd. Information processing device, computer-readable recording medium, and system
JP6833419B2 (ja) * 2016-09-16 2021-02-24 キヤノン株式会社 情報処理装置、方法およびプログラム
CN110214306B (zh) * 2017-02-01 2022-10-04 京瓷办公信息***株式会社 服务器装置、信息处理***及图像形成装置
JP6834714B2 (ja) * 2017-04-05 2021-02-24 富士通株式会社 印刷管理プログラム、印刷管理方法、及び印刷管理装置
US10915271B2 (en) * 2018-01-29 2021-02-09 Micron Technology, Inc. Memory controller with programmable atomic operations
JP7086771B2 (ja) * 2018-07-23 2022-06-20 キヤノン株式会社 印刷装置、印刷装置の制御方法、並びにプログラム
GB2580506B (en) 2018-11-30 2021-10-13 Canon Kk Information processing apparatus, control method, and program
JP7392261B2 (ja) * 2018-12-12 2023-12-06 セイコーエプソン株式会社 印刷システム、印刷装置、印刷システムの制御方法、およびプログラム
EP3757750B1 (en) 2019-06-27 2024-05-15 Canon Kabushiki Kaisha Printing system and control method
US11245801B2 (en) * 2020-03-31 2022-02-08 Kyocera Document Solutions Inc. Image forming apparatus and image forming method capable of changing guidance screen from terminal

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7325235B2 (en) * 2001-10-23 2008-01-29 Canon Kabushiki Kaisha Data processing apparatus, data processing method, program, and storage medium
JP4045799B2 (ja) * 2001-12-28 2008-02-13 コニカミノルタビジネステクノロジーズ株式会社 プリントシステム
US7408667B2 (en) * 2004-02-06 2008-08-05 Sharp Laboratories Of America, Inc. Systems and methods for pull printing where rendering is initiated at the printer
JP4623469B2 (ja) * 2005-12-27 2011-02-02 キヤノンマーケティングジャパン株式会社 プリントサーバおよびプリントシステムおよびプリント方法およびプログラムおよび記録媒体
JP4869031B2 (ja) * 2005-12-28 2012-02-01 キヤノン株式会社 印刷システム、サーバ装置及びジョブ制御方法
JP2009193163A (ja) * 2008-02-12 2009-08-27 Ricoh Co Ltd 画像形成システム、管理装置、通信制御装置、画像形成方法、及び画像形成プログラム
JP2009217306A (ja) * 2008-03-07 2009-09-24 Seiko Epson Corp 印刷システム、プリンタ、サーバ、コンピュータプログラム及び印刷方法
US8792110B2 (en) * 2008-05-30 2014-07-29 Hewlett-Packard Development Company, L.P. Secured document transmission
JP2010020545A (ja) * 2008-07-10 2010-01-28 Fuji Xerox Co Ltd 情報処理機器、画像形成装置、画像形成システム、画像処理プログラム
JP5241522B2 (ja) * 2009-01-07 2013-07-17 キヤノン株式会社 プリンタサーバ、画像形成装置およびこれらを用いた印刷システムとその制御方法ならびにプログラムおよび記録媒体

Also Published As

Publication number Publication date
US20120081731A1 (en) 2012-04-05
JP2012078999A (ja) 2012-04-19

Similar Documents

Publication Publication Date Title
JP5680926B2 (ja) プリントシステム、印刷方法、プリントサーバ及びその制御方法、並びにプログラム
JP5854654B2 (ja) プリントシステム、印刷方法、プリントサーバ、制御方法、及びプログラム
JP5763904B2 (ja) プリントシステム、印刷方法、プリントサーバおよびその制御方法、並びにプログラム
JP5719198B2 (ja) プリントシステム、情報処理装置、制御方法、およびプログラム
US9258437B2 (en) Printing system, control method, and computer-readable medium for controlling printing of data stored in a print server
US8970865B2 (en) Printing control device, storage medium storing printing control program, and printing control method
US8773699B2 (en) Information processing apparatus, printing system, and method for controlling the same
JP2007179197A (ja) プリントシステムおよびプリントサーバおよび印刷管理サーバおよび印刷装置およびプリント方法およびプログラムおよび記録媒体
US8988699B2 (en) Device, information processing apparatus, information processing system, control method, and program
JP2013037487A (ja) 印刷システム、サーバー装置、情報処理方法及びプログラム
JP4425238B2 (ja) プリントシステムおよび印刷管理サーバおよび印刷装置およびプリントシステムの制御方法および印刷管理サーバの制御方法および印刷装置の制御方法およびプログラム
JP4895800B2 (ja) プリントシステムおよび印刷管理サーバおよび印刷装置およびプリントシステムの制御方法および印刷管理サーバの制御方法および印刷装置の制御方法およびプログラム
JP2012221334A (ja) 画像形成システムとその処理方法、画像形成装置、印刷管理サーバー、プリントサーバ、御方法及びプログラム
JP2012221198A (ja) プリントシステム
JP2012181695A (ja) 情報処理装置、プリントシステム、制御方法、及び、プログラム
JP5764924B2 (ja) 情報処理装置、情報処理装置の制御方法、プログラム、記憶媒体
JPWO2013108377A1 (ja) デバイス、情報処理装置、情報処理システム、制御方法、及びプログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130927

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130927

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140319

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140425

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140612

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141117

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141120

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150108

LAPS Cancellation because of no payment of annual fees