(57)【要約】【課題】  定型サイズとは異なるカスタム用紙サイズが定型サイズに変更されることで発生する課題を解決することを目的とする。【解決手段】  設定された第１カスタム用紙サイズが、変更処理の対象となるサイズである場合、設定された第１カスタム用紙サイズが第２カスタムサイズへ変更される。【選択図】  図２
2019200571.tif 000002
【特許請求の範囲】
【請求項１】
予め設定されている定型用紙サイズと、前記定型用紙サイズとは異なるサイズであるカスタム用紙サイズの差異に基づいて、前記カスタム用紙サイズを前記定型用紙サイズに変更する変更処理を実行可能な印刷システムを備える情報処理装置であって、
前記印刷システムにおいて前記変更処理が実行されない差異を示す第１の値と、前記印刷システムにおいて前記変更処理が実行される差異を示す前記第１の値よりも小さい第２の値の少なくとも１つを、プリントデータを生成する印刷処理に基づいて記録する記録手段と、
設定画面において入力された指示に基づいて第１カスタム用紙サイズを設定する設定手段と、
前記第１カスタム用紙サイズと前記定型用紙サイズとの差異が前記第２の値よりも小さい場合、前記第１カスタム用紙サイズを第２カスタム用紙サイズに変更する変更手段と、
前記変更手段により変更された前記第２カスタム用紙サイズを用いて印刷の実行を指示する指示手段を備え、
前記第２カスタム用紙サイズと前記定型用紙サイズとの差異は前記第１の値以上であることを特徴とする情報処理装置。
【請求項２】
前記印刷システムにおいて実行される前記変更処理により前記第１カスタム用紙サイズが前記定型用紙サイズに変更された場合、前記第１カスタム用紙サイズと前記定型用紙サイズとの差異を決定する第１決定手段を更に有し、
前記決定された差異を前記第２の値として更新する更新処理が実行されることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記決定された差異が前記記録されている第２の値よりも大きい場合、前記決定された差異が前記第２の値として記録されることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記印刷システムにおいて実行される前記変更処理により前記第１カスタム用紙サイズが前記定型用紙サイズに変更されなかった場合、前記第１カスタム用紙サイズと前記定型用紙サイズとの差異を決定する第２決定手段を更に有し、
前記決定された差異を前記第１の値として更新する更新処理が実行されることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記決定された差異が前記記録されている第１の値よりも小さい場合、前記決定された差異が前記第１の値として記録されることを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記印刷の実行が指示された場合、前記第２カスタム用紙サイズに対応するラスタデータに基づいてプリントデータを生成する生成手段を更に備えることを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記第２カスタム用紙サイズに対応するラスタデータの内、前記第１カスタム用紙サイズに対応するラスタデータに基づいて前記プリントデータが生成されることを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記印刷システムにおいて実行される前記変更処理により前記第１カスタム用紙サイズが前記定型用紙サイズに変更された場合、前記第１カスタム用紙サイズを用いた印刷処理が停止されることを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
前記印刷システムにおいて実行される前記変更処理により前記第１カスタム用紙サイズが前記定型用紙サイズに変更された場合、印刷処理の停止を示すメッセージが表示されることを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記更新処理が実行された回数が閾値以上である場合、前記第２カスタム用紙サイズを用いて印刷の実行を指示し、
前記更新処理が実行された回数が閾値以上でない場合、前記第１カスタム用紙サイズを用いて印刷の実行を指示することを特徴とする請求項２または４に記載の情報処理装置。
【請求項１１】
前記第１および第２の値の少なくとも１つを記録した時に使用していたオペレーティングシステムのバージョンと操作者から印刷の実行が指示された時に動作しているオペレーティングシステムのバージョンが異なる場合、前記記録される回数が初期化されることを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
前記変更処理において、前記カスタム用紙サイズは、前記カスタム用紙サイズとの差異が最も小さいサイズである定型用紙サイズに変更されることを特徴とする請求項１乃至１１のいずれか１項に記載の情報処理装置。
【請求項１３】
予め設定されている定型用紙サイズと、前記定型用紙サイズとは異なるサイズであるカスタム用紙サイズの差異に基づいて、前記カスタム用紙サイズを前記定型用紙サイズに変更する変更処理を実行可能な印刷システムを備える情報処理装置において実行される制御方法であって、
前記印刷システムにおいて前記変更処理が実行されない差異を示す第１の値と、前記印刷システムにおいて前記変更処理が実行される差異を示す前記第１の値よりも小さい第２の値を記録し、
設定画面において入力された指示に基づいて第１カスタム用紙サイズを設定し、
前記第１カスタム用紙サイズと前記定型用紙サイズとの差異が前記第２の値よりも小さい場合、前記第１カスタム用紙サイズを第２カスタム用紙サイズに変更し、
前記第２カスタム用紙サイズを用いて印刷の実行を指示し、
前記第２カスタム用紙サイズと前記定型用紙サイズとの差異は前記第１の値以上であることを特徴とする制御方法。
【請求項１４】
請求項１乃至１２のいずれか１項に記載の情報処理装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、制御方法、およびプログラムに関する。特に、画像形成装置の印刷ジョブにおける出力用紙サイズ情報の補正を行う情報処理装置に関する。
【背景技術】
【０００２】
一般に、ホストコンピュータに搭載されるオペレーティングシステム（ＯＳ）には、印刷要求を行うホストコンピュータにプリンタが接続された環境での印刷をサポートするための印刷システムが備えられている。このような印刷システムの一つとして、米国アップル社のｍａｃＯＳ（登録商標）上で動作するＣＵＰＳ（登録商標）（Ｃｏｍｍｏｎ  ＵＮＩＸ（登録商標）  Ｐｒｉｎｔｉｎｇ  Ｓｙｓｔｅｍ）印刷システムが知られている。
【０００３】
特許文献１では、ＣＵＰＳ印刷システムを備える情報処理装置において実行される処理について開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−２４６７７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、ＣＵＰＳ印刷システムは、定型サイズとは異なるカスタム用紙サイズを定型サイズに変更する機能（以降、変更処理と呼ぶこともある）を備える。この変更処理の機能により生じる課題について、特許文献１では考慮されていなかった。そのため、変更処理に伴い操作者が意図しない印刷が実行されるおそれがあった。
【課題を解決するための手段】
【０００６】
上記のような課題を解決するための本発明は以下のような構成を備える。予め設定されている定型用紙サイズと、前記定型用紙サイズとは異なるサイズであるカスタム用紙サイズの差異に基づいて、前記カスタム用紙サイズを前記定型用紙サイズに変更する変更処理を実行可能な印刷システムを備える情報処理装置であって、前記印刷システムにおいて前記変更処理が実行されない差異を示す第１の値と、前記印刷システムにおいて前記変更処理が実行される差異を示す前記第１の値よりも小さい第２の値を記録する記録手段と、設定画面において入力された指示に基づいて第１カスタム用紙サイズを設定する設定手段と、
前記第１カスタム用紙サイズと前記定型用紙サイズとの差異が前記第２の値よりも小さい場合、前記第１カスタム用紙サイズを第２カスタム用紙サイズに変更する変更手段と、前記変更手段により変更された前記第２カスタム用紙サイズを用いて印刷の実行を指示する指示手段を備え、前記第２カスタム用紙サイズと前記定型用紙サイズとの差異は前記第１の値以上であることを特徴とする情報処理装置。
【発明の効果】
【０００７】
本発明によれば、用紙サイズの変更処理が実行される環境における印刷処理において、操作者が意図する印刷を実行することが可能となる。
【図面の簡単な説明】
【０００８】
【図１】画像形成システムのハードウェア構成を表すブロック図である。
【図２】ソフトウェア構成を表すブロック図である。
【図３】ＵＩ制御部に関するフローチャートである。
【図４】プリントデータ生成部に関するフローチャートである。
【図５】ＵＩ制御部に関するフローチャートである。
【図６】プリントデータ生成部に関するフローチャートである。
【図７】印刷処理の一例を示す図である。
【図８】ＵＩ制御部に関するフローチャートである。
【図９】プリントデータ生成部に関するフローチャートである。
【図１０】プリントデータ生成部に関するフローチャートである。
【図１１】プリントデータ生成部に関するフローチャートである。
【図１２】プリントデータ生成部に関するフローチャートである。
【図１３】ドライバＵＩの一例を示す図である。
【図１４】エラーメッセージの一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１０】
＜第一実施形態＞
［システム構成］
本実施形態に係る画像形成システムのハードウェア構成について、図１のブロック図を参照して説明する。同図は、ホストコンピュータ１１とＥｔｈｅｒｎｅｔ（登録商標）やＵＳＢ等の通信バス１２１を介して、プリンタ１２とが通信可能な印刷システムの例である。ホストコンピュータ１１は情報処理装置の一例である。ホストコンピュータ１１には、ｍａｃＯＳと同等のＯＳがインストールされているものとし、印刷システムとしてはｍａｃＯＳに導入されているＣＵＰＳ印刷システム２０２を想定している。つまり、ホストコンピュータ１１は、後述する変更処理を実行可能なＣＵＰＳ印刷システム２０２を備える。図１では、プリンタは１つのみ図示したが、通信バス１２１を介して任意の数のプリンタが接続可能である。
【００１１】
ホストコンピュータ１１は、例えばパーソナルコンピュータ（ＰＣ）であり、インターフェース（Ｉ／Ｆ）部１０７と、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、表示部１０４、入力部１０５、外部記憶装置１０６を有する。そして、プリンタ１２へ、プリンタ１２を制御するための指示、プリントデータ及び設定コマンド等を送信する。ＣＰＵ１０１は、ホストコンピュータ１１の各部を制御する中央演算装置であり、後述のプリンタドライバなどの制御プログラムを実行する。ＲＯＭ１０２は記憶されたＯＳによりそのシステム動作を制御する。ＲＡＭ１０３は、ＣＰＵ１０１による作業領域が展開されるランダムアクセスメモリである。外部記憶装置１０６はプリンタドライバなどの各種制御プログラムを格納している。入力部１０５は、ホストコンピュータ１１を操作するためのキーボード及びマウス等から構成されている。表示部１０４は、入力部１０５から入力した情報を確認するための表示、或いは、プリンタドライバやアプリケーションのユーザインタフェース画面の表示やメッセージの表示などを行う。Ｉ／Ｆ部１０７は、プリンタ１２とのデータの送受信を行う。
【００１２】
プリンタ１２は、例えばインクジェットプリンタであり、Ｉ／Ｆ部１１５と、ＣＰＵ１１１、ＲＯＭ１１２、ＲＡＭ１１３、プリントエンジン１１４を有する。ＣＰＵ１１１は以下の各部を制御する中央演算処理装置である。ＲＯＭ１１２は読み出し専用メモリであり、プリントエンジン１１４を制御するプログラムを格納している。ＲＡＭ１１３は随時書き込み読み出しメモリであり、プリントエンジン１１４の動作に必要なプログラム、ホストコンピュータ１１から受信した設定値などを一時記憶する。なお、本実施形態においてプリンタ１２は、ロール紙に印刷する大判プリンタを想定している。
【００１３】
プリントエンジン１１４は、ホストコンピュータ１１から送られたプリントデータおよび設定コマンドに基づいて記録媒体にプリントする。Ｉ／Ｆ部１１５は、ホストコンピュータ１１からプリントデータ等を受信する機能、プリンタ１２からホストコンピュータ１１にプリンタ１２の現在のステータスを送信する機能などを有する。ここでいうステータスとは、Ｉ／Ｆ部を介して接続されているホストコンピュータ１１からの要求に応じて、プリンタ１２が返却する事の出来るプリンタ１２の状態を表すステータスデータである。ステータスデータとは、「印刷中」「待機状態」などのプリンタ１２の動作状況や、「用紙切れ」「カバーが開いている」「インク残量無し」などのプリンタ１２のエラー状況を知らせるための情報である。
【００１４】
［ソフトウェア構成］
図２は、本発明の実施形態に係るソフトウェア構成を表すブロック図である。ホストコンピュータ１１は、ＣＵＰＳ印刷システム２０２、プリンタドライバ２０３を備える。プリンタドライバ２０３は、ＣＵＰＳ印刷システム２０２と連携することで、アプリケーション２０１から発行された印刷ジョブに基づいてプリンタ１２が解釈可能なデータ形式であるプリントデータを生成する。
【００１５】
アプリケーション２０１は、ＣＵＰＳ印刷システム２０２に対して印刷要求を行う。そして印刷要求が行われると、印刷設定情報と描画データを含む印刷ジョブがＣＵＰＳ印刷システム２０２に受け渡される。印刷設定情報には、用紙サイズや用紙種類、どのプリントキューにおいて印刷を行うか、などの情報が含まれる。ここでいうアプリケーションは、ホストコンピュータ１１の基本ソフトウェアであるＯＳ上で動作するソフトウェアである。アプリケーション２０１は作成したデータをプリントする機能を有し、例えば、文書作成用のワープロソフトや画像編集ソフト、年賀状作成ソフトなどが挙げられる。
【００１６】
ＣＵＰＳ印刷システム２０２は、アプリケーション２０１から送られた描画データのスプール処理や、プリンタドライバ２０３のロードおよび実行などの様々な印刷制御を行なう。この際、ＣＵＰＳ印刷システム２０２が生成するスプールファイルの形式は、ＯＳ標準のＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）形式とし、以下スプールファイルをＰＤＦ印刷データと呼ぶ事にする。また、ＣＵＰＳ印刷システム２０２はラスタデータ生成部２１１を持ち、ＰＤＦ印刷データを印刷設定情報に従ってラスタデータへ変換する機能を持つ。また、ＣＵＰＳ印刷システム２０２はアプリケーション２０１から受け渡された印刷設定情報を後続の処理部へ受け渡す。
【００１７】
プリンタドライバ２０３は、ＵＩ制御部２２２、プリントデータ生成部２２１、ステータス表示部２２３、ＰＰＤファイル２２４を備える。プリンタドライバ２０３は、ＣＵＰＳ印刷システム２０２からラスタデータと印刷設定情報を受け取り印刷動作に必要な処理を行なう。つまり、プリンタドライバ２０３は、上述したプリントデータを生成する。なお、これらの各部による制御等は、ＣＰＵ１０１がプリンタドライバ２０３を実行することにより実現される。
【００１８】
ＵＩ制御部２２２は、プリンタ１２に対してプリントを実行させるために、プリンタドライバのユーザインタフェース画面（以下、ドライバＵＩ）を表示部１０４に表示させる。操作者は、ユーザインタフェースを介してプリント実行に関わる指示を入力できる。操作者はＵＩ制御部２２２により表示部１０４に表示されるドライバＵＩを介して、プリント時の各種印刷設定（例えば、記録媒体である用紙の種類及びサイズ、給紙方法、拡大縮小印刷を行うか、等）を指定する。
【００１９】
プリントデータ生成部２２１は、ＣＵＰＳ印刷システム２０２で生成されたラスタデータを受け取り、ＣＵＰＳ印刷システム２０２から受け渡される印刷設定情報に基づいてプリントデータを生成する。
【００２０】
ステータス表示部２２３は、プリンタ１２から受信したステータスデータに基づき、プリンタの状態や必要な操作などの情報を表示部１０４に表示する。プリンタから受信されるステータスデータの具体例としては、プリンタのインク残量情報、プリンタに発生しているエラーの情報（例えば、紙無しエラーや紙詰まりエラー等）があげられる。
【００２１】
ＰＰＤファイル２２４は、ＣＵＰＳ印刷システム２０２に適合するフォーマットにて、ＵＩ制御部２２２が読み込みドライバＵＩの設定項目として表示する設定値のリストが記述されている。さらに、ＵＩ制御部２２２やプリントデータ生成部２２１による印刷設定値の保存先にもなる。
【００２２】
プリント通信部２０４は、プリントデータ生成部２２１が生成したプリントデータをプリンタ１２に送信してプリント制御するものである。また、プリンタから送信されるステータスなどのデータ取得も行う。この際使用されるプリント通信部は、印刷設定情報に含まれるプリントキュー情報に依存し、また任意の数のロードが可能である。
【００２３】
ここでＣＵＰＳ印刷システムについて更に説明する。ＣＵＰＳ印刷システムは、プリンタドライバにより設定されたカスタム用紙サイズを定型サイズに変更する変更処理を実行する機能を備える。なお、本実施形態では、定型サイズとは異なるサイズをカスタム用紙サイズと呼ぶ。例えば、ＣＵＰＳ印刷システムは、プリンタドライバにより設定されたカスタム用紙サイズとプリンタドライバによりサポートされる定型サイズと比較する。そして、その差異が閾値以下である場合、プリンタドライバにより設定されたカスタム用紙サイズを定型サイズへ変更する。そして、ＣＵＰＳ印刷システムはアプリケーションから受信した描画データと変更後の定型サイズに基づいてラスタデータを生成する。つまり、プリンタドライバにおいて設定されたカスタム用紙サイズとは異なる定型サイズのラスタデータが生成されるおそれがあった。なお、ＣＵＰＳ印刷システムは、プリンタドライバかにより設定されたカスタム用紙サイズとプリンタドライバによりサポートされる定型サイズとの比較を毎回行っても良い。また、ＣＵＰＳ印刷システムは、プリンタドライバからカスタム用紙の使用が指定された時に限りこの比較処理を行っても良い。なお、定型サイズとは、例えばＡ４、Ａ５、レターなど、プリンタドライバ２０３のインストール時から設定可能に登録されている用紙サイズである。つまり、定型用紙サイズは、プリンタドライバ２０３をインストールした後、操作者がプリンタドライバを操作する前からプリンタドライバに予め登録されているサイズである。また、操作者がアプリケーション２０１を使って印刷を指示することで実行される印刷処理について説明する。操作者は、アプリケーション２０１を操作して図１３の画面１３０１を表示する。ここで、操作者がページ加工ボタンを押下することで領域１３０２が表示される。この領域１３０２が、プリンタドライバ２０３のＵＩ制御部２２２により提供される印刷設定画面（ドライバＵＩとも呼ぶ）である。操作者は、このドライバＵＩを使って印刷設定情報を設定し、印刷の実行を指示する。その結果、ＵＩ制御部２２２は、ドライバＵＩにおいて設定された印刷設定情報をアプリケーション２０１に通知し、アプリケーション２０１は、印刷設定情報に基づいて描画データを生成し、当該描画データと印刷設定情報をＣＵＰＳ印刷システム２０２に渡す。ＣＵＰＳ印刷システム２０２は、描画データと印刷設定情報に基づいてラスタデータを生成し、プリンタドライバ２０３に印刷設定情報とラスタデータを渡す。プリンタドライバ２０３のプリントデータ生成部２２１は、ラスタデータと印刷設定情報に基づいてプリントデータを生成し、プリンタ１２へ送信する。
【００２４】
［補正値保存処理］
次に、本実施形態の設定値保存時におけるＵＩ制御部２２２の処理を説明するフローチャートを図３に示す。ＵＩ制御部２２２はアプリケーション２０１から起動され、ドライバＵＩを表示し、操作者はドライバＵＩにて各種印刷設定を行う。例えば、操作者は、最終的な印刷物のカスタム用紙サイズとして幅および高さをドライバＵＩに設定しても良い。また、操作者は、所望の幅と、拡大・縮小処理の実行をドライバＵＩに設定しても良い。なお、所望の幅と拡大・縮小処理の実行がドライバＵＩに設定された場合、ドライバＵＩが、設定された幅と、アプリケーションから受信した印刷ジョブに基づいてカスタム用紙サイズとして幅および高さを計算する。なお、拡大・縮小処理の実行は、図１３のロール紙の幅に合わせるにオンを設定することで指定される。なお、ロール紙幅に合わせるの選択肢としては、オフ、オン（ふちあり）、オン（ふちなし）がある。また、所望の幅は、図１３のロール紙幅を使って設定される。ＣＰＵ１０１は、以上の処理によりカスタム用紙サイズを決定する（Ｓ３０１）。
【００２５】
次に、ＣＰＵ１０１は、印刷処理開始前の準備処理として、Ｓ３０１において決定されたカスタム用紙サイズを取得する（Ｓ３０２）。次に、ＣＰＵ１０１は、取得したカスタム用紙サイズを、後続のプリントデータ生成部２２１に渡すために印刷設定としてセットする（Ｓ３０３）。最後に、ＣＰＵ１０１は、印刷処理開始指示をＣＵＰＳ印刷システム２０２に対して行うことで、プリンタ１２が解釈可能なデータ形式であるプリントデータを生成する印刷処理を開始する（Ｓ３０４）。
【００２６】
続いて、本実施形態の設定値保存時におけるプリントデータ生成部２２１の処理を説明するフローチャートを図４に示す。プリントデータ生成部２２１は、ＣＵＰＳ印刷システム２０２からラスタデータ及び印刷設定値を受信する。また、プリントデータ生成部２２１は、ＵＩ制御部２２２からも印刷設定値を受信する。
【００２７】
まず、ＣＰＵ１０１は、ＵＩ制御部２２２が渡してくる出力用紙サイズを取得し（Ｓ４０１）、ＣＵＰＳ印刷システム２０２が渡してくる出力用紙サイズを取得する（Ｓ４０２）。
【００２８】
ＣＰＵ１０１は、Ｓ４０１とＳ４０２で取得された出力用紙サイズが一致しているか否かを判定する（Ｓ４０３）。Ｓ４０３を実行することで、ＣＵＰＳ印刷システムにおいて出力用紙サイズの変更処理が実行されたか否かが判定可能となる。
【００２９】
Ｓ４０３がＹＥＳの場合（つまり出力用紙サイズの変更処理が実行されていない場合）、ＣＰＵ１０１は、出力用紙サイズと、プリンタドライバ２０３がサポートする全ての定型サイズとの差を順に比較する。そして、ＣＰＵ１０１、最も小さい値ＳＤ１を算出する（Ｓ４０４）。例えば、Ｓ４０１において算出された出力用紙サイズが幅：２５７ｍｍ、高さ：３６７ｍｍであったとする。ＣＰＵ１０１は、Ｓ４０４により、一番近い定型サイズとしてＢ４（幅：２５７ｍｍ、高さ：３６４ｍｍ）を特定し、その差分を３ｍｍと算出する。この３ｍｍという値は、出力用紙サイズと定型サイズとの差異が３ｍｍ以上あればＣＵＰＳ印刷システムにおいて出力用紙サイズの変更処理が実行されないことを示す。しかし、この値はできる限り小さい値であることが望ましい。そのため、ＣＰＵ１０１は、すでにＰＰＤファイル２２４に記録されている、変更処理が実行されなかったサイズ差ＰＤ１の値を取得し（Ｓ４０５）、ＳＤ１、ＰＤ１の値を比較する（Ｓ４０６）。その結果、ＳＤ１の方が小さい場合、ＣＰＵ１０１は、ＰＰＤファイル２２４に記録されているＰＤ１の値をＳＤ１の値で更新する（Ｓ４０７）。これにより、変更処理が実行されなかった場合のサイズ差として、よりＣＵＰＳ印刷システム２０２の閾値に近い値が記録されることになる。
【００３０】
一方、Ｓ４０３においてＮＯと判定された場合、ＣＰＵ１０１は、ＵＩ制御部２２２からＳ４０１において取得した出力用紙サイズと、ＣＵＰＳ印刷システム２０２からＳ４０２で取得した出力用紙サイズとのサイズ差ＳＤ２を計算する（Ｓ４０８）。なお、Ｓ４０３においてＮＯと判定されるということは、ＣＵＰＳ印刷システム２０２により変更処理が実行されたことに相当する。この差分は、ＣＵＰＳ印刷システムにおいて変更処理が実際に実行された時のサイズ差であるため、できる限り大きい値であることが望ましい。そのため、すでにＰＰＤファイル２２４に記録されている、変更処理が起きた場合のサイズ差ＰＤ２の値を取得し（Ｓ４０９）、ＳＤ２、ＰＤ２の値を比較する（Ｓ４１０）。その結果、ＳＤ２の方が大きければ、ＰＰＤファイル２２４に記録されているＰＤ２の値をＳＤ２の値で更新する（Ｓ４１１）。これにより、変更処理が起きた場合のサイズ差について、よりＣＵＰＳ印刷システム２０２の閾値に近い値を記録することができる。以上、図４のＳ４０７またはＳ４１１により、ＣＰＵ１０１は、プリントデータを生成する印刷処理に基づいて、ＰＤ１およびＰＤ２の少なくとも１つを更新することが可能となる。
【００３１】
［補正印刷処理］
次に、本実施形態の、ＰＰＤファイル２２４に記録されている設定値を用いた補正印刷時におけるＵＩ制御部２２２の処理を説明するフローチャートを図５に示す。上述した設定値保存時の処理と同様、ＵＩ制御部２２２はアプリケーション２０１から起動され、ドライバＵＩを表示し、操作者はドライバＵＩにて各種印刷設定を行う。ここでも上述したように、操作者が、ドライバＵＩに最終仕上がりサイズを設定しても良いし、ドライバＵＩが最終仕上がりサイズを計算しても良い。ＣＰＵ１０１は、以上の処理によりカスタム用紙の用紙サイズを作成する（Ｓ５０１）。
【００３２】
次に、ＣＰＵ１０１は、印刷処理開始前の準備処理として、出力用紙サイズ情報を取得する（Ｓ５０２）。そしてＣＰＵ１０１は、Ｓ５０２で取得した出力用紙サイズと、プリンタドライバ２０３がサポートする全定型サイズの差を順に比較し、最も小さい値ＳＤ３を計算する（Ｓ５０３）。
【００３３】
ＣＰＵ１０１は、ＰＰＤファイル２２４に記録されている変更処理が起きなかったサイズ差ＰＤ１及び変更処理が起きたサイズ差ＰＤ２を取得する（Ｓ５０４）。ここで重要なことは、Ｓ５０１で作成したカスタム出力用紙の大きさがＣＵＰＳ印刷システム２０２において実行される変更処理により定型用紙サイズに変更されるか否かである。つまりＳＤ３がＰＤ２より小さいか否かが重要である。そのため、ＣＰＵ１０１は、ＳＤ３とＰＤ２をまず比較する（Ｓ５０５）。仮にＳＤ３の方が小さい場合（Ｓ５０５−Ｙｅｓ）、今の出力用紙サイズではＣＵＰＳ印刷システムにおいて実行される変更処理により定型サイズに変更されてしまう。そのため、ＣＰＵ１０１の処理は、補正処理を行うＳ５０７へと進む。具体的には、ＳＤ３の値がＰＤ１の値より大きくなるように、ＣＰＵ１０１は、カスタム用紙の出力用紙サイズを修正する（Ｓ５０７）。この時、ＣＰＵ１０１は、Ｓ５０７においてどれだけサイズを修正したかという情報を印刷設定ＦＳとしてセットする（Ｓ５０８）。
【００３４】
その後、ＣＰＵ１０１は、再度Ｓ５０２からＳ５０５を実行する。ここで再度Ｓ５０２からＳ５０５を実行する理由は、Ｓ５０７において修正した出力用紙サイズが別の定型用紙サイズと近くなってしまうケースに対処するためである。
【００３５】
Ｓ５０５がＮＯの場合、変更処理が発生しない出力用紙サイズが設定できていることに相当する。よって、ＣＰＵ１０１は、その時点のカスタム用紙の出力用紙サイズの大きさで印刷開始指示を行う（Ｓ５０６）。
【００３６】
続いて、本実施形態の補正印刷時におけるプリントデータ生成部２２１の処理を説明するフローチャートを図６に示す。
【００３７】
ＣＰＵ１０１は、図５のＳ５０８において設定された用紙サイズ情報ＦＳを取得する（Ｓ６０１）。
【００３８】
ＣＰＵ１０１は、ＣＵＰＳ印刷システム２０２により生成されるラスタデータ及びラスタデータの大きさ情報ＲＳを取得する（Ｓ６０２）。図５の補正処理により、ＣＵＰＳ印刷システム２０２による変更処理が発生しない状況となっている。そのため、ラスタデータが欠けるたり、余白が大きくなってしまう現象の発生を軽減できる。
【００３９】
ＣＰＵ１０１は、取得したラスタデータを読み進め、プリンタ１２が解釈可能なプリントデータを順次生成していく（Ｓ６０３）。例えば、ＣＰＵ１０１は、ラスタデータをバンド単位にプリントデータに変換していき、Ｓ６０４においてＲＳからＦＳを除いた大きさまでラスタデータを読んだかを判定する（Ｓ６０４）。つまり、Ｓ６０４は、図５のＳ５０７において変更処理を回避するために修正された大きさを除いた部分に相当するプリントデータを生成したか否かを判定することに相当する。なお、プリントデータの生成対象外となったラスタデータは全て余白であり、画像データが存在しないため、処理対象から除外しても問題はない。また処理対象から除外することで元々印刷しようとしていたカスタム用紙サイズの大きさにて印刷を実現することが可能となる。つまり、以上の処理により、Ｓ５０７において修正されたカスタム用紙サイズに対応するラスタデータに基づいてプリントデータが生成される。なお、実際に作成されるプリントデータのサイズは、Ｓ６０３およびＳ６０４が実行されるため、Ｓ５０１で設定されたカスタム用紙サイズに対応している。
【００４０】
Ｓ６０４がＹＥＳと判定された場合、ＣＰＵ１０１は、プリントデータをプリンタ１２に送信し（Ｓ６０５）、プリントデータ生成部２２１の処理を終了する。
【００４１】
図７に、これまで説明してきた設定値のＰＰＤファイル２２４への設定値の保存に関して、具体的な値の変化、および保存されている設定値を使用してのカスタムサイズの補正処理に関する一例を示す。
【００４２】
まず、初期値として、ＰＤ１には５ｍｍ、ＰＤ２には０ｍｍが設定されているとする。
【００４３】
１回目の印刷において、Ｓ３０２において取得された出力用紙サイズ（カスタム用紙サイズ）が２１１×２９７であったとする。ここでＣＰＵ１０１は、カスタム用紙サイズとして２１１×２９７をセットして印刷開始を指示する（Ｓ３０４）。続いて、ＣＰＵ１０１は、図３の処理の次に図５を実行する。つまり、ＣＰＵ１０１は、カスタム用紙サイズとして２１１×２９７を取得し、全定型サイズと比較することで、Ａ４サイズ（２１０×２９７）との差異であるＳＤ３＝１ｍｍが最小値であると決定する（Ｓ５０１−Ｓ５０３）。そして、ＣＰＵ１０１は、図７に示されるようにＰＤ１＝５ｍｍ、ＰＤ２＝０ｍｍを取得して、Ｓ５０５を実行し、Ｎｏと判定する。そのため、ＣＰＵ１０１は、そのままＳ３０４で設定されたカスタム用紙サイズにて印刷処理の開始を指示する（Ｓ５０６）。次に、ＣＰＵ１０１は、図６を実行する。なお、図７の１回目の印刷において記載されているように、１ｍｍの差異はＣＵＰＳ印刷システムにより変更処理が実行される。そのため、ＣＰＵ１０１は、Ａ４サイズのラスタデータを取得する。ここではＲＳが未設定であるため、Ｓ６０３においてＡ４サイズのプリントデータを生成してプリンタに送信することになる。
【００４４】
続いてＣＰＵ１０１は、図４を実行する。ＣＰＵ１０１は、カスタム用紙サイズとして２１１×２９７を取得し（Ｓ４０１）、出力用紙サイズとしてＣＵＰＳ印刷システムからＡ４サイズを取得する（Ｓ４０２）。そして、両者が一致していないため（Ｓ４０３−Ｎｏ）、ＣＰＵ１０１は、Ｓ４０８からＳ４１１を実行する。つまり、差異であるＳＤ２＝１ｍｍはＰＤ２＝０ｍｍより大きいため、ＣＰＵ１０１は、ＰＰＤファイルのＰＤ２を１ｍｍに更新する（Ｓ４１１）。
【００４５】
続いて、２回目の印刷においてＣＰＵ１０１は、図５を実行する。２回目の印刷では、ＳＤ３＝４ｍｍとなる。そのためＣＰＵ１０１は、Ｓ５０５においてＮｏと判定するためカスタム用紙サイズとして２１４×２９７を使って印刷開始を指示する（Ｓ５０６）。
【００４６】
次に、ＣＰＵ１０１は、図６を実行する。なお、図７の２回目の印刷において記載されているように、４ｍｍの差異はＣＵＰＳ印刷システムによる変更処理の対象外である。ため、ＣＰＵ１０１は、カスタム用紙サイズである２１４×２９７のプリントデータを生成してプリンタに送信することになる。
【００４７】
続いてＣＰＵ１０１は、図４を実行する。上述したように４ｍｍの差異はＣＵＰＳ印刷システムによる変更処理の対象外である。そのため、ＣＰＵ１０１は、カスタム用紙サイズとして２１４×２９７を取得し（Ｓ４０１）、出力用紙サイズとしてＣＵＰＳ印刷システムから２１４×２９７を取得する（Ｓ４０２）。そして、両者が一致しているため（Ｓ４０３−Ｙｅｓ）、ＣＰＵ１０１は、Ｓ４０４からＳ４０７を実行する。つまり、差異であるＳＤ１＝４ｍｍはＰＤ１＝５ｍｍより小さいため、ＣＰＵ１０１は、ＰＰＤファイルのＰＤ１を４ｍｍに更新する（Ｓ４０７）。
【００４８】
同様の処理を３回目および４回目の印刷時にも実行することで、４回目の印刷終了時点においてＰＤ１＝３．６ｍｍ、ＰＤ２＝１．８ｍｍがＰＰＤファイルに記録される。
【００４９】
ここで５回目の印刷について説明する。
【００５０】
ＣＰＵ１０１は、５回目の印刷において、Ｓ３０２において取得された出力用紙サイズ（カスタム用紙サイズ）が２１０．１×２９７であったとする。ここでＣＰＵ１０１は、カスタム用紙サイズとして２１０．１×２９７をセットして印刷開始を指示する（Ｓ３０４）。続いて、ＣＰＵ１０１は、図３の処理の次に図５を実行する。つまり、ＣＰＵ１０１は、カスタム用紙サイズとして２１０．１×２９７を取得し、全定型サイズと比較することで、Ａ４サイズ（２１０×２９７）との差異であるＳＤ３＝０．１ｍｍが最小値であると決定する（Ｓ５０１−Ｓ５０３）。そして、ＣＰＵ１０１は、図７に示されるようにＰＤ１＝３．６ｍｍ、ＰＤ２＝１．８ｍｍを取得して、Ｓ５０５を実行する。ここでは、ＳＤ３＝０．１ｍｍ、ＰＤ２＝１．８ｍｍであるため、Ｓ５０５の判定結果がＹｅｓとなる。そして、ＣＰＵ１０１は、ＳＤ３＝０．１ｍｍがＰＤ１＝３．６ｍｍ以上となるようにカスタム用紙サイズを２１３．６×２９７に修正する（Ｓ５０７）。そして、ＣＰＵ１０１は、ＦＳとして２１３．６−２１０．１＝３．５を設定し（Ｓ５０８）、カスタム用紙サイズとして２１３．６×２９７を設定してＳ５０６を実行する。
【００５１】
以上の処理により、アプリケーションは当初の原稿サイズである２１０．１×２９７よりも大きい２１３．６×２９７で描画データを生成する。なお、差分部分の描画データは余白データである。アプリケーションは、２１３．６×２９７の描画データと２１３．６×２９７というカスタム用紙サイズをＣＵＰＳ印刷システムへ渡す。ここでＣＵＰＳ印刷システムは、２１３．６×２９７とＡ４との差異は３．６であるため変更処理の対象外と判定する。そのため、ＣＵＰＳ印刷システムは、２１３．６×２９７のラスタデータを生成しプリンタドライバへ渡す。
【００５２】
次にＣＰＵ１０１は、図６を実行する。ＣＰＵ１０１は、ＦＳ＝３．６を取得し、２１３．６×２９７のラスタデータを取得する（Ｓ６０１、Ｓ６０２）。さらにＣＰＵ１０１は、ラスタデータを読み進めて２１０．１×２９７に相当するプリントデータを生成したかを判定する（Ｓ６０３、Ｓ６０４）。Ｓ６０４においてＹｅｓと判定された場合、ＣＰＵ１０１は、２１０．１×２９７のプリントデータをプリンタに送信する（Ｓ６０５）。なお、Ｓ６０３およびＳ６０４によりプリントデータの生成対象外となるラスタデータは、上述したように余白部分であるため除外されても問題ない。
【００５３】
つまり、図７の例では、５回目の印刷においてユーザが意図したカスタム用紙サイズで印刷することが可能となる。また、ＰＤ１の値を可能な限り小さい値にするため、無駄なラスタデータを生成する処理も軽減される。
【００５４】
＜第二実施形態＞
次に、第二実施形態について説明する。なお、以下の説明では第一実施形態と共通する図及びその説明は省略し、異なる点について説明する。第一実施形態ではＵＩ制御部２２２及びプリントデータ生成部２２１は常に図５および図６を行っていたが、本実施形態では、用紙の幅に合わせた拡大・縮小処理の実行がドライバＵＩにおいて指定された場合に限定して処理を行うこととする。なお、システム構成、ソフトウェア構成、補正値保存処理に関しては第一実施形態と同様であるため図及び説明を省略する。
【００５５】
［補正印刷処理］
図８は本実施形態におけるＵＩ制御部２２２の処理を説明するフローチャートである。ＣＰＵ１０１は、現在の印刷設定として「用紙の幅に合わせた拡大・縮小処理の実行」が設定されているか否かを判断する（Ｓ８０１）。Ｓ８０１がＹＥＳである場合、ＣＰＵ１０１は、カスタム用紙サイズを計算する（Ｓ８０２）。一方、Ｓ８０１がＮＯである場合、ＣＰＵ１０１はＰＰＤファイル２２４に保存されている設定値を使用しない。そのため、ＣＰＵ１０１は、現在の出力用紙サイズをそのまま使用してプリントデータの生成処理を行い、終了する（Ｓ８０３）。
【００５６】
Ｓ８０２以降の処理は第一実施形態のＳ５０２以降と同様の処理となるため、説明を省略する。
【００５７】
以上の処理により、「用紙の幅に合わせた拡大・縮小処理の実行」を指定することでドライバＵＩがカスタム用紙サイズを計算するケースに限り図５および図６を実行することが可能となる。つまり、常に図５および図６を行う場合と比較して、必要性の高い時に限り図５および図６が実行されるため効率の良い印刷処理を実行することが可能となる。なお、図５および図６を行う条件として他の条件が設定されても良い。例えばフチ無し印刷が設定された場合に図５および図６が実行されても良い。また、用紙タイプにおいて光沢紙など高価な用紙が選択された場合に図５および図６が実行されても良い。
【００５８】
＜第三実施形態＞
続いて第三実施形態について説明する。なお、以下の説明では前述の実施形態と共通する図及びその説明は省略し、異なる点について説明する。前述の第一実施形態では、図３、図５、図６、図４の順番で印刷処理が行われていたが、本実施形態では、図５の次に図９を実行する。この順序で印刷処理を実行することで、ドライバＵＩにおいて決定されたカスタム用紙サイズとは異なる定型サイズで印刷が実行される可能性を軽減することが可能とする。
【００５９】
［設定値保存後の印刷処理］
図９は本実施形態のプリントデータ生成部２２１の処理を説明するフローチャートである。ＣＰＵ１０１は、ＵＩ制御部からカスタム用紙サイズを取得する（Ｓ９０１）。この処理はＳ４０１と同じである。次に、ＣＰＵ１０１は、ＣＵＰＳ印刷システムから出力用紙サイズを取得する（Ｓ９０２）。これはＳ４０２と同様の処理である。ＣＰＵ１０１は、Ｓ９０１で取得したカスタム用紙サイズとＳ９０２で取得した出力用紙サイズが一致しているか否かを判定する（Ｓ９０３）。この判定により、変更処理が発動しているかが判断される。これはＳ４０３と同様の処理である。
【００６０】
Ｓ９０３がＹＥＳの場合は、このまま印刷を行なってもＵＩ制御部において設定されたカスタム用紙サイズに基づくプリントデータが生成されるためＳ９０４を実行する。つまり、図９に続いて図６が実行される。一方、変更処理が発動した場合（Ｓ９０３−Ｎｏ）、このまま印刷を行うとカスタム用紙サイズとは異なるサイズにてプリントデータが生成される可能性がある。そのため、ステータス表示部２２３に図１４のようなエラーメッセージを表示し印刷処理を停止する（Ｓ９０５）。これにより、可能な限り変更処理によりカスタム用紙サイズとは異なるサイズにてプリントデータが生成される可能性を軽減できる。
【００６１】
なお、Ｓ９０５が実行された場合、第１実施形態の図６がスキップされて図４が実行される。そのためカスタム用紙サイズとは異なるサイズにてプリントデータが生成される可能性を軽減しながら、次の印刷に備えてＰＰＤファイルを更新することが可能となる。なお、Ｓ９０５においてエラーを表示する際に、再度の印刷指示を操作者に促すメッセージを表示しても良い。この場合、図３、図５、図９、図４の処理を経てＰＰＤファイルが更新された後に、再度図３、図５が実行される。この図５では、更新されたＰＰＤファイルが使用されるためＳ５０７およびＳ５０８が実行された後に図９が実行される。つまり、ＣＵＰＳ印刷システムによる変更処理が実行されないカスタム用紙サイズがＳ５０７において設定されているため、図５に続いて実行される図９ではＳ９０３においてＹＥＳと判定される。その結果、継続して図６を実行することが可能となり、結果としてカスタム用紙サイズのプリントデータを生成することが可能となる。
【００６２】
＜第四実施形態＞
次に、第四実施形態について説明する。なお、以下の説明では前述の実施形態と共通する図及びその説明は省略し、異なる点についてのみ説明する。第一実施形態では印刷回数を考慮せずに図５および図６の補正処理を実行していた。本実施形態では、ＰＰＤファイルの更新回数が一定以上になった場合に図５および図６の補正処理を開始することとする。
【００６３】
［補正値保存処理］
図１０は本実施形態のプリントデータ生成部２２１の処理を説明するフローチャートである。Ｓ４１１までの処理については第一の実施形態と同様であるため、説明を省略する。Ｓ４０７の実行後、ＣＰＵ１０１は、Ｓ１００１にて、ＰＰＤファイル２２４に記録されているＰＤ１が何回更新されたかの値をカウントアップする。同様に、Ｓ４１１の実行後、ＣＰＵ１０１は、Ｓ１００２にて、ＰＰＤファイル２２４に記録されているＰＤ２が何回更新されたかの値をカウントアップする。なお、カウントアップされた値は、プリントデータ生成部２２１が、参照可能なエリアに保存されても良いし、ＰＰＤファイルに記録されても良い。
【００６４】
［補正印刷処理］
図１１は本実施形態のプリントデータ生成部２２１処理を説明するフローチャートである。図１０において説明した補正値保存処理にて追加された補正値ＰＤ１およびＰＤ２が何回更新されたかを示す値をＳ５０３の後のＳ１１０１にて、ＣＰＵ１０１は、ＰＤ１及びＰＤ２の値とともに取得する。次いで、Ｓ１１０２にて、ＣＰＵ１０１は、補正値の更新回数が閾値以上であれば、つまりＳ１１０２がＹＥＳであれば第一の実施形態で説明したＳ５０５の手順へ処理を進める。一方で、Ｓ１１０２がＮＯの場合は、補正値の更新回数が閾値に達していないため、Ｓ５０７およびＳ５０８を実行することなくＳ５０６を実行する。なお、ここで説明した「補正値の更新回数」は類似の指標として「印刷回数」に置き換えることも可能である。
【００６５】
＜第五実施形態＞
次に、第五実施形態について説明する。なお、以下の説明では前述の実施形態と共通する図及びその説明は省略し、異なる点についてのみ説明する。前述の第四実施形態ではプリントデータ生成部２２１において補正値の更新回数を記録していたが、その補正値を取得した時のＯＳのバージョンについては記録されていなかった。本実施形態では、補正値の更新回数と共にＯＳのバージョンをＰＰＤファイル２２４に記録する。そして、動作ＯＳのバージョンが記録されているＯＳのバージョンと異なる場合、ＣＰＵ１０１は、更新回数をリセットする。
【００６６】
［補正値保存処理］
図１２は本実施形態のプリントデータ生成部２２１における補正値保存処理を説明するフローチャートである。Ｓ４０６においてＹＥＳの場合、つまりＰＤ１を更新するための処理において、ＣＰＵ１０１は、Ｓ１２０１の処理で現在ＰＰＤファイルに記載されているＰＤ１の値はどのＯＳバージョンで記録されたものかを確認する。ＰＰＤファイルに記録されているバージョンが現在動作中のＯＳのバージョンと異なる場合（Ｓ１２０１−Ｎｏ）、ＣＰＵ１０１は、Ｓ１２０２にてＰＤ１の更新回数を初期値にリセットする。以上の処理により、ＯＳのバージョンが異なる場合は、再度ある程度のデータが集まるまで補正値の更新処理を行い、補正印刷を制限することが可能となる。同様に、ＣＰＵ１０１は、変更処理発生時のサイズ差ＰＤ２の値がどのＯＳバージョンで記録されたものかも確認する（Ｓ１２０３）。そして、現在動作中のＯＳのバージョンとＰＰＤファイルに記録されているＯＳのバージョンが異なる場合（Ｓ１２０４−Ｎｏ）、ＣＰＵ１０１は、はＳ１２０４にてＰＤ２の更新回数を初期値にリセットする。つまり、ＰＤ１およびＰＤ２の少なくとも１つを記録した時に使用していたオペレーティングシステムのバージョンと操作者から印刷の実行が指示された時に動作しているオペレーティングシステムのバージョンが異なる場合、更新回数が初期化されることになる。これにより、ＯＳのアップデートなどがあった場合に、現在使用されているＯＳに適した値を管理することが可能となる。
【００６７】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００６８】
１１  ホストコンピュータ
１２  プリンタ
１０１  ＣＰＵ
１０２  ＲＯＭ
【図１】
2019200571.tif 000003
【図２】
2019200571.tif 000004
【図３】
2019200571.tif 000005
【図４】
2019200571.tif 000006
【図５】
2019200571.tif 000007
【図６】
2019200571.tif 000008
【図７】
2019200571.tif 000009
【図８】
2019200571.tif 000010
【図９】
2019200571.tif 000011
【図１０】
2019200571.tif 000012
【図１１】
2019200571.tif 000013
【図１２】
2019200571.tif 000014
【図１３】
2019200571.tif 000015
【図１４】
2019200571.tif 000016