JP2012181695A - 情報処理装置、プリントシステム、制御方法、及び、プログラム - Google Patents

情報処理装置、プリントシステム、制御方法、及び、プログラム Download PDF

Info

Publication number
JP2012181695A
JP2012181695A JP2011044393A JP2011044393A JP2012181695A JP 2012181695 A JP2012181695 A JP 2012181695A JP 2011044393 A JP2011044393 A JP 2011044393A JP 2011044393 A JP2011044393 A JP 2011044393A JP 2012181695 A JP2012181695 A JP 2012181695A
Authority
JP
Japan
Prior art keywords
data
print
printing
printer driver
job
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2011044393A
Other languages
English (en)
Inventor
Mitsunori Iida
光則 飯田
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 JP2011044393A priority Critical patent/JP2012181695A/ja
Publication of JP2012181695A publication Critical patent/JP2012181695A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】特定の機種の印刷装置に依存しない中間形式で情報処理装置に記憶された印刷対象のデータから複数のデータが生成されて印刷装置に送信され印刷実行される場合でも、実行中の印刷を印刷装置から正確にキャンセルすること。
【解決手段】プリントサーバ101のジョブ管理サービス402は、印刷対象となるデータを、特定の機種の印刷装置に依存しない中間形式で記憶しておき、画像形成装置102からの要求に応じて、画像形成装置102に対応するプリンタドライバをインストールし、該プリンタドライバを用いて、前記中間形式のデータから、前記プリンタドライバにより生成される画像形成装置102に依存するデータの分割数を取得し、該分割数を画像形成装置102に送信する。画像形成装置102のパネル・アプリケーション404は、プリントサーバ101から受信した分割数を用いて、印刷実行中のキャンセル指示に対する制御を行う。
【選択図】図4

Description

本発明は、プルプリントの制御に関する。
従来、ユーザが印刷装置からサーバ上に一時蓄積された印刷データに対して印刷要求を行うことで当該印刷装置から印刷データの出力を可能にする所謂「プルプリント」の印刷システムが提案されている(例えば、特許文献1参照)。
この印刷システムにより、ユーザはアプリケーションからの印刷時に特定の印刷装置への出力ではなく、所望の印刷装置からの印刷データ出力を可能としている。その際、ユーザは印刷実行中に印刷装置のパネル上で印刷中止の指示を行うことにより、実行中の印刷文書の出力を中止することも可能となっている。
特許第4033857号公報
従来の方法では、ユーザが印刷装置からサーバ上に一時蓄積された印刷データに対して印刷要求を行う際に、印刷設定の変更を指示することが困難であった。これは、サーバ上に一時蓄積される印刷データの形式が、特定の印刷装置の機種に依存したPDL(Page Description Language)であったためである。
そのため、サーバ上に一時蓄積する印刷データを特定の印刷装置の機種に依存しない中間形式とし、ユーザが印刷要求した印刷装置に対応するプリンタドライバを使って、中間形式の印刷データから印刷出力を行うプルプリントシステムが考えられる。
他方、通常、一つの文書をアプリケーションから印刷した場合、プリンタドライバが生成するPDLジョブは1つとなるが、印刷の設定によっては、複数のPDLジョブを生成するプリンタドライバも存在する。例えば、フィニッシャでのステイプル可能な用紙枚数が10枚であるデバイスに20ページの文書を印刷すると、プリンタドライバで1〜10ページ、11〜20ページの2つのPDLジョブを生成するものである。
このようなプリンタドライバを、前述のプルプリントシステムに適用すると、1つの中間形式の印刷データから幾つのPDLジョブが生成されるのかがわからない。このため、印刷実行中に印刷装置のパネル上で印刷中止の指示を行われた場合等の印刷中止の処理において、中止対象とするPDLジョブを判断できない。
なお、実際に幾つのPDLジョブがプリンタドライバにより生成されるのかを諸条件から導き出すことは、印刷文書、印刷設定、プリンタドライバ及びデバイスの仕様等、複数の要因で決まるため、非常に困難である。
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、特定の機種の印刷装置に依存しない中間形式で情報処理装置に記憶された印刷対象のデータから複数のデータが生成されて印刷装置に送信され印刷実行される場合でも、実行中の印刷を印刷装置から正確にキャンセルすることができる仕組みを提供することである。
本発明は、情報処理装置であって、印刷対象となるデータを、特定の機種の印刷装置に依存しない中間形式で記憶する記憶手段と、印刷装置からの要求に応じて、当該印刷装置に対応するプリンタドライバのインストールを行うインストール手段と、前記インストール手段によりインストールされたプリンタドライバを用いて、前記中間形式のデータから、前記プリンタドライバにより生成される前記印刷装置に依存するデータの分割数を取得する取得手段と、前記取得手段により取得された分割数を前記印刷装置に送信する送信手段と、を有し、前記印刷装置では、前記分割数を用いて、前記印刷対象となるデータの印刷実行中のキャンセル指示に対する制御が行われることを特徴とする。
本発明によれば、特定の機種の印刷装置に依存しない中間形式で情報処理装置に記憶された印刷対象のデータから複数のデータが生成されて印刷装置に送信され印刷実行される場合でも、実行中の印刷を印刷装置から正確にキャンセルすることができる。
本発明の一実施例を示すプリントシステムの構成の一例を示すシステム構成図である。 図1に示したクライアントPC100、プリントサーバ101、ログインサービスPC103、ディレクトリサービスサーバ104に適用可能な情報処理装置のハードウェア構成を示すブロック図である。 図1に示した画像形成装置102のコントローラユニットのハードウェア構成の一例を示すブロック図である。 本実施形態のプリントシステムの全体の流れを説明する模式図である。 図1に示したクライアントPC100上で動作するクライアント・アプリケーション400の印刷画面の一例を示す模式図である。 本発明のプリントシステムにおける第1の制御処理手順の一例を示すフローチャートである。 本発明のプリントシステムにおける第2の制御処理手順の一例を示すフローチャートである。 図7のステップSB702で呼び出される論理プリンタ作成処理のフローチャートである。 図7のステップSB706で呼び出されるEMFSPOOL形式印刷ジョブの加工処理のフローチャートである。 本発明のプリントシステムにおける中間形式印刷ジョブの加工処理の一例を示す図である。 本発明のプリントシステムにおける第3の制御処理手順の一例を示すフローチャートである。 本発明のプリントシステムにおける第4の制御処理手順の一例を示すフローチャートである。 画像形成装置102の操作部308に表示される画面の一例を示す図である。 画像形成装置102の操作部308に表示される画面の一例を示す図である。 画像形成装置102の操作部308に表示される画面の一例を示す図である。 画像形成装置102の操作部308に表示される画面の一例を示す図である。 本発明のプリントシステムにおける第5の制御処理手順の一例を示すフローチャートである。
以下、本発明を実施するための形態について図面を用いて説明する。
図1は、本発明の一実施例を示すプリントシステムの構成の一例を示すシステム構成図である。
図1の「事業所A」に示すように、本実施形態のプリントシステムは、1又は複数のクライアントPC100(例えば、ユーザ毎)、1又は複数のプリントサーバ101(例えば、階毎に設置)、1又は複数の画像形成装置(印刷装置)102(例えば、階毎に設置)、1又は複数のログインサービスPC103(例えば、階毎に設置)、ディレクトリサービスサーバ104がローカルエリアネットワーク(LAN)105を介して通信可能に接続される構成となっている。
クライアントPC100には、仮想プリンタドライバがインストールされている。この仮想プリンタドライバは、クライアント・アプリケーションから受け取ったデータに基づいて特定の機種の画像形成装置に依存しない中間形式の印刷ジョブを生成し、プリントサーバ101へ送信する。
なお、中間形式の印刷ジョブとは、フォーマットに関する仕様が公開されていて、かつ再編集が容易な形式の印刷データを意味する。例えば、EMFSPOOL形式(Enhanced Metafile Spool Format)、PDF(Portable Document Format)、XPS(XML Paper Specification)などがある。本実施形態においては、EMFSPOOL形式を使って説明するが、XPSやPDFなど他の中間形式の印刷データであってもかまわない。
プリントサーバ101は、クライアントPC100等から受信した該印刷ジョブを所定の格納場所に格納する。また、プリントサーバ101は、ジョブ管理データベース(以後、ジョブ管理DBと呼ぶ)を備え、ジョブ管理DBにより印刷設定に関わるメタデータおよび印刷ジョブを記憶管理する。
また、プリントサーバ101は、ジョブ管理DBに記録管理している該印刷ジョブの描画データを加工し、メタデータと加工済のEMFSPOOL形式の印刷ジョブを利用してPDL(Page Description Language)データを生成し、生成されたPDLジョブ数のカウント、及び、生成されたPDLデータを解析する。プリントサーバ101は、メタデータ、ジョブ数、及び、解析結果から印刷ジョブ一覧データを生成し、画像形成装置102へ転送制御する。
さらに、プリントサーバ101は、画像形成装置102から上記印刷ジョブ一覧に含まれる印刷ジョブに関する印刷設定の変更情報を受信した場合、該受信した印刷設定の変更情報に基づいて、ジョブ管理DB403(図4)に記録管理しているメタデータを更新し、再度、PDLデータを生成し、生成されたPDLジョブ数のカウント、及び、生成されたPDLデータを解析する。そして、プリントサーバ101は、メタデータと解析結果から、ジョブ数、及び、印刷設定情報を生成し、対象ジョブのジョブ数と印刷設定情報を画像形成装置102へ転送する。
また、プリントサーバ101は、画像形成装置102から上記印刷ジョブ一覧に含まれる印刷ジョブに関する印刷指示を受信すると、上記所定の格納場所に保存している印刷ジョブとメタデータを利用し、プリンタドライバで印刷処理を実行する。
ログインサービスPC103は、画像形成装置102のログインサービスとして、ディレクトリサービスサーバ104で記憶管理されているクライアントPC100のログインユーザ名、パスワード(例えば、マイクロソフト社のWindows(登録商標)のログインユーザ名、パスワード)に基づく認証処理(SSOと称する。Single Sign-ONの略)を行うものである。例えば、ログインサービスPC103は、キヤノン社のセキュリティエージェント(Security Agent)を搭載したパーソナルコンピュータである。
ディレクトリサービスサーバ104は、ネットワーク上に存在するサーバ、クライアント、プリンタ等のハードウェア資源や、それらを使用するユーザの属性(クライアントPC100のログインユーザ名、パスワード(例えば、マイクロソフト社のWindows(登録商標)のログインユーザ名、パスワード)を含む)、アクセス権等の情報を一元記憶管理するものである。例えば、ディレクトリサービスサーバ104は、アクティブディレクトリ(Active Directory)機能を搭載したサーバである。
また、本実施形態のプリントシステムは、上述した構成の「事業所A」と、1又は複数のクライアントPC100,1又は複数のプリントサーバ101,1又は複数の画像形成装置102がLAN105を介して接続される構成の1又は複数の「事業所B」とが、WAN106を介して接続される構成であってもよい。
以下、図2を用いて、図1に示したクライアントPC100、プリントサーバ101、ログインサービスPC103、ディレクトリサービスサーバ104に適用可能な情報処理装置のハードウェア構成について説明する。
図2は、図1に示したクライアントPC100、プリントサーバ101、ログインサービスPC103、ディレクトリサービスサーバ104に適用可能な情報処理装置のハードウェア構成を示すブロック図である。
図2において、201はCPUで、システムバス204に接続される各デバイスやコントローラを統括的に制御する。また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
203はRAMで、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM202あるいは外部メモリ211からRAM203にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
205は入力コントローラで、キーボード209や不図示のマウス等のポインティングデバイス等からの入力を制御する。206はビデオコントローラで、モニター210への表示を制御する。一般に、モニター210は液晶ディスプレイやCRT等の表示器である。これらは必要に応じて管理者等が使用するものである。
207はメモリコントローラで、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)、SSD(Solid State Drive)、SDメモリーカード等の外部メモリ211へのアクセスを制御する。
208は通信I/Fコントローラで、ネットワーク(例えば、図1に示したLAN105)を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、通信I/Fコントローラ208は、TCP/IPを用いた通信等が可能である。
なお、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、モニター210上での表示を可能としている。また、CPU201は、モニター210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
本発明を実現するための後述する各種プログラムは、外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ211に格納されており、これらについての詳細な説明も後述する。
以下、図3を用いて、図1に示した画像形成装置102を制御するコントローラユニットのハードウェア構成について説明する。
図3は、図1に示した画像形成装置102のコントローラユニットのハードウェア構成の一例を示すブロック図である。
図3において、316はコントローラユニットで、画像入力デバイスとして機能するスキャナ部314や、画像出力デバイスとして機能するプリンタ部312と接続する一方、LAN(例えば、図1に示したLAN105)や公衆回線(WAN)(例えば、PSTNまたはISDN等)と接続することで、画像データやデバイス情報の入出力を行う。
コントローラユニット316において、301はCPUで、システム全体を制御するプロセッサである。302はRAMで、CPU301が動作するためのシステムワークメモリであり、プログラムを記録するためのプログラムメモリや、画像データを一時記録するための画像メモリでもある。
303はROMで、システムのブートプログラムや各種制御プログラムが格納されている。304はハードディスクドライブ(HDD)で、システムを制御するための各種プログラム,画像データ等を格納する。なお、コントローラユニット316は、HDD304の代わりにSSD等のその他の記憶装置を備える構成であってもよい。
307は操作部インタフェース(操作部I/F)で、操作部(UI)308とのインタフェース部であり、操作部308に表示する画像データを操作部308に対して出力する。また、操作部I/F307は、操作部308から本システム使用者が入力した情報(例えば、ユーザ情報等)をCPU301に伝える役割をする。なお、操作部308は、タッチパネルを有する表示部を備え、該表示部に表示されたボタンを、ユーザが押下(指等でタッチ)することにより、各種指示を行うことができる。
305はネットワークインタフェース(Network I/F)で、ネットワーク(LAN)に接続し、データの入出力を行う。306はモデム(MODEM)で、公衆回線に接続し、FAXの送受信等のデータの入出力を行う。
318は外部インタフェース(外部I/F)で、USB、IEEE1394,プリンタポート,RS−232C等の外部入力を受け付けるI/F部である。外部I/F318は、本実施形態においては認証で必要となるICカードの読み取り用のカードリーダ319が外部I/F部318に接続されている。CPU301は、この外部I/F318を介してカードリーダ319によるICカードからの情報読み取りを制御し、該ICカードから読み取られた情報を取得可能である。以上のデバイスがシステムバス309上に配置される。
320はイメージバスインタフェース(IMAGE BUS I/F)であり、システムバス309と画像データを高速で転送する画像バス315とを接続し、データ構造を変換するバスブリッジである。
画像バス315は、PCIバスまたはIEEE1394で構成される。画像バス315上には以下のデバイスが配置される。
310はラスターイメージプロセッサ(RIP)で、例えば、PDLコード等のベクトルデータをビットマップイメージに展開する。311はプリンタインタフェース(プリンタI/F)で、プリンタ部312とコントローラユニット316を接続し、画像データの同期系/非同期系の変換を行う。313はスキャナインタフェース(スキャナI/F)で、スキャナ部314とコントローラユニット316を接続し、画像データの同期系/非同期系の変換を行う。
317は画像処理部で、入力画像データに対し補正、加工、編集を行い、プリント出力画像データに対して、プリンタの補正、解像度変換等を行う。また、これに加えて、画像処理部317は、画像データの回転や、多値画像データに対してはJPEG、2値画像データはJBIG、MMR、MH等の圧縮伸張処理を行う。
スキャナ部314は、原稿となる紙上の画像を照明し、CCDラインセンサーで走査することで、ラスターイメージデータとして電気信号に変換する。原稿用紙をスキャナ部314の原稿フィーダのトレイにセットし、装置使用者が操作部308から読み取り起動指示することにより、CPU301がスキャナ部314に指示を与える。この指示により、スキャナ部314はフィーダにより原稿用紙を1枚ずつフィードし原稿画像の読み取り動作を行う。
プリンタ部312は、ラスターイメージデータを用紙上の画像に変換する部分である。プリント方式は、感光体ドラムや感光体ベルトを用いた電子写真方式、微少ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式等があるが、プリンタ部312はどの方式を用いるものでも構わない。プリンタ部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から読み込んだ画像データをLAN105上に送信したり、LAN105から受信した印刷データをプリンタ部312により印刷出力することができる。また、スキャナ部314から読み込んだ画像データをモデム306により、公衆回線上にFAX送信したり、公衆回線からFAX受信した画像データをプリンタ部312により出力することできる。
以下、図4を用いて、本実施形態のプリントシステムにおける詳細情報表示のための全体の流れについて説明する。
その前に、まず、本実施形態のプルプリントを実行するための前提について説明する。
本実施形態のプルプリントを実現するための仮想プリンタドライバをプリントサーバ101に共有プリンタとしてインストールしておく。プリンタドライバは、アプリケーションから指示された印字や描画命令の出力に基づいて印刷データを生成するだけでなく、プリンタドライバやプリンタが持つ機能を制御するための印刷設定を行う機能(ユーザインタフェース)と、その印刷設定をインストールされた論理プリンタ毎に外部メモリに記憶する機能等を有する。また、この印刷設定は、米国Microsoft社のWindows(登録商標)の場合、DEVMODE構造体(以降、DEVMODEと呼ぶ)に格納される。このDEVMODEとは、プリンタが使用可能な機能,レイアウト設定,仕上げ設定,給・排紙設定,印字品質設定等の論理プリンタに関するデフォルトの動作条件を含む各種設定を記憶するために、米国Microsoft社が規定したものであり、インストールされた論理プリンタ毎に外部メモリに記憶される。各クライアントPC100へは、仮想プリンタドライバを前記プリントサーバ101からポイント&プリント等でダウンロードしてインストールして、該仮想プリンタドライバの論理プリンタを追加しておく。
以下、本実施形態のプルプリントの全体の流れについて説明する。
図4は、本実施形態のプリントシステムの全体の流れを説明する模式図である。
図4に示すように、まずユーザは、クライアントPC100にログインし、該クライアントPC100で実行されるクライアント・アプリケーション400から仮想プリンタドライバ401に対応する論理プリンタへの印刷指示を行う(1−1)。この印刷指示に応じて、クライアントPC100のクライアント・アプリケーション400は、グラフィックエンジンを介して、仮想プリンタドライバ401にデータを送信する。
クライアントPC100の仮想プリンタドライバ401は、該クライアント・アプリケーションからグラフィックエンジンを介して受け取ったデータに基づいて画像形成装置に依存しないEMFSPOOL形式印刷ジョブを生成する。さらに、仮想プリンタドライバ401の印刷設定(DEVMODE等)やクライアントPCのユーザ情報等を含むメタデータを作成する。そして、クライアントPC100は、生成したEMFSPOOL形式の印刷ジョブと印刷設定情報を含むメタデータをプリントサーバ101に送信する(1−2)。
プリントサーバ101のジョブ管理サービス402は、クライアントPC100からEMFSPOOL形式の印刷ジョブとメタデータを受信する。そして、プリントサーバ101のジョブ管理サービス402は、プリントサーバ101上の所定の格納場所にEMFSPOOL形式の印刷ジョブを保存し、さらにメタデータおよびEMFSPOOL形式印刷ジョブのファイル名をジョブ管理DB403(プリントサーバ101の外部メモリ上に構築される)に登録する(1−3)。このとき、プリントサーバ101は、上記所定の格納場所に印刷ジョブを保存するだけで、印刷ジョブの画像形成装置への送信は行わない。
画像形成装置102は、カードリーダ319により読み取り可能なICカードを検知すると、該ICカード内の個人認証情報を読み取り、該読み取った個人認証情報を認証要求として不出図の認証サーバに送信する。個人認証情報は、認証に用いられる情報であり該ICカードの製造番号でも良い。認証サーバは、画像形成装置102より個人認証情報を受信すると、該個人認証情報の認証処理を認証サーバの外部メモリ上に記憶されるICカード認証用テーブルに基づいて行い、認証結果を画像形成装置102に返信する。なお、認証処理に成功した場合には、認証結果として、クライアントPC100のユーザ識別子を送信するものとする。
画像形成装置102上のパネル・アプリケーション404は、認証に成功した旨の認証結果(クライアントPC100のログインユーザ識別子)を受信する。本実施形態では、ユーザ識別子としてユーザ名を使用する。もちろん、ユーザを識別する手段としてICカードの製造番号などでもかまわない。そして、パネル・アプリケーション404は、プリントサーバ101上のジョブ管理サービス402へ対し印刷ジョブ一覧を要求すると同時に画像形成装置102のモデル名・ユーザ名を送信する(2−1)。
ジョブ管理サービス402は、パネル・アプリケーション404から送信されたモデル名を使用して、そのモデルに適したプリンタドライバ406をインストールする(2−2)。また、ジョブ管理サービス402は、パネル・アプリケーション404から送信されたユーザ識別子を用いて、ジョブ管理DB403から対象とされるメタデータおよびEMFSPOOL形式印刷ジョブを参照し(2−3)、EMFSPOOL形式印刷ジョブの描画データを加工する(2―4)。描画データの加工とは、EMFSPOOL形式の印刷ジョブのGDIコマンドを論理ページごとに削除し、任意のGDIコマンドを追加する処理のことを言う。描画データの加工については後述する。
さらに、ジョブ管理サービス402は、加工したEMFSPOOL形式印刷ジョブと参照したメタデータ、及び、ジョブの終了判断用のダミージョブをプリンタドライバ406に送信し、ローカルポート印刷を行う(2−5)。ここでローカルポート印刷とは、プリンタドライバが作成したPDLデータをファイル形式で保存することを示し、ローカルポート出力ともいう。さらに、ジョブ管理サービス402は、保存されたPDLジョブ(407)を取得して(2−6)、PDLジョブ(407)の個数とデータ内用を解析し、該ユーザ識別子に対応する印刷ジョブ一覧を生成し始める(2−7)。
ジョブ管理サービス402は、該ユーザ識別子に対応する印刷ジョブをジョブ管理DB403のレコードを全て参照するまで2−3〜2−7の処理を繰り返して印刷ジョブ一覧を生成する。そして、ジョブ管理サービス402は、印刷ジョブ一覧の生成が完了次第、パネル・アプリケーション404へ印刷ジョブ一覧を返信する(2−8)。
パネル・アプリケーション404は、ジョブ管理サービス402から印刷ジョブ一覧を受信すると、該印刷データ一覧を操作部308のUI上に表示する。そして、ユーザにより印刷ジョブが選択され、印刷設定変更がなされると、パネル・アプリケーション404は、印刷設定変更情報をジョブ管理サービス402に送信する(3−1)。
ジョブ管理サービス402は、パネル・アプリケーション404から印刷設定変更情報を受信すると、ジョブ管理DB403から対象とされるメタデータおよびEMFSPOOL形式印刷ジョブを参照し(3−2)、前記印刷設定変更情報をもとにメタデータを更新する。
さらに、ジョブ管理サービス402は、EMFSPOOL形式印刷ジョブの描画データを加工する(3―3)。
そして、ジョブ管理サービス402は、加工したEMFSPOOL形式印刷ジョブと更新したメタデータ、及びジョブの終了判断用のダミージョブをプリンタドライバ406に送信し、ローカルポート印刷を行う(3−4)。そして、ジョブ管理サービス402は、保存されたPDLデータを取得して(3−5)、その個数と内容を解析し(3−6)、該印刷ジョブの印刷設定変更結果に反映してパネル・アプリケーション404に送信する(3−7)。
そして、パネル・アプリケーション404は、ジョブ管理サービス402から印刷設定変更結果を受信すると、該印刷データ一覧を操作部308のUI上に表示する。
そして、パネル・アプリケーション404において、ユーザにより印刷ジョブが選択され印刷指示がなされると、ジョブ管理サービス402は、出力指示を受信し(4−1)、対象ジョブをジョブ管理DBから参照する(4−2)。
さらに、ジョブ管理サービス402は、ジョブ管理DB403のメタデータ及びEMFSPOOL形式印刷ジョブを、出力ポートが画像形成装置102のアドレスに設定された論理プリンタで印刷し(4−3)、画像形成装置102で出力させる(4−4)。
一方、パネル・アプリケーション404は、ユーザが印刷中止を受け付けるUIを操作部308のUI上に表示する。そして、ユーザにより印刷中止の指示がなされると、パネル・アプリケーション404は、この指示を検知し、印刷中止の信号をジョブ管理サービス402に通知する(5−1)とともに、画像形成装置102での印刷を中止する。また、ユーザにより印刷通知の指示がなされないまま、印刷実行した印刷ジョブに対応する個数分のPDLデータの出力が終了すると、パネル・アプリケーション404は、ジョブ管理サービス402に印刷完了の信号を送信する(6−1)。
以上、プリントシステム全体の流れを説明した。以降、フローチャートを使って詳細に説明する。なお、図4に示したクライアント・アプリケーション400、及び仮想プリンタドライバ401は、クライアントPC100のCPUが外部メモリにコンピュータ読み取り可能に記録されたプログラムを実行することにより実現される。また、ジョブ管理サービス402、及びプリンタドライバ406は、プリントサーバ101のCPUが外部メモリにコンピュータ読み取り可能に記録されたプログラムを実行することにより実現される。また、画像形成装置102上のパネル・アプリケーション404は、画像形成装置102のCPU301がHDD304にコンピュータ読み取り可能に記録されたプログラムを実行することにより実現される。
以下、図5を参照して、図1に示したクライアントPC100上で動作するクライアント・アプリケーション400上での印刷指示について説明する。
図5は、図1に示したクライアントPC100上で動作するクライアント・アプリケーション400の印刷画面の一例を示す模式図であり、クライアントPC100のCPUの制御によりクライアントPC100のモニターに表示される。
図5において、510は論理プリンタ選択部で、クライアントPC100に設定されている論理プリンタから、印刷を行う論理プリンタを選択するためのものである。このプリンタ選択部510において、「プルプリント」501は、本実施形態のプルプリント設定された仮想プリンタドライバ(図4の401)に対応する論理プリンタとする。さらに、「Cxxxx ix3250」502,「Cxxxx ix5051」503は、通常のプリンタドライバに対応する論理プリンタとする。
プリンタ選択部510で、いずれかの論理プリンタが選択され、OKボタン505がポインティングデバイス等で指示されると、クライアント・アプリケーション400は、印刷のためのデータを、プリンタ選択部510で選択された論理プリンタに対応するプリンタドライバにグラフィックエンジンを介して送信する。
以下、図6を参照して、プリンタ選択部510で「プルプリント」501が選択されて印刷指示がなされた場合のプリンタドライバの動作について説明する。
図6は、本発明のプリントシステムにおける第1の制御処理手順の一例を示すフローチャートであり、図4に示した1−1〜1−3の処理手順に対応する。なお、ステップSA600〜SA602は、図4に示した仮想プリンタドライバ401による印刷ジョブ投入処理に対応する。即ち、これらの処理は、図1に示したクライアントPC100のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。また、ステップSB600〜SB606は、図4に示したジョブ管理サービス402によるEMFSPOOL形式の印刷ジョブおよびメタデータ登録処理、EMFSPOOL形式の印刷ジョブ保存処理に対応する。即ち、これらの処理は、図1に示したプリントサーバ101のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。
まず、仮想プリンタドライバ401による印刷ジョブ投入処理を説明する。
ステップSA600において、仮想プリンタドライバ401の処理が開始する。ステップSA601において、仮想プリンタドライバ401は、クライアント・アプリケーション400から仮想プリンタドライバ401に入力されたデータを、EMFSPOOL形式印刷ジョブとして出力する。この処理は図4の1−1に相当する。米国Microsoft社のWindows(登録商標)の場合、プリンタドライバへの入力はDDI(Device Driver Interface)と呼ばれるOS(Operating System)による関数呼び出しによって実施される。仮想プリンタドライバ401は、DDIの呼び出しと同時に渡されるパラメーターを解釈して、EMFSPOOL形式印刷ジョブを生成し、OSが管理するスプーラへ生成したジョブを出力する。一般に、プリンタドライバの役割は、出力対象の画像形成装置に依存した印刷ジョブを生成し出力することであるが、本実施形態においては、画像形成装置102に依存しない中間形式の印刷ジョブを生成し、出力することが重要である。これによって、画像形成装置102の構成が変更されたとしても、本発明のプリントシステムにおいて仮想プリンタドライバ401の構成に変更は生じない。つまり、画像形成装置固有の機能をプルプリントシステムで使用することが容易に実現できる。さらに、仮想プリンタドライバ401は、印刷設定情報を含むメタデータを送信している。本実施形態では、メタデータをEMFSPOOL形式の印刷ジョブに付加してジョブ管理サービス402に送信しているが、これらを別のデータとして、分けて送信しても構わない。
ここで、メタデータについて詳しく説明する。
メタデータは、印刷設定情報を持つデータ群となっている。具体的に言うと、メタデータは、DEVMODEや集約情報、論理ページ数、物理ページ数、印刷データのカラー判定結果、印刷ジョブに対して生成されるPDLジョブ数、クライアントPC101のユーザ名・ドメイン名・コンピュータ名等の情報を保持している。そのため、ジョブ管理サービス402は、メタデータの情報を受信することで、クライアントの情報を知ることができる。ただし、上記のメタデータを全て導出するためには、各PDL・各モデルにおいて用紙やページの考え方、PDLのジョブ生成方法が異なっているため、各プリンタドライバの内部実装の導出方法をジョブ管理サービス402もしくはパネル・アプリケーション404に実装しなければならない。これは、実装には負荷が大きく現実的ではない。そのため、本発明ではこの問題を解決するために、仮想プリンタドライバ401とプリンタドライバ406を通じて得た解析データを使用して、メタデータを更新する手法を提案している。最後に、仮想プリンタドライバ401は、ステップSA602で処理を終了する。
次に、ジョブ管理サービス402によるメタデータ登録処理及び印刷ジョブ保存処理を説明する。
ステップSB600において、ジョブ管理サービス402は、プリントサーバ101上で処理を開始する。ステップSB601において、ジョブ管理サービス402は、印刷ジョブを保存するファイルパスを決定する。本実施形態では、ジョブ管理サービス402は、GUID(Global Unique Identifier)を生成し、該GUIDを、受信する印刷ジョブのジョブ識別子として使用する。このジョブ識別子としてのGUID(Global Unique Identifier)を、受信する印刷ジョブを保存するファイルパスの決定に利用してもよい。
次に、ステップSB602において、ジョブ管理サービス402は、仮想プリンタドライバ401から送信されたメタデータおよびEMFSPOOL形式の印刷ジョブを受信する。
ステップSB603において、ジョブ管理サービス402は、受信したEMFSPOOL形式の印刷ジョブをステップSB601で決定したファイル名で保存する。
ステップSB604において、ジョブ管理サービス402は、現在の日付・時刻を生成する。これをもって印刷ジョブ投入時刻とする。
ステップSB605において、ジョブ管理サービス402は、上記SB601で決定したファイル名とメタデータとステップSB604で生成した日付・時刻を、新規レコードとして図4のジョブ管理DB403に登録する。
最後に、ジョブ管理サービス402は、ステップSB606で処理を終了する。
図7は、本発明のプリントシステムにおける第2の制御処理手順の一例を示すフローチャートであり、図4に示した2−1〜2−8の処理手順に対応する。なお、ステップSC700〜SC710は、図4に示したパネル・アプリケーション404による印刷ジョブ一覧表示処理に対応する。即ち、これらの処理は、図1に示した画像形成装置102のCPU301がROM303又はHDD304に格納されたプログラムをRAM302上にロードして実行することにより実現される。また、ステップSB700〜SB713は、図4に示したジョブ管理サービス402によるジョブ加工・解析および印刷ジョブ一覧生成に対応する。即ち、これらの処理は、図1に示したプリントサーバ101のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。
まず、パネル・アプリケーション404による印刷ジョブ一覧表示処理を説明する。
ステップSC700において、パネル・アプリケーション404の処理が開始する。ステップSC701において、パネル・アプリケーション404は、ログイン表示画面(図13(a))を操作部308の表示部に表示するように制御する。
図13(a)は、画像形成装置102の操作部308に表示されるログイン表示画面の一例を示す図である。
そして、ステップSC702において、パネル・アプリケーション404は、ICカード等によるユーザ認証を行う。本実施形態において、ユーザ認証は重要なプロセスではないので、ここでは、認証カードの検出方法やICカードの識別ID取得方法や認証サーバによる認証処理といった詳細説明を省略する。
ステップSC703において、パネル・アプリケーション404は、認証結果を判定する。そして、認証エラーである旨の認証結果が得られた場合(SC703でNo)、パネル・アプリケーション404は、ステップSC704において、エラー表示画面(図13(b))を操作部308の表示部に表示するように制御する。
図13(b)は、画像形成装置102の操作部308に表示されるエラー表示画面の一例を示す図である。
該エラー表示画面にてOKボタンの押下を受け付けると、パネル・アプリケーション404は、ステップSC701に処理を戻し、再度、ログイン表示画面を表示制御する。
一方、ステップSC703にて認証が成功したと判定した場合(SC703でYes)、パネル・アプリケーション404は、ステップSC705へ処理を進める。
ステップSC705では、パネル・アプリケーション404は、認証に成功したユーザ名を取得する。
ステップSC706において、パネル・アプリケーション404は、ユーザ名と対応するサーバのIPアドレスを取得する。本実施形態において、ユーザ毎のプリントサーバのアドレス解決方法は重要なプロセスではないため、ここでは各ユーザで使用するプリントサーバは一意に決まっているものとし、詳細な説明を省略する。実現方法としては、ユーザ認証後にユーザ名と対象プリントサーバアドレスの対応が登録されているDB等を参照してアドレス解決を行う方法がある。また、画像形成装置内のHDD304にユーザ名と対象プリントサーバのアドレスの対応表などが保存され、ユーザ認証後に対応表からユーザが使用しているプリントサーバのアドレスを取得する方法でも構わない。
次に、ステップSC707において、パネル・アプリケーション404は、ジョブ管理サービス402に印刷ジョブ一覧要求コマンドを送信する。このときユーザ名および画像形成装置102のモデル名も送信する。
そして、ステップSC708において、パネル・アプリケーション404は、ジョブ管理サービス402から印刷ジョブ一覧を受信する。この印刷ジョブ一覧は、印刷ジョブ毎に、GUID、ジョブ名、部数、両面、カラーモード、ページ集約、日付・時刻、ページ数、生成されるPDLジョブ数などの項目の情報を含む。本実施形態では、これらの印刷ジョブ一覧データは、XML形式のような拡張が容易なデータ形式を使用する。さらに、印刷ジョブ一覧に使用する項目を上記しているが、必要に応じて増減しても構わない。
次に、ステップSC709に進み、パネル・アプリケーション404は、印刷ジョブ一覧表示画面(図14(a))を操作部308の表示部に表示するように制御する。
図14(a)は、画像形成装置102の操作部308に表示される印刷ジョブ一覧表示画面の一例を示す図である。
図14(a)の印刷ジョブ一覧表示画面を表示すると、パネル・アプリケーション404は、ステップSC710で処理を終了する。
次にジョブ管理サービス402によるジョブ加工・解析および印刷ジョブ一覧生成を説明する。
ステップSB700において、ジョブ管理サービス402の処理が開始する。ステップSB701において、ジョブ管理サービス402は、パネル・アプリケーション404から印刷ジョブ一覧要求を受信する。このときユーザ名および画像形成装置102のモデル名も受信する。上記印刷ジョブ一覧要求等は、上記SC707で送信されたものである。
ステップSB702において、ジョブ管理サービス402は、上記SB701で受信した画像形成装置102のモデル名に適応したプリンタドライバをインストールする。本処理に関しては後述する図8にて詳細に説明する。
次に、ステップSB703において、ジョブ管理サービス402は、図4のジョブ管理DB403から上記SB701で得たユーザ名と一致するレコードを探索する。
そして、ステップSB704において、ジョブ管理サービス402は、上記SB703で探索したレコードから1つのレコードを取り出す処理を行う。
次に、ステップSB705において、ジョブ管理サービス402は、上記SB704にてレコードを取り出せたかどうかを判定する。そして、取り出せたと判定した場合(SB705でYes)、ジョブ管理サービス402は、ステップSB706へ処理を進める。
ステップSB706では、ジョブ管理サービス402は、上記SB704で取り出したレコード(現在のレコード)の情報を利用してEMFSPOOL形式印刷ジョブを取得し、EMFSPOOL形式の印刷ジョブを加工する。本処理については後述する図9にて詳細に説明する。
次に、ステップSB707において、ジョブ管理サービス402は、現在のレコードからメタデータのDEVMODEを取得し、上記SB706で加工した加工済み印刷ジョブおよび上記取得したDEVMODEを使用し、プリンタドライバ406を用いてローカルポート印刷を行う。この際、プリンタドライバ406は、上記SB702で作成した出力ポートがローカルポートに設定された論理プリンタを使用する。即ち、SB707では、ジョブ管理サービス402は、プリンタドライバ406を用いて、加工済み印刷ジョブと印刷設定情報から、画像形成装置102で実際に印刷される際の体裁をプリントサーバ101上で認識するためのPDLデータを生成し、プリントサーバ101のローカルの記憶領域に出力する。
続けて、ステップSB708において、上記SB707と同様に、ジョブ終了判断用のダミージョブをローカルポート出力する。即ち、SB708では、ジョブ管理サービス402は、プリンタドライバ406を用いて、加工済み印刷ジョブと印刷設定情報から、ジョブ終了判断用のダミージョブのPDLデータを生成し、プリントサーバ101のローカルの記憶領域に出力する。
次に、ステップSB709において、ジョブ管理サービス402は、上記SB707でローカルポート出力されてファイルとして保存されたPDLジョブの個数取得とデータ内容の解析し、PDLデータから体裁情報(画像形成装置102で実際に印刷される際の体裁を示す情報)等を取得して、メタデータを更新する。なお、PDLジョブの個数取得については、上記SB708にて出力されたダミージョブのPDLジョブが出力された時点で、それまでに生成されたPDLジョブのファイル数をカウントすることで行うものとする。ダミージョブは特定の名称を有するジョブ等とし、ジョブ管理サービス402が容易に識別可能なものとする。なお、上記更新されたメタデータは、後述する印刷ジョブ一覧の生成に用いるためにRAM内に記憶しておくものとする。
次に、ステップSB710において、ジョブ管理サービス402は、上記SB707及びSB708で作成されたPDLデータを削除し、上記SB704に処理を戻し、次のレコードの取り出し処理を行う。
そして、ステップSB705において、ジョブ管理サービス402は、レコードが取り出せなかったと判定した場合(SB705でNo)、全レコードを取り出し終えたと判断し、ステップSB711へ処理を進める。
ステップSB711では、ジョブ管理サービス402は、上記SB704〜SB710で取得した情報を用いて印刷ジョブ一覧(図14(a))を生成し、パネル・アプリケーション404へ印刷ジョブ一覧を返信する。この印刷ジョブ一覧は、各印刷ジョブの体裁情報を含むものであり、ステップSC708において画像形成装置102のパネル・アプリケーションにより受信される。そして、ジョブ管理サービス402は、ステップSB712で処理を終了する。
図8は、図7のステップSB702で呼び出される論理プリンタ作成処理のフローチャートである。なお、ステップSB800〜SB809は、図4に示したジョブ管理サービス402による論理プリンタ作成処理に対応する。即ち、これらの処理は、図1に示したプリントサーバ101のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。
ステップSB800において、ジョブ管理サービス402による論理プリンタ作成処理を開始する。ステップSB801において、ジョブ管理サービス402は、画像形成装置102(図7のSB701でユーザ名・モデル名を受信した画像形成装置)のIPアドレスを取得する。この画像形成装置102のIPアドレスは、ジョブ管理サービス402とパネル・アプリケーション404とのデータ送受信のコネクションが確立した際に、ジョブ管理サービス402が入手してRAM内に格納しておくものとする。
ステップSB802において、ジョブ管理サービス402は、上記画像形成装置102のモデル名(例えば図7のSB701で受信)をサポートしたプリンタドライバがプリントサーバ101上にインストールされているかどうか判定する。そして、インストールされていない(未インストール)と判定した場合(SB802でYes)、ジョブ管理サービス402は、ステップSB803へ処理を進める。
ステップSB803では、ジョブ管理サービス402は、上記画像形成装置102のモデル名をサポートしたプリンタドライバをプリントサーバ101上にインストールする。そして、ステップSB804へ処理を進める。
一方、ステップSB802でインストール済み(未インストールでない)と判定した場合(SB802でNo)、ジョブ管理サービス402は、そのままステップSB804へ処理を進める。なお、この段階でインストール済みとなったプリンタドライバは、図4のプリンタドライバ406に相当する。
ステップSB804では、ジョブ管理サービス402は、ローカルポート出力用の論理プリンタがプリントサーバ101上に存在するかどうか判定する。なお、ローカルポート出力用の論理プリンタとは、上記インストール済みのプリンタドライバから構成され、かつ、出力ポートが規定ファイルパスとなるように設定された論理プリンタを示す。
そして、ローカルポート出力用の論理プリンタが存在しない(未作成)と判定した場合(SB804でYes)、ジョブ管理サービス402は、ステップSB805へ処理を進める。
ステップSB805では、ジョブ管理サービス402は、上記インストール済みのプリンタドライバを使って、ローカルポート出力用の論理プリンタを作成する。さらに、ステップSB806で、ジョブ管理サービス402は、上記SB805で作成したローカルポート出力用の論理プリンタの出力ポートを設定し、ステップSB807へ処理を進める。なお、出力ポートは、例えば独自のローカルポートモニター等を作成し、任意のフォルダパスに複数のPDLジョブのファイルが上書きされないように生成されるようにしておく。
一方、ローカルポート出力用の論理プリンタが存在する(未作成でない)と判定した場合(SB804でNo)、ジョブ管理サービス402は、そのままステップSB807へ処理を進める。
ステップSB807では、ジョブ管理サービス402は、画像形成装置出力用の論理プリンタがプリントサーバ101上に存在するかどうか判定する。なお、画像形成装置出力用の論理プリンタとは、上記インストール済みのプリンタドライバから構成され、かつ、上記SB801で得たIPアドレスが出力ポートに設定された論理プリンタを示す。
そして、画像形成装置出力用の論理プリンタが存在しない(未作成)と判定した場合(SB807でYes)、ジョブ管理サービス402は、ステップSB808へ処理を進める。
ステップSB808では、ジョブ管理サービス402は、上記インストール済みのプリンタドライバを使って、上記SB801で得たIPアドレスを出力ポートに設定した論理プリンタを作成する。そして、ステップSB809へ進め、処理を終了する。
一方、画像形成装置出力用の論理プリンタが存在すると判定した場合(SB807でNo)、ジョブ管理サービス402は、そのままステップSB809へ進め、処理を終了する。
図9は、図7のステップSB706で呼び出されるEMFSPOOL形式印刷ジョブの加工処理のフローチャートである。なお、ステップSB900〜SB907は、図4に示したジョブ管理サービス402によるEMFSPOOL形式印刷ジョブの加工処理に対応する。即ち、これらの処理は、図1に示したプリントサーバ101のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。
図7のステップSB708において、印刷指示されたオリジナル文書をそのままローカルポート出力すると、印刷データの容量に応じてパフォーマンスが著しく落ちてしまう。さらに、ローカルポート出力を頻繁に行うため、本処理のパフォーマンスの劣化はシステム全体に影響を及ぼしてしまう。そのため本処理で、EMFSPOOL形式の印刷ジョブを加工し、ローカルポート出力のパフォーマンスを向上させる。本処理で必要な情報は、印刷後の印刷設定情報、及び生成されるPDLジョブ数であるため、描画データはオリジナルの文書である必要がない。ただし、最終的に印刷に使用されるデータではオリジナル文書が必要となるため、本実施形態では印刷設定情報、及びPDLジョブ数を取得するためだけにローカルポート出力を行うこととする。
EMFSPOOL形式データは、一連のGDIコマンド(例えば、マイクロソフト社のWindows(登録商標)のグラフィックAPI)として記録されたもので、プリンタドライバ406は、このGDIコマンドをPDLコマンドに変換することになる。そのため、EMFSPOOL形式データの段階では、レンダリングを行っていないため、GDIコマンドの追加・削除が非常に容易に可能である。本実施形態では、1ページ間の描画命令コマンドを全て削除し、オリジナル文書のページのカラー情報を用いて1ドット追加するGDIコマンドを挿入する。このような加工済みEMFSPOOL形式印刷ジョブとメタデータを利用してプリンタドライバ406で印刷を行うと、最小限の描画がされたPDLデータが生成される。そして、このPDLジョブ数をカウント、及び、解析することによって、最終出力物の印刷設定情報を取得することが可能となる。
以下、図9を用いて、EMFSPOOL形式の加工処理について説明する。
ステップSB900において、ジョブ管理サービスの加工処理を開始する。ステップSB901において、ジョブ管理サービス402は、全てのページの加工が終了したかを判定する。そして、まだ全てのページの加工が終わっていないと判定した場合(SB901でNo)、ジョブ管理サービス402は、ステップSB902に処理を進める。SB902〜SB906の処理は全てページ単位で行われる。
ステップSB902において、ジョブ管理サービス402は、現在のページからカラー情報を取得する。EMFSPOOL形式データでは前述したとおり、描画コマンドをそのまま保持しているため、カラー情報を取得することも容易となっている。
ステップSB903において、ジョブ管理サービス402は、描画データをページ単位で削除する。即ち、現在のページ内の描画データを全て削除する。
次に、ステップSB904において、ジョブ管理サービス402は、上記SB902で取得したカラー情報から現在のページがモノクロページであったかカラーページであったかを判定する。この判定処理では、ジョブ管理サービス402は、ページ内にカラー(黒色以外の色)で描画を行うコマンドが含まれている場合には、そのページをカラーベージと判定し、一方、カラー(黒色以外の色)で描画を行うコマンドが含まれていない場合には、そのページをモノクロページと判定する。
現在のページがカラーページであると判定した場合(SB904でYes)、ジョブ管理サービス402は、ステップSB905に処理を進め、黒色以外の任意の色(カラー)で1ドットの描画を行う描画コマンドを現在のページに追加する。
一方、現在のページがモノクロページである(カラーページでない)と判定した場合(SB904でNo)、ジョブ管理サービス402は、ステップSB906に処理を進め、黒色で1ドットの描画を行う描画コマンドを現在のページに追加する。
そして、ジョブ管理サービス402は、上記SB905又はSB906の処理を完了すると、SB901に処理を戻し、次のページの処理を行う。
そして、全てのページの加工が終わったと判定した場合(SB901でYes)、ジョブ管理サービス402は、ステップSB907へ進め、加工処理を終了する。
ここで、図10に示す具体例を用いて説明する。
図10は、本発明のプリントシステムにおける中間形式印刷ジョブの加工処理の一例を示す図である。
例えば図10の1001のようなオリジナル文書(モノクロ3ページ、カラー1ページ)を加工する場合について説明する。まず、オリジナル文書を図10の1010のような印刷設定にし、仮想プリンタドライバ401で印刷すると、ページ数4のEMFSPOOL形式印刷ジョブが生成される。
ここで、本実施例の加工処理を行うと、図10の1002のような、それぞれのページから得たカラー情報が1ドット追加されたEMFSPOOL形式印刷ジョブが生成される。この加工済みEMFSPOOL形式印刷ジョブを、図10の1010に示す印刷設定1010aでローカルポート印刷すると、図10の1003のようなPDLデータが作成される。このPDLデータを解析すると、図10の1011に示す印刷設定1011aのように、集約情報2in1の設定が適用されていることが分かり、ページ数が2ページとなっていることが分かる。さらに、カラー情報を鑑みると、カラーページ数が1ページ、モノクロページ数が1ページといった、印刷するまでは知りえなかったカラー/モノクロのページ数を容易に取得することが可能となる。
本実施形態では追加するコマンドを1ドットとしたが、これはパフォーマンスを向上するための最低限の印字となっており、異なる描画コマンドでもよいし、オリジナル文書から抽出したコマンドでも構わない。さらに、追加する描画コマンドの位置も自由に設定することが可能である。本実施形態では、左上基準に描画を行うPDLの場合を想定したが、左上に描画コマンドを追加しても印字領域外と判断され、解析できない場合もある。そこで、描画コマンドを用紙の中心に設定し、すべてのPDLやモデルで解析可能な形式に加工してもよい。このように、EMFSPOOL形式の加工を行うことで、柔軟に対応が可能である。
以上示したように、ジョブ管理サービス402は、EMFSPOOL形式の各ページのデータを各ページのカラー情報に対応する疑似データ(1ドットの描画コマンド)に置換した上で、ローカル印刷を行ってPDLデータを生成する。これにより、プリントサーバが処理するデータ量を軽減して、プリントサーバのパフォーマンスの低下を軽減することができる。
図11は、本発明のプリントシステムにおける第3の制御処理手順の一例を示すフローチャートであり、図4に示した3−1〜3−7の処理手順に対応する。ステップSC1100〜SC1111は、図4に示したパネル・アプリケーション404の処理に対応する。即ち、これらの処理は、図1に示した画像形成装置102のCPU301がROM303又はHDD304に格納されたプログラムをRAM302上にロードして実行することにより実現される。ステップSB1100〜SB1111は、図4に示したジョブ管理サービス402処理に対応する。即ち、これらの処理は、図1に示したプリントサーバ101のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。
まず、パネル・アプリケーション404による印刷設定変更について説明する。
パネル・アプリケーション404は、図7のステップSC709で画像形成装置102の操作部308の表示部に表示された印刷ジョブ一覧表示画面(図14(a))上で、印刷ジョブの選択と印刷設定変更ボタン1330の押下を検知すると、ステップSC1100において、処理を開始する。
ステップSC1101において、パネル・アプリケーション404は、選択された印刷ジョブの印刷設定を表示する印刷設定変更画面(図14(b))を操作部308の表示部に表示するように制御する。
次に、ステップSC1102において、印刷設定変更画面(図14(b))からパネル・アプリケーション404は、印刷設定変更入力を受け付ける。
図14(b)は、画像形成装置102の操作部308に表示される印刷設定変更画面の一例を示す図である。
図14(b)において、1340は、カラーモードの指定を意味し、モノクロとカラーのどちらかをチェックできる。1341は、両面・片面の指定を意味し、片面、両面(長辺綴じ)、両面(短辺綴じ)のうち1つを選択できる。1342は、ページ集約の指定を意味し、1in1、2in1、4in1、6in1、8in1、9in1、16in1のうち1つを選択できる。1343は、印刷部数の指定を意味し、1から9999までの値を指定できる。
1344は、出力される印刷物の総ページ数を意味し、変更することはできないがユーザは印刷設定変更すると、ページ数がどのように変遷するかを見ることができる。さらに、1345はカラーページ数、1346はモノクロページ数をそれぞれ意味し、印刷設定を反映した後のカラーページ数、モノクロページ数を表示している。
1347は、印刷後に文書を削除する指定を意味し、このチェックボックスにチェックがついていた場合は、印刷後に削除するコマンドが印刷ジョブと同時にジョブ管理サービス402に送信される。
1348は、1304〜1343で印刷設定を変更した場合に設定変更確認を行うためのボタンであり、このボタンが押下されると、印刷設定情報がジョブ管理サービス402に送信される。1349は、印刷を行うためのボタンである。
なお、図14(b)は、図14(a)において文書名「決算報告書」の印刷ジョブの選択を受け付けて、印刷設定変更ボタン1330の押下を受け付けた場合の印刷設定変更例を示している。
なお、図14(b)の印刷設定変更画面上に、そのジョブを画像形成装置102で実際に出力した際の用紙枚数を表示するようにしてもよい。また、図14(b)の印刷設定変更画面上に、画像形成装置102で実際に出力した際の形態を模式的に表す画像を表示するためのプレビュー領域を設けるようにしてもよい。このプレビュー領域は、実際にジョブで出力される画像そのものを表示するためのものではなく、ジョブに設定されているカラーモード、両面/片面、ページ集約等の設定状態(即ち、実際に出力される形態)を表すシンボルを表示するようにする。
以上のように、パネル・アプリケーション404は、印刷設定変更画面(図14(b))上に、プリントサーバ101から受信した印刷ジョブ一覧に含まれる印刷ジョブ(特に図14(a)で選択された印刷ジョブ)の体裁情報(画像形成装置102で実際に印刷される際の体裁を示す情報)を変更可能に表示する。
以下、図11のフローチャートの説明に戻す。
パネル・アプリケーション404は、印刷設定変更画面(図14(b))上で、印刷設定の変更と設定変更確認ボタン1348の押下を検知すると、パネル・アプリケーション404は、ステップSC1103に処理を進める。なお、図11には示していないが、設定変更確認ボタン1348を押下することなくプリント開始ボタン1349が押下された場合には、パネル・アプリケーション404は、そのままSC1109に処理を進めるものとする。
ステップSC1103では、パネル・アプリケーション404は、ジョブ管理サービス402へ印刷設定情報を送信する。この印刷設定情報は対応する印刷ジョブのジョブ識別子としてのGUIDを含むものであり、前述したXML形式を使ってもよい。
そして、ステップSC1104において、パネル・アプリケーション404は、ジョブ管理サービス402から印刷設定変更指示が反映された印刷設定情報を受信する。
次に、ステップSC1105において、パネル・アプリケーション404は、上記SC1103で送信した印刷設定情報と上記SC1104で受信した印刷設定情報とを比較する。
例えば、ステップSC1102で変更対象外の設定情報として用紙サイズがあるが、図4の1−1の段階で用紙サイズは「はがき」になっていたとする。そして、印刷設定の禁則条件として、用紙が「はがき」の場合、両面・片面指定は片面しか選択できないとする。さらに、禁則条件適用の優先度は両面・片面指定よりも用紙サイズの指定の方が高いとする。この場合、両面・片面指定を両面に設定変更することはできない。パネル・アプリケーションに404に、プリンタドライバと同様の高度な禁則処理を実装すれば、図14(b)の設定変更入力の時点で両面指定を変更できないようにすることも可能であるが、パネル・アプリケーションの実装難易度が非常に高くなる。本実施形態のように、パネル・アプリケーション404では印刷設定の禁則処理を行わず、印刷設定を変更したら都度、変更可能かどうかプリントサーバ101側のプリンタドライバに問い合わせる方が容易なうえ汎用性も増す。
そして、上記SC1103で送信した印刷設定情報と上記SC1104で受信した印刷設定情報を比較した結果、差異が有ると判定した場合(SC1105でYes)、パネル・アプリケーションに404は、ステップSC1106へ処理を進める。
ステップSC1106では、パネル・アプリケーションに404は、エラー表示画面(図15(a))を操作部308の表示部に表示するように制御する。
図15(a)は、画像形成装置102の操作部308に表示されるエラー表示画面の一例を示す図である。
ここでは両面ができない場合は、図15(a)のような「片面」から「両面(長辺綴じ)」に変更できなかった旨のエラー表示を行う。エラー表示画面(図15(a))の1350が押下されたことを検知すると、パネル・アプリケーションに404は、ステップSC1107へ処理を進める。
一方、上記SC1103で送信した印刷設定情報と上記SC1104で受信した印刷設定情報とに差異が無いと判定した場合(SC1105でNo)、パネル・アプリケーションに404は、そのままステップSC1107へ処理を進める。
ステップSC1107では、パネル・アプリケーションに404は、上記SC1104で受信した印刷設定情報を、印刷設定変更画面(図14(b))上に表示するように制御する。ここに表示される印刷設定情報は、後述するローカルポート印刷ファイルの解析結果を表示しているため、詳細な情報が表示される。
次に、ステップSC1108において、パネル・アプリケーションに404は、印刷実行を行うか判定する。印刷設定変更画面(図14(b))上でプリント開始ボタン1349以外の操作を検知すると、パネル・アプリケーションに404は、印刷実行を行わず、印刷設定変更の入力を行うと判定し(SC1108でNo)、ステップSC1102へ処理を戻す。そして、印刷設定変更の入力を受け付ける。
一方、印刷設定変更画面(図14(b))上でプリント開始ボタン1349の操作を検知すると、印刷実行を行うと判定し(SC1108でYes)、パネル・アプリケーションに404は、ステップSC1109へ処理を進める。
ステップSC1109では、パネル・アプリケーションに404は、ジョブ管理サービス402に印刷指示コマンドを送信する。なお、この処理は、後述する図12で詳細に説明する。
そして、ステップSC1110において、パネル・アプリケーションに404は、図14(b)の印刷設定変更画面を閉じ、ステップSC1111で処理を終了する。
次にジョブ管理サービス402による印刷設定変更処理を説明する。
ステップSB1100において、ジョブ管理サービス402の処理を開始する。ステップSB1101において、ジョブ管理サービス402は、パネル・アプリケーション404から印刷設定変更指示を受信する。この印刷設定変更指示は、ステップSC1103で送信されたものであり、ジョブ識別子としてGUIDが含まれている。
次に、ステップSB1102において、ジョブ管理サービス402は、図4のジョブ管理DB403から上記SB1101で得たGUIDと一致するレコードを探索して取得する。
そして、ステップSB1103において、ジョブ管理サービス402は、上記SB1102で探索して取得されたレコードからメタデータのDEVMODEおよびEMFSPOOL形式の印刷ジョブを取得する。
さらに、ステップSB1104において、ジョブ管理サービス402は、上記SB1101で得た印刷設定を上記SB1103で得たメタデータのDEVMODEに適用する。
次に、ステップSB1105において、ジョブ管理サービス402は、EMFSPOOL形式の印刷ジョブの描画データを加工する。本処理については、前述したSB707と同様なため説明を省略する。
次に、ステップSB1106において、ジョブ管理サービス402は、上記SB1105で加工した加工済み印刷ジョブおよびDEVMODEを使用して、プリンタドライバ406を用いてローカルポート出力を行う。プリンタドライバ406は、図8のSB805,SB806で作成した出力ポートがローカル出力の論理プリンタを使用する。この処理により、現在処理中の印刷ジョブに対応するPDLジョブが再生成されてプリントサーバ101の外部メモリ等に再出力されてファイルとして保存される。
さらに、ステップSB1107において、ジョブ管理サービス402は、ジョブ終了判断用のダミージョブを、プリンタドライバ406を用いてローカルポート出力する。
次に、ステップSB1108において、ジョブ管理サービス402は、上記SB1106のローカル印刷でファイルとして保存されたPDLジョブの個数、及びPDLデータを解析して、印刷設定情報等を再取得し、メタデータを更新する。
さらに、ステップSB1109において、ジョブ管理サービス402は、上記SB1106及びSB1107でローカルポート出力されたPDLデータを削除する。
さらに、ステップSB1110において、ジョブ管理サービス402は、上記SB1108で取得した印刷設定情報、及びジョブ個数等を、パネル・アプリケーション404へ返信(再送信)し、ステップSB1111で処理を終了する。
図12は、本発明のプリントシステムにおける第4の制御処理手順の一例を示すフローチャートであり、図4に示した4−1〜4−4の処理手順に対応する。ステップSC1200〜SC1205は、図4に示したパネル・アプリケーション404による印刷指示処理(図11のSC1109)に対応するものである。即ち、これらの処理は、図1に示した画像形成装置102のCPU301がROM303又はHDD304に格納されたプログラムをRAM302上にロードして実行することにより実現される。ステップSB1200〜SB1209は、図4に示したジョブ管理サービス402による印刷処理に対応する。即ち、これらの処理は、図1に示したプリントサーバ101のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。
まず、パネル・アプリケーション404による印刷指示処理を説明する。
ステップSC1200において、パネル・アプリケーション404の処理を開始する。ステップSC1201において、パネル・アプリケーション404は、ジョブ管理サービス402へ印刷指示要求コマンドを送信する。このとき選択済みの印刷ジョブのGUIDと画像形成装置102のモデル名も送信する。さらに、印刷設定変更表示図14(b)の1347において、プリント後文書消去チェックボックスにチェックがついていた場合は、印刷後に削除するコマンド(削除コマンド)を印刷ジョブと同時に送信しておく。
そして、ステップSC1202において、パネル・アプリケーション404は、ジョブ管理サービス402から印刷実行結果(成否)を受信する。
次に、ステップSC1203において、パネル・アプリケーション404は、印刷実行に成功したかどうかを判定する。そして、印刷実行に失敗したと判定した場合(SC1203でYes)、パネル・アプリケーション404は、ステップSC1204へ処理を進める。
ステップSC1204では、パネル・アプリケーション404は、エラー表示画面(図15(b))を操作部308の表示部に表示するように制御する。
図15(b)は、画像形成装置102の操作部308に表示されるエラー表示画面の一例を示す図である。
エラー表示画面(図15(b))のOKボタンが押下されたことを検知すると、パネル・アプリケーション404は、ステップSC1205へ処理を進める。
一方、印刷実行に成功した(印刷実行に失敗しなかった)と判定した場合(SC1203でNo)、パネル・アプリケーション404は、そのままステップSC1205へ処理を進める。
ステップSC1205では、パネル・アプリケーション404は、図16に示す印刷実行中画面を操作部308の表示部に表示し、画像形成装置102での印刷出力が完了するまでの間にユーザが印刷中止の指示をできるよう制御する。
図16は、画像形成装置102の操作部308に表示される印刷中止画面の一例を示す図である。
印刷中止画面(図16)のプリント中止ボタン1360を押下することにより、ユーザは印刷を中止させることができる。なお、上記SC1205の処理においては、パネル・アプリケーション404は、ジョブ管理サービス402に対して、印刷中止指示(図4の4−1)又は印刷完了通知(図4の6−1)の信号を送信する。詳細は後述する図17に示す。ステップSC1205の処理を完了すると、パネル・アプリケーション404は、ステップSC1206に進み、処理を終了する。
次にジョブ管理サービス402による印刷処理を説明する。
ステップSB1200において、ジョブ管理サービス402の処理を開始する。ステップSB1201において、ジョブ管理サービス402は、パネル・アプリケーション404から印刷指示コマンド(ステップSC1201で送信された印刷指示コマンド)を受信する。このとき、印刷対象の印刷ジョブのGUIDも受信する。さらに、削除コマンドも一緒に送信されている場合には、削除コマンドも受信する。
次に、ステップSB1202において、ジョブ管理サービス402は、図4のジョブ管理DB403から上記SB1201で得たGUIDと一致するレコードを探索する。
さらに、ステップSB1203において、ジョブ管理サービス402は、上記SB1202で探索して得られたレコードからEMFSPOOL形式印刷ジョブとDEVMODEを取得する。
ステップSB1204において、ジョブ管理サービス402は、プリンタドライバをインストールする。本処理は前述した図7のSB702の処理と同様のため省略する。
ステップSB1205において、ジョブ管理サービス402は、上記SC1203で得たEMFSPOOL形式印刷ジョブとDEVMODEをレンダリングして印刷処理を実行する。この際、上記SB1201で印刷指示コマンドを受信した画像形成装置102のIPアドレスが出力ポートに設定された論理プリンタを用いる。該論理プリンタを構成するプリンタドライバはPDLを生成し、画像形成装置102にPDLを送信する。
そして、ステップSB1206において、ジョブ管理サービス402は、上記SB1205での印刷実行の成否をパネル・アプリケーション404へ送信する。
次に、ステップSB1207において、ジョブ管理サービス402は、パネル・アプリケーション404のSC1205で送信される、印刷中止指示、又は印刷完了通知の信号に応じて処理を行う。この処理の詳細は後述する図17で示す。
次に、ステップSB1208において、ジョブ管理サービス402は、上記SB1201で受信した情報に削除コマンドがある(削除コマンドがONである)か否かを判定する。そして、削除コマンドがある(削除コマンドがONである)と判定した場合(SB1208でYes)、ジョブ管理サービス402は、ステップSB1209に処理に進める。
ステップSB1209では、ジョブ管理サービス402は、上記SB1202で探索したレコードをジョブ管理DB403から削除し、上記SB1203で取得したファイルパスの印刷ジョブを削除し、ステップSB1210に進み、処理を終了する。
一方、削除コマンドがない(削除コマンドがOFFである)と判定した場合(SB1208でNo)、ジョブ管理サービス402は、そのままステップSB1210に進み、処理を終了する。
図17は、本発明のプリントシステムにおける第5の制御処理手順の一例を示すフローチャートであり、図4に示した5−1,6−1の処理手順に対応する。ステップSC1400〜SC1410は、図4に示したパネル・アプリケーション404による印刷中止待機処理(図12のSC1205)に対応するものである。即ち、これらの処理は、図1に示した画像形成装置102のCPU301がROM303又はHDD304に格納されたプログラムをRAM302上にロードして実行することにより実現される。ステップSB1400〜SB1204は、図4に示したジョブ管理サービス402による印刷中止待機処理(図12のSC1207)に対応するものである。即ち、これらの処理は、図1に示したプリントサーバ101のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。
まず、パネル・アプリケーション404による印刷中止待機処理を説明する。
ステップSC1400において、パネル・アプリケーション404の処理を開始する。ステップSC1401において、パネル・アプリケーション404は、操作部308の表示部に図16に示す印刷中止画面を表示する。なお、この印刷中止画面(図16)のプリント中止ボタン1360を押下することにより、ユーザは印刷を中止させることができる。
次に、ステップSC1402において、パネル・アプリケーション404は、印刷ドキュメントの排紙まで全て完了しているかを判定する。
そして、未だ印刷ドキュメントの排紙が未完了と判定した場合(SC1402でNo)、ステップSC1403に処理を進める。
ステップSC1403では、パネル・アプリケーション404は、印刷中止画面(図16)のプリント中止ボタン1360が押下されてか否かを判定する。そして、プリント中止ボタン1360が押下されていないと判定した場合(SC1403でNo)、パネル・アプリケーション404は、SC1402に戻り、印刷ドキュメントの排紙完了を判定する。
そして、印刷ドキュメントの排紙まで全て完了していると判定した場合(SC1402でYes)、パネル・アプリケーション404は、ステップSC1408へ処理を進める。ステップSC1408では、パネル・アプリケーション404は、印刷完了コマンドをジョブ管理サービス402に送信して、ステップSC1409へ処理を進める。このとき、印刷完了した印刷ジョブのGUIDも一緒に送信する。
一方、プリント中止ボタン1360が押下されたと判定した場合(SC1403でYes)、パネル・アプリケーション404は、SC1404に処理を進める。ステップSC1404では、パネル・アプリケーション404は、印刷中止コマンドをジョブ管理サービス402に対して送信する。このとき、印刷中止する印刷ジョブのGUIDも一緒に送信する。
さらに、ステップSC1405において、パネル・アプリケーション404は、画像形成装置102で印刷中であるドキュメントの印刷出力を停止する。
そして、ステップSC1406において、パネル・アプリケーション404は、画像形成装置102で受信済みのジョブ数が出力予定のジョブ数に達しているかを判定する。ここで、受信済みのジョブ数とは、パネル・アプリケーション404において印刷指示したドキュメントに対して、プリントサーバ101から受信したPDLジョブ数である。また、出力予定のジョブ数とは、パネル・アプリケーション404が受信していた印刷設定情報に含まれるPDLジョブ数のことである。
そして、受信済みのジョブ数が出力予定のジョブ数に達していないと判定した場合(S1406でYes)、パネル・アプリケーション404は、SC1405に処理を戻る。
一方、受信済みのジョブ数が出力予定のジョブ数に達したと判定した場合(S1406でNo)、パネル・アプリケーション404は、SC1407に処理を進める。
ステップSC1407では、パネル・アプリケーション404は、受信済みのPDLジョブを全て消去し、ステップSC1409に処理を進める。
ステップSC1409では、パネル・アプリケーション404は、印刷中止画面(図16)を閉じて、ステップSC1410にて処理を終了する。
次にジョブ管理サービス402による印刷中止待機処理を説明する。
ステップSB1400において、ジョブ管理サービス402の処理を開始する。ステップSB1401において、ジョブ管理サービス402は、パネル・アプリケーション404のSC1404又はSC1408で送信されたコマンドを受信する。このとき、印刷対象としている印刷ジョブのGUIDを受信する。
次に、ステップSB1402において、ジョブ管理サービス402は、上記SB1401にて受信したコマンドが印刷中止コマンドであるか否かを判定する。そして、印刷中止コマンドであると判定した場合(SB1402でYes)、ジョブ管理サービス402は、ステップSB1403に処理を進める。
ステップSB1403では、ジョブ管理サービス402は、削除コマンドの設定をOFFに変更する。これは、ジョブ管理サービス402のSB1201(図12)において受信した削除コマンドがONであっても、印刷の中止指示がなされた場合には、該当する印刷ジョブをジョブ管理DB403から削除しないようにするための処理である。これにより、印刷中に印刷中止を行ったジョブについては、再度印刷が指示できるようになる。
上記ステップSB1403の処理を完了すると、ジョブ管理サービス402は、ステップSB1404にて処理を終了する。
一方、上記SB1401にて受信したコマンドが印刷中止コマンドでないと判定した場合(SB1402でNo)、ジョブ管理サービス402は、印刷完了コマンドを受信したものとして、そのままSB1404へと進み、処理を終了する。
以上の処理により、プリントサーバ101上に一時蓄積する印刷データを画像形成装置に非依存な中間形式としたプルプリントシステムにおいて、中間形式の印刷データから生成されるPDLジョブの数が幾つになるかを容易に把握することが可能となる。よって、画像形成装置から印刷指示した印刷ジョブに対応するPDLジョブの全てを把握することが可能となり、キャンセル処理等のジョブの管理を正確に行うことが可能となる。また、中間形式の印刷データを加工することで、一時的に作成するPDLデータの作成時間のパフォーマンスを改善している。
さらに、本実施例においては、ローカルに出力したPDLジョブのデータ解析も併せて行うことで、画像形成装置102のパネル・アプリケーションでの印刷ジョブの属性をより正確に提示することを可能としている。ここで、作成されるPDLデータを解析可能として説明しているが、未知のPDLデータの場合には、PDLデータの内容を解析しないようにしても、本実施例のPDLジョブ数の取得自体には影響はない。
以上示した処理により、ユーザが印刷装置からプリントサーバとしての情報処理装置上に一時蓄積された印刷データを指定して印刷した際に、指定された印刷データ及び印刷設定から実際にプリンタドライバが生成するPDLジョブの個数(分割数)を正確に把握することが可能となる。
さらに、印刷データから実際にPDLジョブを生成して個数を把握するので、印刷データ、印刷設定、及びプリンタドライバの仕様等に依存せずにPDLジョブの個数を正確に取得できる。
また、PDLジョブの個数を取得することで、印刷中止等のジョブの管理において、1つのジョブから複数のPDLジョブが生成された場合でも、正確に処理を行うことが可能となる。
また、ジョブ数取得のために印刷データからPDLジョブを生成する際には、印刷データを簡単な描画データ(疑似データ)に加工してPDLジョブを生成しているので、パフォーマンスの劣化を防ぐことも可能となっている。
さらに、画像形成装置のパネル・アプリケーションで印刷設定を変更した場合でも、変更時にプリントサーバからPDLジョブの個数(分割数)を再び取得できるため、ユーザは印刷設定変更によりPDLジョブの分割数が変わってしまうような場合でも、該ジョブの印刷実行中のキャンセル指示に対する制御を正確に行うことができる。
本実施形態では、プリントサーバで印刷・加工・解析を行ったが、一部を画像形成装置で処理を行うことも可能である。例えば、画像形成装置にHDD304のような記憶装置が存在する場合、プリンタドライバはローカルポート印刷ではなく、画像形成装置の記憶装置にPDLデータを出力して保存させる。そして、このPDLデータを画像形成装置が解析して、PDLジョブの分割数を取得することも可能である。
以上の手法により、サーバ上に一時蓄積する印刷データを特定の機種の画像形成装置に依存しない中間形式としたプルプリントシステムにおいて、中間形式の印刷データから生成されるPDLジョブが幾つに分割されるか(分割数)を正確に把握することが可能となる。よって、印刷装置から印刷指示した印刷ジョブに対応するPDLジョブの把握か可能となり、該ジョブの印刷実行中のキャンセル指示に対するキャンセル処理時等のジョブの管理を正確に行うことが可能となる。また、中間形式の印刷データを疑似データに加工することで、一時的に作成するPDLデータの作成時間のパフォーマンスを改善している。
さらに、本実施例においては、プリントサーバのローカルの記憶領域に出力したPDLジョブのデータ解析も併せてプリントサーバで行うことで、画像形成装置のパネル・アプリケーションでの印刷ジョブの属性をより正確に提示することを可能としている。ここで、作成されるPDLデータを解析可能として説明しているが、未知のPDLデータの場合には、PDLデータの分割数のみを取得し、PDLデータの内容自体は解析しないようにしてもよい。このような構成であっても、本発明は、PDLジョブ数の取得自体には影響はない。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
(他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施例の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
101 プリントサーバ
102 画像形成装置
105 LAN

Claims (11)

  1. 印刷装置と通信可能な情報処理装置であって、
    印刷対象となるデータを、特定の機種の印刷装置に依存しない中間形式で記憶する記憶手段と、
    印刷装置からの要求に応じて、当該印刷装置に対応するプリンタドライバのインストールを行うインストール手段と、
    前記インストール手段によりインストールされたプリンタドライバを用いて、前記中間形式のデータから、前記プリンタドライバにより生成される前記印刷装置に依存するデータの分割数を取得する取得手段と、
    前記取得手段により取得された分割数を前記印刷装置に送信する送信手段と、を有し、
    前記印刷装置では、前記分割数を用いて、前記印刷対象となるデータの印刷実行中のキャンセル指示に対する制御が行われることを特徴とする情報処理装置。
  2. 印刷装置からの要求に応じて、前記プリンタドライバを用いて、前記中間形式のデータから、前記印刷装置に依存するデータを生成して前記印刷装置に出力する印刷処理手段を有することを特徴とする請求項1に記載の情報処理装置。
  3. 前記取得手段は、前記プリンタドライバにより生成されるデータを前記情報処理装置のローカルな記憶領域に出力し、該出力されたデータから前記分割数を取得することを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記取得手段は、前記印刷対象となるデータの各ページのデータを疑似データに置換した上で、前記プリンタドライバにより前記印刷装置に依存するデータを生成させることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
  5. 前記中間形式は、EMFSPOOL形式(Enhanced Metafile Spool Format)であることを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
  6. 前記印刷装置に依存するデータは、PDL(Page Description Language)データであることを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
  7. 前記記憶手段は、前記中間形式のデータに対応する印刷設定情報をも記憶するものであり、
    前記取得手段は、前記プリンタドライバを用いて、前記中間形式のデータ及び前記中間形式のデータに対応する印刷設定情報から、前記プリンタドライバにより生成される前記印刷装置に依存するデータの分割数を取得するものであり、
    前記印刷装置から印刷設定の変更指示を受信した場合、前記変更指示に応じて前記中間形式のデータに対応する印刷設定情報を変更し、前記取得手段に分割数を再取得させ、前記送信手段に前記再取得された分割数を再送信させるように制御する制御手段を有することを特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置。
  8. 情報処理装置と印刷装置とを含むプリントシステムであって、
    前記情報処理装置は、
    印刷対象となるデータを、特定の機種の印刷装置に依存しない中間形式で記憶する記憶手段と、
    前記印刷装置からの要求に応じて、当該印刷装置に対応するプリンタドライバのインストールを行うインストール手段と、
    前記インストール手段によりインストールされたプリンタドライバを用いて、前記中間形式のデータから、前記プリンタドライバにより生成される前記印刷装置に依存するデータの分割数を取得する取得手段と、
    前記取得手段により取得された分割数を前記印刷装置に送信する送信手段と、を有し、
    前記印刷装置は、
    前記情報処理装置に対して、前記印刷すべきデータに関する情報の要求を行う要求手段と、
    前記分割数を用いて、前記印刷対象となるデータの印刷実行中のキャンセル指示に対する制御を行うキャンセル手段と、を有する、
    ことを特徴とするプリントシステム。
  9. 印刷装置と通信可能な情報処理装置における制御方法であって、
    印刷対象となるデータを、特定の機種の印刷装置に依存しない中間形式で記憶手段に記憶する記憶ステップと、
    印刷装置からの要求に応じて、当該印刷装置に対応するプリンタドライバのインストールを行うインストールステップと、
    前記インストールされたプリンタドライバを用いて、前記中間形式のデータから、前記プリンタドライバにより生成される前記印刷装置に依存するデータの分割数を取得する取得ステップと、
    前記取得ステップで取得された分割数を前記印刷装置に送信する送信ステップと、を有し、
    前記印刷装置では、前記分割数を用いて、前記印刷対象となるデータの印刷実行中のキャンセル指示に対する制御が行われることを特徴とする制御方法。
  10. 情報処理装置と印刷装置とを含むプリントシステムにおける制御方法であって、
    前記情報処理装置のコントローラが、
    印刷対象となるデータを、特定の機種の印刷装置に依存しない中間形式で記憶手段に記憶する記憶ステップと、
    印刷装置からの要求に応じて、当該印刷装置に対応するプリンタドライバのインストールを行うインストールステップと、
    前記インストールされたプリンタドライバを用いて、前記中間形式のデータから、前記プリンタドライバにより生成される前記印刷装置に依存するデータの分割数を取得する取得ステップと、
    前記取得ステップで取得された分割数を前記印刷装置に送信する送信ステップと、を実行し、
    前記印刷装置のコントローラが、
    前記情報処理装置に対して、前記印刷すべきデータに関する情報の要求を行う要求ステップと、
    前記分割数を用いて、前記印刷対象となるデータの印刷実行中のキャンセル指示に対する制御を行うキャンセルステップと、を実行する、
    ことを特徴とする制御方法。
  11. 請求項1乃至7のいずれか1項に記載の手段としてコンピュータを機能させるためのプログラム。
JP2011044393A 2011-03-01 2011-03-01 情報処理装置、プリントシステム、制御方法、及び、プログラム Withdrawn JP2012181695A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011044393A JP2012181695A (ja) 2011-03-01 2011-03-01 情報処理装置、プリントシステム、制御方法、及び、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011044393A JP2012181695A (ja) 2011-03-01 2011-03-01 情報処理装置、プリントシステム、制御方法、及び、プログラム

Publications (1)

Publication Number Publication Date
JP2012181695A true JP2012181695A (ja) 2012-09-20

Family

ID=47012841

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011044393A Withdrawn JP2012181695A (ja) 2011-03-01 2011-03-01 情報処理装置、プリントシステム、制御方法、及び、プログラム

Country Status (1)

Country Link
JP (1) JP2012181695A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014179018A (ja) * 2013-03-15 2014-09-25 Ricoh Co Ltd 画像形成システム及び画像形成装置
JP2015007964A (ja) * 2013-05-27 2015-01-15 株式会社リコー システム、及び方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014179018A (ja) * 2013-03-15 2014-09-25 Ricoh Co Ltd 画像形成システム及び画像形成装置
JP2015007964A (ja) * 2013-05-27 2015-01-15 株式会社リコー システム、及び方法

Similar Documents

Publication Publication Date Title
JP5854654B2 (ja) プリントシステム、印刷方法、プリントサーバ、制御方法、及びプログラム
JP5763904B2 (ja) プリントシステム、印刷方法、プリントサーバおよびその制御方法、並びにプログラム
JP5680926B2 (ja) プリントシステム、印刷方法、プリントサーバ及びその制御方法、並びにプログラム
US9258437B2 (en) Printing system, control method, and computer-readable medium for controlling printing of data stored in a print server
JP5719198B2 (ja) プリントシステム、情報処理装置、制御方法、およびプログラム
US8970865B2 (en) Printing control device, storage medium storing printing control program, and printing control method
US9202154B2 (en) Information processing apparatus and method for controlling re-execution of print jobs, and storage medium
JP6454213B2 (ja) 画像出力システム、画像処理装置、画像出力装置、これらにおける方法及びプログラム
US8773699B2 (en) Information processing apparatus, printing system, and method for controlling the same
JP5797052B2 (ja) 印刷システム、サーバー装置、情報処理方法及びプログラム
JP2012113384A (ja) 印刷システム、情報処理装置、印刷方法、及び、プログラム
US9830544B2 (en) Image processing apparatus, control method, and storage medium for executing print processing using a password including selecting a personal identification code type that indicates a purpose for using the password
JP2020004158A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
US8213032B2 (en) Information processing apparatus and method and computer-readable storage medium thereof
JP2012181695A (ja) 情報処理装置、プリントシステム、制御方法、及び、プログラム
JP2012221198A (ja) プリントシステム
JP6116382B2 (ja) サーバ装置、サーバ装置の制御方法、及びプログラム
JP5764924B2 (ja) 情報処理装置、情報処理装置の制御方法、プログラム、記憶媒体
JP2010282412A (ja) 情報処理装置、およびその制御方法、情報処理システム、プログラム、記録媒体

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20140513