(57)【要約】【課題】１ページ分の印刷対象が印刷可能範囲をはみ出すか否かを印刷前に特定することができなかった。【解決手段】ページ毎の印刷対象を示す印刷ジョブデータを取得し、前記ページ毎の印刷対象に印刷設定を適用してページ毎のラスタライズ画像を生成し、前記ページ毎の前記ラスタライズ画像が１ページ分の印刷可能範囲よりも大きい画像であるか否かを判定する。【選択図】図５
2010097378.tif 000002
【特許請求の範囲】
【請求項１】
ページ毎の印刷対象を示す印刷ジョブデータを取得する印刷ジョブデータ取得機能と、
前記ページ毎の印刷対象に印刷設定を適用してページ毎のラスタライズ画像を生成するフィルタ処理機能と、
前記ページ毎の前記ラスタライズ画像が１ページ分の印刷可能範囲よりも大きい画像であるか否かを判定する画像判定機能と、
をコンピュータに実現させる画像処理プログラム。
【請求項２】
前記印刷ジョブデータは、長さによって前記印刷可能範囲を定義したデータであり、
前記画像判定機能は、前記ページ毎の前記ラスタライズ画像がピクセル数によって定義された１ページ分の前記印刷可能範囲よりも大きい画像であるか否かを判定する、
請求項１に記載の画像処理プログラム。
【請求項３】
前記フィルタ処理機能は、前記ページ毎の印刷対象を縮小させる縮小設定を適用する縮小フィルタを含み、前記ページ毎の前記ラスタライズ画像が１ページ分の印刷可能範囲よりも大きい画像であると判定されたときに、前記ページ毎の印刷対象に対して前記縮小フィルタによる前記縮小設定を適用するとともに前記印刷設定を適用して前記ページ毎のラスタライズ画像を再生成することによって、１ページ分の印刷可能範囲に含まれる前記ページ毎のラスタライズ画像を取得する、
請求項１または請求項２のいずれかに記載の画像処理プログラム。
【請求項４】
前記フィルタ処理機能は、前記印刷可能範囲の境界に垂直な方向において前記境界の外側に前記ラスタライズ画像が存在するとき、前記境界に垂直な方向に並ぶラスタライズ画像のピクセル数と前記境界に垂直な方向に並ぶ前記印刷可能範囲のピクセル数とに基づいて前記ラスタライズ画像の縮小率を取得し、当該縮小率にて前記縮小フィルタを適用する、
請求項３に記載の画像処理プログラム。
【請求項５】
前記画像判定機能は、前記印刷対象に対して前記印刷設定を適用していない状態の画像および印刷設定が設定済であることを示すアイコンが所定の表示部に表示された状態において前記判定を行う、
請求項１〜請求項４のいずれかに記載の画像処理プログラム。
【請求項６】
請求項３または請求項４のいずれかに記載の画像処理プログラムを含み、
前記縮小フィルタによって縮小されたラスタライズ画像を印刷するための印刷データを生成し、当該印刷データに基づいて印刷装置を制御する印刷制御機能を、
コンピュータに実現させる印刷制御プログラム。
【請求項７】
ページ毎の印刷対象を示す印刷ジョブデータを取得する印刷ジョブデータ取得手段と、
前記ページ毎の印刷対象に印刷設定を適用してページ毎のラスタライズ画像を生成するフィルタ処理手段と、
前記ページ毎の前記ラスタライズ画像が１ページ分の印刷可能範囲よりも大きい画像であるか否かを判定する画像判定手段と、
を備える画像処理装置。
【請求項８】
ページ毎の印刷対象を示す印刷ジョブデータを取得する印刷ジョブデータ取得工程と、
前記ページ毎の印刷対象に印刷設定を適用してページ毎のラスタライズ画像を生成するフィルタ処理工程と、
前記ページ毎の前記ラスタライズ画像が１ページ分の印刷可能範囲よりも大きい画像であるか否かを判定する画像判定工程と、
を含む画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はページ毎の印刷対象を印刷する際にはみ出しが生じるか否かを判定するための技術に関する。
【背景技術】
【０００２】
文書や画像等の印刷対象をコンピュータにて扱う際には、ページ単位で印刷対象を扱うことが多く、印刷対象を印刷する際にはページを指定して印刷するなどの操作が行われる。また、印刷対象を印刷する際にはプリンタの機能を利用するための各種の印刷設定を行うことが可能である。各種の印刷設定はアプリケーションプログラムやプリンタドライバによって設定内容を特定できるように構成されることが多く、近年は、印刷設定を適用していない状態の印刷対象を示す情報と印刷設定を示す情報（プリントチケット）とによって印刷ジョブデータを構成することも行われている（例えば、特許文献１参照）。
【特許文献１】特開２００８−３３８１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上述の従来技術においては、１ページ分の印刷対象が印刷可能範囲をはみ出すか否かを印刷前に特定することができなかった。
すなわち、印刷対象の内容と印刷設定の内容を別個のデータで扱う場合、印刷対象の内容を示す情報は上述のように印刷対象に対して印刷設定を適用していない状態を示す情報となる。従って、印刷設定適用後の正確な状態は印刷設定を適用する処理を実行するまで明らかにならない。このため、印刷設定適用前に１ページ内に収まることが想定されていた印刷対象であっても、印刷設定適用後にはその印刷対象を示す画像が１ページ分の印刷可能範囲から僅かにはみ出してしまうなど、１ページ内に収まらない場合が発生し得る。
本発明は、上記課題にかんがみてなされたもので、１ページ分の印刷対象が印刷可能範囲をはみ出すか否かを印刷前に特定することを目的とする。
【課題を解決するための手段】
【０００４】
上記目的を達成するため、ページ毎の印刷対象に印刷設定を適用してページ毎のラスタライズ画像を生成し、ページ毎のラスタライズ画像が１ページ分の印刷可能範囲よりも大きい画像であるか否かを判定する。すなわち、印刷ジョブデータが示す印刷対象に対して印刷設定を適用することによってページ毎のラスタライズ画像を生成した上で、印刷対象が１ページ分の印刷可能範囲をはみ出すか否かを判定する。また、印刷ジョブデータに基づく印刷は、印刷対象に対して印刷設定を適用してラスタライズ画像を生成した後に当該ラスタライズ画像を示す印刷データをプリント部に転送することによって実施される。従って、ラスタライズ画像を生成した時点で当該ラスタライズ画像に基づいてはみ出しが生じているか否かを判別することにより、印刷前にはみ出しが生じているか否かを特定することが可能になる。
【０００５】
ここで、印刷ジョブデータ取得機能は、ページ毎の印刷対象を示す印刷ジョブデータを取得することができれば良い。従って、印刷ジョブデータは、少なくとも１以上のページのそれぞれに対して印刷すべき内容として文書や画像等を特定したデータであればよい。また、印刷ジョブデータにおいては印刷対象がページ毎に特定されればよく、印刷対象がページ以外の指標によって分類されていても良い。例えば、印刷ジョブがジョブ、ドキュメント、ページの各階層によって構成されていてもよい。なお、本発明における印刷ジョブデータは、印刷設定を適用していない状態の印刷対象を示す情報と印刷設定を示す情報（プリントチケット）とによって構成されることが好ましい。
【０００６】
フィルタ処理機能は、印刷対象に適用可能な印刷設定を印刷対象に適用するための処理を行い、この過程でページ毎のラスタライズ画像を生成することができればよい。このための構成としては、例えば、印刷設定の設定内容を指定して各印刷設定のそれぞれに対応した処理を行うフィルタを備える構成が挙げられる。なお、ラスタライズ画像の生成に際してはラスタライズ処理とともに印刷設定が適用される構成であっても良い（例えば、ラスタライズ処理時に色変換を行う構成において明度をシフトする処理を行うなど）。
【０００７】
印刷設定は、印刷対象に適用可能な処理に対応した設定であれば良く、例えば、スタンプマークの重畳機能や拡大縮小機能、Ｎｕｐ機能（一枚の媒体の一面にＮページ分を印刷する機能：Ｎは２以上の整数）など印刷設定の種類を示す情報と、スタンプの種類、拡大縮小率、ＮｕｐのＮ値など印刷設定の設定内容を示す情報とによって構成される。また、印刷設定は、印刷ジョブを投入する前に予め決められて印刷ジョブデータ当該印刷設定を示す情報が含まれるように構成してもよいし、印刷ジョブを投入した後に印刷設定の変更を受け付けて印刷ジョブデータに当該変更された印刷設定を示す情報が含まれるように構成してもよい。
【０００８】
このように、印刷設定としては、各種の設定を想定可能であるが、印刷設定を印刷対象に対して適用する過程でラスタライズ処理を行う構成において、印刷設定の適用処理は不可逆である。例えば、印刷設定を拡大した後にラスタライズ画像を生成し、その後、縮小しても、一般には拡大をすることなくラスタライズ画像を生成した場合の画像と完全には一致しない。そこで、はみ出しが生じていると判定されたときに印刷設定を再度最初から行えるようにするため、印刷ジョブデータを所定の記憶媒体に記憶させて保持することが好ましい。すなわち、フィルタ処理が不可逆であったとしても、印刷設定適用前の印刷対象を示す印刷ジョブデータが保持されていれば、当該印刷ジョブデータを参照することによって何度でも印刷設定の適用をやり直すことが可能である。
【０００９】
さらに、ラスタライズ画像の生成を含む各種の印刷設定を適用するための処理は、はみ出しを生じさせる原因となる。従って、これらの原因が生じる以前の状態である印刷設定の適用前に印刷対象を解析しても正確にはみ出しの有無を判定することは困難である。例えば、任意の印刷対象について拡大縮小を行う印刷設定を適用して印刷対象が１ページ内に収まる状態で印刷を行う場合、拡大縮小前の印刷対象の大きさや拡大率、縮小率が任意であるため、印刷設定を適用してラスタライズしなければはみ出しが生じているか否かを判定することが困難である。
【００１０】
他にも、スタンプマークを重畳する印刷設定を適用する際にはスタンプマークの大きさと位置によってはみ出しが生じ得るし、Ｎｕｐの印刷設定を適用する際には一枚の印刷媒体に１ページ分の印刷対象を印刷する場合と２ページ以上の印刷対象を印刷する場合とで印刷可能範囲が異なり得ることに起因してはみ出しが生じ得る。また、以上のようなはみ出しは、印刷可能範囲の定義が印刷設定の適用前後で異なる場合に生じやすい。例えば、印刷設定適用前の印刷対象を示す印刷ジョブデータにおいては印刷可能範囲を長さによって規定し、印刷設定適用後のラスタライズ画像については印刷可能範囲をピクセルによって規定している場合には、印刷設定適用後のラスタ数を正確に予測することが困難である。従って、本発明は、印刷可能範囲の定義が印刷設定の適用前後で異なる場合に適用することが好ましい。
【００１１】
画像判定機能は、ページ毎のラスタライズ画像が１ページ分の印刷可能範囲よりも大きい画像であるか否かを判定することができればよい。すなわち、プリンタで利用可能な印刷媒体毎に予め決められた印刷可能範囲の大きさとラスタライズ画像の大きさとを比較することによって、１ページ分の印刷対象を印刷したときに当該印刷対象が印刷可能範囲からはみ出しているか否かを判定することができればよい。なお、はみ出しが生じていると判定されたときには、当該はみ出しを解消するための処理を行うことが好ましい。例えば、はみ出しが生じることを利用者に通知する構成として利用者自身にはみ出しの解消を促しても良いし、はみ出しが解消するように印刷対象を縮小しても良い。
【００１２】
さらに、はみ出しの有無を判定した後にはみ出しを解消するようにフィードバックしても良い。例えば、フィルタ処理機能に印刷対象を縮小させるための処理を行う縮小フィルタが含まれる構成とする。すなわち、ページ毎のラスタライズ画像が１ページ分の印刷可能範囲よりも大きい画像であると判定されたときに、フィルタ処理機能によって印刷設定を再適用する処理を行ってラスタライズ画像を再生成する構成とする。そして、当該再適用処理の過程において縮小フィルタによって縮小を行って、印刷設定再適用後のラスタライズ画像が印刷可能範囲に含まれるように印刷設定を適用する構成とする。この構成によれば、画像判定機能における判定に基づいてはみ出しが発生することを防止することが可能である。
【００１３】
なお、縮小フィルタにおいてはラスタライズ画像に基づいて縮小処理を行うのではなく、印刷ジョブデータに基づいて縮小処理を行うことが好ましい。すなわち、印刷ジョブデータはラスタライズ前の印刷対象を示すデータであり、典型的には印刷対象をＸＭＬデータ等のテキストで記述したデータである。従って、印刷対象を拡大縮小するための処理をテキストの編集によって実行することが可能である。一方、各種の補間処理を利用すればラスタライズ画像に基づいて拡大縮小処理を行うことが可能であるが、当該ラスタライズ画像に基づく拡大縮小処理は上述のようなテキストの編集と比較して極めて負荷の大きい処理である。従って、縮小フィルタによって縮小処理を行う構成とすることにより、極めて少ないリソースによってはみ出しを防止するための処理を行うことが可能である。
【００１４】
さらに、縮小フィルタによって縮小処理を行う際の具体的な構成例として、ラスタライズ画像と印刷可能範囲の大きさに基づいて縮小率を決定する構成を採用しても良い。例えば、印刷可能範囲の境界線と、ラスタライズ画像において各画素が並ぶ方向とが平行である場合、印刷可能範囲の境界に垂直な方向に並ぶラスタライズ画像のピクセル数Ｐ1（例えば、縦方向あるいは横方向に並ぶピクセル数）と、印刷可能範囲の境界に垂直な方向に並ぶ刷可能範囲のピクセル数Ｐ2（縦方向あるいは横方向に並ぶピクセル数）を取得する。そして、両ピクセル数に基づいて縮小率（Ｐ2／Ｐ1）を取得し、再度、印刷設定適用前の印刷対象に対して当該縮小率にて縮小設定を適用するとともに印刷設定を適用してラスタライズ画像を再生成する。この構成によれば、容易にはみ出しを防止するための印刷設定を決定することが可能である。
【００１５】
さらに、本発明を適用するための好ましい態様として、印刷前に印刷対象を視認させるＵＩにおいて、総ての印刷対象についてはみ出しが生じているか否かを一覧できない状態となっている場合が挙げられる。例えば、印刷対象に対して印刷設定を適用していない状態の画像および印刷設定が設定済であることを示すアイコン（プリントチケットの存在を示すアイコン）を所定の表示部に表示された状態が挙げられる。この場合、利用者は画像とアイコンとによって印刷設定を適用した後のイメージを認識することができない。そこで、この状態において本発明を適用すれば、表示部の表示に関わらずはみ出しが生じているか否かを判定することが可能である。なお、一部の印刷対象について印刷設定を適用した後のイメージを表示する場合であっても印刷設定適用後のイメージが全ページについて一覧できない状態であれば、本発明を適用し、自動ではみ出しの有無を判定することが好ましい。
【００１６】
さらに、本発明のように、印刷設定を適用して生成したページ毎のラスタライズ画像と印刷可能範囲とを比較して印刷時に印刷対象がはみ出すか否かを判定する手法は、装置や方法としても適用可能である。また、以上のようなプログラム、装置、方法は、単独の印刷装置として実現される場合もあれば、複数の装置を組み合わせることによって実現される場合もあり、各種の態様を含むものである。例えば、コンピュータと印刷装置が協働することによって本発明にかかるプログラム、装置、方法を提供することが可能である。また、一部がソフトウェアであり一部がハードウェアであったりするなど、適宜、変更可能である。さらに、印刷装置を制御するプログラムの記録媒体としても発明は成立する。むろん、そのソフトウェアの記録媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。
【発明を実施するための最良の形態】
【００１７】
ここでは、下記の順序に従って本発明の実施の形態について説明する。
（１）印刷制御装置の構成：
（２）印刷制御処理：
（３）他の実施形態：
【００１８】
（１）印刷制御装置の構成：
図１は、本発明にかかる印刷制御装置１０の構成を示すブロック図である。印刷制御装置１０は、ＲＡＭ，ＲＯＭ，ＣＰＵ等を備える制御部２０と記憶媒体３０とを備えており、制御部２０はＲＯＭや記憶媒体３０に記録されたプログラムを実行することができる。本実施形態においては、このプログラムの一つとしてのＸＰＳプリンタドライバ２１やアプリケーションプログラム等を実行可能であり、当該ＸＰＳプリンタドライバ２１は各種の機能を実行するためのプログラムモジュールから構成され、その機能としてはみ出しが生じているか否かを判定し、はみ出しを防止するための処理を行う機能および印刷対象に対して印刷設定を適用して印刷する機能を備えている。
【００１９】
また、印刷制御装置１０は、図示しないインタフェースを備えており、印刷制御装置１０には当該インタフェースを介して入力部５０と表示部５１とプリンタ５２とが接続される。入力部５０はユーザの入力内容に対応した信号を出力するマウスやキーボード等の装置であり、制御部２０は当該信号に基づいてユーザの入力内容を特定する。表示部５１は制御部２０が出力する信号に応じて任意の画像を表示するディスプレイ等の装置である。プリンタ５２は制御部２０が出力する印刷データに基づいて印刷データが示す画像を印刷する印刷装置であり、本実施形態においては制御部２０が出力するレンダリング後の印刷データに基づいて印刷を実行する。
【００２０】
アプリケーションプログラム２４は、入力部５０による操作内容を受け付けてページ毎の文章や画像等を作成する機能を制御部２０に実現させるモジュールである。ＸＰＳプリンタドライバ２１は、ページ毎の印刷対象を示す印刷ジョブデータに基づいて各印刷設定を受け付ける処理、印刷設定の適用処理を行う機能を制御部２０に実現させるモジュールである。すなわち、アプリケーションプログラム２４の処理に基づいて利用者が印刷実行指示（印刷ジョブの投入）を行うと、制御部２０は当該印刷実行指示にかかる印刷対象をページ毎に示す印刷ジョブデータを処理対象としてＸＰＳプリンタドライバ２１による処理を開始する。
【００２１】
ＸＰＳプリンタドライバ２１は、印刷設定を適用してラスタライズ画像を生成してはみ出しが生じているか否かを判定し、はみ出しの有無を判定した後に印刷設定を適用して印刷を行わせるためのプログラムモジュールとして画像処理プログラム２２とフィルタ１〜フィルタｎとを備えている。フィルタ１〜フィルタｎ（ｎは２以上の整数）はＸＰＳ仕様の印刷ジョブデータで記述された印刷対象について複数の印刷設定のそれぞれを適用するための処理を行うフィルタであり、これらのフィルタ１〜フィルタｎはＸＰＳ仕様の印刷ジョブデータを扱うために通常のＸＰＳプリンタドライバが備えるフィルタである。従って、フィルタ１〜フィルタｎにおいては、その処理順序が予め決められ、かつ、処理順序を変更することはできない構成となっており、最後に実行するフィルタｎはレンダリングを行うためのフィルタである。すなわち、フィルタｎにおいては、フィルタｎより前のフィルタによって処理されたＸＭＬベースのデータをラスタライズ画像に変換する処理や、色変換処理、ハーフトーン処理、並べ替え処理を行って、プリンタ５２が印刷を実行可能な印刷データを生成する。なお、フィルタｎによると、色変換処理の前後でＲＧＢデータがＣＭＹＫデータに変換されるが、むろん、表示部５１における表示を行うためにはＲＧＢデータやＣＭＹＫデータをＲＧＢデータに再変換したデータを使用し、印刷にはＣＭＹＫデータに基づいて生成された印刷データを使用すればよい。
【００２２】
フィルタ１〜フィルタ（ｎ−１）は、ＸＭＬベースのデータを変更することによって印刷設定の変更を適用する。すなわち、本実施形態における印刷設定は、スタンプマークの重畳機能や拡大縮小機能、Ｎｕｐ機能など印刷設定の種類を示す情報と、スタンプの種類、拡大縮小率、ＮｕｐのＮ値など印刷設定の設定内容を示す情報とによって特定され、印刷設定の種類と設定内容はＸＭＬベースのデータで記述されている。そこで、フィルタ１〜フィルタ（ｎ−１）は、各フィルタに対応した印刷設定の種類と設定内容とを記述したデータを編集することによって印刷設定の変更を適用する。
【００２３】
なお、本実施形態はＸＰＳ仕様の印刷ジョブデータを扱うため、印刷ジョブはジョブ、ドキュメント、ページの各階層からなる階層構造を形成している。すなわち、１つの印刷ジョブは１以上のドキュメントで構成され、１つのドキュメントは１以上のページで構成されている。印刷対象は、ジョブおよびドキュメントを構成するページの中から任意に選択可能である。また、ＸＰＳ仕様の印刷ジョブデータは、適用すべき印刷設定をジョブやドキュメント、ページに対応づけた情報（プリントチケット）を含めた状態とすることが可能である。
【００２４】
さらに、ＸＰＳ仕様の印刷ジョブデータにおいては、印刷媒体の大きさを長さの単位（例えば、ｍｍやインチ）で指定しており、印刷可能範囲も長さの単位によって予め規定されている。また、スタンプマークの位置などの印刷設定も当該長さの単位で規定される。しかし、プリンタ５２において実際に印刷可能な範囲はピクセル数で規定される。従って、印刷ジョブデータおよび印刷設定の内容に基づいて、印刷設定を適用した結果はみ出しが生じているか否かの厳密な判断を行うことは困難である。
【００２５】
例えば、拡大縮小やスタンプマーク重畳の印刷設定を適用する場合、印刷設定を適用してラスタライズしなければはみ出しが生じているか否かを判定することが困難である。また、Ｎｕｐの印刷設定については、１ｕｐと２ｕｐ以上とで印刷可能範囲が異なり得ることに起因してはみ出しが生じ得る。また、アプリケーションプログラムにおいて印刷可能範囲が小数点以下の数値を含まない桁の範囲で規定されているが、ＸＰＳ仕様では小数点以下数桁まで印刷可能範囲が規定されていることや、アプリケーションプログラムの種類によって印刷可能範囲が異なること等に起因してラスタライズ前後の印刷可能範囲に誤差が生じ得る。図５は、スタンプマークを利用する印刷設定を行う場合にはみ出しが生じる例を示している。
【００２６】
すなわち、図５の上部においては、あるページＰSに対して秘密であることを示すスタンプマークＳを重畳する印刷設定を行う例を示している。この場合、スタンプマークＳの位置や拡大縮小率は任意であるため、スタンプマークＳの位置や拡大縮小率によっては重畳後のラスタライズ画像が１ページに収まりきらず、図５の下部に示すように元は１ページであったページＰSがページＰS1，ＰS2のように２ページ分となってしまうことがある。なお、印刷設定を設定する際に印刷可能範囲を提示しながら設定を行わせるＵＩを構成することも想定し得るが、ＸＰＳ仕様においては印刷可能範囲を長さの単位で定義しており、ラスタライズを行わないと、ピクセル単位で正確に印刷可能範囲を評価できない。また、小数点以下数桁にわたって詳細に印刷可能範囲を管理しなければ、誤差によって図５の下部に示すようなはみ出しが生じ得る。
【００２７】
そこで、本実施形態においては、フィルタ１〜フィルタｎを利用して生成したラスタライズ後の画像に基づいてはみ出しの有無を判定する構成としており、画像処理プログラム２２は、この処理を行うために印刷ジョブデータ取得部２２ａと印刷設定取得部２２ｂとフィルタ処理部２２ｃと表示制御部２２ｄと画像判定部２２ｅとを備えている。制御部２０は、印刷ジョブデータ取得部２２ａの処理により、印刷対象を示す印刷ジョブデータを記憶媒体３０に記憶させる（印刷ジョブデータ３１）。
【００２８】
さらに、制御部２０は、印刷設定取得部２２ｂの処理により、プレビューＵＩ上での利用者の操作を示す信号を入力部５０によって取得し、印刷設定の設定内容の変更を受け付ける。すなわち、本実施形態においては、印刷ジョブデータ３１に予め対応づけられているプリントチケットや入力部５０によって入力された設定内容によって印刷設定が特定される。
【００２９】
さらに、制御部２０は、フィルタ処理部２２ｃの処理により、印刷ジョブデータ３１を参照し、印刷実行指示にかかる各ページに対して印刷設定を適用するための処理を行う。すなわち、各ページについて設定された印刷設定の設定内容を示す情報をインタフェース２２ｃ１に受け渡し、ページ毎の印刷対象のそれぞれに対してそれぞれの印刷設定をフィルタ１〜フィルタｎによって適用する。
【００３０】
さらに、本実施形態において、制御部２０は、表示制御部２２ｄの処理により、プレビューＵＩを利用して印刷設定の設定内容を入力するための表示を行わせる。すなわち、制御部２０は、表示制御部２２ｄの処理により、印刷ジョブデータ３１を参照してページ毎の印刷対象に対して複数の印刷設定のいずれも適用していない状態を示す印刷設定未適用情報を生成し、各印刷対象に対して印刷設定が設定済であることを示す情報とともに表示させる。また、制御部２０は、利用者の指示に基づいて印刷設定の設定内容を受け付けるためのＵＩを表示させる。
【００３１】
本実施形態におけるプレビューＵＩは、全ページについて印刷設定未適用情報を表示するとともに印刷設定が設定済であることを表示しているため、利用者は印刷設定が設定済であることを確認した上で印刷を実行させることができる。しかし、全ページについて印刷設定を適用した状態を逐一目視で確認することはできないＵＩとなっている。そこで、本実施形態においては、印刷を実行した場合にはみ出しが発生するか否かを判定する構成となっている。
【００３２】
すなわち、制御部２０は、画像判定部２２ｅの処理によってページ毎のラスタライズ画像が１ページ分の印刷可能範囲よりも大きい画像であるか否かを判定する。すなわち、制御部２０は、フィルタ１〜フィルタｎをページ毎の印刷対象に対して適用することによって、印刷設定が適用された状態のページ毎のラスタライズ画像を取得し、当該ラスタライズ画像の縦横のピクセル数を取得する。そして、予め規定された１ページ分の印刷可能範囲の大きさを規定する縦横のピクセル数を取得し、両ピクセル数を比較してページ毎のラスタライズ画像が１ページ分の印刷可能範囲よりも大きい画像であるか否かを判定する。
【００３３】
さらに、制御部２０は、ページ毎のラスタライズ画像が１ページ分の印刷可能範囲よりも大きい画像であると判別されたときには、はみ出しが発生することを防止するための処理を行う。本実施形態においては自動補正の実施可否を予め設定しておき、自動補正が許可されている場合には、制御部２０がフィルタ処理部２２ｃの処理により、はみ出しを防止するための縮小率を取得するとともにフィルタ処理部２２ｃによって当該縮小率での縮小を含む各印刷設定を適用する。また、自動補正が許可されていない場合には、制御部２０が表示制御部２２ｄの処理によってはみ出しが発生することを警告するための通知を表示部５１に表示させる。さらに、制御部２０は、ページ毎のラスタライズ画像が１ページ分の印刷可能範囲よりも大きい画像であると判別されなくなったときに、印刷実行指示に応じて上述のラスタライズ画像によって印刷イメージを示す印刷データを生成してプリンタ５２に印刷を実行させる。
【００３４】
以上の処理においては、印刷前に一旦ラスタライズ画像を生成して当該ラスタライズ画像を解析し、はみ出しが発生しているか否かを判定する。従って、印刷前にはみ出しが発生しているか否かを正確に特定することが可能である。さらに、上述の縮小や警告など、はみ出しを防止するための処理を行うため、はみ出しが発生する状態で印刷を実行することを防止することができる。
【００３５】
（２）印刷制御処理：
次に、上述の構成における印刷処理を説明する。制御部２０は、アプリケーションプログラム２４による印刷実行指示に応じてＸＰＳプリンタドライバ２１を起動し、図２，図３に示す処理を実行する。この処理において制御部２０は、印刷ジョブデータ取得部２２ａの処理により、印刷ジョブデータ３１を記憶媒体３０に記憶させる（ステップＳ１００）。
【００３６】
次に、制御部２０は、表示制御部２２ｄの処理により、プレビューＵＩを形成する（ステップＳ１０５）。図４はプレビューＵＩの一例を示す図であり、同図４においては矩形のプレビューウィンドウ５１ａの左側において印刷設定未適用情報５１ｂを表示し、右側において印刷設定適用済情報５１ｃを表示する構成となっている。なお、本実施形態においては、任意の印刷対象の中から選択された印刷対象（後述するカレントページ）について印刷設定適用済情報５１ｃを表示する構成となっている。
【００３７】
上述のステップＳ１０５においては、プレビューウィンドウ５１ａの枠に加え、印刷ジョブデータ３１に含まれるプリントチケットに基づく表示を行わせる。すなわち、印刷ジョブデータ３１が示す印刷ジョブの階層構造を示す情報および当該階層に対して印刷設定が既に設定されていることを示す設定済情報を生成して表示部５１に表示させる。図４に示す例においては、印刷設定未適用情報５１ｂを表示させるための矩形の枠にジョブを示すアイコンＪ（角丸四角形），ドキュメントを示すアイコンＤ（角丸四角形），ページを示すアイコンＰ（四角形）が表示される。なお、図４に示す例においては１個のジョブに３個のドキュメントが含まれ、各ドキュメントのそれぞれには５，４，３枚のページが含まれている。
【００３８】
ステップＳ１０５においては、印刷ジョブデータ３１が示す階層構造に基づいて、あるジョブ（アイコンＪ）に含まれる３個のドキュメントのアイコンＤを線で結ぶとともにアイコンＪを最も左側に配置することによってジョブ階層の下位に３個のドキュメントが含まれることを明示している。また、各ドキュメントに含まれるページはドキュメントのアイコンＤの下方に延びる線に接続されたアイコンＰで示されている。さらに、プレビューウィンドウ５１ａにおいては、旗のアイコンＦJ，ＦD，ＦPによって各印刷対象に対して印刷設定が既に定義されていることを示している。
【００３９】
なお、階層毎に印刷設定が定義されることによって重複して印刷設定が定義されている場合には、予め決められる印刷設定の適用優先順位に基づいて印刷設定を特定すればよい。例えば、下位の階層であるほど適用優先順位を高くする構成である場合に、あるページに印刷設定が定義され、ジョブにも印刷設定が定義されているのであれば、そのページの印刷設定は下位階層であるページに対する印刷設定が適用される。
【００４０】
次に制御部２０は、ステップＳ１１０〜Ｓ１２０にて印刷設定未適用情報５１ｂを表示させるための処理を行う。具体的には、制御部２０がフィルタ処理部２２ｃの処理により、各ページのサムネイル画像を取得するためにフィルタ処理を行う（ステップＳ１１０）。また、ステップＳ１１５では、印刷ジョブデータ３１に含まれる全ページについて処理が終了したか否かを判別し、全ページについて処理が終了したと判別されなければ、未処理のページを処理対象としてステップＳ１１０を繰り返す。図３は、フィルタ処理を示すフローチャートである。同図に示すフィルタ処理において、制御部２０は、フィルタ処理部２２ｃの処理により、印刷設定を取得する（ステップＳ２００）。すなわち、各フィルタに受け渡すパラメータによって各印刷設定を特定して処理対象のページに対してフィルタを適用する。
【００４１】
当該印刷設定は、図２に示すフローチャートの処理段階に応じて適宜選択される。すなわち、図２に示すステップＳ１１０においては、印刷設定を適用していない状態における各ページのサムネイル画像を取得するためにフィルタ処理を実行する。そこで、ステップＳ１１０においては、レンダリングを行うフィルタｎのみにて処理を行い、他のフィルタは適用しない。このため、ステップＳ１１０において図３に示すフィルタ処理が起動されたときには、処理対象ページのいずれについてもフィルタ１〜フィルタ（ｎ−１）に対応する印刷設定が定義されていない状態となる。
【００４２】
なお、図３に示すフィルタ処理においては当該印刷設定に従って、フィルタ１〜フィルタ（ｎ−１）のそれぞれについて同様の処理順序で処理を進める。例えば、ステップＳ２０５〜Ｓ２１５はフィルタ１に関する処理、ステップＳ２２０〜Ｓ２３０はフィルタ２に関する処理であり、それぞれの処理順序は同様である。なお、図３においては、フィルタ３〜フィルタ（ｎ−１）における処理は省略している。
【００４３】
フィルタ１〜フィルタ（ｎ−１）のそれぞれにおいて処理順序は同様であるため、ここでは、フィルタ１について説明する。フィルタ１の処理を行うため、制御部２０は、まず、フィルタ１を起動し（ステップＳ２０５）、フィルタ１に対応する印刷設定について設定内容を規定した情報が存在するか否かを判別する（ステップＳ２１０）。そして、ステップＳ２１０にて、フィルタ１に対応する印刷設定について設定内容を規定した情報が存在すると判別された場合には、印刷ジョブデータ３１を参照して処理対象のページについてのデータを抽出し、フィルタ１による処理を行うことで当該設定内容の印刷設定を適用する（ステップＳ２１５）。ステップＳ２１０にて、フィルタ１に対応する印刷設定について設定内容を規定した情報が存在すると判別されない場合にはステップＳ２１５をスキップする。
【００４４】
フィルタ２〜フィルタ（ｎ−１）においても、各フィルタのそれぞれに対応する印刷設定について設定内容を規定した情報が存在するときに当該設定内容の印刷設定を適用する処理を行う。フィルタｎはレンダリングを行うフィルタであるため、本実施形態においては、必ず実行される。すなわち、制御部２０は、フィルタ（ｎ−１）に関する処理を行った後、フィルタｎを起動し（ステップＳ２５０）、フィルタ（ｎ−１）までフィルタを適用する処理を行った後のデータに対してフィルタｎによる処理を行って印刷対象のページについて印刷イメージを生成する（ステップＳ２５５）。
【００４５】
なお、図２に示すステップＳ１１０の段階においては、フィルタ１〜フィルタ（ｎ−１）に対応する印刷設定を適用するための処理が行われないため、ステップＳ１１０にて図３に示すサブルーチンを実行すると、印刷設定が適用されていない状態の印刷イメージが生成される。そこで、ステップＳ１１０においては、当該印刷イメージに従って間引き処理や縮小処理を実行することにより印刷対象ページのサムネイル画像を取得する。ステップＳ１１０においては、以上のようにして印刷対象ページのサムネイル画像を取得するため、ステップＳ１１５にて全ページについて処理が終了したと判別されると、全ページについてサムネイル画像が得られた状態となる。
【００４６】
そこで、制御部２０は、表示制御部２２ｄの処理により、これらのサムネイル画像を印刷設定未適用情報５１ｂとし、表示部５１に表示させる（ステップＳ１２０）。図４においては、ページのアイコンＰが各ページの印刷イメージのサムネイル画像である例を示している。
【００４７】
次に、制御部２０は、印刷設定変更の指示がなされたか否かを判別し（ステップＳ１２５）、印刷設定変更の指示がなされたときにはカレントページについてフィルタ処理を適用し（ステップＳ１２７）、印刷設定変更の指示がなされたと判別されないときにはステップＳ１２７をスキップする。すなわち、本実施形態においては、任意のページをカレントページとして指定して印刷設定の設定内容を特定することが可能である。なお、図４においては、枠Ｆで特定されるカレントページが印刷設定の適用対象であることを示す構成としてある。
【００４８】
図４に示す例において、利用者が入力部５０によって印刷設定実行ボタン５１ｄを選択する操作を行うと、制御部２０は図示しない印刷設定用のウィンドウを表示部５１に表示させる。当該印刷設定用のウィンドウにおいては、プリンタ５２にて適用可能な各印刷設定から任意の印刷設定を選択することが可能である。また、選択した印刷設定のそれぞれにおいて設定内容を指定することが可能である。
【００４９】
印刷設定の設定内容が特定されると、制御部２０は、印刷ジョブデータを参照してカレントページのデータを抽出し、印刷設定を適用するフィルタ処理を行う。この結果、カレントページに対して印刷設定を適用した状態のラスタライズ画像が生成され、制御部２０は、プレビューウィンドウ５１ａの右側において当該ラスタライズ画像を印刷設定適用済情報５１ｃとして表示させる。
【００５０】
次に、制御部２０は、画像判定部２２ｅの処理により、はみ出しが発生しているか否かを判定するための処理を行う。このために、まず、制御部２０は、印刷可能範囲を取得する（ステップＳ１３０）。なお、ここで取得する印刷可能範囲はラスタライズ後の画像について規定された印刷可能範囲であり、縦横のピクセル数で規定されている。すなわち、印刷可能範囲は印刷解像度、印刷媒体の大きさおよびマージンの大きさによって予め特定されており、現在の印刷解像度、印刷媒体の大きさおよびマージンの大きさに応じた印刷可能範囲をピクセル数にて取得する。
【００５１】
さらに、制御部２０は、印刷設定を取得する（ステップＳ１３５）。すなわち、印刷ジョブデータ３１に含まれているプリントチケットあるいはステップＳ１２５，Ｓ１２７にて変更によって特定された印刷設定を取得する。そして、制御部２０は、印刷ジョブデータ３１を取得して（ステップＳ１４０）、フィルタ処理によって各ページに対して設定された印刷設定を適用してラスタライズ画像を生成する（ステップＳ１４５）。ステップＳ１４５にて実行されるフィルタ処理も図３に示す処理であるが、ここでは、全ページが処理対象となるため、ステップＳ２００にて取得される印刷設定は各ページについてステップＳ１３５にて取得された印刷設定である。従って、図３に示す処理を実行すると、全ページについて、印刷設定を適用した状態のラスタライズ画像が生成される。
【００５２】
図３に示すフィルタ処理を実行後、制御部２０は図２の処理に復帰し、ページ毎のラスタライズ画像の大きさが１ページ分の印刷可能範囲以下であるか否かを判別する（ステップＳ１５０）。すなわち、ラスタライズ画像の縦方向のピクセル数が印刷可能範囲の縦方向のピクセル数以下であり、かつ、ラスタライズ画像の横方向のピクセル数が印刷可能範囲の横方向のピクセル数以下であるか否かを判別する。
【００５３】
そして、ページ毎のラスタライズ画像の大きさが１ページ分の印刷可能範囲以下であると判別されたとき、制御部２０は、印刷実行指示ボタン５１ｅによって利用者が印刷実行指示を行ったか否かを判別する（ステップＳ１５５）。そして、当該ステップＳ１５５にて印刷実行指示がなされたと判別されるまでステップＳ１２５以降の処理を繰り返す。すなわち、印刷設定が変更されると、当該変更された印刷設定を適用したラスタライズ画像を生成してはみ出しの有無をチェックする。
【００５４】
一方、ステップＳ１５０にてページ毎のラスタライズ画像の大きさが１ページ分の印刷可能範囲以下であると判別されないとき、すなわち、はみ出しが生じるときには、はみ出しを解消するための処理を行う。本実施形態においては、はみ出しを防止する補正を自動で行うか否かを選択することが可能であり、利用者は予め当該自動補正の可否を選択しておく。制御部２０は、当該自動補正の可否がいずれに設定されているかを判別し（ステップＳ１６０）、自動補正が許可されていると判別される場合には、縮小率を特定して（ステップＳ１６５）、ステップＳ１３５以降の処理を繰り返す。
【００５５】
すなわち、本実施形態におけるラスタライズ画像の縦横方向と印刷可能範囲の縦横方向とは一致しており、まず、ラスタライズ画像の縦横いずれかの方向ではみ出しが生じている方向のピクセル数Ｐ1を取得する。また、当該はみ出しが生じている方向に並ぶ印刷可能範囲のピクセル数Ｐ2を取得する。そして、Ｐ2／Ｐ1によってラスタライズ画像の縮小率を取得する。なお、縦横方向の双方ではみ出しが生じている場合には、縮小率の絶対値が小さくなる方の方向について縮小率を特定すればよい。
【００５６】
以上のようにして縮小率を設定すると、ステップＳ１３５において、はみ出しが生じていたページについては拡大縮小処理を行う印刷設定の設定内容を当該取得された縮小率とし、他の印刷設定については変更せずに印刷設定を特定する。そして、ステップＳ１４０〜Ｓ１４５以降の処理を行う。この結果、ステップＳ１５０においてはページ毎のラスタライズ画像の大きさが１ページ分の印刷可能範囲以下であると判別されることになる。
【００５７】
一方、ステップＳ１６０において、自動補正が許可されていると判別されないとき、制御部２０ははみ出しが生じる旨の警告を表示部５１に表示させ（ステップＳ１７０）、処理を終了する。また、ステップＳ１５５において、印刷実行指示がなされたと判別されたとき、制御部２０は印刷データをプリンタ５２に対して出力する（ステップＳ１７５）。当該印刷データは、ページ毎のラスタライズ画像の大きさが１ページ分の印刷可能範囲以下であると判別された場合のラスタライズ画像に基づいて作成されている。従って、ステップＳ１７５における印刷により、はみ出しを生じさせることなく印刷を行うことが可能である。
【００５８】
（３）他の実施形態：
以上の実施形態は本発明を実施するための一例であり、印刷設定を適用して生成したページ毎のラスタライズ画像と印刷可能範囲とを比較して印刷時に印刷対象がはみ出すか否かを判定することができる限りにおいて、他にも種々の実施形態を採用可能である。例えば、上述の実施形態においては、印刷ジョブを構成する各ページのサムネイル画像をフィルタ処理によって取得していたが、印刷ジョブデータ３１に各ページのサムネイル画像が含まれるのであれば、フィルタ処理ではなく印刷ジョブデータ３１に含まれるデータを抽出する処理を行えばよい。
【００５９】
さらに、ＸＰＳ仕様の印刷ジョブデータを処理するＸＰＳプリンタドライバにおいてフィルタ構成を修正することができないなど制約がある場合には、ＸＰＳプリンタドライバが備えるフィルタと同じコアロジックのフィルタによってフィルタ１〜フィルタｎを構成してもよい。さらに、はみ出しが生じているか否かを判定する処理は、総てのページを対象にして実施しても良いし、選択されたページについて判定する処理を実行しても良く、種々の構成を採用可能である。
【図面の簡単な説明】
【００６０】
【図１】印刷制御装置の構成を示すブロック図である。
【図２】印刷制御処理を示すフローチャートである。
【図３】フィルタ処理を示すフローチャートである。
【図４】プレビューＵＩの一例を示す図である。
【図５】はみ出しの例を示す図である。
【符号の説明】
【００６１】
１０…印刷制御装置、２０…制御部、２１…プリンタドライバ、２２…画像処理プログラム、２２ａ…印刷ジョブデータ取得部、２２ｂ…印刷設定取得部、２２ｃ…フィルタ処理部、２２ｄ…表示制御部、２２ｅ…画像判定部、２４…アプリケーションプログラム、３０…記憶媒体、３１…印刷ジョブデータ、５０…入力部、５１…表示部、５１ａ…プレビューウィンドウ、５１ｂ…印刷設定未適用情報、５１ｃ…印刷設定適用済情報、５１ｄ…印刷設定実行ボタン、５１ｅ…印刷実行指示ボタン、５２…プリンタ
【図１】
2010097378.tif 000003
【図２】
2010097378.tif 000004
【図３】
2010097378.tif 000005
【図４】
2010097378.tif 000006
【図５】
2010097378.tif 000007