〔第1実施形態〕
以下、図面を参照しながら本発明に係る実施の形態を詳細に説明する。
<印刷システムの構成>
図1は、本発明の一実施形態に関する印刷システムの構成の一例を示すブロック図である。
図1において、3000は情報処理装置で構成されるホストコンピュータである。ホストコンピュータ3000は、ROM3のプログラム用ROMあるいは外部メモリ11に記憶された文書処理プログラム等に基づいて、図形,イメージ,文字,表(表計算等を含む)等が混在した文書処理を実行するCPU1を備える。CPU1は、システムバス4に接続される各デバイスを総括的に制御する。
ROM3のプログラム用ROMあるいは外部メモリ11には、CPU1の制御プログラムであるオペレーティングシステムプログラム(以下OS)や後述するプリンタドライバ等が記憶されている。また、ROM3のフォント用ROMあるいは外部メモリ11には上記文書処理の際に使用するフォントデータ等が記憶されている。さらに、ROM3のデータ用ROMあるいは外部メモリ11には上記文書処理等を行う際に使用する各種データが記憶される。
RAM2は、CPU1の主メモリ、ワークエリア等として機能する。
キーボードコントローラ(KBC)5は、キーボード9や不図示のポインティングデバイス等からのキー入力を受け付ける。ここでキーボード9を介して入力されるデータには、後述するポスター印刷時の種々の設定事項が含まれる。
CRTコントローラ(CRTC)6は、CRTディスプレイ(CRT)10の表示を制御する。なお、表示装置はCRTに限られるものではなく、液晶ディスプレイ等であってもよい。
ディスクコントローラ(DKC)7は、ハードディスク(HD),フロッピー(登録商標)ディスク(FD)等の外部メモリ11とのアクセスを制御する。外部メモリ11は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム(以下プリンタドライバ)等を記憶する。
プリンタコントローラ(PRTC)8は、双方向性インタフェース(インタフェース)21を介してプリンタ1500に接続されて、プリンタ1500との通信制御処理を実行する。なお、ホストコンピュータ3000は、ネットワークインタフェースカード(NIC)22を用いて、図示しないネットワークを介してプリンタ1500と通信可能に構成してもよい。また、ホストコンピュータやプリンタは、ネットワーク上に複数存在してもよい。
なお、CPU1は、例えばRAM2上に設定された表示情報RAMへのアウトラインフォントの展開(ラスタライズ)処理を実行し、印刷される画像と同一の画像をCRT10上に表示することを可能としている。
また、CPU1は、CRT10上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷の設定に関するウインドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行える。
プリンタ1500は、CPU12により制御される。CPU12は、ROM13のプログラム用ROMに記憶された制御プログラム等あるいは外部メモリ14に記憶された制御プログラム等に基づいてシステムバス15に接続される印刷部(プリンタエンジン)17に出力情報としての画像信号を出力する。また、このROM13のプログラムROMには、CPU12の制御プログラム等が記憶される。
ROM13のフォント用ROMには、上記出力情報を生成する際に使用するフォントデータ等が記憶される。また、ROM13のデータ用ROMには、ハードディスク等の外部メモリ14がないプリンタの場合には、ホストコンピュータ上で利用される情報等が記憶されている。
CPU12は、入力部18を介してホストコンピュータ3000との通信処理が可能となっており、プリンタ内の情報等をホストコンピュータ3000に通知できる。なお、プリンタ1500は、ネットワークインタフェースカード(NIC)23を用いて、図示しないネットワークを介してホストコンピュータ3000と通信可能に構成してもよい。
RAM19は、CPU12の主メモリや、ワークエリア等として機能するRAMであり、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。なお、RAM19は、出力情報展開領域、環境データ格納領域、NVRAM等に用いられる。
外部メモリ14は、ハードディスク(HD)、ICカード等を示す。この外部メモリ14は、メモリコントローラ(MC)20によりアクセスを制御される。外部メモリ14は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。
この外部メモリ14は、1個に限らず、複数個備えられ、内蔵フォントに加えてオプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。さらに、図示しないNVRAMを有し、操作部1501からのプリンタモード設定情報を記憶するようにしてもよい。
操作部1501は、操作のためのスイッチ,タッチパネル付き表示装置,LED表示器等が配されている。
なお、印刷部(プリンタエンジン)17は、レーザビーム方式であっても、レーザビーム方式以外の電子写真方式(例えばLED方式)であってもよい。また、液晶シャッタ方式、インクジェット方式、熱転写方式、昇華方式でもその他のプリント方式であっても本発明は適用可能である。
さらに、プリンタ1500は、MFP(Multi Function peripheral:複合機)等であってもよい。
図2は、プリンタ等の印刷装置と通信可能なホストコンピュータにおける典型的な印刷処理構成を示す構成図である。
図2に示すように、アプリケーション201、グラフィックエンジン202、プリンタドライバ203、およびシステムスプーラ204は、外部メモリ11に保存されたファイルとして存在する。そして、実行される場合に、CPU1により実行されるOSや利用するモジュールによってRAM2にロードされ実行されるプログラムモジュールである。
また、アプリケーション201およびプリンタドライバ203は、外部メモリ11のFDや不図示のCD−ROM、あるいは不図示のネットワークを経由して外部メモリ11のHDに追加することが可能となっている。
外部メモリ11に保存されているアプリケーション201は、CPU1によりRAM2にロードされて実行される。そして、このアプリケーション201からプリンタ1500に対して印刷を行う際には、同様にCPU1によりRAM2にロードされ実行可能となっているグラフィックエンジン202を利用して出力(描画)を行う。
グラフィックエンジン202は、印刷装置ごとに用意されたプリンタドライバ203を同様にCPU1により外部メモリ11からRAM2にロードし、アプリケーション201の出力をプリンタドライバ203を用いてプリンタの制御コマンドに変換する。
変換されたプリンタ制御コマンドは、CPU1により実行されるOSによってRAM2にロードされたシステムスプーラ204を経てインタフェース21経由でプリンタ1500へ出力される仕組みとなっている。
本実施形態の印刷システムは、図2で示すプリンタ1500とホストコンピュータ3000からなる印刷システムに加えて、更に第3図に示すように、アプリケーション201からの印刷データを一旦中間コードデータでスプールする構成を有する。
図3は、図1に示した印刷システムにおける印刷処理構成の一例を示すブロック図であり、図2に示したシステムを拡張した印刷処理構成である。なお、図2と同一のものには同一の符号を付してある。
図3に示すように、本実施形態の印刷処理構成は、グラフィックエンジン202からプリンタドライバ203へ印刷命令を送る際に、一旦中間コードからなるスプールファイル303を生成する構成となっている。
なお、図2に示したシステムでは、アプリケーション201が印刷処理から開放されるのはプリンタドライバ203がグラフィックエンジン202からのすべての印刷命令をプリンタの制御コマンドへ変換し終った時点である。
これに対して、図3に示すシステムでは、スプーラ302がすべての印刷命令を中間コードデータに変換し、スプールファイル303に出力した時点である。通常、後者の方が短時間で済む。
また、図3で示すシステムにおいては、スプールファイル303の内容に対して加工することができる。これにより、アプリケーション201からの印刷データに対して、複数ページを1ページに縮小して印刷する等、アプリケーションの持たない機能を実現する事ができる。またこれにより、拡大印刷機能(ポスター印刷機能)を実現することができる。
これらの目的のために、図2に示したシステムに対し、図3に示す様に、中間コードデータでスプールする様、システムの拡張がなされてきている。
なお、印刷データの加工を行うためには、通常プリンタドライバ203が提供するウインドウ(設定画面)から設定を行い、プリンタドライバ203がその設定内容をRAM2上あるいは外部メモリ11上に保管するように制御する。
以下、図3を詳細に説明する。
図3に示すように、この拡張された処理方式では、グラフィックエンジン202からの印刷命令をディスパッチャ301が受け取る。
ディスパッチャ301は、グラフィックエンジン202から受け取った印刷命令が、アプリケーション201からグラフィックエンジン202へ発行された印刷命令の場合、外部メモリ11に格納されているスプーラ302をRAM2にロードする。そして、ディスパッチャ301は、プリンタドライバ203ではなくスプーラ302へ印刷命令を送付する。
スプーラ302は、受け取った印刷命令を中間コードに変換してスプールファイル303に出力する。また、スプーラ302は、プリンタドライバ203に対して設定されている印刷データに関する加工設定をプリンタドライバ203から取得して、スプールファイル303に保存する。なお、スプールファイル303は、外部メモリ11上にファイルとして生成するが、RAM2上に生成されても構わない。
さらに、スプーラ302は、外部メモリ11に格納されているスプールファイルマネージャ304をRAM2にロードし、スプールファイルマネージャ304に対してスプールファイル303の生成状況を通知する。その後、スプールファイルマネージャ304は、スプールファイル303に保存された印刷データに関する加工設定の内容に従って印刷を行えるか判断する。
スプールファイルマネージャ304がグラフィックエンジン202を利用して印刷を行えると判断した際には、外部メモリ11に格納されているデスプーラ305をRAM2にロードする。そして、スプールファイルマネージャ304は、デスプーラ305に対して、スプールファイル303に記述された中間コードの印刷処理を行うように指示する。
デスプーラ305は、スプールファイル303に含まれる中間コードをスプールファイル303に含まれる加工設定の内容に従って加工し、もう一度グラフィックエンジン202経由で出力する。その際、スプールファイルマネージャ304は、印刷の進捗状況を表示する。
また、ディスパッチャ301は、グラフィックエンジン202から受け取った印刷命令がデスプーラ305からグラフィックエンジン202へ発行された印刷命令の場合には、スプーラ302ではなく、プリンタドライバ203に印刷命令を送る。
プリンタドライバ203は、プリンタ制御コマンドを生成し、システムスプーラ204経由でプリンタ1500に出力する。
なお、アプリケーション201は、ホストコンピュータ3000上で動作しており、プリンタドライバ203を用いて、プリンタ1500に印刷ジョブを送信することができる。アプリケーション201は、印刷ジョブを送信する際に、図4に示すようなホスト側印刷ジョブデータ400を生成し外部メモリ11に保存する。
なお、このホスト側印刷ジョブデータ400の生成や外部メモリ11への保存は、プリンタドライバ203が行うように構成してもよい。また、プリンタ1500への印刷ジョブの送信を監視する手段を設け、該手段がホスト側印刷ジョブデータ400を生成し外部メモリ11へ保存するように構成してもよい。即ち、ホストコンピュータ3000側の手段であればどのような手段がホスト側印刷ジョブデータ400を外部メモリ11へ保存するように構成してもよい。
なお、予め外部メモリ11に設定されたジョブ数保持数(保持データ数),外部メモリ11(メモリ資源)の空き容量等に基づいて、ホスト側印刷ジョブデータ400の外部メモリ11への保存を制限するように構成してもよい。即ち、外部メモリ11に保持されているホスト側印刷ジョブデータ400のジョブ数が予め設定された数(例えば、100ジョブ)を超える場合には、ホスト側印刷ジョブデータ400の生成・保存の処理を実行しない。また、外部メモリ11の空き容量が予め設定された閾値(例えば、10%)以内になった場合にも、ホスト側印刷ジョブデータ400の生成・保存の処理を実行しない。
また、CPU1は、予め設定された期間(例えば、3日間)を経過したホスト側印刷ジョブデータ400を外部メモリ11から削除するように構成してもよい。
図4は、本実施形態におけるホスト側印刷ジョブデータ400の一例を示すデータ構成図である。
図4に示すように、このホスト側印刷ジョブデータ400は、印刷ジョブをユニークに特定できるジョブID401をキーとして、印刷設定402、アプリケーション情報403、印刷データ404で構成される。
ジョブID401は、アプリケーション201が印刷時に付けられたユニークなジョブIDのことを示し、印刷ジョブと1対1の関係を持つ。印刷データ404は、アプリケーション201のデータを直接保存できる場合は、アプリケーション201は、印刷直前に保存されたアプリケーションデータを印刷データ404として保存する。一方、アプリケーション201のデータを直接保存できない場合は、プリンタドライバ203に送られてくるデータを印刷データ404として保存する。
また、印刷データ404が、印刷設定を同梱できるデータ形式である場合は、印刷設定情報が印刷データ404内に含め、印刷設定402には何も保存しないようにする。一方、印刷データ404が印刷設定を同梱できないデータ形式やプリンタドライバ203に送られてくるデータである場合は、印刷設定402に印刷時の印刷設定情報を保存する。
アプリケーション情報403には、印刷を行ったアプリケーションを特定する情報を保存する。
また、プリンタドライバ203は、印刷時に、プリンタ1500に、印刷ジョブに対応するジョブID401を付加して印刷データを送信する。
また、ホストコンピュータ3000には、印刷装置からの指示を受信して動作する再印刷要求監視部306(図3)を追加する。なお、この再印刷要求監視部306は、ホストコンピュータ3000のCPU1が外部メモリ11に格納されたプログラムRAM2上に読み出して実行することにより実現されるものである。この再印刷要求監視部306は、ホストコンピュータ3000の特定の通信ポートを監視する機能を持つ。そして、再印刷要求監視部306は、上記監視している通信ポートで再印刷要求を受信するとホストコンピュータ3000上で後述する図18,図19のフローで示される再印刷処理を実行させる。
従って、プリンタ1500が再印刷指示を行う場合は、この通信ポートに対して行うことになる。
なお、プリンタドライバ203は、外部メモリ11の決められた位置に印刷設定ファイルがある場合は、その印刷設定ファイルに記載されている印刷設定で印刷設定インタフェースを初期化することができる。
プリンタ1500のCPU12は、印刷データをホストコンピュータ3000から受信すると、印刷処理を実行するが、その際、図5のような印刷装置側印刷ジョブデータ500を外部メモリ14に保存する。
なお、予め外部メモリ14に設定されたジョブ数保持数(保持データ数),外部メモリ14(メモリ資源)の空き容量等に基づいて、CPU12は、印刷装置側印刷ジョブデータ500の外部メモリ14への保存を制限するように構成してもよい。即ち、外部メモリ14に保持されている印刷装置側印刷ジョブデータ500のジョブ数が予め設定された数(例えば、100ジョブ)を超える場合には、CPU12は、印刷装置側印刷ジョブデータ500の生成・保存の処理を実行しない。また、外部メモリ14の空き容量が予め設定された閾値(例えば、10%)以内になった場合にも、CPU12は、ホスト側印刷ジョブデータ400の生成・保存の処理を実行しない。
また、CPU12は、予め設定された期間(例えば、3日間)を経過した印刷装置側印刷ジョブデータ500を外部メモリ14から削除するように構成してもよい。
図5は、本実施形態における印刷装置側印刷ジョブデータ500の一例を示すデータ構成図である。
図5に示すように、この印刷装置側印刷ジョブデータ500は、印刷ジョブをユニークに特定できるジョブID501をキーとして、ジョブ名称502、印刷元ホストPC名称503、印刷元ホストPCのIPアドレス504、印刷データ505で構成される。
ジョブID501は、印刷時につけられたユニークなジョブIDのことを示し、印刷ジョブと1対1の関係を持つ(即ち、図4のジョブID401)。
以下、図3を用いて、再印刷を行う場合の動作を説明する。
再印刷は、プリンタ1500に保存されている印刷データ(即ち、図4の404)を用いて行う方法と、ホストコンピュータ3000に保存されている印刷データ(即ち、図5の505)を用いて行う方法の2種類がある。
プリンタ1500に保存されている印刷データを用いて行う再印刷を行う場合について説明する。
この場合、まず、ユーザは操作部1501を用いて、外部メモリ14に保存されているプリンタ側印刷ジョブデータのリスト(印刷処理された印刷データに関する履歴情報)の中から、再印刷するジョブを選択し、プリンタ1500に保存されている印刷データの再印刷を指示する。この操作に応じて、プリンタ1500のCPU12は、上記選択されたジョブに関連付けられている印刷データを用いて再印刷を行うように制御する。
また、この場合、必要があれば、ユーザは操作部1501で変更可能な印刷設定を変更することも可能である。ただし、プリンタ側印刷ジョブデータに印刷データが存在しない場合は再印刷を行うことはできない。
次に、ホストコンピュータ3000に保存されている印刷データを用いて再印刷を実行する場合について説明する。
この場合も、上述の場合と同様に、ユーザは操作部1501を用いて、外部メモリ14に保存されているプリンタ側印刷ジョブデータのリスト(印刷処理された印刷データに関する履歴情報)の中から、ホストコンピュータ3000に保存されている印刷データの再印刷するジョブを選択し、再印刷を指示する。この操作に応じて、プリンタ1500のCPU12は、上記選択されたジョブのジョブID501(再印刷に対応する印刷ジョブを特定する特定情報),ジョブ名称502,再印刷するジョブの印刷元ホストコンピュータ情報である印刷元ホストPC名称503,印刷元ホストPCのIPアドレス504を取得(抽出)する。さらに、該取得した情報を用いて、プリンタ1500からホストコンピュータ3000に、上記抽出したジョブID501を添付した(含めた)再印刷指示を指定の通信ポートに送信するように制御する。
一方、再印刷指示を受信したホストコンピュータ3000の再印刷要求監視部306は、受信した再印刷指示に添付されているジョブIDを使い、外部メモリ11から、一致するジョブIDを持つホスト側印刷ジョブデータを取得する。そして、再印刷要求監視部306は、該取得したホスト側印刷ジョブデータから、印刷データ404と必要があれば、印刷アプリケーション情報403と印刷設定情報402を取得する。該取得した印刷データ404がアプリケーションデータであった場合は、再印刷要求監視部306は、印刷アプリケーション情報403に示されるアプリケーションで印刷データを開くことで最初の印刷時の状態を作るように制御する。(即ち、再印刷要求監視部306は、ホストコンピュータ3000上にて印刷ジョブを生成可能な状態を作るように制御する)。
なお、印刷データ404に印刷設定が保存できないデータ形式である場合は、再印刷要求監視部306は、外部メモリ11の指定位置に印刷設定情報402の情報をファイルとして配置するように制御する。これにより、アプリケーション201がプリンタドライバ203を用いて再印刷する際に、ユーザが、最初の印刷時の印刷設定が行われたプリンタドライバ203のインタフェースを用いて再印刷を行うことができる。
また、印刷データ404がプリンタドライバ203に送られてくるデータであるの場合は、再印刷要求監視部306が再印刷要求を受けたジョブリストを表示し、選択されたジョブの印刷を行えるようにすることで、再印刷を可能とする。その際、再印刷要求監視部306は、外部メモリ11の指定位置に印刷設定情報402の情報をファイルとして配置することで、プリンタドライバ203の設定を前回印刷を行う直前の状態にすることができる。また、再印刷の際に、ユーザは、プリンタドライバ203のインタフェースを開けるようにすることで、印刷設定を変更することも可能となる。
次に、図6を用いて図1に示したプリンタ1500の操作部1501の構成を詳細に説明する。
図6は、図1に示したプリンタ1500の操作部1501の一例を示す模式図である。なお、ここでは、プリンタ1500がMFPである場合を示している。
図6に示すように、操作部1501は、キー入力部601とタッチパネル部602から成っている。それぞれの詳細を示したものが、図7及び、図8であり、以下にそれぞれの詳細を説明する。
まず、図7を用いてキー入力部601について説明する。
図7は、図6に示したキー入力部601の一例を示す模式図である。
図7に示すように、キー入力部601は、複数のハードキーを備える。
操作部電源スイッチ701は、スタンバイモード(通常動作状態)とスリープモードを切り替えるものであり、システム全体の電源供給を行う主電源スイッチがON状態で制御することができる。なお、スリープモードとは、メインコントローラ(CPU12)が、ネットワークプリントやファクシミリなどに備えて割り込み待ち状態でプログラムを停止して、消費電力を抑えている状態を示す。
節電キー702は、スタンバイモード時の定着器の制御温度を下げて、プリント可能な状態まで時間は要するが、消費電力を抑えることができるキーである。節電率の設定により制御温度を下げることもできる。
スタートキー703は、コピーや送信などの開始を指示するキーである。ストップキー704は、それを中断するキーである。
テンキー705は、各種設定の置数を行うためのキーである。クリアキー706は、その置数を解除するためのキーである。IDキー707は、MFPの操作者を認証するために、予め設定された暗証番号を入力させるためのキーである。
リセットキー708は、各種設定を無効にし、デフォルト状態に戻すためのキーである。ヘルプキー709は、ガイダンスやヘルプを表示させるためのキーである。ユーザモードキー710は、ユーザごとのシステム設定画面に移行するためのキーである。
カウンタ確認キー711は、MFP内に設けてあるプリント枚数などをカウントするソフトカウンタに記憶されている出力済み枚数を表示させるためのキーである。このキー711を押下することにより、コピー/プリント/スキャン/ファックスなどの動作モード、カラー/白黒といった色モード、ラージ/スモールといった紙サイズなどに応じて、それぞれの出力済み枚数をタッチパネル部602に表示させることができる。
画像コントラストダイヤル712は、タッチパネル部602の液晶表示のバックライトを調光するなどして、画面の見易さを調整するためのダイヤルである。
実行/メモリランプ713は、ジョブの実行中やメモリへのアクセス中に点滅して知らせるランプである。エラーランプ714は、ジョブの実行ができない場合やサービスマンコールなどのエラー、あるいは、ジャムや消耗品切れなどを知らせるオペレータコールなどの際に点滅して知らせるランプである。
次に、図8を用いてタッチパネル部602について説明する。
図8は、図6に示したタッチパネル部602の一例を示す模式図である。
本実施形態では、タッチパネル部602は、LCD(Liquid Crystal DISPLAY:液晶表示部)とその上に貼られた透明電極からなるタッチパネルディスプレイとして構成される。そして、LCDに表示されるキー相当の部分の透明電極を指で触れると、それを検知して別の操作画面を表示する等の制御が予めプログラムされている。同図は、スタンバイモード時の初期画面であり、設定操作に応じて様々な操作画面を表示することができる。
コピータブ801は、コピー動作の操作画面に遷移するためのタブキーである。送信タブ802は、ファックスやE−mail送信など送信(Send)動作を指示する操作画面に遷移するためのタブキーである。ボックスタブ803は、ボックス(ユーザごとにジョブを格納する記憶手段)にジョブを入出力操作するための画面に遷移するためのタブキーである。オプションタブ804は、スキャナ設定など拡張機能を設定するためのタブキーである。ユーザがこれらのタブ801〜804を選択する(タッチする)ことで、それぞれの操作モードに遷移することができる。
システムモニタキー805は、MFPの状態や状況を表示するためのキーである。ユーザがこのシステムモニタキー805を選択する(タッチする)ことで、MFPの状態や状況を表示する画面(例えば、図9に示す画面)に遷移することができる。
色選択設定キー806は、カラーコピー、白黒コピー、あるいは自動選択かを予め選択するためのキーである。倍率設定キー807は、等倍、拡大、縮小などの倍率設定を行う画面に遷移するキーである。後処理設定キー808は、ステープルやパンチなどの有無、個数、位置などを設定する画面に遷移するキーである。両面設定キー809は、片面印刷か両面印刷かを選択する画面に遷移するキーである。紙サイズ設定キー810は、給紙段や紙サイズ、メディアタイプを選択する画面に遷移するキーである。画像モード設定キー811は、文字モードや写真モードなど原稿画像に適した画像モードを選択するためのキーである。濃度設定キー812は、出力画像を濃くしたり薄くしたり調整するためのキーである。ユーザがこれらの各キー806〜812を選択する(タッチする)ことで、それぞれの設定を行うことができる。
次に、ステータス表示部813は、スタンバイ状態、ウォームアップ中、ジャム、エラー等の簡易的な状態表示を行う表示部である。倍率表示部814は、倍率設定キー807で設定された倍率を表示する表示部である。紙サイズ表示部815は、紙サイズ設定キー810で設定された紙サイズやモードを表示する表示部である。枚数表示部816は、テンキー705で指定された枚数を表示したり、動作中に何枚目を印刷中かを表示したりする表示部である。
更に、割り込みキー817は、コピー動作中に別のジョブを割り込ませる場合に利用するきーであり、ユーザがこのキーを選択する(タッチする)ことで、コピー動作中に別のジョブを割り込ませることができる。
応用モードキー818は、ページ連写、表紙・合紙設定、縮小レイアウト、画像移動など様々な画像処理やレイアウトなどの設定を行う画面に遷移するためのキーである。ユーザがこの応用モードキー818を選択する(タッチする)ことで、応用モードの設定画面に遷移させることができる。
図9は、ジョブの履歴を操作するための操作画面の一例を示す模式図である。この画面は、図8に示したシステムモニタキー805が選択された際にタッチパネル部602に表示されるものであり、ジョブ履歴を表示し、履歴中のジョブに関して操作を行うことができる。
ジョブ表示切替ボタン901は、ジョブに関する操作画面を切り替えるためのボタンである。このジョブ表示切替ボタン901を選択する(タッチする)ことで、スプールされているジョブを表示する「スプール」、ジョブの状況を表示する「ジョブ状況」、ジョブの履歴を表示する「ジョブ履歴」を自由に切り替えることができる。
ジョブ履歴表示部902は、ジョブの履歴を表示する部分であり、ジョブの受付番号、処理日時、部門ID、ジョブ名、ユーザ名、印刷結果などを表示する。なお、ユーザは、このジョブ履歴表示部902内でジョブの履歴をタッチすることにより、該ジョブを選択可能である。
種類の選択キー903は、MFPに投入された様々なジョブを種類(例えば、コピー,プリント,ファクシミリ,スキャン等)別に選択して表示させるためのボタンである。この種類の選択キー903で選択された種類のジョブの履歴を、ジョブ履歴表示部902に表示する。
スクロールボタン904は、ジョブ履歴表示部902が複数行になり、画面に入らないときに、ジョブ履歴表示部902をスクロールさせることができる。詳細表示ボタン905は、ジョブ履歴表示部902で選択されているジョブの詳細情報を表示することができる。リストプリントボタン906は、ジョブ履歴表示部902に表示されているジョブの履歴を印刷することができる。
モード切替キー907は、コピーやファクシミリ等の他の機能設定画面に切り替えることができる。終了キー908は、ジョブ履歴表示を終了して、図8に示した画面に戻ることができる。ユーザがこれらのキー又はボタン903〜908を選択する(タッチする)ことで、各キーに対応する処理を実行することができる。
本実施形態では、通常のジョブ履歴表示にジョブ確認機能を追加し、ジョブ確認ボタン909を追加して、再印刷を行えるように構成している。
このジョブ確認ボタン909は、ジョブ履歴表示部902で選択されているジョブを履歴から削除したい場合にも用いることができる。
ジョブ確認ボタン909が選択(タッチ)されると、図10に示すようにダイアログ1001が表示され、選択されているジョブに対して、履歴から削除するか、再印刷を行うかを選択できる。
次に、上述したシステムにおける本発明の実施の形態を説明する。
なお、本発明は、印刷装置のユーザインタフェースから、再印刷を可能にしたものである。この再印刷を実施するために、本発明では、印刷装置のメモリ部にジョブの情報と印刷データを保存できるようにする。
本実施形態では、図1に示したプリンタ1500の外部メモリ14にジョブの情報と印刷データ(即ち、図5の印刷装置側印刷ジョブデータ)を保存するように構成する。また、ホストコンピュータ3000には、プリンタ1500からの指示を受信して動作する機能(図3の再印刷要求監視部306)を追加するように構成する。
加えて、ホストコンピュータ3000は、印刷時に、外部メモリ11に印刷データを特定する情報(ジョブID401)と印刷データ404(即ち、図4のホスト側印刷ジョブデータ)を保存するように構成する。この構成により、ホストコンピュータ3000は、プリンタ1500から再印刷要求があった場合に、外部メモリ11に保存してある情報(図4のホスト側印刷ジョブデータ)を用いて、再印刷を行うことができる。
なお、以上の再印刷の処理は、後述する図16〜図19のフローに従って行われる。
次に、図9〜図15に示すユーザインタフェースを用いて、再印刷の手順を説明する。
まず、ユーザは、プリンタ1500のユーザインタフェース(図9のジョブ履歴表示部902)から、再印刷したいジョブを選択する。本実施形態では、図9に示した印刷履歴表示部に、ジョブ確認ボタン909を追加して、再印刷を行えるように構成している。
なお、このジョブ確認ボタン909は、ジョブ履歴表示部902で選択されているジョブを履歴から削除したい場合にも用いることができる。
ユーザがジョブ確認ボタン909を選択(タッチ)すると、プリンタ1500のCPU12は、図10に示すようなダイアログ1001をタッチパネル部602に表示し、ユーザが、ジョブを履歴から削除するか、再印刷を行うかを選択できるように制御する。
図10は、履歴管理されているジョブの削除又は再印刷を選択するダイアログの一例を示す模式図である。
図10の画面では、ユーザは、ジョブ履歴表示部で選択されているジョブに対して、詳細情報を表示し、ジョブ履歴から完全に削除するか、再印刷を行うかを選択することができる。
この画面で、ユーザが「オペレータ確認ジョブ完全終了」ボタン1002を指示(タッチ)すると、プリンタ1500のCPU12は、タッチパネル部602上の画面を図11に示すようなダイアログ1101に遷移させる。さらに、プリンタ1500のCPU12は、選択されているジョブの情報(図5の印刷装置側印刷ジョブデータ)を外部メモリ14から削除するように制御する。
図11は、履歴管理されているジョブの削除が指示された場合に表示されるダイアログの一例を示す模式図である。
一方、ユーザが「オペレータ確認ジョブ再実行する」ボタン1003を指示(タッチ)すると、プリンタ1500のCPU12は、タッチパネル部602上の画面を図12に示すようなダイアログ1201に遷移する。
図12は、履歴管理されているジョブの再印刷が指示された場合に表示されるダイアログの一例を示す模式図である。
図12の画面では、再印刷を印刷装置内のデータを使って行うか、印刷元のホストから行うかを選択する。
この画面で、ユーザが「プリンタの操作部から再実行要求を入力する」ボタン1202を指示(タッチ)すると、プリンタ1500のCPU12は、タッチパネル部602上の画面を図13に示すような画面に遷移させる。ユーザは、変更したい印刷設定があれば、この図13の画面から設定の変更を行って再印刷を実行させることができる。
図13は、プリンタの操作部から再実行要求を入力する場合に印刷設定を行う画面の一例を示す模式図である。
一方、図12のダイアログ1201で、ユーザが「ホストから再実行要求を入力する」ボタン1203を指示(タッチ)すると、プリンタ1500のCPU12は、次のように制御する。CPU12は、再印刷を行うジョブ(図9の902で選択されたジョブ)の情報から、印刷元のホストを特定し、ジョブのIDを付加した再印刷指示を印刷元のホストコンピュータに送信する。これらの印刷装置内の処理は、図18〜図19のフローに従って行われる。
次にホストコンピュータ3000上での再印刷手順について説明する。
ホストコンピュータ3000では、再印刷要求監視部306が、指示を受信する処理を行っており、再印刷の指示を受信すると、再印刷要求監視部306は、図14の1401に示すようなダイアログを表示して、再印刷指示を受信したことをユーザに通知する。
図14は、ホストコンピュータ3000がプリンタ1500から再印刷指示を受信した場合にホストコンピュータ3000のCRT10に表示されるダイアログの一例を示す模式図である。
上述したように、ホストコンピュータ3000では、再印刷の指示を受信すると、再印刷要求監視部306は、1401に示すようなダイアログをCRT10上に表示して、再印刷指示を受信したことをユーザに通知する。このダイアログ1401の「OK」ボタンが不図示のポインティングデバイス等によりクリックされると、このダイアログはクローズされる。
さらに、再印刷要求監視部306は、プリンタ1500から再印刷指示を受信した際、複数の再印刷指示を受信している場合には、再印刷指示一覧1402をCRT10上に表示し、再印刷を行う再印刷指示(対応するドキュメント)をユーザに選択させる。ユーザは不図示のポインティングデバイスやKB9により再印刷を行う再印刷指示(対応するドキュメント)を選択する。
一方、再印刷要求監視部306は、他の再印刷指示を受信していない場合には、その再印刷指示を再印刷の対象とする。
そして、再印刷要求監視部306は、再印刷を行う再印刷指示が特定できると、該再印刷指示に付加されているジョブIDを取得し、ジョブIDから、対応する印刷データ404と印刷設定402を取得する。
なお、上記ジョブIDに対応した印刷データ404が外部メモリ11に存在しない場合は、再印刷は行えない。
再印刷を行う印刷データと印刷設定を取得できたら、再印刷要求監視部306は、上記取得した印刷データ404に対応した印刷アプリケーション201を図15の1403に示すように起動する。そして、再印刷要求監視部306は、印刷設定402をアプリケーション201に渡し、図15の1404に示すように、印刷ダイアログを表示させ、印刷制御手段(図3の201〜204,301〜305等)を印刷直前(印刷ジョブ生成直前)の状態に設定する。
なお、アプリケーション201が印刷設定402を受け取れない場合は、再印刷要求監視部306は、印刷設定402をプリンタドライバ203に渡すことも可能である。
図15は、再印刷指示により再印刷要求監視部306が印刷直前の画面まで起動した状態を示す模式図である。
この状態で、印刷ダイアログ1404及び(プロパティボタンにより起動されるプリンタドライバ203のUIにて)必要な設定を行って印刷を指示すれば、プリンタ1500で選択したジョブの再印刷を行うことができる。
なお、本実施形態では、再印刷を行うジョブに対応したアプリケーションを起動しているが、再印刷を行うジョブに対応するアプリケーションを通知するのみでとどめることも可能とする。
また、ホストコンピュータ3000上に印刷を管理するようなアプリケーションが存在している場合には、該印刷を管理するアプリケーションに再印刷指示を受信したことを通知する。そして、上記印刷を管理するアプリケーションが、ホスト側のジョブ履歴一覧で再印刷受信中のようなステータスを表示するように構成してもよい。
以下、図16〜図19のフローチャートを参照して、上述した処理の説明を行う。
まず、図16,図17を参照してプリンタ1500側の処理について説明する。
図16は、本発明における第1の制御処理手順の一例を示すフローチャートであり、図9に示した画面でジョブ確認ボタン909が押下(タッチ)された際の処理手順に対応する。なお、このフローチャートの処理は、プリンタ1500のCPU12がROM13に格納されたプログラムを読み出して実行することにより実現される。また、図中S1501〜S1505は各ステップを示す。
まず、ジョブ確認ボタン909が押下されると、CPU12は、ステップS1501において、ジョブ履歴表示部902で選択されているジョブを取得し、該ジョブの詳細情報を外部メモリ14から取得する。
次に、ステップS1502において、CPU12は、ステップS1501で取得した、ジョブの詳細情報を表示するダイアログ1101(図10)をタッチパネル部602に表示し、ジョブを完全終了させるか、再印刷を行うかを選択させる。そして、CPU12は、「ジョブの完全終了」ボタン1002又は「オペレータ確認ジョブ再印刷実行する」ボタン1003が選択されたことを検知すると、ステップS1503に処理を進める。
ステップS1503では、CPU12は、「オペレータ確認ジョブ再印刷実行する」ボタン1003を選択されたか否かを判定する。そして、「オペレータ確認ジョブ再印刷実行する」ボタン1003を選択されたと判定した場合には、ステップS1504に処理を進める。
一方、ステップS1503で、CPU12が、「ジョブの完全終了」ボタン1002が選択されたと判定した場合には、ステップS1505に処理を進める。
ステップS1505では、CPU12は、図11に示したダイアログ1101をタッチパネル部602に表示し、ジョブ履歴表示部902で選択されたジョブの情報を印刷装置内部(外部メモリ14)から完全に削除し、本フローチャートの処理を終了する。
ステップS1504では、CPU12は、再印刷を行うための処理(再印刷処理)(図17)を実行し、本フローチャートの処理を終了する。
図17は、本発明における第2の制御処理手順の一例を示すフローチャートであり、図16のステップS1504に示した再印刷処理手順に対応する。なお、このフローチャートの処理は、プリンタ1500のCPU12がROM13に格納されたプログラムを読み出して実行することにより実現される。また、図中S1601〜S1604は各ステップを示す。
まず、ステップS1601において、CPU12は、図12に示したダイアログ1201をタッチパネル部602に表示して、印刷装置で設定を行って再印刷を行うか、印刷元のホストで再印刷を行うかを選択させる。そして、CPU12は、「プリンタの操作部から再実行要求を入力する」ボタン1202又は「ホストから再実行要求を入力する」ボタン1203が選択されたことを検知すると、ステップS1602に処理を進める。
ステップS1602では、CPU12は、「ホストから再実行要求を入力する」ボタン1203が選択されたか否かを判定する。そして、「ホストから再実行要求を入力する」ボタン1203を選択されたと判定した場合には、ステップS1603に処理を進める。
一方、ステップS1503で、CPU12が、「プリンタの操作部から再実行要求を入力する」ボタン1202が選択されたと判定した場合には、ステップS1604に処理を進める。
ステップS1604では、CPU12は、プリンタ1500の設定画面(図13)を表示し、ユーザに再印刷の印刷設定を行わせる。
次に、ステップS1605において、CPU12は、ステップS1604で設定された印刷設定を用いて、再印刷処理を実行し、本フローチャートの処理を終了する。
ステップS1603では、CPU12は、印刷元のホストで再印刷を行うために、ジョブの詳細情報から印刷元のホスト情報(IPアドレス等)とジョブIDを取得する。さらに、CPU12は、該取得したホスト情報により特定されるホストコンピュータ3000に対して、ジョブIDを付加した再印刷通知を送信する。そして、本フローチャートの処理を終了する。
次に、図18,図19のフローチャートを参照してコンピュータ3000側の処理について説明する。
図18は、本発明における第3の制御処理手順の一例を示すフローチャートであり、ホストコンピュータ3000のCPU1が実行する再印刷要求監視部306により実行される。なお、図中S1701〜S1704は各ステップを示す。
まず、再印刷要求監視部306が、プリンタ1500からの指示を受信すると、ステップS1701において、受信した指示が再印刷に関するものであるか否かを判定する。そして、再印刷要求監視部306は、再印刷以外の指示であると判定した場合には、本フローチャートの処理を終了する。
一方、再印刷要求監視部306は、受信した指示が再印刷に関するものであると判定した場合には、ステップS1702に処理を進める。
ステップS1702では、再印刷要求監視部306は、該再印刷指示に付加されているジョブIDを取得し、該ジョブIDを用いて、外部メモリ11に保存してあるジョブIDに対応した印刷データを取得する処理を実行する。
そして、ステップS1703において、再印刷要求監視部306は、ステップS1702の処理でジョブIDに対応した印刷データが取得できた(存在した)か否かを判定する。そして、ジョブIDに対応した印刷データが取得できなかった(存在しなかった)と判定した場合には、本フローチャートの処理を終了する。
一方、ステップS1703で、再印刷要求監視部306は、ステップS1702の処理でジョブIDに対応した印刷データが取得できた(存在した)と判定した場合には、図示しないステップで図14のダイアログ1401をCRT10に表示する。そして、図示しないポインティングデバイス等でダイアログ1401の「OK」ボタンがクリックされると、ステップS1704に処理を進める。
ステップS1704では、再印刷要求監視部306は、ステップS1702で取得したジョブIDに対応した印刷データを用いて、再印刷処理(図19)を実行する。そして、本フローチャートの処理を終了する。
図19は、本発明における第4の制御処理手順の一例を示すフローチャートであり、ホストコンピュータ3000のCPU1が実行する再印刷要求監視部306により実行される。なお、図中S1801〜S1804は各ステップを示す。
ステップS1801において、再印刷要求監視部306は、ホストコンピュータ3000が図18のステップS1701で再印刷指示と判定した印刷指示要求の他に再印刷指示を受信していないか否かを調べる。そして、他に再印刷指示を受信していないと判定した場合には、上記印刷指示に対応するジョブを再印刷要求ジョブとし、ステップS1803に処理を進める。
一方、ステップS1801で、再印刷要求監視部306は、図18のステップS1701で再印刷指示と判定した印刷指示要求の他に再印刷指示を受信していると判定した場合には、ステップS1802に処理を進める。
ステップS1802では、再印刷要求監視部306は、ホストコンピュータ3000が受信している再印刷指示に対応する再印刷要求ジョブ一覧1402(図14)をCRT10に表示し、再印刷を行うジョブを選択させる。そして、図示しないポインティングデバイス等で再印刷要求ジョブが選択され、ダイアログ1401のOKボタンが指示されると、再印刷要求監視部306は、ステップS1803に処理を移行させる。
ステップS1803では、再印刷要求監視部306は、再印刷を行うジョブの再印刷指示からジョブIDを取得し、ジョブIDに対応した印刷データ404,印刷設定情報402,アプリケーション情報403を取得する。そして、再印刷要求監視部306は、図15に示すように、アプリケーション情報403に対応するアプリケーション201を起動し、再印刷要求を受けたジョブを印刷した際の状態で印刷画面をCRT10上に開くように制御する。なお、印刷設定402は、可能であれば、印刷を行うアプリケーションに渡して設定するように制御する。そして、アプリケーションが受け取れないようであれば、プリンタドライバ203に渡して設定するように制御する。
即ち、再印刷要求監視部306は、再印刷要求を受けた印刷ジョブの生成に関係したデータ(印刷データ404,印刷設定402,アプリケーション情報403)を外部メモリ11から読み出す。さらに、再印刷要求監視部306は、該読み出したデータ用いて印刷制御手段(図3の201〜204,301〜305等)を印刷ジョブ生成直前の状態に設定するように制御する。
次に、ステップS1804において、印刷設定の変更,印刷指示が為されると、CPU1により実行されるアプリケーション201は印刷処理を実行する。これにより、印刷制御手段(図3の201〜204,301〜305等)で、印刷ジョブが生成され、プリンタ1500に送信される。そして、本フローチャートの処理を終了する。
以上の処理により、ホストコンピュータ3000からプリンタ1500に印刷を行う印刷システムにおいて、再印刷を行う際に、プリンタ1500のユーザインタフェースから再印刷の処理を行うことができる。さらに、必要があれば、プリンタ1500から印刷元のホストコンピュータ3000に再印刷指示を行い、印刷元のホストコンピュータ3000のユーザインタフェースから再印刷を行えるようにすることができる。即ち、プリンタ1500からの指定により、ホストコンピュータ3000で、再印刷用の印刷データの印刷条件を変更して印刷可能な状態とすることができる。
即ち、本実施形態の印刷システムでは、再印刷指定された印刷ジョブをホストコンピュータ3000に再送させるのではなく、ホストコンピュータ3000上で印刷処理条件を変更可能な状態とする。具体的には、プリンタ1500からジョブIDを指定してホストコンピュータ3000に送信する。ホストコンピュータ3000では、再印刷要求監視部306が、受信したジョブIDに一致する印刷ジョブを印刷ジョブの送信直前の状態にする。この送信直前の状態とは、印刷ジョブを生成したアプリケーションを立ち上げられ、プリンタドライバにて印刷処理条件(印刷済みのジョブの印刷処理条件と同じ)が設定されている状態を示す。アプリケーションプログラム201とプリンタドライバ203を、この状態としておくことで、以下のような効果を奏する。ホストコンピュータ3000側でユーザは変更を加えたい部分だけ設定を変更した後に印刷ダイアログ1404の「OK」ボタンを不図示のポインティングデバイス等によりクリックすることで、再印刷用の印刷ジョブを生成できる。
このように、プリンタ1500からは変更できない印刷処理条件(ページレイアウト等)を変更することや印刷データの内容そのものを変更するような再印刷が容易に可能となる。
従って、印刷装置で印刷を行ったジョブの再印刷指示を、該印刷装置上から行う場合に、該印刷装置上で選択されたジョブの再印刷を、パーソナルコンピュータ等の情報処理装置から容易に行うことができるようになる。
〔第2実施形態〕
次に、本発明の第2実施形態について説明する。
上記第1実施形態は、下記の(1)又は(2)を図12の画面を介してユーザに選択させるものであった。
(1) 再印刷を、プリンタ1500が備える外部メモリ14が保持する印刷装置側印刷ジョブデータ500に基づいて行う
(2) 再印刷を、ホストコンピュータ300に対して要求する
ここで、(1)の方法で用いる印刷ジョブデータ500は、ホストコンピュータ300から受信したホスト側印刷ジョブデータ400を、プリンタ1500のCPU12が、ビットマップ形式に変換したものである。そして、例えば、ホスト側印刷ジョブデータ400にて2ページ分の画像データを1ページにレイアウトする指定(以下、2in1の指定)がされている場合を想定する。この場合、印刷装置側印刷ジョブデータ500は、2ページ分の画像データが1ページにレイアウトされたものを1ページとするビットマップデータである。従って、CPU12が再印刷にあたって1ページ単位のレイアウト(1in1)となるようにレイアウトの変更をしようとしても、印刷装置側印刷ジョブデータ500を元にレイアウトの変更をすることができない。つまり、(1)の方法により印刷装置側印刷ジョブデータ500を用いて再印刷を行う場合、特定の印刷条件の変更については対応できない。
そのため、第1実施形態では、プリンタ1500のユーザは、再印刷を行うにあたって変更したい印刷条件が、(1)の方法で対応できる印刷条件なのか、そうでないのかを判断し、その判断結果に基づいて(1)の方法又は(2)の方法を選択する必要がある。しかし、プリンタ1500のユーザが(1)の方法又は(2)の方法を適切に選択するためには、どのような印刷条件が(1)の方法で対応できるのかを、ユーザが予め知っている必要がある。
それに対して、本発明の第2実施形態は、(1)又は(2)のいずれを選択すべきかを、ユーザが予め知っていなくても、(1)の方法又は(2)の方法を適切に決定する仕組を提供するものである。
なお、本発明の第2実施形態において、プリンタ1500は、図12に示した画面及び図17に示した処理を除けば、上記第1実施形態と同様の処理を行うものとする。
以下、図20〜図25を参照して、本発明の第2実施形態について詳細に説明する。
図20〜図24は、本発明の第2実施形態においてプリンタ1500のタッチパネル部602に表示される画面の一例を示す模式図である。
プリンタ1500のCPU12は、図10に示した画面を介してユーザが「オペレータ確認ジョブを再実行する」ボタン1003を選択したと判定すると、図20に示す画面をタッチパネル部602に表示させる。そして、プリンタ1500のCPU12は、図20の画面におけるユーザからの入力(ボタン2101,2102の選択)を受け付ける。
プリンタ1500のCPU12は、図20に示す画面を介してユーザが「印刷条件を変更する」ボタン2101を選択したか、「印刷条件を変更しない」ボタン2102を選択したかを判断する。そして、プリンタ1500のCPU12は、ユーザが「印刷条件を変更する」ボタン2101を選択したと判断すると、図21に示す画面をタッチパネル部602に表示させる。そして、プリンタ1500のCPU12は、図21の画面におけるユーザからの入力(ボタン2201〜2104の選択)を受け付ける。
プリンタ1500のCPU12は、印刷条件を変更するにあたって、ユーザが、「用紙」ボタン2201、「片面/両面」ボタン2202、「ステイプル」ボタン2203、「ページレイアウト」ボタン2204のいずれを選択したかを判断する。そして、プリンタ1500のCPU12は、図21の画面を介してユーザが「用紙」ボタン2201を選択したと判断した場合は、図22に示す画面をタッチパネル部602に表示させる。そして、プリンタ1500のCPU12は、図22の画面におけるユーザからの入力(ボタン2301〜2304の選択)を受け付ける。
そして、CPU12は、図22の画面を介してユーザが選択したボタン(2301、2302、2303、2304のいずれか)に対応する用紙(例えば、カセット1に対応するA3の普通紙)を再印刷にて用いるよう印刷データ505を設定する。
また、図21に示す画面でユーザが「片面/両面」ボタン2202を選択したとCPU12が判断した場合は、CPU12は、図23に示す画面をタッチパネル部602に表示させる。そして、プリンタ1500のCPU12は、図23の画面におけるユーザからの入力(ボタン2401,2402の選択)を受け付ける。
そして、CPU12は、図23の画面を介してユーザが選択したボタンが「片面」ボタン2401であると判断した場合は、再印刷の印刷条件として片面印刷を行うよう印刷データ505を設定する。一方、CPU12は、図23の画面を介してユーザが選択したボタンが「両面」ボタン2402であると判断した場合は、再印刷の印刷条件として両面印刷を行うよう印刷データ505を設定する。
また、図21に示す画面でユーザが「ステイプル」ボタン2203を選択したとCPU12が判断した場合は、図24に示す画面をタッチパネル部602に表示させる。そして、プリンタ1500のCPU12は、図24の画面におけるユーザからの入力(ボタン2501,2502の選択)を受け付ける。
そして、CPU12は、図24の画面を介してユーザが選択したボタンが「ON」ボタン2501であると判断した場合、再印刷の印刷条件として印刷処理された用紙束にステイプル処理を行うよう印刷データ505を設定する。
一方、CPU12は、図24の画面を介してユーザが選択したボタンが「OFF」ボタン2502であると判断した場合、再印刷の印刷条件として印刷処理された用紙束にステイプル処理を行うよう印刷データ505を設定する。
以上説明したように、図21にてユーザが、「用紙」ボタン2201、「片面/両面」ボタン2202、「ステイプル」ボタン2203を選択した場合は、再印刷を、印刷装置側印刷ジョブデータ500に基づいて行うことが可能である。よって、この場合には、CPU12は、印刷装置側印刷ジョブデータ500に含まれる印刷データ505を書換える。そして、CPU12は、この印刷データ505に基づいて再印刷処理を制御する。
その一方で、図21にてユーザが、「ページレイアウト」ボタン2204を選択した場合については、他のボタンを選択した場合とは異なる動作となる。具体的には、CPU12は、第1実施形態の図12にて「ホストから再実行要求を入力する」ボタン1203をユーザが選択した場合と同様の動作をする。
つまり、CPU12は、図18及び図19に示したフローチャートの処理を実行することにより、ホストコンピュータ3000に対して再印刷の要求をし、ホストコンピュータ3000に図15に示す画面を表示させた状態とする。
ここで、図20〜図24に示す画面をタッチパネル部602に表示させることにより、CPU12が実行する動作について、図25を用いて説明する。
図25は、本発明の第2実施形態に関する制御処理手順(第5の制御処理手順)の一例を示すフローチャートであり、本発明の第2実施形態における再印刷処理手順に対応する。なお、このフローチャートの処理は、プリンタ1500のCPU12がROM13に格納されたプログラムを読み出して実行することにより実現される。また、図中S2701〜S2707は各ステップを示す。
まず、ステップS2701において、CPU12は、図20に示した画面を介してユーザが選択したボタンを判断し、「印刷条件を変更する」ボタン2101を選択したと判断した場合は、ステップS2702へ処理を進める。一方、ステップS2701で、「印刷条件を変更しない」ボタン2102を選択したと判断した場合は、CPU12は、ステップS2707へ処理を進める。
ステップS2702では、CPU12は、図21の画面をタッチパネル部602に表示させ、図21の画面を介してユーザが選択したボタンが、「ページレイアウト」ボタン2204であるか否かを判断する。そして、CPU12は、「ページレイアウト」ボタン2204が選択されたと判断すれば、ステップS2703へ処理を進め、「ページレイアウト」ボタン2204以外のボタンが選択されたと判断すれば、ステップS2706へ処理を進める。
ステップS2703では、CPU12は、ホストコンピュータ3000で再印刷を行わせるために、印刷装置側印刷ジョブデータ500からホストPCIPアドレス504とジョブID501を抽出する。そして、CPU12は、ホストPCIPアドレス504で特定されるホストコンピュータ3000に、ジョブID501を含む再印刷要求を送信して、ステップS2704へ処理を進める。
そしてステップS2704において、CPU12は、ホストコンピュータ3000が図19に示した処理を実行することにより送信される、再印刷要求に対応するホスト側印刷ジョブデータ400を受信したか否かを待機(判断)する。そして、CPU12は、上記再印刷要求に対応するホスト側印刷ジョブデータ400を受信したと判断した場合、ステップS2705へ処理を進める。
ステップS2705では、CPU12は、ホストコンピュータ3000から受信した、再印刷要求に対応するホスト側印刷ジョブデータ400に基づいて印刷処理を実行する。そして、本フローチャートの処理を終了する。
一方、ステップS2702で、CPU12が、ユーザが選択した印刷条件の変更の対象が、ページレイアウト以外であると判断した場合、CPU12は、ステップS2706の処理を実行する。具体的には、CPU12は、図22〜図23に示した画面を介してユーザから設定される印刷条件で再印刷できるよう、印刷装置側印刷ジョブデータ500の印刷データ505に含まれる印刷条件を変更し、ステップS2707へ処理を進める。
ステップS2707では、CPU12は、ステップS2706で印刷条件が変更された印刷装置側印刷ジョブデータ500に基づいて、印刷処理を実行する。そして、本フローチャートの処理を終了する。
以上説明したように、本発明の第2実施形態によれば、前述の(1)又は(2)のいずれを選択すべきかを、ユーザが予め知っていなくても、再印刷にあたってユーザが設定した印刷条件に応じて、(1)の方法又は(2)の方法を適切に決定することができる。なお、上記(1),(2)は、(1:再印刷を、プリンタ1500が備える外部メモリ14が保持する印刷装置側印刷ジョブデータ500に基づいて行う),(2:再印刷を、ホストコンピュータ300に対して要求する)を示す。
なお、上述の説明において、ユーザが図21の画面を介して「ページレイアウト」ボタン2204を選択した場合、ジョブIDを含む再印刷要求をホストコンピュータ3000に送信するものであったが、他の態様であってもよい。具体的には、図21に示す画面を介して「ページレイアウト」ボタン2204が選択された場合に、更に図26に示す画面をタッチパネル部602に表示させ、ページレイアウトの具体的な種類をユーザに選択させるようにしても良い。
図26は、本発明の第2実施形態における他の態様においてプリンタ1500のタッチパネル部602に表示される画面の一例を示す模式図である。
この場合、CPU12は、図26の画面を介してユーザがいずれのページレイアウト方法を選択したかを示す情報(即ち、再印刷時に印刷条件を変更するための変更情報)を、再印刷要求に含めることができる。そして、ホストコンピュータ3000は、再印刷要求にページレイアウト方法(上述の変更情報)が含まれる場合に、ページレイアウト方法(変更情報)を反映させた状態で、印刷直前の画面まで起動した状態とすることができる。即ち、上述の変更情報に基づいて印刷ジョブを生成可能な状態にすることができる。このようにすることにより、再印刷を実行するにあたって、ページレイアウト方法をプリンタ1500にて指定し、その指定を反映させた状態で、ホストコンピュータ3000が印刷ジョブを送信できる直前の状態とすることができる。
なお、ホストコンピュータ1500は、再印刷要求に、再印刷にあたって変更すべき印刷条件が含まれている場合は、次のように制御してもよい。即ち、ホストコンピュータ1500側でのユーザによる印刷条件の変更に拘らず、上記のように印刷条件の変更がされたホスト側印刷ジョブデータ400をプリンタ1500に送信させるように構成してもよい。
以上示したように、プリンタ1500のCPU12は、再印刷を実行するにあたって、ユーザによる印刷条件の変更を受け付ける。そしてプリンタ1500のCPU12は、変更された印刷条件に応じて、ホストコンピュータ3000に保持されたアプリケーションデータに基づく再印刷を実行するか、プリンタ1500に保持された印刷データに基づく再印刷を実行するかを選択する。また、CPU12は、アプリケーションデータに基づく再印刷の実行を選択した場合は再印刷要求をホストコンピュータ3000に送信する。また、CPU12は、プリンタ1500に保持された印刷データに基づく再印刷の実行を選択した場合はプリンタ1500に保持された印刷データに基づく再印刷を行う。
よって、ユーザに意識させることなしに、再印刷にあたって変更する印刷条件に応じて、ホストに保持されたアプリケーションデータに基づく再印刷の実行、プリンタに保持された印刷データに基づく再印刷の実行を適切に決定にすることが可能となる。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
以下、図27に示すメモリマップを参照して、本発明に係る印刷システムを構成する情報処理装置および印刷装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップの構成について説明する。
図27は、本発明に係る印刷システムを構成する情報処理装置(ホストコンピュータ3000)および印刷装置(プリンタ1500)で読み取り可能な各種データ処理プログラムを格納する記憶媒体(記録媒体)のメモリマップを説明する図である。
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
本実施形態における図16,図17(第2実施形態の場合は図25),図18,図19に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD-ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD-ROM、CD-R、CD-RW、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のプログラムそのものをハードディスク等の記憶媒体にダウンロードすることによっても供給できる。また、該ホームページから圧縮され自動インストール機能を含むファイルをハードディスク等の記憶媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバやFTPサーバ等も本発明の請求項に含まれるものである。
また、本発明のプログラムを暗号化してCD-ROM等の記憶媒体に格納してユーザに配布する。さらに、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。さらに、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、以下のような構成も含まれることは言うまでもない。例えば、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードを、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込む。そして、該メモリに書き込まれたプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記憶媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から排除するものではない。
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
以上示したように、本実施形態では、ホストコンピュータから印刷装置に印刷を行う印刷システムにおいて、再印刷を行う際に、印刷装置のユーザインタフェースから再印刷の処理を行うことができる。さらに、必要があれば、印刷装置側から印刷元のホストコンピュータに再印刷指示を行い、印刷元のホストコンピュータのユーザインタフェースから容易に再印刷を行えるようにホストコンピュータの状態を制御することができる。
なお、上述した実施形態内で示した各変形例を組み合わせた構成も全て本発明に含まれるものである。