(57)【要約】      （修正有）【課題】シートに印刷された画像と，ログデータとして記憶される画像とを一致させる。【解決手段】ＰＣ１（プリンタドライバ４０）は，印刷データ４２とその印刷データ４２に対応するログデータ４１とを生成する。さらに，１ページ分あるいは１ページ分よりも少ない所定量分の印刷データの生成ごとに，プリンタ２の状態を示す状態情報を取得する。そして，その状態情報に基づいて印刷可能と判断されたページあるいは所定量分の印刷データ４２に対応するログデータ４１を記憶装置１４に記憶させる。【選択図】図２
2014191634.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置に，
印刷データとその印刷データに対応するログデータとを生成する生成処理と，
前記生成処理にて生成された印刷データを，印刷装置に出力する出力処理と，
前記生成処理にて１ページ分あるいは１ページ分よりも少ない所定量分の印刷データを生成するに際し，前記印刷装置の状態を示す状態情報を取得する取得処理と，
前記取得処理にて取得した状態情報に基づいて，前記印刷装置が印刷可能か不能かを判断する状態判断処理と，
前記状態判断処理にて印刷可能と判断された場合に，生成された印刷データに対応するログデータを記憶装置に記憶させる記憶処理と，
を実行させることを特徴とするプログラム。
【請求項２】
請求項１に記載するプログラムにおいて，
前記記憶処理では，前記状態判断処理にて印刷不能と判断された場合に，当該判断に利用された状態情報の取得に際して生成された印刷データに対応するログデータを，前記状態判断処理にて印刷可能と判断された場合に前記記憶装置に記憶されるログデータを格納するファイルとは別のファイルに格納することを特徴とするプログラム。
【請求項３】
請求項１または請求項２に記載するプログラムにおいて，
前記取得処理にて取得した状態情報に基づいて，前記印刷装置の状態変化を判断する状態変化判断処理を前記情報処理装置に実行させ，
前記記憶処理では，前記状態変化判断処理にて印刷可能から印刷不能への変化を判断した場合に，前記状態判断処理にて印刷不能と判断される前までに出力された印刷データに対応するログデータを前記記憶装置に記憶させ，前記状態変化判断処理にて印刷不能から印刷可能への変化を判断した場合に，前記状態判断処理にて印刷不能と判断された後に出力される印刷データに対応するログデータを前記記憶装置に記憶させることを特徴とするプログラム。
【請求項４】
請求項３に記載するプログラムにおいて，
前記記憶処理は，前記状態変化判断処理にて印刷可能から印刷不能への変化を判断した場合に，前記状態判断処理にて印刷不能と判断される前までに出力された印刷データに対応するログデータを格納するファイルである復帰前ファイルを生成して当該復帰前ファイルを前記記憶装置に記憶させ，前記状態変化判断処理にて印刷不能から印刷可能への変化を判断した場合に，前記復帰前ファイルとは別のファイルであって，前記状態判断処理にて印刷不能と判断された後に出力される印刷データに対応するログデータを格納する復帰後ファイルを生成して前記記憶装置に記憶させるものであり，前記復帰後ファイルに，前記状態変化判断処理にて印刷不能から印刷可能への変化を判断した時刻を格納することを特徴とするプログラム。
【請求項５】
請求項１に記載するプログラムにおいて，
前記記憶処理では，前記状態判断処理にて印刷不能と判断された場合に，当該判断に利用された状態情報の取得に際して生成された印刷データに対応するログデータを前記記憶装置に記憶させないことを特徴とするプログラム。
【請求項６】
請求項１から請求項５のいずれか１つに記載するプログラムにおいて，
前記記憶処理では，ページごとあるいは前記所定量ごとに，前記状態判断処理にて印刷可能と判断されたか否かを示す判断情報を記憶し，前記出力処理にて全ての印刷データの出力が完了した後，前記判断情報に基づいてログデータを前記記憶装置に記憶させることを特徴とするプログラム。
【請求項７】
請求項１から請求項５のいずれか１つに記載するプログラムにおいて，
前記状態判断処理にて印刷不能と判断された場合に，当該判断に利用された状態情報の取得に際して生成された印刷データに対応する前記印刷装置用のビットマップデータを生成する生成処理を前記情報処理装置に実行させることを特徴とするプログラム。
【請求項８】
他装置との間で通信を行う通信部と，
制御部と，
を備え，
前記制御部は，
印刷データとその印刷データに対応するログデータとを生成する生成処理と，
前記生成処理にて生成された印刷データを，前記通信部を介して印刷装置に出力する出力処理と，
前記生成処理にて１ページ分あるいは１ページ分よりも少ない所定量分の印刷データを生成するに際し，前記印刷装置の状態を示す状態情報を取得する取得処理と，
前記取得処理にて取得した状態情報に基づいて，前記印刷装置が印刷可能か不能かを判断する状態判断処理と，
前記状態判断処理にて印刷可能と判断された場合に，生成された印刷データに対応するログデータを記憶装置に記憶させる記憶処理と，
を実行することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，プログラムおよび情報処理装置に関する。さらに詳細には，情報処理装置が，印刷装置に画像を印刷させる印刷ジョブに関する情報を記録するためのログデータを生成する技術に関するものである。
【背景技術】
【０００２】
従来から，パーソナルコンピュータ（ＰＣ）等の情報処理装置から印刷装置に印刷データを送信し，印刷装置に当該印刷データに基づく印刷を行わせる際，情報処理装置にてその印刷に関する情報をログデータとして生成し，そのログデータを記憶装置に保存する技術が知られている。
【０００３】
上述の技術を開示した文献としては，例えば特許文献１がある。特許文献１では，プリンタ（印刷装置）と，ホスト（情報処理装置）と，サーバとを備えるシステムであって，ホストが印刷データとその印刷データに対応するログデータとを生成し，プリンタが印刷データに基づく印刷を行い，サーバがログデータを管理する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１１０２６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ログデータは，印刷が完了したことに対する情報を記憶したものであるため，実際にシートに印刷された画像と，ログデータに記憶される画像とが一致することが望まれる。しかしながら，前記した従来の技術には，印刷途中に印刷装置に異常が発生してしまうと，実際に印刷された画像と，ログデータとして記憶された画像とが一致しない可能性がある，という問題があった。
【０００６】
本発明は，前記した従来の技術が有する問題点を解決するためになされたものである。すなわちその課題とするところは，シートに印刷された画像と，ログデータとして記憶される画像との一致が期待できる技術を提供することにある。
【課題を解決するための手段】
【０００７】
この課題の解決を目的としてなされたプログラムは，情報処理装置に，印刷データとその印刷データに対応するログデータとを生成する生成処理と，前記生成処理にて生成された印刷データを，印刷装置に出力する出力処理と，前記生成処理にて１ページ分あるいは１ページ分よりも少ない所定量分の印刷データを生成するに際し，前記印刷装置の状態を示す状態情報を取得する取得処理と，前記取得処理にて取得した状態情報に基づいて，前記印刷装置が印刷可能か不能かを判断する状態判断処理と，前記状態判断処理にて印刷可能と判断された場合に，生成された印刷データに対応するログデータを記憶装置に記憶させる記憶処理とを実行させることを特徴としている。
【０００８】
本明細書に開示されるプログラムは，印刷データとその印刷データに対応するログデータとを生成する。さらに，１ページ分あるいは１ページ分よりも少ない所定量分の印刷データを生成するに際し，印刷装置の状態を示す状態情報を取得する。状態情報の取得方法としては，印刷装置に直接問い合わせてもよいし，デバイスステータスモニタやポートモニタ等，別のモジュールが印刷装置の状態を監視している場合には，そのモジュールを介して取得してもよい。また，状態情報の取得は，印刷データの生成ごとであればよく，印刷データを生成する前であっても後であってもよい。そして，その状態情報に基づいて印刷可能と判断された場合には，ログデータを記憶装置に記憶させる。記憶装置は，情報装置のメモリであってもよいし，サーバ等，外部装置のメモリであってもよい。
【０００９】
すなわち，本明細書に開示されるプログラムでは，１ページ分あるいは１ページ分よりも少ない所定量分の印刷データの生成の度に印刷装置の状態情報を取得し，印刷装置が印刷可能状態の場合にそのページあるいはその所定量分のログデータを記憶装置に記憶させる。この構成により，印刷途中に印刷装置に異常が発生した場合には，異常が発生する前までの印刷データに対応するログデータが記憶される。よって，シートに印刷された画像とログデータとして記憶された画像とが一致する可能性が高まる。
【００１０】
また，前記記憶処理では，前記状態判断処理にて印刷不能と判断された場合に，当該判断に利用された状態情報の取得に際して生成された印刷データに対応するログデータを，前記状態判断処理にて印刷可能と判断された場合に前記記憶装置に記憶されるログデータを格納するファイルとは別のファイルに格納するとよい。この構成によれば，印刷不能と判断された際のログデータと印刷可能と判断された際のログデータとが別のファイルに記憶されるため，印刷済みの画像と未印刷の画像とをユーザが確認し易い。
【００１１】
また，本明細書に開示されるプログラムは，前記取得処理にて取得した状態情報に基づいて，前記印刷装置の状態変化を判断する状態変化判断処理を前記情報処理装置に実行させ，前記記憶処理では，前記状態変化判断処理にて印刷可能から印刷不能への変化を判断した場合に，前記状態判断処理にて印刷不能と判断される前までに出力された印刷データに対応するログデータを前記記憶装置に記憶させ，前記状態変化判断処理にて印刷不能から印刷可能への変化を判断した場合に，前記状態判断処理にて印刷不能と判断された後に出力される印刷データに対応するログデータを前記記憶装置に記憶させるとよい。印刷不能から印刷可能に復帰した後は，印刷が継続されることが想定される。そのため，印刷不能になるまでのログデータに加え，再び印刷可能になってからのログデータを記憶することで，印刷が完了した画像とログデータの画像とが一致する可能性がより高まる。
【００１２】
また，前記記憶処理は，前記状態変化判断処理にて印刷可能から印刷不能への変化を判断した場合に，前記状態判断処理にて印刷不能と判断される前までに出力された印刷データに対応するログデータを格納するファイルである復帰前ファイルを生成して当該復帰前ファイルを前記記憶装置に記憶させ，前記状態変化判断処理にて印刷不能から印刷可能への変化を判断した場合に，前記復帰前ファイルとは別のファイルであって，前記状態判断処理にて印刷不能と判断された後に出力される印刷データに対応するログデータを格納する復帰後ファイルを生成して前記記憶装置に記憶させるものであり，前記復帰後ファイルに，前記状態変化判断処理にて印刷不能から印刷可能への変化を判断した時刻を格納するとよい。復帰した時刻を復帰後ファイルに記憶することで，復帰後ファイルが複数あったとしても，ユーザがその生成順を把握し易い。なお，時刻は，データとしてファイルに記憶してもよいし，ファイル名として付加してもよい。
【００１３】
また，前記記憶処理では，前記状態判断処理にて印刷不能と判断された場合に，当該判断に利用された状態情報の取得に際して生成された印刷データに対応するログデータを前記記憶装置に記憶させないとよい。この構成によれば，印刷不能と判断された際のログデータが記憶されないため，印刷が完了した画像とログデータの画像とが一致する可能性がより高まる。
【００１４】
また，前記記憶処理では，ページごとあるいは前記所定量ごとに，前記状態判断処理にて印刷可能と判断されたか否かを示す判断情報を記憶し，前記出力処理にて全ての印刷データの出力が完了した後，前記判断情報に基づいてログデータを前記記憶装置に記憶させるとよい。判断情報は，例えば，印刷不能であった場合に記憶されるページ番号（あるいはバンド番号）が該当する。この構成によれば，ログデータの記憶装置への記憶が，印刷データの出力の後に纏めて行われる。そのため，印刷データの送信遅延が抑制され，間欠印刷等の不具合の発生が抑えられる。
【００１５】
また，本明細書に開示されるプログラムは，前記状態判断処理にて印刷不能と判断された場合に，当該判断に利用された状態情報の取得に際して生成された印刷データに対応する前記印刷装置用のビットマップデータを生成する生成処理を前記情報処理装置に実行させるとよい。印刷装置用のビットマップデータを生成しておくことで，復帰後にそのビットマップデータを利用して，印刷不能となった後の続きを印刷できる。
【００１６】
また，本明細書には，他装置との間で通信を行う通信部と，制御部とを備え，前記制御部は，印刷データとその印刷データに対応するログデータとを生成する生成処理と，前記生成処理にて生成された印刷データを，前記通信部を介して印刷装置に出力する出力処理と，前記生成処理にて１ページ分あるいは１ページ分よりも少ない所定量分の印刷データを生成するに際し，前記印刷装置の状態を示す状態情報を取得する取得処理と，前記取得処理にて取得した状態情報に基づいて，前記印刷装置が印刷可能か不能かを判断する状態判断処理と，前記状態判断処理にて印刷可能と判断された場合に，生成された印刷データに対応するログデータを記憶装置に記憶させる記憶処理とを実行することを特徴とする情報処理装置が開示されている。
【発明の効果】
【００１７】
本発明によれば，シートに印刷された画像と，ログデータとして記憶される画像との一致が期待できる技術が実現される。
【図面の簡単な説明】
【００１８】
【図１】実施の形態に係るプリントシステムの構成を示すブロック図である。
【図２】実施の形態に係るプリントシステムの印刷手順を示すブロック図である。
【図３】印刷設定画面の構成を示す図である。
【図４】第１の形態に係るプリンタドライバの印刷処理の手順を示すフローチャートである。
【図５】第２の形態に係るプリンタドライバの印刷処理の手順を示すフローチャートである。
【図６】第３の形態に係るプリンタドライバの印刷処理の手順を示すフローチャートである。
【図７】第４の形態に係るプリンタドライバの印刷処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１９】
以下，本発明にかかる装置を具体化した実施の形態について，添付図面を参照しつつ詳細に説明する。本形態は，プリンタと，そのプリンタ用のプリンタドライバが組み込まれたパーソナルコンピュータ（ＰＣ）とを有するプリントシステムに本発明を適用したものである。
【００２０】
［プリントシステムの構成］
本形態のプリントシステム１００は，図１に示すように，プリンタ２（印刷装置の一例）と，プリンタ２を制御するＰＣ１（情報処理装置の一例）とを備えている。プリントシステム１００では，ＰＣ１とプリンタ２とが有線ＬＡＮケーブルを介して通信可能に接続されている。
【００２１】
なお，プリントシステム１００を構成するプリンタおよびＰＣは各１台に限るものではなく，それぞれ複数台接続してもよい。また，ＰＣ１とプリンタ２との接続は，有線ＬＡＮケーブルに限らず，その他のシリアル通信ケーブル，パラレル通信ケーブル，またはＵＳＢケーブルを介するものであってもよいし，さらには無線ＬＡＮ等の無線通信であってもよい。
【００２２】
ＰＣ１は，各種処理を実行するＣＰＵ１１（制御部の一例）と，当該ＰＣ１の起動時にＣＰＵ１１が行う起動処理のプログラム（ＢＩＯＳ）等を記憶したＲＯＭ１２と，ＣＰＵ１１が各種処理を行う際に一時的な記憶領域として利用されるＲＡＭ１３と，各種のプログラムやデータを記憶したハードディスクドライブ（ＨＤＤ）１４（記憶装置の一例）とを備えている。なお，図１中のコントローラ３０は，ＣＰＵ１１等，ＰＣ１の制御に利用されるハードウェアを纏めた総称であって，実際にＰＣ１に存在する単一のハードウェアと表すとは限らない。
【００２３】
また，ＰＣ１は，キーボードやマウス等からなる操作部１５と，液晶ディスプレイ等からなる表示部１６と，ＵＳＢインターフェース１７（通信部の一例）と，ネットワークインターフェース１８（通信部の一例）とを備え，これらがＣＰＵ１１と電気的に接続され，これらがＣＰＵ１１によって制御される。ＵＳＢインターフェース１７はＵＳＢケーブルを介して接続された装置と通信を行うためのハードウェアである。ネットワークインターフェース１８はＬＡＮケーブルを介して接続された装置と通信を行うためのハードウェアである。
【００２４】
ＨＤＤ１４には，オペレーティングシステム（ＯＳ）と，アプリケーションプログラム（文書作成ソフト，作図ソフト，表計算ソフト，写真データ編集ソフト等）と，プリンタ２を制御するプリンタドライバ（プログラムの一例）とが記憶されている。なお，各種プログラムは，ＣＤ−ＲＯＭなどの記憶媒体に記憶されているものをインストールしてもよいし，ネットワーク上のサーバに記憶されているものをダウンロードしてインストールしてもよい。
【００２５】
プリンタ２は，用紙に画像を形成する機能を有していればよく，その画像形成方式は，電子写真方式，インクジェット方式，その他の一般的な画像形成方式を採用していればよい。また，カラー画像及びモノクロ画像の画像形成が可能であっても，モノクロ画像のみの画像形成が可能であってもよい。
【００２６】
［ＰＣの動作］
続いて，本形態のプリントシステム１００にて印刷を行う際の，ＰＣ１の動作について，図２のブロック図を参照しつつ説明する。なお，図２中，グラフィックエンジン５１およびスプーラ５２は，ＯＳの一部として提供され，デバイスステータスモニタ５５は，デバイスメーカによって提供される。
【００２７】
図２中，プリンタドライバ４０は，印刷設定に基づいて印刷対象となる画像データから印刷データ４２を生成する生成処理，さらにはその印刷データ４２の印刷ログとなるログデータ４１の生成処理を行う。印刷設定としては，例えば，ウォータマーク，ヘッダー，フッター等の合成，拡大，縮小等の倍率変更，画像回転，２ｉｎ１，４ｉｎ１等のページの集約が該当する。
【００２８】
また，プリンタドライバ４０は，図３に示すような印刷設定値の入力を受け付ける印刷設定画面４０１を表示する。印刷設定画面４０１では，用紙サイズ，用紙種類，印刷品質，印刷向き，印刷ログなどの印刷設定項目と各印刷設定項目に設定される設定値が表示される。印刷設定画面４０１では，印刷ログに関する設定として，保存されるログデータ４１のサイズの設定値を受け付ける。ログデータ４１のサイズの設定値として，小，中，大が含まれる。プリンタドライバ４０は，ログデータ４１として，画像情報を数ドット間隔で記憶する，つまりドット情報の間引き量を調整することでログデータ４１のサイズを変更する。ログデータ４１のサイズを小さくするほど，間引き量を大きくする。ログデータ４１のサイズが大の場合は，間引きを行わない。
【００２９】
グラフィックエンジン５１は，プリンタ２や表示部１６の出力デバイスの制御を行うモジュールである。グラフィックエンジン５１は，アプリケーションプログラム６１からの命令を受け付け，その命令をデバイスドライバ（本形態ではプリンタドライバ４０）に受け渡す。
【００３０】
スプーラ５２は，プリンタドライバ４０によって生成された印刷データ４２を一時的に格納し，印刷データ４２を順次にプリンタ２に出力する機能を有するモジュールである。本明細書において「プリンタドライバ４０が印刷データ４２をプリンタ２に送信する」と記載した場合，それは「プリンタドライバ４０が印刷データ４２をスプーラ５２に格納する」ことを意味し，実際にスプーラ５２によってプリンタ２に印刷データ４２が送信されたことまでは意味しない。
【００３１】
デバイスステータスモニタ５５は，ＰＣ１と通信可能に接続する全てのプリンタ（本形態ではプリンタ２）の状態を定期的に取得するモジュールである。
【００３２】
本形態のプリントシステム１００にて印刷を行う際には，先ず，ＰＣ１に組み込まれているアプリケーションプログラム６１がユーザからの印刷指示を受け付け，印刷開始通知を出力する。そして，ＯＳの一部であるグラフィックエンジン５１がその印刷開始通知を受け付け，アプリケーションプログラム６１から印刷対象の画像データの取得を開始する。
【００３３】
グラフィックエンジン５１は，画像データの取得を開始すると，プリンタドライバ４０に対して描画命令を行う。プリンタドライバ４０は，描画命令を受け付けると，当該描画命令に基づいてビットマップ画像（ＢＭＰ画像）を生成し，さらにそのＢＭＰ画像に基づいてＰＤＬ形式の印刷データ４２を生成する。印刷データ４２の生成の際には，印刷設定に応じて，画像反転等の加工処理を行う。さらに，プリンタドライバ４０は，印刷データ４２の生成に伴って，印刷画像に関するログデータ４１の生成も行う。ログデータ４１のファイル形式は，ユーザが閲覧可能なものであればよく，例えば，ＢＭＰ，ＸＭＬ，ＪＰＥＧが適用可能である。
【００３４】
プリンタドライバ４０は，印刷データ４２の生成後，当該印刷データ４２をスプーラ５２に格納する。印刷データ４２がスプーラ５２に格納されると，スプーラ５２は格納されている印刷データ４２をプリンタ２に送信する。印刷データ４２を受信したプリンタ２は，その印刷データ４２に基づいて印刷を行う。
【００３５】
また，プリンタドライバ４０は，全ページ分の印刷データを送信した後，プリンタ２の状態に応じてログデータ４１を統合し，１つのＰＤＦファイルを生成する。このＰＤＦファイルは，ＨＤＤ１４の指定フォルダに記憶される。
【００３６】
［印刷処理］
続いて，前述した印刷手順を実現するＰＣ１の印刷処理について，４つの形態に分けて図４から図７のフローチャートに基づいて説明する。各フローチャートは，プリンタドライバ４０の手順を示しており，アプリケーションプログラム６１からＯＳを介して印刷指示を受け付けたことを契機に，ＣＰＵ１１によって実行される。
【００３７】
［第１の形態］
始めに，第１の形態の印刷処理について，図４のフローチャートを参照しつつ説明する。第１の形態の印刷処理では，先ず，ＯＳから現在の時刻を取得し，ＲＡＭ１３に記憶する（Ｓ１０１）。
【００３８】
Ｓ１０１の後，グラフィックエンジン５１から１ページ分の描画命令を受け付ける（Ｓ１０２）。そして，受け付けた１ページ分の描画命令を，１ページ分のＢＭＰ画像に変換する（Ｓ１０３）。ここで印刷設定としてウォータマーク，ヘッダー，フッター等の合成，拡大，縮小等の倍率変更，画像回転，２ｉｎ１，４ｉｎ１等のページの集約が指定されていれば，それらに応じて加工したＢＭＰ画像に変換される。なお，ＢＭＰ画像への変換は，プリンタドライバ４０自身が行ってもよいし，グラフィックエンジン５１がＢＭＰ画像の生成機能を有している場合には，グラフィックエンジン５１にＢＭＰ画像の変換する指示を行ってもよい。
【００３９】
Ｓ１０３の後，プリンタ２の状態を取得する（Ｓ１０４）。Ｓ１０４では，プリンタの状態として，少なくとも印刷可能状態か，印刷不能状態かを取得する。本形態の印刷不能状態には，通信不能によってプリンタ２が使用できないオフライン状態のほか，オンライン状態であったとしても故障や着色剤不足等によって印刷不能になっている状態も含まれる。印刷可能状態であれば，さらに印刷実行中であるか待機中であるかの情報を取得してもよい。また，印刷不能状態であれば，エラーの詳細情報を取得してもよい。また，プリンタ２の状態を取得する方法としては，デバイスステータスモニタ５５が起動中であってデバイスステータスモニタ５５が定期的なモニタリングを実行中であれば，デバイスステータスモニタ５５からプリンタ２の状態を取得するとよい。また，デバイスステータスモニタ５５が起動していない，あるいは起動していてもモニタリングを実行していない場合には，プリンタ２に直接状態を問い合わせればよい。また，ポートモニタ等，デバイスステータスモニタ５５以外のモジュールからプリンタ２の状態を取得してもよい。
【００４０】
Ｓ１０４の後，プリンタ２が印刷可能であったか否かを判断する（Ｓ１０５）。印刷不能であった場合には（Ｓ１０５：ＮＯ），現在処理対象のページ番号をＲＡＭ１３に記憶する（Ｓ１１１）。ここで，現在処理対象のページ番号とは，スプーラ５２に送信される前の印刷データのページ番号を意味する。
【００４１】
Ｓ１１１の後，あるいは印刷可能であった場合には（Ｓ１０５：ＹＥＳ），Ｓ１０３で生成されたＢＭＰ画像に基づいて，ログデータ４１を生成してＲＡＭ１３に一時的に記憶する（Ｓ１０６）。具体的にＳ１０６では，Ｓ１０３で生成されたＢＭＰ画像をコピーし，さらにログデータのサイズ設定値（図３参照）に従って，コピーされたＢＭＰ画像に対して間引きを行う。以後，間引き後のＢＭＰ画像を，ログデータ４１と記す。
【００４２】
Ｓ１０６の後，印刷データ４２を生成し，生成した印刷データ４２をプリンタ２に送信する（Ｓ１０７）。具体的にＳ１０７では，Ｓ１０３で生成されたＢＭＰ画像からＰＤＬデータを生成する。なお，プリンタドライバ４０としての印刷データ４２の送信は，スプーラ５２に対して印刷データ４２を格納するまでである。すなわち，Ｓ１０７では，実際にスプーラ５２がプリンタ２への印刷データ４２の送信を完了させたことまでを含めなくてもよい。印刷データの送信完了後，Ｓ１０３で生成されたＢＭＰ画像は消去される。
【００４３】
Ｓ１０７の後，全ページ分の処理が完了したか否かを判断する（Ｓ１０８）。全ページ分の処理が完了していない場合には（Ｓ１０８：ＮＯ），Ｓ１０２に移行して次のページの描画命令を受け付ける。
【００４４】
一方，全ページ分の処理が完了している場合には（Ｓ１０８：ＹＥＳ），ページ番号が記憶されているか否かを判断する（Ｓ１２１）。印刷処理では，印刷不能中にログデータ４１の生成を行ったページのページ番号が記憶される。そこで，ページ番号が記憶されていない場合には（Ｓ１２１：ＮＯ），全てのページが印刷されたと推測されることから，全ページ分のログデータ４１を１つに纏めたＰＤＦ形式のログファイルを生成し，当該ファイルをＨＤＤ１４に保存する（Ｓ１２２）。ログファイルのファイル名には，Ｓ１０１で記憶した時刻を付加し，他の印刷ジョブのログファイルと区別する。
【００４５】
一方，ページ番号が記憶されている場合には（Ｓ１２１：ＹＥＳ），印刷不能中に生成したログデータ４１が存在する。そこで，ページ番号が記憶されているページのログデータ４１を１つに纏めたログファイルと，ページ番号が記憶されていないページのログデータ４１を１つに纏めたログファイルとの，２つのログファイルを生成し，それぞれＨＤＤ１４に保存する（Ｓ１３１，１３２）。ログファイルを分けることで，印刷されたページの印刷ログと印刷されなかったページの印刷ログとを，ユーザが明確に区別できる。なお，ページ番号が記憶されていない側のログファイル，すなわち印刷された側のログファイルについては，ファイル名にＳ１０１で取得した時刻を付加する。一方，ページ番号が記憶されていた側のログファイル，すなわち印刷されていない側のログファイルについては，ファイル名にＳ１０１で取得した時刻に加えて未印刷であったことを意味する符号を付加する。Ｓ１２２の後あるいはＳ１３２の後，印刷処理を終了する。
【００４６】
前述したように，第１の形態では，プリンタ２が印刷不能中であったページ番号を記憶し，印刷不能中に生成されたログデータ４１を，印刷可能中に生成されたログデータ４１と区別してログファイルに保存している。そのため，印刷可能中に生成されたログデータ４１を記憶するログファイルについては，当該ログファイルに記憶されている画像と印刷された画像とが一致する可能性が高い。
【００４７】
なお，第１の形態では，印刷不能中に生成されたログデータ４１もファイルに保存しているが，少なくとも印刷可能中に生成されたログデータ４１を保存すれば，印刷された画像とログデータ４１とを一致させることができる。そのため，印刷不能中に生成されたログデータ４１については，ファイルに保存しなくてもよい。
【００４８】
また，第１の形態では，プリンタ２の状態取得（Ｓ１０４），ログデータ４１の生成（Ｓ１０６），印刷データの生成（Ｓ１０７）の順に，実行しているが，これらの実行順はこれに限るものではない。すなわち，これらの処理は順序不問であり，同時に実行されてもよい。
【００４９】
［第２の形態］
続いて，印刷処理の別の形態について，図５のフローチャートを参照しつつ説明する。第２の形態では，送信先のプリンタ２が印刷不能であった場合，ログデータ４１の代わりに高解像度のＢＭＰ画像を生成する。この点，印刷不能であっても，印刷可能のときと同等のログデータ４１を生成する第１の形態と異なる。なお，以下の説明では，第１の形態と同様の処理については，同じ符号を付して説明を省略する。
【００５０】
第２の形態の印刷処理では，１ページ分の描画命令を，１ページ分のＢＭＰ画像に変換した後（Ｓ１０３），プリンタ２の状態を取得する（Ｓ１０４）。そして，プリンタ２が印刷可能であったか否かを判断する（Ｓ１０５）。プリンタ２が印刷可能であった場合には（Ｓ１０５：ＹＥＳ），Ｓ１０３で生成されたＢＭＰ画像に基づいて，ログデータ４１を生成してＲＡＭ１３に一時的に記憶する（Ｓ１０６）。
【００５１】
一方，プリンタ２が印刷不能であった場合には（Ｓ１０５：ＮＯ），高解像度のＢＭＰ画像を生成し，ＨＤＤ１４に保存する（Ｓ２１１）。具体的にＳ２１１では，Ｓ１０３で生成されたＢＭＰ画像をコピーすることにより，印刷データと同等の解像度となるＢＭＰ画像を生成する。すなわち，Ｓ１０６とは異なり，ＢＭＰ画像について間引きを行わない。
【００５２】
Ｓ２１１の後，あるいはＳ１０６の後，印刷データ４２を生成し，生成した印刷データ４２をプリンタ２に送信する（Ｓ１０７）。その後，全ページ分の処理が完了したか否かを判断する（Ｓ１０８）。全ページ分の処理が完了していない場合には（Ｓ１０８：ＮＯ），Ｓ１０２に移行して次のページの描画命令を受け付ける。
【００５３】
一方，全ページ分の処理が完了している場合には（Ｓ１０８：ＹＥＳ），Ｓ１０６で生成された全てのログデータ４１を１つに纏めたＰＤＦ形式のログファイルを生成し，当該ファイルをＨＤＤ１４に保存する（Ｓ２２２）。第２の形態では，印刷不能中はログデータ４１が生成されないため，ログファイルは印刷可能中に生成されたログデータ４１のみとなる。Ｓ２２２の後は，印刷処理を終了する。
【００５４】
前述したように，第２の形態では，プリンタ２が印刷不能中であれば，ログデータ４１が生成されない。そのため，ログファイルに記憶されるログデータ４１は，印刷可能中に生成されたログデータとなる。そのため，ログファイルに記憶されている画像と印刷された画像とが一致する可能性が高い。また，印刷不能中は，印刷データに相当する高解像度のＢＭＰ画像が保存される。そのため，プリンタ２が印刷可能に復帰した後に，そのＢＭＰ画像をそのまま利用して印刷することで，印刷不能であったために印刷できなかった画像を簡単に印刷できる。
【００５５】
［第３の形態］
続いて，印刷処理のさらなる別の形態について，図６のフローチャートを参照しつつ説明する。第３の形態では，全ページの処理が完了する前に，プリンタ２の状態が印刷可能から印刷不能に変化したことを条件として，それまで記憶していたログデータ４１からログファイルを生成する。この点，ログファイルの生成を，全ページの処理が完了した後に行う第１の形態ないし第２の形態と異なる。なお，以下の説明では，第１の形態ないし第２の形態と同様の処理については，同じ符号を付して説明を省略する。
【００５６】
第３の形態の印刷処理では，１ページ分の描画命令を，１ページ分のＢＭＰ画像に変換した後（Ｓ１０３），プリンタ２の状態を取得する（Ｓ１０４）。そして，プリンタ２が印刷可能であったか否かを判断する（Ｓ１０５）。
【００５７】
プリンタ２が印刷可能であった場合には（Ｓ１０５：ＹＥＳ），前回の状態が印刷不能であったか否かを判断する（Ｓ３０５）。前回の状態が印刷不能であった場合には（Ｓ３０５：ＹＥＳ），プリンタ２の状態が印刷不能から印刷可能に変化した，すなわちプリンタ２が実行可能状態に復帰したと判断できる。そこで，現時刻をＲＡＭ１３に記憶する（Ｓ３０６）。これにより，Ｓ１０１で記憶された時刻がＳ３０７で取得した時刻に上書きされる。Ｓ３０６の後はＳ１０６に移行し，ログデータ４１を生成する。一方，前回の状態も印刷可能であった場合には（Ｓ３０５：ＮＯ），プリンタ２の状態が変化していないと判断でき，時刻を記憶することなく，Ｓ１０６に移行する。
【００５８】
また，プリンタ２が印刷不能であった場合には（Ｓ１０５：ＮＯ），前回の状態が印刷可能であったか否かを判断する（Ｓ３１１）。前回の状態が印刷可能であった場合には（Ｓ３１１：ＹＥＳ），プリンタ２の状態が印刷可能から印刷不能に変化した，すなわちプリンタ２に異常が発生したと判断できる。そこで，現在記憶している時刻を読み出す（Ｓ３１２）。この時刻は，印刷処理を開始してから初めての異常であればＳ１０１で記憶した時刻が読み出され，２回目以降であればＳ３０６で記憶した時刻，すなわち復帰時刻が読み出される。
【００５９】
Ｓ３１１の後，現在までにＲＡＭ１３に記憶されているログデータ４１を１つに纏めたＰＤＦ形式のログファイルを生成し，当該ファイルをＨＤＤ１４に保存する（Ｓ３１３）。すなわち，印刷不能となる前までのページのログデータ４１を１つに纏めたログファイルを生成して保存する。Ｓ３１３の後は，現在までにＲＡＭ１３に記憶されているログデータ４１を削除する（Ｓ３１４）。一方，前回の状態も印刷不能であった場合には（Ｓ３１１：ＮＯ），プリンタ２の状態が変化していないと判断でき，ログファイルを生成しない。
【００６０】
Ｓ３０６の後，あるいはＳ３１４の後，あるいは前回の状態と変化がない場合には（Ｓ３０５：ＮＯ，Ｓ３１１：ＮＯ），ログデータを生成する（Ｓ１０６）。さらに，印刷データ４２を生成し，生成した印刷データ４２をプリンタ２に送信する（Ｓ１０７）。その後，全ページ分の処理が完了したか否かを判断する（Ｓ１０８）。全ページ分の処理が完了していない場合には（Ｓ１０８：ＮＯ），Ｓ１０２に移行して次のページの描画命令を受け付ける。
【００６１】
一方，全ページ分の処理が完了している場合には（Ｓ１０８：ＹＥＳ），プリンタ２が印刷可能な状態で全ページ分の処理が完了したか否かを判断する（Ｓ３２１）。プリンタ２が印刷可能であった場合には（Ｓ３２１：ＹＥＳ），現在までにＲＡＭ１３に記憶されている全てのログデータ４１を１つに纏めたＰＤＦ形式のログファイルを生成し，当該ファイルをＨＤＤ１４に保存する（Ｓ２２２）。ログファイルに記憶されるログデータ４１は，印刷処理の途中で印刷可能から印刷不能に変化していない場合には最初から最後までのページ分であり，途中で印刷可能から印刷不能に変化し，さらに印刷可能に復帰した場合には，復帰してから印刷されたページ分である。そして，前者の場合にはＳ１０１で記憶した時刻がログファイルのファイル名に付加され，後者の場合にはＳ３０６で記憶した復帰時刻がログファイルのファイル名に付加される。Ｓ２２２の後は，印刷処理を終了する。
【００６２】
プリンタ２が印刷不能の場合には（Ｓ３２１：ＮＯ），ログファイルを生成することなく，印刷処理を終了する。なお，印刷処理の開始時は印刷可能であり，印刷処理途中で印刷不能になった場合には，印刷可能から印刷不能に変化したタイミングでＳ３１３にてログファイルが生成される。そのため，それまでに印刷された分のログデータはそのログファイルに記憶されている。
【００６３】
前述したように，第３の形態でも，プリンタ２が印刷不能のまま印刷処理が完了すれば，印刷不能となった以降のログデータ４１はログファイルに記憶されない。すなわち，ログファイルに記憶されるログデータ４１は印刷されたページのログデータとなる。そのため，ログファイルに記憶されている画像と印刷された画像とが一致する可能性が高い。また，印刷不能のまま印刷処理が終了した場合であっても，途中まで印刷可能であった場合には，その印刷可能であった分のログデータを記憶するログファイルが生成される。さらに印刷可能に復帰した場合には，その復帰後のログデータを格納するログファイルも，別に生成される。このようにログファイルを分けることで復帰前のログデータと復帰後のログデータとを区別でき，印刷ログの使い勝手が良い。なお，復帰後のログデータを復帰前のログデータに追加して１つのファイルにしてもよい。
【００６４】
［第４の形態］
続いて，印刷処理のさらなる別の形態について，図７のフローチャートを参照しつつ説明する。第４の形態では，１ページ分のデータを複数に分割し，分割したデータの単位でログデータ４１および印刷データ４２を生成する。この点，ログデータ４１および印刷データ４２の生成をページ単位で行う第１から第３の形態と異なる。なお，以下の説明では，第１から第３の形態と同様の処理については，同じ符号を付して説明を省略する。
【００６５】
第４の形態の印刷処理では，現時刻を取得した後（Ｓ１０１），グラフィックエンジン５１に対して，１ページ分のデータを複数に分割する分割命令を入力する（Ｓ４０１）。具体的に本形態では，１ページ分のデータを前半部分と後半部分とに２分割する分割命令を入力する。以下，１ページ分のデータを複数に分割した１単位をバンドとし，バンド単位に分割されたデータをバンドデータとする。本形態では，前半部分のデータや後半部分のデータが１バンド分のバンドデータに該当する。これにより，プリンタドライバ４０は，グラフィックエンジン５１からバンド単位で描画命令を受け取ることになる。なお，プリンタドライバ４０がデータの分割機能を有している場合には，プリンタドライバ４０自身がデータ分割を行ってもよい。
【００６６】
Ｓ４０１の後，グラフィックエンジン５１から１バンド分の描画命令を受け付ける（Ｓ１０２）。本形態では，１ページ分の処理を開始する場合には前半部分のバンドデータに関する描画命令を受け付け，前半部分の処理が完了している場合には後半部分のバンドデータに関する描画命令を受け付けることになる。そして，受け付けた１バンド分の描画命令を，１バンド分のＢＭＰ画像に変換する（Ｓ１０３）。
【００６７】
Ｓ１０３の後，プリンタ２の状態を取得する（Ｓ１０４）。そして，プリンタ２が印刷可能であったか否かを判断する（Ｓ１０５）。印刷不能であった場合には（Ｓ１０５：ＮＯ），ページ番号に加え，ページの前半か後半のバンドの部位を記憶する（Ｓ４１１）。ここで，記憶されるのは，スプーラ５２に送信される前の印刷データのページ番号やバンドの部位である。その後，Ｓ１０３で生成されたＢＭＰ画像に基づいて，ログデータ４１を生成してＲＡＭ１３に一時的に記憶する（Ｓ１０６）。さらに，印刷データ４２を生成し，生成した印刷データ４２をプリンタ２に送信する（Ｓ１０７）。
【００６８】
Ｓ１０７の後，１ページ分の処理が完了したか否かを判断する（Ｓ４０７）。本形態では，１ページ分のデータが２分割されるため，前半部分の印刷データ４２を生成した後では１ページ分の処理が完了しておらず，後半部分の印刷データ４２を生成した後では１ページ分の処理は完了していることになる。１ページ分の処理が完了していない場合には（Ｓ４０７：ＮＯ），Ｓ１０２に移行し，次のバンドである後半部分の描画命令を受け付ける。
【００６９】
１ページ分の処理が完了している場合には（Ｓ４０７：ＹＥＳ），全ページ分の処理が完了したか否かを判断する（Ｓ１０８）。全ページ分の処理が完了していない場合には（Ｓ１０８：ＮＯ），Ｓ４０１に移行して次のページに対する分割命令を入力し，次のページの描画命令を受け付ける。全ページ分の処理が完了している場合（Ｓ１０８：ＹＥＳ），それ以降の処理は第１の形態と同様であり説明を省略する。ただしバンド単位で処理を行うため，ログファイルにはバンド単位でのログデータが格納される。
【００７０】
前述したように，第４の形態では，１ページ分のデータを複数に分割したバンド単位でログデータ４１を生成している。このような形態であっても，第１の形態と同様に印刷可能中に生成されたログデータ４１と印刷不能中に生成されたログデータ４１とを区別したログファイルが生成される。そして，印刷可能中に生成されたログデータ４１を記憶するログファイルについては，当該ログファイルに記憶されている画像と印刷された画像とが一致する可能性が高い。
【００７１】
なお，第４の形態では，１ページ分のデータを前半部分と後半部分とに２分割しているが，分割数は２よりも大きくてもよい。送信先のプリンタ２のメモリ容量が小さいほど，分割数が多い方が好ましい。一方で，分割数が多いほど制御が複雑になり，処理に時間がかかるため，処理速度を優先するには分割数が少ない方が好ましい。また，第４の形態は，第１の形態にバンド単位の処理を加えたものであるが，第２の形態や第３の形態にバンド単位の処理を加えてもよい。
【００７２】
以上詳細に説明したように本形態のＰＣ１では，プリンタ２に対する印刷ジョブを受け付けた際，１ページ分あるいは１ページ分よりも少ない１バンド分の印刷データ４２を生成するに際し，プリンタ２の状態情報を取得する。そして，少なくとも印刷可能中に生成されたログデータ４１を記憶するログファイルをＨＤＤ１４に記憶させる。一方，印刷不能中に生成されたログデータ４１については，別ファイルに記憶するか，ログデータ４１をログファイルに記憶しない。よって，シートに印刷された画像とログファイルに記憶されているログデータ４１の画像とが一致する可能性が高まる。
【００７３】
なお，本実施の形態は単なる例示にすぎず，本発明を何ら限定するものではない。したがって本発明は当然に，その要旨を逸脱しない範囲内で種々の改良，変形が可能である。例えば，印刷装置としてはプリンタに限るものではなく，コピー機，ＦＡＸ，あるいは印刷機能を有する複合機等であってもよい。また，情報処理装置としてはＰＣに限るものではなく，ワークステーション，スマートフォン，ＰＤＡ等であってもよい。
【００７４】
また，実施の形態では，ログデータ４１を自装置のＨＤＤ１４に記憶しているが，これに限るものではない。例えば，ログデータ４１をネットワークインターフェース１８を介して接続するサーバ等の外部ストレージに記憶してもよい。
【００７５】
また，実施の形態では，印刷データ４２の送信後に，ログデータ４１を纏めるログファイルを生成しているが，始めにログファイルの生成を行い，ログデータ４１を生成する度に，そのログデータ４１をログファイルに追加するようにしてもよい。ただし，ログデータ４１の追加に時間がかかると印刷データの送信が遅延し，その結果として間欠的な印刷になる可能性が高まる。間欠的な印刷は，印刷と停止とが繰り返されるため，ユーザにとって耳触りとなる。また，定着器の温度が印刷停止によって下がってしまい，無駄な放熱が行われる。そのため，全ページ分の印刷データの送信が完了した後にログファイルの生成を行うことで，上述の間欠印刷の抑制が期待できる。
【００７６】
また，実施の形態では，複数のログデータ４１を１つに纏めたログファイルを生成しているが，ログファイルを生成しなくてもよい。すなわち，ログデータ４１をそのまま保存してもよい。
【００７７】
また，実施の形態に開示されている処理は，単一のＣＰＵ，複数のＣＰＵ，ＡＳＩＣなどのハードウェア，またはそれらの組み合わせで実行されてもよい。また，実施の形態に開示されている処理は，その処理を実行するためのプログラムを記録した記録媒体，または方法等の種々の態様で実現することができる。
【符号の説明】
【００７８】
１      ＰＣ
２      プリンタ
４０    プリンタドライバ
４１    ログデータ
４２    印刷データ
５２    スプーラ
５５    デバイスステータスモニタ
６１    アプリケーションプログラム
１００  プリントシステム
【図１】
2014191634.tif 000003
【図２】
2014191634.tif 000004
【図３】
2014191634.tif 000005
【図４】
2014191634.tif 000006
【図５】
2014191634.tif 000007
【図６】
2014191634.tif 000008
【図７】
2014191634.tif 000009