(57)【特許請求の範囲】
【請求項１】
所定の文書データに対応する画像を印刷する印刷装置と相互に通信可能に接続され当該印刷装置に前記画像を印刷させる印刷制御装置であって、
前記印刷装置による印刷に異常が生じた場合、当該印刷異常を生じた文書データに対応し当該印刷異常の原因に関連する所定の項目の内容を履歴データとして蓄積する履歴管理手段と、
前記印刷装置により印刷されるべき文書データについて前記項目の内容が前記履歴データの内容と一致または類似するか否かを判断する履歴判断手段と、
前記履歴判断手段により一致または類似すると判断される場合、前記印刷されるべき文書データを印刷する前に当該印刷を中止するか否かの指示を受け付け、当該印刷を中止する指示が受け付けられるときには当該印刷を中止する制御手段と、
当該印刷制御装置の外部に備えられ前記履歴データを記憶する記憶装置と相互に通信を行うための通信手段と
を備え、
前記履歴管理手段は、前記印刷装置に印刷させるための制御プログラムであるプリンタドライバのバージョン、前記印刷装置の制御プログラムであるファームウェアのバージョン、および前記文書データを生成または変更するための制御プログラムであるアプリケーションプログラムのバージョンのいずれか１つ以上を示すバージョン情報を含む履歴データを、前記通信手段を介して前記記憶装置に蓄積し、
前記履歴判断手段は、前記通信手段を介して前記記憶装置から前記履歴データを参照して判断し、
前記制御手段は、前記印刷装置により印刷されるべき文書データを印刷するときの前記バージョン情報が前記履歴データに含まれるバージョン情報よりも新しい場合、前記履歴判断手段により一致または類似すると判断されるか否かにかかわらず、前記印刷されるべき文書データの印刷を続行することを特徴とする、印刷制御装置。
【請求項２】
前記履歴管理手段は、前記印刷装置による印刷に異常が生じた後に、当該異常が生じた印刷に関連する印刷が成功した場合、当該印刷が成功した文書データに対応し印刷成功の原因に関連する所定の項目の内容を、前記印刷異常の原因に関連する所定の項目の内容と関連づけて履歴データとして蓄積することを特徴とする、請求項１に記載の印刷制御装置。
【請求項３】
前記履歴管理手段は、印刷に異常が生じた文書データ毎に、前記履歴データを蓄積することを特徴とする、請求項１に記載の印刷制御装置。
【請求項４】
前記履歴管理手段は、前記項目として印刷に異常が生じた文書データに付されたファイル名を含む履歴データを蓄積し、
前記履歴判断手段は、前記印刷装置により印刷されるべき文書データのファイル名が前記履歴データに含まれるファイル名と一致または類似するか否かを判断することを特徴とする、請求項３に記載の印刷制御装置。
【請求項５】
前記履歴管理手段は、前記印刷装置に印刷させるための制御プログラムであるプリンタドライバにより定められる前記印刷装置における印刷に関連する印刷条件情報、および前記文書データを生成または変更するための制御プログラムであるアプリケーションプログラムにより定められる前記印刷装置における印刷に関連する印刷設定情報のいずれか１つ以上を含む履歴データを蓄積することを特徴とする、請求項１に記載の印刷制御装置。
【請求項６】
当該印刷制御装置の外部に備えられる複数の印刷装置から１つ以上の印刷装置を選択する指示を受け付ける選択受付手段をさらに備え、
前記通信手段は、前記複数の前記印刷装置とそれぞれ相互に通信可能であり、
前記制御手段は、前記履歴判断手段により一致または類似すると判断される場合、前記選択手受付手段により選択を受け付けられた印刷装置以外の印刷装置により印刷されるべき文書データが印刷可能であるか否かを判断し、印刷可能であると判断される場合当該印刷可能である旨を表示することを特徴とする、請求項１に記載の印刷制御装置。
【請求項７】
前記制御手段は、前記履歴データの内容のうち少なくとも一部を表示することを特徴とする、請求項１から請求項６までのいずれか１項に記載の印刷制御装置。
【請求項８】
所定の文書データに対応する画像を印刷する印刷装置と、当該印刷装置と相互に通信可能に接続され当該印刷装置に前記画像を印刷させる印刷制御装置とを備える印刷システムであって、
印刷に異常が生じた場合、当該印刷異常を生じた文書データに対応し当該印刷異常の原因に関連する所定の項目の内容を履歴データとして蓄積する履歴管理手段と、
前記印刷装置により印刷されるべき文書データについて前記項目の内容が前記履歴データの内容と一致または類似するか否かを判断する履歴判断手段と、
前記履歴判断手段により一致または類似すると判断される場合、前記印刷されるべき文書データを印刷する前に当該印刷を中止するか否かの指示を受け付け、当該印刷を中止する指示が受け付けられるときには当該印刷を中止する制御手段と
を備え、
前記履歴管理手段は、前記印刷装置および前記印刷制御装置のいずれか一方に備えられ、前記印刷装置に印刷させるための制御プログラムであるプリンタドライバのバージョン、前記印刷装置の制御プログラムであるファームウェアのバージョン、および前記文書データを生成または変更するための制御プログラムであるアプリケーションプログラムのバージョンのいずれか１つ以上を示すバージョン情報を含む履歴データをに蓄積し、
前記制御手段は、前記印刷装置により印刷されるべき文書データを印刷するときの前記バージョン情報が前記履歴データに含まれるバージョン情報よりも新しい場合、前記履歴判断手段により一致または類似すると判断されるか否かにかかわらず、前記印刷されるべき文書データの印刷を続行し、
前記履歴判断手段は、前記印刷装置および前記印刷制御装置のいずれか一方に備えられ、
前記履歴データは、前記印刷装置および前記印刷制御装置のいずれか一方に備えられる所定の記憶装置に格納されることを特徴とする、印刷システム。
【請求項９】
前記履歴判断手段は、前記印刷装置に備えられ、
前記履歴管理手段は、前記ファームウェアのバージョン情報を少なくとも含む履歴データを蓄積することを特徴とする、請求項８に記載の印刷システム。
【請求項１０】
所定の文書データに対応する画像を印刷する印刷装置と相互に通信可能に接続され当該印刷装置に前記画像を印刷させる印刷制御装置の制御方法であって、
前記印刷装置による印刷に異常が生じた場合、当該印刷異常を生じた文書データに対応し当該印刷異常の原因に関連する所定の項目の内容を履歴データとして蓄積する履歴管理ステップと、
前記印刷装置により印刷されるべき文書データについて前記項目の内容が前記履歴データの内容と一致または類似するか否かを判断する履歴判断ステップと、
前記履歴判断ステップにおいて一致または類似すると判断される場合、前記印刷されるべき文書データを印刷する前に当該印刷を中止するか否かの指示を受け付け、当該印刷を中止する指示が受け付けられるときには当該印刷を中止する制御ステップと、
当該印刷制御装置の外部に備えられ前記履歴データを記憶する記憶装置と相互に通信を行うための通信ステップと
を備え、
前記履歴管理ステップでは、前記印刷装置に印刷させるための制御プログラムであるプリンタドライバのバージョン、前記印刷装置の制御プログラムであるファームウェアのバージョン、および前記文書データを生成または変更するための制御プログラムであるアプリケーションプログラムのバージョンのいずれか１つ以上を示すバージョン情報を含む履歴データを、前記通信ステップを経て前記記憶装置に蓄積し、
前記履歴判断ステップでは、前記通信ステップを経て前記記憶装置から前記履歴データを参照して判断し、
前記制御ステップでは、前記印刷装置により印刷されるべき文書データを印刷するときの前記バージョン情報が前記履歴データに含まれるバージョン情報よりも新しい場合、前記履歴判断ステップにおいて一致または類似すると判断されるか否かにかかわらず、前記印刷されるべき文書データの印刷を続行することを特徴とする、印刷制御装置の制御方法。
【請求項１１】
所定の文書データに対応する画像を所定の印所定の文書データに対応する画像を印刷する印刷装置と相互に通信可能に接続され当該印刷装置に前記画像を印刷させる印刷制御装置に、
前記印刷装置による印刷に異常が生じた場合、当該印刷異常を生じた文書データに対応し当該印刷異常の原因に関連する所定の項目の内容を履歴データとして蓄積する履歴管理ステップと、
前記印刷装置により印刷されるべき文書データについて前記項目の内容が前記履歴データの内容と一致または類似するか否かを判断する履歴判断ステップと、
前記履歴判断ステップにおいて一致または類似すると判断される場合、前記印刷されるべき文書データを印刷する前に当該印刷を中止するか否かの指示を受け付け、当該印刷を中止する指示が受け付けられるときには当該印刷を中止する制御ステップと、
当該印刷制御装置の外部に備えられ前記履歴データを記憶する記憶装置と相互に通信を行うための通信ステップと
を実行させるためのプログラムであって、
前記履歴管理ステップでは、前記印刷装置に印刷させるための制御プログラムであるプリンタドライバのバージョン、前記印刷装置の制御プログラムであるファームウェアのバージョン、および前記文書データを生成または変更するための制御プログラムであるアプリケーションプログラムのバージョンのいずれか１つ以上を示すバージョン情報を含む履歴データを、前記通信ステップを経て前記記憶装置に蓄積し、
前記履歴判断ステップでは、前記通信ステップを経て前記記憶装置から前記履歴データを参照して判断し、
前記制御ステップでは、前記印刷装置により印刷されるべき文書データを印刷するときの前記バージョン情報が前記履歴データに含まれるバージョン情報よりも新しい場合、前記履歴判断ステップにおいて一致または類似すると判断されるか否かにかかわらず、前記印刷されるべき文書データの印刷を続行することを特徴とする、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷すべき画像に関連する処理を行う印刷制御装置に関し、より詳細には画像を形成する際に発生するエラーに関連する処理を行う印刷制御装置に関する。
【背景技術】
【０００２】
一般に、オフィス等ではパーソナルコンピュータ等にプリンタが接続されており、このパーソナルコンピュータにおいてユーザにより画像を含む各種文書が作成され、作成された当該文書がプリンタから印刷される。
【０００３】
このとき、プリンタにおいて何らかの原因によりエラー（動作異常）が発生すると、処理が停止されるか、またはユーザにより当該エラーを無視して（スキップして）処理が続行されるのみであって、発生したエラーが再度発生することを防止するための処理（以下「エラー防止処理」という）は、エラーが発生するたびにユーザの手により行われることが多かった。
【０００４】
そこで、従来より、このエラー防止処理を自動化するため、発生したエラーに対して行われたエラー防止処理を記憶し、同様のエラーが生じた場合に対応するエラー防止処理を呼び出して実行するデータ処理装置がある（特許文献１を参照）。この従来のデータ処理装置（印刷制御装置）によれば、発生したエラーに対して実際に行われたエラー防止処理を同一のエラーに対して同様に行うことができるので、繰り返し発生する同一のエラーを自動的に防止することができる。
【特許文献１】特開平１０−２８７０２８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、上記従来の印刷制御装置では、エラーが実際に発生した場合に初めて処理が開始されるので、エラーを未然に防ぐことができず、無駄な印刷を避けることができない。また、エラー防止処理には自動化できないものも多いので、自動化を前提とした上記従来の印刷制御装置では、ユーザにエラーを防止または回避するための適切な情報を適宜提示することができない。
【０００６】
そこで本発明では、印刷時においてエラーが実際に発生する前に、発生すべきエラーを未然に回避することができ、またそのための情報をユーザに対して提示することができる印刷制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
第１の発明は、所定の文書データに対応する画像を印刷する印刷装置と相互に通信可能に接続され当該印刷装置に前記画像を印刷させる印刷制御装置であって、
前記印刷装置による印刷に異常が生じた場合、当該印刷異常を生じた文書データに対応し当該印刷異常の原因に関連する所定の項目の内容を履歴データとして蓄積する履歴管理手段と、
前記印刷装置により印刷されるべき文書データについて前記項目の内容が前記履歴データの内容と一致または類似するか否かを判断する履歴判断手段と、
前記履歴判断手段により一致または類似すると判断される場合、前記印刷されるべき文書データを印刷する前に当該印刷を中止するか否かの指示を受け付け、当該印刷を中止する指示が受け付けられるときには当該印刷を中止する制御手段と、
当該印刷制御装置の外部に備えられ前記履歴データを記憶する記憶装置と相互に通信を行うための通信手段と
を備え、
前記履歴管理手段は、前記印刷装置に印刷させるための制御プログラムであるプリンタドライバのバージョン、前記印刷装置の制御プログラムであるファームウェアのバージョン、および前記文書データを生成または変更するための制御プログラムであるアプリケーションプログラムのバージョンのいずれか１つ以上を示すバージョン情報を含む履歴データを、前記通信手段を介して前記記憶装置に蓄積し、
前記履歴判断手段は、前記通信手段を介して前記記憶装置から前記履歴データを参照して判断し、
前記制御手段は、前記印刷装置により印刷されるべき文書データを印刷するときの前記バージョン情報が前記履歴データに含まれるバージョン情報よりも新しい場合、前記履歴判断手段により一致または類似すると判断されるか否かにかかわらず、前記印刷されるべき文書データの印刷を続行することを特徴とする。
【０００８】
第２の発明は、第１の発明において、
前記履歴管理手段は、前記印刷装置による印刷に異常が生じた後に、当該異常が生じた印刷に関連する印刷が成功した場合、当該印刷が成功した文書データに対応し印刷成功の原因に関連する所定の項目の内容を、前記印刷異常の原因に関連する所定の項目の内容と関連づけて履歴データとして蓄積することを特徴とする。
【０００９】
第３の発明は、第１の発明において、
前記履歴管理手段は、印刷に異常が生じた文書データ毎に、前記履歴データを蓄積することを特徴とする。
【００１０】
第４の発明は、第３の発明において、
前記履歴管理手段は、前記項目として印刷に異常が生じた文書データに付されたファイル名を含む履歴データを蓄積し、
前記履歴判断手段は、前記印刷装置により印刷されるべき文書データのファイル名が前記履歴データに含まれるファイル名と一致または類似するか否かを判断することを特徴とする。
【００１２】
第５の発明は、第１の発明において、
前記履歴管理手段は、前記印刷装置に印刷させるための制御プログラムであるプリンタドライバにより定められる前記印刷装置における印刷に関連する印刷条件情報、および前記文書データを生成または変更するための制御プログラムであるアプリケーションプログラムにより定められる前記印刷装置における印刷に関連する印刷設定情報のいずれか１つ以上を含む履歴データを蓄積することを特徴とする。
【００１４】
第６の発明は、第１の発明において、
当該印刷制御装置の外部に備えられる複数の印刷装置から１つ以上の印刷装置を選択する指示を受け付ける選択受付手段をさらに備え、
前記通信手段は、前記複数の前記印刷装置とそれぞれ相互に通信可能であり、
前記制御手段は、前記履歴判断手段により一致または類似すると判断される場合、前記選択手受付手段により選択を受け付けられた印刷装置以外の印刷装置により印刷されるべき文書データが印刷可能であるか否かを判断し、印刷可能であると判断される場合当該印刷可能である旨を表示することを特徴とする。
【００１５】
第７の発明は、第１から第６までのいずれか１つの発明において、
前記制御手段は、前記履歴データの内容のうち少なくとも一部を表示することを特徴とする。
【００１６】
第８の発明において、所定の文書データに対応する画像を印刷する印刷装置と、当該印刷装置と相互に通信可能に接続され当該印刷装置に前記画像を印刷させる印刷制御装置とを備える印刷システムであって、
印刷に異常が生じた場合、当該印刷異常を生じた文書データに対応し当該印刷異常の原因に関連する所定の項目の内容を履歴データとして蓄積する履歴管理手段と、
前記印刷装置により印刷されるべき文書データについて前記項目の内容が前記履歴データの内容と一致または類似するか否かを判断する履歴判断手段と、
前記履歴判断手段により一致または類似すると判断される場合、前記印刷されるべき文書データを印刷する前に当該印刷を中止するか否かの指示を受け付け、当該印刷を中止する指示が受け付けられるときには当該印刷を中止する制御手段と
を備え、
前記履歴管理手段は、前記印刷装置および前記印刷制御装置のいずれか一方に備えられ、前記印刷装置に印刷させるための制御プログラムであるプリンタドライバのバージョン、前記印刷装置の制御プログラムであるファームウェアのバージョン、および前記文書データを生成または変更するための制御プログラムであるアプリケーションプログラムのバージョンのいずれか１つ以上を示すバージョン情報を含む履歴データをに蓄積し、
前記制御手段は、前記印刷装置により印刷されるべき文書データを印刷するときの前記バージョン情報が前記履歴データに含まれるバージョン情報よりも新しい場合、前記履歴判断手段により一致または類似すると判断されるか否かにかかわらず、前記印刷されるべき文書データの印刷を続行し、
前記履歴判断手段は、前記印刷装置および前記印刷制御装置のいずれか一方に備えられ、
前記履歴データは、前記印刷装置および前記印刷制御装置のいずれか一方に備えられる所定の記憶装置に格納されることを特徴とする。
【００１７】
第９の発明は、第８の発明において、
前記履歴判断手段は、前記印刷装置に備えられ、
前記履歴管理手段は、前記ファームウェアのバージョン情報を少なくとも含む履歴データを蓄積することを特徴とする。
【００１８】
第１０の発明は、所定の文書データに対応する画像を印刷する印刷装置と相互に通信可能に接続され当該印刷装置に前記画像を印刷させる印刷制御装置の制御方法であって、
前記印刷装置による印刷に異常が生じた場合、当該印刷異常を生じた文書データに対応し当該印刷異常の原因に関連する所定の項目の内容を履歴データとして蓄積する履歴管理ステップと、
前記印刷装置により印刷されるべき文書データについて前記項目の内容が前記履歴データの内容と一致または類似するか否かを判断する履歴判断ステップと、
前記履歴判断ステップにおいて一致または類似すると判断される場合、前記印刷されるべき文書データを印刷する前に当該印刷を中止するか否かの指示を受け付け、当該印刷を中止する指示が受け付けられるときには当該印刷を中止する制御ステップと、
当該印刷制御装置の外部に備えられ前記履歴データを記憶する記憶装置と相互に通信を行うための通信ステップと
を備え、
前記履歴管理ステップでは、前記印刷装置に印刷させるための制御プログラムであるプリンタドライバのバージョン、前記印刷装置の制御プログラムであるファームウェアのバージョン、および前記文書データを生成または変更するための制御プログラムであるアプリケーションプログラムのバージョンのいずれか１つ以上を示すバージョン情報を含む履歴データを、前記通信ステップを経て前記記憶装置に蓄積し、
前記履歴判断ステップでは、前記通信ステップを経て前記記憶装置から前記履歴データを参照して判断し、
前記制御ステップでは、前記印刷装置により印刷されるべき文書データを印刷するときの前記バージョン情報が前記履歴データに含まれるバージョン情報よりも新しい場合、前記履歴判断ステップにおいて一致または類似すると判断されるか否かにかかわらず、前記印刷されるべき文書データの印刷を続行することを特徴とする。
【００１９】
第１１の発明は、所定の文書データに対応する画像を印刷する印刷装置と相互に通信可能に接続され当該印刷装置に前記画像を印刷させる印刷制御装置に、
前記印刷装置による印刷に異常が生じた場合、当該印刷異常を生じた文書データに対応し当該印刷異常の原因に関連する所定の項目の内容を履歴データとして蓄積する履歴管理ステップと、
前記印刷装置により印刷されるべき文書データについて前記項目の内容が前記履歴データの内容と一致または類似するか否かを判断する履歴判断ステップと、
前記履歴判断ステップにおいて一致または類似すると判断される場合、前記印刷されるべき文書データを印刷する前に当該印刷を中止するか否かの指示を受け付け、当該印刷を中止する指示が受け付けられるときには当該印刷を中止する制御ステップと、
当該印刷制御装置の外部に備えられ前記履歴データを記憶する記憶装置と相互に通信を行うための通信ステップと
を実行させるためのプログラムであって、
前記履歴管理ステップでは、前記印刷装置に印刷させるための制御プログラムであるプリンタドライバのバージョン、前記印刷装置の制御プログラムであるファームウェアのバージョン、および前記文書データを生成または変更するための制御プログラムであるアプリケーションプログラムのバージョンのいずれか１つ以上を示すバージョン情報を含む履歴データを、前記通信ステップを経て前記記憶装置に蓄積し、
前記履歴判断ステップでは、前記通信ステップを経て前記記憶装置から前記履歴データを参照して判断し、
前記制御ステップでは、前記印刷装置により印刷されるべき文書データを印刷するときの前記バージョン情報が前記履歴データに含まれるバージョン情報よりも新しい場合、前記履歴判断ステップにおいて一致または類似すると判断されるか否かにかかわらず、前記印刷されるべき文書データの印刷を続行することを特徴とする、プログラムである。
【発明の効果】
【００２０】
第１の発明によれば、印刷装置による印刷に異常が生じた場合、関連項目の内容を履歴データとして蓄積し、印刷しようとする文書データについて項目の内容が履歴データの内容と一致または類似する場合、印刷する前に当該印刷を中止するか否かの指示を受け付け、当該印刷を中止する指示が受け付けられるときには当該印刷を中止するので、発生すべきエラー（印刷異常）を未然に回避することができ、またそのための履歴情報をユーザに対して提示することができる。
さらに、プリンタドライバ、ファームウェア、およびアプリケーションプログラムのバージョンのいずれか１つ以上を示すバージョン情報が履歴データに含まれるので、バージョンが古いことにより印刷が失敗することが多いことを考慮して、エラーを未然に回避するための情報を利用者に提示することができる。
さらにまた、印刷制御装置の外部に備えられ記憶装置に履歴データが蓄積されるので、その他の多くの印刷制御装置による履歴データの蓄積を前提とした履歴データの共有化を図ることができ、エラーを未然に回避するための十分な量及び質の情報を利用者に提示することができる。
【００２１】
第２の発明によれば、印刷に異常が生じた後に当該異常が生じた印刷に関連する印刷が成功した場合、その印刷成功原因に関連する項目の内容を履歴データとして蓄積するので、発生すべきエラーを未然に回避する方法を示す上記成功原因を含む履歴情報をユーザに対して提示することができる。よって、ユーザは特別な知識がなくても容易にエラーを未然に回避することができる。
【００２２】
第３の発明によれば、印刷に異常が生じた文書データ毎に履歴データが蓄積されるので、履歴データの管理が容易となる。
【００２３】
第４の発明によれば、印刷に異常が生じた文書データに付されたファイル名を含む履歴データが蓄積され、印刷されるべき文書データのファイル名が履歴データに含まれるファイル名と一致または類似するか否かが判断される。このようにファイル名が同一または類似する場合、文書データの内容が共通することが多く、そのため印刷条件等の上記項目もほとんど共通することが多い。そのため、印刷失敗原因もほとんど共通するので、これを抽出して提示することにより、エラーを未然に回避するための情報を利用者に提示することができる。
【００２５】
第５の発明によれば、プリンタドライバにより定められる印刷条件情報、およびアプリケーションプログラムにより定められる印刷設定情報のいずれか１つ以上が履歴データに含まれるので、これらの設定内容が適切でないため印刷が失敗することが多いことを考慮して、エラーを未然に回避するための情報を利用者に提示することができる。
【００２７】
第６の発明によれば、複数の印刷装置のうち印刷が可能である印刷装置がある場合に印刷可能である旨が表示されるので、利用者が容易に印刷装置を選択することによりエラーを未然に回避するための情報を利用者に提示することができる。
【００２８】
第７の発明によれば、履歴データの内容のうち少なくとも一部が表示されるので、利用者は表示された履歴データに基づき、容易にエラーを回避することができる。特に、第２の発明における上記成功原因を含む履歴情報をユーザに対して表示することにより、ユーザは特別な知識がなくても容易にエラーを未然に回避することができる。
【００２９】
第８の発明によれば、第１の発明における効果を本印刷システムにおいて同様に奏することができる。
【００３０】
第９の発明によれば、印刷装置におけるファームウェアについて、第８の発明における効果と同様の効果を本印刷システムにおいて容易に奏することができる。
【００３１】
第１０の発明によれば、第１の発明における効果を本データ処理方法においても同様に奏することができる。
【００３２】
第１１の発明によれば、第１の発明における効果を本プログラムにおいても同様に奏することになる。
【発明を実施するための最良の形態】
【００３３】
以下、本発明の各実施形態について添付図面を参照して説明する。
【００３４】
＜１．  第１の実施形態＞
＜１．１  装置全体の構成＞
図１は、本発明における第１の実施形態に係る印刷制御装置およびプリンタ（印刷装置）の機能的な構成を示すブロック図である。
【００３５】
印刷制御装置１０は、ＣＲＴディスプレイまたはＬＣＤ等からなる表示装置とキーボードおよびマウスやタッチペンなどのポインティングデバイス等からなる入力装置とを含む操作表示部１１と、ハードディスクなどの磁気記憶媒体を含む記憶部１２と、ＣＰＵ（Central Processing Unit ）および主メモリ（半導体メモリ）などにより構成される主制御部１３と、プリンタ２０などの周辺機器等と相互に通信可能に接続するための通信制御部１４とを備える。
【００３６】
この印刷制御装置１０に備えられる主制御部１３は、一般的なパーソナルコンピュータにオペレーティングシステム（不図示）と、プリンタ２０による印刷を制御するためのプリンタドライバ１５と、画像を含む文書を作成するワードプロセッサ・ソフトウェアやドロー・ソフトウェアなどのアプリケーションプログラム１６とにより構成されている。
【００３７】
この印刷制御装置１０の外部には、文書データを紙に印刷出力するプリンタ２０が設けられており、この印刷制御装置１０とプリンタ２０と所定の接続ケーブルにより相互に通信可能に接続される。なお、この接続ケーブルによる通信方式には、周知のＵＳＢ（Universal Serial Bus）接続方式や各種パラレルインタフェース接続方式などが採用される。
【００３８】
印刷制御装置１０に備えられる主制御部１３のプリンタドライバ１５は、アプリケーションプログラム１６に含まれる（文字や画像などの）文書の印刷を行う文書印刷指示部１６１から印刷すべき文書データを受け取りまた利用者から各種印刷条件を設定するための操作入力を受け取る文書データ取得部１５１と、文書データ取得部１５１において受け取られた文書データからプリンタに解釈可能なページ記述言語（ＰＤＬ：Page Description Language）により記述される印刷データを生成する印刷データ生成部１５２と、当該文書データの印刷履歴に関連する所定の履歴データを作成または更新するとともに後述する各種判断を行う履歴管理判断部１５３とを備える。なお、これらの構成要素の一部または全部は、アプリケーションプログラム１６などその他のプログラムに備えられていてもよい。
【００３９】
印刷制御装置１０に備えられる主制御部１３のアプリケーションプログラム１６は、前述したような文書を作成または編集するなどの各種機能を実現する構成要素のほか、さらに当該文書を印刷指示する機能を有する上記文書印刷指示部１６１を備えている。
【００４０】
なお、主制御部１３のこれらの構成要素の機能は、典型的には半導体メモリからなる主メモリに展開されたプリンタドライバ１５およびアプリケーションプログラム１６などをＣＰＵが実行することにより実現される。ここで、上記プログラムは、例えば、そのプログラムを記録した記録媒体であるＣＤ−ＲＯＭによって提供される。すなわち、上記プログラムの記録媒体としてのＣＤ−ＲＯＭが印刷制御装置１０内に補助記憶装置として内蔵された図示されないＣＤ−ＲＯＭ駆動装置に装着され、そのＣＤ−ＲＯＭから上記プログラムが読み出されて記憶部１２であるハードディスク装置にインストールされる。また、上記プログラムは、ＣＤ−ＲＯＭ以外の記録媒体や通信回線を介して提供されてもよい。そして、本印刷制御装置１０の起動のための所定操作がなされると、ハードディスク装置にインストールされた所定プログラムは、上記主メモリに転送されてそこに展開され（一時的に格納され）、主制御部１３内のＣＰＵによって実行される。これにより、主制御部１３の各部の制御処理が実現される。
【００４１】
この印刷制御装置１０は、具体的にはオペレーティングシステムとして例えばウィンドウズ（登録商標）が使用される場合、当該オペレーティングシステムにより提供されるサブシステムの１つである図示されないＧＤＩ(Graphic Device Interface)の機能を介して印刷処理を行う。すなわち、アプリケーションプログラム１６が印刷を指示するためにＧＤＩへのＡＰＩ(Application Programming Interface)コールを行うと、ＧＤＩはプリンタドライバ１５を動的にリンクし、プリンタドライバ１５はＧＤＩから与えられるデータを受け取りまた場合によって利用者により設定された各種印刷条件を受け取ることにより、プリンタ２０が解釈可能な印刷データを生成し出力する。なお、この印刷データは、スプーラを介してプリンタ２０に与えられる。このような構成により、アプリケーションプログラム１６の種類に関わりなく、プリンタドライバ１５は印刷のための動作を行うことができる。ここで、上記印刷データの形式に限定はなく、例えばビットマップデータであってもよい。
【００４２】
また、プリンタ２０は、ＬＣＤ等からなる表示装置とタッチパネルやボタンスイッチ等からなる入力装置とを含む操作表示部２１と、ハードディスクなどの磁気記憶媒体を含む記憶部２２と、ＣＰＵおよび半導体メモリなどにより構成される主制御部２３と、印刷制御装置１０と相互に通信可能に接続するための通信制御部２４と、用紙に画像を形成して当該用紙を装置外へ排出するためのプリント部２５とを備える。なお、プリント部２５は、画像形成のための各種方式（例えば電子写真方式やインクジェット方式など）のいずれかに応じた周知の構成であるため、詳しい説明は省略する。
【００４３】
このプリンタ２０に備えられる主制御部２３は、印刷制御装置１０から与えられる受け取られた印刷データに基づきこれに対応するビットマップ形式のデータを生成するビットマップデータ生成部２３１と、ビットマップデータを生成するときに発生する（またはその後に発生する）エラーを検知し、通信制御部２４を介して印刷制御装置１０へ通知するエラー通知部２３２と、印刷が完了したことを通信制御部２４を介して印刷制御装置１０へ通知する印刷完了通知部２３３とを備える。
【００４４】
なお、主制御部２３のこれらの構成要素の機能は、主制御部１３と同様、半導体メモリに格納された（具体的には書き込み専用メモリから読み出されて主メモリに展開された）所定プログラムをＣＰＵが実行することにより実現される。このプログラムは、ファームウェアと呼ばれており、上記書き込み専用メモリに予め格納されているが、ＣＤ−ＲＯＭやそれ以外の記録媒体または通信回線を介して提供されてもよい。
【００４５】
また、主制御部２３は、トナー切れや用紙切れなどプリンタ２０の画像形成に関わる状態を管理するための図示されない機器状態管理部や、操作表示部２１を介して利用者による印刷枚数や濃度指定などの指示入力を受け付け利用者に各種情報を提示するフロントパネル制御部など構成要素を含むが、これらの構成要素は周知であるのでその説明を省略する。
【００４６】
＜１．２  プリンタの動作＞
プリンタ２０は、印刷制御装置１０からのデータを受け取ることにより動作を開始するが、説明の便宜上このプリンタ２０の動作について先に説明した後に印刷制御装置１０の動作について説明する。また、本実施形態におけるプリンタ２０は、一般的な従来のプリンタと同様の動作を行う。以下、詳しく説明する。
【００４７】
図２は、このプリンタ２０における主制御部２３の処理の流れを示すフローチャートである。この図２に示すステップＳ１００において、ビットマップデータ生成部２３１は、通信制御部２４を介して印刷制御装置１０から印刷データを受け取る。
【００４８】
ステップＳ１１０において、ビットマップデータ生成部２３１は、受け取った上記印刷データを解釈することにより画像形成のためのビットマップデータの生成を開始し、生成されたビットマップデータを一旦記憶部２２に（部分的に）順次格納する。なお、このような印刷データからビットマップデータへの生成手法（展開手法）は周知であるので、説明は省略する。
【００４９】
ステップＳ１２０において、エラー通知部２３２は、上記ステップＳ１１０におけるビットマップデータ生成部２３１による展開処理（ビットマップデータ生成処理）にエラーが検知されたか否かを判定する。判定の結果、エラーが検知された場合（ステップＳ１２０においてＹｅｓの場合）にはステップＳ１３０の処理へ進み、検知されない場合（ステップＳ１２０においてＮｏの場合）には、ステップＳ１４０の処理へ進む。なお、ステップＳ１１０において開始されたビットマップデータ生成部２３１による展開処理は、上記エラー通知部２３２による判定処理と並行して行われ、エラーが致命的なものでない限り継続して行われる。
【００５０】
ステップＳ１３０において、エラー通知部２３２は、検知されたエラーの内容を通信制御部２４を介して印刷制御装置１０へ送信する。なお、エラーが致命的なものである場合には上記展開処理は終了し、さらにプリンタ２０の動作自体が終了する。
【００５１】
ステップＳ１４０において、ビットマップデータ生成部２３１は、上記ステップＳ１１０において開始された展開処理が終了したか否かを判定する。判定の結果、展開処理が終了した場合（ステップＳ１４０においてＹｅｓの場合）にはステップＳ１５０の処理へ進み、展開処理が終了していない場合（ステップＳ１４０においてＮｏの場合）には、ステップＳ１２０の処理へ戻り展開処理が終了するまで上記処理が繰り返される（Ｓ１４０→Ｓ１２０→Ｓ１３０→Ｓ１４０）。
【００５２】
ステップＳ１５０において、ビットマップデータ生成部２３１は、記憶部２２に格納されたビットマップデータを読み出し、プリント部２５に与えることにより印刷を開始する。プリント部２５は、受け取ったビットマップデータにより示される画像を順次用紙上に形成し、当該用紙を装置外へ排出する。
【００５３】
ステップＳ１６０において、印刷完了通知部２３３は、上記ステップＳ１５０において開始された印刷が終了したか否かを判定する。判定の結果、展開処理が終了した場合（ステップＳ１６０においてＹｅｓの場合）にはステップＳ１７０の処理へ進み、印刷が終了していない場合（ステップＳ１６０においてＮｏの場合）には、印刷が終了するまで上記判定が繰り返される（Ｓ１６０→Ｓ１６０）。なお、このときの周知の異常動作時の終了処理については説明を省略する。
【００５４】
ステップＳ１７０において、印刷完了通知部２３３は、所定の印刷完了通知を通信制御部２４を介して印刷制御装置１０へ送信する。その後、プリンタ２０は一旦処理を終了し、後述するように利用者が所定のアプリケーションプログラムを起動して印刷指示を行うことにより再びプリンタドライバ１５から印刷データが送信されると、ステップＳ１００の処理が開始される。なお、エラーが致命的なものである場合には上記印刷完了通知が送信されることなく、プリンタ２０の動作が終了する。
【００５５】
＜１．３  印刷制御装置におけるプリンタドライバの動作＞
次に、印刷制御装置１０におけるプリンタドライバ１５の動作について説明する。図３は、このプリンタドライバ１５における処理の流れを示すフローチャートである。この図３に示すステップＳ２００において、文書データ取得部１５１は、アプリケーションプログラム１６における文書印刷指示部１６１から印刷指示を受け取ると、まず印刷部数やカラーモード、グラフィックスモードなどの印刷条件を設定するため利用者からの操作入力を受け付ける操作画面を操作表示部１１に表示し、印刷条件を設定する操作入力および印刷開始を指示する操作入力（例えば印刷開始ボタンをマウスで押下する入力）を受け付ける。この操作画面等の内容は一般的なプリンタドライバと同様の周知の構成であるのでその説明を省略する。なお、上記印刷条件は、例えば文書データ取得部１５１により、アプリケーションプログラム１６における文書印刷指示部１６１から受け付けてもよい。
【００５６】
次にステップＳ２１０において、文書データ取得部１５１は、アプリケーションプログラム１６における文書印刷指示部１６１から与えられた文書データを受け取る。
【００５７】
続いてステップＳ２２０において、印刷データ生成部１５２は、文書データ取得部１５１において受け取られた文書データおよび印刷条件に基づき、ＰＤＬで記述された印刷データの生成を開始する。なお、この印刷データの生成処理は、他の処理と並行して行われる。
【００５８】
続いてステップＳ２３０において、履歴管理判断部１５３は、印刷データ生成部１５２から生成中の印刷データに対応する文書データの各種情報および印刷条件を受けとり、当該文書データと同一または類似の文書データの履歴データを全ての履歴データから抽出するサブルーチン処理（履歴抽出処理）を行う。
【００５９】
図４は、履歴抽出処理の詳細な処理の流れを示すフローチャートである。この図４に示すステップＳ２３１において、履歴管理判断部１５３は、ステップＳ２１０において取得された文書データと同一または類似のファイル名を有する文書データが存在するか否かを判定する。この判定は全ての履歴データを対象に行われる。判定の結果、存在する場合（ステップＳ２３１においてＹｅｓの場合）には、ステップＳ２３５における処理へ進み、上記存在しない場合（ステップＳ２３１においてＮｏの場合）には、ステップＳ２３２の処理へ進む。
【００６０】
ここで上記判定対象である全ての履歴データをテーブル形式のデータとした履歴テーブルの構成について説明する。図５は、履歴テーブルの構成例を示す図である。この履歴テーブル（履歴データ）は、印刷が失敗したときの各種状態を示す失敗履歴データと、一度以上印刷が失敗した後に印刷が成功したときの各種状態を示す成功履歴データとを含む。これら失敗履歴データおよび成功履歴データは、図５に示す「種別」の項目で区別されている。また、これらは対応する文書データ毎に１組とされて、順に番号が付されている。この番号は、図５に示す「番号」の項目に格納されている。
【００６１】
図５に示されるように、履歴テーブルは、管理を容易にするため文書データ毎に履歴データが作成されており、文書データに対応する上記各種状態を示す項目として、上記「番号」および「種別」のほか、文書データの名称を示す「ファイル名」、当該文書名を作成したアプリケーション名を示す「アプリ名」、当該アプリケーションにおける印刷に関連する設定内容を示す「アプリ設定」、プリンタドライバにおいて設定された各種設定内容を示す「印刷条件」、プリンタドライバのバージョンを示す「Ｄｒｖ」、プリンタ２０におけるファームウェアのバージョンを示す「Ｆｒｍ」、当該文書データを印刷しようとした利用者の名称を示す「利用者」、発生したエラーや印刷結果の異常などを含む印刷異常の内容を示す「内容」、印刷異常の原因を示す「原因」、および後述するように利用者により入力されたコメント内容を示す「コメント」を含んでいる。なお、さらにアプリケーションのバージョンを上記項目として含んでいてもよい。
【００６２】
なお、成功履歴データにおいて、これらの項目のうちのいくつかが空欄となっているが、これは対応する失敗履歴データと同内容であることを示している。これら失敗履歴データおよび成功履歴データの生成処理等については後述する。また、上記項目のうち、プリンタ２０におけるファームウェアのバージョンは、プリンタ２０からの通知を受けることにより得られるが、一般的なプリンタはファームウェアのバージョンを印刷制御装置１０に通知することはないので、その場合は当該項目「Ｆｒｍ」は省略されてもよい。
【００６３】
図４に示すステップＳ２３１において、履歴管理判断部１５３は、具体的には上記履歴テーブルにおける「ファイル名」を参照し、ステップＳ２１０において取得された文書データと同一または類似のファイル名を有する文書データが存在するか否かを判定する。例えば、文書データのファイル名が「週報ＷＷＷ」である場合、このファイル名は図５に示すファイル名「週報ＸＸＸ」および「週報ＹＹＹ」と、週報というキーワードで一致しているので、類似するファイル名が存在すると判定される。このようにファイル名が同一または類似する場合、文書データの内容が共通することが多く、そのため印刷条件等の上記項目もほとんど共通することが多い。そのため、印刷失敗原因もほとんど共通するので、これを抽出して提示することにより、エラーを未然に回避するための情報を利用者に提示することができる。
【００６４】
次に、ステップＳ２３２において、履歴管理判断部１５３は、履歴テーブルの「印刷条件」の項目を参照し、ステップＳ２１０において取得された文書データを印刷する際に使用されるフォームオーバレイファイルと同一のフォームオーバレイファイルが存在するか否かを判定する。なお、フォームオーバレイファイルとは、頻繁に使用される印刷書式（例えば納品書の書式など）を保存したファイルであって、利用者によってこのフォームオーバレイファイルが適宜に指定されることにより、アプリケーションの種類やその設定内容にかかわらず所望の書式で簡単に文書データの印刷を行うことができる。上記判定の結果、同一のフォームオーバレイファイルが存在する場合（ステップＳ２３２においてＹｅｓの場合）には、ステップＳ２３５における処理へ進み、上記存在しない場合（ステップＳ２３２においてＮｏの場合）には、ステップＳ２３３の処理へ進む。
【００６５】
続いてステップＳ２３３において、履歴管理判断部１５３は、履歴テーブルの「印刷条件」の項目を参照し、ステップＳ２１０において取得された文書データを印刷する際に設定された所定の印刷条件と同一の印刷条件が存在するか否かを判定する。ここで、上記所定の印刷条件は、印刷異常と関連のないものが含まれないよう、複数の印刷条件のうち印刷異常を起こしやすいものまたはその組み合わせを参考に、予め定められるものとする。上記判定の結果、同一の印刷条件が存在する場合（ステップＳ２３３においてＹｅｓの場合）には、ステップＳ２３５における処理へ進み、上記存在しない場合（ステップＳ２３３においてＮｏの場合）には、ステップＳ２３４の処理へ進む。
【００６６】
次にステップＳ２３４において、履歴管理判断部１５３は、履歴テーブルの「アプリ名」および「アプリ設定」の項目を参照し、ステップＳ２１０において取得された文書データを印刷する際のアプリケーションの設定内容のうち所定の設定内容と（同一のアプリケーションにおける）同一の設定内容が存在するか否かを判定する。ここで、上記所定の設定内容は、上記と同様、印刷異常と関連のないものが含まれないよう、複数の設定内容のうち印刷異常を起こしやすいものまたはその組み合わせを参考に、予め定められるものとする。上記判定の結果、（同一のアプリケーションにおける）同一の設定内容が存在する場合（ステップＳ２３４においてＹｅｓの場合）には、ステップＳ２３５における処理へ進み、上記存在しない場合（ステップＳ２３４においてＮｏの場合）には、ステップＳ２３６の処理へ進む。
【００６７】
ステップＳ２３５において、履歴管理判断部１５３は、上記各ステップＳ２３１，Ｓ２３２，Ｓ２３３，Ｓ２３４のいずれかにおいて存在すると判定された項目を有する履歴データに対応する履歴テーブルの「Ｄｒｖ」（プリンタドライバのバージョン）よりも現在のプリンタドライバ１５のバージョンが新しいか否かを判定する。上記判定の結果、新しい場合（ステップＳ２３５においてＹｅｓの場合）には、ステップＳ２３６における処理へ進み、新しくない場合（ステップＳ２３５においてＮｏの場合）には、ステップＳ２３７の処理へ進む。なお、このステップＳ２３５の処理は、プリンタドライバのバージョンアップにより全ての印刷異常が解消されることを前提としているが、このような前提が成り立たない場合があることを考慮してこの処理を省略してもよい。また、このプリンタドライバのバージョンに代えてまたはこれとともにアプリケーションのバージョンが新しいか否かが判定されてもよい。
【００６８】
ステップＳ２３６において、履歴管理判断部１５３は、履歴データを抽出（特定）することなく、図３の処理へ復帰して続くステップＳ２４０の処理を行う。
【００６９】
また、ステップＳ２３７において、履歴管理判断部１５３は、上記各ステップＳ２３１，Ｓ２３２，Ｓ２３３，Ｓ２３４のいずれかにおいて存在すると判定された項目を有する履歴データを抽出（特定）し、図３の処理へ復帰して続くステップＳ２４０の処理を行う。なお、このような履歴データの抽出は、後述するように履歴データの更新等に使用するために特定されていればよいので、例えば対応する「番号」などが一時的に記憶されていれば足りる。
【００７０】
ここで履歴抽出処理の詳細な内容である図４に示す各処理は、まずステップＳ２３１において、履歴テーブルにおける「ファイル名」が最初に参照されるが、このことは印刷失敗原因がほとんど共通すると考えられる履歴を先に抽出することができる点で好ましい。また、次にステップＳ２３２において、履歴テーブルにおいてフォームオーバレイファイルのファイル名が参照されるが、このことは印刷失敗の原因となることが多いフォームオーバレイファイルに着目して履歴を抽出することができる点で好ましい。しかし、ステップＳ２３１〜Ｓ２３４における判断処理の順番は必ずしも図４に示す順番でなくてもよいし、並行的に判断されてもよい。
【００７１】
以上のような履歴抽出処理（ステップＳ２３０）が行われた後、図３に示されるステップＳ２４０において、履歴管理判断部１５３は、ステップＳ２３０において履歴データが抽出されたか否かを判定する。判定の結果、抽出された場合（ステップＳ２４０においてＹｅｓの場合）には、ステップＳ２５０における中止判断処理へ進み、抽出されなかった場合（ステップＳ２４０においてＮｏの場合）には、ステップＳ２６０の処理へ進む。
【００７２】
続いてステップＳ２５０において、履歴管理判断部１５３は、（ステップＳ２３０における抽出履歴処理により）抽出された履歴データを利用者に表示して印刷中止の判断を受け付けるサブルーチン処理（中止判断処理）を行う。
【００７３】
図６は、中止判断処理の詳細な処理の流れを示すフローチャートである。この図６に示すステップＳ２５１において、履歴管理判断部１５３は、ステップＳ２３０における抽出履歴処理により抽出された履歴データの内容を利用者に表示するとともに、利用者による印刷中止（または印刷続行）の指示入力を受け付ける。
【００７４】
図７は、利用者に表示される履歴データの内容を表す操作画面例を示す図である。この図７に示される操作画面には、履歴データの各項目のうち、発生内容、ファイル名、発生原因、およびユーザコメントが示されている。なお、ステップＳ２３０における抽出履歴処理により抽出された履歴データは、ここでは「番号」１の履歴データであるものとする。よって、図７では、「番号」１の履歴データの各項目に対応する内容が表示されている。
【００７５】
また、図７に示される操作画面には、「続行しますか？」という問い合わせに対する利用者による指示入力を受け付けるキャンセルボタンとＯＫボタンとが表示されており、利用者によって操作されるマウスによりＯＫボタンがクリックされると、履歴管理判断部１５３は印刷の続行指示を受け取り、キャンセルボタンがクリックされると、履歴管理判断部１５３は印刷の中止指示を受け取る。
【００７６】
次に図６に示されるステップＳ２５２において、履歴管理判断部１５３は、（ステップＳ２５１において）印刷の中止指示を受け取ったか否かを判定する。判定の結果、中止指示を受け取った場合（ステップＳ２５２においてＹｅｓの場合）には、ステップＳ２５３における処理へ進み、続行指示を受け取り中止指示を受け取らなかった場合（ステップＳ２５２においてＮｏの場合）には、図３の処理へ復帰して続くステップＳ２６０の処理を行う。
【００７７】
続いてステップＳ２５３において、履歴管理判断部１５３は、（ステップＳ２２０において開始され）他の処理と並行して行われている印刷データの生成を中止する。なお、生成が中止された印刷データは生成が完了している場合であっても破棄される。
【００７８】
次にステップＳ２５４において、履歴管理判断部１５３は、（ステップＳ２３０における抽出履歴処理により）抽出された履歴データが印刷条件に関連して抽出されたものであるか否か、すなわち印刷条件が印刷失敗の原因であるか否かを判定する。ここで、この印刷条件が印刷失敗の原因であるということは、具体的には当該履歴データが、ステップＳ２３２において印刷しようとする文書データとフォームオーバレイファイルが同じであると判定されたか、またはステップＳ２３３において、印刷しようとする文書データと所定の印刷条件が同じであると判定されたことを指す。
【００７９】
このような判定の結果、印刷条件が印刷失敗の原因である場合（ステップＳ２５４においてＹｅｓの場合）には、ステップＳ２５５における処理へ進み、印刷条件が印刷失敗の原因でない場合（ステップＳ２５４においてＮｏの場合）には、全ての処理が終了し、利用者がアプリケーションプログラムを起動して文書データの印刷指示を行うことにより処理が開始されると再びプリンタドライバ１５における（図３に示す）処理（Ｓ２００〜）が開始される。
【００８０】
続いてステップＳ２５５において、履歴管理判断部１５３は、上記印刷失敗の原因となった印刷条件を強調表示するとともに、それに代わる好ましい（成功履歴のある）印刷条件を利用者に示すための操作画面を操作表示部１１に表示し、印刷条件を設定する操作入力および印刷開始を指示する操作入力を受け付ける。そして、印刷開始を指示する操作入力が受け付けられると、図３に示すステップＳ２２０の処理に戻り、再設定された印刷条件に基づき再び印刷データの生成が開始される。
【００８１】
図８は、上記強調表示された印刷条件を含む操作画面例を示す図である。図８に示されるように、この操作画面は利用者のマウスによる操作入力により、印刷部数の設定、両面印刷に関する設定（片面印刷か、縦とじの両面印刷か、横とじの両面印刷かを指定するための設定）、Ｎｕｐ設定（１ページにＮ（Ｎは自然数）枚を集約印刷するための設定）、およびフォームオーバレイファイルを指定するための設定を受け付ける。
【００８２】
これらの設定自体は、一般的なプリンタドライバと同様の周知の構成であり、前述したステップＳ２００において常時される操作画面とほぼ同様であるが、このような周知の構成とは異なり、図８に示される操作画面では、印刷失敗の原因となった印刷条件であるフォームオーバレイファイルの名称「ファイルααα」が強調表示（ここでは反転表示）されており、またその下側近傍に印刷失敗の原因となった印刷条件に代わる好ましい（成功履歴のある）印刷条件であるフォームオーバレイファイルの名称「ファイルβββ」が表示されている。したがって、利用者は、これらの表示に従って、フォームオーバレイファイルを「ファイルααα」から「ファイルβββ」に変更し、あらためて（ＯＫボタンを押下して）印刷を続行することにより、簡単な操作で印刷異常を回避することができる。
【００８３】
なお、上記強調表示は、例えば項目の横に所定のマークが付されたり、項目の表示色が変更されるなど、利用者が印刷失敗の原因となった印刷条件であると判別しやすい表示がなされていればよい。
【００８４】
また、上記強調表示等に代えて、フォームオーバレイファイルの名称「ファイルααα」から自動的に「ファイルβββ」に変更し、変更されたフォームオーバレイファイルが表示されてもよい。
【００８５】
さらに、上記操作画面を表示することなく、また印刷開始を指示する操作入力を受け付けることなく、図３に示すステップＳ２２０の処理に戻り、自動的に再設定された印刷条件に基づき印刷データの生成が開始されてもよい。
【００８６】
以上のような中止判断処理（ステップＳ２５０）が行われた後、図３に示されるステップＳ２６０において、履歴管理判断部１５３は、ステップＳ２２０において開始され他の処理と並行して処理されている印刷データの生成処理が終了したか否かを判定する。判定の結果、終了した場合（ステップＳ２６０においてＹｅｓの場合）には、生成された印刷データをプリンタ２０に送信し（ステップＳ２７０）、終了していない場合（ステップＳ２６０においてＮｏの場合）には、印刷データ生成処理が終了するまで本判定処理が繰り返される（Ｓ２６０→Ｓ２６０）。
【００８７】
続いてステップＳ２８０において、履歴管理判断部１５３は、プリンタ２０から送信される通知、ここでは図２に示されるステップＳ１３０においてプリンタ２０から送信されるエラー通知、またはステップＳ１７０においてプリンタ２０から送信される印刷完了通知を受信する。
【００８８】
次にステップＳ２９０において、履歴管理判断部１５３は、ステップＳ２８０において受信した通知がエラー通知であるか否かを判定する。判定の結果、エラー通知である場合（ステップＳ２９０においてＹｅｓの場合）には、ステップＳ３００の失敗履歴処理に進み、エラー通知でない（すなわち印刷完了通知である）場合（ステップＳ２９０においてＮｏの場合）には、ステップＳ３１０の処理へ進む。
【００８９】
なお、上記ステップＳ２９０において、プリンタ２０が異常動作により停止するなどの理由により、エラー通知および印刷完了通知がプリンタ２０から所定時間送られてこない場合には、履歴管理判断部１５３は、エラー通知が送られてきた場合と同視してステップＳ３００の処理に進んでもよい。
【００９０】
続いてステップＳ３００において、履歴管理判断部１５３は、印刷が失敗した原因を後のエラー回避に利用するため、印刷が失敗した文書データに対応する履歴データを履歴テーブルに登録するサブルーチン処理（失敗履歴処理）を行う。
【００９１】
図９は、失敗履歴処理の詳細な処理の流れを示すフローチャートである。この図９に示すステップＳ３０１おいて、履歴管理判断部１５３は、失敗履歴データを更新するなどの履歴データに関する処理をキャンセルする指示入力を受け付ける。
【００９２】
図１０は、上記履歴データに関する処理をキャンセルする指示入力を受け付けるため利用者に表示される操作画面例を示す図である。この図１０に示されるように、この操作画面には、「プリンターからエラー通知がきています。」という利用者へのエラー内容の告知とともに、印刷失敗履歴に登録するか否かを問い合わせる文字と、その指示入力を受け付けるための２つのボタンが示されている。これら２つのボタンのうち、「いいえ」と記載されたボタンをマウス等でクリックすることにより、上記キャンセルの指示入力がなされ、「はい」と記載されたボタンをマウス等でクリックすることにより、上記キャンセルをすることなく、履歴データに関する処理を続行する旨の指示入力がなされる。
【００９３】
次に図９に示すステップＳ３０２において、履歴管理判断部１５３は、ステップＳ３０１において受け付けられた指示入力が履歴データに関する処理をキャンセルするものである否かを判定する。判定の結果、キャンセルするものである場合（ステップＳ３０２においてＹｅｓの場合）には、本失敗履歴処理は終了して図３の処理へ復帰し、その後また利用者がアプリケーションプログラムを起動して文書データの印刷指示を行うことにより処理が開始されると再びプリンタドライバ１５における（図３に示す）処理（Ｓ２００〜）が開始される。また、上記判定の結果、キャンセルするものでない（すなわち処理を続行する旨の指示入力である）場合（ステップＳ３０１においてＮｏの場合）には、ステップＳ３０３の処理へ進む。
【００９４】
続いてステップＳ３０３において、履歴管理判断部１５３は、ステップＳ２３０における履歴抽出処理により抽出された履歴データが存在するか否かを判定する。判定の結果、存在する場合（ステップＳ３０３においてＹｅｓの場合）には、ステップＳ３０４における処理へ進み、存在しない場合（ステップＳ３０３においてＮｏの場合）には、ステップＳ３０７の処理へ進む。
【００９５】
次にステップＳ３０４において、履歴管理判断部１５３は、ステップＳ２３０における履歴抽出処理により抽出された失敗履歴データを利用者に提示するとともに、今回の印刷失敗の内容を当該失敗履歴に反映させるための更新入力の有無および更新の内容を受け付ける。
【００９６】
図１２は、上記更新入力を受け付けるため利用者に表示される操作画面例を示す図である。この図１２に示されるように、この操作画面は、「更新する印刷失敗履歴」という項目と、「新規登録」という項目とが択一的に選択可能となっており、利用者により「新規登録」という項目が選択されると、今回の印刷失敗の内容を当該失敗履歴に反映させるための更新入力が無い旨の指示入力が受け付けられる。また、「更新する印刷失敗履歴」という項目が選択される場合、さらに抽出された失敗履歴データにおける各項目と一致する（または類似する）今回印刷が失敗した文書データの対応する項目に関連する１つ以上の選択肢が表示される。図１２では、「ファイル名」が同じであるという選択肢と、「アプリ設定」が同じであるという選択肢とが表示されており、このうち「ファイル名」が同じであるという選択肢が反転表示されていることからこの選択肢が選択の対象となっていることがわかる。また、その操作画面における右側部分には抽出された失敗履歴データの項目内容（「ファイル名」「アプリ名」「アプリ設定」など）が表示されている。
【００９７】
なお、図１２に示されるキャンセルボタンが押下されると、ステップＳ３０２においてキャンセルするものであると判定された場合と同様に、本失敗履歴処理は終了するものとする。
【００９８】
続いてステップＳ３０５において、履歴管理判断部１５３は、ステップＳ３０４において更新入力が受け付けられたか否か（具体的には図１２に示される「更新する印刷失敗履歴」の項目が選択されたか否か）を判定する。判定の結果、更新入力が受け付けられた場合（ステップＳ３０５においてＹｅｓの場合）には、ステップＳ３０６における処理へ進み、場合（ステップＳ３０５においてＮｏの場合）には、ステップＳ３０７の処理へ進む。
【００９９】
次にステップＳ３０６において、履歴管理判断部１５３は、印刷条件などの失敗履歴データの各項目と、今回印刷が失敗した文書データにおける各項目とを比較し、比較により得られる同一項目の異なる内容を示す差分データが抽出された失敗履歴データに追加または上書きされる。例えば、抽出された失敗履歴データの図５に示される「Ｄｒｖ」の項目が１．１であり、今回印刷が失敗した文書データではプリンタドライバのバージョンが１．２である場合には、当該失敗履歴データの「Ｄｒｖ」の項目が１．２に書き換えられる。このような抽出された失敗履歴データに対する差分データの追加または上書きは所定の規則に従って行われるものとする。また、図１２に示される操作画面には表示されていないが、本ステップＳ３０６において、履歴管理判断部１５３は、利用者による自由なコメント文を文字情報として受け付けることができるものとする。受け付けられた文字情報は、失敗履歴データの図５に示される「コメント」の項目に書き込まれる。なお、既存の失敗履歴データに差分データの追加または上書きを行うのではなく、新しい失敗履歴データを毎回追加し、同一の「番号」を付与することにより１組として取り扱ってもよい。
【０１００】
さらに、上記ステップＳ３０６において、履歴管理判断部１５３は、失敗履歴データに追加または上書きされるべき差分データの内容を利用者に提示してもよい。図１２は、差分データの内容を利用者に表示する操作画面例を示す図である。この図１２に示されるように、この操作画面は、抽出された失敗履歴データの項目の内容を「前回」として表示し、今回印刷が失敗した文書データの項目の内容を「今回」として表示している。なお、図１２に示されるキャンセルボタンが押下されると前述と同様に、本失敗履歴処理は終了するものとする。
【０１０１】
またステップＳ３０７において、履歴管理判断部１５３は、今回印刷が失敗した文書データにおける各項目を参照して、新たに失敗履歴データを作成する。なお、失敗履歴データの例については図５において前述した。
【０１０２】
上記ステップＳ３０６，Ｓ３０７の処理が終了すると、本失敗履歴処理は終了して図３の処理へ復帰し、その後また利用者がアプリケーションプログラムを起動して文書データの印刷指示を行うことにより処理が開始されると再びプリンタドライバ１５における（図３に示す）処理（Ｓ２００〜）が開始される。
【０１０３】
以上の処理は、前述したように図３に示されるステップＳ２９０において、受信された通知がエラー通知であると判定された場合に行われ、次のステップＳ３１０以下の処理は上記通知がエラー通知でないと判定された場合に行われる。
【０１０４】
ステップＳ３１０において、履歴管理判断部１５３は、ステップＳ２３０における履歴抽出処理により抽出された履歴データが存在するか否かを判定する。判定の結果、存在する場合（ステップＳ３１０においてＹｅｓの場合）には、ステップＳ３２０における処理へ進み、存在しない場合（ステップＳ３１０においてＮｏの場合）には、エラーもなく失敗履歴データもない以上、本失敗履歴処理は終了する。
【０１０５】
次にステップＳ３２０において、履歴管理判断部１５３は、今回の印刷が良好であるか否かを利用者に評価させるための操作入力を受け付ける。この評価は、文書データを印刷した用紙を利用者が実際に目視しなければ判明しないような、プリンタ２０からエラー通知がない場合にも発生することがある印刷異常（例えば文字化けなど）を検出するために行われる必要がある。
【０１０６】
図１３は、上記評価を受け付けるため利用者に表示される操作画面例を示す図である。この図１３に示されるように、この操作画面には、「正しく印刷されましたか？」という利用者への質問文とともに、その答えである評価が良好か否かを受け付けるための２つのボタンが示されている。これら２つのボタンのうち、「はい」と記載されたボタンをマウス等でクリックすることにより、上記評価が良好である旨の操作入力が受け付けられ、「いいえ」と記載されたボタンをマウス等でクリックすることにより、上記評価が良好でない旨の操作入力が受け付けられる。
【０１０７】
次にステップＳ３３０において、履歴管理判断部１５３は、ステップＳ３２０において受け付けられた利用者による評価が良好であるか否かを判定する。判定の結果、良好である場合（ステップＳ３３０においてＹｅｓの場合）には、ステップＳ３４０における成功履歴処理へ進み、良好でない場合（ステップＳ３３０においてＮｏの場合）には、ステップＳ３００における失敗履歴処理へ進む。このステップＳ３００における失敗履歴処理の詳細な流れおよび操作画面例については前述したが、上記ステップＳ３３０において利用者の評価が良好でない場合には、エラーが生じていないことから、図１１および図１２において前述した操作画面例に代えて、図１４に示すような操作画面例が好ましい。
【０１０８】
図１４は、利用者の評価が良好でない場合に失敗履歴の内容を受け付けるため利用者に表示される操作画面例を示す図である。この図１４に示されるように、この操作画面は、正しく印刷されなかった内容として、「文字化け」「データの一部欠け」「印刷時間がかかる」といった（動作異常によるエラーが生じていない場合に）比較的多く生じる印刷異常を複数選択可能に受け付ける項目と、その他の印刷異常を説明する利用者の文字入力を受け付ける項目とが示されている。このような操作画面例によれば、利用者が印刷結果を良好でないと評価した理由を正確に受け付けることができる。
【０１０９】
続いてステップＳ３４０において、履歴管理判断部１５３は、印刷が（以前に失敗しているにもかかわらず今回）成功した原因を後のエラー回避に利用するため、印刷が成功した文書データに対応する履歴データを履歴テーブルに登録するサブルーチン処理（成功履歴処理）を行う。
【０１１０】
図１５は、成功履歴処理の詳細な処理の流れを示すフローチャートである。この図１５に示すステップＳ３１４おいて、履歴管理判断部１５３は、成功履歴データを更新するなどの履歴データに関する処理をキャンセルする指示入力を受け付ける。
【０１１１】
図１６は、上記履歴データに関する処理をキャンセルする指示入力を受け付けるため利用者に表示される操作画面例を示す図である。この図１６に示されるように、この操作画面には、「印刷失敗履歴に登録しますか？」という利用者への質問文とともに、その答えである履歴データに登録するか否かの指示を受け付けるための２つのボタンが示されている。これら２つのボタンのうち、「はい」と記載されたボタンをマウス等でクリックすることにより、履歴データへの登録を指示する、すなわち登録処理をキャンセルしない旨の指示入力が受け付けられ、「いいえ」と記載されたボタンをマウス等でクリックすることにより、上記登録処理をキャンセルする旨の指示入力が受け付けられる。
【０１１２】
次にステップＳ３４２において、履歴管理判断部１５３は、ステップＳ３４１において受け付けられた指示入力がキャンセルであるか否かを判定する。判定の結果、キャンセルである場合（ステップＳ３４２においてＹｅｓの場合）には、本成功履歴処理は終了して図３の処理へ復帰し、その後また利用者がアプリケーションプログラムを起動して文書データの印刷指示を行うことにより処理が開始されると再びプリンタドライバ１５における（図３に示す）処理（Ｓ２００〜）が開始される。また、上記判定の結果、キャンセルでない場合（ステップＳ３４２においてＮｏの場合）には、ステップＳ３４３の処理へ進む。
【０１１３】
次にステップＳ３４３において、履歴管理判断部１５３は、印刷が成功した文書データに対応する（以前に生じた）失敗履歴データを利用者に表示し、後のエラー回避に利用するために利用者から成功の原因を示す入力を受け付ける。以下に、これらの表示および入力を受け付ける一連の操作画面例を図１７から図１９までに示して説明する。
【０１１４】
図１７は、上記失敗履歴データを利用者に表示するための操作画面例を示す図である。この図１７に示されるように、この操作画面には、「更新する印刷失敗履歴」という項目と、「更新しない」という項目とが択一的に選択可能となっており、利用者により「更新しない」という項目が選択されると、今回の印刷成功の原因を示す入力がない旨の指示入力が受け付けられる。なお、キャンセルボタンがクリックされた場合も同じ指示入力が受け付けられるものとする。また、「更新する印刷失敗履歴」という項目が選択される場合、さらに抽出された失敗履歴データにおける各項目と一致する（または類似する）今回印刷が失敗した文書データの対応する項目に関連する１つ以上の選択肢が表示される。図１７では、「ファイル名」が同じであるという選択肢と、「印刷条件」が一部同じであるという選択肢と、「アプリ設定」が同じであるという選択肢とが表示されており、このうち「ファイル名」が同じであるという選択肢が反転表示されるとこの選択肢が選択の対象となる。また、その操作画面における右側部分には抽出された失敗履歴データの項目内容（「ファイル名」「アプリ名」「アプリ設定」など）が表示されている。ここで、「更新する印刷失敗履歴」という項目が選択され、上記選択肢を選択した状態でＯＫボタンをクリックすると、続く図１８に示す操作画面が表示される。
【０１１５】
図１８は、成功の原因を示す入力を受け付けるため利用者に表示される操作画面例を示す図である。この図１８に示されるように、この操作画面には、選択した印刷失敗履歴と成功した情報との違いとして「印刷条件フォームオーバレイ」という項目と、「ドライバーのバージョン」という項目とが１つ以上選択可能となっている。これらの項目は、履歴管理判断部１５３により（自動的に）抽出される、失敗履歴データの項目内容と印刷が成功した文書データにおける対応する項目内容との相違点に基づき表示される。また、この操作画面には、上記項目以外の成功原因を利用者が自由に入力可能なコメント欄が表示されている。このコメント欄に入力された文字情報は、抽出された失敗履歴データに対応する成功履歴データの図５に示される「コメント」の項目に書き込まれる。なお、キャンセルボタンがクリックされた場合には、前述のように印刷成功の原因を示す入力がない旨の指示入力が受け付けられるるものとする。ここで、上記「印刷条件フォームオーバレイ」という項目が選択された状態でＯＫボタンをクリックすると、続く図１９に示す操作画面が表示される。
【０１１６】
図１９は、成功の原因を確認させるため利用者に表示される操作画面例を示す図である。この図１９に示されるように、この操作画面には、利用者に確認させるため、図１８において選択された項目およびその詳しい内容が表示されている。この詳しい内容は、失敗履歴データの項目内容と印刷が成功した文書データにおける対応する項目内容との相違点に基づき、履歴管理判断部１５３により（自動的に）抽出される。また、この操作画面には、上記項目に関連したコメントを利用者が自由に入力可能なコメント欄が表示されている。このコメント欄に入力された文字情報は、前述と同様、図５に示される「コメント」の項目に書き込まれる。なお、キャンセルボタンがクリックされた場合も前述と同様である。ここで、ＯＫボタンをクリックすると、表示された項目内容で成功入力が受け付けられる。
【０１１７】
次に図１５に示すステップＳ３４４において、履歴管理判断部１５３は、ステップＳ３４３において成功入力が受け付けられたか否かを判定する。判定の結果、成功入力がある場合（ステップＳ３４４においてＹｅｓの場合）には、ステップＳ３４５の処理へ進み、成功入力がない場合（ステップＳ３４２においてＮｏの場合）には、本成功履歴処理は終了して図３の処理へ復帰し、その後また利用者がアプリケーションプログラムを起動して文書データの印刷指示を行うことにより処理が開始されると再びプリンタドライバ１５における（図３に示す）処理（Ｓ２００〜）が開始される。
【０１１８】
続くステップＳ３４５において、履歴管理判断部１５３は、今回印刷が成功した文書データにおける印刷条件などの各項目と、対応する失敗履歴データの各項目とを比較し、比較により得られる同一項目の異なる内容を示す差分データが抽出された成功履歴データが履歴データに追加または上書きされる。なお、このような差分データの追加または上書きは所定の規則に従って行われるものとする。また、上記図１８に示される操作画面において受け付けられた項目の内容は、図５に示される「原因」の項目に書き込まれる。
【０１１９】
以上の処理が終了すると本成功履歴処理は終了して図３の処理へ復帰し、その後また利用者がアプリケーションプログラムを起動して文書データの印刷指示を行うことにより処理が開始されると再びプリンタドライバ１５における（図３に示す）処理（Ｓ２００〜）が開始される。
＜１．４  第１の実施形態の効果＞
以上のように本実施形態では、プリンタ２０において実際に発生したエラーの原因をステップＳ３００における失敗履歴処理により履歴データとして蓄積するとともに、エラーが以前に発生した（すなわち失敗履歴データのある）文書の印刷に成功した場合にはその成功原因（エラー回避方法）をステップＳ３４０における成功履歴処理により履歴データとして蓄積する。そして、プリンタ２０において印刷を行う際にはこの蓄積された履歴データを参照し、履歴データがある場合、ステップＳ２５０における中止判断処理により、発生すべきエラーを未然に回避することができ、またそのための失敗履歴情報およびエラー回避方法を含む成功履歴情報をユーザに対して提示することができる。
【０１２０】
＜２．  第２の実施形態＞
図２０は、本発明における第２の実施形態に係る印刷制御装置、プリントサーバ、およびプリンタの機能的な構成を示すブロック図である。本実施形態では、第１の実施形態とは異なり、新たにプリントサーバ４０が備えられている点が異なる。なお、この図２０に示される印刷制御装置１０およびプリンタ２０は、図１に示される印刷制御装置１０およびプリンタ２０とほぼ同様の構成を有するので同一の構成要素には同一の番号を付してその説明を省略する。また、他の印刷制御装置１０１，１０２は、本印刷制御装置１０と同様の構成を有し同様の動作を行うので、詳しい説明を省略する。
【０１２１】
これら印刷制御装置１０、プリンタ２０、プリントサーバ４０、および他の印刷制御装置１０１，１０２は、所定のケーブルやハブなどからなるＬＡＮ（Local Area Network）３０により相互に通信可能に接続される。なお、このＬＡＮ３０に代えて、ＷＡＮ（Wide Area Network）やインターネットなど周知の相互通信網またはＵＳＢ（Universal Serial Bus）接続や各種パラレルインタフェースなどの通信接続手段が使用されてもよい。
【０１２２】
プリントサーバ４０は、印刷制御装置１０と同様のハードウェアを備えており、ハードディスクなどの磁気記憶媒体を含む記憶部４２と、ＣＰＵ（Central Processing Unit ）および主メモリ（半導体メモリ）などにより構成される主制御部４３と、印刷制御装置１０やプリンタ２０などと相互に通信可能に接続するための通信制御部４４とを備える。
【０１２３】
ここで、第１の実施形態とは異なり本実施形態では、（図５に示すような）履歴データは、印刷制御装置１０（および他の印刷制御装置１０１，１０２）に備えられる記憶部１２には格納されておらず、プリントサーバ４０に備えられる記憶部４２に格納される。この履歴データは、印刷制御装置１０（および他の印刷制御装置１０１，１０２）に備えられる主制御部１３のプリンタドライバ１５に含まれる履歴管理判断部１５３により、プリントサーバ４０の主制御部４３に含まれる履歴データ管理部４３１を介して、適宜読み出され、または書き込まれる。したがって、履歴管理判断部１５３の動作自体は、履歴データ管理部４３１を介して履歴データを取り扱うほかは、第１の実施形態における動作とほぼ同様であるのでその説明を省略する。
【０１２４】
上記履歴データ管理部４３１は、印刷制御装置１０および他の印刷制御装置１０１，１０２からの履歴データに対するそれぞれの書き込みについて排他制御（ロック）を行う。すなわち、例えば或る印刷制御装置が履歴データを読み込み中に他の印刷制御装置が書き込むことがないよう、履歴データに対するアクセスの管理を行う。
【０１２５】
本実施形態では、第１の実施形態における効果と同様の効果を奏する他、以上のようなプリントサーバ４０により、複数の印刷制御装置により使用されるべき履歴データを一括して管理することができるので、プリンタ２０と相互に接続される全ての印刷制御装置において作成される履歴データを共有することができる。その結果、利用者は、蓄積された多くの失敗履歴情報および成功履歴情報を参照することができる。
【０１２６】
＜３．  第３の実施形態＞
＜３．１  装置全体の構成＞
図２１は、本発明における第３の実施形態に係る印刷制御装置およびプリンタの機能的な構成を示すブロック図である。この図２１に示される印刷制御装置１０およびプリンタ２０は、図１に示される第１の実施形態における印刷制御装置１０およびプリンタ２０とほぼ同様の構成を有するので同一の構成要素には同一の番号を付してその説明を省略する。また、図２１に示される他の印刷制御装置１０１，１０２の構成も印刷制御装置１０の構成と同様であり、これらがＬＡＮ３０により相互に通信可能に接続される構成は第２の実施形態と同様であるので、その説明を省略する。
【０１２７】
ここで、第１の実施形態とは異なり、本実施形態における印刷制御装置１０は、履歴管理判断部１５３の一部の機能のみを有する履歴管理部１５５のみを備え、プリンタ２０は、履歴管理判断部１５３の一部の機能を有する履歴判断部２３５を新たに備えている。以下、これら各構成要素の機能を説明しつつ、本実施形態における印刷制御装置１０およびプリンタ２０の動作について説明する。
【０１２８】
＜３．２  プリンタの動作＞
図２２は、本第３の実施形態におけるプリンタ２０に備えられる主制御部２３の処理の流れを示すフローチャートである。この図２２に示すステップＳ５００，Ｓ５１０の各処理は、図２に示すステップＳ１００，Ｓ１１０の各処理と同様であるので、その説明を省略する。
【０１２９】
次に、図２２に示すステップＳ５２０において、履歴判断部２３５は、通信制御部２４を介して印刷データ生成部１５２から印刷データに対応する文書データの各種情報および印刷条件を受けとり、当該文書データと同一または類似の文書データの履歴データを全ての履歴データから抽出するサブルーチン処理（履歴抽出処理）を行う。この履歴抽出処理は、図２に示すステップＳ２３０において（印刷制御装置１０に備えられる）履歴管理判断部１５３により行われる履歴抽出処理とほぼ同様であってその詳細な処理の流れは図４を参照して前述したとおりであるので、その説明は省略する。このように、本実施形態におけるプリンタ２０に備えられる履歴判断部２３５は、第１の実施形態における印刷制御装置１０に備えられる履歴管理判断部１５３の一部の機能（履歴判断手段としての機能の一部）を有している。
【０１３０】
ここで、履歴抽出処理はプリンタ２０において行われるので、第１の実施形態の場合とは異なり、プリンタ２０におけるファームウェアのバージョンを容易に取得できるので、図５に示す項目「Ｆｒｍ」が省略されることがないという点で極めて好ましい。このことに関連して、（図２に示すステップＳ２３０に相当する）ステップＳ５２０における履歴抽出処理の詳細な処理内容である、図４に示すステップＳ２３５において、履歴判断部２３５は、各ステップＳ２３１，Ｓ２３２，Ｓ２３３，Ｓ２３４のいずれかにおいて存在すると判定された項目を有する履歴データに対応する履歴テーブルの「Ｄｒｖ」（プリンタドライバのバージョン）よりも現在のプリンタドライバ１５のバージョンが新しく、かつ履歴テーブルの「Ｆｒｍ」（ファームウェアのバージョン）よりも現在のプリンタ２０におけるファームウェアのバージョンが新しいか、これらのバージョンのいずれか一方が新しくないかを判定する。上記判定の結果、いずれのバージョンも新しい場合（ステップＳ２３５においてＹｅｓの場合）には、ステップＳ２３６における処理へ進み、いずれか一方が新しくない場合（ステップＳ２３５においてＮｏの場合）には、ステップＳ２３７の処理へ進む。なお、この処理は、ステップＳ２３５における処理の場合と同様、プリンタドライバおよびファームウェアのバージョンアップにより全ての印刷異常が解消されることを前提としているが、このような前提が成り立たない場合があることを考慮してこの処理を省略してもよい。また、上記プリンタドライバおよびファームウェアのバージョンに代えてまたはこれとともにアプリケーションのバージョンが新しいか否かが判定されてもよい。
【０１３１】
続いてステップＳ５３０において、履歴判断部２３５は、ステップＳ５２０において履歴データが抽出されたか否かを判定する。判定の結果、履歴が抽出された場合（ステップＳ２４０においてＹｅｓの場合）には、抽出された履歴データを通信制御部２４を介して印刷制御装置１０へ通知し（ステップＳ５４０）、ステップＳ５５０の処理へ進む。また、上記判定の結果、抽出されなかった場合（ステップＳ２４０においてＮｏの場合）には、履歴が抽出されなかった旨の通知（以下「無理歴通知」という）を通信制御部２４を介して印刷制御装置１０へ通知し（ステップＳ５４５）、ステップＳ５５０の処理へ進む。
【０１３２】
次のステップＳ５５０〜Ｓ５９５までの各処理は、図２に示すステップＳ１２０〜Ｓ１７０の各処理と全く同様であるので、その説明を省略する。その後、プリンタ２０は一旦処理を終了し、利用者が所定のアプリケーションプログラムを起動して印刷指示を行うことにより再びプリンタドライバ１５から印刷データが送信されると、上記ステップＳ５００の処理が開始される。
【０１３３】
＜３．３  印刷制御装置におけるプリンタドライバの動作＞
次に、本実施形態の印刷制御装置１０におけるプリンタドライバ１５の動作について説明する。図２３は、このプリンタドライバ１５における処理の流れを示すフローチャートである。この図２３に示すステップＳ６００〜Ｓ６２０までの各処理は、図３に示すステップＳ２００〜Ｓ２２０の各処理とほぼ同様であるので、その説明を省略する。ただし、ステップＳ６２０において、印刷データの生成は完全に終了するまで行われる。続くステップＳ６３０において、印刷データ生成部１５２は、ステップＳ６２０において生成された印刷データをプリンタ２０に送信する。
【０１３４】
次にステップＳ６４０において、履歴管理部１５５は、前述した図２２に示すステップＳ５４０においてプリンタ２０から送られる履歴データを受け取り、または図２２に示すステップＳ５４５においてプリンタ２０から送られる無理歴通知を受け取る。このように、本実施形態における印刷制御装置１０に備えられる履歴管理部１５５は、第１の実施形態における印刷制御装置１０に備えられる履歴管理判断部１５３の機能の一部（すなわち履歴を抽出する機能）が省略されている。このことは、他の印刷制御装置１０１，１０２においても同様である。
【０１３５】
続いてステップＳ６５０〜Ｓ７３０までの各処理は、図３に示すステップＳ２４０〜Ｓ３４０の各処理とほぼ同様であるので、その説明を省略する。以上の処理が終了すると、その後また利用者がアプリケーションプログラムを起動して文書データの印刷指示を行うことにより処理が開始されると再びプリンタドライバ１５における（図２３に示す）処理（Ｓ６００〜）が開始される。
【０１３６】
＜１．４  第３の実施形態の効果＞
以上のように本実施形態では、第１の実施形態における効果と同様の効果を奏する他、印刷制御装置１０および他の印刷制御装置１０１，１０２に備えられる履歴管理部１５５から、第１の実施形態における印刷制御装置１０に備えられる履歴管理判断部１５３の機能の一部（すなわち履歴を抽出する機能）が省略されているので、多くの印刷制御装置に備えられるプリンタドライバ１５の構成を簡易なものとすることができる。また、印刷失敗の原因となることが多いプリンタ２０におけるファームウェアのバージョンを容易に取得することができる。
【０１３７】
＜４．  第４の実施形態＞
図２４は、本発明における第４の実施形態に係る印刷制御装置およびプリンタの機能的な構成を示すブロック図である。この図２４に示される印刷制御装置１０およびプリンタ２０は、図１に示される第１の実施形態における印刷制御装置１０およびプリンタ２０とほぼ同様の構成を有するので同一の構成要素には同一の番号を付してその説明を省略する。また、図２４に示される他のプリンタ２０１，２０２の構成はプリンタ２０の構成と同様であり、これらがＬＡＮ３０により相互に通信可能に接続される構成は第２の実施形態と同様であるので、その説明を省略する。
【０１３８】
ここで、本実施形態における印刷制御装置１０は、上記プリンタ２０，２０１，２０２のいずれかを自由に選択して印刷可能であるとともに、さらにこれらのプリンタのうちの複数を選択し、選択した複数のプリンタに文書データを適宜分割した異なるデータをそれぞれのプリンタに与えることにより高速に印刷を行う分散印刷を行うことができる。この分散印刷については周知であるのでその実現のための説明は省略する。本実施形態では、図５に示されるような履歴テーブルが、この分散印刷を含む複数のプリンタを選択的に使用した印刷における異常についても好適に対応できるよう構成されている。以下、この履歴テーブルの構成およびこの履歴テーブルを参照した中止判断処理について説明する。
【０１３９】
図２５は、本実施形態における履歴テーブルの構成例を示す図である。この履歴テーブル（履歴データ）は、印刷が失敗したときの各種状態を示す失敗履歴データと、一度以上印刷が失敗した後に印刷が成功したときの各種状態を示す成功履歴データとを含む。これら失敗履歴データおよび成功履歴データは、図２５に示す「種別」の項目で区別されている。また、これらは当該文書データを印刷しようとした利用者の名称を示す「利用者」の項目で１組とされている。
【０１４０】
図２５に示されるように、履歴テーブルは、文書データに対応する上記各種状態を示す項目として、上記「利用者」および「種別」のほか、文書データの名称を示す「ドキュメント名」、プリンタドライバにおいて設定された各種設定内容を示す「印刷設定」、分散印刷により使用されたプリンタ名を示す「分散先プリンタ」、および利用者により入力されたコメント内容を示す「コメント」を含んでいる。
【０１４１】
この図２５を参照すると、例えばプリンタａに失敗履歴はないので、プリンタａにより印刷すれば成功する可能性が極めて高いことがわかる。そこで、この図６に示すステップＳ２５１において、履歴管理判断部１５３は、ステップＳ２３０における抽出履歴処理により抽出された履歴データの内容を利用者に表示するとともに、上記印刷の成功が見込めるプリンタを利用者に表示する。この表示を参考にすることにより、利用者はエラーを容易に回避することができる。
【０１４２】
＜５．  変形例＞
【０１４３】
第２の実施形態におけるプリントサーバ４０は、印刷制御装置１０（および他の印刷制御装置１０１，１０２）に備えられる履歴管理判断部１５３により読み書きされるべき履歴データを、プリントサーバ４０に備えられる記憶部４２に保存し履歴データ管理部４３１により管理する構成であるが、この構成に代えて、他の印刷制御装置１０１，１０２のいずれかに上記履歴データ管理部４３１が備えられ、内蔵される記憶部に上記履歴データが格納される構成であってもよい。また、プリンタ２０に上記履歴データ管理部４３１が備えられ、内蔵される記憶部２２に上記履歴データが格納される構成であってもよい。
【０１４４】
第３の実施形態における印刷制御装置１０および他の印刷制御装置１０１，１０２に備えられる履歴管理部１５５は、第１の実施形態における印刷制御装置１０に備えられる履歴管理判断部１５３の機能の一部（すなわち履歴を抽出する機能）が省略されているが、さらに図２３におけるステップＳ６５０〜Ｓ７３０までの各処理を実行する機能（例えば、中止判断機能や失敗履歴および成功履歴を作成または更新する機能など）が省略され、これらの機能はプリンタ２０に備えられる履歴判断部２３５により実行される構成であってもよい。そうすれば、多くの印刷制御装置に備えられるプリンタドライバ１５の構成をさらに簡易なものとすることができる。なお、この構成では、上記印刷制御装置１０の機能の一部がプリンタ２０に含まれることになるので、プリンタ２０もまた印刷制御装置であるといえる。このように、前述した中止判断機能や失敗履歴および成功履歴を作成または更新する機能などを実行する履歴管理手段および履歴判断手段は、印刷制御装置１０およびプリンタ２０からなる印刷システムに備えられていればよく、印刷制御装置１０およびプリンタ２０のいずれに備えられていてもよい。
【０１４５】
上記各実施形態において使用される履歴テーブルの項目は、図５に示されるような文書データに対応する各種状態を示す項目として、ファイル名、アプリケーション名やその設定内容、プリンタドライバやファームウェアのバージョン、発生したエラーや印刷結果の異常の内容やその原因、利用者により入力されたコメントなどであるが、履歴データの項目はこれらに限定されるわけではなく、プリンタによる印刷に異常が生じた場合、停電や装置の故障などの文書データに対応しない印刷異常の原因を除く、当該印刷異常を生じた文書データに対応し当該印刷異常の原因に関連する項目であればよい。
【図面の簡単な説明】
【０１４６】
【図１】本発明の一実施形態に係る印刷制御装置およびプリンタの構成を示すブロック図である。
【図２】上記実施形態におけるプリンタにおける主制御部の処理の流れを示すフローチャートである。
【図３】上記実施形態におけるプリンタドライバにおける処理の流れを示すフローチャートである。
【図４】上記実施形態におけるプリンタにおける主制御部の処理の流れを示すフローチャートである。
【図５】上記実施形態における履歴テーブルの構成例を示す図である。
【図６】上記実施形態における中止判断処理の詳細な処理の流れを示すフローチャートである。
【図７】上記実施形態において利用者に表示される履歴データの内容を表す操作画面例を示す図である。
【図８】上記実施形態において上記強調表示された印刷条件を含む操作画面例を示す図である。
【図９】上記実施形態における失敗履歴処理の詳細な処理の流れを示すフローチャートである。
【図１０】上記実施形態において履歴データに関する処理をキャンセルする指示入力を受け付けるため利用者に表示される操作画面例を示す図である。
【図１１】上記実施形態において更新入力を受け付けるため利用者に表示される操作画面例を示す図である。
【図１２】上記実施形態における差分データの内容を利用者に表示する操作画面例を示す図である。
【図１３】上記実施形態において評価を受け付けるため利用者に表示される操作画面例を示す図である。
【図１４】上記実施形態において利用者の評価が良好でない場合に失敗履歴の内容を受け付けるため利用者に表示される操作画面例を示す図である。
【図１５】上記実施形態における成功履歴処理の詳細な処理の流れを示すフローチャートである。
【図１６】上記実施形態における履歴データに関する処理をキャンセルする指示入力を受け付けるため利用者に表示される操作画面例を示す図である。
【図１７】上記実施形態における失敗履歴データを利用者に表示するための操作画面例を示す図である。
【図１８】上記実施形態における成功の原因を示す入力を受け付けるため利用者に表示される操作画面例を示す図である。
【図１９】上記実施形態における成功の原因を確認させるため利用者に表示される操作画面例を示す図である。
【図２０】本発明の第２の実施形態に係る印刷制御装置、プリントサーバ、およびプリンタの機能的な構成を示すブロック図である。
【図２１】本発明の第３の実施形態に係る印刷制御装置およびプリンタの機能的な構成を示すブロック図である。
【図２２】上記実施形態におけるプリンタに備えられる主制御部の処理の流れを示すフローチャートである。
【図２３】上記実施形態におけるプリンタドライバにおける処理の流れを示すフローチャートである。
【図２４】本発明の第４の実施形態に係る印刷制御装置およびプリンタの機能的な構成を示すブロック図である。
【図２５】上記実施形態における履歴テーブルの構成例を示す図である。
【符号の説明】
【０１４７】
１０，１０１，１０２  …印刷制御装置
１１，２１  …操作表示部
１２，２２，４２  …記憶部
１３，２３，４３  …主制御部
１４，２４，４４…通信制御部
１５  …プリンタドライバ
１６  …アプリケーションプログラム
２０，２０１，２０２  …プリンタ
２５  …プリント部
３０  …ＬＡＮ
１５１  …文書データ解析部
１５２  …印刷データ生成部
１５３  …履歴管理判断部
１５５  …履歴管理部
１６１  …文書印刷指示部
２３１  …ビットマップデータ生成部
２３２  …エラー通知部
２３３  …印刷完了通知部
２３５  …履歴判断部
４３１  …履歴データ管理部
【図１】
0004553856.tif 000002
【図２】
0004553856.tif 000003
【図３】
0004553856.tif 000004
【図４】
0004553856.tif 000005
【図５】
0004553856.tif 000006
【図６】
0004553856.tif 000007
【図７】
0004553856.tif 000008
【図８】
0004553856.tif 000009
【図９】
0004553856.tif 000010
【図１０】
0004553856.tif 000011
【図１１】
0004553856.tif 000012
【図１２】
0004553856.tif 000013
【図１３】
0004553856.tif 000014
【図１４】
0004553856.tif 000015
【図１５】
0004553856.tif 000016
【図１６】
0004553856.tif 000017
【図１７】
0004553856.tif 000018
【図１８】
0004553856.tif 000019
【図１９】
0004553856.tif 000020
【図２０】
0004553856.tif 000021
【図２１】
0004553856.tif 000022
【図２２】
0004553856.tif 000023
【図２３】
0004553856.tif 000024
【図２４】
0004553856.tif 000025
【図２５】
0004553856.tif 000026