(57)【特許請求の範囲】
【請求項１】
第１の印刷ファイル形式に基づく印刷ジョブデータと，第２の印刷ファイル形式に基づく印刷ジョブデータとを処理する印刷制御装置において，
印刷ジョブデータが，第１の印刷ファイル形式に基づくものか第２の印刷ファイル形式に基づくものかを判別するデータ判別部と，
第１の印刷ファイル形式に基づく印刷ジョブデータを第２の印刷ファイル形式に基づく印刷ジョブデータに変換するデータ変換部と，
前記データ判別部によって印刷ジョブデータが第１の印刷ファイル形式に基づく印刷ジョブデータと判別された場合にのみ，前記データ変換部によって変換された印刷ジョブデータに対して印刷領域の調節処理を行う調節部と，
第２の印刷ファイル形式の印刷ジョブデータを加工処理する加工処理部とを備えることを特徴とする印刷制御装置。
【請求項２】
請求項１に記載する印刷制御装置において，
前記データ変換部は，出力する第２の印刷ファイル形式の印刷ジョブデータに，前記調節部の調節処理の実行を指示するパラメータを付加し，
前記調節部の調節処理は，当該パラメータを基に前記加工処理部によって実行されることを特徴とする印刷制御装置。
【請求項３】
請求項２に記載する印刷制御装置において，
前記加工処理部は，
第２の印刷ファイル形式の印刷ジョブデータを加工処理する少なくとも１つの機能フィルタと，
所有する機能フィルタの構成情報を記憶するフィルタ構成記憶部と，
前記フィルタ構成記憶部に記憶された機能フィルタの構成情報を基に機能フィルタを読み出し，印刷ジョブデータの加工処理を実行するフィルタ実行部とを備え，
前記調節部は，印刷領域の調節処理を行う機能フィルタである印刷領域調節フィルタとして構成されることを特徴とする印刷制御装置。
【請求項４】
請求項３に記載する印刷制御装置において，
前記データ判別部によって印刷ジョブデータが第２の印刷ファイル形式に基づく印刷ジョブデータと判別された場合に，前記フィルタ構成記憶部に記憶された機能フィルタの構成情報を，前記印刷領域調節フィルタの実行を制限するように書き換える制限部を備えることを特徴とする印刷制御装置。
【請求項５】
請求項２に記載する印刷制御装置において，
前記加工処理部は，
第２の印刷ファイル形式の印刷ジョブデータを加工処理する１つの総合機能フィルタと，
前記フィルタ構成記憶部に記憶された機能フィルタの構成情報を基に総合機能フィルタを読み出し，印刷ジョブデータの加工処理を実行するフィルタ実行部とを備え，
前記調節部は，前記総合機能フィルタの１つの処理機能である印刷領域調節処理として構成されることを特徴とする印刷制御装置。
【請求項６】
請求項５に記載する印刷制御装置において，
印刷ジョブデータを加工処理する少なくとも２つの処理部を備え，
前記総合機能フィルタは，前記データ判別部の判別結果によって読み出す処理部が異なることを特徴とする印刷制御装置。
【請求項７】
請求項１に記載する印刷制御装置において，
前記加工処理部は，
第２の印刷ファイル形式の印刷ジョブデータを加工処理する少なくとも１つの機能フィルタと，
所有する機能フィルタの構成情報を記憶するフィルタ構成記憶部と，
前記フィルタ構成記憶部に記憶された機能フィルタの構成情報を基に機能フィルタを読み出し，印刷ジョブデータの加工処理を実行するフィルタ実行部とを備え，
前記調節部は，調節処理を行った印刷ジョブデータを前記フィルタ実行部に送ることを特徴とする印刷制御装置。
【請求項８】
第１の印刷ファイル形式に基づく印刷ジョブデータと，第２の印刷ファイル形式に基づく印刷ジョブデータとを処理するプリンタドライバのプログラムにおいて，
印刷制御装置を，
印刷ジョブデータが，第１の印刷ファイル形式に基づくものか第２の印刷ファイル形式に基づくものかを判別するデータ判別手段と，
第１の印刷ファイル形式に基づく印刷ジョブデータを第２の印刷ファイル形式に基づく印刷ジョブデータに変換するデータ変換手段と，
前記データ判別手段によって印刷ジョブデータが第１の印刷ファイル形式に基づく印刷ジョブデータと判別された場合にのみ，前記データ変換手段によって変換された印刷ジョブデータに対して印刷領域の調節処理を行う調節手段と，
第２の印刷ファイル形式の印刷ジョブデータを加工処理する加工処理手段として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，印刷制御装置およびプリンタドライバのプログラムに関する。さらに詳細には，印刷ジョブデータを機能フィルタによって加工処理する印刷制御装置およびプリンタドライバのプログラムに関するものである。
【背景技術】
【０００２】
従来から，画像形成用のデバイスの制御を行う印刷制御装置においては，アプリケーションが作成した文書データに基づいて，ＥＭＦ（Enhanced Meta File）と称されるベクタ形式の中間ファイル（以下，「ＥＭＦファイル」とする。また，ＥＭＦファイルを形成するアプリケーションを「ＥＭＦアプリケーション」とする）を形成するものが主流となっている。そして，ＥＭＦファイルを利用する印刷制御装置では，ＥＭＦファイルを各種のプリンタに適したページ記述言語（ＰＤＬ：Page Description Language）のデータに変換してデバイスに出力している。
【０００３】
また，近年，ＥＭＦファイルを形成する他，ＸＭＬ（Extensible Markup Language）に代表されるマークアップ言語によって記述された中間ファイル（以下，「ＸＭＬファイル」とする。また，ＸＭＬファイルを形成するアプリケーションを「ＸＭＬアプリケーション」とする）を取り扱える印刷制御装置が実用化されている。
【０００４】
印刷制御装置に組み込まれるＸＭＬファイル用のプリンタドライバは，アプリケーションの主流となっているＥＭＦアプリケーションに対応するため，ＥＭＦファイルをＸＭＬファイルに変換する機能を備えている。つまり，ＸＭＬファイル用のプリンタドライバでは，ＥＭＦファイルからＸＭＬファイルへの変換機能を設けることで，ＥＭＦアプリケーションとの互換を図っている。
【０００５】
このように，ＥＭＦファイルとＸＭＬファイルとの両方に対応する印刷制御装置としては，例えば特許文献１に開示された印刷制御装置がある。
【特許文献１】特開２００６−２８５８７０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら，前記した従来の印刷制御装置には，次のような問題があった。すなわち，本来，ＸＭＬファイル用のプリンタドライバは，ＸＭＬアプリケーションに対してプリント環境を提供するために開発されている。そのため，元々の設計思想の違いにより，ＥＭＦファイルからＸＭＬファイルへの変換に際して，完全な対応関係を構築することが難しい。
【０００７】
例えば，ＥＭＦファイルをマイクロソフト社のオペレーティングシステム（ＯＳ）であるMicrosoftWindows（登録商標）に対応するＷｉｎ３２アプリケーションによって作成されるファイルとし，ＸＭＬファイルをMicrosoftWindows（登録商標）に対応するＷＰＦアプリケーションによって作成されるファイルとすると，両者の描画領域の起点が異なるという問題が発生する。
【０００８】
すなわち，図１３に示すように，ＷＰＦアプリケーションでは，実際の用紙Ｓの物理物理領域の左上隅が起点であり，Ｗｉｎ３２アプリケーションでは，デバイスの印刷可能領域Ｘ（図１３中の点線枠Ｘ）の左上隅が起点となる。そこで，起点をデバイスの印刷可能領域Ｘの左上隅とすると，論理的な印刷可能領域が縮小される。そのため，図１３に示すように，Ｗｉｎ３２アプリケーションから出力されるＥＭＦファイルを基にＸＭＬファイルが生成された場合，印刷領域が足りず，印刷データＤの一部（図１３中の右端および下端の領域ＤＬ）が欠けてしまう。
【０００９】
上記の場合，印刷データＤに縮小処理を行えば，用紙Ｓに収めることが可能になる。そこで，スケーリング機能のオプションの１つとして印刷領域を調節する調節機能，例えば先の例ではＷｉｎ３２アプリケーションの印刷データをＷＰＦアプリケーションの印刷領域に合わせて縮小する機能を用意することで，起点の違いによる画像品質の低下を回避することができる。
【００１０】
しかし，この方法では，調節機能の利用を選択するダイアログ等を設け，印刷する前にユーザに調節機能の利用を選択させなければならない。つまり，この方法によると，ユーザにとっては，使用するアプリケーションのタイプを認識してオプションの選択を行うということになる。一般のユーザにこのような技術的な問題を認識させておくことは現実的ではなし，ユーザの利便性を損ねることになる。
【００１１】
現状，Ｗｉｎ３２アプリケーションに代表されるＥＭＦアプリケーションが主流であるため，デフォルトとしてＥＭＦアプリケーションに適した設定を選択させておくことも考えられる。しかし，ユーザがＸＭＬアプリケーションを利用する際に，デフォルトの選択のまま印刷を行ってしまうことが考えられる。その際，印刷領域の調節はレイアウトに影響を与えるため，印刷品質を低下させてしまう。
【００１２】
本発明は，前記した従来の印刷制御装置が有する問題点を解決するためになされたものである。すなわちその課題とするところは，ユーザに意識させることなく，アプリケーションに応じて自動的に機能を変更し，印刷品質の劣化を抑制した印刷制御装置およびプリンタドライバのプログラムを提供することにある。
【課題を解決するための手段】
【００１３】
この課題の解決を目的としてなされた印刷制御装置は，第１の印刷ファイル形式に基づく印刷ジョブデータと，第２の印刷ファイル形式に基づく印刷ジョブデータとを処理する印刷制御装置であって，印刷ジョブデータが，第１の印刷ファイル形式に基づくものか第２の印刷ファイル形式に基づくものかを判別するデータ判別部と，第１の印刷ファイル形式に基づく印刷ジョブデータを第２の印刷ファイル形式に基づく印刷ジョブデータに変換するデータ変換部と，データ判別部によって印刷ジョブデータが第１の印刷ファイル形式に基づく印刷ジョブデータと判別された場合にのみ，データ変換部によって変換された印刷ジョブデータに対して印刷領域の調節処理を行う調節部と，第２の印刷ファイル形式の印刷ジョブデータを加工処理する加工処理部とを備えることを特徴としている。
【００１４】
本発明の印刷制御装置は，第１の印刷ファイル形式と第２の印刷ファイル形式との２種類のファイル形式に対応可能である。本発明において，第１の印刷ファイル形式の印刷ジョブデータは，データ変換部によって第２の印刷ファイル形式に基づく印刷ジョブデータに変換され，加工処理部によって第２の印刷ファイル形式に基づく印刷ジョブデータとして加工処理がなされる。加工処理としては，スケーリング，ウォータマーク，レイアウト，ミラー等の処理がある。
【００１５】
さらに，本発明の印刷制御装置は，データ判別部によって，印刷ジョブデータが第１の印刷ファイル形式に基づくものか第２の印刷ファイル形式に基づくものかを自動的に判別する。そして，印刷ジョブデータが第１の印刷ファイル形式と判別された場合にのみ，調節部によって，データ変換部で変換された印刷ジョブデータ（すなわち，元は第１印刷ファイル形式であった印刷ジョブデータ）に対して印刷領域の調節処理を行う。これにより，データの変換の際に生じる印刷領域のずれが自動的に修正される。一方，印刷ジョブデータが第２の印刷ファイル形式と判別された場合には，調節処理を行わない。この自動判別によって，ユーザの手間がなく，品質の劣化を抑制することができる。
【００１６】
また，本発明の印刷制御装置としては，例えば，データ変換部が，出力する第２の印刷ファイル形式の印刷ジョブデータに，調節部の調節処理の実行を指示するパラメータを付加し，調節部の調節処理が，そのパラメータを基に加工処理部によって実行されるものとするとよりよい。
【００１７】
すなわち，データ変換部は，印刷ジョブデータの加工情報として印刷領域の調節処理を行うパラメータを設定する。そして，加工処理部がそのパラメータの指示に従って調節部の調節処理を実行する。これにより，既存の加工処理プロセスを変更することなく，簡易な構成で印刷領域の調節処理を実行できる。
【００１８】
上記の印刷制御装置は，例えば，加工処理部が，第２の印刷ファイル形式の印刷ジョブデータを加工処理する少なくとも１つの機能フィルタと，所有する機能フィルタの構成情報を記憶するフィルタ構成記憶部と，フィルタ構成記憶部に記憶された機能フィルタの構成情報を基に機能フィルタを読み出し，印刷ジョブデータの加工処理を実行するフィルタ実行部とを備え，調節部が，印刷領域の調節処理を行う機能フィルタである印刷領域調節フィルタとして構成される
【００１９】
また，上記の印刷制御装置は，データ判別部によって印刷ジョブデータが第２の印刷ファイル形式に基づく印刷ジョブデータと判別された場合に，フィルタ構成記憶部に記憶された機能フィルタの構成情報を，印刷領域調節フィルタの実行を制限するように書き換える制限部を備えることとするとよりよい。
【００２０】
すなわち，始めから第２の印刷ファイル形式の印刷ジョブデータであれば，印刷領域の調節は必要ない。そこで，制限部によって調節部の実行を制限する。これにより，誤って印刷領域の調整が設定されていた場合に，自動的に当該調節処理の実行を回避することができる。よって，印刷品質の劣化を抑えることができる。
【００２１】
また，本発明の印刷制御装置としては，例えば，加工処理部が，第２の印刷ファイル形式の印刷ジョブデータを加工処理する１つの総合機能フィルタと，フィルタ構成記憶部に記憶された機能フィルタの構成情報を基に総合機能フィルタを読み出し，印刷ジョブデータの加工処理を実行するフィルタ実行部とを備え，調節部が，総合機能フィルタの１つの処理機能である印刷領域調節処理として構成されることとしてもよい。すなわち，すべての加工処理を１つにまとめた総合機能フィルタで行っても自動的な印刷領域の調節ができる。その場合の調節部は，当該総合機能フィルタの１つの機能として構成される。
【００２２】
また，上記の印刷制御装置は，印刷ジョブデータを加工処理する少なくとも２つの処理部を備え，総合機能フィルタは，データ判別部の判別結果によって読み出す処理部が異なることとするとよりよい。すなわち，第１の印刷ファイル形式の印刷ジョブデータであれば，印刷領域調節処理を実行する処理部を読み出し，第２の印刷ファイル形式の印刷ジョブデータであれば，印刷領域調節処理を実行する処理部を読み出さない。これにより，誤って印刷領域調整が設定されていたとしても，自動的に印刷領域調節処理の実行が制限される。よって，印刷品質の劣化を抑えることができる。
【００２３】
また，本発明の印刷制御装置としては，例えば，加工処理部が，第２の印刷ファイル形式の印刷ジョブデータを加工処理する少なくとも１つの機能フィルタと，所有する機能フィルタの構成情報を記憶するフィルタ構成記憶部と，フィルタ構成記憶部に記憶された機能フィルタの構成情報を基に機能フィルタを読み出し，印刷ジョブデータの加工処理を実行するフィルタ実行部とを備え，調節部は，調節処理を行った印刷ジョブデータをフィルタ実行部に送ることとしてもよい。すなわち，調節部は，必ずしも機能フィルタとして構成されている必要はない。本印刷制御装置のように，調節処理を，印刷ジョブデータを加工処理部に送る前に行ってもよい。
【００２４】
また，本発明は，第１の印刷ファイル形式に基づく印刷ジョブデータと，第２の印刷ファイル形式に基づく印刷ジョブデータとを処理するプリンタドライバのプログラムであって，印刷制御装置を，印刷ジョブデータが，第１の印刷ファイル形式に基づくものか第２の印刷ファイル形式に基づくものかを判別するデータ判別手段と，第１の印刷ファイル形式に基づく印刷ジョブデータを第２の印刷ファイル形式に基づく印刷ジョブデータに変換するデータ変換手段と，データ判別手段によって印刷ジョブデータが第１の印刷ファイル形式に基づく印刷ジョブデータと判別された場合にのみ，データ変換手段によって変換された印刷ジョブデータに対して印刷領域の調節処理を行う調節手段と，第２の印刷ファイル形式の印刷ジョブデータを加工処理する加工処理手段として機能させることを特徴とするプログラムを含んでいる。
【発明の効果】
【００２５】
本発明によれば，ユーザに意識させることなく，アプリケーションに応じて自動的に機能を変更し，印刷品質の劣化を抑制した印刷制御装置およびプリンタドライバのプログラムが実現している。
【発明を実施するための最良の形態】
【００２６】
以下，本発明にかかる印刷制御装置を具体化した実施の形態について，添付図面を参照しつつ詳細に説明する。本形態は，プリンタドライバがインストールされたパーソナルコンピュータ（以下，単に「ＰＣ」とする）に本発明を適用したものである。
【００２７】
［プリントシステムの構成］
本形態のプリントシステム１００は，図１に示すように，画像形成装置としてのプリンタ２と，情報端末装置としてのＰＣ１とを備えている。プリントシステム１００では，ＰＣ１とプリンタ２とがＵＳＢケーブルを介して接続されている。なお，プリントシステム１００を構成するプリンタおよびＰＣは各１台に限るものではなく，それぞれ複数台接続してもよい。また，ＰＣ１とプリンタ２との接続は，ＵＳＢケーブルに限らず，その他のシリアル通信ケーブル，パラレル通信ケーブル，有線ＬＡＮケーブル，さらには無線ＬＡＮ等の無線通信経路とすることも可能である。
【００２８】
ＰＣ１は，各種処理を実行するＣＰＵ１１と，当該ＰＣ１の起動時にＣＰＵ１１が行う起動処理のプログラム（ＢＩＯＳ）等を記憶したＲＯＭ１２と，ＣＰＵ１１が各種処理を行う際に一時的な記憶領域として利用されるＲＡＭ１３と，各種のプログラムやデータを記憶したハードディスクドライブ（ＨＤＤ）１４とを有している。
【００２９】
また，ＰＣ１は，キーボードやマウス等からなる操作部１５と，液晶ディスプレイ等からなる表示部１６と，プリンタ２との間で信号のやりとりを行うプリンタポートインターフェース１７（本形態では，ＵＳＢインターフェース等）と，ＬＡＮ，インターネット等のネットワークを介して信号のやりとりを行うネットワークインターフェース１８とを有している。
【００３０】
さらに，ＰＣ１のＨＤＤ１４には，オペレーティングシステム（ＯＳ）や，画像データを編集可能なアプリケーション（例えば，文書作成ソフト，作図ソフト，表計算ソフト，写真データ編集ソフト等）や，プリンタ２にＰＤＬ形式で記述された印刷データを送信するプリンタドライバが記憶されている。
【００３１】
プリンタ２は，各種処理を実行するＣＰＵ２１と，当該プリンタ２の起動時にＣＰＵ２１が行う起動処理のプログラム等を記憶したＲＯＭ２２と，ＣＰＵ２１が各種処理を行う際に一時的な記憶領域として利用されるＲＡＭ２３と，各種のプログラムやデータ等を記憶したハードディスクドライブ（ＨＤＤ）２４とを有している。
【００３２】
また，プリンタ２は，当該プリンタ２の筐体外部に配設された複数のボタンからなる操作部２５と，同じく筐体外部に配設された液晶表示パネル等からなる表示部２６と，ＰＣ１との間で信号のやりとりを行うプリンタポートインターフェース２７（本形態では，ＵＳＢインターフェース等）と，ＬＡＮ，インターネット等のネットワークを介して信号のやりとりを行うネットワークインターフェース２８とを有している。
【００３３】
さらに，プリンタ２は，記録媒体としての用紙やＯＨＰシート（以下，単に「用紙」とする）に画像を形成する印字部３０を有している。印字部３０は，電子写真方式，インクジェット方式，その他の一般的な画像形成方式を採用していればよい。また，カラー画像の形成が可能であっても，モノクロ画像専用であってもよい。
【００３４】
このような構成であるプリンタ２およびＰＣ１を備える本形態のプリントシステム１００では，ユーザがＰＣ１を操作し，ＰＣ１に組み込まれたアプリケーションを利用して文書，図，表，あるいは写真等の画像データを編集することが可能である。そして，ユーザの指示に従って，ＰＤＬ形式の印刷データをプリンタ２に送信し，プリンタ２によって画像を出力することが可能である。
【００３５】
ＰＣ１に組み込まれたアプリケーションの一部は，印刷機能を備えており，この印刷機能によって文書データあるいは画像データ等の印刷ジョブデータがプリンタドライバに対して送られる。プリンタドライバは，アプリケーションからの印刷ジョブデータに応じ，文書データや画像データをプリンタ２で印刷するために必要な印刷データを作成する。
【００３６】
プリンタドライバが作成した印刷データは，プリンタポートインターフェース１７を経由してプリンタ２へと送信される。プリンタ２は，印刷データを受信することで印字部３０を稼働する。そして，印刷データに基づいて，ユーザが選択した用紙にユーザの所望の画像を形成する。
【００３７】
また，ＰＣ１には様々なアプリケーションが組み込まれている。アプリケーションには，大別して２種類のアプリケーションがあり，１つが印刷の際にＥＭＦファイルを形成するＥＭＦアプリケーション（例えば，MicrosoftWindows（登録商標）に対応するＷｉｎ３２アプリケーション），もう１つが印刷の際にＸＭＬファイルを形成するＸＭＬアプリケーション（例えば，MicrosoftWindows（登録商標）に対応するＷＰＦアプリケーション）である。ＰＣ１には，ＥＭＦアプリケーションおよびＸＭＬアプリケーションの両者が組み込まれており，プリンタドライバは両アプリケーションに共通している。
【００３８】
［第１の形態］
［プリンタドライバの構成］
続いて，ＰＣ１に組み込まれているプリンタドライバ４について説明する。プリンタ２用のプリンタドライバ４は，各種の加工処理を実行するソフトウェアモジュール（本形態では，ＤＬＬ）を「機能フィルタ」として備えている。機能フィルタは，バージョンアップやアドイン等を行うことにより，追加したり削除したりあるいは機能を拡張したりすることが可能である。
【００３９】
第１の形態のプリンタドライバ４は，図２に示すように，ドライバ制御部４０（データ判別部の一例）と，コンバータ４１（データ変換部の一例）と，フィルタ構成修正部４２（制限部の一例）と，フィルタ設定ファイル制御部４３（フィルタ構成記憶部の一例）と，フィルタ部４４と，フィルタ実行部４５（フィルタ実行部の一例）とを有している。
【００４０】
プリンタドライバ４は，ＥＭＦアプリケーション７ｅおよびＸＭＬアプリケーション７ｘからの要求を受け，印刷データをプリンタ２に送信する。ＥＭＦアプリケーション７ｅおよびＸＭＬアプリケーション７ｘから見ると，ＯＳを介してプリンタドライバ４にアクセスするＡＰＩ（Application Program Interface）は共通しており，各アプリケーション７ｅ，７ｘでは必要に応じて所定の関数を呼び出す。
【００４１】
ドライバ制御部４０は，各アプリケーション７ｅ，７ｘからの要求を受け付けるとともに必要に応じて情報を送り返す機能を有している。本形態のプリントシステム１００としては，各アプリケーション７ｅ，７ｘからの印刷ジョブデータを受け付ける。なお，実際には，各アプリケーション７ｅ，７ｘから出力される印刷ジョブデータはスプーラに蓄積され，順次にプリンタドライバ４に送り込まれるが，本形態では説明の簡略化のためにスプーラを省略している。
【００４２】
また，ドライバ制御部４０は，印刷ジョブデータがＥＭＦアプリケーション７ｅによるものか，ＸＭＬアプリケーション７ｘによるものかを判別する機能を有している。具体的には，各アプリケーション７ｅ，７ｘが印刷を要求した際に，両者に共通して必ず呼び出されるＡＰＩを用意する。そして，その引数の１つに，ＸＭＬアプリケーションであれば所定の値（例えば，−１）を引き渡すように定義する。ドライバ制御部４０は，その引数を判別結果ファイル４０１に記憶する。これにより，判別結果ファイル４０１にアクセスし，その引数が所定の値と一致すればＸＭＬアプリケーションと，それ以外の値であればＥＭＦアプリケーションと判別できる。
【００４３】
コンバータ４１は，ＥＭＦファイルをＸＭＬファイルに変換する機能を有している。変換の際には，ＥＭＦファイルに記録されている加工処理の設定も変換後のＸＭＬファイルに引き継がれる。また，コンバータ４１は，ＸＭＬファイルへの変換の際，スケーリング機能のオプションである印刷領域の調節処理の実行を，加工処理の１つとして自動的に付加する。
【００４４】
フィルタ構成修正部４２は，ＸＭＬファイルの内容を解析し，解析結果をフィルタ設定ファイル制御部４３に反映する機能を有している。すなわち，ＸＭＬアプリケーションからの印刷ジョブデータについては，印刷領域の調節処理が不要である。そのため，ＸＭＬファイルの内容を解析し，通常の縮小ないし拡大の指示がなければ，スケーリング用の機能フィルタ５２の読出しを制限するようにフィルタ設定ファイル制御部４３に指示する。
【００４５】
フィルタ設定ファイル制御部４３は，プリンタドライバ４が所有する機能フィルタの構成情報を記憶する機能を有している。具体的に，フィルタ設定ファイル制御部４３は，フィルタ設定ファイル４３１（フィルタ構成記憶部の一例）と，フィルタ設定バックアップ４３２（バックアップ部の一例）とを管理している。
【００４６】
図３は，フィルタ設定ファイル制御部４３で管理するフィルタ設定ファイル４３１の一例であり，所有する機能フィルタの一覧がＸＭＬファイルとして記憶されている。フィルタ設定ファイル４３１には，フィルタの種類およびそのフィルタモジュールの参照先が記憶されている。すなわち，本形態では，「ウォータマーク」，「スケーリング」，「レイアウト」，「ミラー」，「ＲＩＰ」の各機能フィルタがその機能を実行するモジュール名とともに記憶されている。また，図３中のフィルタ構成の各機能フィルタの登録順がそのまま機能フィルタの実行順序を意味している。すなわち，図３の機能フィルタの構成情報によれば，プリンタドライバ４が「ウォータマーク」，「スケーリング」，「レイアウト」，「ミラー」，「ＲＩＰ」の順に実行することが記憶されている。なお，機能フィルタの構成情報の記憶方法としては，ＸＭＬ形式のファイルに限らず，例えばＨＴＭＬ形式やＣＳＶ形式のファイルであってもよい。
【００４７】
フィルタ設定バックアップ４３２は，フィルタ設定ファイル４３１の初期状態を記憶しており，フィルタ設定ファイル４３１と同じく所有する機能フィルタの一覧がＸＭＬファイルとして記憶されている。本形態では，図３に示したＸＭＬファイルの内容を初期状態として記憶している。
【００４８】
フィルタ部４４は，プリンタドライバ４が所有する機能フィルタ５１〜５５のライブラリ群を示している。機能フィルタ５１〜５５は，ＤＬＬとして提供されており，各機能フィルタの利用時には個別にメモリに読み出される。
【００４９】
具体的に本形態では，機能フィルタ５１として透かし文字を付加する「ウォータマークフィルタ」，機能フィルタ５２として所定の倍率表示（拡大縮小）を行う「スケーリングフィルタ」，機能フィルタ５３として２ｉｎ１やポスター印刷を行う「レイアウトフィルタ」，機能フィルタ５４として左右反転や上下反転を行う「ミラーフィルタ」，機能フィルタ５５としてページ記述言語からビットマップデータに展開する「ＲＩＰフィルタ」を有している。特に，スケーリング用の機能フィルタ５２は，印刷領域の調節機能を兼ねている。
【００５０】
フィルタ実行部４５は，印刷ジョブデータに従って文書データに加工処理を施す機能を有している。印刷ジョブデータには，加工処理に関する情報（例えば，ウォータマークを付加するか否か，付加する場合には文字，フォント等の指定）が付加されている。加工処理を行う際には，フィルター設定ファイル４３１の内容に従って機能フィルタ５１〜５５をメモリに読み出し，印刷ジョブデータに指示された加工処理を実行する。加工処理が終了した印刷データは，ＲＩＰフィルタを介してビットマップデータに展開されてプリンタ２に送られる。
【００５１】
［プリンタドライバの動作］
［文書情報初期化処理］
プリンタドライバ４が印刷ジョブデータを受け付けたときに実行される印刷処理を説明する。プリンタドライバ４では，印刷ジョブデータの文書情報を初期化するために，加工処理を行う前に必ず文書情報初期化処理が行われる。この文書情報初期化処理は，アプリケーション７ｅ，７ｘが所定の関数を読み出すことで実行される。以下，図４のフローチャートを基に文書情報初期化処理を説明する。
【００５２】
まず，アプリケーションから引き渡された引数のうち，所定の引数を抽出する（Ｓ１０１）。例えば，Ｗｉｎ３２アプリケーションやＷＰＦアプリケーションであれば，アプリケーションからの印刷開始時にDrvDocumentEvent関数が呼び出される（数１参照）。そして，その引数のうち，ｈｄｃはＷＰＦアプリケーションであれば必ず“−１”が引き渡される。一方，Ｗｉｎ３２アプリケーションであれば“−１”以外の値が引き渡される。そのため，引数ｈｄｃの値を参照することで，アプリケーションの種別を判別できる。
【数１】
0004375459.tif 000002
【００５３】
次に，その抽出した引数が所定の値であるか否かを判断する（Ｓ１０２）。所定の値であれば（Ｓ１０２：ＹＥＳ），判別結果ファイル４０１にＸＭＬアプリケーションである旨を記憶する（Ｓ１０３）。Ｓ１０３の処理後，本処理を終了する。一方，所定の値でなければ（Ｓ１０２：ＮＯ），Ｓ１０３の処理をバイパスして本処理を終了する。
【００５４】
［ドライバ印刷処理］
続いて，プリンタドライバ４が印刷データをプリンタ２に送信する際のドライバ印刷処理を，図５のフローチャートを基に説明する。本形態のプリンタドライバ４は，ファイルの種別（つまり，アプリケーションの種別）を判別し，ＸＭＬファイル以外のファイルであれば自動的に印刷領域の調節を行う。
【００５５】
まず，判別結果ファイル４０１から文書情報初期化処理で記憶したアプリケーションの識別結果を取得する（Ｓ２０１）。そして，印刷ジョブがＸＭＬアプリケーションからのものか否かを判断する（Ｓ２０２）。
【００５６】
ＸＭＬアプリケーションからのものでなければ（Ｓ２０２：ＮＯ），受け取ったファイルをコンバータ部４１にてＸＭＬファイルに変換する（Ｓ２０３）。変換の際には，スケーリング用の機能フィルタ５２のオプションである印刷領域の調節処理の設定が付加される。変換後のＸＭＬファイルは，フィルタ実行部４５に送られる。
【００５７】
次に，フィルタ実行部４５が印刷ジョブデータの加工処理を行う（Ｓ２０４）。この加工処理では，まず，フィルタ設定ファイル４３１を参照し，読み出し可能な機能フィルタをすべてメモリに読み出す。なお，Ｓ２０３の処理によって変換された印刷ジョブデータでは，必ず印刷領域の調節処理が選択されている。そのため，スケーリング用の機能フィルタ５２は必ず読み出される。
【００５８】
そして，印刷ジョブデータの設定に従って，「スケーリング」，「レイアウト」，「ミラー」，「ウォータマーク」の各加工処理を行ってユーザの所望する画像を作成した後，印刷領域の調節処理が設定されていることから（Ｓ２０５：ＹＥＳ），印刷領域調節処理を行う（Ｓ２０６）。すなわち，画像の表示倍率を調節し，画像を用紙内の所定の位置に収める。加工処理された印刷ジョブデータは，「ＲＩＰ」フィルタによってビットマップデータに変換された後，ＰＤＬ形式の印刷データとしてプリンタ２へ送られる（Ｓ２０７）。これにより，ＥＭＦファイルからＸＭＬファイルに変換された印刷ジョブデータが自動的に印刷領域の調節処理を受けてプリンタ２に出力される。
【００５９】
一方，ＸＭＬアプリケーションからのものであれば（Ｓ２０２：ＹＥＳ），フィルタ構成修正部４２によってフィルタ設定ファイル４３１を変更する（Ｓ２１１）。具体的には，フィルタ構成修正部４２が印刷ジョブデータに付随するプリンタドライバ４の設定に関するデータを解析し，スケーリングの機能が選択されているか否かを判断する。
【００６０】
つまり，スケーリングの機能が選択されていなければ，スケーリングの機能フィルタ５２を読み出す必要はない。また，本来，印刷領域の調節処理はＥＭＦファイルからＸＭＬファイルへの変換による印刷領域の変化に対応するための処理であり，本形態においてＸＭＬファイルとして始めからプリンタドライバ４が受け取っている場合には不要である。仮に設定されていたとすると，ユーザによる設定ミスやアプリケーションの不具合によるとみなすことができる。そこで，スケーリングの機能が選択されていない場合や選択されていても印刷領域の調節処理のみである場合，スケーリング機能の実行を制限する。
【００６１】
そこで，スケーリング機能の選択がある場合には，その選択が印刷領域の調節処理のみであるか否かを判断する。印刷領域の調節処理のみではない場合，すなわち任意の表示倍率による拡大／縮小の加工処理を行う必要があれば，フィルタ設定ファイル４３１を変更することなく，Ｓ２０４の処理に移行する。一方，印刷領域の調節処理のみである場合，あるいはスケーリングの機能が選択されていない場合には，フィルタ設定ファイル４３１を変更する。すなわち，スケーリング用の機能フィルタ５２の読み出しを制限するようにフィルタ設定ファイル４３１の内容を変更する。
【００６２】
具体的に本形態では，スケーリング用の機能フィルタ５２の利用を制限するようにフィルタ設定ファイル４３１の内容を変更する。図６は，変更後のフィルタ設定ファイル４３１の記憶内容を示している。図６では，フィルタ設定ファイル４３１の記憶内容からスケーリング用の機能フィルタ５２についての情報が削除されている。そのため，「スケーリング」の利用が不可になる。なお，機能フィルタの利用を制限する方法としては，該当する機能フィルタの情報を削除する他，当該機能フィルタの情報をコメントアウトしてもよい。
【００６３】
次に，フィルタ実行部４５が印刷ジョブデータの加工処理を行う（Ｓ２０４）。詳細には，図７に示すように，まず，フィルタ設定ファイル４３１を読み出す（Ｓ３０１）。そして，フィルタ設定ファイル４３１に記録されている機能フィルタをすべてメモリに読み出す（Ｓ３０２）。このとき，Ｓ２１１の処理にてフィルタ設定ファイル４３１中のスケーリング用の機能フィルタ５２の読出しが制限されていれば，当該機能フィルタ５２は読み出されない。
【００６４】
その後，「スケーリング」，「レイアウト」，「ミラー」，「ウォータマーク」等の各加工処理を行って，ユーザの所望する画像を作成する（Ｓ３０３）。このとき，ＥＭＦアプリケーション７ｅからの印刷ジョブデータでは，Ｓ２０３の処理によって「スケーリング」の印刷領域の調節処理が設定されている。そのため，Ｓ２０３の処理によってＸＭＬファイルに変換されたデータは，本加工処理中に印刷領域の調節が行われる。
【００６５】
加工処理された印刷ジョブデータは，「ＲＩＰ」フィルタによってビットマップデータに変換された後，ＰＤＬ形式の印刷データとしてプリンタ２へ送られる（Ｓ２０５）。これにより，スケーリングの機能フィルタ５２を読み出すことなく迅速に加工処理が行われる。
【００６６】
加工処理が終了した後，フィルタ設定ファイル４３１に変更があった場合（Ｓ２０６：ＹＥＳ），すなわちＳ２１１の処理でフィルタ設定ファイル４３１を変更した場合，フィルタ設定ファイル制御部４３では，フィルタ設定ファイル４３１を初期状態に戻す（Ｓ２０７）。つまり，フィルタ設定バックアップ４３２を利用して，フィルタ設定ファイル４３１を初期化する。加工処理の終了後に，フィルタ設定ファイル４３１の構成を基本構成に戻すことで，アプリケーション７から機能を問い合わされたときや次の印刷時に，前の印刷ジョブの影響を受けない。Ｓ２０７の処理終了後，あるいはフィルタ設定ファイル４３１に変更がなかった場合（Ｓ２０６：ＮＯ），本ドライバ印刷処理を終了する。
【００６７】
本形態のプリンタドライバ４によれば，印刷ジョブデータのファイルのタイプを判別し，ファイルのタイプによって自動的に印刷領域の調節処理が行われる。すなわち，ユーザが印刷領域の調節処理の設定を行う必要がない。よって，本形態のプリンタドライバ４では，ユーザの手間がなく，品質の劣化を抑制することができる。
【００６８】
また，本形態のプリンタドライバ４によれば，コンバータ４１が，スケーリング用の機能フィルタ５２の調節処理を実行するようにＸＭＬファイルのパラメータをセットする。そして，フィルタ実行部４５がそのパラメータを基に機能フィルタ５２のオプションである調節処理を実行する。これにより，既存の加工処理プロセスを変更することなく，簡易な構成で印刷領域の調節処理を実行できる。
【００６９】
また，本形態のプリンタドライバ４によれば，ＸＭＬアプリケーション７ｘからの印刷ジョブデータであれば，フィルタ構成修正部４２によって機能フィルタ５２のメモリへの読出しを制限する。これにより，誤って印刷領域の調整が設定されていた場合でも，自動的に調節処理の実行を回避することができる。よって，印刷品質の劣化を抑えることができる。また，調節部のメモリへの読出しを回避できるため，加工処理時間を短縮することができる。
【００７０】
［第２の形態］
［プリンタドライバの構成］
第２の形態のプリンタドライバ４１０は，図８に示すように，ドライバ制御部４０と，コンバータ４１と，フィルタ設定ファイル制御部４３と，フィルタ部４４と，フィルタ実行部４５とを有している。また，フィルタ部４４には，加工処理を統括処理する１つの総合機能フィルタ５０が設けられている。この点，機能ごとに機能フィルタ５１〜５５を有する第１の形態とは異なる。
【００７１】
総合機能フィルタ５０は，ＸＭＬファイルに記録されている加工処理の情報を読み取り，加工処理に必要な機能ファイルを読み出す。本形態では，機能ファイルはＤＬＬとして備えられており，必要に応じて読み出される。ＤＬＬは，機能ごとに設けてもよいし，アプリケーションのタイプごとに設けてもよい。
【００７２】
本形態では，ＸＭＬアプリケーション用のＤＬＬ５０１と，ＥＭＦアプリケーション用のＤＬＬ５０２とを備えており，必要に応じて総合機能フィルタ５０から読み出される。そして，ＥＭＦアプリケーション用のＤＬＬ５０２は，印刷領域を調節する機能を有している。一方，ＸＭＬアプリケーション用のＤＬＬ５０１は，印刷領域を調節する機能を有していない。
【００７３】
［ドライバ印刷処理］
本形態のドライバ印刷処理では，読み出される機能フィルタは１つであり，図９に示すように，フィルタ設定ファイル４３１の変更は行わない。すなわち，図５に示した，Ｓ２０６，Ｓ２０７，およびＳ２１１の各処理は行わない。
【００７４】
また，Ｓ２０４の加工処理では，図１０に示すように，Ｓ３０２の処理によって総合機能フィルタ５０が読み出される。そして，加工処理を実行するＸＭＬファイルがＸＭＬアプリケーション７ｘからのものか，Ｓ２０３の処理によってＥＭＦファイルから変換されたものかを判断する（Ｓ３１０）。ファイルのタイプ判断は，判別結果ファイル４０１を参照することによって行う。
【００７５】
ＥＭＦファイルから変換されたものであれば（Ｓ３１０：ＮＯ），ＥＭＦ用のＤＬＬ５０２を読み出す（Ｓ３１１）。そして，印刷ジョブデータに設定されている加工処理を行う（Ｓ３１２）。このとき，Ｓ２０３の処理によって印刷ジョブデータに印刷領域の調節処理が設定されている。そのため，Ｓ２０３の処理によってＸＭＬファイルに変換されたデータは，本加工処理中に印刷領域が調節される。
【００７６】
一方，始めからＸＭＬファイルであったものであれば（Ｓ３１０：ＹＥＳ），ＸＭＬ用のＤＬＬ５０１を読み出す（Ｓ３２１）。そして，印刷ジョブデータに設定されている加工処理を行う（Ｓ３２２）。このとき，仮にユーザが誤って印刷領域の調節を選択していたとしても，ＸＭＬ用のＤＬＬ５０１がその機能をサポートしていない。このことから，印刷領域の調節は行われない。
【００７７】
本形態のプリンタドライバ４１０によっても，第１の形態と同様に，印刷ジョブデータのファイルのタイプを判別し，ファイルのタイプによって自動的に印刷領域の調節処理が行われる。すなわち，ユーザが印刷領域の調節処理の設定を行う必要がない。
【００７８】
また，本形態のプリンタドライバ４１０によれば，アプリケーションごとにＤＬＬを用意し，必要な機能のみを利用している。これにより，始めからＸＭＬファイルの場合に，誤って印刷領域の調整が設定されていた場合でも，自動的に調節処理の実行を回避することができる。よって，印刷品質の劣化を抑えることができる。また，第１の形態と比較して，フィルタ設定ファイル４３１の変更がない。よって，実行中の堅牢性が高い。
【００７９】
［第３の形態］
［プリンタドライバの構成］
第３の形態のプリンタドライバ４２０は，図１１に示すように，ドライバ制御部４０と，コンバータ４１と，フィルタ構成修正部４２と，フィルタ設定ファイル制御部４３と，フィルタ部４４と，フィルタ実行部４５とを有している。また，コンバータ４１の一部として，印刷処理の調節処理を行う印刷領域調節部４１１が設けられている。
【００８０】
印刷領域調節部４１１は，コンバータ４１の一機能として設けられており，印刷領域の調節処理を行う。つまり，第１の形態では，スケーリング用の機能フィルタ５２の一機能として印刷領域の調節処理を行っているが，本形態ではコンバータ４１の一機能として機能フィルタの実行前に印刷領域の調節処理を行う。そのため，スケーリング用の機能フィルタ５２は，印刷領域調節機能を具備していなくてもよい。
【００８１】
［ドライバ印刷処理］
本形態のドライバ印刷処理は，図１２に示すように，コンバータ４１によってＥＭＦファイルからＸＭＬファイルへの変換処理（Ｓ２０３）をした後，印刷領域調節部４１１によってＳ２０４の加工処理前に印刷領域の調節処理（Ｓ２１２）を行う。この調節処理により，Ｓ２０４での加工処理では印刷領域の調節処理を行わない。
【００８２】
なお，第１の形態のＳ２０３の変換処理（図７参照）では，スケーリングフィルタのオプションである印刷領域の調節処理の設定が付加されるが，本形態のＳ２１２の変換処理では付加されない。すなわち，変換直後に印刷領域の調節処理を行うため，調節処理用のフラグを設ける必要はない。
【００８３】
本形態のプリンタドライバ４２０によっても，第１の形態と同様に，印刷ジョブデータのファイルのタイプを判別し，自動的に印刷領域の調節処理が行われる。すなわち，ユーザが印刷領域の調節処理の設定を行う必要がない。
【００８４】
以上詳細に説明したように実施の形態のプリンタドライバ４，４１０，４２０は，ＥＭＦファイルとＸＭＬファイルとの２種類のファイル形式に対応可能である。ＥＭＦファイルの印刷ジョブデータは，コンバータ４１によってＸＭＬファイルの印刷ジョブデータに変換され，フィルタ実行部４５によってＸＭＬファイルの印刷ジョブデータとして加工処理がなされる。
【００８５】
さらに，プリンタドライバ４は，ドライバ制御部４０によって，印刷ジョブデータがＥＭＦファイルかＸＭＬファイルかを自動的に判別している。そして，印刷ジョブデータがＥＭＦファイルの印刷ジョブデータと判別された場合にのみ，そのＥＭＦファイルをコンバータ４１によってＸＭＬファイルに変換し，当該ＸＭＬファイルに印刷領域の調節処理を行うようなパラメータをセットしている。そして，機能フィルタ５２によって，コンバータ４１によって変換された印刷ジョブデータ（すなわち，元はＥＭＦファイルであった印刷ジョブデータ）に対して印刷領域の調節処理を行う。これにより，データの変換の際に生じる印刷領域のずれが自動的に修正される。一方，印刷ジョブデータがＸＭＬファイルと判別された場合には，印刷領域の調節処理を行わずに印刷処理を実行する。この自動判別によって，ユーザの手間がなく，品質の劣化を抑制することができる。
【００８６】
なお，本実施の形態は単なる例示にすぎず，本発明を何ら限定するものではない。したがって本発明は当然に，その要旨を逸脱しない範囲内で種々の改良，変形が可能である。例えば，画像形成装置としてはプリンタに限るものではなく，コピー機，ＦＡＸ，あるいは画像形成機能を有する複合機等であってもよい。また，情報端末装置としてはＰＣに限るものではなく，ワークステーション，携帯情報端末装置等であってもよい。また，プリントシステムは，画像形成装置と情報端末装置とが別体になっているシステムに限るものではなく，一体となっているものであってもよい。
【００８７】
なお，実施の形態の第１の形態では，スケーリング用の機能フィルタが印刷領域の調節機能を備え，スケーリング機能のオプションとして印刷領域の調節を行っているが，これに限るものではない。例えば，印刷領域調節用の機能フィルタを設けてもよい。この場合，ＸＭＬアプリケーションからの印刷ジョブでは，フィルタ設定ファイルを書き換えて当該機能フィルタの読出しを制限するとよい。
【図面の簡単な説明】
【００８８】
【図１】実施の形態に係るプリントシステムの構成を示すブロック図である。
【図２】第１の形態に係るプリンタドライバの機能構成を示すブロック図である。
【図３】フィルタ情報を記憶したフィルタ設定ファイルの一例を示す図である。
【図４】第１の形態に係る文書情報初期化処理を示すフローチャートである。
【図５】第１の形態に係るドライバ印刷処理を示すフローチャートである。
【図６】スケーリングを使用を制限したフィルタ設定ファイルの一例を示す図である。
【図７】第１の形態に係る加工処理を示すフローチャートである。
【図８】第２の形態に係るプリンタドライバの機能構成を示すブロック図である。
【図９】第２の形態に係るドライバ印刷処理を示すフローチャートである。
【図１０】第２の形態に係る加工処理を示すフローチャートである。
【図１１】第３の形態に係るプリンタドライバの機能構成を示すブロック図である。
【図１２】第３の形態に係るドライバ印刷処理を示すフローチャートである。
【図１３】起点の違いによる印刷領域の相違を示す図である。
【符号の説明】
【００８９】
１      パーソナルコンピュータ
２      プリンタ
４      プリンタドライバ
４０    ドライバ制御部
４１    コンバータ
４２    フィルタ構成修正部
４３    フィルタ設定ファイル制御部
４３１  フィルタ設定ファイル
４４    フィルタ部
４５    フィルタ実行部
５１〜５５  機能フィルタ
【図１】
0004375459.tif 000003
【図２】
0004375459.tif 000004
【図３】
0004375459.tif 000005
【図４】
0004375459.tif 000006
【図５】
0004375459.tif 000007
【図６】
0004375459.tif 000008
【図７】
0004375459.tif 000009
【図８】
0004375459.tif 000010
【図９】
0004375459.tif 000011
【図１０】
0004375459.tif 000012
【図１１】
0004375459.tif 000013
【図１２】
0004375459.tif 000014
【図１３】
0004375459.tif 000015