印刷装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム
【課題】情報処理装置から様々なデータ転送プロトコルでデータを受信した場合でも、最適な更新日時情報の取得手続により更新日時情報を確実に取得して、印刷すべきデータの更新日時情報を確実にユーザが事後的に確認可能な印刷結果を得ることである。
【解決手段】ホストコンピュータ101からネットワークを介して受信するデータ中から更新日時情報を異なる手続でホストI/F部302を介して取得し、該取得される更新日時情報とデータとの印刷出力をCPU309が制御する構成を特徴とする。
【解決手段】ホストコンピュータ101からネットワークを介して受信するデータ中から更新日時情報を異なる手続でホストI/F部302を介して取得し、該取得される更新日時情報とデータとの印刷出力をCPU309が制御する構成を特徴とする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置との通信により受信するデータを印刷可能な印刷装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラムに関するものである。
【背景技術】
【0002】
従来、多数のユーザが、1つの出力デバイスを共有して印刷を行う場合、どの出力物がどのユーザが出したものであるかを判別することが必要であり、こうした要求を解決するために、各ユーザが出力する毎に、アプリケーションや、プリンタドライバにて、バナーページを出力し、バナーページ上に、ユーザ名を記載することで、どの出力がどのユーザの物であるかを特定することが行われていた。
【0003】
また、こうしたバナーページの出力による解決は、ユーザがアプリケーションを変更すると、バナーページの設定をやりなおす必要があったり、各ドライバや、各アプリケーション毎に、バナーページのフォーマットが変わってしまい、出力した用紙をどのユーザの出力か仕分けする際に、煩雑になるといったことも問題になり、こうした問題を解決するために、例えば、下記特許文献1などでは、アプリケーションやドライバによらずバナーページを出力する方法として、データの送信元のネットワークアドレスを特定し、送信元のネットワークアドレスに対し、ホスト情報などを割り出すためにホストファイルを参照して、バナーページ上にホスト名などのユーザを特定する情報を印字して出力したうえで、ユーザデータの出力を行う方法などが提案されてきた。
【特許文献1】特開平8−314654号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、一般的に、ユーザはデータを更正しドキュメントのバージョンを変えては保存しなおして出力することが日常的に行われており、従来の印刷システムで、出力した用紙がどのユーザの出力した用紙であるかを特定するだけでは、ユーザは、どの出力が、自分のどのデータを出力したものだか容易に判別できないという問題があった。
【0005】
こうした問題を解決するために、例えば、印刷するドキュメント上に、印刷を行った時刻を自動的に挿入して印字する方法などが提案され、例えばマイクロソフト社のMS-Word(商品名)ソフトウェアに搭載されたり、バナーページ上に、印刷された時刻を印字する機能が搭載されたりしてきた。
【0006】
しかしながら、いずれも、印刷を行った時刻を特定することは可能であるが、どれもユーザのコンピュータ上にある複数のドキュメントのデータのうち、どのドキュメントが実際に印字されたドキュメントと一致するのかを確認することはできなかった。
【0007】
また、別の課題として、データの印刷を他人から依頼をうけ出力するような、出力センタでは、受け取ったデータを出力し、出力した用紙を依頼者に渡す際、受け取ったデータを不注意で改変などせずにそのまま出力した事を示す方法がこれまで要望されてきたが、適当な手段が無く課題となっていた。
【0008】
また、機械的に自動で、オリジナルデータの判別をする場合、スキャナ装置を使うことで、印刷したドキュメントをスキャンし、PC上のデータと照合をとることで、出力した用紙がどのデータに対応しているかを確認することも原理的には可能であるが、現実にはすべての出力用紙をスキャンする事は非効率であり、困難であった。
【0009】
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、情報処理装置から受信するデータ中から更新日時情報を異なる手続で取得し、該取得される更新日時情報とデータとの印刷出力を制御することにより、情報処理装置から様々なデータ転送プロトコルでデータを受信した場合でも、最適な更新日時情報の取得手続により更新日時情報を確実に取得して、印刷すべきデータの更新日時情報を確実にユーザが事後的に確認可能な印刷結果を得ることができる利便性に優れた印刷装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラムを提供することである。
【課題を解決するための手段】
【0010】
上記目的を達成する本発明の印刷装置は以下に示す構成を備える。
【0011】
情報処理装置から受信するデータを印刷可能な印刷装置であって、前記データ中から更新日時情報を異なる手続で取得する複数の取得手段と、いずれかの取得手段により前記データから取得される更新日時情報と前記データとの印刷出力を制御する出力制御手段とを有することを特徴とする。
【0012】
上記目的を達成する本発明の印刷制御方法は以下に示す構成を備える。
【0013】
情報処理装置から受信するデータを印刷可能な印刷装置における印刷制御方法であって、前記データ中から更新日時情報を異なる手続で取得する複数の取得ステップと、いずれかの取得ステップにより前記データから取得される更新日時情報と前記データとの印刷出力を制御する出力制御ステップとを有することを特徴とする。
【発明の効果】
【0014】
本発明によれば、情報処理装置から様々なデータ転送プロトコルでデータを受信した場合でも、最適な更新日時情報の取得手続により更新日時情報を確実に取得して、印刷すべきデータの更新日時情報を確実にユーザが事後的に確認可能な印刷結果を得ることができる利便性に優れた印刷処理環境を整備できる。
【0015】
また、FTP,LPR,ホットフォルダなど複数のプロトコルのうち、どのプロトコルでドキュメントを出力しても、出力されたドキュメントを見ただけで、そのドキュメントデータの最終更新日時を確認することが可能となり、ホストコンピュータ上のドキュメント(データ)の修正日付との照合で、どのデータがどの印刷結果に対応しているかを容易に区別可能である。また、出力依頼したデータの修正日時と、出力されたドキュメントに印字された修正日時から、データの完全性を確認可能となる。
【発明を実施するための最良の形態】
【0016】
次に本発明を実施するための最良の形態について図面を参照して説明する。
【0017】
〔第1実施形態〕
図1は、本発明の第1実施形態を示す情報処理装置を適用する印刷システムの構成を説明するブロック図である。
【0018】
図1に示す印刷システム例は、画像情報の供給源或いはプリンタの制御装置として機能するコンピュータ等の外部機器101と、外部機器101から供給される画像情報に基づいて記録媒体上に画像を出力するプリンタ102とを双方向通信が可能なインタフェースにより接続してなる。なお、このプリンタシステムにおいては、プリンタ102としてレーザビームプリンタを用いている。なお、本実施形態では外部機器101としてホストコンピュータ(パーソナルコンピュータ)を接続している。
【0019】
プリンタコントローラ103は、外部機器101から供給される画像情報と、制御情報(例えば、ESCコード、ページ記述言語等)に基づいて、ページ毎にラスタデータを生成し、プリンタエンジン105に送出する。また、プリンタコントローラ103は、制御コードに応じて、バナーページを出力した後に、画像情報を出力したりする。
【0020】
プリンタエンジン105は、プリンタコントローラ103から供給されるラスタデータに基づいて、感光ドラム上に潜像を形成し、その潜像を記録媒体上に転写・定着(電子写真方式)することにより画像を形成する。
【0021】
パネル部104は、ユーザインタフェースとして使用される。ユーザは、パネル部104を操作することにより、所望の動作を指示することができる。例えば、パネル部104には、上記の状態変化に基づいて、キャリブレーションを促すメッセージが表示される。ユーザは、このメッセージに応答してキャリブレーションの実行を所望のタイミングで指示することができる。
【0022】
図2は、図1に示したプリンタ102の構成を説明する概略断面図であり、例えばレーザビームプリンタの例である。
【0023】
図2において、201はプリンタ筐体である。202は操作パネルで、ユーザが各種指示を与えるためのスイッチ、メッセージやプリンタの設定内容等を表示するためのLED表示器やLCD表示器が配され、図1に示すパネル部104の一態様である。
【0024】
203はボード収容部であり、プリンタコントローラ103及びプリンタエンジン105の電子回路部分を構成するボードを収容する。210,250は用紙(記録媒体)を保持する用紙カセットであり、不図示の仕切り板によって電気的に用紙サイズを検知する機構を有する。
【0025】
211,253はカセット給紙クラッチであり、夫々用紙カセット210及び250上に載置された用紙の最上位の一枚を取出して、取出した用紙を不図示の駆動手段から伝達される駆動力によって給紙ローラ212,256まで搬送するカムを有する。このカムは、給紙の度に間欠的に回転し、1回転に対応して1枚の用紙を給紙する。給紙ローラ212は、用紙の先端部をレジストシャッタ214まで搬送するローラである。給紙ローラ256は、用紙の先端部を給紙ローラ212まで搬送するローラである。214はレジストシャッタであり、用紙を押圧することにより給紙を停止させることができる。
【0026】
219は手差し用トレイであり、215は手差し給紙クラッチである。手差し給紙クラッチ215は、用紙の先端をレジストシャッタ214まで搬送するために使用される。画像記録に供する用紙は、用紙カセット210,250、手差し用トレイ219のいずれかの給紙手段を選択して給紙される。
【0027】
プリンタエンジン105は、プリンタコントローラ103と所定の通信プロトコルに従って通信を行い、プリンタコントローラ103からの指示に従って用紙カセット210,250、手差し用トレイ219の中からいずれかの給紙手段を選択し、印刷の開始指示に応じて該当する給紙手段よりレジストシャッタ214まで用紙を搬送する。なお、プリンタエンジン105は、給紙手段、潜像の形成、転写、定着等の電子写真プロセスに関する機構、排紙手段及びそれらの制御手段を含む。
【0028】
204は、感光ドラム205やトナー保持部等を有するカートリッジである。207は回転多面鏡で、レーザ部206からのレーザ光を感光ドラム205の主走査方向に対して走査する。208は反射ミラーで、回転多面鏡207にて走査されるレーザ光を感光ドラム205上に結像させる。
【0029】
209はビームディテクタで、感光ドラム205の副走査方向の所定位置に配置されて、走査されるレーザ光を受光して、主走査方向のタイミング信号となるBD信号を生成する。
【0030】
214はレジストシャッタで、用紙カセット210、250、手差し用トレイ219の中から選択される給紙手段から搬送される用紙を一旦停止させる。レーザ部206は、プリンタコントローラ103から供給されるラスタデータに応じて、内蔵の半導体レーザを駆動し、レーザビーム(レーザ光)を発射する。レーザビームは、回転多面鏡207及び反射ミラー208により反射され、感光ドラム205上に結像し潜像を形成する。この際、レーザビームは、回転多面鏡207により感光ドラム205の主走査方向を走査される。
【0031】
このレーザビームの発射に同期してレジストシャッタ214が上方に駆動され、これにより画像記録に供する用紙の搬送がレーザビームの副走査に同期する。レーザビームの走査開始位置に配置されたビームディテクタ209は、レーザビームを検出することによって主走査方向の画像の書き出しタイミングを決定するための同期信号(BD信号)を形成し、プリンタコントローラ103に送る。
【0032】
画像の転写に際して、画像記録に供する用紙は、搬送ローラ213によって搬送され、一方、感光ドラム205は、不図示のモータによって副走査方向に回転駆動される。感光ドラム205上に順次形成される潜像は、現像器220によって現像され、トナー像として顕像化された後に、感光ドラム205に当接された用紙上に転写される。用紙に転写されたトナー像は、その後、定着ローラ216により加熱定着され、搬送ローラ217を経て、排紙ローラ218によりプリンタ筐体の排紙トレイに排紙される。プリンタ102には、さらにオプションカセットや封筒フィーダ等のオプションを装備可能である。
【0033】
図3は、図1に示したプリンタ102の制御構成を説明するブロック図であり、図1に示したプリンタコントローラ103とプリンタエンジン105とを接続するビデオインタフェース及びプリンタエンジン105の構成例に対応する。なお、図1と同一のものには同一の符号を付してある。
【0034】
図3において、プリンタコントローラ103は、外部機器101との通信(画像情報の受信を含む)、受信した画像情報に基づくラスタデータの生成(展開)、プリンタエンジン105の制御等を司る。
【0035】
エンジン制御部150は、プリンタコントローラ103から供給される制御信号に基づいて、プリンタエンジン105内のユニット151〜158を制御する。ユニット151〜158の概要を説明すると、151は用紙サイズ検出部で、前記用紙カセット210,250、その他、オプションカセット(不図示)内に載置された用紙のサイズを検出してエンジン制御部150に通知する。
【0036】
152は給紙口検出部で、用紙カセット210及び250、手差し用トレイ219、オプションカセット(不図示)、封筒フィーダ(不図示)の夫々の給紙口の有無を検出してエンジン制御部150に通知する。
【0037】
153はオプション調査部で、オプションカセット、封筒フィーダ等のオプションの接続状況を確認する。154は搬送制御部で、用紙の搬送を制御する。155は光学系制御部で、回転多面鏡207の駆動モータ、レーザ部206等の光学系を制御する。
【0038】
156は定着器温度制御部で、定着ローラ216の温度制御の他、定着ローラ216における異常検出等をも行う。157はオプション制御部で、オプションカセットや封筒フィーダ等のオプションを制御する。158はセンサ部で、レジスト、排紙、両面、反転など搬送路内の用紙の有無、外気温、印刷ページ数、トナー残量等の環境の変化(状態変化)を検出する。
【0039】
次に、プリンタコントローラ103とエンジン制御部150とを接続するビデオインタフェースを構成する各信号の概要を説明する。
【0040】
170は/CPRDY信号で、プリンタコントローラ103がエンジン制御部150と通信可能な状態にあることを示す。171は/PPRDY信号で、エンジン制御部150がプリンタコントローラ103と通信可能な状態にあることを示す。
【0041】
172は/RDY信号で、エンジン制御部150がプリント可能な状態にあることを示す。173は/PRNT信号で、プリンタコントローラ103がエンジン制御部150に印刷要求を発行する。174は/VSREQ信号で、エンジン制御部150がプリンタコントローラ103に対して垂直同期信号を要求する。
【0042】
175は/VSYNC信号で、プリンタコントローラ103がエンジン制御部150に対して出力する垂直同期信号として機能する。176は/BD信号で、エンジン制御部150がプリンタコントローラ103に出力する水平同期信号として機能する。
【0043】
178は/SCLK信号で、シリアル通信のための同期クロック信号として機能する。179は/CMD信号で、プリンタコントローラ103がエンジン制御部150に対してコマンドを送信するためのコマンド信号として機能する。180は/CBSY信号で、コマンドを送信するためのストローブ信号として機能する。181はSTS信号で、プリンタコントローラ103から送信されたコマンドに対して応答(プリンタエンジン105内部のステータスを含む)を返すための信号として機能する。
【0044】
182は/SBSY信号で、ステータス等の応答を返すためのストローブ信号として機能する。183はVIDEO信号で、印刷されるラスタデータである。
【0045】
177は/CCRT(Condition Change Report)信号で、プリンタエンジン105のステータスのうち、/RDY信号172に直接関与しない状態、すなわち印刷の可否に直接関与しない状態変化が発生した場合(例えば、気温、印刷ページ数、トナー残量等が基準値を超えた場合)に"TRUE"となる。
【0046】
図4は、図1に示したプリンタコントローラ103の構成を説明するブロック図である。
【0047】
図4において、301はパネルインタフェース部で、パネル部104とのデータ通信を行う。CPU309は、パネルインタフェース301を介して、ユーザがパネル部104において設定あるいは指示した内容を認識することができる。
【0048】
302はホストインタフェース部で、ネットワークを介してホストコンピュータ等の外部機器101と双方向に接続する。306はエンジンインタフェース部で、プリンタエンジン105と接続する。CPU309は、エンジンインタフェース部306を介して、信号170,173,175,178,179,180を制御し、信号171,172,174,176,177,181,182の状態、すなわち、プリンタエンジン105の状態を認識することができる。
【0049】
303はラスタライズ部で、外部機器101より供給された画像情報に基づいて、プリンタエンジン105に供給するラスタデータを生成(ラスタライズ)する。305は生成したラスタデータを一時的に保持するための画像メモリである。309はCPUで、ROM304に保持された制御プログラムコードに基づいて、CPUバス311に接続されたデバイスを制御する。
【0050】
307は前記CPU309が使用する一時記憶用メモリとしてのRAMである。310はEEPROMで、例えば濃度補正テーブル等の制御情報を保持するための不揮発性メモリで構成される。308はDMA制御部であり、CPU309からの指示により画像メモリ305内のラスタデータを、エンジンインタフェース部306に転送する。
【0051】
311はアドレス、データ、コントロールバスを含むCPUバスである。パネルインタフェース部301、ホストインタフェース部302、ラスタライズ部303、ROM304、画像メモリ305、エンジンインタフェース部306、RAM307、DMA制御部308、CPU309及びEEPROM310は、夫々CPUバス311に接続され、CPU309は、CPUバス311に接続された全てのデバイスにアクセス可能である。
【0052】
この様に構成された印刷装置において、本実施形態では以下の特徴的な構成を備える。
【0053】
ホストコンピュータ101から受信するデータを印刷可能なプリンタ102であって、前記データ中から更新日時情報を異なる手続で取得する。具体的には、図4に示すCPU309が図21に示すステップ(1502)〜(1504)、(1508)〜(1510)で取得する。そして、CPU309が取得される更新日時情報とデータとの印刷出力を制御する。
【0054】
これにより、情報処理装置から様々なデータ転送プロトコルでデータを受信した場合でも、最適な更新日時情報の取得手続により確実に取得して、印刷すべきデータの更新日時情報を確実にユーザが事後的に確認可能な印刷結果を得ることができる利便性に優れた印刷出力環境を整備できる。
【0055】
また、複数の取得手続は、前記情報処理装置のプリンタドライバが生成するPDLデータから更新日時情報を取得する第1の取得手続(例えば図1に示すホストI/F部302を介して受信するデータを図4に示すCPU309が図21に示すステップ(1502)〜(1503)で取得する)と、前記情報処理装置との所定の通信プロトコルに従って転送されるPDLデータから更新日時情報を取得する第2の取得手続(例えば図1に示すホストI/F部302を介して受信するデータを図4に示すCPU309が図21に示すステップ(1504)(1508で取得する)と、前記情報処理装置との独自の通信プロトコルで転送される特定データから更新日時情報を取得する第3の取得手続(例えば図1に示すホストI/F部302を介して受信するデータを図4に示すCPU309が図21に示すステップ(1509)〜(1510)で取得する)を含む。
【0056】
これにより、情報処理装置から様々なデータ転送プロトコルでデータを受信した場合でも、最適な更新日時情報の取得手続により確実に取得することができる。
【0057】
また、いずれかの取得続きに従い取得している更新日時情報が正当な日時情報であるかどうかを、例えば図1に示すホストI/F部302を介して受信するデータを図4に示すCPU309が図22に示すステップ(1612)で判断し、更新日時情報が正当な日時情報でないと判断された場合に、取得した更新日時情報に代えて他の取得手段により更新日時情報を、例えば図1に示すホストI/F部302を介して受信するデータを図4に示すCPU309が図22に示すステップ(1613)〜(1614)で取得する。
【0058】
これにより、情報処理装置から様々なデータ転送プロトコルでデータを受信した場合に、不正な更新日時情報を取得しているかの真偽性を評価した後、正当な更新日時情報を利用した更新日時情報の印刷を行うことができる。
【0059】
さらに、所定の通信プロトコルは、FTPであることを特徴とする。
【0060】
これにより、FTPを利用する通信で更新日時情報を取得して、データと更新日時情報との印刷出力を自在に行うことができる。
【0061】
また、前記所定の通信プロトコルは、前記情報処理装置との間で取り決められている特有のデータ転送プロトコルであることを特徴とする。
【0062】
これにより、情報処理装置と印刷装置との間における特有のデータ転送プロトコルで更新日時情報を取得して、データと更新日時情報との印刷出力を自在に行うことができる。
【0063】
また、CPU309は、前記更新日時情報をデータ出力ページとは独立したページで出力することを特徴とする。
【0064】
これにより、更新日時情報の出力結果とデータの出力結果とを独立して管理することができる。
【0065】
さらに、CPU309は、前記更新日時情報をデータ出力ページと同一ページに出力することを特徴とする。
【0066】
これにより、更新日時情報の出力結果とデータの出力結果とを同時に確認することができる。
【0067】
図5は、本発明の第1実施形態を示す情報処理装置を適用可能な印刷システムの構成を示すブロック図であり、図1と同一のものには同一の符号を付してある。
【0068】
なお、本システムは、ホストコンピュータ101とプリンタ102とがネットワークNETを介して通信可能に接続される構成となっている。なお、通信接続形態は、所定のインタフェースによるか、ネットワークによるかは本発明の適用に限定されるものではない。
【0069】
図5において、ホストコンピュータ101は、CPU1を備えている。CPU1は、ROM3のプログラム用ROMあるいは外部メモリ11に記憶された文書処理プログラム及び本発明の印刷制御プログラム(プリンタドライバに相当)等に基づいて、図形や、イメージ、文字、表(表計算等を含む)等が混在した文書処理を実行し、システムバス4に接続される各デバイスをCPU1が総括的に制御する。
【0070】
また、このROM3のプログラム用ROMあるいは外部メモリ11には、CPU1の制御プログラムであるオペレーティングシステムプログラム(以下OS)等が記憶され、ROM3のフォント用ROMあるいは外部メモリ11には、上記文書処理の際に使用するフォントデータ等が記憶され、ROM3のデータ用ROMあるいは外部メモリ11には、上記文書処理等を行う際に使用する各種データが記憶されている。
【0071】
2はRAMで、CPU1の主メモリやワークエリア等として機能する。5はキーボードコントローラ(KBC)で、キーボード(KB)9や不図示のポインティングデバイスからのキー入力を制御する。6はCRTコントローラ(CRTC)で、CRTディスプレイ(CRT)10の表示を制御する。7はディスクコントローラ(DKC)で、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、及びプリンタ制御コマンド生成プログラム(以下、プリンタドライバと記す)等を記憶する外部メモリ11とのアクセスを制御する。外部メモリ11は、ハードディスク(HD)やフレキシブルディスク(FD)等で構成される。
【0072】
8はネットワークコントローラ(NIC)で、ネットワークNETを介してプリンタ102に接続されて、プリンタ102との通信制御処理を実行する。なお、CPU1は、例えばRAM2上に設定された表示情報のアウトラインフォントへの展開(ラスタライズ)処理を実行し、CRT10上でのWYSIWYGを可能としている。また、CPU1は、CRT10上に表示されるマウスカーソル等で指示されたコマンドに基づいて、登録された種々のウィンドウを開き、種々のデータ処理を実行する。これによって、ユーザは、印刷を実行する際、印刷の設定に関するウィンドウを開き、プリンタ102の設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行うことができる。
【0073】
図6は、図5に示したホストコンピュータ101における典型的な印刷処理に供するモジュール構成を説明する図であり、ホストコンピュータ101には、プリンタ102等の印刷装置がネットワークNET経由で接続されている。
【0074】
図6において、アプリケーション2001、グラフィックエンジン2002、プリンタドライバ2003(印刷制御プログラム)、及びシステムスプーラ2004は、外部メモリ11に保存されるファイルとして存在し、オペレーティングシステム(OS)やその他のモジュールによってRAM2にロードされ実行されるプログラムモジュールである。
【0075】
また、アプリケーション2001及びプリンタドライバ2003は、FD、CD−ROMあるいは不図示のネットワークを経由して外部メモリ11(HD)に追加することが可能となっている。
【0076】
外部メモリ11に保存されているアプリケーション2001は、RAM2にロードされて実行されるが、このアプリケーション2001からプリンタ102で印刷を行う際には、同様にRAM2にロードされることで実行可能となっているグラフィックエンジン2002を利用して出力(描画)を行う。
【0077】
グラフィックエンジン2002は、プリンタごとに用意されたプリンタドライバ2003を同様に外部メモリ11からRAM2にロードし、アプリケーション2001の出力を、プリンタドライバ2003を用いてプリンタ102の制御コマンドに変換する。変換されたプリンタ制御コマンドは、OSによってRAM2にロードされたシステムスプーラ2004を経てネットワークNET経由でプリンタ102へ出力される仕組みとなっている。
【0078】
なお、プリンタドライバは、後述する図16に示す印刷設定画面をCRT10をCPU1の制御の下で表示し、該印刷設定画面で更新日時とデータを印刷するモードを選択することが可能に構成されている。
【0079】
また、図7において後述するようにアプリケーション3001は、印刷機能をプラグインする機能を備え、そのプラグインモジュールをCPU1が実行することで、後述する各種の印刷ダイアログの表示と、印刷データの生成処理を以下のように制御することも可能に構成されている。
【0080】
すなわち、CPU1は、アプリケーションで作成されるデータの出力要求時に、作成されるデータを通常出力する第1のモードとCPU1により取得される前記更新日時とデータとを共に出力する第2の出力モードとを選択するための印刷ダイアログを表示して、該印刷ダイアログ上での選択結果に基づき、データを前記印刷装置に出力する第1のデータ出力と、更新日時と前記データとを前記印刷装置に出力する第2のデータ出力とを制御する。
【0081】
なお、プラグインモジュールによる印刷機能による更新日時印刷に限らず、後述するようにプリンタドライバが更新日時印刷を制御する構成としてもよい。
【0082】
図7は、図5に示したRAM2のメモリマップを説明する図であり、例えば本実施形態における印刷制御プログラムを含む印刷関連モジュールがホストコンピュータ101上のRAM2にロードされ実行可能となった状態に対応する。
【0083】
図7において、3001は印刷用のアプリケーション、3002は空きメモリ、3003は印刷関連データ、3004は印刷関連プログラム、3005はOS、3006はBIOSであり、本実施形態における印刷制御プログラムに相当するプリンタドライバ(またはプラグインモジュール)は、印刷関連プログラム3004の一部として存在している。このような構成を備える情報処理装置において本実施形態を図4等を参照しながら詳述する。
【0084】
図8は、図5に示したCRT10上に表示されるアプリケーション編集画面の一例を示す図であり、アプリケーション3001から、更新日時バナーページを印刷する際の情報処理装置101のCRT10の画面のアプリケーションウィンド上で「新春展示即売会」のドキュメントを編集している例に対応する。
【0085】
なお、本実施形態では、ホストコンピュータ101は、公知のアプリケーションソフトをインストールすることで、ドキュメントを編集したり、出力したりすることが可能であり、図8はこうした公知のアプリケーションで、ドキュメントを開いた状態を示している。
【0086】
図8において、501はアプリケーションウィンド全体を示しており、502は、タイトルバーで、WordProcessorアプリケーションにて、"新春展示即売.rtf"ドキュメントを開いているところを示している。
【0087】
503はアプリケーションソフトのツールバーを示しており、公知の一般的な、ファイルメニュー、編集メニュー、表示メニュー、書式メニューが表示されているが詳細の説明は割愛する。
【0088】
504はプリントプラグインのアイコンを示しており、アプリケーションに登録可能なプラグインファイルにより、アプリケーションにプラグインファイルを登録することで、プラグインで定義されたアイコンがアプリケーション画面のツールバーに表示されている様子を示している。なお、詳細は、フローを参照して説明する。
【0089】
なお、アイコン504をキーボード9や図示しないポインティングデバイス等を操作して押下指示することで、あらかじめ登録されたプラグインファイルに制御が移り、プラグインプログラムが実行される。
【0090】
505はアプリケーションでOpenしたドキュメントを示している。アプリケーションソフトは、ファイルメニューから、新規作成、既存ファイルのオープン、保存が可能であり、編集メニューから、コピー、ペースト、削除が可能であり、表示メニューから、拡大、縮小表示の切り替えが可能、書式メニューから、新規文字列挿入、文字列の書式変更/サイズ変更などが可能であるが、公知のため、ここでは詳細な説明は省く。
【0091】
図9は、本発明に係る情報処理装置における第1のデータ処理手順の一例を示すフローチャートであり、図7に示した印刷関連プログラム3004に含まれ、図6に示したアプリケーション2001に組み込まれるプラグインモジュールにより実行されることで実現する。なお、(601)〜(615)は各ステップを示す。
【0092】
また、アプリケーションソフトウェア(アプリケーション2001)には、公知のプラグインモジュール登録の機能があり、例えば、マイクロソフトウインドウズ(登録商標)のマイクロソフトオフィスアプリケーションではCOMファイル形式のプラグイン仕様が定められており、アプリケーションにプラグインを登録することで、プラグインとアプリケーション、プラグインとOSの間の通信が可能である。
【0093】
また、本処理は、図8に示したアプリケーション画面上で、ツールバー上のプラグインアイコン504を押下した際に実行される。また、以下の処理はプリンタドライバ2003の処理としても実現可能であり、アプリケーションから開かれるOS標準の印刷設定画面のプロパティからプリンタドライバ2003のユーザインタフェース画面(印刷設定画面)を開くことにより、以下の処理が実行されてもよい。そして、アイコン504を押下するとプログラムの制御は、ステップ(601)に移る。
【0094】
次に、ステップ(602)で、プラグインソフトもしくはプリンタドライバ2003はオペレーティングシステムを通じ、ユーザに図10で示す、印刷ダイアログを表示しユーザがOKボタンを押し返答するのを待つ。
【0095】
図10は、図5に示したCRT10に表示される印刷ダイアログ805の一例を示す図であり、アイコン504を押下すると、CPU1の制御によりCRT10に表示される。
【0096】
図10において、801〜803は印刷指示ボタンで、印刷指示ボタン801は「更新日時とともに印刷」を行うことを選択する場合に指示される。また、印刷指示ボタン802は「印刷時刻とともに印刷」を行うことを選択する場合に指示される。さらに、印刷指示ボタン803は「ドキュメントだけを印刷」を行うことを選択する場合に指示される。なお、現在、印刷指示ボタン801が選択中であることをUI上では識別可能に表示(「図中の「●」)している。
【0097】
804はOKボタンで、選択された内容を確定させる場合に押下する。
【0098】
尚、印刷指示ボタン801〜803は、ラジオボタンであり、いずれか1つが択一的に選択されるよう制御されている。
【0099】
次に、ステップ(603)で、「更新日時の印刷」をユーザが印刷指示ボタン801を指示することで選択したか否かをプラグインソフト、もしくはプリンタドライバ2003が判断し、更新日時印刷を選択していると判断した場合は、ステップ(604)に制御を移し、更新日時印刷を指示していないと判断した場合は、ステップ(614)に制御を移す。
【0100】
次に、ステップ(604)で、プラグインソフトもしくはプリンタドライバ2003は、現在オープンされている図8に示したドキュメント505のSavedプロパティをアプリケーション2001に要求する。Savedプロパティとは、ドキュメントの保存状態を取得し、最後の保存時以降にドキュメントが変更されているかどうかを示すフラグであり、取得要求に対する返値が「True」である場合は、ドキュメントが、作成時または最後の保存時以降に変更されていないことを示し、「False」である場合は、ドキュメントが、最後の保存時以降に変更されていることを示す。
【0101】
本実施形態において、このSavedプロパティは、アプリケーションソフト(アプリケーション2001)がRAM2上で管理している。このフラグは、例えば、公知のマイクロソフトウインドウズ(登録商標)のCOMオブジェクトでも実装されている。プラグインソフトもしくはプリンタドライバ2003は、このSavedプロパティをAPIを用いて取得することができる。
【0102】
次に、プラグインソフトは、ステップ(605)で、アプリケーションソフト2001から、Savedプロパティを受け取り、現在オープンしているドキュメント505が記憶装置(外部メモリ11等)に保存済みかどうかを確認し、保存済みと判断された場合は、ステップ(610)に制御を移し、オープンしているファイルの更新時刻を取得する。この更新時刻の取得は、get_ DateModified関数を用いて実現可能である。get_ DateModified 関数は、アプリケーションDLL(Dynamic link library)であり、この関数を用いてOSを介してアプリケーションからドキュメントの更新時刻を取得することができる。また、Windows OS(米国マイクロソフト社の登録商標)のWin32APIでは、GetFileTime()が定義されており、プラグインソフトまたはプリンタドライバ2003は、このAPI関数を用いてOSからドキュメントの更新時刻を取得することが可能となっている。そして、プラグインソフトまたはプリンタドライバ2003は、取得した更新時刻を追加したバナーページを作成して印刷指示し、しかる後に本ドキュメントの印刷データを生成して印刷指示する。このようにして生成されたバナーページおよび印刷データは、プリントスプーラを介して印刷装置に送信され、印刷処理される。
【0103】
一方、ステップ(605)で、修正中で、まだ保存していないと判断した場合は、現在開いて修正しているドキュメントと、記憶装置内に保存されているドキュメントが異なってしまうので、ステップ(606)に制御を移し、ユーザに保存をさせた上で印刷を行うための、例えば図10に示すダイアログをCRT10上にCPU1の制御で表示する。
【0104】
図11は、図5に示したCRT10上に表示される印刷ダイアログの一例を示す図であり、図9に示したステップ(606)で、CPU1の表示制御でCRT10上に表示される。
【0105】
図11において、上記ステップ(606)に制御が移されると、"保存して印刷"または"キャンセル"を選択させるために本ダイアログ「"修正中の書類を保存して印刷するに対し"」をユーザに対して表示する。なお、図11は、修正中の書類が未保存の場合に、書類を保存して印刷するかOKボタン902または、キャンセルボタン903を選択することができる。
【0106】
なお、901はOKボタンで、本ダイアログに対して肯定的な指示を行う場合に押下される。902は取消ボタンで、本ダイアログに対して否定的な指示を行う場合に押下される。
【0107】
そして、OKボタン902を選択した場合は、上記記憶装置に本ドキュメント505を保存して印刷を実行するために、ステップ(608)に制御を移し、プラグインソフトまたはプリンタドライバ2003は、アプリケーション2001に対して、現在オープンしているドキュメントを保存するように指示し、ステップ(609)にて、ドキュメント505の記憶装置への保存完了を待つ。
【0108】
一方、ステップ(607)で、すなわち、図11に示すダイアログ画面上で、キャンセル(取消)ボタン903が押下されたと判断した場合は、印刷処理を止め本処理を終了するため、ステップ(613)に制御を移す。
【0109】
次に、ステップ(609)で、オープン中のドキュメント505の保存が完了したことを確認した場合には、ステップ(610)に制御を移し、アプリケーションソフト2001に対し、ドキュメン505の更新日時を要求して該更新日時を取得した後に、バナーページとして、更新日時を印刷するコマンドをプリンタ102に送付するとともに、更新日時データをプリンタに送付する。もちろんプリンタドライバ2003が、アプリケーションから取得した更新日時データを付加したバナーページをプリンタ制御言語で生成し、生成されたプリンタ制御言語の印刷データを送信してもよい。
【0110】
次に、ステップ(611)にて、アプリケーション2001から書類全体のGDIデータ(ドキュメントの描画データの形式の一つ:Graphic Device Interface)をOSが受け取り、OSの描画手段による変換されたDDI関数データ(Device Driver Interface)を受け取り、ステップ(612)で、受け取った印刷すべきDDI関数データをプリンタドライバ2003がPDL(Page Description Language:ページ記述言語)に変更し、システムスプーラ2004を介してプリンタ102に送付する。
【0111】
しかる後、ステップ(613)に制御を移し、プラグインソフトおよびプリンタドライバ2003の動作を終了し、アプリケーション2002に制御を移す。
【0112】
一方、ステップ(603)からステップ(614)に制御が移った場合は、ユーザは、図10に示したダイアログ画面にて、印刷時刻印刷とともにドキュメントの印刷を選択しているか、単に、ドキュメントだけを印刷することを選択しているかのどちらかであり、ステップ(614)にて、印刷時刻印刷とともにドキュメントの印刷を選択(図10に示したダイアログ画面上で、ボタン802が選択された場合)していると判断した場合には、ステップ(615)に制御を移し、バナーページとして、印刷を行う現在時刻を印刷するコマンドをプリンタ102に送付するとともに、現在時刻のデータをプリンタ102に送付し、しかる後、ステップ(611)に制御を移し、ステップ(611)、(612)にてドキュメント全体を印刷し、ステップ(613)でプラグインソフトの動作を終了し、アプリケーションソフト2001に制御を移す。
【0113】
一方、ステップ(614)で印刷時刻とともに印刷を選択されなかったと判断した場合は、単にドキュメントのみを印刷することを選択(図10に示したダイアログ画面上で、ボタン803が選択された場合)されたと判断し、ステップ(611)に制御を移し、前述のように、図8に示した編集中のドキュメント505の印刷処理(DDIデータからPDLへの変換)を行い、アプリケーション2001に制御を移す。
【0114】
図12は、ユーザが、アプリケーションによりドキュメントを修正し保存する前に、"更新日時とともにドキュメントを印刷を行う"を選択した場合のデータのやりとりを示す図であり、図5のプリントプラグインのボタン504を押下し、コンピュータのソフトの制御が、図9のフローチャートに示すプラグインソフトに移った際の、ユーザおよび、アプリケーションソフトと、プリントプラグインソフトまたはプリンタドライバ2003間のやりとりを示している。
【0115】
図12は、本発明に係る情報処理装置におけるプリントプラグイン(プリンタドライバ2003)とアプリケーションとユーザからの指示とに基づく一連のプリントセッション例を説明する図である。以下、図9に示したフローチャートにおけるステップと対応づけながらその処理例を説明する。なお、ST1〜ST14は各要求、指示、通知、表示、処理等に対応するフェーズに対応する。以下、制御対象はプリントプラグインとして説明するが、プリンタドライバ2003でも置き換えられる。
【0116】
先ず、図8に示したアプリケーションソフトのウィンドウ上のプリントプラグインのアイコン504をユーザが押下すると、フェーズST1でアプリケーションソフト2001にイベントが通知される。
【0117】
アプリケーションソフト2001は、プリントプラグインソフトにフェーズST2でボタン押下を通知すると、制御がプリントプラグインソフトに移り、図9に示したフローチャートのステップ(601)からソフトウェアに基づくステップの処理がスタートする。
【0118】
次に、フェーズST3(図9のステップ(602))で、ユーザに対し、図10に示した印刷ダイアログをCRT10上に表示する。ここで、ユーザが図10に示す画面で、ボタン801を選択し、OKボタン804を押下すると、更新日時印刷を選択した旨のイベントがフェーズST4にて、プリントプラグインソフトに通知される。
【0119】
そして、図9のステップ(603)にて、更新日時印刷の指示の判定がYESと判断された場合、フェーズST5(図9のステップ(604))にて、オープン中のドキュメントのSavedプロパティをアプリケーションソフト2001に要求する。フェーズST6にてアプリケーションソフトから"Savedプロパティ=未保存"を取得し、図9のステップ(605)にて、保存されていないと判断され、フェーズST7(図9のステップ(606))にて、"保存して印刷またはキャンセル"するための図11に示したダイアログをCRT10上に表示する。
【0120】
ここで、ユーザが図11に示す画面でOKボタン902を押すと、フェーズST8で保存要求の指示が、プリントプラグインに送付され、図9のステップ(607)にて、保存して印刷の判断がYESと判断される。次に、フェーズST9(図9のステップ(608))にて、アプリケーションに現在オープンしているドキュメントの保存を要求し、フェーズST10で保存完了が通知されると、(図9のステップ(609))で保存完了かの判断がYESと判断され、図9のステップ(610)に制御が移り、フェーズST11、ST12(図9のステップ(610))にてアプリケーションに対し、オープンしているドキュメントの更新日時情報を要求、さらに、(図9のステップ(610))にて、更新日時プリントコマンドと、更新日時データとを、アプリケーションからプリントプラグインに通知する。
【0121】
次に、フェーズST13,14(図9のステップ(611))にて、アプリケーションに対しプリントプラグインから、ドキュメント全体、全ページのGDIデータを要求し、受け取る。次に(図9のステップ(612))にて、書類の全GDIデータをDDIデータを介してPDLに変換しプリンタに送付する。
【0122】
図13は、図1に示したプリンタ102で印刷されるバナーページの一例を示す図であり、例えば図9に示したステップ(610)の実行に伴い、更新日時を印刷したバナーページの例である。
【0123】
図13において、1001はバナーページの用紙で、ネットワークのプロトコルから取得したユーザ名1002、同じくネットワークのプロトコルから取得したドキュメント名称1003、更新日時1004を所定のフォームで印刷した例である。なお、出力態様としては、本フォームに限定されず、種々印刷出力態様があり、プリンタエンジンがカラー対応であれば、重要度に応じて出力するフォントのカラーを変更することも有効である。
【0124】
図14は、本発明に係る印刷装置における第1のデータ処理手順の一例を示すフローチャートであり、図4に示したプリンタコントローラ103によるドキュメント印刷処理手順に対応する。なお、(1101)〜(1107)は各ステップを示し、各ステップはCPU309がROM304等より読み出す制御プログラムを実行することで実現される。
【0125】
電源を投入すると、プリンタコントローラ103は、ステップ(1101)からスタートを行い、公知の初期設定操作を行った後、ステップ(1102)にて、ネットワークインタフェースを経由して、ホストコンピュータ101より印刷データが送られてきていないかをCPU309がチェックし、送られてきていないと判断した場合は、再度、ステップ(1102)にループすることで、ホストコンピュータ101からのデータを待つ。
【0126】
そして、ステップ(1102)で、ホストコンピュータ101よりデータが送られて来たと判断した場合には、ステップ(1103)に制御を移し、ホストコンピュータ101より受信するデータの解析を行う。
【0127】
次に、ステップ(1104)で、データの中に、作成日時印刷または、更新日時印刷の指示があるか否かを判断し、いずれもNOと判断した場合には、ステップ(1106))へ進む。
【0128】
一方、ステップ(1104)で、作成日時印刷または、更新日時印刷の指示命令があるとCPU309が判断した場合には、ステップ(1105)に制御を移し、ホストコンピュータ101からの指示命令に従って、作成日時または、更新日時をバナーページ上に印刷した上で、制御をステップ(1106)に移し、ホストコンピュータ101から送付されてくるドキュメントデータを展開し、用紙上に画像形成し出力し、しかる後に、ステップ(1107)で、一連の印刷動作を終了し、しかる後に、ステップ(1101)のスタートに制御を移す。
【0129】
これにより、更新日時印刷設定を行うための所定のプラグインモジュールをアプリケーションに組み込むという構成で、出力されたドキュメントをみただけで、そのドキュメントの最終更新日時や(作成日時)、などを確認し、ホストコンピュータ101上のドキュメント(データ)の修正日付との照合で、どのデータがどの印刷結果に対応しているかを容易に区別可能となる。
【0130】
また、ホストコンピュータ101を備える出力センタでは、バナーと完成物を渡すことにより、お客さんは受け取り時に、入稿データを修正せずに出力していることを確認し受け取ることが可能となる。
【0131】
〔第2実施形態〕
上記実施形態では、ホストコンピュータ101から受信したデータをプリンタ102でバナーページ上に、更新日時を印刷する例を示したが、バナーページの印刷に限ることなく、印刷すべきデータをRAM2上に展開した後、さらに、更新日時を示す情報を出力ページ内にオーバレイ展開して印刷するように構成してもよい。以下、その実施形態について説明する。
【0132】
図15は、本発明の第2実施形態を示す印刷装置における印刷結果を示す図であり、第1実施形態に示したバナーページの代わりに、データを展開し、用紙上にオーバレイ印刷した場合の例である。
【0133】
図15において、1201はデータを展開し、用紙上に画像形成を行った様子を示しており、1202,1203,1204はアプリケーションソフトにより作成して描画したオブジェクトを示し、1205は更新時刻で、プリンタドライバ2003に基づくCPU1によるオブジェクト描画処理に並行して、例えば図10に示したダイアログによりオーバレイ処理して展開される。
【0134】
これにより、ホストコンピュータ101で編集されたドキュメントと更新日時を示す情報を同一ページ内にオーバレイ印刷した結果として得られる。
【0135】
〔第3実施形態〕
上記実施形態では、所定のアプリケーションに組み込み可能なプラグラインモジュールとして、更新日時印刷機能処理を実行する場合について説明したが、アプリケーションには何ら変更を加えずに、プリンタドライバの機能として、同様の更新日時印刷とその印刷態様をUIで提供して、ユーザの選択に適応して印刷すべきアプリケーションのデータに更新日時等のオーバレイ情報を共にプリンタ102に転送して、図15に示すようなホストコンピュータ101で編集されたドキュメントと更新日時を示す情報を同一ページ内にオーバレイ印刷した結果を得られるように構成してもよい。以下、その実施形態について説明する。
【0136】
図16は、図5に示したCRT10に表示される印刷設定画面の一例を示す図であり、ホストコンピュータ101上の外部メモリ11に記憶されるプリンタドライバによる印刷設定画面(UI画面)例であって、図8に示す編集画面上で、起動中のアプリケーションのファイルメニューから、不図示の印刷メニューを選択したときに表示されるプリンタドライバのUI画面例である。
【0137】
図16において、1301はタイトルバーで、図6に示したプリンタドライバ2003のダイアログ画面を表示していることを示している。1302は出力先として選択したプリンタ名であり、例えば、「Printer001」という名称のプリンタを選択していることを示している。
【0138】
1303は公知の印刷を行うページ範囲を選択するUIで、図16では、すべてのページを印刷する「All」が現在選択状態で表示されている。1304はドキュメントを何部印刷するかの選択UIで、図16では、部数を1部出力するように設定されている。
【0139】
1307はアプリケーションで作成したデータを展開し印刷を行う際にオーバレイを行う内容を選択設定するUIで、データの更新日時をイメージ情報に展開し、さらにデータを展開し用紙上に描画して印刷する際にオーバレイ印刷するモード(第1印刷モード)に対応する選択ボタン1307−1と、印刷時刻をイメージ情報に展開し、さらにデータを展開し用紙上に描画して印刷する際にオーバレイし印刷するモード(第2印刷モード)に対応する選択ボタン1307−2と、オーバレイをせずにデータを展開し、用紙上に描画して印刷するモード(第3印刷モード)に対応する選択ボタン1307−3のうちどれか1つを選択可能である。図13では、更新日時をオーバレイ印刷するモードが選択されている。
【0140】
1305はOKボタンで、設定された内容の印刷設定で印刷を実行する場合に押下される。1306は取消ボタンで、設定された印刷処理を取り消す場合に押下され、該取消ボタン1306の押下により、アプリケーションの編集画面に復帰するようにCPU1がCRT10に対する表示を制御している。
【0141】
図17は、本発明に係る情報処理装置における第2のデータ処理手順の一例を示すフローチャートであり、図6に示したプリンタドライバ2003による印刷処理手順に対応する。なお、(1401)〜(1419)は各ステップを示し、各ステップはCPU1が外部メモリ11から読み出される制御プログラム(プリンタドライバ2003ふぉふくむ)を実行することで実現される。
【0142】
また、本例では、アプリケーション2001で作成したデータを、プリンタドライバ2003からの印刷する際に、更新時刻をオーバレイして印刷するか、印刷時刻をオーバレイして印刷するか、または、単純印刷を行うか、図16に示したUI上のボタン選択状態(第1〜第3印刷モードの選択状態に対応)を選択して印刷を行うことが可能なシステムの例を示している。
【0143】
図8に示したアプリケーション画面で、ユーザが現在開いているドキュメントを印刷するために、ファイルメニューから印刷メニューをキーボード9あるいは図示しないポインティングデバイスを操作して選択すると、ホストコンピュータ101上のソフトの制御がアプリケーションから、プリンタドライバ2003に制御が移り、ステップ(1401)に制御が移る。
【0144】
次に、ステップ(1402)にて、ユーザに、例えば図16に示す態様の印刷ダイアログをCRT10上に表示し、ユーザからの指示または返答を待つ。この際、ステップ(1402)で表示されるダイアログが、前述の図16に示したダイアログである。
【0145】
次に、ユーザが、ステップ(1402)にて、図16上のOKボタン1305またはキャンセルボタン1306を押下すると、ステップ(1420)に制御が移り、印刷実行の指示と判断されるOKボタン1305が押されたとプリンタドライバ2003が判断した場合は、ステップ(1403)に制御を移し、キャンセルボタン1306が押下されたとプリンタドライバ2003が判断した場合には、ステップ(1413)に分岐し、本処理を終了する。
【0146】
次に、ステップ(1403)にて、ユーザが更新日時のオーバレイ印刷(選択ボタン1307−1)を選択したかどうかをプリンタドライバ2003が判定し、更新日時のオーバレイ印刷を選択していると判断した場合には、ステップ(1404)に制御を移し、それ以外を選択していると判断した場合には、ステップ(1414)に制御を移す。
【0147】
そして、ステップ(1404)で、オープン中のドキュメントのSavedプロパティをアプリケーション2001に要求し、ステップ(1405)で、Savedプロパティの内容から、オープン中のドキュメントが修正中で、保存状態であるかどうかをプリンタドライバ2003が判断し、オープン中のドキュメントが修正済みで、保存済みと判断した場合(ステップ(1405)でYES)には、ステップ(1410)へ移す。
【0148】
一方、ステップ(1405)で、オープン中のドキュメントが修正中で、保存状態でないと判断した場合には、ステップ(1406)で、図11に示した、保存して印刷実行または印刷キャンセルを選択するための印刷ダイアログをCPU1がCRT10上に表示し、ステップ(1407)で、ユーザの選択情報を受け取るまで待つ。
【0149】
ここで、ユーザの選択が、保存して印刷を選択したと判断された場合(OKボタン902を押下指示していると判断した場合)には、ステップ(1408)に制御を移す。
【0150】
一方、ステップ(1407)で、プリンタドライバ2003がユーザが印刷をキャンセルすることを選択したと判断した場合(取消ボタン903を押下指示していると判断した場合)には、ステップ(1413)に制御を移す。
【0151】
次に、ステップ(1408)で、アプリケーションソフト2001に対し、現在オープンしているドキュメントを保存するように指示を行い、ステップ(1409)にて保存完了か否かをプリンタドライバ2003が判定し、保存完了までループする。
【0152】
次に、ステップ(1410)にて、ドキュメントの更新日時を取得して、ステップ(1411)にて、プリンタドライバ2003は、アプリケーション2001に書類全体のGDIデータをOSが要求し、OSの描画手段がDDI関数データに変換し、変換されたDDI関数データを受信する。次に、ステップ(1412)にて、プリンタドライバは書類全体のDDI関数データを受け取り、プリンタ102で印刷するためのデータ(PDLデータ)に変換した後、各ページに、更新日時情報をオーバレイ印刷するためのコマンドを付加して、該PDLデータをプリンタ102に送付する。そして、しかる後に、ステップ(1413)に制御を移し、印刷処理を終了する。
【0153】
一方、ステップ(1403)で、ユーザにより選択されたボタンが、更新日時印刷でないとプリンタドライバ2003により判断されると、ステップ(1414)に制御を移し、図16に示したUI画面上で、印刷時刻印刷モードが選択されたか否かをプリンタドライバ2003が判定し、印刷時刻印刷モードであると判定した場合(選択ボタン1307−2が選択された場合)には、ステップ(1415)にて現在時刻(BIOS設定に基づくハードウエア基準時刻)を取得し、ステップ(1416)にて、アプリケーション2001に書類全体のGDIデータを要求し、ステップ(1417)にて、アプリケーション2001から受け取ったGDIデータをPDLに変換するとともに、現在時刻をオーバレイ印刷するためのコマンドを付加してプリンタ102に送付した後に、ステップ(1413)に制御を移す。
【0154】
一方、ステップ(1414)で、印刷時刻印刷モードでないと判断された場合は、すなわち、単純印刷のモードであり、ステップ(1418)に制御を移し、プリンタドライバ2003は、アプリケーション2001に書類全体のGDIデータを要求して、OSを介して同様にDDI関数データを受け取り、ステップ(1419)にて、アプリケーション2001からOSを介して受け取ったDDI関数データをPDLに変換しプリンタに送付した後に、ステップ(1413)に制御を移して、処理を終了する。
【0155】
これにより、図15に示すように、アプリケーション2003のドキュメント(書類)の出力に際し、更新日時をオーバレイした印刷結果が得られる。
【0156】
上記実施形態によれば、更新日時印刷設定を行うための機能処理をプリンタドライバが実行することで、出力されたドキュメントをみただけで、そのドキュメントの最終更新日時や(作成日時)、などを確認し、ホストコンピュータ101上のドキュメント(データ)の修正日付との照合で、どのデータがどの印刷結果に対応しているかを容易に区別可能となる。
【0157】
また、ホストコンピュータ101を備える出力センタでは、バナーと完成物を渡すことにより、お客さんは受け取り時に、入稿データを修正せずに出力していることを確認し受け取ることが可能となる。
【0158】
なお、上記実施形態では、更新日時情報として、人間が視覚的に認知できる表記方法にて、バナーページや、オーバレイ印刷を行う例を示したが、本発明の特徴は、出力した用紙と一致する元データを特定可能な印刷結果を得ることであるので、人間が認知できる表記方法で印刷することに限定されない事は言うまでもなく、例えば応用例として、更新時刻をバーコードとして印刷することで、出力されたドキュメントのバナーページや、オーバレイ印刷部分をバーコードスキャナで読み取ることで、自動的に、コンピュータ内のオリジナルドキュメントのどれが、実際に出力されたドキュメントに対応するか自動検索し表示したりするように構成してもよい。
【0159】
〔第4実施形態〕
以下、本発明に係る情報処理装置におけるホットフォルダの構成例およびPDLデータによる更新日時情報の通知例を踏まえて、第4実施形態について説明する。
【0160】
図18は、図1に示した外部機器101のデスクトップ画面の一例を示す図であり、所定のOSにより管理されるアイコンが表示される。
【0161】
図18において、1701はコンピュータのストレージを示すアイコンである。1702は消去書類をドラッグアンドドロップにて消去するゴミ箱アイコンである。1703はホットフォルダと呼ばれるフォルダで、ホットフォルダ1703を監視するソフトにより、ホットフォルダ1703内にドロップされたファイルがあった場合に、図19に示すプロトコル手順で、ドロップされたファイルをプリンタ102に送付する。
【0162】
1704,1705は作成したドキュメントデータのアイコンで、プリンタに送付することにより直接印刷可能なデータ形式のものである。
【0163】
ユーザは、例えばファイルのアイコン1704を、図示しないポインティングデバイス等を操作することで、ホットフォルダ1703にドラッグアンドドロップすると、前述の監視ソフトは、図19に示す手順で、ドロップされたファイルをプリンタ102に送付する。
【0164】
図19は、本発明に係る情報処理装置と印刷装置との間のデータ転送セッションの一例を示す図であり、例えば図18に示したホットフォルダ1703に対するファイルのドロップ状態を判別して監視ソフトウェアが実行する手順に対応する。なお、ST1801〜ST1805は各フェーズを示す。
【0165】
図19に示すように、監視ソフトはファイルのアイコン1704がホットフォルダ1703に対してドロップされると、その状態をトリガとして、ドロップされたファイルをプリンタ102に送付する。
【0166】
具体的には、フェーズST1801では、画像出力要求(出力を希望するデータがある旨の通知)を外部機器101から、プリンタ102へ出力する。そして、フェーズST1802では、プリンタ102から、外部機器101へのデータ送付要求であり、フェーズST1803はデータ属性情報の送付であり、この際、データの更新日時、作成日時、データの作成者などの情報を送付する。
【0167】
次に、フェーズST1804で、外部機器101からプリンタ102に出力データ(ホットフォルダにドロップされたファイル)をプリンタ102に送付する。フェーズST1805では、出力データの受信が終わると、プリンタ102は受け付け終了を外部機器101に通知する。
【0168】
図20は、本発明に係る情報処理装置から印刷装置に転送されるPDLデータの一例を示す図であり、例えば印字するための印刷データ上に、更新日時情報を付加したPDLデータの一例に対応する。
【0169】
図20において、1901,1903は公知のPostScript(登録商標)言語により記述された出力データの先頭部分を示している、PDLの言語仕様については公知のため省略する。ここで、1902は追加データ部となる更新日時情報で、更新日時情報が上記出力データ1901と出力データ1903との間に追加されている様子を示している。
【0170】
プリンタドライバ2003から更新日時印刷を選んで出力する際に、更新日時情報1902に示すように出力データ1901と出力データ1903との間に挿入して、出力を行う。
【0171】
なお、更新日時情報1902に示す“%%ModifiedDate:12/5/2003 19:55:20”において、%%ModifiedDateはいかに続くデータが更新日時を示すデータパターンであり、それに続く“11/5/2003 19:55:20”は、2003年11月5日19:55:20秒にデータが最後に更新されたことを示している。
【0172】
また、出力データ1901中”%%CreationDate:12/4/2003 19:55:20“は、同様に、PDLデータが作成された時刻、すなわち、印刷時刻を示している。
【0173】
図21は、本発明に係る印刷装置における第2のデータ処理手順の一例を示すフローチャートであり、クライアントからプリンタにデータを送る際、様々なプロトコルのうちどれかを選択して利用して、プロトコルに応じて、最適な更新日時情報を取得し、バナーページとして更新日時を印刷する処理手順に対応する。なお、(1501)〜(1517)は各ステップを示す。
【0174】
電源を投入すると、図4に示したプリンタコントローラ103のCPU309は、本処理を開始し(1501)、公知の初期設定操作を行った後、ステップ(1502)で、CPU309は、ネットワークインタフェースを経由して、LPRプロトコルまたはIPPプロトコルにて、印刷データが送られてきていないかチェックして、いずれかのプロトコルでデータが送られて来たと判断した場合には、ステップ(1503)に制御を移し、PDLデータの受信処理、および受信したPDLデータの解析処理を行い、PDLデータ内から予め定められたパターンを探し、更新日時データを取得する。
【0175】
なお、LPRプロトコルは、通常プリンタドライバからPDLデータをプリンタに送付する際に用いられ、この際に、有効な更新日時データを取得することができないため、PDLデータ内に埋め込んだ、更新日時データを使用している。この際、クライアントPC側のデータ処理動作については、前述の図8〜図17に示した実施形態と同様である。
【0176】
次に、ステップ(1505)で、更新日時をバナーページ上に印刷する。そして、ステップ(1506)で、クライアントから送付されたPDLデータのドキュメント部分をRAM307上で展開し、用紙上に画像形成し出力し、しかる後に、ステップ(1507)で、一連の印刷処理を終了する。そして、処理はステップ(1501)に戻る。
【0177】
一方、ステップ(1502)で、ネットワークインタフェースを経由して、LPRプロトコルまたはIPPプロトコルにて、印刷データが送られてきていないとCPU309が判断した場合は、ステップ(1504)で、公知のFTP経由で入力データがあるか否かをCPU307が判断し、公知のFTP経由で入力データがあると判断した場合は、ステップ(1508)で、FTPにてPDLデータ受信を行う際、FTPプロトコル上のファイルの更新日時データをバナーページにて印刷用の更新日時データとして取得して、ステップ(1505)へ進む。なお、FTPプロトコルの詳細は公知であるため省略する。
【0178】
一方、ステップ(1504)で、公知のFTP経由で入力データがないとCPU309が判断した場合は、ステップ(1509)で、ホットフォルダ経由で、入力データが存在するか否かをCPU309が確認し、入力データが存在しないとCPU309が判断した場合は、ステップ(1502)へ戻る。
【0179】
一方、ステップ(1509)で、入力データが存在するとCPU309が判断した場合は、ステップ(1510)で、ホットフォルダ経由のデータ取得の際の独自プロトコルにより、予め定義された更新日時取得手順にて、更新日時データを取得し、ステップ(1505)へ進む。
【0180】
なお、本実施形態では、バナーページ上に、更新日時を印刷する例を示したが、バナーページの印字に限ることなく、データを展開し用紙上に、オーバレイ印刷をすることも有効であり、可能であることは言うまでもない。
【0181】
〔第5実施形態〕
上記第4実施形態では、クライアントからプリンタにデータを送る際、様々なプロトコルのうちどれかを選択して利用して、プロトコルに応じて、最適な更新日時情報を取得し、バナーページとして更新日時を印刷する場合について説明したが、その更新日時がPDLデータ中の更新日時と照合して正しいかどうかを判定した上で、いずれかの更新日時を採用して印刷制御するようにしてもよい。以下、その実施形態について説明する。
【0182】
図22は、本発明に係る印刷装置における第3のデータ処理手順の一例を示すフローチャートであり、クライアントからプリンタにデータを送る際、様々なプロトコルのうちどれかを選択して利用して、プロトコルに応じた最適な更新日時情報を取得し、バナーページとして更新日時を印刷する処理手順に対応する。なお、(1601)〜(1614)は各ステップを示す。
【0183】
電源を投入すると、図4に示したプリンタコントローラ103のCPU309は、本処理を開始し(1601)、公知の初期設定操作を行った後、ステップ(1602)で、CPU309は、ネットワークインタフェースを経由して、LPRプロトコルまたはIPPプロトコルにて、印刷データが送られてきていないかチェックして、いずれかのプロトコルでデータが送られて来たと判断した場合には、ステップ(1603)に制御を移し、PDLデータの受信処理、および受信したPDLデータの解析処理を行い、PDLデータ内から予め定められたパターンを探し、更新日時データを取得する。
【0184】
なお、LPRプロトコルは、通常プリンタドライバからPDLデータをプリンタに送付する際に用いられ、この際に、有効な更新日時データを取得することができないため、PDLデータ内に埋め込んだ、更新日時データを使用している。この際、クライアントPC側のデータ処理動作については、前述の図8〜図17に示した実施形態と同様である。
【0185】
次に、ステップ(1605)で、更新日時をバナーページ上に印刷する。そして、ステップ(1606)で、クライアントから送付されたPDLデータのドキュメント部分をRAM307上で展開し、用紙上に画像形成し出力し、しかる後に、ステップ(1607)で、一連の印刷処理を終了する。そして、処理はステップ(1601)に戻る。
【0186】
一方、ステップ(1602)で、ネットワークインタフェースを経由して、LPRプロトコルまたはIPPプロトコルにて、印刷データが送られてきていないとCPU309が判断した場合は、ステップ(1604)で、公知のFTP経由で入力データがあるか否かをCPU309が判断し、公知のFTP経由で入力データがあると判断した場合は、ステップ(1608)で、FTPにてPDLデータ受信を行う際、FTPプロトコル上のファイルの更新日時データをバナーページにて印刷用の更新日時データD1として取得する。
【0187】
次に、ステップ(1611)で、PDLデータ内に予め定められたコード列にて判断可能な、更新日時情報を更新日時データD2として取得する。次に、ステップ(1612)にて、更新日時データD2が不正か否かをCPU309が判断し、不正でないと判断した場合は、ステップ(1613)で更新日時データD2を更新日時とし定義し、ステップ(1605)へ進む。なお、FTPプロトコルの詳細は公知であるため省略する。
【0188】
一方、ステップ(1604)で、公知のFTP経由で入力データがないとCPU309が判断した場合は、ステップ(1609)で、ホットフォルダ経由で、入力データが存在するか否かをCPU309が確認し、入力データが存在しないとCPU309が判断した場合は、ステップ(1602)へ戻る。
【0189】
一方、ステップ(1609)で、入力データが存在するとCPU309が判断した場合は、ステップ(1610)で、ホットフォルダ経由のデータ取得の際の独自プロトコルにより、予め定義された更新日時取得手順にて、更新日時データD1を取得する。
【0190】
次に、ステップ(1611)で、PDLデータ内に予め定められたコード列にて判断可能な、更新日時情報を更新日時データD2として取得する。次に、ステップ(1612)にて、更新日時データD2が不正か否かをCPU309が判断し、不正でないと判断した場合は、ステップ(1613)で更新日時データD2を更新日時とし定義し、ステップ(1605)へ進む。
【0191】
一方、ステップ(1612)で、不正であると判断した場合は、ステップ(1614)で更新日時データD1を更新日時と定義してステップ(1615)へ進む。
【0192】
以上により、FTP経由やホットフォルダ経由で、データを取得し印字する際、特定の更新日時情報の取得手段により取得した情報に不具合があっても、他の更新日時取得手段により取得した情報を更新日時情報として利用して、バナーページに更新日時を印刷することが可能である。
【0193】
上記中、必要な更新日時データが存在しない場合には、不正データとしてハンドリングする。
【0194】
上記実施形態では、バナーページ上に、更新日時を印字する例を示したが、本提案は、バナーページの印刷に限ることなく、データを展開し用紙上に、オーバレイ印刷をすることも有効であり、可能であることは言うまでもない。
【0195】
なお、上述の各実施形態では、更新日時情報として、人間が視覚的に認知できる表記方法にて、バナーページや、オーバレイ印刷を行った例を示したが、本発明の特徴は、出力した用紙と一致する元データを特定することにあり、本発明は、人間が認知できる表記方法で印刷することに限定されない事は言うまでもない、この場合の応用例としては、更新時刻をバーコードとして印刷することで、出力されたドキュメントのバナーページや、オーバレイ印刷部分をバーコードスキャナで読み取ることで、自動的に、コンピュータ内のオリジナルドキュメントのどれが、実際に出力されたドキュメントに対応するか自動検索し表示したりするように応用することももちろん可能である。
【0196】
また、FTP,LPR,ホットフォルダなど色々なプロトコルのうち、どのプロトコルでドキュメントを出力しても、出力されたドキュメントをみただけで、そのドキュメントデータの最終更新日時を確認することが可能となり、ホストコンピュータ上のドキュメント(データ)の修正日付との照合で、どのデータがどの印刷結果に対応しているかを容易に区別可能である。また、出力依頼したデータの修正日時と、出力されたドキュメントに印刷された修正日時から、データの完全性を確認可能となる。
【0197】
以下、図23に示すメモリマップを参照して本発明に係る情報処理装置、印刷装置を含む印刷システムで読み取り可能なデータ処理プログラムの構成について説明する。
【0198】
図23は、本発明に係る情報処理装置、印刷装置を含む印刷システムで読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【0199】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【0200】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【0201】
本実施形態における図9,図14,図17,図21,図22に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【0202】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0203】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0204】
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
【0205】
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
【0206】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0207】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバやftpサーバ等も本発明の請求項に含まれるものである。
【0208】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0209】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0210】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0211】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から排除するものではない。
【0212】
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるものではない。
【0213】
なお、本発明は、上記した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。以下、その実施態様1〜16について説明する。
【0214】
〔実施態様1〕
情報処理装置から受信するデータを印刷可能な印刷装置(図1に示すプリンタコントローラ103を備えるプリンタ102)であって、前記データ中から更新日時情報を異なる手続で取得する複数の取得手段(例えば図4に示すホストI/F部302を介して受信するデータをCPU309が図21に示すステップ(1502)〜(1504)、(1508)〜(1510)で取得する)と、いずれかの取得手段により前記データから取得される更新日時情報と前記データとの印刷出力を制御する出力制御手段(図4に示すCPU309が図21に示すステップ(1505),(1506)を実行して出力する)とを有することを特徴とする印刷装置。
【0215】
これにより、情報処理装置から様々なデータ転送プロトコルでデータを受信した場合でも、最適な更新日時情報の取得手続により確実に取得して、印刷すべきデータの更新日時情報を確実にユーザが事後的に確認可能な印刷結果を得ることができる利便性に優れた印刷出力環境を整備できる。
【0216】
〔実施態様2〕
前記複数の取得手段は、前記情報処理装置のプリンタドライバが生成するPDLデータから更新日時情報を取得する第1の取得手段(例えば図4に示すホストI/F部302を介して受信するデータをCPU309が図21に示すステップ(1502)〜(1503)で取得する)と、前記情報処理装置との所定の通信プロトコルに従って転送されるPDLデータから更新日時情報を取得する第2の取得手段(例えば図4に示すホストI/F部302を介して受信するデータをCPU309が図21に示すステップ(1504)、(1508)で取得する)と、前記情報処理装置との独自の通信プロトコルで転送される特定データから更新日時情報を取得する第3の取得手段(例えば図4に示すホストI/F部302を介して受信するデータをCPU309が図21に示すステップ(1509)〜(1510)で取得する)を含むことを特徴とする実施態様1記載の印刷装置。
【0217】
これにより、情報処理装置から様々なデータ転送プロトコルでデータを受信した場合でも、最適な更新日時情報の取得手続により確実に取得することができる。
【0218】
〔実施態様3〕
いずれかの取得手段が取得している更新日時情報が正当な日時情報であるかどうかを判断する判断手段(例えば図4に示すホストI/F部302を介して受信するデータをCPU309が図22に示すステップ(1612)で判断する)を有し、前記判断手段により更新日時情報が正当な日時情報でないと判断された場合に、取得した更新日時情報に代えて他の取得手段により更新日時情報を取得する(例えば図4に示すホストI/F部302を介して受信するデータをCPU309が図22に示すステップ(1613)〜(1614)で取得する)ことを特徴とする実施態様1記載の印刷装置。
【0219】
これにより、情報処理装置から様々なデータ転送プロトコルでデータを受信した場合に、不正な更新日時情報を取得しているかの真偽性を評価した後、正当な更新日時情報を利用した更新日時情報の印刷を行うことができる。
【0220】
〔実施態様4〕
前記所定の通信プロトコルは、FTPであることを特徴とする実施態様2記載の印刷装置。
【0221】
これにより、FTPを利用する通信で更新日時情報を取得して、データと更新日時情報との印刷出力を自在に行うことができる。
【0222】
〔実施態様5〕
前記所定の通信プロトコルは、前記情報処理装置との間で取り決められている特有のデータ転送プロトコルであることを特徴とする実施態様2記載の印刷装置。
【0223】
これにより、情報処理装置と印刷装置との間における特有のデータ転送プロトコルで更新日時情報を取得して、データと更新日時情報との印刷出力を自在に行うことができる。
【0224】
〔実施態様6〕
前記出力制御手段は、前記更新日時情報をデータ出力ページとは独立したページで出力することを特徴とする実施態様1記載の印刷装置。
【0225】
これにより、更新日時情報の出力結果とデータの出力結果とを独立して管理することができる。
【0226】
〔実施態様7〕
前記出力制御手段は、前記更新日時情報をデータ出力ページと同一ページに出力することを特徴とする実施態様1記載の印刷装置。
【0227】
これにより、更新日時情報の出力結果とデータの出力結果とを同時に確認することができる。
【0228】
〔実施態様8〕
情報処理装置から受信するデータを印刷可能な印刷装置における印刷制御方法であって、前記データ中から更新日時情報を異なる手続で取得する複数の取得ステップと、いずれかの取得ステップにより前記データから取得される更新日時情報と前記データとの印刷出力を制御する出力制御ステップとを有することを特徴とする印刷制御方法。
【0229】
これにより、情報処理装置から様々なデータ転送プロトコルでデータを受信した場合でも、最適な更新日時情報の取得手続により確実に取得して、印刷すべきデータの更新日時情報を確実にユーザが事後的に確認可能な印刷結果を得ることができる利便性に優れた印刷出力環境を整備できる。
【0230】
〔実施態様9〕
前記複数の取得ステップは、前記情報処理装置のプリンタドライバが生成するPDLデータから更新日時情報を取得する第1の取得ステップ(例えば図4に示すホストI/F部302を介して受信するデータをCPU309が図21に示すステップ(1502)〜(1503)で取得する)と、前記情報処理装置との所定の通信プロトコルに従って転送されるPDLデータから更新日時情報を取得する第2の取得ステップ(例えば図4に示すホストI/F部302を介して受信するデータをCPU309が図21に示すステップ(1504)、(1508)で取得する)と、前記情報処理装置との独自の通信プロトコルで転送される特定データから更新日時情報を取得する第3の取得ステップ(例えば図4に示すホストI/F部302を介して受信するデータをCPU309が図21に示すステップ(1509)〜(1510)で取得する)を含むことを特徴とする実施態様8記載の印刷制御方法。
【0231】
これにより、情報処理装置から様々なデータ転送プロトコルでデータを受信した場合でも、最適な更新日時情報の取得手続により確実に取得することができる。
【0232】
〔実施態様10〕
いずれかの取得ステップが取得している更新日時情報が正当な日時情報であるかどうかを判断する判断ステップを有し、前記判断ステップにより更新日時情報が正当な日時情報でないと判断された場合に、取得した更新日時情報に代えて他の取得ステップにより更新日時情報を取得することを特徴とする実施態様8記載の印刷制御方法。
【0233】
これにより、情報処理装置から様々なデータ転送プロトコルでデータを受信した場合に、不正な更新日時情報を取得しているかの真偽性を評価した後、正当な更新日時情報を利用した更新日時情報の印刷を行うことができる。
【0234】
〔実施態様11〕
前記所定の通信プロトコルは、FTPであることを特徴とする実施態様10記載の印刷制御方法。
【0235】
これにより、FTPを利用する通信で更新日時情報を取得して、データと更新日時情報との印刷出力を自在に行うことができる。
【0236】
〔実施態様12〕
前記所定の通信プロトコルは、前記情報処理装置との間で取り決められている特有のデータ転送プロトコルであることを特徴とする実施態様10記載の印刷制御方法。
【0237】
これにより、情報処理装置と印刷装置との間における特有のデータ転送プロトコルで更新日時情報を取得して、データと更新日時情報との印刷出力を自在に行うことができる。
【0238】
〔実施態様13〕
前記出力制御ステップは、前記更新日時情報をデータ出力ページとは独立したページで出力することを特徴とする実施態様9記載の印刷制御方法。
【0239】
これにより、更新日時情報の出力結果とデータの出力結果とを独立して管理することができる。
【0240】
〔実施態様14〕
前記出力制御ステップは、前記更新日時情報をデータ出力ページと同一ページに出力することを特徴とする請求項9記載の印刷制御方法。
【0241】
これにより、更新日時情報の出力結果とデータの出力結果とを同時に確認することができる。
【0242】
〔実施態様15〕
実施態様8〜14のいずれかに記載の印刷制御方法を実行させるためのプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。
【0243】
これにより、実施態様8〜14と同等の効果が期待できる。
【0244】
〔実施態様16〕
実施態様8〜14のいずれかに記載の印刷制御方法を実行させることを特徴とするプログラム。
【0245】
これにより、実施態様8〜14と同等の効果が期待できる。
【図面の簡単な説明】
【0246】
【図1】本発明の第1実施形態を示す情報処理装置を適用する印刷システムの構成を説明するブロック図である。
【図2】図1に示したプリンタの構成を説明する概略断面図である。
【図3】図1に示したプリンタの制御構成を説明するブロック図である。
【図4】図1に示したプリンタコントローラの構成を説明するブロック図である。
【図5】本発明の第1実施形態を示す情報処理装置を適用可能な印刷システムの構成を示すブロック図である。
【図6】図5に示したホストコンピュータにおける典型的な印刷処理に供するモジュール構成を説明する図である。
【図7】図5に示したRAMのメモリマップを説明する図である。
【図8】図5に示したCRT上に表示されるアプリケーション編集画面の一例を示す図である。
【図9】本発明に係る情報処理装置における第1のデータ処理手順の一例を示すフローチャートである。
【図10】図5に示したCRTに表示される印刷ダイアログの一例を示す図である。
【図11】図5に示したCRT上に表示される印刷ダイアログの一例を示す図である。
【図12】本発明に係る情報処理装置におけるプリントプラグインとアプリケーションとユーザからの指示とに基づく一連のプリントセッション例を説明する図である。
【図13】図1に示したプリンタで印刷されるバナーページの一例を示す図である。
【図14】本発明に係る印刷装置における第1のデータ処理手順の一例を示すフローチャートである。
【図15】本発明の第2実施形態を示す印刷装置における印刷結果を示す図である。
【図16】図5に示したCRTに表示される印刷設定画面の一例を示す図である。
【図17】本発明に係る情報処理装置における第2のデータ処理手順の一例を示すフローチャートである。
【図18】図1に示した外部機器のデスクトップ画面の一例を示す図である。
【図19】本発明に係る情報処理装置と印刷装置との間のデータ転送セッションの一例を示す図である。
【図20】本発明に係る情報処理装置から印刷装置に転送されるPDLデータの一例を示す図である。
【図21】本発明に係る印刷装置における第2のデータ処理手順の一例を示すフローチャートである。
【図22】本発明に係る印刷装置における第3のデータ処理手順の一例を示すフローチャートである。
【図23】本発明に係る画像処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【符号の説明】
【0247】
101 ホストコンピュータ
102 プリンタ
2001 アプリケーション
2003 プリンタドライバ
【技術分野】
【0001】
本発明は、情報処理装置との通信により受信するデータを印刷可能な印刷装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラムに関するものである。
【背景技術】
【0002】
従来、多数のユーザが、1つの出力デバイスを共有して印刷を行う場合、どの出力物がどのユーザが出したものであるかを判別することが必要であり、こうした要求を解決するために、各ユーザが出力する毎に、アプリケーションや、プリンタドライバにて、バナーページを出力し、バナーページ上に、ユーザ名を記載することで、どの出力がどのユーザの物であるかを特定することが行われていた。
【0003】
また、こうしたバナーページの出力による解決は、ユーザがアプリケーションを変更すると、バナーページの設定をやりなおす必要があったり、各ドライバや、各アプリケーション毎に、バナーページのフォーマットが変わってしまい、出力した用紙をどのユーザの出力か仕分けする際に、煩雑になるといったことも問題になり、こうした問題を解決するために、例えば、下記特許文献1などでは、アプリケーションやドライバによらずバナーページを出力する方法として、データの送信元のネットワークアドレスを特定し、送信元のネットワークアドレスに対し、ホスト情報などを割り出すためにホストファイルを参照して、バナーページ上にホスト名などのユーザを特定する情報を印字して出力したうえで、ユーザデータの出力を行う方法などが提案されてきた。
【特許文献1】特開平8−314654号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、一般的に、ユーザはデータを更正しドキュメントのバージョンを変えては保存しなおして出力することが日常的に行われており、従来の印刷システムで、出力した用紙がどのユーザの出力した用紙であるかを特定するだけでは、ユーザは、どの出力が、自分のどのデータを出力したものだか容易に判別できないという問題があった。
【0005】
こうした問題を解決するために、例えば、印刷するドキュメント上に、印刷を行った時刻を自動的に挿入して印字する方法などが提案され、例えばマイクロソフト社のMS-Word(商品名)ソフトウェアに搭載されたり、バナーページ上に、印刷された時刻を印字する機能が搭載されたりしてきた。
【0006】
しかしながら、いずれも、印刷を行った時刻を特定することは可能であるが、どれもユーザのコンピュータ上にある複数のドキュメントのデータのうち、どのドキュメントが実際に印字されたドキュメントと一致するのかを確認することはできなかった。
【0007】
また、別の課題として、データの印刷を他人から依頼をうけ出力するような、出力センタでは、受け取ったデータを出力し、出力した用紙を依頼者に渡す際、受け取ったデータを不注意で改変などせずにそのまま出力した事を示す方法がこれまで要望されてきたが、適当な手段が無く課題となっていた。
【0008】
また、機械的に自動で、オリジナルデータの判別をする場合、スキャナ装置を使うことで、印刷したドキュメントをスキャンし、PC上のデータと照合をとることで、出力した用紙がどのデータに対応しているかを確認することも原理的には可能であるが、現実にはすべての出力用紙をスキャンする事は非効率であり、困難であった。
【0009】
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、情報処理装置から受信するデータ中から更新日時情報を異なる手続で取得し、該取得される更新日時情報とデータとの印刷出力を制御することにより、情報処理装置から様々なデータ転送プロトコルでデータを受信した場合でも、最適な更新日時情報の取得手続により更新日時情報を確実に取得して、印刷すべきデータの更新日時情報を確実にユーザが事後的に確認可能な印刷結果を得ることができる利便性に優れた印刷装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラムを提供することである。
【課題を解決するための手段】
【0010】
上記目的を達成する本発明の印刷装置は以下に示す構成を備える。
【0011】
情報処理装置から受信するデータを印刷可能な印刷装置であって、前記データ中から更新日時情報を異なる手続で取得する複数の取得手段と、いずれかの取得手段により前記データから取得される更新日時情報と前記データとの印刷出力を制御する出力制御手段とを有することを特徴とする。
【0012】
上記目的を達成する本発明の印刷制御方法は以下に示す構成を備える。
【0013】
情報処理装置から受信するデータを印刷可能な印刷装置における印刷制御方法であって、前記データ中から更新日時情報を異なる手続で取得する複数の取得ステップと、いずれかの取得ステップにより前記データから取得される更新日時情報と前記データとの印刷出力を制御する出力制御ステップとを有することを特徴とする。
【発明の効果】
【0014】
本発明によれば、情報処理装置から様々なデータ転送プロトコルでデータを受信した場合でも、最適な更新日時情報の取得手続により更新日時情報を確実に取得して、印刷すべきデータの更新日時情報を確実にユーザが事後的に確認可能な印刷結果を得ることができる利便性に優れた印刷処理環境を整備できる。
【0015】
また、FTP,LPR,ホットフォルダなど複数のプロトコルのうち、どのプロトコルでドキュメントを出力しても、出力されたドキュメントを見ただけで、そのドキュメントデータの最終更新日時を確認することが可能となり、ホストコンピュータ上のドキュメント(データ)の修正日付との照合で、どのデータがどの印刷結果に対応しているかを容易に区別可能である。また、出力依頼したデータの修正日時と、出力されたドキュメントに印字された修正日時から、データの完全性を確認可能となる。
【発明を実施するための最良の形態】
【0016】
次に本発明を実施するための最良の形態について図面を参照して説明する。
【0017】
〔第1実施形態〕
図1は、本発明の第1実施形態を示す情報処理装置を適用する印刷システムの構成を説明するブロック図である。
【0018】
図1に示す印刷システム例は、画像情報の供給源或いはプリンタの制御装置として機能するコンピュータ等の外部機器101と、外部機器101から供給される画像情報に基づいて記録媒体上に画像を出力するプリンタ102とを双方向通信が可能なインタフェースにより接続してなる。なお、このプリンタシステムにおいては、プリンタ102としてレーザビームプリンタを用いている。なお、本実施形態では外部機器101としてホストコンピュータ(パーソナルコンピュータ)を接続している。
【0019】
プリンタコントローラ103は、外部機器101から供給される画像情報と、制御情報(例えば、ESCコード、ページ記述言語等)に基づいて、ページ毎にラスタデータを生成し、プリンタエンジン105に送出する。また、プリンタコントローラ103は、制御コードに応じて、バナーページを出力した後に、画像情報を出力したりする。
【0020】
プリンタエンジン105は、プリンタコントローラ103から供給されるラスタデータに基づいて、感光ドラム上に潜像を形成し、その潜像を記録媒体上に転写・定着(電子写真方式)することにより画像を形成する。
【0021】
パネル部104は、ユーザインタフェースとして使用される。ユーザは、パネル部104を操作することにより、所望の動作を指示することができる。例えば、パネル部104には、上記の状態変化に基づいて、キャリブレーションを促すメッセージが表示される。ユーザは、このメッセージに応答してキャリブレーションの実行を所望のタイミングで指示することができる。
【0022】
図2は、図1に示したプリンタ102の構成を説明する概略断面図であり、例えばレーザビームプリンタの例である。
【0023】
図2において、201はプリンタ筐体である。202は操作パネルで、ユーザが各種指示を与えるためのスイッチ、メッセージやプリンタの設定内容等を表示するためのLED表示器やLCD表示器が配され、図1に示すパネル部104の一態様である。
【0024】
203はボード収容部であり、プリンタコントローラ103及びプリンタエンジン105の電子回路部分を構成するボードを収容する。210,250は用紙(記録媒体)を保持する用紙カセットであり、不図示の仕切り板によって電気的に用紙サイズを検知する機構を有する。
【0025】
211,253はカセット給紙クラッチであり、夫々用紙カセット210及び250上に載置された用紙の最上位の一枚を取出して、取出した用紙を不図示の駆動手段から伝達される駆動力によって給紙ローラ212,256まで搬送するカムを有する。このカムは、給紙の度に間欠的に回転し、1回転に対応して1枚の用紙を給紙する。給紙ローラ212は、用紙の先端部をレジストシャッタ214まで搬送するローラである。給紙ローラ256は、用紙の先端部を給紙ローラ212まで搬送するローラである。214はレジストシャッタであり、用紙を押圧することにより給紙を停止させることができる。
【0026】
219は手差し用トレイであり、215は手差し給紙クラッチである。手差し給紙クラッチ215は、用紙の先端をレジストシャッタ214まで搬送するために使用される。画像記録に供する用紙は、用紙カセット210,250、手差し用トレイ219のいずれかの給紙手段を選択して給紙される。
【0027】
プリンタエンジン105は、プリンタコントローラ103と所定の通信プロトコルに従って通信を行い、プリンタコントローラ103からの指示に従って用紙カセット210,250、手差し用トレイ219の中からいずれかの給紙手段を選択し、印刷の開始指示に応じて該当する給紙手段よりレジストシャッタ214まで用紙を搬送する。なお、プリンタエンジン105は、給紙手段、潜像の形成、転写、定着等の電子写真プロセスに関する機構、排紙手段及びそれらの制御手段を含む。
【0028】
204は、感光ドラム205やトナー保持部等を有するカートリッジである。207は回転多面鏡で、レーザ部206からのレーザ光を感光ドラム205の主走査方向に対して走査する。208は反射ミラーで、回転多面鏡207にて走査されるレーザ光を感光ドラム205上に結像させる。
【0029】
209はビームディテクタで、感光ドラム205の副走査方向の所定位置に配置されて、走査されるレーザ光を受光して、主走査方向のタイミング信号となるBD信号を生成する。
【0030】
214はレジストシャッタで、用紙カセット210、250、手差し用トレイ219の中から選択される給紙手段から搬送される用紙を一旦停止させる。レーザ部206は、プリンタコントローラ103から供給されるラスタデータに応じて、内蔵の半導体レーザを駆動し、レーザビーム(レーザ光)を発射する。レーザビームは、回転多面鏡207及び反射ミラー208により反射され、感光ドラム205上に結像し潜像を形成する。この際、レーザビームは、回転多面鏡207により感光ドラム205の主走査方向を走査される。
【0031】
このレーザビームの発射に同期してレジストシャッタ214が上方に駆動され、これにより画像記録に供する用紙の搬送がレーザビームの副走査に同期する。レーザビームの走査開始位置に配置されたビームディテクタ209は、レーザビームを検出することによって主走査方向の画像の書き出しタイミングを決定するための同期信号(BD信号)を形成し、プリンタコントローラ103に送る。
【0032】
画像の転写に際して、画像記録に供する用紙は、搬送ローラ213によって搬送され、一方、感光ドラム205は、不図示のモータによって副走査方向に回転駆動される。感光ドラム205上に順次形成される潜像は、現像器220によって現像され、トナー像として顕像化された後に、感光ドラム205に当接された用紙上に転写される。用紙に転写されたトナー像は、その後、定着ローラ216により加熱定着され、搬送ローラ217を経て、排紙ローラ218によりプリンタ筐体の排紙トレイに排紙される。プリンタ102には、さらにオプションカセットや封筒フィーダ等のオプションを装備可能である。
【0033】
図3は、図1に示したプリンタ102の制御構成を説明するブロック図であり、図1に示したプリンタコントローラ103とプリンタエンジン105とを接続するビデオインタフェース及びプリンタエンジン105の構成例に対応する。なお、図1と同一のものには同一の符号を付してある。
【0034】
図3において、プリンタコントローラ103は、外部機器101との通信(画像情報の受信を含む)、受信した画像情報に基づくラスタデータの生成(展開)、プリンタエンジン105の制御等を司る。
【0035】
エンジン制御部150は、プリンタコントローラ103から供給される制御信号に基づいて、プリンタエンジン105内のユニット151〜158を制御する。ユニット151〜158の概要を説明すると、151は用紙サイズ検出部で、前記用紙カセット210,250、その他、オプションカセット(不図示)内に載置された用紙のサイズを検出してエンジン制御部150に通知する。
【0036】
152は給紙口検出部で、用紙カセット210及び250、手差し用トレイ219、オプションカセット(不図示)、封筒フィーダ(不図示)の夫々の給紙口の有無を検出してエンジン制御部150に通知する。
【0037】
153はオプション調査部で、オプションカセット、封筒フィーダ等のオプションの接続状況を確認する。154は搬送制御部で、用紙の搬送を制御する。155は光学系制御部で、回転多面鏡207の駆動モータ、レーザ部206等の光学系を制御する。
【0038】
156は定着器温度制御部で、定着ローラ216の温度制御の他、定着ローラ216における異常検出等をも行う。157はオプション制御部で、オプションカセットや封筒フィーダ等のオプションを制御する。158はセンサ部で、レジスト、排紙、両面、反転など搬送路内の用紙の有無、外気温、印刷ページ数、トナー残量等の環境の変化(状態変化)を検出する。
【0039】
次に、プリンタコントローラ103とエンジン制御部150とを接続するビデオインタフェースを構成する各信号の概要を説明する。
【0040】
170は/CPRDY信号で、プリンタコントローラ103がエンジン制御部150と通信可能な状態にあることを示す。171は/PPRDY信号で、エンジン制御部150がプリンタコントローラ103と通信可能な状態にあることを示す。
【0041】
172は/RDY信号で、エンジン制御部150がプリント可能な状態にあることを示す。173は/PRNT信号で、プリンタコントローラ103がエンジン制御部150に印刷要求を発行する。174は/VSREQ信号で、エンジン制御部150がプリンタコントローラ103に対して垂直同期信号を要求する。
【0042】
175は/VSYNC信号で、プリンタコントローラ103がエンジン制御部150に対して出力する垂直同期信号として機能する。176は/BD信号で、エンジン制御部150がプリンタコントローラ103に出力する水平同期信号として機能する。
【0043】
178は/SCLK信号で、シリアル通信のための同期クロック信号として機能する。179は/CMD信号で、プリンタコントローラ103がエンジン制御部150に対してコマンドを送信するためのコマンド信号として機能する。180は/CBSY信号で、コマンドを送信するためのストローブ信号として機能する。181はSTS信号で、プリンタコントローラ103から送信されたコマンドに対して応答(プリンタエンジン105内部のステータスを含む)を返すための信号として機能する。
【0044】
182は/SBSY信号で、ステータス等の応答を返すためのストローブ信号として機能する。183はVIDEO信号で、印刷されるラスタデータである。
【0045】
177は/CCRT(Condition Change Report)信号で、プリンタエンジン105のステータスのうち、/RDY信号172に直接関与しない状態、すなわち印刷の可否に直接関与しない状態変化が発生した場合(例えば、気温、印刷ページ数、トナー残量等が基準値を超えた場合)に"TRUE"となる。
【0046】
図4は、図1に示したプリンタコントローラ103の構成を説明するブロック図である。
【0047】
図4において、301はパネルインタフェース部で、パネル部104とのデータ通信を行う。CPU309は、パネルインタフェース301を介して、ユーザがパネル部104において設定あるいは指示した内容を認識することができる。
【0048】
302はホストインタフェース部で、ネットワークを介してホストコンピュータ等の外部機器101と双方向に接続する。306はエンジンインタフェース部で、プリンタエンジン105と接続する。CPU309は、エンジンインタフェース部306を介して、信号170,173,175,178,179,180を制御し、信号171,172,174,176,177,181,182の状態、すなわち、プリンタエンジン105の状態を認識することができる。
【0049】
303はラスタライズ部で、外部機器101より供給された画像情報に基づいて、プリンタエンジン105に供給するラスタデータを生成(ラスタライズ)する。305は生成したラスタデータを一時的に保持するための画像メモリである。309はCPUで、ROM304に保持された制御プログラムコードに基づいて、CPUバス311に接続されたデバイスを制御する。
【0050】
307は前記CPU309が使用する一時記憶用メモリとしてのRAMである。310はEEPROMで、例えば濃度補正テーブル等の制御情報を保持するための不揮発性メモリで構成される。308はDMA制御部であり、CPU309からの指示により画像メモリ305内のラスタデータを、エンジンインタフェース部306に転送する。
【0051】
311はアドレス、データ、コントロールバスを含むCPUバスである。パネルインタフェース部301、ホストインタフェース部302、ラスタライズ部303、ROM304、画像メモリ305、エンジンインタフェース部306、RAM307、DMA制御部308、CPU309及びEEPROM310は、夫々CPUバス311に接続され、CPU309は、CPUバス311に接続された全てのデバイスにアクセス可能である。
【0052】
この様に構成された印刷装置において、本実施形態では以下の特徴的な構成を備える。
【0053】
ホストコンピュータ101から受信するデータを印刷可能なプリンタ102であって、前記データ中から更新日時情報を異なる手続で取得する。具体的には、図4に示すCPU309が図21に示すステップ(1502)〜(1504)、(1508)〜(1510)で取得する。そして、CPU309が取得される更新日時情報とデータとの印刷出力を制御する。
【0054】
これにより、情報処理装置から様々なデータ転送プロトコルでデータを受信した場合でも、最適な更新日時情報の取得手続により確実に取得して、印刷すべきデータの更新日時情報を確実にユーザが事後的に確認可能な印刷結果を得ることができる利便性に優れた印刷出力環境を整備できる。
【0055】
また、複数の取得手続は、前記情報処理装置のプリンタドライバが生成するPDLデータから更新日時情報を取得する第1の取得手続(例えば図1に示すホストI/F部302を介して受信するデータを図4に示すCPU309が図21に示すステップ(1502)〜(1503)で取得する)と、前記情報処理装置との所定の通信プロトコルに従って転送されるPDLデータから更新日時情報を取得する第2の取得手続(例えば図1に示すホストI/F部302を介して受信するデータを図4に示すCPU309が図21に示すステップ(1504)(1508で取得する)と、前記情報処理装置との独自の通信プロトコルで転送される特定データから更新日時情報を取得する第3の取得手続(例えば図1に示すホストI/F部302を介して受信するデータを図4に示すCPU309が図21に示すステップ(1509)〜(1510)で取得する)を含む。
【0056】
これにより、情報処理装置から様々なデータ転送プロトコルでデータを受信した場合でも、最適な更新日時情報の取得手続により確実に取得することができる。
【0057】
また、いずれかの取得続きに従い取得している更新日時情報が正当な日時情報であるかどうかを、例えば図1に示すホストI/F部302を介して受信するデータを図4に示すCPU309が図22に示すステップ(1612)で判断し、更新日時情報が正当な日時情報でないと判断された場合に、取得した更新日時情報に代えて他の取得手段により更新日時情報を、例えば図1に示すホストI/F部302を介して受信するデータを図4に示すCPU309が図22に示すステップ(1613)〜(1614)で取得する。
【0058】
これにより、情報処理装置から様々なデータ転送プロトコルでデータを受信した場合に、不正な更新日時情報を取得しているかの真偽性を評価した後、正当な更新日時情報を利用した更新日時情報の印刷を行うことができる。
【0059】
さらに、所定の通信プロトコルは、FTPであることを特徴とする。
【0060】
これにより、FTPを利用する通信で更新日時情報を取得して、データと更新日時情報との印刷出力を自在に行うことができる。
【0061】
また、前記所定の通信プロトコルは、前記情報処理装置との間で取り決められている特有のデータ転送プロトコルであることを特徴とする。
【0062】
これにより、情報処理装置と印刷装置との間における特有のデータ転送プロトコルで更新日時情報を取得して、データと更新日時情報との印刷出力を自在に行うことができる。
【0063】
また、CPU309は、前記更新日時情報をデータ出力ページとは独立したページで出力することを特徴とする。
【0064】
これにより、更新日時情報の出力結果とデータの出力結果とを独立して管理することができる。
【0065】
さらに、CPU309は、前記更新日時情報をデータ出力ページと同一ページに出力することを特徴とする。
【0066】
これにより、更新日時情報の出力結果とデータの出力結果とを同時に確認することができる。
【0067】
図5は、本発明の第1実施形態を示す情報処理装置を適用可能な印刷システムの構成を示すブロック図であり、図1と同一のものには同一の符号を付してある。
【0068】
なお、本システムは、ホストコンピュータ101とプリンタ102とがネットワークNETを介して通信可能に接続される構成となっている。なお、通信接続形態は、所定のインタフェースによるか、ネットワークによるかは本発明の適用に限定されるものではない。
【0069】
図5において、ホストコンピュータ101は、CPU1を備えている。CPU1は、ROM3のプログラム用ROMあるいは外部メモリ11に記憶された文書処理プログラム及び本発明の印刷制御プログラム(プリンタドライバに相当)等に基づいて、図形や、イメージ、文字、表(表計算等を含む)等が混在した文書処理を実行し、システムバス4に接続される各デバイスをCPU1が総括的に制御する。
【0070】
また、このROM3のプログラム用ROMあるいは外部メモリ11には、CPU1の制御プログラムであるオペレーティングシステムプログラム(以下OS)等が記憶され、ROM3のフォント用ROMあるいは外部メモリ11には、上記文書処理の際に使用するフォントデータ等が記憶され、ROM3のデータ用ROMあるいは外部メモリ11には、上記文書処理等を行う際に使用する各種データが記憶されている。
【0071】
2はRAMで、CPU1の主メモリやワークエリア等として機能する。5はキーボードコントローラ(KBC)で、キーボード(KB)9や不図示のポインティングデバイスからのキー入力を制御する。6はCRTコントローラ(CRTC)で、CRTディスプレイ(CRT)10の表示を制御する。7はディスクコントローラ(DKC)で、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、及びプリンタ制御コマンド生成プログラム(以下、プリンタドライバと記す)等を記憶する外部メモリ11とのアクセスを制御する。外部メモリ11は、ハードディスク(HD)やフレキシブルディスク(FD)等で構成される。
【0072】
8はネットワークコントローラ(NIC)で、ネットワークNETを介してプリンタ102に接続されて、プリンタ102との通信制御処理を実行する。なお、CPU1は、例えばRAM2上に設定された表示情報のアウトラインフォントへの展開(ラスタライズ)処理を実行し、CRT10上でのWYSIWYGを可能としている。また、CPU1は、CRT10上に表示されるマウスカーソル等で指示されたコマンドに基づいて、登録された種々のウィンドウを開き、種々のデータ処理を実行する。これによって、ユーザは、印刷を実行する際、印刷の設定に関するウィンドウを開き、プリンタ102の設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行うことができる。
【0073】
図6は、図5に示したホストコンピュータ101における典型的な印刷処理に供するモジュール構成を説明する図であり、ホストコンピュータ101には、プリンタ102等の印刷装置がネットワークNET経由で接続されている。
【0074】
図6において、アプリケーション2001、グラフィックエンジン2002、プリンタドライバ2003(印刷制御プログラム)、及びシステムスプーラ2004は、外部メモリ11に保存されるファイルとして存在し、オペレーティングシステム(OS)やその他のモジュールによってRAM2にロードされ実行されるプログラムモジュールである。
【0075】
また、アプリケーション2001及びプリンタドライバ2003は、FD、CD−ROMあるいは不図示のネットワークを経由して外部メモリ11(HD)に追加することが可能となっている。
【0076】
外部メモリ11に保存されているアプリケーション2001は、RAM2にロードされて実行されるが、このアプリケーション2001からプリンタ102で印刷を行う際には、同様にRAM2にロードされることで実行可能となっているグラフィックエンジン2002を利用して出力(描画)を行う。
【0077】
グラフィックエンジン2002は、プリンタごとに用意されたプリンタドライバ2003を同様に外部メモリ11からRAM2にロードし、アプリケーション2001の出力を、プリンタドライバ2003を用いてプリンタ102の制御コマンドに変換する。変換されたプリンタ制御コマンドは、OSによってRAM2にロードされたシステムスプーラ2004を経てネットワークNET経由でプリンタ102へ出力される仕組みとなっている。
【0078】
なお、プリンタドライバは、後述する図16に示す印刷設定画面をCRT10をCPU1の制御の下で表示し、該印刷設定画面で更新日時とデータを印刷するモードを選択することが可能に構成されている。
【0079】
また、図7において後述するようにアプリケーション3001は、印刷機能をプラグインする機能を備え、そのプラグインモジュールをCPU1が実行することで、後述する各種の印刷ダイアログの表示と、印刷データの生成処理を以下のように制御することも可能に構成されている。
【0080】
すなわち、CPU1は、アプリケーションで作成されるデータの出力要求時に、作成されるデータを通常出力する第1のモードとCPU1により取得される前記更新日時とデータとを共に出力する第2の出力モードとを選択するための印刷ダイアログを表示して、該印刷ダイアログ上での選択結果に基づき、データを前記印刷装置に出力する第1のデータ出力と、更新日時と前記データとを前記印刷装置に出力する第2のデータ出力とを制御する。
【0081】
なお、プラグインモジュールによる印刷機能による更新日時印刷に限らず、後述するようにプリンタドライバが更新日時印刷を制御する構成としてもよい。
【0082】
図7は、図5に示したRAM2のメモリマップを説明する図であり、例えば本実施形態における印刷制御プログラムを含む印刷関連モジュールがホストコンピュータ101上のRAM2にロードされ実行可能となった状態に対応する。
【0083】
図7において、3001は印刷用のアプリケーション、3002は空きメモリ、3003は印刷関連データ、3004は印刷関連プログラム、3005はOS、3006はBIOSであり、本実施形態における印刷制御プログラムに相当するプリンタドライバ(またはプラグインモジュール)は、印刷関連プログラム3004の一部として存在している。このような構成を備える情報処理装置において本実施形態を図4等を参照しながら詳述する。
【0084】
図8は、図5に示したCRT10上に表示されるアプリケーション編集画面の一例を示す図であり、アプリケーション3001から、更新日時バナーページを印刷する際の情報処理装置101のCRT10の画面のアプリケーションウィンド上で「新春展示即売会」のドキュメントを編集している例に対応する。
【0085】
なお、本実施形態では、ホストコンピュータ101は、公知のアプリケーションソフトをインストールすることで、ドキュメントを編集したり、出力したりすることが可能であり、図8はこうした公知のアプリケーションで、ドキュメントを開いた状態を示している。
【0086】
図8において、501はアプリケーションウィンド全体を示しており、502は、タイトルバーで、WordProcessorアプリケーションにて、"新春展示即売.rtf"ドキュメントを開いているところを示している。
【0087】
503はアプリケーションソフトのツールバーを示しており、公知の一般的な、ファイルメニュー、編集メニュー、表示メニュー、書式メニューが表示されているが詳細の説明は割愛する。
【0088】
504はプリントプラグインのアイコンを示しており、アプリケーションに登録可能なプラグインファイルにより、アプリケーションにプラグインファイルを登録することで、プラグインで定義されたアイコンがアプリケーション画面のツールバーに表示されている様子を示している。なお、詳細は、フローを参照して説明する。
【0089】
なお、アイコン504をキーボード9や図示しないポインティングデバイス等を操作して押下指示することで、あらかじめ登録されたプラグインファイルに制御が移り、プラグインプログラムが実行される。
【0090】
505はアプリケーションでOpenしたドキュメントを示している。アプリケーションソフトは、ファイルメニューから、新規作成、既存ファイルのオープン、保存が可能であり、編集メニューから、コピー、ペースト、削除が可能であり、表示メニューから、拡大、縮小表示の切り替えが可能、書式メニューから、新規文字列挿入、文字列の書式変更/サイズ変更などが可能であるが、公知のため、ここでは詳細な説明は省く。
【0091】
図9は、本発明に係る情報処理装置における第1のデータ処理手順の一例を示すフローチャートであり、図7に示した印刷関連プログラム3004に含まれ、図6に示したアプリケーション2001に組み込まれるプラグインモジュールにより実行されることで実現する。なお、(601)〜(615)は各ステップを示す。
【0092】
また、アプリケーションソフトウェア(アプリケーション2001)には、公知のプラグインモジュール登録の機能があり、例えば、マイクロソフトウインドウズ(登録商標)のマイクロソフトオフィスアプリケーションではCOMファイル形式のプラグイン仕様が定められており、アプリケーションにプラグインを登録することで、プラグインとアプリケーション、プラグインとOSの間の通信が可能である。
【0093】
また、本処理は、図8に示したアプリケーション画面上で、ツールバー上のプラグインアイコン504を押下した際に実行される。また、以下の処理はプリンタドライバ2003の処理としても実現可能であり、アプリケーションから開かれるOS標準の印刷設定画面のプロパティからプリンタドライバ2003のユーザインタフェース画面(印刷設定画面)を開くことにより、以下の処理が実行されてもよい。そして、アイコン504を押下するとプログラムの制御は、ステップ(601)に移る。
【0094】
次に、ステップ(602)で、プラグインソフトもしくはプリンタドライバ2003はオペレーティングシステムを通じ、ユーザに図10で示す、印刷ダイアログを表示しユーザがOKボタンを押し返答するのを待つ。
【0095】
図10は、図5に示したCRT10に表示される印刷ダイアログ805の一例を示す図であり、アイコン504を押下すると、CPU1の制御によりCRT10に表示される。
【0096】
図10において、801〜803は印刷指示ボタンで、印刷指示ボタン801は「更新日時とともに印刷」を行うことを選択する場合に指示される。また、印刷指示ボタン802は「印刷時刻とともに印刷」を行うことを選択する場合に指示される。さらに、印刷指示ボタン803は「ドキュメントだけを印刷」を行うことを選択する場合に指示される。なお、現在、印刷指示ボタン801が選択中であることをUI上では識別可能に表示(「図中の「●」)している。
【0097】
804はOKボタンで、選択された内容を確定させる場合に押下する。
【0098】
尚、印刷指示ボタン801〜803は、ラジオボタンであり、いずれか1つが択一的に選択されるよう制御されている。
【0099】
次に、ステップ(603)で、「更新日時の印刷」をユーザが印刷指示ボタン801を指示することで選択したか否かをプラグインソフト、もしくはプリンタドライバ2003が判断し、更新日時印刷を選択していると判断した場合は、ステップ(604)に制御を移し、更新日時印刷を指示していないと判断した場合は、ステップ(614)に制御を移す。
【0100】
次に、ステップ(604)で、プラグインソフトもしくはプリンタドライバ2003は、現在オープンされている図8に示したドキュメント505のSavedプロパティをアプリケーション2001に要求する。Savedプロパティとは、ドキュメントの保存状態を取得し、最後の保存時以降にドキュメントが変更されているかどうかを示すフラグであり、取得要求に対する返値が「True」である場合は、ドキュメントが、作成時または最後の保存時以降に変更されていないことを示し、「False」である場合は、ドキュメントが、最後の保存時以降に変更されていることを示す。
【0101】
本実施形態において、このSavedプロパティは、アプリケーションソフト(アプリケーション2001)がRAM2上で管理している。このフラグは、例えば、公知のマイクロソフトウインドウズ(登録商標)のCOMオブジェクトでも実装されている。プラグインソフトもしくはプリンタドライバ2003は、このSavedプロパティをAPIを用いて取得することができる。
【0102】
次に、プラグインソフトは、ステップ(605)で、アプリケーションソフト2001から、Savedプロパティを受け取り、現在オープンしているドキュメント505が記憶装置(外部メモリ11等)に保存済みかどうかを確認し、保存済みと判断された場合は、ステップ(610)に制御を移し、オープンしているファイルの更新時刻を取得する。この更新時刻の取得は、get_ DateModified関数を用いて実現可能である。get_ DateModified 関数は、アプリケーションDLL(Dynamic link library)であり、この関数を用いてOSを介してアプリケーションからドキュメントの更新時刻を取得することができる。また、Windows OS(米国マイクロソフト社の登録商標)のWin32APIでは、GetFileTime()が定義されており、プラグインソフトまたはプリンタドライバ2003は、このAPI関数を用いてOSからドキュメントの更新時刻を取得することが可能となっている。そして、プラグインソフトまたはプリンタドライバ2003は、取得した更新時刻を追加したバナーページを作成して印刷指示し、しかる後に本ドキュメントの印刷データを生成して印刷指示する。このようにして生成されたバナーページおよび印刷データは、プリントスプーラを介して印刷装置に送信され、印刷処理される。
【0103】
一方、ステップ(605)で、修正中で、まだ保存していないと判断した場合は、現在開いて修正しているドキュメントと、記憶装置内に保存されているドキュメントが異なってしまうので、ステップ(606)に制御を移し、ユーザに保存をさせた上で印刷を行うための、例えば図10に示すダイアログをCRT10上にCPU1の制御で表示する。
【0104】
図11は、図5に示したCRT10上に表示される印刷ダイアログの一例を示す図であり、図9に示したステップ(606)で、CPU1の表示制御でCRT10上に表示される。
【0105】
図11において、上記ステップ(606)に制御が移されると、"保存して印刷"または"キャンセル"を選択させるために本ダイアログ「"修正中の書類を保存して印刷するに対し"」をユーザに対して表示する。なお、図11は、修正中の書類が未保存の場合に、書類を保存して印刷するかOKボタン902または、キャンセルボタン903を選択することができる。
【0106】
なお、901はOKボタンで、本ダイアログに対して肯定的な指示を行う場合に押下される。902は取消ボタンで、本ダイアログに対して否定的な指示を行う場合に押下される。
【0107】
そして、OKボタン902を選択した場合は、上記記憶装置に本ドキュメント505を保存して印刷を実行するために、ステップ(608)に制御を移し、プラグインソフトまたはプリンタドライバ2003は、アプリケーション2001に対して、現在オープンしているドキュメントを保存するように指示し、ステップ(609)にて、ドキュメント505の記憶装置への保存完了を待つ。
【0108】
一方、ステップ(607)で、すなわち、図11に示すダイアログ画面上で、キャンセル(取消)ボタン903が押下されたと判断した場合は、印刷処理を止め本処理を終了するため、ステップ(613)に制御を移す。
【0109】
次に、ステップ(609)で、オープン中のドキュメント505の保存が完了したことを確認した場合には、ステップ(610)に制御を移し、アプリケーションソフト2001に対し、ドキュメン505の更新日時を要求して該更新日時を取得した後に、バナーページとして、更新日時を印刷するコマンドをプリンタ102に送付するとともに、更新日時データをプリンタに送付する。もちろんプリンタドライバ2003が、アプリケーションから取得した更新日時データを付加したバナーページをプリンタ制御言語で生成し、生成されたプリンタ制御言語の印刷データを送信してもよい。
【0110】
次に、ステップ(611)にて、アプリケーション2001から書類全体のGDIデータ(ドキュメントの描画データの形式の一つ:Graphic Device Interface)をOSが受け取り、OSの描画手段による変換されたDDI関数データ(Device Driver Interface)を受け取り、ステップ(612)で、受け取った印刷すべきDDI関数データをプリンタドライバ2003がPDL(Page Description Language:ページ記述言語)に変更し、システムスプーラ2004を介してプリンタ102に送付する。
【0111】
しかる後、ステップ(613)に制御を移し、プラグインソフトおよびプリンタドライバ2003の動作を終了し、アプリケーション2002に制御を移す。
【0112】
一方、ステップ(603)からステップ(614)に制御が移った場合は、ユーザは、図10に示したダイアログ画面にて、印刷時刻印刷とともにドキュメントの印刷を選択しているか、単に、ドキュメントだけを印刷することを選択しているかのどちらかであり、ステップ(614)にて、印刷時刻印刷とともにドキュメントの印刷を選択(図10に示したダイアログ画面上で、ボタン802が選択された場合)していると判断した場合には、ステップ(615)に制御を移し、バナーページとして、印刷を行う現在時刻を印刷するコマンドをプリンタ102に送付するとともに、現在時刻のデータをプリンタ102に送付し、しかる後、ステップ(611)に制御を移し、ステップ(611)、(612)にてドキュメント全体を印刷し、ステップ(613)でプラグインソフトの動作を終了し、アプリケーションソフト2001に制御を移す。
【0113】
一方、ステップ(614)で印刷時刻とともに印刷を選択されなかったと判断した場合は、単にドキュメントのみを印刷することを選択(図10に示したダイアログ画面上で、ボタン803が選択された場合)されたと判断し、ステップ(611)に制御を移し、前述のように、図8に示した編集中のドキュメント505の印刷処理(DDIデータからPDLへの変換)を行い、アプリケーション2001に制御を移す。
【0114】
図12は、ユーザが、アプリケーションによりドキュメントを修正し保存する前に、"更新日時とともにドキュメントを印刷を行う"を選択した場合のデータのやりとりを示す図であり、図5のプリントプラグインのボタン504を押下し、コンピュータのソフトの制御が、図9のフローチャートに示すプラグインソフトに移った際の、ユーザおよび、アプリケーションソフトと、プリントプラグインソフトまたはプリンタドライバ2003間のやりとりを示している。
【0115】
図12は、本発明に係る情報処理装置におけるプリントプラグイン(プリンタドライバ2003)とアプリケーションとユーザからの指示とに基づく一連のプリントセッション例を説明する図である。以下、図9に示したフローチャートにおけるステップと対応づけながらその処理例を説明する。なお、ST1〜ST14は各要求、指示、通知、表示、処理等に対応するフェーズに対応する。以下、制御対象はプリントプラグインとして説明するが、プリンタドライバ2003でも置き換えられる。
【0116】
先ず、図8に示したアプリケーションソフトのウィンドウ上のプリントプラグインのアイコン504をユーザが押下すると、フェーズST1でアプリケーションソフト2001にイベントが通知される。
【0117】
アプリケーションソフト2001は、プリントプラグインソフトにフェーズST2でボタン押下を通知すると、制御がプリントプラグインソフトに移り、図9に示したフローチャートのステップ(601)からソフトウェアに基づくステップの処理がスタートする。
【0118】
次に、フェーズST3(図9のステップ(602))で、ユーザに対し、図10に示した印刷ダイアログをCRT10上に表示する。ここで、ユーザが図10に示す画面で、ボタン801を選択し、OKボタン804を押下すると、更新日時印刷を選択した旨のイベントがフェーズST4にて、プリントプラグインソフトに通知される。
【0119】
そして、図9のステップ(603)にて、更新日時印刷の指示の判定がYESと判断された場合、フェーズST5(図9のステップ(604))にて、オープン中のドキュメントのSavedプロパティをアプリケーションソフト2001に要求する。フェーズST6にてアプリケーションソフトから"Savedプロパティ=未保存"を取得し、図9のステップ(605)にて、保存されていないと判断され、フェーズST7(図9のステップ(606))にて、"保存して印刷またはキャンセル"するための図11に示したダイアログをCRT10上に表示する。
【0120】
ここで、ユーザが図11に示す画面でOKボタン902を押すと、フェーズST8で保存要求の指示が、プリントプラグインに送付され、図9のステップ(607)にて、保存して印刷の判断がYESと判断される。次に、フェーズST9(図9のステップ(608))にて、アプリケーションに現在オープンしているドキュメントの保存を要求し、フェーズST10で保存完了が通知されると、(図9のステップ(609))で保存完了かの判断がYESと判断され、図9のステップ(610)に制御が移り、フェーズST11、ST12(図9のステップ(610))にてアプリケーションに対し、オープンしているドキュメントの更新日時情報を要求、さらに、(図9のステップ(610))にて、更新日時プリントコマンドと、更新日時データとを、アプリケーションからプリントプラグインに通知する。
【0121】
次に、フェーズST13,14(図9のステップ(611))にて、アプリケーションに対しプリントプラグインから、ドキュメント全体、全ページのGDIデータを要求し、受け取る。次に(図9のステップ(612))にて、書類の全GDIデータをDDIデータを介してPDLに変換しプリンタに送付する。
【0122】
図13は、図1に示したプリンタ102で印刷されるバナーページの一例を示す図であり、例えば図9に示したステップ(610)の実行に伴い、更新日時を印刷したバナーページの例である。
【0123】
図13において、1001はバナーページの用紙で、ネットワークのプロトコルから取得したユーザ名1002、同じくネットワークのプロトコルから取得したドキュメント名称1003、更新日時1004を所定のフォームで印刷した例である。なお、出力態様としては、本フォームに限定されず、種々印刷出力態様があり、プリンタエンジンがカラー対応であれば、重要度に応じて出力するフォントのカラーを変更することも有効である。
【0124】
図14は、本発明に係る印刷装置における第1のデータ処理手順の一例を示すフローチャートであり、図4に示したプリンタコントローラ103によるドキュメント印刷処理手順に対応する。なお、(1101)〜(1107)は各ステップを示し、各ステップはCPU309がROM304等より読み出す制御プログラムを実行することで実現される。
【0125】
電源を投入すると、プリンタコントローラ103は、ステップ(1101)からスタートを行い、公知の初期設定操作を行った後、ステップ(1102)にて、ネットワークインタフェースを経由して、ホストコンピュータ101より印刷データが送られてきていないかをCPU309がチェックし、送られてきていないと判断した場合は、再度、ステップ(1102)にループすることで、ホストコンピュータ101からのデータを待つ。
【0126】
そして、ステップ(1102)で、ホストコンピュータ101よりデータが送られて来たと判断した場合には、ステップ(1103)に制御を移し、ホストコンピュータ101より受信するデータの解析を行う。
【0127】
次に、ステップ(1104)で、データの中に、作成日時印刷または、更新日時印刷の指示があるか否かを判断し、いずれもNOと判断した場合には、ステップ(1106))へ進む。
【0128】
一方、ステップ(1104)で、作成日時印刷または、更新日時印刷の指示命令があるとCPU309が判断した場合には、ステップ(1105)に制御を移し、ホストコンピュータ101からの指示命令に従って、作成日時または、更新日時をバナーページ上に印刷した上で、制御をステップ(1106)に移し、ホストコンピュータ101から送付されてくるドキュメントデータを展開し、用紙上に画像形成し出力し、しかる後に、ステップ(1107)で、一連の印刷動作を終了し、しかる後に、ステップ(1101)のスタートに制御を移す。
【0129】
これにより、更新日時印刷設定を行うための所定のプラグインモジュールをアプリケーションに組み込むという構成で、出力されたドキュメントをみただけで、そのドキュメントの最終更新日時や(作成日時)、などを確認し、ホストコンピュータ101上のドキュメント(データ)の修正日付との照合で、どのデータがどの印刷結果に対応しているかを容易に区別可能となる。
【0130】
また、ホストコンピュータ101を備える出力センタでは、バナーと完成物を渡すことにより、お客さんは受け取り時に、入稿データを修正せずに出力していることを確認し受け取ることが可能となる。
【0131】
〔第2実施形態〕
上記実施形態では、ホストコンピュータ101から受信したデータをプリンタ102でバナーページ上に、更新日時を印刷する例を示したが、バナーページの印刷に限ることなく、印刷すべきデータをRAM2上に展開した後、さらに、更新日時を示す情報を出力ページ内にオーバレイ展開して印刷するように構成してもよい。以下、その実施形態について説明する。
【0132】
図15は、本発明の第2実施形態を示す印刷装置における印刷結果を示す図であり、第1実施形態に示したバナーページの代わりに、データを展開し、用紙上にオーバレイ印刷した場合の例である。
【0133】
図15において、1201はデータを展開し、用紙上に画像形成を行った様子を示しており、1202,1203,1204はアプリケーションソフトにより作成して描画したオブジェクトを示し、1205は更新時刻で、プリンタドライバ2003に基づくCPU1によるオブジェクト描画処理に並行して、例えば図10に示したダイアログによりオーバレイ処理して展開される。
【0134】
これにより、ホストコンピュータ101で編集されたドキュメントと更新日時を示す情報を同一ページ内にオーバレイ印刷した結果として得られる。
【0135】
〔第3実施形態〕
上記実施形態では、所定のアプリケーションに組み込み可能なプラグラインモジュールとして、更新日時印刷機能処理を実行する場合について説明したが、アプリケーションには何ら変更を加えずに、プリンタドライバの機能として、同様の更新日時印刷とその印刷態様をUIで提供して、ユーザの選択に適応して印刷すべきアプリケーションのデータに更新日時等のオーバレイ情報を共にプリンタ102に転送して、図15に示すようなホストコンピュータ101で編集されたドキュメントと更新日時を示す情報を同一ページ内にオーバレイ印刷した結果を得られるように構成してもよい。以下、その実施形態について説明する。
【0136】
図16は、図5に示したCRT10に表示される印刷設定画面の一例を示す図であり、ホストコンピュータ101上の外部メモリ11に記憶されるプリンタドライバによる印刷設定画面(UI画面)例であって、図8に示す編集画面上で、起動中のアプリケーションのファイルメニューから、不図示の印刷メニューを選択したときに表示されるプリンタドライバのUI画面例である。
【0137】
図16において、1301はタイトルバーで、図6に示したプリンタドライバ2003のダイアログ画面を表示していることを示している。1302は出力先として選択したプリンタ名であり、例えば、「Printer001」という名称のプリンタを選択していることを示している。
【0138】
1303は公知の印刷を行うページ範囲を選択するUIで、図16では、すべてのページを印刷する「All」が現在選択状態で表示されている。1304はドキュメントを何部印刷するかの選択UIで、図16では、部数を1部出力するように設定されている。
【0139】
1307はアプリケーションで作成したデータを展開し印刷を行う際にオーバレイを行う内容を選択設定するUIで、データの更新日時をイメージ情報に展開し、さらにデータを展開し用紙上に描画して印刷する際にオーバレイ印刷するモード(第1印刷モード)に対応する選択ボタン1307−1と、印刷時刻をイメージ情報に展開し、さらにデータを展開し用紙上に描画して印刷する際にオーバレイし印刷するモード(第2印刷モード)に対応する選択ボタン1307−2と、オーバレイをせずにデータを展開し、用紙上に描画して印刷するモード(第3印刷モード)に対応する選択ボタン1307−3のうちどれか1つを選択可能である。図13では、更新日時をオーバレイ印刷するモードが選択されている。
【0140】
1305はOKボタンで、設定された内容の印刷設定で印刷を実行する場合に押下される。1306は取消ボタンで、設定された印刷処理を取り消す場合に押下され、該取消ボタン1306の押下により、アプリケーションの編集画面に復帰するようにCPU1がCRT10に対する表示を制御している。
【0141】
図17は、本発明に係る情報処理装置における第2のデータ処理手順の一例を示すフローチャートであり、図6に示したプリンタドライバ2003による印刷処理手順に対応する。なお、(1401)〜(1419)は各ステップを示し、各ステップはCPU1が外部メモリ11から読み出される制御プログラム(プリンタドライバ2003ふぉふくむ)を実行することで実現される。
【0142】
また、本例では、アプリケーション2001で作成したデータを、プリンタドライバ2003からの印刷する際に、更新時刻をオーバレイして印刷するか、印刷時刻をオーバレイして印刷するか、または、単純印刷を行うか、図16に示したUI上のボタン選択状態(第1〜第3印刷モードの選択状態に対応)を選択して印刷を行うことが可能なシステムの例を示している。
【0143】
図8に示したアプリケーション画面で、ユーザが現在開いているドキュメントを印刷するために、ファイルメニューから印刷メニューをキーボード9あるいは図示しないポインティングデバイスを操作して選択すると、ホストコンピュータ101上のソフトの制御がアプリケーションから、プリンタドライバ2003に制御が移り、ステップ(1401)に制御が移る。
【0144】
次に、ステップ(1402)にて、ユーザに、例えば図16に示す態様の印刷ダイアログをCRT10上に表示し、ユーザからの指示または返答を待つ。この際、ステップ(1402)で表示されるダイアログが、前述の図16に示したダイアログである。
【0145】
次に、ユーザが、ステップ(1402)にて、図16上のOKボタン1305またはキャンセルボタン1306を押下すると、ステップ(1420)に制御が移り、印刷実行の指示と判断されるOKボタン1305が押されたとプリンタドライバ2003が判断した場合は、ステップ(1403)に制御を移し、キャンセルボタン1306が押下されたとプリンタドライバ2003が判断した場合には、ステップ(1413)に分岐し、本処理を終了する。
【0146】
次に、ステップ(1403)にて、ユーザが更新日時のオーバレイ印刷(選択ボタン1307−1)を選択したかどうかをプリンタドライバ2003が判定し、更新日時のオーバレイ印刷を選択していると判断した場合には、ステップ(1404)に制御を移し、それ以外を選択していると判断した場合には、ステップ(1414)に制御を移す。
【0147】
そして、ステップ(1404)で、オープン中のドキュメントのSavedプロパティをアプリケーション2001に要求し、ステップ(1405)で、Savedプロパティの内容から、オープン中のドキュメントが修正中で、保存状態であるかどうかをプリンタドライバ2003が判断し、オープン中のドキュメントが修正済みで、保存済みと判断した場合(ステップ(1405)でYES)には、ステップ(1410)へ移す。
【0148】
一方、ステップ(1405)で、オープン中のドキュメントが修正中で、保存状態でないと判断した場合には、ステップ(1406)で、図11に示した、保存して印刷実行または印刷キャンセルを選択するための印刷ダイアログをCPU1がCRT10上に表示し、ステップ(1407)で、ユーザの選択情報を受け取るまで待つ。
【0149】
ここで、ユーザの選択が、保存して印刷を選択したと判断された場合(OKボタン902を押下指示していると判断した場合)には、ステップ(1408)に制御を移す。
【0150】
一方、ステップ(1407)で、プリンタドライバ2003がユーザが印刷をキャンセルすることを選択したと判断した場合(取消ボタン903を押下指示していると判断した場合)には、ステップ(1413)に制御を移す。
【0151】
次に、ステップ(1408)で、アプリケーションソフト2001に対し、現在オープンしているドキュメントを保存するように指示を行い、ステップ(1409)にて保存完了か否かをプリンタドライバ2003が判定し、保存完了までループする。
【0152】
次に、ステップ(1410)にて、ドキュメントの更新日時を取得して、ステップ(1411)にて、プリンタドライバ2003は、アプリケーション2001に書類全体のGDIデータをOSが要求し、OSの描画手段がDDI関数データに変換し、変換されたDDI関数データを受信する。次に、ステップ(1412)にて、プリンタドライバは書類全体のDDI関数データを受け取り、プリンタ102で印刷するためのデータ(PDLデータ)に変換した後、各ページに、更新日時情報をオーバレイ印刷するためのコマンドを付加して、該PDLデータをプリンタ102に送付する。そして、しかる後に、ステップ(1413)に制御を移し、印刷処理を終了する。
【0153】
一方、ステップ(1403)で、ユーザにより選択されたボタンが、更新日時印刷でないとプリンタドライバ2003により判断されると、ステップ(1414)に制御を移し、図16に示したUI画面上で、印刷時刻印刷モードが選択されたか否かをプリンタドライバ2003が判定し、印刷時刻印刷モードであると判定した場合(選択ボタン1307−2が選択された場合)には、ステップ(1415)にて現在時刻(BIOS設定に基づくハードウエア基準時刻)を取得し、ステップ(1416)にて、アプリケーション2001に書類全体のGDIデータを要求し、ステップ(1417)にて、アプリケーション2001から受け取ったGDIデータをPDLに変換するとともに、現在時刻をオーバレイ印刷するためのコマンドを付加してプリンタ102に送付した後に、ステップ(1413)に制御を移す。
【0154】
一方、ステップ(1414)で、印刷時刻印刷モードでないと判断された場合は、すなわち、単純印刷のモードであり、ステップ(1418)に制御を移し、プリンタドライバ2003は、アプリケーション2001に書類全体のGDIデータを要求して、OSを介して同様にDDI関数データを受け取り、ステップ(1419)にて、アプリケーション2001からOSを介して受け取ったDDI関数データをPDLに変換しプリンタに送付した後に、ステップ(1413)に制御を移して、処理を終了する。
【0155】
これにより、図15に示すように、アプリケーション2003のドキュメント(書類)の出力に際し、更新日時をオーバレイした印刷結果が得られる。
【0156】
上記実施形態によれば、更新日時印刷設定を行うための機能処理をプリンタドライバが実行することで、出力されたドキュメントをみただけで、そのドキュメントの最終更新日時や(作成日時)、などを確認し、ホストコンピュータ101上のドキュメント(データ)の修正日付との照合で、どのデータがどの印刷結果に対応しているかを容易に区別可能となる。
【0157】
また、ホストコンピュータ101を備える出力センタでは、バナーと完成物を渡すことにより、お客さんは受け取り時に、入稿データを修正せずに出力していることを確認し受け取ることが可能となる。
【0158】
なお、上記実施形態では、更新日時情報として、人間が視覚的に認知できる表記方法にて、バナーページや、オーバレイ印刷を行う例を示したが、本発明の特徴は、出力した用紙と一致する元データを特定可能な印刷結果を得ることであるので、人間が認知できる表記方法で印刷することに限定されない事は言うまでもなく、例えば応用例として、更新時刻をバーコードとして印刷することで、出力されたドキュメントのバナーページや、オーバレイ印刷部分をバーコードスキャナで読み取ることで、自動的に、コンピュータ内のオリジナルドキュメントのどれが、実際に出力されたドキュメントに対応するか自動検索し表示したりするように構成してもよい。
【0159】
〔第4実施形態〕
以下、本発明に係る情報処理装置におけるホットフォルダの構成例およびPDLデータによる更新日時情報の通知例を踏まえて、第4実施形態について説明する。
【0160】
図18は、図1に示した外部機器101のデスクトップ画面の一例を示す図であり、所定のOSにより管理されるアイコンが表示される。
【0161】
図18において、1701はコンピュータのストレージを示すアイコンである。1702は消去書類をドラッグアンドドロップにて消去するゴミ箱アイコンである。1703はホットフォルダと呼ばれるフォルダで、ホットフォルダ1703を監視するソフトにより、ホットフォルダ1703内にドロップされたファイルがあった場合に、図19に示すプロトコル手順で、ドロップされたファイルをプリンタ102に送付する。
【0162】
1704,1705は作成したドキュメントデータのアイコンで、プリンタに送付することにより直接印刷可能なデータ形式のものである。
【0163】
ユーザは、例えばファイルのアイコン1704を、図示しないポインティングデバイス等を操作することで、ホットフォルダ1703にドラッグアンドドロップすると、前述の監視ソフトは、図19に示す手順で、ドロップされたファイルをプリンタ102に送付する。
【0164】
図19は、本発明に係る情報処理装置と印刷装置との間のデータ転送セッションの一例を示す図であり、例えば図18に示したホットフォルダ1703に対するファイルのドロップ状態を判別して監視ソフトウェアが実行する手順に対応する。なお、ST1801〜ST1805は各フェーズを示す。
【0165】
図19に示すように、監視ソフトはファイルのアイコン1704がホットフォルダ1703に対してドロップされると、その状態をトリガとして、ドロップされたファイルをプリンタ102に送付する。
【0166】
具体的には、フェーズST1801では、画像出力要求(出力を希望するデータがある旨の通知)を外部機器101から、プリンタ102へ出力する。そして、フェーズST1802では、プリンタ102から、外部機器101へのデータ送付要求であり、フェーズST1803はデータ属性情報の送付であり、この際、データの更新日時、作成日時、データの作成者などの情報を送付する。
【0167】
次に、フェーズST1804で、外部機器101からプリンタ102に出力データ(ホットフォルダにドロップされたファイル)をプリンタ102に送付する。フェーズST1805では、出力データの受信が終わると、プリンタ102は受け付け終了を外部機器101に通知する。
【0168】
図20は、本発明に係る情報処理装置から印刷装置に転送されるPDLデータの一例を示す図であり、例えば印字するための印刷データ上に、更新日時情報を付加したPDLデータの一例に対応する。
【0169】
図20において、1901,1903は公知のPostScript(登録商標)言語により記述された出力データの先頭部分を示している、PDLの言語仕様については公知のため省略する。ここで、1902は追加データ部となる更新日時情報で、更新日時情報が上記出力データ1901と出力データ1903との間に追加されている様子を示している。
【0170】
プリンタドライバ2003から更新日時印刷を選んで出力する際に、更新日時情報1902に示すように出力データ1901と出力データ1903との間に挿入して、出力を行う。
【0171】
なお、更新日時情報1902に示す“%%ModifiedDate:12/5/2003 19:55:20”において、%%ModifiedDateはいかに続くデータが更新日時を示すデータパターンであり、それに続く“11/5/2003 19:55:20”は、2003年11月5日19:55:20秒にデータが最後に更新されたことを示している。
【0172】
また、出力データ1901中”%%CreationDate:12/4/2003 19:55:20“は、同様に、PDLデータが作成された時刻、すなわち、印刷時刻を示している。
【0173】
図21は、本発明に係る印刷装置における第2のデータ処理手順の一例を示すフローチャートであり、クライアントからプリンタにデータを送る際、様々なプロトコルのうちどれかを選択して利用して、プロトコルに応じて、最適な更新日時情報を取得し、バナーページとして更新日時を印刷する処理手順に対応する。なお、(1501)〜(1517)は各ステップを示す。
【0174】
電源を投入すると、図4に示したプリンタコントローラ103のCPU309は、本処理を開始し(1501)、公知の初期設定操作を行った後、ステップ(1502)で、CPU309は、ネットワークインタフェースを経由して、LPRプロトコルまたはIPPプロトコルにて、印刷データが送られてきていないかチェックして、いずれかのプロトコルでデータが送られて来たと判断した場合には、ステップ(1503)に制御を移し、PDLデータの受信処理、および受信したPDLデータの解析処理を行い、PDLデータ内から予め定められたパターンを探し、更新日時データを取得する。
【0175】
なお、LPRプロトコルは、通常プリンタドライバからPDLデータをプリンタに送付する際に用いられ、この際に、有効な更新日時データを取得することができないため、PDLデータ内に埋め込んだ、更新日時データを使用している。この際、クライアントPC側のデータ処理動作については、前述の図8〜図17に示した実施形態と同様である。
【0176】
次に、ステップ(1505)で、更新日時をバナーページ上に印刷する。そして、ステップ(1506)で、クライアントから送付されたPDLデータのドキュメント部分をRAM307上で展開し、用紙上に画像形成し出力し、しかる後に、ステップ(1507)で、一連の印刷処理を終了する。そして、処理はステップ(1501)に戻る。
【0177】
一方、ステップ(1502)で、ネットワークインタフェースを経由して、LPRプロトコルまたはIPPプロトコルにて、印刷データが送られてきていないとCPU309が判断した場合は、ステップ(1504)で、公知のFTP経由で入力データがあるか否かをCPU307が判断し、公知のFTP経由で入力データがあると判断した場合は、ステップ(1508)で、FTPにてPDLデータ受信を行う際、FTPプロトコル上のファイルの更新日時データをバナーページにて印刷用の更新日時データとして取得して、ステップ(1505)へ進む。なお、FTPプロトコルの詳細は公知であるため省略する。
【0178】
一方、ステップ(1504)で、公知のFTP経由で入力データがないとCPU309が判断した場合は、ステップ(1509)で、ホットフォルダ経由で、入力データが存在するか否かをCPU309が確認し、入力データが存在しないとCPU309が判断した場合は、ステップ(1502)へ戻る。
【0179】
一方、ステップ(1509)で、入力データが存在するとCPU309が判断した場合は、ステップ(1510)で、ホットフォルダ経由のデータ取得の際の独自プロトコルにより、予め定義された更新日時取得手順にて、更新日時データを取得し、ステップ(1505)へ進む。
【0180】
なお、本実施形態では、バナーページ上に、更新日時を印刷する例を示したが、バナーページの印字に限ることなく、データを展開し用紙上に、オーバレイ印刷をすることも有効であり、可能であることは言うまでもない。
【0181】
〔第5実施形態〕
上記第4実施形態では、クライアントからプリンタにデータを送る際、様々なプロトコルのうちどれかを選択して利用して、プロトコルに応じて、最適な更新日時情報を取得し、バナーページとして更新日時を印刷する場合について説明したが、その更新日時がPDLデータ中の更新日時と照合して正しいかどうかを判定した上で、いずれかの更新日時を採用して印刷制御するようにしてもよい。以下、その実施形態について説明する。
【0182】
図22は、本発明に係る印刷装置における第3のデータ処理手順の一例を示すフローチャートであり、クライアントからプリンタにデータを送る際、様々なプロトコルのうちどれかを選択して利用して、プロトコルに応じた最適な更新日時情報を取得し、バナーページとして更新日時を印刷する処理手順に対応する。なお、(1601)〜(1614)は各ステップを示す。
【0183】
電源を投入すると、図4に示したプリンタコントローラ103のCPU309は、本処理を開始し(1601)、公知の初期設定操作を行った後、ステップ(1602)で、CPU309は、ネットワークインタフェースを経由して、LPRプロトコルまたはIPPプロトコルにて、印刷データが送られてきていないかチェックして、いずれかのプロトコルでデータが送られて来たと判断した場合には、ステップ(1603)に制御を移し、PDLデータの受信処理、および受信したPDLデータの解析処理を行い、PDLデータ内から予め定められたパターンを探し、更新日時データを取得する。
【0184】
なお、LPRプロトコルは、通常プリンタドライバからPDLデータをプリンタに送付する際に用いられ、この際に、有効な更新日時データを取得することができないため、PDLデータ内に埋め込んだ、更新日時データを使用している。この際、クライアントPC側のデータ処理動作については、前述の図8〜図17に示した実施形態と同様である。
【0185】
次に、ステップ(1605)で、更新日時をバナーページ上に印刷する。そして、ステップ(1606)で、クライアントから送付されたPDLデータのドキュメント部分をRAM307上で展開し、用紙上に画像形成し出力し、しかる後に、ステップ(1607)で、一連の印刷処理を終了する。そして、処理はステップ(1601)に戻る。
【0186】
一方、ステップ(1602)で、ネットワークインタフェースを経由して、LPRプロトコルまたはIPPプロトコルにて、印刷データが送られてきていないとCPU309が判断した場合は、ステップ(1604)で、公知のFTP経由で入力データがあるか否かをCPU309が判断し、公知のFTP経由で入力データがあると判断した場合は、ステップ(1608)で、FTPにてPDLデータ受信を行う際、FTPプロトコル上のファイルの更新日時データをバナーページにて印刷用の更新日時データD1として取得する。
【0187】
次に、ステップ(1611)で、PDLデータ内に予め定められたコード列にて判断可能な、更新日時情報を更新日時データD2として取得する。次に、ステップ(1612)にて、更新日時データD2が不正か否かをCPU309が判断し、不正でないと判断した場合は、ステップ(1613)で更新日時データD2を更新日時とし定義し、ステップ(1605)へ進む。なお、FTPプロトコルの詳細は公知であるため省略する。
【0188】
一方、ステップ(1604)で、公知のFTP経由で入力データがないとCPU309が判断した場合は、ステップ(1609)で、ホットフォルダ経由で、入力データが存在するか否かをCPU309が確認し、入力データが存在しないとCPU309が判断した場合は、ステップ(1602)へ戻る。
【0189】
一方、ステップ(1609)で、入力データが存在するとCPU309が判断した場合は、ステップ(1610)で、ホットフォルダ経由のデータ取得の際の独自プロトコルにより、予め定義された更新日時取得手順にて、更新日時データD1を取得する。
【0190】
次に、ステップ(1611)で、PDLデータ内に予め定められたコード列にて判断可能な、更新日時情報を更新日時データD2として取得する。次に、ステップ(1612)にて、更新日時データD2が不正か否かをCPU309が判断し、不正でないと判断した場合は、ステップ(1613)で更新日時データD2を更新日時とし定義し、ステップ(1605)へ進む。
【0191】
一方、ステップ(1612)で、不正であると判断した場合は、ステップ(1614)で更新日時データD1を更新日時と定義してステップ(1615)へ進む。
【0192】
以上により、FTP経由やホットフォルダ経由で、データを取得し印字する際、特定の更新日時情報の取得手段により取得した情報に不具合があっても、他の更新日時取得手段により取得した情報を更新日時情報として利用して、バナーページに更新日時を印刷することが可能である。
【0193】
上記中、必要な更新日時データが存在しない場合には、不正データとしてハンドリングする。
【0194】
上記実施形態では、バナーページ上に、更新日時を印字する例を示したが、本提案は、バナーページの印刷に限ることなく、データを展開し用紙上に、オーバレイ印刷をすることも有効であり、可能であることは言うまでもない。
【0195】
なお、上述の各実施形態では、更新日時情報として、人間が視覚的に認知できる表記方法にて、バナーページや、オーバレイ印刷を行った例を示したが、本発明の特徴は、出力した用紙と一致する元データを特定することにあり、本発明は、人間が認知できる表記方法で印刷することに限定されない事は言うまでもない、この場合の応用例としては、更新時刻をバーコードとして印刷することで、出力されたドキュメントのバナーページや、オーバレイ印刷部分をバーコードスキャナで読み取ることで、自動的に、コンピュータ内のオリジナルドキュメントのどれが、実際に出力されたドキュメントに対応するか自動検索し表示したりするように応用することももちろん可能である。
【0196】
また、FTP,LPR,ホットフォルダなど色々なプロトコルのうち、どのプロトコルでドキュメントを出力しても、出力されたドキュメントをみただけで、そのドキュメントデータの最終更新日時を確認することが可能となり、ホストコンピュータ上のドキュメント(データ)の修正日付との照合で、どのデータがどの印刷結果に対応しているかを容易に区別可能である。また、出力依頼したデータの修正日時と、出力されたドキュメントに印刷された修正日時から、データの完全性を確認可能となる。
【0197】
以下、図23に示すメモリマップを参照して本発明に係る情報処理装置、印刷装置を含む印刷システムで読み取り可能なデータ処理プログラムの構成について説明する。
【0198】
図23は、本発明に係る情報処理装置、印刷装置を含む印刷システムで読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【0199】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【0200】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【0201】
本実施形態における図9,図14,図17,図21,図22に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【0202】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0203】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0204】
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
【0205】
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
【0206】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0207】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバやftpサーバ等も本発明の請求項に含まれるものである。
【0208】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0209】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0210】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0211】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から排除するものではない。
【0212】
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるものではない。
【0213】
なお、本発明は、上記した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。以下、その実施態様1〜16について説明する。
【0214】
〔実施態様1〕
情報処理装置から受信するデータを印刷可能な印刷装置(図1に示すプリンタコントローラ103を備えるプリンタ102)であって、前記データ中から更新日時情報を異なる手続で取得する複数の取得手段(例えば図4に示すホストI/F部302を介して受信するデータをCPU309が図21に示すステップ(1502)〜(1504)、(1508)〜(1510)で取得する)と、いずれかの取得手段により前記データから取得される更新日時情報と前記データとの印刷出力を制御する出力制御手段(図4に示すCPU309が図21に示すステップ(1505),(1506)を実行して出力する)とを有することを特徴とする印刷装置。
【0215】
これにより、情報処理装置から様々なデータ転送プロトコルでデータを受信した場合でも、最適な更新日時情報の取得手続により確実に取得して、印刷すべきデータの更新日時情報を確実にユーザが事後的に確認可能な印刷結果を得ることができる利便性に優れた印刷出力環境を整備できる。
【0216】
〔実施態様2〕
前記複数の取得手段は、前記情報処理装置のプリンタドライバが生成するPDLデータから更新日時情報を取得する第1の取得手段(例えば図4に示すホストI/F部302を介して受信するデータをCPU309が図21に示すステップ(1502)〜(1503)で取得する)と、前記情報処理装置との所定の通信プロトコルに従って転送されるPDLデータから更新日時情報を取得する第2の取得手段(例えば図4に示すホストI/F部302を介して受信するデータをCPU309が図21に示すステップ(1504)、(1508)で取得する)と、前記情報処理装置との独自の通信プロトコルで転送される特定データから更新日時情報を取得する第3の取得手段(例えば図4に示すホストI/F部302を介して受信するデータをCPU309が図21に示すステップ(1509)〜(1510)で取得する)を含むことを特徴とする実施態様1記載の印刷装置。
【0217】
これにより、情報処理装置から様々なデータ転送プロトコルでデータを受信した場合でも、最適な更新日時情報の取得手続により確実に取得することができる。
【0218】
〔実施態様3〕
いずれかの取得手段が取得している更新日時情報が正当な日時情報であるかどうかを判断する判断手段(例えば図4に示すホストI/F部302を介して受信するデータをCPU309が図22に示すステップ(1612)で判断する)を有し、前記判断手段により更新日時情報が正当な日時情報でないと判断された場合に、取得した更新日時情報に代えて他の取得手段により更新日時情報を取得する(例えば図4に示すホストI/F部302を介して受信するデータをCPU309が図22に示すステップ(1613)〜(1614)で取得する)ことを特徴とする実施態様1記載の印刷装置。
【0219】
これにより、情報処理装置から様々なデータ転送プロトコルでデータを受信した場合に、不正な更新日時情報を取得しているかの真偽性を評価した後、正当な更新日時情報を利用した更新日時情報の印刷を行うことができる。
【0220】
〔実施態様4〕
前記所定の通信プロトコルは、FTPであることを特徴とする実施態様2記載の印刷装置。
【0221】
これにより、FTPを利用する通信で更新日時情報を取得して、データと更新日時情報との印刷出力を自在に行うことができる。
【0222】
〔実施態様5〕
前記所定の通信プロトコルは、前記情報処理装置との間で取り決められている特有のデータ転送プロトコルであることを特徴とする実施態様2記載の印刷装置。
【0223】
これにより、情報処理装置と印刷装置との間における特有のデータ転送プロトコルで更新日時情報を取得して、データと更新日時情報との印刷出力を自在に行うことができる。
【0224】
〔実施態様6〕
前記出力制御手段は、前記更新日時情報をデータ出力ページとは独立したページで出力することを特徴とする実施態様1記載の印刷装置。
【0225】
これにより、更新日時情報の出力結果とデータの出力結果とを独立して管理することができる。
【0226】
〔実施態様7〕
前記出力制御手段は、前記更新日時情報をデータ出力ページと同一ページに出力することを特徴とする実施態様1記載の印刷装置。
【0227】
これにより、更新日時情報の出力結果とデータの出力結果とを同時に確認することができる。
【0228】
〔実施態様8〕
情報処理装置から受信するデータを印刷可能な印刷装置における印刷制御方法であって、前記データ中から更新日時情報を異なる手続で取得する複数の取得ステップと、いずれかの取得ステップにより前記データから取得される更新日時情報と前記データとの印刷出力を制御する出力制御ステップとを有することを特徴とする印刷制御方法。
【0229】
これにより、情報処理装置から様々なデータ転送プロトコルでデータを受信した場合でも、最適な更新日時情報の取得手続により確実に取得して、印刷すべきデータの更新日時情報を確実にユーザが事後的に確認可能な印刷結果を得ることができる利便性に優れた印刷出力環境を整備できる。
【0230】
〔実施態様9〕
前記複数の取得ステップは、前記情報処理装置のプリンタドライバが生成するPDLデータから更新日時情報を取得する第1の取得ステップ(例えば図4に示すホストI/F部302を介して受信するデータをCPU309が図21に示すステップ(1502)〜(1503)で取得する)と、前記情報処理装置との所定の通信プロトコルに従って転送されるPDLデータから更新日時情報を取得する第2の取得ステップ(例えば図4に示すホストI/F部302を介して受信するデータをCPU309が図21に示すステップ(1504)、(1508)で取得する)と、前記情報処理装置との独自の通信プロトコルで転送される特定データから更新日時情報を取得する第3の取得ステップ(例えば図4に示すホストI/F部302を介して受信するデータをCPU309が図21に示すステップ(1509)〜(1510)で取得する)を含むことを特徴とする実施態様8記載の印刷制御方法。
【0231】
これにより、情報処理装置から様々なデータ転送プロトコルでデータを受信した場合でも、最適な更新日時情報の取得手続により確実に取得することができる。
【0232】
〔実施態様10〕
いずれかの取得ステップが取得している更新日時情報が正当な日時情報であるかどうかを判断する判断ステップを有し、前記判断ステップにより更新日時情報が正当な日時情報でないと判断された場合に、取得した更新日時情報に代えて他の取得ステップにより更新日時情報を取得することを特徴とする実施態様8記載の印刷制御方法。
【0233】
これにより、情報処理装置から様々なデータ転送プロトコルでデータを受信した場合に、不正な更新日時情報を取得しているかの真偽性を評価した後、正当な更新日時情報を利用した更新日時情報の印刷を行うことができる。
【0234】
〔実施態様11〕
前記所定の通信プロトコルは、FTPであることを特徴とする実施態様10記載の印刷制御方法。
【0235】
これにより、FTPを利用する通信で更新日時情報を取得して、データと更新日時情報との印刷出力を自在に行うことができる。
【0236】
〔実施態様12〕
前記所定の通信プロトコルは、前記情報処理装置との間で取り決められている特有のデータ転送プロトコルであることを特徴とする実施態様10記載の印刷制御方法。
【0237】
これにより、情報処理装置と印刷装置との間における特有のデータ転送プロトコルで更新日時情報を取得して、データと更新日時情報との印刷出力を自在に行うことができる。
【0238】
〔実施態様13〕
前記出力制御ステップは、前記更新日時情報をデータ出力ページとは独立したページで出力することを特徴とする実施態様9記載の印刷制御方法。
【0239】
これにより、更新日時情報の出力結果とデータの出力結果とを独立して管理することができる。
【0240】
〔実施態様14〕
前記出力制御ステップは、前記更新日時情報をデータ出力ページと同一ページに出力することを特徴とする請求項9記載の印刷制御方法。
【0241】
これにより、更新日時情報の出力結果とデータの出力結果とを同時に確認することができる。
【0242】
〔実施態様15〕
実施態様8〜14のいずれかに記載の印刷制御方法を実行させるためのプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。
【0243】
これにより、実施態様8〜14と同等の効果が期待できる。
【0244】
〔実施態様16〕
実施態様8〜14のいずれかに記載の印刷制御方法を実行させることを特徴とするプログラム。
【0245】
これにより、実施態様8〜14と同等の効果が期待できる。
【図面の簡単な説明】
【0246】
【図1】本発明の第1実施形態を示す情報処理装置を適用する印刷システムの構成を説明するブロック図である。
【図2】図1に示したプリンタの構成を説明する概略断面図である。
【図3】図1に示したプリンタの制御構成を説明するブロック図である。
【図4】図1に示したプリンタコントローラの構成を説明するブロック図である。
【図5】本発明の第1実施形態を示す情報処理装置を適用可能な印刷システムの構成を示すブロック図である。
【図6】図5に示したホストコンピュータにおける典型的な印刷処理に供するモジュール構成を説明する図である。
【図7】図5に示したRAMのメモリマップを説明する図である。
【図8】図5に示したCRT上に表示されるアプリケーション編集画面の一例を示す図である。
【図9】本発明に係る情報処理装置における第1のデータ処理手順の一例を示すフローチャートである。
【図10】図5に示したCRTに表示される印刷ダイアログの一例を示す図である。
【図11】図5に示したCRT上に表示される印刷ダイアログの一例を示す図である。
【図12】本発明に係る情報処理装置におけるプリントプラグインとアプリケーションとユーザからの指示とに基づく一連のプリントセッション例を説明する図である。
【図13】図1に示したプリンタで印刷されるバナーページの一例を示す図である。
【図14】本発明に係る印刷装置における第1のデータ処理手順の一例を示すフローチャートである。
【図15】本発明の第2実施形態を示す印刷装置における印刷結果を示す図である。
【図16】図5に示したCRTに表示される印刷設定画面の一例を示す図である。
【図17】本発明に係る情報処理装置における第2のデータ処理手順の一例を示すフローチャートである。
【図18】図1に示した外部機器のデスクトップ画面の一例を示す図である。
【図19】本発明に係る情報処理装置と印刷装置との間のデータ転送セッションの一例を示す図である。
【図20】本発明に係る情報処理装置から印刷装置に転送されるPDLデータの一例を示す図である。
【図21】本発明に係る印刷装置における第2のデータ処理手順の一例を示すフローチャートである。
【図22】本発明に係る印刷装置における第3のデータ処理手順の一例を示すフローチャートである。
【図23】本発明に係る画像処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【符号の説明】
【0247】
101 ホストコンピュータ
102 プリンタ
2001 アプリケーション
2003 プリンタドライバ
【特許請求の範囲】
【請求項1】
情報処理装置から受信するデータを印刷可能な印刷装置であって、
前記データ中から更新日時情報を異なる手続で取得する複数の取得手段と、
いずれかの取得手段により前記データから取得される更新日時情報と前記データとの印刷出力を制御する出力制御手段と、
を有することを特徴とする印刷装置。
【請求項2】
前記複数の取得手段は、前記情報処理装置のプリンタドライバが生成するPDLデータから更新日時情報を取得する第1の取得手段と、前記情報処理装置との所定の通信プロトコルに従って転送されるPDLデータから更新日時情報を取得する第2の取得手段と、前記情報処理装置との独自の通信プロトコルで転送される特定データから更新日時情報を取得する第3の取得手段を含むことを特徴とする請求項1記載の印刷装置。
【請求項3】
いずれかの取得手段が取得している更新日時情報が正当な日時情報であるかどうかを判断する判断手段を有し、
前記判断手段により更新日時情報が正当な日時情報でないと判断された場合に、取得した更新日時情報に代えて他の取得手段により更新日時情報を取得することを特徴とする請求項1記載の印刷装置。
【請求項4】
前記所定の通信プロトコルは、FTPであることを特徴とする請求項2記載の印刷装置。
【請求項5】
前記所定の通信プロトコルは、前記情報処理装置との間で取り決められている特有のデータ転送プロトコルであることを特徴とする請求項2記載の印刷装置。
【請求項6】
前記出力制御手段は、前記更新日時情報をデータ出力ページとは独立したページで出力することを特徴とする請求項1記載の印刷装置。
【請求項7】
前記出力制御手段は、前記更新日時情報をデータ出力ページと同一ページに出力することを特徴とする請求項1記載の印刷装置。
【請求項8】
情報処理装置から受信するデータを印刷可能な印刷装置における印刷制御方法であって、
前記データ中から更新日時情報を異なる手続で取得する複数の取得ステップと、
いずれかの取得ステップにより前記データから取得される更新日時情報と前記データとの印刷出力を制御する出力制御ステップと、
を有することを特徴とする印刷制御方法。
【請求項9】
前記複数の取得ステップは、前記情報処理装置のプリンタドライバが生成するPDLデータから更新日時情報を取得する第1の取得ステップと、前記情報処理装置との所定の通信プロトコルに従って転送されるPDLデータから更新日時情報を取得する第2の取得ステップと、前記情報処理装置との独自の通信プロトコルで転送される特定データから更新日時情報を取得する第3の取得ステップとを含むことを特徴とする請求項8記載の印刷制御方法。
【請求項10】
いずれかの取得ステップが取得している更新日時情報が正当な日時情報であるかどうかを判断する判断ステップを有し、
前記判断ステップにより更新日時情報が正当な日時情報でないと判断された場合に、取得した更新日時情報に代えて他の取得ステップにより更新日時情報を取得することを特徴とする請求項8記載の印刷制御方法。
【請求項11】
前記所定の通信プロトコルは、FTPであることを特徴とする請求項10記載の印刷制御方法。
【請求項12】
前記所定の通信プロトコルは、前記情報処理装置との間で取り決められている特有のデータ転送プロトコルであることを特徴とする請求項10記載の印刷制御方法。
【請求項13】
前記出力制御ステップは、前記更新日時情報をデータ出力ページとは独立したページで出力することを特徴とする請求項8記載の印刷制御方法。
【請求項14】
前記出力制御ステップは、前記更新日時情報をデータ出力ページと同一ページに出力することを特徴とする請求項8記載の印刷制御方法。
【請求項15】
請求項8〜14のいずれかに記載の印刷制御方法を実行させるためのプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。
【請求項16】
請求項8〜14のいずれかに記載の印刷制御方法を実行させることを特徴とするプログラム。
【請求項1】
情報処理装置から受信するデータを印刷可能な印刷装置であって、
前記データ中から更新日時情報を異なる手続で取得する複数の取得手段と、
いずれかの取得手段により前記データから取得される更新日時情報と前記データとの印刷出力を制御する出力制御手段と、
を有することを特徴とする印刷装置。
【請求項2】
前記複数の取得手段は、前記情報処理装置のプリンタドライバが生成するPDLデータから更新日時情報を取得する第1の取得手段と、前記情報処理装置との所定の通信プロトコルに従って転送されるPDLデータから更新日時情報を取得する第2の取得手段と、前記情報処理装置との独自の通信プロトコルで転送される特定データから更新日時情報を取得する第3の取得手段を含むことを特徴とする請求項1記載の印刷装置。
【請求項3】
いずれかの取得手段が取得している更新日時情報が正当な日時情報であるかどうかを判断する判断手段を有し、
前記判断手段により更新日時情報が正当な日時情報でないと判断された場合に、取得した更新日時情報に代えて他の取得手段により更新日時情報を取得することを特徴とする請求項1記載の印刷装置。
【請求項4】
前記所定の通信プロトコルは、FTPであることを特徴とする請求項2記載の印刷装置。
【請求項5】
前記所定の通信プロトコルは、前記情報処理装置との間で取り決められている特有のデータ転送プロトコルであることを特徴とする請求項2記載の印刷装置。
【請求項6】
前記出力制御手段は、前記更新日時情報をデータ出力ページとは独立したページで出力することを特徴とする請求項1記載の印刷装置。
【請求項7】
前記出力制御手段は、前記更新日時情報をデータ出力ページと同一ページに出力することを特徴とする請求項1記載の印刷装置。
【請求項8】
情報処理装置から受信するデータを印刷可能な印刷装置における印刷制御方法であって、
前記データ中から更新日時情報を異なる手続で取得する複数の取得ステップと、
いずれかの取得ステップにより前記データから取得される更新日時情報と前記データとの印刷出力を制御する出力制御ステップと、
を有することを特徴とする印刷制御方法。
【請求項9】
前記複数の取得ステップは、前記情報処理装置のプリンタドライバが生成するPDLデータから更新日時情報を取得する第1の取得ステップと、前記情報処理装置との所定の通信プロトコルに従って転送されるPDLデータから更新日時情報を取得する第2の取得ステップと、前記情報処理装置との独自の通信プロトコルで転送される特定データから更新日時情報を取得する第3の取得ステップとを含むことを特徴とする請求項8記載の印刷制御方法。
【請求項10】
いずれかの取得ステップが取得している更新日時情報が正当な日時情報であるかどうかを判断する判断ステップを有し、
前記判断ステップにより更新日時情報が正当な日時情報でないと判断された場合に、取得した更新日時情報に代えて他の取得ステップにより更新日時情報を取得することを特徴とする請求項8記載の印刷制御方法。
【請求項11】
前記所定の通信プロトコルは、FTPであることを特徴とする請求項10記載の印刷制御方法。
【請求項12】
前記所定の通信プロトコルは、前記情報処理装置との間で取り決められている特有のデータ転送プロトコルであることを特徴とする請求項10記載の印刷制御方法。
【請求項13】
前記出力制御ステップは、前記更新日時情報をデータ出力ページとは独立したページで出力することを特徴とする請求項8記載の印刷制御方法。
【請求項14】
前記出力制御ステップは、前記更新日時情報をデータ出力ページと同一ページに出力することを特徴とする請求項8記載の印刷制御方法。
【請求項15】
請求項8〜14のいずれかに記載の印刷制御方法を実行させるためのプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。
【請求項16】
請求項8〜14のいずれかに記載の印刷制御方法を実行させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【公開番号】特開2006−35818(P2006−35818A)
【公開日】平成18年2月9日(2006.2.9)
【国際特許分類】
【出願番号】特願2004−223299(P2004−223299)
【出願日】平成16年7月30日(2004.7.30)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成18年2月9日(2006.2.9)
【国際特許分類】
【出願日】平成16年7月30日(2004.7.30)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]