[go: up one dir, main page]

JP5665429B2 - 情報処理装置、エラー表示方法、及びプログラム - Google Patents

情報処理装置、エラー表示方法、及びプログラム Download PDF

Info

Publication number
JP5665429B2
JP5665429B2 JP2010194153A JP2010194153A JP5665429B2 JP 5665429 B2 JP5665429 B2 JP 5665429B2 JP 2010194153 A JP2010194153 A JP 2010194153A JP 2010194153 A JP2010194153 A JP 2010194153A JP 5665429 B2 JP5665429 B2 JP 5665429B2
Authority
JP
Japan
Prior art keywords
error
command
print
occurred
form file
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.)
Active
Application number
JP2010194153A
Other languages
English (en)
Other versions
JP2012053560A5 (ja
JP2012053560A (ja
Inventor
敬二 川嵜
敬二 川嵜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2010194153A priority Critical patent/JP5665429B2/ja
Priority to US13/217,648 priority patent/US20120050782A1/en
Publication of JP2012053560A publication Critical patent/JP2012053560A/ja
Publication of JP2012053560A5 publication Critical patent/JP2012053560A5/ja
Application granted granted Critical
Publication of JP5665429B2 publication Critical patent/JP5665429B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1207Improving or facilitating administration, e.g. print management resulting in the user being informed about print result after a job submission
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/121Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • G06F3/1255Settings incompatibility, e.g. constraints, user requirements vs. device capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1259Print job monitoring, e.g. job status

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

本発明は、情報処理装置、エラー表示方法、及びプログラムに関する。
従来、印刷制御装置において、印刷装置に発生したエラーやステータスをユーザーに通知することが行われている。例えば、印刷制御装置のコマンド送受信手段が、印刷装置のステータスを取得し、ステータス情報表示手段に通知して表示させることが開示されている。また、印刷装置に送信する印刷コマンドの内容や印刷装置の設定情報が不適切な組み合わせであった場合に、印刷制御装置が、印刷装置への印刷コマンドの転送を一時停止して警告を通知することについても開示されている(例えば、特許文献1)。
特開2008−305142号公報
通常、印刷制御装置は、アプリケーションからの印刷要求を受け取ると、コマンド生成手段を介して印刷コマンドを生成し、コマンド送受信手段を介して印刷装置に送信する。ここで、フォームファイル作成用の印刷要求など、印刷コマンドを生成しない印刷要求がある。このようなフォームファイル作成用の印刷要求を受け取ると、印刷制御装置は、フォームファイルを作成して保存することで印刷要求を完了する。この場合、あらゆる印刷コマンドは、コマンド送受信手段に到達しない。
しかしながら、コマンド生成手段には、コマンド生成手段が動作するプロセスの性質上、印刷要求の処理中に発生したエラー(印刷ジョブの設定エラーなど)を表示できないものがある。また、印刷コマンドが生成されない印刷要求を印刷制御装置が受け取った場合、コマンド送受信手段にはあらゆる印刷コマンドが到達しないので、コマンド送受信手段は、印刷コマンドからエラーを窺い知ることはできない。このようなことから、印刷ジョブの設定エラーが表示されない事態が発生し得る。
また、印刷装置は、印刷コマンドの一部を受信すると、印刷の準備のための初期化動作などを行う。しかしながら、特許文献1に記載の技術では、印刷要求の処理中にエラーが発生したしたときは、印刷制御装置が、印刷装置への印刷コマンドの転送を一時停止して警告を通知するので、印刷装置の不必要な初期化動作が行われる問題がある。
本発明はこのような問題点に鑑みなされたもので、印刷ジョブの設定エラーをより適切に表示することを目的とする。
そこで、本発明に係る情報処理装置は、コマンドを生成する際にエラーが発生したか否かを判断する判断手段と、フォームファイル作成モードが現在の印字モードで使用不可能である場合に情報を保存する保存手段と、前記判断手段が前記エラーは発生したと判断した場合にエラーコマンドを生成し、前記判断手段が前記エラーは発生しなかったと判断した場合にフォームファイルを生成する生成手段と、前記生成手段が生成した前記コマンドが前記エラーコマンドである場合にエラーを表示し、前記生成手段が生成した前記コマンドが前記フォームファイルである場合に前記フォームファイル保存する制御手段と、を有し、前記判断手段は、前記保存手段が前記情報を保存した場合に、前記エラーが発生したと判断することを特徴とする。
本発明によれば、印刷ジョブの設定エラーをより適切に表示することができる。
ハードウェア構成の一例を示す図である。 パソコンの機能構成の一例を示す図である。 印字モードテーブルの一例を示す図である。 メイン処理の一例を示す図である。 印刷設定整合性判定処理の一例を示す図である。 印刷処理の一例を示す図である。 フォームファイル作成処理の一例を示す図である。 フォーム合成印刷処理の一例を示す図である。 フォームファイルの構造の一例を示す図である。 設定エラー通知用コマンドのデータ構成の一例を示す図である。 ランゲージモニターの処理の一例を示す図である。 エラー画面の一例を示す図である。 メイン処理の一例を示す図である。 メイン処理の一例を示す図である。
以下、本発明の実施形態について図面に基づいて説明する。なお、実施形態は、本発明を限定するものではなく、また、実施形態で説明されている全ての構成が本発明の課題を解決するための手段に必須であるとは限らない。
<第1の実施形態>
(ハードウェア構成)
図1を参照して、印刷装置2と印刷装置2に接続されたパソコン1とを含んで構成される印刷システムの構成について説明する。
図1は、パソコン1のハードウェア構成の一例と印刷装置2のハードウェア構成の一例とを示す図である。
パソコン1は、情報処理装置(コンピュータ)の一例であり、入力インタフェース11、CPU12、ROM13、RAM14、外部記憶装置15、出力インタフェース16、及び入出力インタフェース19を有する。また、入力インタフェース11には、キーボード10、マウス18などの入力デバイスが接続され、出力インタフェース16には、表示部17などの表示デバイスが接続されている。
ROM13には、初期化プログラムが格納され、外部記憶装置15には、アプリケーションプログラム群、OS(Operating System:オペレーティングシステム)、プリンタドライバ、その他の各種のデータが格納されている。例えば、RAM14は、外部記憶装置15にストアされる各種のプログラムによりワークメモリとして使用される。なお、本実施形態では、CPU12が、ROM13に格納されたプログラムの手順に従って処理を行うことによって、パソコン1における後述の機能及び後述するフローチャートに係る処理が実現される。
印刷装置2は、入出力インタフェース21、RAM22、プリントエンジン23、ROM24、及びCPU25を有する。
入出力インタフェース21は、パソコン1の入出力インタフェース19に接続されている。本実施形態おいて、接続インタフェースとしては、USB(登録商標)を想定して説明するが、これに限定されるものではない。また、入出力インタフェース21に印刷装置2の機能を拡張する拡張オプションを接続することも可能である。
RAM22は、CPU25の主メモリやワークメモリとして用いられる。また、RAM22は、受信した印刷ジョブを一旦保存するための受信バッファとして用いられ、各種のデータを保存する。プリントエンジン23は、RAM22に保存されたデータに基づいて印刷を行う。ROM24には、ステータス管理プログラム24a等、各種の制御プログラムや各種の制御プログラムが使用するデータが格納され、CPU25は、これらの制御プログラムに従って印刷装置2の各部を制御する。ステータス管理プログラム24aは、図示していない印刷装置2内部にある各種のセンサの情報を元に印刷装置2の状態を監視し、ステータス情報を作成し、RAM22にストアするプログラムである。
ここでは、パソコン1と印刷装置2との処理を上記のように分担する例を示したが、この分担に限らず、適宜の分担を採用できる。
(機能構成)
図2は、パソコン1の機能構成の一例を示す図である。図2では、主に、パソコン1にインストールされるプリンタドライバ220の機能について説明する。以下では、パソコン1のOSとしてMicrosoft社のWindows(登録商標)を用いた場合を例に挙げて本印刷システムを説明する。また、スプールデータとしては、Microsoft社が開発したオープン規格の電子文書フォーマットの1つであるXPS(XML Paper Specification)を用いて説明する。
アプリケーション201により作成された印刷データは、OSの印刷サポート機能211を介してスプールデータ214としてスプーラ212のプリントキュー213に一時的に蓄えられる。スプールデータ214は、名称などが付加された印刷ジョブとしてスプーラ212により管理される。なお、スプーラ212は、印刷ジョブを管理する管理部の一例である。印刷ジョブは、プリンタドライバ220によって印刷装置230(印刷装置2)が解釈可能な印刷コマンドに変換された後に、印刷装置230に供給され、印刷装置230で印刷が行われるよう構成されている。
アプリケーション201は、ユーザーによる入力デバイスの操作(ユーザー操作)に基づいて印刷を開始する指示を行う際、OSの印刷サポート機能211を介して、ユーザーインターフェースモジュール221から返却された印刷設定情報を印刷ジョブに付加する。なお、印刷設定情報は、アプリケーション201からの印刷を開始する指示を行う前に予め設定されている。
プリンタドライバ220に渡された印刷ジョブは、先ずレイアウトフィルター222によって処理される。ここでフィルターとは、入力されたデータをもとに、加工、変換、無変換、生成等の工程を介して、何らかのデータを出力する機能を有するプログラム(モジュール)のことであり、不図示のOSのフィルター管理機能から呼び出される。レイアウトフィルター222は、印刷設定情報に従って印刷ジョブのページを並べ替えたり複数のページを1つのページにまとめたりするページ構成処理を印刷ジョブに対して行う。
次に、印刷ジョブは、プレビューフィルター223に渡される。プレビューフィルター223は、印刷設定情報に印刷プレビュー画面を表示する指示が含まれていると判断した場合、印刷プレビュー表示モジュール224を呼び出す。印刷プレビュー表示モジュール224は、印刷プレビュー画面をパソコン1の表示部17に表示し、印刷の結果をユーザーが事前に確認する手段を提供する。他方、印刷設定情報に印刷プレビュー画面を表示する指示が含まれていないと判断した場合は、プレビューフィルター223は、印刷ジョブをレンダーフィルター225に渡す。
レンダーフィルター225は、コマンド生成モジュール部の一例であり、印刷設定情報に従って印刷ジョブを印刷装置230が解釈可能な印刷コマンドに変換する。レンダーフィルター225が送信した印刷コマンドは、不図示のフィルター管理機能とスプーラ212とを経由した後、ランゲージモニター226によって印刷装置230に順次送信される。また、ランゲージモニター226は、コマンド解析モジュール部の一例であり、印刷装置230のエラーが発生した旨の情報、現在印刷中のページ情報などの印刷装置230の状態を読み出し、ステータスモニター227に渡す。ステータスモニター227は、エラー表示モジュール部の一例であり、ユーザーが印刷ジョブの状態や印刷装置230の状態を確認する手段を提供する。ステータスモニター227は、例えば印刷装置230の状態を解析して印刷装置230の情報をパソコン1の表示部17に表示する。
(透明インク)
本実施形態では、印刷装置230は、CMYKといったカラーインク以外に、透明インクを用いる。透明インクは、画像の光沢感の均一化、色域の拡大を目的として用いられ、特定の領域への塗布が行われないことで、装飾の効果を得ることも可能である。
プリンタドライバ220は、透明インクの塗布方法として、全面塗布モード、自動塗布モード、ユーザー設定モードの3つを有する。全面塗布モードは、印刷媒体の印刷範囲の全体に透明インクが塗布されるモードである。自動塗布モードは、透明インクが不要な印刷媒体の場合は透明インクが塗布されず、透明インクが必要な印刷媒体の場合は印刷データ中の白点の領域以外の領域に透明インクが塗布されるモードである。すなわち、自動塗布モードは、印刷設定情報の印刷媒体の種類の設定値によって透明インクを塗布するか否かが切り替えられるモードである。
ユーザー設定モードは、印刷媒体の一部に透明インクを塗布しないことにより見え方を変化させて印刷物にデザイン性が付与されるモードであり、フォームファイル作成モード、フォーム合成印刷モードという2つのモードで構成される。フォームファイル作成モードは、透明インクを塗布しない領域(透明インク削除領域)が作成され、フォームファイルとして保存されるモードである。フォーム合成印刷モードは、ユーザー操作などにより選択されたフォームファイルに含まれる透明インク削除領域により指定された領域のみ、透明インクが塗布されずに印刷が行われるモードである。
また、設定値の組み合わせにより決定される印字モードごとに使用可能な透明インク塗布モードが異なり、印字モードは、以下の3通りに分類される。印字モードの詳細は後述する。
・「自動塗布モード」/「全面塗布モード」/「ユーザー設定モード(フォームファイル作成モード/フォーム合成印刷モード)」が可能な印字モード
・「自動塗布モード」/「全面塗布モード」が可能な印字モード
・「自動塗布モード」のみが可能な印字モード
「自動塗布モード」のみが使用可能な印字モードは、透明インクが塗布されない印字モードである。普通紙やマットコートされた印刷媒体など透明インクの効果が薄い印刷媒体では、透明インクを用いない前提で色変換、印字制御の方法が設計されるので、透明インク塗布モードとしては「自動塗布モード」のみが使用可能である。この場合の「自動塗布モード」は、「透明インクを塗布しない」ことを表すことになる。
一方、透明インクを使用することで光沢感の均一化などの効果を得ることができる印刷媒体の種類においては、透明インクが塗布される「自動塗布モード」と「全面塗布モード」とが使用可能となる。これらの印刷媒体の種類においては、「ユーザー設定モード」を使用可能であるか否かが印字モードによって異なっている。これは、速度を優先する印字モードなど透明インクを用いた装飾の効果が出づらい印字モードにおいては「自動塗布モード」及び「全面塗布モード」のみを使用可能としているためである。これにより、装飾の効果が得難い印字モードにおいてユーザー設定モードを使用して好適な印刷の結果が得られないという問題が発生することを防止する。
また、「ユーザー設定モード」のフォーム合成印刷モードと同様、フォームファイル作成モードも、使用可能な印字モードを制限しているが、これは各印字モードの解像度の違いにより、作成したフォームファイルが正しく合成されない問題を防ぐためである。例えば、解像度300dpiの速度優先の印字モードで作成したフォームファイルを、解像度600dpiの品位優先の印字モードでフォーム合成した場合、フォームが印刷範囲の一部にのみ適用される結果となる。予めフォームファイル作成モードとフォーム合成印刷モードとを利用可能な印字モードを同一にしておくことで、解像度の不一致をできるだけ防止する。さらには、「ユーザー設定モード」を利用可能な印字モードを全て同一の解像度とすることで、解像度の不一致を完全に防止することができる。
図3は、印字モードごとに使用可能な透明インク塗布モードに関する情報を保持する印字モードテーブルの一例(印字モードテーブル301)を示す図である。
例えば、「光沢紙A、カラー、フチ無し印刷ON、画質優先」という印字モード(7)は、自動塗布モード、全面塗布モード、ユーザー設定モードの全てが使用可能であることを表している。また、「光沢紙A、カラー、フチ無し印刷ON、標準」という印字モード(8)は、自動塗布モード、全面塗布モードのみが使用可能であることを表している。
このように上位の設定項目である印刷媒体の種類から下位の設定項目である印刷品質までの設定値によって色変換、印字制御の方法が決定されるので、本実施形態ではこれらの設定値の組み合わせ1つ1つを印字モードと称することとする。
(メイン処理)
図4は、レンダーフィルター225による、透明インク塗布モードに関する設定エラーの判定を中心とするメイン処理プログラムに係るフローチャートの一例を示す図である。印刷の開始が指示されると、レンダーフィルター225は、印刷ジョブ中の印刷設定情報を参照し、設定項目間の不整合(使用できない設定値の組み合わせ)の有無を判定して一部の項目の設定値を変更する印刷設定整合性判定処理を行う(S401)。
ここで、図5を参照してレンダーフィルター225による印刷設定整合性判定処理(S401)について詳細に説明する。図5は、印刷設定整合性判定処理プログラムに係るフローチャートの一例を示す図である。
まず、レンダーフィルター225は、印刷設定情報から透明インク塗布モードの設定値を参照し、透明インクの塗布方法を判定する(S501)。レンダーフィルター225は、透明インク塗布モードの設定値が自動塗布モードであると判断した場合、全ての印字モードにおいて自動塗布モードが使用可能であるので、不整合は存在しないものとして印刷設定整合性判定処理を終了する。
また、レンダーフィルター225は、透明インク塗布モードが全面塗布モードであると判断した場合、現在の設定値に対応する印字モードにおいて、全面塗布モードが使用可能であるかどうかを、印字モードテーブル301を参照して判定する(S502)。レンダーフィルター225は、使用可能であると判断した場合、不整合は存在しないので、そのまま処理を終了する。他方、レンダーフィルター225は、設定されている印字モードにおいて全面塗布モードが使用できないと判断した場合、透明インク塗布モードを自動塗布モードに変更し(S503)、処理を終了する。
また、レンダーフィルター225は、透明インク塗布モードの設定値がユーザー設定モードであると判断した場合、現在の設定値に対応する印字モードにおいてユーザー設定モードが使用可能であるかを、印字モードテーブル301を参照して判定する(S504)。レンダーフィルター225は、使用可能であると判断した場合、不整合は存在しないので、そのまま処理を終了する。他方、レンダーフィルター225は、設定されている印字モードにおいてユーザー設定モードが使用できないと判断した場合、ユーザー設定モードのフォームファイル作成モードであるかフォーム合成印刷モードであるかを更に判定する(S505)。
レンダーフィルター225は、フォーム合成印刷モードであると判断した場合、透明インク塗布モードを自動塗布モードに変更し(S503)、処理を終了する。他方、レンダーフィルター225は、フォームファイル作成モードでると判断した場合、印刷設定情報における元のモードがフォームファイル作成モードであったことを示す情報をRAM14に保存する(S506)。そして、レンダーフィルター225は、透明インク塗布モードを自動塗布モードに変更し(S503)、処理を終了する。
引き続き、図4のS402以降の処理について説明する。レンダーフィルター225は、S401の処理により必要に応じて変更した印刷設定情報を参照し、フォームファイル作成モードであるかを判定する(S402)。レンダーフィルター225は、フォームファイル作成モードでないと判断した場合、S506でRAM14に保存した情報を参照し、S401でフォームファイル作成モードから自動塗布モード(他の透明インク塗布モード)に変更したかを判定する(S403)。変更したと判断した場合、レンダーフィルター225は、S411以降のエラー表示処理を実行する。S411以降では、該当するエラー情報をユーザーに報知し、印刷処理及びフォーム作成処理は実施しない。S411以降の処理については後述する。
ここで、S403において変更したと判断した場合にエラーとするのは、ユーザーの予期しない印刷処理による無駄な印刷媒体の消費を避けるためである。フォームファイル作成モードでは、フォームファイルが生成されるのみで印刷は行われないのに対し、S401の処理で他のモードに変更して続行すると、印刷が行われてしまう。すなわち、フォームファイル作成を指定したユーザーは、印刷媒体への出力処理が行われることは期待しておらず、予期しない出力処理が発生すると印刷媒体が無駄に消費される結果となってしまい好ましくないからである。
他方、S403において変更していないと判断した場合、レンダーフィルター225は、透明インク塗布モードがフォーム合成印刷モードであるかを判定する(S404)。レンダーフィルター225は、フォーム合成印刷モードではないと判断した場合、フォームファイルを用いない通常の印刷処理を行う(S405)。S405の処理の詳細については別フローチャート(図6)を用いて後述する。他方、フォーム合成印刷モードであると判断した場合、印刷設定情報を参照し、指定されたフォームファイルが外部記憶装置15に存在するかを判定する(S406)。レンダーフィルター225は、指定されたフォームファイルが存在すると判断した場合、フォームファイルを用いたフォーム合成印刷処理を行う(S407)。S407の処理の詳細については別フローチャート(図8)を用いて後述する。他方、レンダーフィルター225は、指定されたフォームファイルが存在しないと判断した場合、S411以降のエラー表示処理を実行する。
また、レンダーフィルター225は、S402でフォームファイル作成モードであると判断した場合、規定の上限数以上のフォームファイルが外部記憶装置15に存在するかを調べ(S408)、存在したと判断した場合、S411以降のエラー表示処理を実行する。S408の処理は、フォームファイルが大量に生成されることによる、外部記憶装置15の逼迫を避けることを目的としている。
他方、レンダーフィルター225は、規定の上限数以上のフォームファイルが存在しないと判断した場合、印刷設定情報中のフォーム名を参照し、正しいフォーム名が指定されているかを判定する(S409)。S409の処理は、意図しないフォームファイルの生成や上書きを避けることを目的としている。ここで、レンダーフィルター225は、フォーム名を、空白ではなく、かつ同一の名称を有する既存のフォームファイルが存在しないと判断した場合、正常であると判断する。レンダーフィルター225は、フォーム名が正常であると判断した場合、フォームファイル作成処理を行う(S410)。S410の処理の詳細については別フローチャート(図7)を用いて後述する。また、フォームファイルの構造については図9を用いて後述する。他方、レンダーフィルター225は、フォーム名が不正であると判断した場合、S411以降のエラー表示処理を実行する。
次に、上述した複数の判定(S403、S406、S408、S409)の条件の何れかを満たした場合に実行される、S411以降のエラー表示処理について説明する。
まず、レンダーフィルター225は、設定エラーが発生したこと(設定エラーを検出したこと)を通知するための設定エラー通知用コマンドを生成し、送信する(S411)。レンダーフィルター225が送信したコマンドは、基本的には、不図示のフィルター管理機能とスプーラ212とを経由した後、ランゲージモニター226によって、印刷装置230に送信される。ただし、ランゲージモニター226は、設定エラー通知用コマンドを受け取った場合、それを印刷装置230に送信はせず、設定エラーが発生したことを通知するための処理を行う。ランゲージモニター226の処理の詳細については後述する。
ここで、図4のフローチャートに示される通り、パソコン1は、S411で設定エラー通知用コマンドを送信する前に、その他の印刷コマンドを送信することはない。つまり、設定エラーが発生した場合、印刷ジョブ全体の処理を通して、印刷装置230にはあらゆるコマンドは到達しない。これにより、設定エラーが発生したときに、印刷装置230が不必要に初期化動作を行うことを避けることができる。
なお、印刷システムの状態によっては、レンダーフィルター225が送信した設定エラー通知用コマンドが、ランゲージモニター226を介さずに印刷装置230に到達する場合がある。その場合に、印刷装置230が設定エラー通知用コマンドを受信しても不正に動作しないように構成する。例えば、印刷装置230は、設定エラー通知用コマンドを受信した場合、設定エラー通知用コマンドに応答して初期化動作を行わない、設定エラー通知用コマンドを読み捨てる(破棄する)等の処理を行う。
ここで、図10を用いて、設定エラー通知用コマンドのデータ構成を説明する。図10は、設定エラー通知用コマンドのデータ構成の一例を示す図である。
<command>要素1001は、コマンドの開始を示す。<control mode="driver">要素1002は、コマンドが制御する対象を示す。controlタグのmode属性にはdriverという属性値がセットされている。つまり、このコマンドがプリンタドライバ220を制御するためのコマンドであることを示している。
<notify>要素1003は、具体的な通知の内容を示す。<notify>要素1003のデータには、ErrorCode1(1004)がセットされている。ランゲージモニター226は、ErrorCode1(1004)を受信すると、設定エラーであることを認識する。なお、要素1003のデータには、レンダーフィルター225によってエラーの内容に対応したErrorCodeがセットされ、要素1003のデータは、ランゲージモニター226においてエラーの種類を認知するために参照される。本実施形態においては、レンダーフィルター225は、S403、S406、S408、及びS409の何れのエラー条件を満たしたかによって、対応するErrorCodeをセットする。
また、レンダーフィルター225は、S411で設定エラー通知用コマンドを送信した後、通常印刷コマンド生成処理と送信処理と(以下では、これらを総称して通常印刷コマンド生成処理と称する。)を全てスキップする(S412)。XPSデータを印刷スプールとするプリンタドライバ220において、各フィルターは、印刷ジョブであるXPSデータを取得するタイミングや取得量を自身でコントロール可能である。したがって、レンダーフィルター225は、単純にXPSデータを取得しないことで、このスキップ処理を実現する。
そして、レンダーフィルター225は、全ての通常印刷コマンド生成処理をスキップした後、レンダーフィルター225の呼び出し元であるOSのフィルター管理機能に対しては処理の成功を表す情報を返却する(S413)。つまり、レンダーフィルター225は、内部的に通常印刷コマンド生成処理をスキップしたものの、設定エラー通知用コマンドの生成に成功したものとして処理を終了する。
付言するならば、レンダーフィルター225が送信したコマンドは、OSのフィルター管理機能とスプーラ212とを介してランゲージモニター226に到達する。ここで、OSのフィルター管理機能やスプーラ212は、転送処理の最適化のため、受け取ったコマンドを即座に転送はせず、一定量貯めてから転送する。したがって、レンダーフィルター225がS411で送信した設定エラー通知用コマンドは、S412に遷移後も、ランゲージモニター226に到達しているとは限らない。
通常、レンダーフィルター225で続行が不可能なエラーが発生した場合、レンダーフィルター225は、通常印刷コマンド生成処理を中断した後、OSのフィルター管理機能に対して処理の失敗を表す情報を返却する。これにより、プリンタドライバ220のその他のモジュールに対して処理の中止が通知され、印刷ジョブを速やかに中止することができる。しかしながら、この場合、処理を中止するまでにレンダーフィルター225が送信し、OSのフィルター管理機能やスプーラ212に蓄えられた印刷コマンドが、ランゲージモニター226に到達することは保証されない。
そこで、S413で示すように、レンダーフィルター225がOSのフィルター管理機能に対して成功を表す情報を返却した場合、OSのフィルター管理機能により、印刷ジョブの終了前に印刷コマンドが全てランゲージモニター226に送信される。その結果、レンダーフィルター225が送信した印刷コマンドがランゲージモニター226に到達することを保証できる。すなわち、S413でレンダーフィルター225がOSのフィルター管理機能に対して成功を表す情報を返却することで、設定エラー通知用コマンドがランゲージモニター226に確実に到達することが保証される。
また、本実施形態では、後述のランゲージモニター226の処理において、スプーラ212の仕組みを利用して印刷ジョブを確実に停止することができる。また、レンダーフィルター225がS412で通常印刷コマンド生成処理をスキップしているので、ランゲージモニター226による印刷ジョブの停止が終了した後、印刷ジョブは速やかに終了する。
(フォームファイルを用いない印刷処理)
図6は、レンダーフィルター225がS405で実施するフォームファイルを用いない印刷処理プログラムに係るフローチャートの一例を示す図である。
まず、レンダーフィルター225は、処理の対象としているページ(現在のページ)の印刷ジョブを元にラスタライズを行い、多値のラスターデータを作成する(S601)。なお、ラスタライズ処理は、プリンタドライバ220が提供するプログラム、及びOSの提供する機能の何れを利用して実施してもよい。次に、レンダーフィルター225は、色変換処理を行う(S602)。色変換処理には、印刷装置230に依存する色空間への変換処理、輝度信号で表現される入力系のRGB系データを濃度信号で表現するための出力系のCMYK系データに色変換する処理などが含まれる。また、透明インクの塗布方法に関する印刷設定情報に従って、「自動」及び「全面」の何れかに適した方法で透明インクプレーンの生成も行われる。
次に、レンダーフィルター225は、CMYK系データを各色1ビットのデータに量子化する二値化処理を行う(S603)。そして、レンダーフィルター225は、印刷装置230が解釈できる印刷コマンドへの変換、送信を行う(S604)。レンダーフィルター225が送信した印刷コマンドは、ランゲージモニター226を介して印刷装置230に到達し、印刷装置230は、受信した印刷コマンドに対応する画像を印刷媒体上に形成する。次に、レンダーフィルター225は、S605で全ページが終了したかを判定し、残りページがあると判断した場合は処理の対象を次のページに進める(S606)。他方、レンダーフィルター225は、残りページがなくなったと判断した場合、処理を終了する。
(フォームファイル作成処理)
図7は、レンダーフィルター225がS410で行うフォームファイル作成処理プログラムに係るフローチャートの一例を示す図である。なお、フォームファイルの構造については後述する。
まず、レンダーフィルター225は、外部記憶装置15の規定の場所を参照し、不完全な形で存在するフォームファイルがあると判断した場合は削除する(S701)。この処理は、フォームファイル作成処理の途中で不正に終了した場合などに残った不完全なフォームファイルを削除することを目的としている。次に、レンダーフィルター225は、外部記憶装置15のフォームファイルを作成するための規定の場所に空のフォームファイルを作成し(S702)、作成したフォームファイルに対し、ジョブヘッダを書き込む(S703)。
ここで、ジョブヘッダの構造の一例について図9(A)を参照して詳細に説明する。ジョブヘッダ901は、バージョン902、フォーム名903、及び総ページ数904を含んで構成される。バージョン902は、フォームファイルのフォーマットに関するバージョン情報を表す。フォーム名903は、フォームファイルの名称を表し、S409で正否の判定が行われたフォーム名が格納される。総ページ数904は、フォームファイル中に存在する透明インク削除領域情報のページ数を表し、後述するS712で格納される。
また、レンダーフィルター225は、ジョブヘッダを書き込んだ後、フォームファイルに同一の透明インク削除領域を有するページが存在するかを調べる(S704)。レンダーフィルター225は、部数印刷の2部目以降を処理していると認識した場合に、既に同一の透明インク削除領域が存在すると判断することがある。レンダーフィルター225は、存在すると判断した場合、S705で既存のページを参照する情報を含んだページヘッダを書き込み、現在のページに対する処理を終了する。この処理により、フォームファイル作成処理を高速に完了すると共に、フォームファイルのサイズを小さくすることができる。他方、レンダーフィルター225は、同一の透明インク削除領域が存在しないと判断した場合、S706でページヘッダを書き込む。
ここで、ページヘッダの構造の一例について図9(B)を参照して詳細に説明する。ページヘッダ905は、ページID906、印刷設定907、ページサイズ908、幅909、高さ910、及びページデータ位置911を含んで構成される。
ページID906は、ページを一意に識別するための値である。印刷設定907は、フォームファイル作成モードでの印刷の実行時の各種の設定値である。印刷設定907には、印刷媒体のサイズや、印刷の向きに関する情報などが含まれ、印刷設定907は、フォームファイルを一覧表示する際に、ユーザーインターフェースモジュール221によって参照される。ページサイズ908は、透明インク削除領域のサイズをバイト単位で表す。幅909、高さ910は、透明インク削除領域の幅と高さとをピクセル単位で表す。ページデータ位置911は、透明インク削除領域の位置を表し、フォームファイルの先頭からのオフセットの位置が格納される。
また、レンダーフィルター225は、ページヘッダを書き込むと、現在のページの印刷ジョブを元にラスタライズを行い、多値のラスターデータを作成する(S707)。続いて、レンダーフィルター225は、多値のラスターデータを二値化し、二値のラスターデータを作成する(S708)。ここでは、レンダーフィルター225は、多値のラスターデータにおいて、純白の領域を'1'、純白以外の領域を'0'として二値化する。続いて、レンダーフィルター225は、このようにして作成した二値のラスターデータをフォームファイルに書き込む(S709)。二値のラスターデータが、現在のページにおける透明インク削除領域情報を表し、フォーム合成印刷処理時に、'0'の領域には透明インクが塗布されない。このように、純白以外の領域は、ユーザーがフォーム領域として指定した透明インク削除領域であるとみなされ、純白以外の領域が全て'0'として保存される。
続いて、レンダーフィルター225は、残りページが存在するか調べ(S710)、存在したと判断した場合、次のページを参照し(S711)、S704の処理を行う。他方、レンダーフィルター225は、残りページが存在しないと判断した場合、ジョブヘッダに格納するページ数を最終的な情報に更新する(S712)。このとき、レンダーフィルター225は、フォームファイル作成処理が正常に完了したことを示す情報を付加する。
この情報は、ジョブヘッダに含まれてもよいし、フォームファイルの名称を特定のものとすることで正常に完了したことを表現してもよい。或いは、正常に作成されたフォームファイルに関する情報を一覧で格納する管理リストを別途作成し、そこに追記することで表現してもよい。S712で付加されるフォームファイル作成処理が正常に完了したことを示す情報を有していないフォームは、次回のフォームファイル作成処理時、S701で不完全なフォームファイルとして削除される。
次に、レンダーフィルター225は、フォームファイルをクローズし(S713)、フォームファイル作成処理を終了する。
以上のように、レンダーフィルター225は、フォームファイル作成モードの印刷ジョブを受け取ると、印刷装置230に対して印刷コマンドを供給することなく、透明インク削除領域情報を含むフォームを、外部記憶装置15に外部のファイルとして作成する。
このようにして生成されるフォームファイルの一例について図9(C)を参照して詳細に説明する。フォームファイル912の先頭には、S703で付加されるジョブヘッダ901が設けられる。次に、1番目のページヘッダ913と、1番目の透明インク削除領域情報914とがある。1番目のページヘッダ913の要素の1つであるページデータ位置911には、1番目の透明インク削除領域情報914の先頭の位置が格納される。
次に、2番目のページヘッダ915が設けられる。ここで、レンダーフィルター225は、S704において、2番目の透明インク削除領域情報は、1番目と同じであると判断したとする。このような場合、2番目のページヘッダ915の要素の1つであるページデータ位置には、1番目の透明インク削除領域情報914の先頭の位置が格納される。このような既存ページを参照する形でのページヘッダは、S705の処理により作成される。以後は、ページヘッダと、必要に応じて透明インク削除領域情報が繰り返し格納される。
(フォームファイル合成印刷処理)
図8は、レンダーフィルター225がS407で行うフォーム合成印刷処理プログラムに係るフローチャートの一例を示す図である。
まず、レンダーフィルター225は、フォームファイルを開き(S801)、フォームファイルの先頭に格納されているジョブヘッダを読み込む(S802)。
次に、レンダーフィルター225は、現在のページのラスタライズ(S803)、色変換処理(S804)を行う。これらの処理は、図6のS601及びS602の処理と同等である。なお、S804では、レンダーフィルター225は、透明インクの塗布方法「全面」と同等の方法で、透明インクプレーンを作成する。
次に、レンダーフィルター225は、S804で作成した透明インクプレーン情報から、現在のページの透明インク削除領域情報に従って、透明インクを削除する(S805)。そして、レンダーフィルター225は、二値化処理を行い(S806)、コマンド付加処理及び送信処理を行う(S807)。これらの処理については、図6のS603及びS604の処理と同等である。次に、レンダーフィルター225は、全ページが終了したかを判定し(S808)、残りページがあると判断した場合、処理の対象を次のページに進め(S809)、続いてS803の処理を行う。他方、レンダーフィルター225は、残りページがないと判断した場合、S801でオープンしたフォームファイルをクローズし(S810)、処理を終了する。
(ランゲージモニター226の処理)
図11は、ランゲージモニター226の処理プログラムに係るフローチャートの一例を示す図である。
ランゲージモニター226は、スプーラ212から呼び出されることで処理を開始する(S1100)。ランゲージモニター226は、印刷ジョブのキャンセル指示がスプーラ212からあるかを確認する(S1101)。印刷ジョブのキャンセル指示がスプーラ212からあったと判断した場合、ランゲージモニター226は、処理を終了する(S1102)。他方、印刷ジョブのキャンセル指示がないと判断した場合、ランゲージモニター226は、コマンドを受信したかを確認する(S1103)。
ここで、コマンドを受信していないと判断した場合、ランゲージモニター226は、S1101の処理に戻ってコマンドの受信を待つ。他方、コマンドを受信したと判断した場合、ランゲージモニター226は、印刷装置230のステータスを取得する(S1104)。続いて、ランゲージモニター226は、受信したコマンドをパース処理し、コマンドを解釈する(S1105)。
次に、ランゲージモニター226は、コマンドが設定エラー通知用コマンドであるかを判定する(S1106)。ここで、ランゲージモニター226は、設定エラー通知用コマンド1000の<notify>要素1003のデータに、ErrorCodeがセットされている場合に、コマンドが設定エラー通知用コマンドであると判断する。
コマンドが設定エラー通知用コマンドではないと判断した場合、ランゲージモニター226は、S1104で取得した印刷装置230のステータスから、印刷装置230がエラー状態であるか否かを判断する(S1107)。印刷装置230がエラー状態ではないと判断した場合、ランゲージモニター226は、コマンド(例えば、印刷コマンド)を印刷装置230に送信する(S1108)。
続いて、ランゲージモニター226は、印刷装置230へのコマンドの送信が成功したかを判断する(S1109)。コマンドの送信が成功したと判断した場合、ランゲージモニター226は、スプーラ212にコマンドの送信が成功した旨を通知する(S1110)。同時或いは略同時に、ランゲージモニター226は、印刷装置230に送信したコマンドのサイズをスプーラ212に通知する(S1111)。
続いて、ランゲージモニター226は、全てのコマンドを受信したか否かを判断する(S1112)。全てのコマンドを受信していないと判断した場合、ランゲージモニター226は、S1101の処理を行い、全てのコマンドを受信するまで処理を続ける。他方、全てのコマンドを受信したと判断した場合、ランゲージモニター226は、処理を終了する(S1102)。
ここで、S1109において、ランゲージモニター226は、印刷装置230へのコマンドの送信が失敗したと判断した場合、スプーラ212にコマンドの送信が失敗した旨を通知し(S1113)、S1101の処理を行う。
また、ランゲージモニター226は、S1107において印刷装置230がエラー状態であると判断した場合、ステータスモニター227にエラー表示を指示し(S1114)、続いてS1115の処理を行う。ステータスモニター227での処理については後述する。
また、ランゲージモニター226は、S1106においてコマンドが設定エラー通知用コマンドであると判断した場合、ステータスモニター227にエラー表示を指示し(S1114)、続いてS1115の処理を行う。ステータスモニター227での処理については後述する。
S1115では、ランゲージモニター226は、スプーラ212に送信が成功した旨を通知する。続いて、ランゲージモニター226は、印刷装置230に送信したコマンドのサイズは"0byte"である旨を、スプーラ212に通知する(S1116)。
本実施形態では、S1115とS1116との処理をランゲージモニター226が行うことにより、スプーラ212が印刷ジョブの処理が失敗したことを認識することなく、プリンタドライバ220がエラー表示を行うことを可能としている。また、S1115の処理をランゲージモニター226が行うことにより、エラー表示上の操作部をユーザーが操作するまで印刷ジョブの処理をプリンタドライバ220が保留することを可能としている。なお、エラー表示上の操作部をユーザーが操作するまでの間、ランゲージモニター226は、スプーラ212から呼び出され、"0byte"の送信に成功した旨を通知し続ける。
ここで、ステータスモニター227によるエラー表示処理について説明する。ランゲージモニター226は、S1114でステータスモニター227を別プロセスで起動し、エラー情報を参照可能にする。エラー情報の共有のためのモジュール同士のプロセス間通信として、ファイル共有などが用いられる。ステータスモニター227は、エラー情報を参照し、図12に示すような対応するエラー画面(1210)を表示する。ユーザーが入力デバイスを介して「Cancel」ボタン(1211)を押下することで、ステータスモニター227は印刷ジョブのキャンセル指示を発行する。
ステータスモニター227は、OSの提供するAPI(Application Programming Interface)を利用してスプーラ212に対して印刷ジョブのキャンセル指示を依頼してもよい。若しくは、ステータスモニター227は、プロセス間通信によりランゲージモニター226に印刷ジョブのキャンセル指示の通知を行う。そして、ランゲージモニター226は、S1103で受信したと判断したコマンドのサイズを印刷装置230に送信した旨をスプーラ212に通知することで印刷ジョブを終了してもよい。
このように、ステータスモニター227が発行した印刷ジョブのキャンセル指示によって、レンダーフィルター225(若しくはスプーラ212)による設定エラー通知用コマンドの送信処理が完了する。これを受けて、印刷ジョブは終了する。
図4のフローチャートで説明したとおり、レンダーフィルター225は、設定エラー通知用コマンドを送信する場合、その前後でその他のコマンドを一切送信しない。その結果、ランゲージモニター226は、最初のコマンドのパース処理で、設定エラー通知用コマンドを受信する(S1106でYesの判定になる。)。その後、ランゲージモニター226は、ステータスモニター227が印刷ジョブのキャンセル指示を発行するまでの間、印刷装置230にコマンドを送信することはない。
このように、設定エラーが発生した場合は、印刷装置230にあらゆるコマンドは到達しない。通常、印刷装置230は、何らかのコマンドを受信すると、印刷を開始するための準備動作を開始する。設定エラーが発生したとき、このような準備動作は不必要である。すなわち、設定エラーが発生したときに印刷装置230に対してあらゆるコマンドを送信しないことによって、印刷装置230の不必要な準備動作を避けることができる。
上述した構成によれば、レンダーフィルター225が送信した印刷コマンドがOSのフィルター管理機能やスプーラ212によりバッファリングされるような環境下でも、設定エラー通知用コマンドをランゲージモニター226に確実に到達させることができる。これにより、ランゲージモニター226で、スプーラ212の仕組みを利用して無限待ちを発生させ、ユーザーに対してエラーの発生を安全かつ確実に報知することができる。また、設定エラー通知用コマンドが送信された後は、通常印刷コマンド生成処理がスキップされるので、ユーザーからの応答後、印刷ジョブは速やかに終了する。
仮にレンダーフィルター225がステータスモニター227に直接エラーの表示を依頼する場合、ユーザーに確実に情報を報知するには、ユーザーからの応答を無限に待ち続ける処理がレンダーフィルター225の処理において必要になる。このような処理をレンダーフィルター225が行うことは、想定外に印刷ジョブが終了した場合にはプログラムが正しく終了しないなどの危険性があり、好ましくない。
また、レンダーフィルター225は、特殊なプロセス上で動作するOSのフィルター管理機能により呼び出されるので、自身でエラーを報知するためのエラー画面を表示することができない。仮にフィルターから別のプロセスを起動し、前記プロセス上で印刷ジョブを処理するような構成をとる場合、前記プロセスでエラー画面を表示することは可能である。ただし、そのような独自の構成は、OSに組み込むドライバとして認可されない可能性がある。
本実施形態は、上述の内容を踏まえてなされたもので、本実施形態によれば、OSの標準的な印刷システムの環境下においても、安全かつ確実にエラーを報知することができる。
なお、本実施形態では、透明インクを用いたフォームファイル作成処理、フォーム合成印刷処理を示したが、透明インクを用いないフォームファイル作成処理、フォーム合成印刷処理を採用してもよい。例えば、透明インクを用いないCMYKといったカラーインクを塗布する目的で用いられるフォームファイルについても、本実施形態が適用可能である。
<第2の実施形態>
本実施形態では、一般的に普及しているパソコン1にMicrosoft社のWindows(登録商標)をOSとして使用し、スプールデータとしてEMF(Enhanced Meta File)データを用いる印刷システムについて説明する。本実施形態の構成は、第1の実施形態で説明した構成と基本的に同様である。ただし、プリンタドライバ220の構成のうち、レイアウトフィルター222とプレビューフィルター223との処理が不図示のプリントプロセッサ、レンダーフィルター225の処理が不図示のグラフィックスドライバによって実施される点が主に異なる。
以下、図13を参照して、グラフィックスドライバが実施する透明インク塗布モードに関する設定エラーの判定を中心とするメイン処理を、図4で説明したレンダーフィルター225のメイン処理との差分を中心に詳細に説明する。図13は、グラフィックスドライバによるメイン処理プログラムに係るフローチャートの一例を示す図である。なお、第1の実施形態と同様の構成については説明を適宜省略する。
S1301からS1311までの処理は、図4のS401からS411までの処理と同等である。本実施形態においては、スプーラ212がバッファリングしたコマンドを強制送信させる(フラッシュさせる)ための手段がスプーラ212により提供されている。したがって、S1312では、グラフィックスドライバは、S1311で送信した設定エラー通知用コマンドを確実にランゲージモニター226に送信するために、スプーラ212に対してコマンドのフラッシュを指示する。これにより、設定エラー通知用コマンドが、ランゲージモニター226に到達することを保証できるので、グラフィックスドライバは、S1313ではスプーラ212に対して失敗を示す情報を返却し、印刷ジョブをキャンセルする。
第1の実施形態のように、印刷ジョブ中の各処理をレンダーフィルター225が能動的に行う構成の場合、レンダーフィルター225が印刷ジョブ中の一部の処理をスキップすることは、容易かつ高速である。
しかしながら、本実施形態に示すEMFをスプールデータとするプリンタドライバでは、印刷ジョブ中に含まれる印刷命令1つ1つに対して、グラフィックスドライバの対応する関数が毎回呼び出される。そのため、グラフィックスドライバで印刷ジョブの一部の処理をスキップするには、全ての関数に処理をスキップする仕組みが必要となる。また、全ての関数で処理をスキップしても、呼び出し回数が増えれば、それだけで一定の処理時間を要する。
そこで、本実施形態では、S1313で印刷ジョブをキャンセルすることにより、EMFをスプールデータとするような印刷システム下においても、速やかに印刷ジョブを終了させることができる。
また、グラフィックスドライバは、スプーラ212によって起動される。第1の実施形態と同様に、特殊なプロセス下で動作するので、自身でエラー画面を表示することはできない。そこで、本実施形態でも第1の実施形態と同様に、パソコン1は、ランゲージモニター226及びステータスモニター227を介してエラー画面を表示する。したがって、本実施形態の構成によれば、EMFをスプールデータとする印刷システムにおいても、OSの標準的な印刷システムを利用する範疇で、安全かつ確実にエラーを報知することができる。
<第3の実施形態>
本実施形態における、レンダーフィルター225による、色変換情報指定機能に関する設定エラーの判定を中心とするメイン処理を、図14を参照して詳細に説明する。図14は、レンダーフィルター225によるメイン処理プログラムに係るフローチャートの一例を示す図である。なお、第1の実施形態と同様の構成については説明を適宜省略する。また、本実施形態では、印刷装置230が、透明インクを用いる構成としてもよいし、透明インクを用いない構成としてもよい。
まず、レンダーフィルター225は、印刷ジョブ中の印刷設定情報を参照し、色変換情報ファイルを指定するモードであるかを判定する(S1401)。色変換情報ファイルとは、印刷装置230に依存する色空間への変換に必要な情報を格納したファイルである。色変換情報ファイルは、通常、プリンタドライバ220の一部として提供されるが、ユーザーにより作成されて提供されてもよい。
本実施形態では、ユーザーインターフェースモジュール221を介して色変換情報ファイルを指定するモードが有効にされることで、レンダーフィルター225は、任意の色変換情報ファイルを選択することができる。すなわち、色変換情報ファイルが指定されたと判断した場合、レンダーフィルター225は、印刷設定情報に基づいて自動的に実行する色変換処理の代わりに、指定された色変換情報ファイルを用いた色変換処理を行う(S1403〜S1413)。この機能を用いることにより、ユーザーは、目的や好みに応じた色変換情報ファイルを用いた色変換をプリンタドライバ220に指示することができる。
S1401において、色変換情報ファイルを指定するモードではないと判断した場合、レンダーフィルター225は、図6で示した通常の印刷処理を行う(S1402)。他方、色変換情報ファイルを指定するモードであると判断した場合、レンダーフィルター225は、指定された色変換情報ファイルを正常に初期化できるかを確認する(S1403)。この処理は、指定された色変換情報ファイルが利用可能であるかを判定することを目的としている。より具体的には、レンダーフィルター225は、まず、印刷ジョブ中の印刷設定情報を参照し、指定された色変換情報ファイルのファイル名を取得する。次に、レンダーフィルター225は、OSの提供するAPIにより得られる色変換情報ファイルの格納場所に、前述の色変換情報ファイルが存在するかを確認する。存在すると判断した場合、レンダーフィルター225は、色変換情報ファイルの初期化が正しく実施できるかを判定する。この初期化処理は、プリンタドライバ220が提供するプログラム、及びOSの提供する機能のいずれを利用して実施してもよい。以上のような処理を全て正常に実施できた場合、レンダーフィルター225は、S1403において、指定された色変換情報ファイルの初期化に成功したと判断する。
ここで、パソコン1は、不図示のネットワークインターフェースを経由して他のパソコンと同一のネットワーク上に配置することができる。さらに、OSは、印刷装置230が接続されていないパソコン(クライアント)上のプリンタドライバで生成された印刷ジョブを、ネットワーク上の印刷装置230が接続されたパソコン(サーバー)上で動作するプリンタドライバに転送する機能を有する。このような構成下においては、クライアント上でユーザーが指定した色変換情報ファイルが、サーバー側に存在しない場合がある。
したがって、本実施形態では、S1403で指定された色変換情報ファイルの初期化に失敗した場合、ユーザーにエラーを通知して印刷ジョブを終了する。実行されるS1404からS1406までの処理は、S411からS413までの処理と同等である。これらの処理により、ユーザーに確実にエラーが通知された後、印刷ジョブは速やかに終了する。
S1403において、指定された色変換情報ファイルの初期化に成功したと判断した場合、レンダーフィルター225は、ラスタライズ処理を行う(S1407)。この処理は、S601の処理と同等である。続いて、レンダーフィルター225は、色変換情報ファイルを用いた色変換を行う(S1408)。より具体的には、色変換情報ファイルに基づいて生成した色変換定義を用いて、ラスタライズ処理により生成されたRGB値を変化させる。これらの処理は、プリンタドライバ220が提供するプログラム、及びOSの提供する機能の何れを利用して実施してもよい。
次に、レンダーフィルター225は、このようにして変換したRGB値を、濃度信号で表現するための出力系のCMYK系データに色変換する処理等を含む、第二色変換処理を行う(S1409)。続いて、レンダーフィルター225は、二値化処理を行い(S1410)、コマンド付加処理及び送信処理を行う(S1411)。S1410及びS1411の処理については、S603及びS604の処理と同等である。
そして、レンダーフィルター225は、S1412で全ページが終了したかを判定し、残りページがあると判断した場合、処理の対象を次のページに進める(S1413)。他方、残りページがなくなったと判断した場合、レンダーフィルター225は、処理を終了する。
このように、本実施形態では、指定された色変換情報ファイルの初期化に失敗した場合、ユーザーにエラーを確実に通知して印刷ジョブを終了することで、ユーザーの期待と異なる色変換が実施された印刷がなされることを防止する。
また、第2の実施形態に示した、EMFをスプールデータとして用いる印刷システムに、本実施形態の機能を適用することも可能である。この場合、図14の処理は、グラフィックスドライバによって実行され、グラフィックスドライバは、S1404からS1406までの処理の代わりに、S1311からS1313までの処理を実行する。
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
上述した実施形態の構成によれば、印刷ジョブの設定エラーをより適切に表示することができる。
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。

Claims (17)

  1. コマンドを生成する際にエラーが発生したか否かを判断する判断手段と、
    フォームファイル作成モードが現在の印字モードで使用不可能である場合に情報を保存する保存手段と、
    前記判断手段が前記エラーは発生したと判断した場合にエラーコマンドを生成し、前記判断手段が前記エラーは発生しなかったと判断した場合にフォームファイルを生成する生成手段と、
    前記生成手段が生成した前記コマンドが前記エラーコマンドである場合にエラーを表示し、前記生成手段が生成した前記コマンドが前記フォームファイルである場合に前記フォームファイル保存する制御手段と、を有し、
    前記判断手段は、前記保存手段が前記情報を保存した場合に、前記エラーが発生したと判断することを特徴とする情報処理装置。
  2. 記判断手段は、指定されたフォームファイルが存在しない場合に、前記エラーが発生したと判断することを特徴とする請求項1に記載の情報処理装置。
  3. 前記判断手段は、上限数以上のフォームファイルが存在する場合に、前記エラーが発生したと判断することを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記判断手段は、フォーム名が不正である場合に、前記エラーが発生したと判断することを特徴とする請求項1乃至3の何れか1項に記載の情報処理装置。
  5. 前記制御手段は、前記エラーコマンドをプリンタに送信しない制御をすることを特徴とする請求項1乃至4の何れか1項に記載の情報処理装置。
  6. 設定値の組み合わせによって、前記印字モードを決定する決定手段をさらに有することを特徴とする請求項1に記載の情報処理装置。
  7. 前記設定値は、印刷媒体の種類と、カラー/モノクロと、縁なし印刷と、印刷品質の設定値を含むことを特徴とする請求項に記載の情報処理装置。
  8. 前記判断手段は、設定された色変換情報ファイルの初期化に失敗した場合に、前記エラーが発生したと判断することを特徴とする請求項1乃至7の何れか1項に記載の情報処理装置。
  9. 情報処理装置が実行するエラー表示方法であって、
    コマンドを生成する際にエラーが発生したか否かを判断する判断ステップと、
    フォームファイル作成モードが現在の印字モードで使用不可能である場合に情報を保存する保存ステップと、
    前記判断ステップにおいて前記エラーは発生したと判断した場合にエラーコマンドを生成し、前記判断ステップにおいて前記エラーは発生しなかったと判断した場合にフォームファイルを生成する生成ステップと、
    前記生成ステップにおいて生成した前記コマンドが前記エラーコマンドである場合にエラーを表示し、前記生成ステップにおいて生成した前記コマンドが前記フォームファイルである場合に前記フォームファイルを保存する制御ステップと、を有し、
    前記判断ステップでは、前記保存ステップにおいて前記情報を保存した場合に、前記エラーが発生したと判断することを特徴とするエラー表示方法。
  10. コンピュータを、
    コマンドを生成する際にエラーが発生したか否かを判断する判断手段と、
    フォームファイル作成モードが現在の印字モードで使用不可能である場合に情報を保存する保存手段と、
    前記判断手段が前記エラーは発生したと判断した場合にエラーコマンドを生成し、前記判断手段が前記エラーは発生しなかったと判断した場合にフォームファイルを生成する生成手段と、
    前記生成手段が生成した前記コマンドが前記エラーコマンドである場合にエラーを表示し、前記生成手段が生成した前記コマンドが前記フォームファイルである場合に前記フォームファイルを保存する制御手段と、して機能させ、
    前記判断手段は、前記保存手段が前記情報を保存した場合に、前記エラーが発生したと判断することを特徴とするプログラム。
  11. 前記判断手段は、指定されたフォームファイルが存在しない場合に、前記エラーが発生したと判断することを特徴とする請求項10に記載のプログラム。
  12. 前記判断手段は、上限数以上のフォームファイルが存在する場合に、前記エラーが発生したと判断することを特徴とする請求項10又は11に記載のプログラム。
  13. 前記判断手段は、フォーム名が不正である場合に、前記エラーが発生したと判断することを特徴とする請求項10乃至12の何れか1項に記載のプログラム。
  14. 前記制御手段は、前記エラーコマンドをプリンタに送信しない制御をすることを特徴とする請求項10乃至13の何れか1項に記載のプログラム。
  15. 前記コンピュータを、
    設定値の組み合わせによって、前記印字モードを決定する決定手段としてさらに機能させることを特徴とする請求項10に記載のプログラム。
  16. 前記設定値は、印刷媒体の種類と、カラー/モノクロと、縁なし印刷と、印刷品質の設定値を含むことを特徴とする請求項15に記載のプログラム。
  17. 前記判断手段は、設定された色変換情報ファイルの初期化に失敗した場合に、前記エラーが発生したと判断することを特徴とする請求項10乃至16の何れか1項に記載のプログラム。
JP2010194153A 2010-08-31 2010-08-31 情報処理装置、エラー表示方法、及びプログラム Active JP5665429B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010194153A JP5665429B2 (ja) 2010-08-31 2010-08-31 情報処理装置、エラー表示方法、及びプログラム
US13/217,648 US20120050782A1 (en) 2010-08-31 2011-08-25 Information processing apparatus, error display method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010194153A JP5665429B2 (ja) 2010-08-31 2010-08-31 情報処理装置、エラー表示方法、及びプログラム

Publications (3)

Publication Number Publication Date
JP2012053560A JP2012053560A (ja) 2012-03-15
JP2012053560A5 JP2012053560A5 (ja) 2013-10-31
JP5665429B2 true JP5665429B2 (ja) 2015-02-04

Family

ID=45696884

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010194153A Active JP5665429B2 (ja) 2010-08-31 2010-08-31 情報処理装置、エラー表示方法、及びプログラム

Country Status (2)

Country Link
US (1) US20120050782A1 (ja)
JP (1) JP5665429B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5660391B2 (ja) * 2011-09-06 2015-01-28 株式会社ダイフク 物品搬送設備
JP6115340B2 (ja) * 2012-08-29 2017-04-19 株式会社リコー 情報処理装置、プリントシステムおよびプログラム
JP2014106570A (ja) * 2012-11-22 2014-06-09 Ricoh Co Ltd 情報処理装置、ジョブ処理制御方法、及びジョブ処理制御プログラム
JP6877963B2 (ja) * 2016-11-18 2021-05-26 キヤノン株式会社 画像形成装置、画像形成装置の制御方法、およびプログラム
JP7350525B2 (ja) * 2019-06-12 2023-09-26 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6260938B1 (en) * 1996-04-23 2001-07-17 Canon Kabushiki Kaisha Ink-jet printing method and apparatus for printing with inks of different densities
JPH10297050A (ja) * 1997-02-28 1998-11-10 Canon Inc 出力制御装置、出力制御方法、画像処理装置、画像処理方法及び記憶媒体
JPH11342652A (ja) * 1998-05-29 1999-12-14 Olympus Optical Co Ltd 画像印刷装置
US6632042B1 (en) * 2000-07-11 2003-10-14 Avery Dennison Corporation Printed sheet protector system and method
JP2004078372A (ja) * 2002-08-13 2004-03-11 Canon Inc 情報処理装置およびオーバレイ印刷制御方法およびコンピュータが読み取り可能な記憶媒体およびプログラム
JP2004195972A (ja) * 2002-12-06 2004-07-15 Hitachi Printing Solutions Ltd 印刷装置、プログラム及び記憶媒体
US8310713B2 (en) * 2002-12-24 2012-11-13 Konica Minolta Business Technologies, Inc. Image forming device, image forming program, computer readable recording medium on which the program is recorded, and image forming method
JP4078215B2 (ja) * 2003-01-22 2008-04-23 キヤノン株式会社 記録装置、情報処理装置、および記録システム
US20060115309A1 (en) * 2003-05-08 2006-06-01 Shigeki Matsunaga Streamlining cpu utilisation by delaying transactions
JP4432380B2 (ja) * 2003-07-08 2010-03-17 セイコーエプソン株式会社 印刷領域に応じてドットの記録率を変える印刷
JP4344921B2 (ja) * 2003-08-11 2009-10-14 セイコーエプソン株式会社 Ui制御装置、ui制御方法、ui制御プログラム、印刷制御装置、印刷制御方法および印刷制御プログラム
JP4420183B2 (ja) * 2003-08-11 2010-02-24 セイコーエプソン株式会社 印刷制御装置、印刷制御方法および印刷制御プログラム
JP4379577B2 (ja) * 2003-09-01 2009-12-09 セイコーエプソン株式会社 周辺機器制御装置、周辺機器制御方法および周辺機器制御プログラム
JP4289987B2 (ja) * 2003-11-25 2009-07-01 キヤノン株式会社 印刷制御装置、印刷制御方法およびコンピュータプログラム
US7447695B2 (en) * 2004-12-27 2008-11-04 Kabushiki Kaisha Toshiba Computer apparatus
US7726765B2 (en) * 2005-04-28 2010-06-01 Seiko Epson Corporation Printing method, storage medium, medium, printing apparatus, method for detecting end of image, method for detecting carrying unevenness of medium, and device for detecting carrying unevenness of medium
US8134754B2 (en) * 2005-09-20 2012-03-13 Oki Data Corporation Image forming apparatus, image forming system, and image processing apparatus
JP4484806B2 (ja) * 2005-11-30 2010-06-16 キヤノン株式会社 記録システム、記録方法、ホスト装置、プログラム、及び、コンピュータ可読媒体
JP4799206B2 (ja) * 2006-02-20 2011-10-26 キヤノン株式会社 印刷制御用プログラムおよび印刷制御装置及び印刷制御方法
JP4817968B2 (ja) * 2006-05-30 2011-11-16 キヤノン株式会社 帳票処理装置及び方法
KR20070120752A (ko) * 2006-06-20 2007-12-26 삼성전자주식회사 오버레이 기능을 수행하는 화상형성방법 및 시스템
JP2008037000A (ja) * 2006-08-08 2008-02-21 Seiko Epson Corp 印刷装置
JP5127233B2 (ja) * 2007-01-05 2013-01-23 キヤノン株式会社 画像形成装置及び画像形成方法
JP4991401B2 (ja) * 2007-06-07 2012-08-01 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
JP2009193410A (ja) * 2008-02-15 2009-08-27 Sharp Corp 情報処理装置、情報処理システム、コンピュータプログラム、及びそのコンピュータプログラムを記録した記録媒体
JP4630350B2 (ja) * 2008-02-29 2011-02-09 株式会社沖データ 画像処理装置および画像処理方法
JP5111222B2 (ja) * 2008-04-25 2013-01-09 キヤノン株式会社 画像処理装置及び画像処理方法
JP5264423B2 (ja) * 2008-11-10 2013-08-14 キヤノン株式会社 印刷管理装置とその制御方法
JP4826659B2 (ja) * 2009-06-29 2011-11-30 コニカミノルタビジネステクノロジーズ株式会社 カラープロファイルを用いた画像処理装置の制御プログラム、及び画像処理装置による色変換処理の結果の確認方法

Also Published As

Publication number Publication date
US20120050782A1 (en) 2012-03-01
JP2012053560A (ja) 2012-03-15

Similar Documents

Publication Publication Date Title
US7916342B2 (en) Print control apparatus and method
JP5072676B2 (ja) 情報処理装置、情報処理方法及び印刷システム
JP4945479B2 (ja) 印刷処理装置、印刷処理方法、印刷処理プログラム及び記録媒体
US8422041B2 (en) Image processing apparatus, method, and program for converting postscript data with variable print data into a PDF format considering an attribute of plural drawing objects
US9218147B2 (en) Conditionally displaying errors in a printing apparatus
JP2004126871A (ja) 印刷制御方法および装置
JP5665429B2 (ja) 情報処理装置、エラー表示方法、及びプログラム
JP2018147259A (ja) 情報処理装置、プログラム、記憶媒体、情報処理方法
WO2022148150A1 (zh) 打印控制方法、打印驱动装置及计算机可读存储介质
US7315404B2 (en) Monitoring job status for grouped print jobs
US20060017955A1 (en) Selective graphic instance rendering
EP2933716B1 (en) Image output system, image output method, document server
US7365868B2 (en) Information processing apparatus, method of controlling printing, computer program, and printing system
CN104375821B (zh) 信息处理设备、信息处理方法和处理设备
JP4891052B2 (ja) 情報処理装置、プレビュー方法、プログラム、及び記憶媒体
JP5654883B2 (ja) 情報処理装置およびその制御方法、並びにプログラム
JP4627683B2 (ja) 印刷システム、印刷システムの制御方法及びプログラム
US20120257243A1 (en) Information processing apparatus, print control method, and storage medium
JP2023076287A (ja) 情報処理装置とその制御方法、及びプログラム
JPH07186457A (ja) サーバ装置
JP2007323363A (ja) 印刷システム、印刷装置、印刷制御方法、プログラム及び記憶媒体
JP3305071B2 (ja) サーバ装置
JP2006205602A (ja) 画像出力装置、画像出力方法および画像出力プログラム
JPH10124270A (ja) プリント・システム
JPH10269033A (ja) プリンタ制御方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130902

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130911

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140312

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140415

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140611

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141111

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141209

R151 Written notification of patent or utility model registration

Ref document number: 5665429

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151