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