JP2006301860A - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
JP2006301860A
JP2006301860A JP2005121132A JP2005121132A JP2006301860A JP 2006301860 A JP2006301860 A JP 2006301860A JP 2005121132 A JP2005121132 A JP 2005121132A JP 2005121132 A JP2005121132 A JP 2005121132A JP 2006301860 A JP2006301860 A JP 2006301860A
Authority
JP
Japan
Prior art keywords
printer
print
print job
display element
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
JP2005121132A
Other languages
English (en)
Inventor
Masamichi Oshima
正道 大島
Nakakatsu Kurotsu
中克 黒津
Hidekazu Morooka
秀和 師岡
Takashi Yakida
隆 八木田
Koichiro Wanda
浩一郎 椀田
Koji Kikuchi
浩司 菊池
Kei Kitakata
圭 北形
Hiroyuki Kayama
博之 嘉山
Kenichi Shirai
健一 白井
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 JP2005121132A priority Critical patent/JP2006301860A/ja
Publication of JP2006301860A publication Critical patent/JP2006301860A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)

Abstract

【課題】 DOMSのようなジョブ管理システムのユーザインタフェースにおいて、複数のジョブをドラッグ・アンド・ドロップによって他のプリンタに移動できるようにする技術に関し、ドライバ種類や印刷設定といったジョブの属性とプリンタの機能の整合性を調べ、移動不可能なジョブや、移動可能であっても印刷設定が無視されるような場合には、プリンタアイコンの表示状態を変更してユーザに視覚的に通知する。
【解決手段】 プリンタリストの表示を制御するモジュールやジョブリストの表示を制御するモジュールと連繋して、ドラッグ・アンド・ドロップ操作時の処理を制御するモジュールを追加することにより、プリンタアイコンやマウスカーソルの形状を適宜変更するようにする。
【選択図】 図9

Description

本発明は、印刷装置と通信可能な情報処理装置における印刷ジョブの制御に係る情報処理装置に関する。
従来から、印刷ジョブを象徴的に示す表示要素と、プリントデバイスを象徴的に示す表示要素と、を画面に表示する情報処理装置が知られている。例えば、画面上において、あるプリントキューに登録された印刷ジョブを他のプリントキューに移動させる技術も知られている(例えば、特許文献1参照)。
特開平11−175300号公報
しかしながら上記の方法では、印刷ジョブのリストからある印刷ジョブを選択した場合に、その印刷ジョブの特性を考慮して選択された印刷ジョブを出力可能なプリンタを、出力不可能なプリンタから容易に識別することができなかった。すなわち、ユーザが既に生成され、あるプリントキューに登録された印刷ジョブを、他のプリントキューに移動しようとする場合に、移動可能なプリントキューと移動不可能なプリントキューとを区別することは困難であった。特にプリンタが複数ある場合に困難であった。
さらに、複数の印刷ジョブを選択した場合、通常各印刷ジョブの特性が一様ではないため、それらを移動できるプリントキューと移動できないプリントキューの識別はさらに困難度が高くなる。
本発明は、上記の問題点を解決するためになされたもので、その目的は、表示画面上で、複数の印刷ジョブを選択した場合に、それらの印刷ジョブを出力可能なプリンタと、出力不可能なプリンタとを容易に識別可能とし、さらに前記選択された複数の印刷ジョブのうち一部のみ出力不可能な場合についても識別可能とすることのできる情報処理装置の提供にある。
上記課題を解決するために、本発明の情報処理装置は、以下に示すとおりの構成を備える。
入力装置、表示装置と通信可能な情報処理装置において、
印刷ジョブを象徴的に示す印刷ジョブ表示要素と、複数の論理プリンタ又は物理プリンタのプリントキューを象徴的に示すプリンタ表示要素とを、前記表示装置の画面上に表示させる表示制御手段と、
前記入力装置からの前記印刷ジョブ表示要素を選択する選択指示入力により選択された一または複数の前記印刷ジョブ表示要素の個々に対応する印刷ジョブの属性を取得する第1取得手段と、
前記プリンタ表示要素が示す論理プリンタ又は物理プリンタの属性を取得する第2取得手段と、
を有し、
前記表示制御手段は、
前記第1取得手段により取得された前記一または複数の印刷ジョブの属性と、前記第2取得手段により取得された論理プリンタ又は物理プリンタの属性とに基づき、前記選択された一または複数の印刷ジョブ表示要素に対応する一または複数の印刷ジョブのいずれも出力不可能な論理プリンタ又は物理プリンタのプリンタ表示要素と、前記一または複数の印刷ジョブの一部のみ出力不可能な論理プリンタ又は物理プリンタのプリンタ表示要素と、前記一または複数の印刷ジョブの全てを出力可能な論理プリンタ又は物理プリンタのプリンタ表示要素とを相互に識別可能に表示させることを特徴とする。
本発明によれば、表示画面上で、ユーザ任意のタイミングにおいて複数の印刷ジョブを選択した場合に、それらの印刷ジョブ全てを出力可能なプリンタと、いずれも出力不可能なプリンタと、一部のジョブのみ出力可能なプリンタとを容易に識別可能となる。さらに、出力不可能な印刷ジョブが存在する場合は、その理由について知ることができる。また、出力可能であっても出力の体裁等が指定どおりにならないプリンタについては、その指定内容を知ることができる。それらによって、選択した前記複数の印刷ジョブを出力させるプリンタを選択することが容易になる。
以下に、図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
[第1実施形態]
以下、図面を参照して本発明の第1実施形態について詳細に説明する。本実施形態は、複数の印刷ジョブの移動を、マウスなどのポインティングデバイスでドラッグ、ドロップすることにより可能にし、さらにそれら複数の印刷ジョブの移動先として適当なプリンタ又はプリントデバイスであるか不適当なプリンタ又はプリントデバイスであるかを、印刷ジョブの属性、プリントデバイスの能力等によって判断し、その印刷ジョブの移動先として不適当なプリンタを示す表示をグレイアウト表示するシステムである。さらに本システムは、前記複数の印刷ジョブのうち一部にとっては適当であって、その他にとっては不適当なプリンタ又はプリントデバイスである場合には、その旨が判断できるよう表示を行う。
<印刷処理システムの構成例>
図1は、第1実施形態に係る印刷処理システムの構成を示す図である。
同図において、101、102、103、104は、ネットワーク106に接続され、相互に通信可能なネットワークコンピュータであり、典型的にはパーソナルコンピュータ(PC)である。また、105は、印刷装置としてのネットワークプリンタである。
これらのうち、102,103,104はクライアントコンピュータ(以下、クライアント)であり、それぞれイーサネット(登録商標)などのネットワークケーブルによってネットワーク106に接続され、アプリケーションプログラム等の各種のプログラムを実行可能であり、印刷データをプリンタ言語に変換する機能を有するプリンタドライバを搭載している。ここで、各クライアントは複数のプリンタドライバをサポートするものとする。
これに対し101はサーバコンピュータ(以下、サーバ)であり、ネットワークケーブルによってネットワーク106に接続され、ネットワークで使用されるファイルを蓄積したり、ネットワーク106の使用状態を監視したりする。このサーバ101は、ネットワーク106に接続されているプリンタを管理するプリントサーバとしても機能する。具体的には、プリントサーバ101は、クライアントコンピュータ102、103、104から印刷要求が出された場合に、印刷データを含む印刷ジョブを生成してネットワークプリンタ105に印刷指示を行う機能や、クライアントコンピュータ102〜104から印刷データを含まない印刷ジョブ情報を受け取って印刷順序を管理し、印刷順序になったクライアント102〜104に対して印刷データを含む印刷ジョブの送信許可を通知する機能や、ネットワークプリンタ105のステータスや印刷ジョブの各種情報を取得してクライアントコンピュータ102〜104に通知する機能などを有している。
ネットワークプリンタ105は、ネットワークインタフェースを介してネットワーク106と接続されており、クライアントコンピュータ102〜104やサーバ101から送信されてくる印刷ジョブを解析し、1ページずつドットイメージに変換して印刷する。なお、同図にネットワークプリンタ105は1台しか示されていないが、他にも複数のネットワークプリンタが接続されているものとする。各ネットワークプリンタの機能は相違するものであってもよい。
また、106はネットワークであり、クライントコンピュータ102〜104、プリントサーバ101、ネットワークプリンタ105等と接続している。
<ネットワークコンピュータのハードウエア構成例>
図2は、クライアントコンピュータ102〜104やプリントサーバ101として使用されるコンピュータの構成を説明するブロック図である。なお、本実施形態においては、クライアントコンピュータ102〜104もプリントサーバ101も同様あるいは同等のハードウエア構成とするが、それぞれ専用のハードウエア構成であっても構わない。
図2において、200は装置全体の制御を行うCPUであり、ハードディスク(HD)205に格納されているアプリケーションプログラム、プリンタドライバプログラム、OS(オペレーティングシステム)や、本実施形態の印刷制御プログラム等を実行し、RAM202にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。なお、OSとしてはWindows(登録商標)に限定されるものではなく、描画命令を備えていれば他のOSも適用可能である。また、プリンタドライバは本印刷制御プログラムがOSを介して各種情報を取得する際に利用されるものであり、この点で、本印刷制御プログラムに含めるように考えても良い。
201は記憶手段としてのROMであり、内部には、基本I/Oプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。202は一時記憶手段としてのRAMであり、CPU200の主メモリ、ワークエリア等として機能する。
203は記憶媒体読み込み手段としてのフロッピディスク(FD)ドライブであり、FDドライブ203を通じて、記憶媒体としてのFD204に記憶されたプログラム等を本コンピュータにロードすることができる。
205は外部記憶手段の一つであり、大容量メモリとして機能するハードディスク(HD)であり、アプリケーションプログラム、プリンタドライバプログラム、OS、印刷制御プログラム、関連プログラム等を格納している。さらに、スプール手段であるスプーラはここに確保される。スプール手段は、クライアントコンピュータ102〜104ではクライアントスプーラのことであり、プリントサーバ101ではサーバスプーラのことである。また、プリントサーバ101では、クライアントコンピュータ102〜104から受けた印刷ジョブ情報を格納し、順序制御を行うためのテーブルもこの外部記憶手段に生成されて格納される。
206は入力装置としてのキーボードであり、ユーザがクライアントコンピュータ102〜104に対して、また、オペレータや管理者がプリントサーバ101に対して、デバイスの制御コマンドの命令等を入力指示するものである。207は表示装置としてのディスプレイであり、キーボード206から入力したコマンドや、プリンタの能力等を表示したりするものである。
208はシステムバスであり、クライアントコンピュータ102〜104やプリントサーバ101であるコンピュータ内のデータの流れを司るものである。209は入出力手段であるインタフェースであり、インタフェース209を介して情報処理装置は外部装置とのデータのやり取りを行う。
なお、上記コンピュータの構成はその一例であり、図2の構成例に限定されるものではない。例えば、データやプログラムの格納先は、その特徴に応じてROM、RAM、HDなどで変更することも可能である。
図3は、図2に示したRAM202のメモリマップの一例を示す図であり、FD204からロードされる印刷制御プログラムが、RAM202にロードされ実行可能となった状態のメモリマップである。
なお、本実施形態では、印刷制御プログラムおよび関連データをFD204から直接RAM202にロードして実行させる例を示すが、これ以外にも、印刷制御プログラムを動作させる度に、既に印刷制御プログラムがFD204からインストールされているHD205から、RAM202にロードするようにしてもよい。また、以上の各装置と同等の機能を実現するソフトウェアをもって、ハードウエア装置の代替として構成することもできる。
印刷制御プログラムは、クライアントにおいては、印刷ジョブの印刷先の変更を指示したり、印刷順序の変更を指示したりするための制御を行うプログラムを含む。一方、プリントサーバにおいては、印刷ジョブの順序制御を行ったり、印刷ジョブの印刷終了や印刷先変更要求などを通知したりするためのプログラムを含んでいる。また、このような制御を行う本実施形態の印刷制御プログラムは、クライアントにインストールされるモジュールと、プリントサーバにインストールされるモジュールを別々に分けてもよいし、ひとつの印刷制御プログラムが、実行される環境によりクライアント用として機能したり、プリントサーバ用として機能したりするようにしてもよい。あるいは、一台のコンピュータに、クライアント用の機能を持つモジュールとプリントサーバ用として機能するモジュールとを共にインストールし、同時にあるいは時分割で、擬似的に平行動作させる構成も可能である。
301は基本I/Oプログラムであり、コンピュータの電源がONされたときに、HD205からOSがRAM202に読み込まれ、OSの動作を開始させるIPL(イニシャルプログラムローデイング)機能などを有しているプログラムである。302はOSであり、303は印刷制御プログラムであり、304は関連データである。印刷制御プログラム303及び関連データ304は、RAM202上に確保される領域に記憶される。305はワークエリアで、CPU200が他のプログラムを実行するための領域である。
図4は、図2に示したFD204のメモリマップの一例を示す図である。
図4において、401はデータの情報を示すボリューム情報であり、402はディレクトリ情報、403は印刷制御プログラム、404はその関連データである。印刷制御プログラム403は、本実施形態で説明するフローチャートに基づいてプログラム化したものであり、本実施形態では、クライアント及びサーバ共に、同様の構成をとっている。
図5は、図2に示したFDドライブ203に対して挿入されるFD204との関係を示す図であり、図2と同一のものには同一の符号を付してある。図5において、FD204には、本実施形態で説明する印刷制御プログラムおよび関連データが格納されている。
<印刷処理システムにおけるソフトウェア構成例>
本印刷処理システムでは、複数のプリンタを仮想的に束ねて1つにした単独では為しえない機能を備えた仮想的なプリンタを「グループプリンタ」として設定することができる。即ち、アプリケーションから、グループプリンタに対して印刷指示を発行することにより、グループプリンタに属する複数のプリンタのいずれかに印刷を行わせることができる。ここで、束ねられる複数のプリンタの各々を「メンバプリンタ」と称する。また、グループプリンタおよびメンバプリンタには、グループプリンタドライバおよびデバイスドライバが対応している。
アプリケーションがOSの機能を借りてグループプリンタに対して描画命令を渡すと、グループプリンタドライバ及び中間形式ファイル構築部(汎用印刷ファイル構築部)715は、図8に示される中間形式ファイル(汎用印刷ファイルと呼ぶこともある)を生成する。そして、この中間形式ファイルに基づいてページ記述言語を生成させるべく、ジョブ制御プリントサービスから、各個別のプリンタドライバに中間形式ファイルに基づく印刷指示がなされる。この個別の各プリンタドライバは、メンバプリンタに対応するものである。
アプリケーションにおける印刷指示に応じてOSを介して出力される描画命令(一般的にDDI或いはGDIと呼ばれている)を解釈しページ記述言語を生成し、図6のジョブ制御ポートモニタ621ではなく、OSに標準で搭載され標準TCP/IPスタンダードポートのようなポートモニタを介して、デバイスへ出力させるようなプリンタを通常プリンタと呼び、ジョブ制御ポートモニタ621に関連付けられたグループプリンタやメンバプリンタと区別する。
また、デバイスである物理プリンタとは区別してプリンタドライバとプリンタ出力ポートとの組み合わせをプリンタと呼ぶ。例えば、図7のジョブ制御ポートモニタ621とグループプリンタドライバ603との組み合わせを指定することを、グループプリンタを指定すると呼ぶこととする。
図6は、本システムのクライアントサーバモデルにおいて、Microsoft(登録商標) Wordなどの一般的なアプリケーションから発行された描画コマンドを含む印刷ジョブが、印刷ジョブ制御システムにおいてどのように処理されるかを示した図である。
通常、印刷の指示がされると、アプリケーションプログラム601は一連の描画命令をOSを介して生成する。
生成された描画命令は、グループプリンタドライバ603或はPDLドライバ602のいずれか指定されたプログラムに引き渡される。なお、PDLドライバ602の代わりに、例えば、BDL(Band Description Language)や、圧縮ビットマップを作成するプリンタドライバなども適用可能である。
OSを介して生成された描画命令がグループプリンタドライバ603に渡された場合には、グループプリンタドライバ603は、中間形式ファイルを生成し、スプーラ(Windows(登録商標)Spooler)604に渡す。スプーラ604は、ユーザがユーザインタフェースを介して選択し指示したポートモニタに印刷ジョブを渡して、プリントデバイスに送信させる手順をとる。本実施形態では、プリントデバイス105へ印刷ジョブを送信する従来のポートモニタではなく、印刷ジョブ制御システム用のポートモニタ621(以降、ジョブ制御ポートモニタと略記)をユーザがあらかじめ指定したものとする。
プリンタドライバインタフェースを介して設定された用紙サイズ、ステープル指示等の印刷設定情報も、ジョブ制御ポートモニタ621に送信される。
ジョブ制御ポートモニタ621は、中間形式ファイルのデータをプリントデバイス105に送信するのではなく、印刷ジョブ制御システム用プリントサービス622(以降、ジョブ制御プリントサービスと略記)に転送する。
一方、OSを介して生成された描画命令がPDLドライバ602に投入された場合には、PDLドライバ602よって頁記述言語が生成され、生成された頁記述言語は、印刷処理を行うよう設定されたPDLドライバ602に対応するジョブ制御ポートモニタ621、ジョブ制御プリントサービス622を介して対応するデバイスに送信される。
印刷ジョブ制御システム用プリントマネージャ623(以降、プリントマネージャと略記)は、ユーザがジョブ制御プリントサービス622内部で印刷ジョブがどのような状態にあるかを調べたり、印刷ジョブを操作したりするためのユーザインタフェースを提供するプログラムである。プリントマネージャ623は、ジョブ制御プリントサービス622のソフトウェアのインタフェース(API:Application Program Interface)を介して、ジョブ制御プリントサービス622と情報・指示をやり取りしている。例えば、プリントマネージャ623がジョブ制御プリントサービス622に対してデバイスを指定したイベントを発行し、ジョブ制御プリントサービス622は発行されたイベントに基づくデバイスのステータスを監視して、監視に基づく結果をプリントマネージャ623に通知する。
印刷ジョブ制御システム用サーバ630(以降、ジョブ制御サーバと略記)は、個々のクライアントコンピュータ102〜104上のジョブ制御プリントサービス622がプリントデバイス105に印刷ジョブを送信するタイミングを集中制御(スケジューリング)している。印刷ジョブ制御システム用マネージメントコンソール633(以降、マネージメントコンソールと略記)は、APIを介して、ジョブ制御サーバ630と情報・指示をやり取りすることで、印刷ジョブ制御システム全体を監視することができる。なお、ジョブ制御サーバ630の機能が個々のクライアントコンピュータ102〜104に含まれるようにしても良い。その場合には、ジョブ制御サーバ630はジョブ制御プリントサービス622に含めるものとして考えてよい。
また、ジョブ制御サーバ630は、デバイス情報コントロールモジュール631を用いて各プリントデバイス105と通信を行い、各プリントデバイス105に対して発行された印刷ジョブやプリントデバイス105の動作状態に関する情報を入手したり、操作を行ったりする。入手した情報は、クライアントコンピュータ102〜104側のジョブ制御プリントサービス622に渡すことができる。
<印刷処理システムの動作例>
次に、本実施形態におけるグループプリンタドライバ603からの印刷について説明する。
グループプリンタドライバ603は、アプリケーションプログラム601が生成した一連の描画コマンドをプリントデバイスやOSの種類に依存しない中間形式データに変換する。この中間形式データは、スプーラ604からジョブ制御ポートモニタ621を経て(図6の矢印(a))、中間形式ファイルとしてジョブ制御プリントサービス622に導かれる(図6の矢印(b))。
ジョブ制御プリントサービス622は、この印刷ジョブに対して行うジョブ制御の種類に応じて、中間形式ファイルをもとに描画コマンドを生成してPDLドライバ602に渡す(図6の矢印(c))。そして、続けてPDLドライバ602がその描画コマンドをプリントデバイス105が解釈可能なPDL形式のファイルにする。
図6では、ジョブ制御プリントサービス622で、この印刷ジョブに対してプリントデバイス105側のエラー等を検知して代行印刷を行う例を示しており、実線で示されるのは当初印刷を予定していた印刷ジョブであり、破線については代行印刷のために生成された印刷ジョブを示している(図6の矢印(c))。
PDLドライバ602で生成されたPDLファイルはスプーラ604、ジョブ制御ポートモニタ621を経て(図6の矢印(d))、再びジョブ制御プリントサービス622に渡される(図6の矢印(e))。ジョブ制御プリントサービス622は、ジョブ制御サーバ630の指示に従ってPDLの印刷ジョブをプリントデバイス105に送信する(図6の矢印(f))。
ジョブ制御プリントサービス622は、中間形式ファイル中の印刷指示書の指示にしたがって、1つの中間形式ファイルを複数の印刷ジョブに論理的に分割してそれぞれ別のプリントデバイスに送信したり、一度送信した印刷ジョブを別のプリントデバイスに送信し直したりする。図6中に示す矢印(c)、(d)、(e)、(f)はそのような場合の印刷ジョブデータの経路を示している。
<中間形式ファイルの構成例>
図8は、構築された中間形式ファイルの構成の一例を示した図である。
本実施形態で使用される中間形式ファイルは、印刷指示部8a(前述の印刷指示書に相当)とドキュメントデータ部8bとからなる。印刷指示部8aは、ドキュメントの情報と印刷指示とを記述した部分である。また、ドキュメントデータ部8bは、アプリケーションのドキュメントのデータを汎用的な形式のデータに変換したものであり、プリンタ言語やOSの種類に依存しない或は依存しにくい中間形式データとなっている。
中間形式データとしては、印刷リソースデータとして利用可能でかつワードプロセッサアプリケーション等により再度編集可能な形式のデータであることが必要とされ、実質的な標準形式のうち、例えば、XML形式や、WINDOWS(登録商標)システムにより提供されるEMF形式、Adobe Systems IncorporatedによるPDF(Portable Document Format)形式、SVG形式などがあげられる。
また、図示はされてはいないが、中間形式ファイルには、各メンバプリンタに対応したDEVMODEの設定も含まれているものとする。DEVMODEの設定には共通及び拡張設定項目の双方が含まれる。
さらに詳細に説明すると、印刷指示部8aは、ヘッダ部801、ページ情報部802、ドキュメント属性部803、印刷体裁指示部804、出力方法指定部805、メンバプリンタ数806、メンバプリンタドライバ名807などから構成されている。
ヘッダ部801は、本ファイルのバージョン識別やファイル情報などの情報を格納する部分である。ページ情報部802は、ドキュメントデータ部8bのドキュメントデータのページ数、各ページのサイズなどの情報を格納する部分である。
印刷体裁指示部804は、グループプリンタドライバのUIや、メンバプリンタの個別のUIを介して設定された印刷ページ範囲、印刷部数、ドキュメントデータの面付け情報(N−UPや製本印刷など)、ステープル指示やパンチ指示など、出力体裁に関する情報を格納する部分である。なお、ステープル、パンチ指示については、ページ単位で指定(サブセットステイプ等)されることもある。なお、各メンバプリンタの個別のUIを介して設定された内容は印刷体裁指示部804に反映されると共に、各メンバプリンタに対応するDEVMODEにも反映させるために保存される。
出力方法指定部805は、出力方法として、分散印刷、同報印刷、代行印刷、通常印刷(代行しない印刷)などの出力方法に関する情報を格納する部分である。この出力方法指定部805に代行印刷が設定されている場合には、さらに優先順位情報(第一候補、第二候補・・・)を付したプリンタ情報が含まれる。
メンバプリンタ数806は、グループプリンタに関連付けているメンバプリンタの数を格納する部分である。メンバプリンタドライバ名807は、メンバプリンタのプリンタドライバ名を格納する部分である。このメンバプリンタドライバ名807は、前述のメンバプリンタ数806の数だけの格納エリアを持っている。
前述の図6で説明したジョブ制御プリントサービス622では、中間形式データより中間形式ファイルを生成する際、グループプリンタドライバ603のGUI上での設定を印刷指示部8aへ記憶する。さらに、グループプリンタドライバ603から受け取った中間形式データを、中間形式ファイルのドキュメントデータ部8bに記録する処理も、ジョブ制御プリントサービス622により実行される。
<印刷ジョブの流れ>
次に、図7で印刷ジョブの流れをさらに詳しく述べる。ここで、図6と同じ機能は同じ参照番号を付与しており、その機能については詳説しない。
図7中では、印刷ジョブ制御システム700は、制御プログラムが動作するプリントサーバ101とクライアント102〜104の物理的なマシンをまたいだ、印刷ジョブ制御システムの範囲を示している。また、プリントサーバ101が管理しているアウトプットポート(Output Port)711は、クライアントコンピュータ102〜104のジョブ制御プリントサービス622のプロキシアウトプットポート(Proxy Output Port)712とそれぞれ関連付けられ、ひとつのポートに関連づけられた各クライアント上のプロキシアウトプットポートの全てを統一的に管理している。本実施形態では、実際の印刷ジョブは各々のクライアントコンピュータ102,103,104のプリントキューを含むプロキシアウトプットポート712に保持される。
ジョブ制御サーバ630は、印刷データ自体の送信処理は行わず、ジョブ制御プリントサービス622に対して印刷ジョブの送信指示のみを行う。その指示に応じて、クライアントのジョブ制御プリントサービス622は印刷データをプリントデバイス105に送信する。
次に、印刷ジョブ制御システム700が、代行印刷といった付加価値印刷を行う場合の処理を説明する。
アプリケーション601がグループプリンタドライバ603に対応するグループプリンタに対して印刷指示を発行すると、ジョブ制御プリントサービス622は、グループプリンタドライバ603によって生成された中間形式をジョブ制御ポートモニタ621を介して受け取る。ジョブ制御プリントサービス622は、この中間形式データより中間形式ファイルを構築し(図7の汎用印刷ファイル715)、先に説明した印刷指示部8aの指示内容に従う印刷指示をデスプーラ(Despooler)701に対して行う。そしてデスプーラ701を介してPDLドライバが割り当てられた別のプリントデバイスに印刷指示を発行する。これにより、各PDLドライバにおいて、PDLファイルを実体とする印刷ジョブが生成される。このジョブをメンバジョブを称する。つまり、メンバジョブとは、分散印刷や同報印刷や代行印刷などの出力方法に対応するグループプリンタドライバを経て中間形式ファイルに基づき生成したジョブを指す。また、複数のメンバジョブを束ねたジョブをグループジョブと呼ぶこともある。
このとき、デスプーラ701は、ジョブ制御プリントサービス622の印刷指示部8aの解釈に基づく指示に応じて、ドキュメントデータ部8bのドキュメントデータを加工してGDIに変換し、ドライバ602に対して印刷指示を行い、印刷ジョブを発行する。例えば、印刷体裁指定部804に2−UPに相当する指示が記録されていた場合、用紙1枚に2ページ分のドキュメントデータを縮小レイアウトするようにDEVMODEを介してメンバプリンタに対して指示する。また、印刷体裁指定部804にステープル指示がある場合にはDEVMODEを介してステープルの指示を行う。また、代行印刷時には、印刷指示部8aに記述されている代行先メンバプリンタにジョブを発行する。なお、2−UP等の縮小レイアウトを処理する場合にデスプーラ自身が印刷体裁指定部804の内容に基づき縮小レイアウトするようにして、メンバプリンタにはDEVMODEを介して1−UPを指示するようにしても良い。
またデスプーラ701はメンバプリンタにジョブを発行する際、メンバプリンタドライバに対応する印刷指示として、メンバプリンタのDEVMODEを作成する必要があるが、このDEVMODEは印刷指示部8a或いは各メンバプリンタに対応して保存されたDEVMODEに記載された内容を適宜各メンバプリンタのDEVMODEに反映させて生成する。
クライアント102〜104側のジョブ制御プリントサービス622は、PDLドライバ602によってレンダリングされたそれぞれのメンバジョブの印刷データをジョブ制御ポートモニタ621を介して受け取り、受け取った印刷ジョブに関する印刷ジョブ情報をプリントサーバ101側に知らせ、印刷ジョブのデータは自身のプロキシアウトプットポート712で一時保持する。その後、ジョブ制御サーバ630からの送信指示を受けた後にプリントデバイス105に送信する。
なお、ここで、プロキシアウトプットポート712で一時保持される印刷ジョブのデータには、少なくとも印刷データと該印刷データの管理情報とが含まれる。この管理情報には、(A)印刷データの格納場所のポインタ、(B)ジョブID、(C)中間形式ファイルから作成されたメンバジョブか否かを識別するためのメンバジョブフラグ、(D)プリンタ名、(E)どのような種別及びバージョンのプリンタ言語に対応するドライバかを識別するためのプリンタドライバ名称、(F)ポート名(プロキシアウトプットポート識別子)、(G)プリンタデバイスを識別可能する際にも利用するIPアドレス、(H)ジョブ発行時刻、(I)ユーザ名、(J)PDLデータのファイル名、(K)ホストコンピュータ名、(L)両面やステープルなどを含む印刷設定が少なくとも含まれる。(A)〜(L)の各項目の情報は(1)管理情報に直接含めるようにしても良いし、(2)例えば、プリンタ名をパラメータに間接的に取得するようにしても良い。以下に説明する各フローチャートの各ステップにおいて、下の情報を取得する場合には、上記(1)、(2)の方法のいずれかで行っているものとする。
Figure 2006301860
<プリンタ間で移動可能な印刷ジョブ>
図12を用いて、印刷ジョブの種類と、それぞれの種類で移動可能なプリンタの種類との関係を示す。なお、論理プリンタがプリンタデバイスと1対1に対応している場合にはプリンタをプリンタデバイスと置き換えることもできる。
図7においてアプリケーション601からPDLドライバ602を持つプリンタに対して投入された印刷ジョブ(直接印刷ジョブ)の場合、移動前と同じ種類のドライバを持ったプリンタに移動可能である。直接印刷のジョブの移動においては、印刷ジョブ制御システム700は印刷ジョブの実体であるPDLファイルをプロキシアウトプットポート712間で移すことにより実現しているが、一つの機種用のPDLドライバによって生成されたPDLファイルはそれとは異なる機種のデバイスで印刷しても結果が保証されないからである。
印刷ジョブがメンバジョブの場合、PDLファイルを実体としていながらも、そのPDLファイルの元になった中間形式ファイル716に基づく印刷データの変換を、移動先デバイスに対応するPDLドライバ602に行わせ、メンバジョブを再生成することができるため、印刷ジョブの移動先としては、移動先がメンバプリンタのプリントキューであるか否かだけを考えればよく、機種(ドライバの種類)の制約がない。
さらに、メンバジョブの移動方法には2通りの処理方法がある。1つ目は、移動先と移動元とのプリンタが同じ種類のプリントデバイスに対応している場合であり、2つ目は移動先と移動元とのプリンタが異なる種類のプリントデバイスに対応している場合である。特に後者のほうは、異なる種類のプリントデバイスと対応しているアウトプットポート711やプロキシアウトプットポート712に関連付けられたプリンタ間の移動を可能とする。これは、図7における中間形式ファイル716から移動先のプリンタに割り当てられているPDLドライバ602を介して再度PDLデータ及びその管理情報を生成しなおしプリントキューに登録する処理に対応する。以降の説明においては、メンバジョブの移動に関して、同じ種類のプリンタが移動先となる場合には上記のいずれの方法でも良いものとする。
これらPDLファイルを実体とした2種類の印刷ジョブのいずれの場合も、グループプリンタドライバ603を持ったグループプリンタのプリントキューへの移動は行えないものとする。また、グループプリンタ用に生成されたグループジョブは他のいかなるプリントキューへも移動できないものとする。
さらに図12は、たとえ移動が可能であっても、印刷ジョブにおいて両面印刷などのオプション設定が指定されているとき、移動先のプリンタデバイスが当該設定を実行するための機能を備えているかどうかによって印刷結果が異なり得る組み合わせ(▲)を示している。このような場合には、警告等をユーザに識別可能に知らしめるようにすればよい。
<印刷ジョブの管理画面例>
図14は、印刷ジョブを管理するための画面の1例を示す図である。図14の画面には、印刷ジョブを象徴的に示す印刷ジョブ表示要素としてプリンタアイコンがリスト表示され、複数の印刷装置のプリントキューを象徴的に示すプリンタ表示要素として印刷ジョブアイコンがリスト表示されている。図15〜16についても同様であるが、ユーザはプリンタに障害が発生したタイミングや込み合っていることをこの表示画面中の「状態」を介して知ることが出来、任意のタイミングで所定のジョブを所定のプリンタに対して移動指示することができる。さらに、ジャム発生や消耗品切れ時などにおける代行印刷を行うようなタイミングに限定されることなく、ユーザに都合の良いタイミングで容易に印刷ジョブのプリンタ変更を指示することができる。ただし、印刷ジョブの状態によっては移動指示しても実際に移動が実行できないことがある。
図14において、1401はマウスカーソルの通常表示、1402はプリンタアイコンの通常表示、1403は印刷ジョブアイコンの通常表示、1404は印刷ジョブアイコンの選択状態表示を示す。このようなジョブリスト及びプリンタリストの表示は、例えば図6において説明したプリントマネージャ623により実現される。
なお、ここでプリンタリストに表示されるプリンタアイコンは、「プリントキュー」を示したものであり、各プリンタに対応するアイコン及びグループプリンタに対応するアイコンが含まれる。したがって、以下の説明中、GUI上で、プリンタA用に生成された印刷ジョブのアイコンをプリンタBのアイコン上に移動させることを、「印刷ジョブをプリンタAからプリンタBに移動する」と表現しているが、実際にジョブ制御プリントサービス622内部で行われる処理はそれとは異なっている。以下に印刷ジョブの移動を実現するための処理についてより具体的に説明する。
本発明で意味するところの印刷ジョブの移動とは、1つの実装形態としては印刷ジョブに係るPDLデータおよびその表1の管理情報のうち、管理情報を操作することにより、新たな印刷ジョブとして別のアウトプットポート711ないしはプロキシアウトプットポート712の管理下に置き換えることを指す。この場合、PDLデータおよびその管理情報の実体を保持する領域は変更する必要はない。したがって、印刷キューはあくまで仮想的な概念であって、実体として個々に区別できる形では存在しない。
これに代わる実装形態として、PDLデータおよびその管理情報の実体を保持する領域を個々のアウトプットポート711ないしはプロキシアウトプットポート712ごとに独立して設け、印刷ジョブの移動時には管理情報を文字通り移動するという方法がある。この場合、印刷キューとは各アウトプットポート711ないしはプロキシアウトプットポート712ごとのPDLデータおよびその管理情報の実体を保持する領域と管理情報を組み合わせたものに相当する。
ただ、いずれの方法においても、印刷キューというものがアウトプットポート711ないしはプロキシアウトプットポート712の一側面を表すものとして捉えることができ、さらに、当該アウトプットポート711ないしはプロキシアウトプットポート712が関連付けられたプリンタとの関係においても同様のことが言える。
以降の説明においては印刷ジョブの移動の実装は上記のいずれでもよいものと考え、二者間の差異は捨象することとする。
なお、上記二種類の実装方法は、同一機種のプリントデバイスに対応しているアウトプットポート711ないしはプロキシアウトプットポート712に関連付けられたプリンタ間の移動の場合に限られる。これは、プリントデバイスに送られるPDLデータおよび制御情報は機種に依存するからである。
<表示を制御するモジュールの構成>
図9は、図14に示す画面に対するユーザの操作を取得し、その操作を画面に反映させるための表示制御用モジュールの構成を示す図である。
マウス操作情報取得部901はユーザによるマウスの移動やボタン押下といった操作の情報(以後、マウスイベント情報と総称する)をOS902に伝える。このマウス操作情報取得部901は一般的にはOSが司る機能であるが、独自に設けるようにしても良い。
プリントマネージャ900中のマウスイベント処理部904はOS902からマウスイベント情報(マウスの位置座標や、マウスが重なっているウィンドウのハンドルを含む)を受け取り、プリンタリスト表示制御部905または印刷ジョブリスト表示制御部906にイベント情報を伝える。
プリンタリスト表示制御部905および印刷ジョブリスト表示制御部906は、受け取ったマウスイベント情報に応じて画面上のプリンタのリスト表示、印刷ジョブのリスト表示を各々更新するようOS902に指示する。
ドラッグ・アンド・ドロップ制御部907はプリンタリスト表示制御部905または印刷ジョブリスト表示制御部906からドラッグされているジョブやマウスカーソルが重なっているプリンタアイコンに関する情報を受け取り、プリンタリストが表示すべきプリンタアイコンの態様を決定してプリンタリスト表示制御部905に伝える。さらに表示すべきマウスカーソルの形状をマウスカーソル表示制御部903に指示し、それを受けてマウスカーソル表示制御部903は画面に表示されたマウスカーソルの形状を変更するようOS902に指示する。
プリンタリスト表示制御部905はプリンタ情報取得部908を介してジョブ制御プリントサービス622から取得したプリントデバイスに関する情報と、ドラッグ・アンド・ドロップ制御部907から伝えられた情報に基づいてプリンタリストにプリンタアイコンを表示する。
印刷ジョブリスト表示制御部906は印刷ジョブ情報取得部909を介してジョブ制御プリントサービス622から取得した印刷ジョブに関する情報と、ドラッグ・アンド・ドロップ制御部907から伝えられた情報にもとづいて印刷ジョブリストに各印刷ジョブのアイコンを表示する。
なお、以下に示す図10、図11における各フローチャートの各ステップの説明では、図9のいずれかのブロックを対応付けて説明するが、図9における各ブロックの機能の分担は一例であり、例えば、あるブロック一部或いは全部の機能を他のブロックに設けるようにしてもよく、機能の分担については特に限定されるものではない。
<印刷ジョブの移動表示処理>
次に、図10を参照して印刷ジョブを移動する際の表示処理の詳細を説明する。図10は選択した印刷ジョブの移動を指示する一連の操作に関する処理の流れを示すフローチャートである。
ユーザが、印刷ジョブリストから印刷ジョブをポイント・アンド・クリックによって選択すると、ステップ1001では、それに応じて、当該各印刷ジョブのアイコンをハイライト表示する。ここで、選択された印刷ジョブに対してどのようなオペレーションをユーザが行おうとしているかはまだ判断できない。すなわち、移動のためにドラッグする可能性もあるし、マウスボタンをリリースしてから停止あるいは削除のメニューを選択するなど別のオペレーションを行う可能性もある。したがってこの時点では印刷ジョブのアイコンは単にハイライト表示のみ行う。ここで、複数の印刷ジョブを選択することも可能であり、以下では複数の印刷ジョブが選択されたものとして説明を進める。複数の印刷ジョブを選択するには、コンピュータのユーザインタフェースで広く慣習となっているようにシフトキーやコントロールキーをマウス操作と併用することによるものとする。
この処理を行うに当たり、マウス操作情報取得部901は、ユーザの操作を検出し、OS902、マウスイベント処理部904を介して印刷ジョブリスト表示制御部906に伝える。印刷ジョブリスト表示制御部906はマウスクリックが発生した場所から選択された印刷ジョブを割り出して印刷ジョブのハイライト表示を行う。
次に、ステップ1002では、選択された印刷ジョブの移動指示即ちドラッグが開始されたか否かを判定する。つまり、ユーザがマウスのドラッグ操作を行ったかどうかを判定する。具体的には、ステップ1001でハイライト表示された印刷ジョブをユーザがドラッグすると、マウス操作情報取得部901において検出されたユーザのマウス操作情報をOS902を介してドラッグ開始イベントとしてマウスイベント処理部904が受け取ったかどうかで判定する。
ステップ1002でYESと判定された場合には次にステップ1003ではドラッグされた印刷ジョブの属性の取得が行なわれる。さらに詳細には、ステップ1002でYESと判定されたことを契機に印刷ジョブリスト表示制御部906が印刷ジョブ情報取得部909にステップ1001で選択された印刷ジョブの詳細情報(属性)を取得させ、取得された情報がクリップボードに保持される。なおドラッグ開始イベントはユーザがボタンを押下したままマウスの移動を開始したことを示すイベントである。
ここで、ステップ1003で取得される情報としては、表1に示されるものとなる。また別の形態として、ステップ1003においては表1の(A)のジョブIDのようなキー情報を取得しておき、後述するステップ1103の処理において必要に応じて、キー情報に基づき表1の(B)〜(L)の中の必要な情報を取得するようにしても良い。
なお上で言うイベントとは、一般にユーザによるキーボードおよびマウス入力を始めとした外部的な要因によって発生し、アプリケーションに通知される種々の事象をいう。ただし、イベントはアプリケーションのコンテキストに基づいたものではないので、アプリケーション側でイベント情報を解析してその意味を解釈する必要がある。例えば上のドラッグ開始イベントの場合、それがどのジョブアイコンについて発生したかを知る手段はOS902により提供されるが、それがどの印刷ジョブに対応するかの判断はアプリケーションであるプリントマネージャ900に委ねられる。
ユーザがマウスのドラッグ操作を行ったと判定すると、さらに、ステップ1004において、マウスカーソルおよびプリンタリスト上のプリンタアイコンの表示を更新する。このタイミングでマウスカーソルの形状を変更するのは、ステップ1001でユーザが印刷ジョブアイコンをクリックした後ドラッグを開始することにより、初めてユーザがこの印刷ジョブの移動を行おうとしていると判断できるためである。この処理の詳細については図11を用いて後述する。
この処理ではマウス操作情報取得部901において検出されたユーザのマウス操作情報がOS902を介してドラッグイベント、ドラッグオーバーイベントのいずれかとしてマウスイベント処理部904に伝えられたことにより、ユーザがドラッグしたと判断される。なおドラッグイベントはユーザがドラッグ操作を行ったことを示し、ドラッグオーバーイベントはドラッグ中にカーソルがプリンタアイコンのリスト上のひとつのアイテム上に重なったことを示す。ドラッグ開始イベントと同様、ドラッグオーバーイベントに関しても、マウスカーソルがどのプリンタアイコン上に重ねられたかを知る手段はOS902により提供されるが、それがどのプリントデバイスに対応するかの判断はプリントマネージャ900側で行う必要がある。
ステップ1005ではユーザがマウスボタンの押下を止めて印刷ジョブの選択を解除(ドロップ操作)したかどうかを判定する。これはマウス操作情報取得部901において検出されたユーザのマウス操作情報を、OS902を介してドロップイベントとしてマウスイベント処理部904が受け取ったときに真と判定する。あるいはボタンイベントとしてマウスイベント処理部904に伝達され、ボタン押下を止めたことが検出された場合でも真と判断する。真と判断された場合はステップ1006に進む。
ステップ1006では、ステップ1005においてユーザがマウスボタンの押下を止めて印刷ジョブの選択を解除したと判定した場合、続いてマウスカーソルがプリンタリスト上のプリンタアイコンの一つに重ねられているかどうかを判定する。この処理はステップ1002においてドラッグオーバーイベントが伝達された場合に限り、さらに以下のように判定する。すなわち、ドラッグオーバーイベントがマウスイベント処理部904を介してプリンタリスト表示制御部905に伝達され、プリンタリスト表示制御部905が前記イベントに含まれる座標情報からどのプリンタのアイコンに重なったかを割り出す。判定結果はドラッグ・アンド・ドロップ制御部907に伝えられる。
ステップ1006においてマウスカーソルがプリンタリスト上のプリンタアイコンの一つに重ねられていると判定された場合は、選択された複数の印刷ジョブをプリンタアイコンで表されたプリントキューに移動するようにユーザが指示した場合に相当するので実際にその印刷ジョブの移動処理を行う。まずステップ1009で、ドラッグされている複数の印刷ジョブのおのおのを実際にそのプリンタアイコンで表されたプリントキューに移動することができるかどうかを調べる。これは、後述するようにステップ1004において選択されている印刷ジョブのおのおのについてマウスカーソルが重ねられているアイコンによって示されるプリントキューに移動可能かを調べるので、その情報を内部的な管理テーブルに保持しておき、参照すればよい。保持された情報は参照された後に破棄される。
ステップ1010においてドラッグ・アンド・ドロップ制御部907は、選択されている各印刷ジョブについて移動(再登録)の指示をジョブ制御プリントサービス622に対して出す。ここで、移動可能な印刷ジョブに対しても不可能な印刷ジョブに対しても画一的に移動の指示を出すが、移動不可能な印刷ジョブについてはエラーが返るので無視する。この後ステップ1007に進む。
ここで、ステップ1010においてジョブ制御プリントサービス622の内部で行われる印刷ジョブの移動処理について述べる。移動すべき印刷ジョブが、図7においてアプリケーション601からPDLドライバ602を持つプリンタに発行する形の印刷ジョブの場合、プロキシアウトプットポート712Aからプロキシアウトプットポート712Bに印刷ジョブを直接移す。この場合、前述のようにプロキシアウトプットポート712Aが関連付けられているプリンタのドライバ602Aとプロキシアウトプットポート712Bが関連付けられているプリンタのドライバ602Bは同一種類のドライバでなければならない。一方、移動すべき印刷ジョブが、図7において中間形式ファイル716を経てデスプーラ701によりPDLドライバ602Aに送信され、生成されたメンバジョブである場合、移動指示を受けると、再度中間形式ファイル716からデスプーラ701を経てPDLドライバ602Bに送信される。
また、ジョブ制御プリントサービス622は、PDLドライバ602を用いて生成された印刷ジョブのデータを、ジョブ制御ポートモニタ621から受け取り、プリントデバイス105で印刷ジョブに基づく印刷出力(排紙完了)が確認されるまで、保持続ける。印刷ジョブの移動処理は印刷ジョブが保持続けられる間に可能であり、印刷ジョブのデータがプリントデバイス105に転送された後でも、ユーザによる任意のタイミングでの移動指示に応じて、ジョブ制御プリントサービス622に保持される印刷ジョブのデータに基づきジョブの移動が行なわれる。図14〜16、18のユーザインタフェースを介して行なわれる移動指示は、印刷ジョブが保持続けられる間に行われるものとする。
さらに、ジョブ制御プリントサービス622が保持し、移動処理時に用いる印刷ジョブのデータは、ジョブ制御プリントサービス622がソフトウェアによるラスタイメージプロセッサ(以後ソフトウェアRIPと呼ぶ)が知られているが、ソフトウェアRIP後のデータをプリントデバイスに依存しない形式のデータとすれば、このソフトウェアRIP後のデータの印刷ジョブを移動させる場合には、中間形式ファイルの場合と同様に機種を跨いだプリンタを移動可能なプリンタとしてアイコン表示させることができる。
ステップ1007では、プリンタアイコン、印刷ジョブアイコンを通常表示する。この処理はマウスイベント処理部904からユーザの操作情報を受け取ったプリンタリスト表示制御部905、印刷ジョブリスト表示制御部906がドラッグ・アンド・ドロップ制御部907の指示に応じてそれぞれ行う。マウスカーソルについてはドラッグ・アンド・ドロップ制御部907からの指示に応じてマウスカーソル表示制御部903がOS902に指示を出して行う。
一方、ステップ1006でNOと判断された場合には、ステップ1008に進む。ステップ1008では、マウスカーソルとプリンタアイコンを通常表示する。これはユーザが印刷ジョブのアイコンをプリンタアイコンに重ねずにドラッグを中止した場合に相当する。結果として印刷ジョブの移動処理は行われず、印刷ジョブが選択状態(白黒反転表示)になる。この処理はマウスイベント処理部904からユーザの操作情報を受け取ったプリンタリスト表示制御部905がドラッグ・アンド・ドロップ制御部907の指示に応じてそれぞれ行う。マウスカーソルについてはドラッグ・アンド・ドロップ制御部907からの指示に応じてマウスカーソル表示制御部903がOS902に指示を出して行う。
また、ステップ1002でNOと判断された場合、つまり、ユーザが印刷ジョブアイコンを選択したものの、ドラッグをしない場合にはステップ1011に進み、ドロップしたか否か判定する。これでドロップしていなければ、ステップ1002に戻り、さらにドラッグしたか否かを監視する。これらのステップ1002とステップ1011とを繰り返して、クリックされた印刷ジョブアイコンのドラッグまたはドロップを監視する。クリックされた印刷ジョブアイコンがドラッグされないままドロップされると、ステップ1011からステップ1008に進み、マウスカーソルとプリンタアイコンを通常どおり表示して処理を終了する。
<プリンタアイコン及びマウスカーソルの表示制御>
図11は図10のフローチャートにおけるステップ1004の詳細を示す図である。これはユーザの、任意のタイミングの指示入力により選択された所定の印刷ジョブ表示要素に対応する複数の印刷ジョブの属性と、プリンタ表示要素に関連付けられたプリンタの属性とに基づき、選択された印刷ジョブ表示要素に対応する印刷ジョブを出力不可能なプリンタのプリンタ表示要素と、前記印刷ジョブを出力可能なプリンタのプリンタ表示要素と、を識別可能に表示させる処理を表す。さらに、図12に示したように、出力可能であってもユーザが印刷を開始する際に行った印刷設定が満たされない場合があり得るので、それをユーザが識別可能なように表示させる処理も併せて行う。
ステップ1101はマウスカーソルがプリンタリスト中のプリンタアイコンに重なっているかどうかを判定する。これはマウスのドラッグ操作の情報がマウス操作情報取得部901、OS902、マウスイベント処理部904を経てプリンタリスト表示制御部905、印刷ジョブリスト表示制御部906に伝えられるため、最後のイベントがドラッグオーバーイベントであったかどうかによりプリンタリスト表示制御部905で検出することができる。プリンタリスト表示制御部905は、マウスカーソルが重なっているプリンタアイコンに対応するプリントデバイスの情報を、プリンタ情報取得部908を介してジョブ制御プリントサービス622から取得する。
ステップ1101の判定の結果、重なっていないと判定した場合はステップ1105に進み、マウスカーソルを進入禁止マーク付き表示する。重なっていると判定した場合はステップ1102に進む。図17に、マウスカーソルの進入禁止マーク付き表示の様子を示す。
ステップ1102ではまずマウスカーソルが重なっているプリンタの装備情報を取得する。これはその都度ジョブ制御プリントサービス622に問い合わせても良いが、プリントマネージャ900側でキャッシュしておいたものを参照するようにした方がレスポンス性の点で優れている。
ステップ1103ではドラッグされている複数の印刷ジョブそれぞれの種類とプリンタの種類とを比較する。さらに、各印刷ジョブが持つオプション設定情報を調べ、ステップ1102で取得したプリンタの装備情報とを比較する。これらをもとに、マウスカーソルが重なっているプリンタアイコンの付加表示レベルを図13に示した規則に応じて決定する。
ステップ1104では、ステップ1103の決定に応じてプリンタアイコン表示を更新する。続いてステップ1105ではステータスバーの表示を更新する。表示内容については図13に示す。具体的には以下のようなメッセージを表示する。
(1)[通常] 表示の場合:
選択されている印刷ジョブを移動できます。
(2)[情報] 表示の場合:
無効な印刷設定:“<印刷設定1>”、“<印刷設定2>”、…
(3)[禁止] 表示の場合:
選択された印刷ジョブは、“<プリンタ名>”に移動できません。
(4)[警告] 表示の場合:
移動できないジョブ:“<ドキュメント名1>”、“<ドキュメント名2>”、…
次に図15、図16を用いて複数の印刷ジョブをドラッグ・アンド・ドロップによって他のプリンタに移動する際にユーザインタフェース上でどのような表示が行われるかについて図解説明する。
図15の例ではプリンタBとプリンタDという二つのプリンタに対して発行された二つのジョブが選択、ドラッグされている。ここで、プリンタBに対応するプリントデバイスはステープル機能を持ち、プリンタD、プリンタEに対応するプリントデバイスはいずれも持たないものとし、印刷ジョブ“報告書.doc”はステープル指定がされ、印刷ジョブ“2004予算.xls”はステープル指定されていないものとする。これらの印刷ジョブをプリンタEのアイコンの上にドラッグしたとき、上述の規則によればプリンタEのアイコンには情報マークが付されることになる。その理由は、
“報告書.doc”については、同一ドライバの別プリンタなので移動可能。ただしステープル指示の設定が無視される;
“2004予算.xls”については、同一ドライバの別プリンタなので移動可能である;
ということから、いずれの印刷ジョブもプリンタEに移動して印刷可能であるが、“報告書.doc”が印刷ジョブの持つステープル指示の設定が無視されることになるためである。
さらにこの時、ステータスバーにはプリンタEではステープル指示の設定が無視される旨の表示がなされる。
次に図16の例では、プリンタDとプリンタFという二つのプリンタに対して発行された二つのジョブが選択、ドラッグされている。ここで、プリンタBに対応するプリントデバイスはモノクロプリンタ、プリンタFに対応するプリントデバイスはカラープリンタとする。これらの印刷ジョブをプリンタDの上にドラッグしたとき、上述の規則によればプリンタDのアイコンには警告マークが付されることになる。その理由は、
“2004予算.xls”については元と同じプリンタなので移動不可である;
“計画書.doc”についてはジョブの種類が“自動代行”であることからメンバジョブなので異なる機種であっても移動可能、ただし、モノクロ印刷になる;
ということから、一部の印刷ジョブがプリンタFでは印刷不可能であるためである。
さらにこの時、ステータスバーには“2004予算.xls”がプリンタDには移動できない旨の表示がなされる。
ここでステータスバーに表示されるメッセージについて補足しておく。
図16の例のように、同時に複数の「警告」または「情報」の要因となる事象が発生することがある。そのような場合、ステータスバーの表示領域の制約により、全てを表示することが難しい。そこで下記の優先順位に従って優先順位の最も高い事象のみについてステータスバーにメッセージを表示する(ただし、これらの優先順位およびレベルは初期化ファイルを編集することで変更が可能であるとする。また、検出できる「警告」、「情報」の種類が追加されればそれに対応して下記表にもエントリが追加されることになる。)。
[第二実施形態]
第一実施形態では、ユーザが選択した印刷ジョブのドラッグを行い、プリンタアイコンの上にマウスカーソルを重ねている間だけ、そのプリンタへ選択された印刷ジョブを移動できるかどうか等の情報をプリンタアイコンの表示を変化させることで示す。これに対して、もう一つの実施形態として以下のものが考えられる。すなわち、ユーザがドラッグを開始した時点で、選択されている印刷ジョブが移動可能かどうか等をプリンタリスト上の全てのプリンタについてアイコンの表示を変化させて示すというものである。図18にその時の表示様子を示す。
処理の内容としては第一実施形態で図11により示されていた手順を図19により示される手順に変更する。具体的には、ユーザがマウスをドラッグ中、マウスカーソルがプリンタアイコンに重なっていない状態でプリンタリスト上の各プリンタにつき選択されている印刷ジョブの移動が可能かどうか等を判断してプリンタアイコンの表示に反映させる(ステップ1904からステップ1908のループがこの処理に対応する)。ただし、ドラッグイベントが検出されるたびにこの処理を行っていたのでは処理が冗長となり、表示も緩慢になる可能性がある。そこで、ドラッグ開始時にいったん各プリンタアイコンの表示変更処理を行った後は、ユーザがドロップを行うまでは再度変更することはしないこととする(ステップ1903でそのためのチェックを行っている)。しかしながら、前記変更処理により、マウスカーソルがプリンタリスト上のプリンタアイコンに重ねられた時点では、すでにアイコンの表示は前記ループの中で変更されていることになるので、第一実施形態の図11で示されるステップ1102からステップ1104までの変更処理を行う必要がない。したがって、マウスカーソルの表示を通常ドラッグ中の表示に変更するだけでよい(ステップ1902)。
第二実施形態の方法によれば、図18に示したように、ユーザがジョブのドラッグを開始した直後から、選択したジョブが移動可能かどうか等に応じてプリンタリスト上のプリンタアイコンの表示が変化する。それにより、ユーザは印刷ジョブの適当な移動先を探すのに試行錯誤を繰り返す頻度を低減する効果がある。ただし、プリントマネージャが印刷ジョブのドラッグ開始時に処理すべき量がプリンタリスト上のプリンタの数にほぼ比例して増えるため、プリンタの数が非常に多い場合にはドラッグ操作の開始がスムーズに行われないという欠点が生じ得る。
印刷処理システムの構成を説明する図である。 コンピュータの構成を説明するブロック図である。 図2に示したRAM202のメモリマップの一例を示す図である。 図2に示したFD204のメモリマップの一例を示す図である。 図2に示したFDドライブ203に対して挿入されるFD204との関係を示す図である。 本システムのクライアントサーバモデルにおいて、一般的なアプリケーションから発行された描画コマンドを含む印刷ジョブが、印刷ジョブ制御システムにおいてどのように処理されるかを示した図である。 Windows(登録商標)が提供するプリントシステムと印刷ジョブ制御システムとにおける印刷ジョブの関係と処理概要を示した図である。 構築された中間形式ファイルの構成の一例を示した図である。 印刷ジョブ制御システムのモジュール構成を示すブロック図である。 本発明の第1実施形態におけるドラッグ・アンド・ドロップ操作による印刷ジョブ移動の全体処理を示すフローチャートである。 本発明の第1実施形態におけるマウスカーソルとプリンタアイコンの表示処理の詳細を示すフローチャートである。 本発明の第1実施形態に係る印刷ジョブ制御システムにおける印刷ジョブの種類とその移動可能なプリンタの種類との組み合わせを示す表である。 本発明の第1実施形態に係る印刷ジョブ制御システムにおける印刷ジョブの移動可能性の組み合わせによるプリンタアイコンの付加表示レベル、ステータスバーにおける表示の内容を示す表である。 本発明の第1実施形態におけるマウスカーソルの通常表示、プリンタアイコンの通常表示、印刷ジョブの選択状態表示および非選択状態表示の様子を示す図である。 本発明の第1実施形態における、複数の印刷ジョブをプリンタアイコンへドラッグした際に情報表示が行われた様子を示す図である。 本発明の第1実施形態における、複数の印刷ジョブをプリンタアイコンへドラッグした際に警告表示が行われた様子を示す図である。 本発明の第1実施形態における、警告表示または情報表示を行うべき事象が複数発生した際の表示の優先順位を表で示す図である。 本発明の第2実施形態における、複数の印刷ジョブのドラッグを開始した際に情報表示が行われた様子を示す図である。 本発明の第2実施形態におけるマウスカーソルとプリンタアイコンの表示処理の詳細を示すフローチャートである。
符号の説明
101 サーバコンピュータ、プリントサーバ
102、103、104 クライアントコンピュータ
105 ネットワークプリンタ、プリントデバイス
106 ネットワーク

Claims (14)

  1. 入力装置、表示装置と通信可能な情報処理装置であって、
    印刷ジョブを象徴的に示す印刷ジョブ表示要素と、複数の論理プリンタ又は物理プリンタのプリントキューを象徴的に示すプリンタ表示要素とを、前記表示装置の画面上に表示させる表示制御手段と、
    前記入力装置からの前記印刷ジョブ表示要素を選択する選択指示入力により選択された一または複数の前記印刷ジョブ表示要素の個々に対応する印刷ジョブの属性を取得する第1取得手段と、
    前記プリンタ表示要素が示す論理プリンタ又は物理プリンタの属性を取得する第2取得手段と、
    を有し、
    前記表示制御手段は、
    前記第1取得手段により取得された前記一または複数の印刷ジョブの属性と、前記第2取得手段により取得された論理プリンタ又は物理プリンタの属性とに基づき、前記選択された一または複数の印刷ジョブ表示要素に対応する一または複数の印刷ジョブのいずれも出力不可能な論理プリンタ又は物理プリンタのプリンタ表示要素と、前記一または複数の印刷ジョブの一部のみ出力不可能な論理プリンタ又は物理プリンタのプリンタ表示要素と、前記一または複数の印刷ジョブの全てを出力可能な論理プリンタ又は物理プリンタのプリンタ表示要素とを相互に識別可能に表示させることを特徴とする情報処理装置。
  2. 前記印刷ジョブが中間形式ファイルから作成されたものであれば、前記中間形式ファイルを用いて印刷ジョブを生成できるプリンタドライバに対応した論理プリンタ又は物理プリンタのプリンタ表示要素を、前記印刷ジョブを出力可能な論理プリンタ又は物理プリンタのプリンタ表示要素として表示させ、
    前記印刷ジョブが中間形式ファイルを用いずに作成されたものであれば、前記印刷ジョブを生成したプリンタドライバと互換性のあるプリンタドライバに対応した論理プリンタ又は物理プリンタのプリンタ表示要素を、前記印刷ジョブを出力可能な論理プリンタ又は物理プリンタのプリンタ表示要素として表示させることを特徴とする請求項1に記載の情報処理装置。
  3. 前記表示制御手段は、
    前記入力装置から前記印刷ジョブ表示要素の移動指示を入力された場合に、前記選択された一または複数の印刷ジョブ表示要素に対応する一または複数の印刷ジョブのいずれも出力不可能な論理プリンタ又は物理プリンタのプリンタ表示要素と、前記一または複数の印刷ジョブの一部のみ出力不可能な論理プリンタ又は物理プリンタのプリンタ表示要素と、前記一または複数の印刷ジョブの全てが出力可能な論理プリンタ又は物理プリンタのプリンタ表示要素とを相互に識別可能に表示させることを特徴とする情報処理装置。
  4. 前記表示制御手段は、
    前記印刷ジョブ表示要素を、前記選択された一または複数の印刷ジョブ表示要素に対応する一または複数の印刷ジョブのうち一つでも出力可能な論理プリンタ又は物理プリンタのプリンタ表示要素上に移動する移動指示を、前記入力装置から入力した場合に、前記印刷ジョブ表示要素に対応する一または複数の印刷ジョブを、移動対象となった前記プリンタ表示要素に対応するプリントキューに登録するよう指示することを特徴とする請求項1から3のいずれかに記載の情報処理装置。
  5. 前記印刷ジョブ表示要素は、印刷ジョブを表わす印刷ジョブアイコンであり、前記プリンタ表示要素は、プリントキューを表わすプリンタアイコンであり、
    前記表示制御手段は、一または複数の前記印刷ジョブアイコンがドラッグされた場合に、前記一または複数の選択された印刷ジョブアイコンに対応する一または複数の印刷ジョブのうち少なくとも一つを出力不可能な論理プリンタ又は物理プリンタのプリンタアイコンの表示形態を変更させることを特徴とする請求項1に記載の情報処理装置。
  6. 前記印刷ジョブ表示要素は、印刷ジョブを表わす印刷ジョブアイコンであり、前記プリンタ表示要素は、プリントキューを表わすプリンタアイコンであり、
    前記表示制御手段は、一または複数の前記印刷ジョブアイコンがドラッグされた状態で、前記一または複数の印刷ジョブアイコンに対応する一または複数の印刷ジョブのうち少なくとも一つを出力不可能なプリンタのプリンタアイコン上に移動された場合に、警告を表示させることを特徴とする請求項1に記載の情報処理装置。
  7. 前記第1取得手段は、前記入力装置から前記一または複数の印刷ジョブ表示要素の移動指示を入力した場合に、該一または複数の印刷ジョブ表示要素に対応する一または複数の印刷ジョブの属性の取得を行うことを特徴とする請求項1に記載の情報処理装置。
  8. 前記第2取得手段は、前記入力装置から前記一または複数の印刷ジョブ表示要素の移動指示を入力した場合に、前記プリンタ表示要素が示す印刷装置の属性を取得することを特徴とする請求項1に記載の情報処理装置。
  9. 前記表示制御手段は、前記第1取得手段により取得された一または複数の印刷ジョブの属性と前記第2取得手段により取得された論理プリンタ又は物理プリンタの属性とに基づき、前記選択された印刷ジョブ表示要素に対応する一または複数の印刷ジョブのうち少なくとも一つの印刷ジョブの属性を一部満たなさいことを示す警告表示を行わせることを特徴とする請求項1から8のいずれかに記載の情報処理装置。
  10. 前記第1及び第2取得手段により取得された印刷ジョブの属性及び前記論理プリンタ又は物理プリンタの属性には、プリンタドライバ名が含まれることを特徴とする請求項1から9のいずれかに記載の情報処理装置。
  11. 前記表示制御手段は、前記第1取得手段により取得された印刷ジョブに関連付けられた論理プリンタと同じ物理プリンタに対応する複数の論理プリンタを、各々の論理プリンタに関連付けられた物理プリンタ識別情報に基づき特定し、該特定された各々の論理プリンタのプリンタ表示要素を出力不可能として表示するようにすることを特徴とする請求項1から10のいずれかに記載の情報処理装置。
  12. 前記第1取得手段は、ネットワークを介して通信可能な他のコンピュータに保持された印刷ジョブの属性を取得し、前記表示制御手段は前記他のコンピュータに保持された一または複数の印刷ジョブの属性と、前記第2取得手段により取得された論理プリンタ又は物理プリンタの属性とに基づき、選択された一または複数の印刷ジョブ表示要素に対応する印刷ジョブのいずれもが出力不可能な論理プリンタ又は物理プリンタのプリンタ表示要素と、前記一または複数の印刷ジョブの一部のみ出力不可能な論理プリンタ又は物理プリンタのプリンタ表示要素と、前記一または複数の印刷ジョブの全てを出力可能な論理プリンタ又は物理プリンタのプリンタ表示要素とを相互に識別可能に表示させることを特徴とする請求項1から11のいずれかに記載の情報処理装置。
  13. 印刷ジョブの印刷ジョブ表示要素と複数の論理プリンタ又は物理プリンタのプリンタ表示要素とを画面上に表示可能な情報処理装置であって、
    選択指示入力により選択された一または複数の所定の印刷ジョブ表示要素に対応する一または複数の印刷ジョブの属性と、前記プリンタ表示要素に関連付けられた論理プリンタ又は物理プリンタの属性とに基づき、前記選択された印刷ジョブ表示要素に対応する一または複数の印刷ジョブのいずれもが出力不可能な論理プリンタ又は物理プリンタのプリンタ表示要素と、前記選択された印刷ジョブ表示要素に対応する一または複数の印刷ジョブの一部のみ出力不可能な論理プリンタ又は物理プリンタのプリンタ表示要素と、前記一または複数の印刷ジョブの全てを出力可能な論理プリンタ又は物理プリンタのプリンタ表示要素とを相互に識別可能に表示させる表示制御手段と、
    前記選択された一または複数の前記印刷ジョブの表示要素のうち、所定の出力可能なプリンタのプリンタ表示要素への、ドロップ操作に応じて、前記選択された一または複数の印刷ジョブを前記所定の出力可能なプリンタのキューに移動指示する移動手段と、を有することを特徴とする情報処理装置。
  14. 前記移動は印刷ジョブのプリントキューへの関連付けを変更して再登録する処理であることを特徴とする請求項1から13のいずれかに記載の情報処理装置。
JP2005121132A 2005-04-19 2005-04-19 情報処理装置 Withdrawn JP2006301860A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005121132A JP2006301860A (ja) 2005-04-19 2005-04-19 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005121132A JP2006301860A (ja) 2005-04-19 2005-04-19 情報処理装置

Publications (1)

Publication Number Publication Date
JP2006301860A true JP2006301860A (ja) 2006-11-02

Family

ID=37470089

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005121132A Withdrawn JP2006301860A (ja) 2005-04-19 2005-04-19 情報処理装置

Country Status (1)

Country Link
JP (1) JP2006301860A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007272902A (ja) * 2006-03-31 2007-10-18 Konica Minolta Systems Lab Inc 仮想キューを用いた印刷ジョブ管理方法および装置
KR20140102240A (ko) * 2011-12-08 2014-08-21 메이커보트 인더스트리즈, 엘엘씨 네트워크 연결된 3차원 인쇄
JP2015141564A (ja) * 2014-01-29 2015-08-03 コニカミノルタ株式会社 印刷制御装置及び印刷制御プログラム
EP3312709A1 (en) * 2016-10-21 2018-04-25 Fuji Xerox Co., Ltd Printing managing apparatus and program
JP2018067260A (ja) * 2016-10-21 2018-04-26 富士ゼロックス株式会社 印刷管理装置及びプログラム
US10114591B2 (en) 2010-08-18 2018-10-30 Makerbot Industries, Llc Networked three-dimensional printing system with a drag-and-drop interface for queue management

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007272902A (ja) * 2006-03-31 2007-10-18 Konica Minolta Systems Lab Inc 仮想キューを用いた印刷ジョブ管理方法および装置
US8488144B2 (en) 2006-03-31 2013-07-16 Konica Minolta Laboratory U.S.A., Inc. Print job management method and apparatus using virtual queues for handling print jobs using pre-defined job parameters
US10114591B2 (en) 2010-08-18 2018-10-30 Makerbot Industries, Llc Networked three-dimensional printing system with a drag-and-drop interface for queue management
US10908849B2 (en) 2010-08-18 2021-02-02 Makerbot Industries, Llc Networked three-dimensional printing
KR20140102240A (ko) * 2011-12-08 2014-08-21 메이커보트 인더스트리즈, 엘엘씨 네트워크 연결된 3차원 인쇄
JP2015507250A (ja) * 2011-12-08 2015-03-05 メーカーボット インダストリーズ エルエルシー ネットワーク化された3次元印刷
KR102157637B1 (ko) * 2011-12-08 2020-09-21 메이커보트 인더스트리즈, 엘엘씨 네트워크 연결된 3차원 인쇄
JP2015141564A (ja) * 2014-01-29 2015-08-03 コニカミノルタ株式会社 印刷制御装置及び印刷制御プログラム
EP3312709A1 (en) * 2016-10-21 2018-04-25 Fuji Xerox Co., Ltd Printing managing apparatus and program
JP2018067260A (ja) * 2016-10-21 2018-04-26 富士ゼロックス株式会社 印刷管理装置及びプログラム
US10089048B2 (en) 2016-10-21 2018-10-02 Fuji Xerox Co., Ltd. Printing managing apparatus and computer readable medium storing printing managing program for controlling display order of printers

Similar Documents

Publication Publication Date Title
JP3793197B2 (ja) 情報処理装置、情報処理方法、情報処理プログラム並びに記憶媒体
JP3944133B2 (ja) 情報処理装置及び情報処理方法及びプログラム並びにコンピュータ読み取り可能な記憶媒体
US7312886B2 (en) Printer control method, information processing apparatus, program, and storage medium
JP3634784B2 (ja) 情報処理方法及び印刷制御装置
US7256909B2 (en) Proxy print processing apparatus, proxy print processing method, program, and memory medium
US7372590B2 (en) Printing method, printing apparatus, printing program executable by information processing apparatus, and computer-readable storage medium storing program
JP3639821B2 (ja) 印刷制御方法及び印刷制御装置及び情報処理装置が実行可能な印刷制御プログラム並びにコンピュータが読み出し可能なプログラムを格納した記憶媒体
US20070299905A1 (en) System for setting print end notification either when data transmission ends or when printing ends based on print check ability of printing devices
JP2004054909A (ja) 情報処理装置、印刷システム、情報処理装置の印刷制御方法、及び印刷制御プログラム
US7474429B2 (en) Information processing apparatus for controlling a print job using a virtual printer
JP5704834B2 (ja) 情報処理装置および制御方法およびプログラム
JP2006301860A (ja) 情報処理装置
US7233993B2 (en) Information processing apparatus, distributed printing controlling method, program for causing information processing apparatus to execute distributed printing controlling method, and computer-readable recording medium storing program
JP3854941B2 (ja) 印刷制御方法、ホストコンピュータ、プログラム及び記憶媒体
JP2004240589A (ja) 印刷システム及びその制御方法並びに情報処理装置及び方法
JP3880575B2 (ja) 印刷設定方法及びコンピュータ
JP2023018114A (ja) プログラム、情報処理装置、及び情報処理装置の制御方法
JP3833090B2 (ja) 制御方法、制御装置、プログラム及び記憶媒体
JP2006202332A (ja) 代行印刷処理装置、代行印刷処理方法、プログラム、および記憶媒体
JP2006171991A (ja) 代行及び分散印刷システム
JP4323982B2 (ja) 情報処理方法、及び、情報処理装置、及び、プログラム、並びに、記憶媒体
JP4110021B2 (ja) 部門管理を伴う印刷処理を行う印刷処理プログラム及び情報処理装置及び情報処理方法並びに記憶媒体
JP2008027217A (ja) 情報処理装置および印刷装置を備える印刷システム
JP4143598B2 (ja) 情報処理装置における管理方法、情報処理装置、プログラム及び記憶媒体
JP2006163860A (ja) プリンティングシステム

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080701