(57)【要約】【課題】印刷装置に対する印刷要求の処理をホスト装置に実行させるドライバプログラムであって、複数の印刷ジョブを組み合わせた自由度の高い印刷要求を、容易にかつ効率よく行なうことを可能とするドライバプログラム等を提供する。【解決手段】受信した印刷要求に基いて印刷ジョブを生成し、当該印刷ジョブを印刷装置に送信する処理を、ホスト装置に実行させるドライバプログラムが、複数の前記印刷ジョブを保持する第一の工程と、前記保持された複数の印刷ジョブに含まれる各ページを、任意に組み合わせた組み合わせ印刷ジョブを生成する第二の工程と、前記生成された組み合わせ印刷ジョブを前記印刷装置に送信する第三の工程とを前記ホスト装置に実行させる。【選択図】  図２
2006244065.tif 000002
【特許請求の範囲】
【請求項１】
受信した印刷要求に基いて印刷ジョブを生成し、当該印刷ジョブを印刷装置に送信する処理を、ホスト装置に実行させるドライバプログラムであって、
複数の前記印刷ジョブを保持する第一の工程と、
前記保持された複数の印刷ジョブに含まれる各ページを、任意に組み合わせた組み合わせ印刷ジョブを生成する第二の工程と、
前記生成された組み合わせ印刷ジョブを前記印刷装置に送信する第三の工程とを前記ホスト装置に実行させる
ことを特徴とするドライバプログラム。
【請求項２】
請求項１において、
前記第一の工程における印刷ジョブの保持では、各印刷ジョブに含まれるページ毎に、前記印刷装置における印刷方向に関し、少なくとも１方向のデータを保持する
ことを特徴とするドライバプログラム。
【請求項３】
請求項２において、
前記各印刷ジョブに含まれる全てのページについて、前記印刷装置での両面印刷における印刷方向に関し、２方向のデータを保持する
ことを特徴とするドライバプログラム。
【請求項４】
請求項３において、
前記２方向のデータの保持は、両面印刷の指示を受けた場合に行われる
ことを特徴とするドライバプログラム。
【請求項５】
請求項２において、
前記各印刷ジョブに含まれる各ページのデータサイズが、予め定められた値よりも小さい場合には、当該ページについて２方向のデータを保持する
ことを特徴とするドライバプログラム。
【請求項６】
請求項２あるいは請求項５において、
前記第三の工程における組み合わせ印刷ジョブの送信は、当該組み合わせ印刷ジョブに含まれる各ページについて、前記印刷装置での印刷方向に適したデータがない場合には、当該印刷方向に適したデータを生成した後に行なう
ことを特徴とするドライバプログラム。
【請求項７】
請求項１乃至請求項６のいずれかにおいて、
前記第一の工程における印刷ジョブの保持は、前記印刷ジョブに含まれる各ページのデータを圧縮処理した後に行なわれる
ことを特徴とするドライバプログラム。
【請求項８】
受信した印刷指示に基いて印刷ジョブを生成し、当該印刷ジョブを印刷装置に送信する処理を、ホスト装置に実行させるドライバプログラムであって、
複数の前記印刷ジョブを保持する工程と、
前記保持した複数の印刷ジョブを、当該各印刷ジョブに含まれる各ページを識別可能に図形で表現して、ユーザに表示する工程と、
前記複数の印刷ジョブに含まれる各ページを任意に組み合わせた組み合わせ印刷の指示を、前記ユーザから受ける工程と、
前記受けた組み合わせ印刷の指示に基づいて、当該組み合わせ印刷の印刷ジョブを生成する工程と、
前記生成された組み合わせ印刷の印刷ジョブを前記印刷装置に送信する工程とを前記ホスト装置に実行させる
ことを特徴とするドライバプログラム。
【請求項９】
請求項８において、
前記ユーザによる組み合わせ印刷の指示における、複数の印刷ジョブに含まれる各ページの組み合わせ指示が、前記保持した複数の印刷ジョブをユーザに表示する表示画面上において、前記図形表現で表示された各ページを所望の位置に移動することによって行なわれる
ことを特徴とするドライバプログラム。
【請求項１０】
ユーザからの印刷要求に基いて印刷ジョブを生成し、当該印刷ジョブを印刷装置に送信して印刷を実行させるホスト装置における印刷制御方法であって、
複数の前記印刷ジョブを保持する工程と、
前記保持された複数の印刷ジョブに含まれる各ページを、任意に組み合わせた組み合わせ印刷ジョブを生成する工程と、
前記生成された組み合わせ印刷ジョブを前記印刷装置に送信する工程とを有する
ことを特徴とする印刷制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置に対する印刷要求の処理をホスト装置に実行させるドライバプログラム等に関し、特に、複数の印刷ジョブを組み合わせた自由度の高い印刷要求を、容易にかつ効率よく行なうことを可能とするドライバプログラム等に関する。
【背景技術】
【０００２】
一般に、複数のアプリケーションで作成した複数の文書等から、一つの紙に出力した資料を作成することがよく行なわれる。かかる場合、従来は、前記各文書等を、それぞれのアプリケーションから印刷装置に出力し、紙などに出力された各文書の必要なページを、適切な順番で組み合わせて所望の資料を作成していた。また、他の方法としては、いずれか一つのアプリケーション上に、必要な前記複数の文書等のデータをマージし、マージされた一つの文章等を印刷装置に出力して所望の資料を作成していた。
【０００３】
また、下記特許文献１には、かかる複数文書の組み合わせに関連して、複数の印刷ジョブを合体して印刷することが提案されている。
【特許文献１】特開平９−１３４２６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
このような複数文書の組み合わせについて、上記従来の方法のように、各文書をそれぞれ印刷するのでは、資料を両面に文書等が記載されたものとして作成する場合に、片面が印刷された紙を適切な方向で再度印刷装置にセットしなくてはならないなど、適切な資料を作成するまで大変手間のかかる場合があった。また、前述の一つのアプリケーション上にデータをマージする方法では、出力のために新たにドキュメントを作成することとなり、これも手間がかかるものであった。
【０００５】
また、上記特許文献１では、複数の印刷ジョブについて、印刷ジョブ毎に連続させたり、挿入したりすることが示されているが、自由度の高い複数文書の組み合わせ方については具体的な提案がなされていない。
【０００６】
さらに、このような複数文書の組み合わせをホスト装置から印刷装置に対して印刷要求することによって実現する場合の、ホスト装置におけるデータ保持量や印刷装置へのデータ通信量などについて、これまでは、その効率性に関し具体的な考慮はされていなかった。
【０００７】
そこで、本発明の目的は、印刷装置に対する印刷要求の処理をホスト装置に実行させるドライバプログラムであって、複数の印刷ジョブを組み合わせた自由度の高い印刷要求を、容易にかつ効率よく行なうことを可能とするドライバプログラム等を提供することである。
【課題を解決するための手段】
【０００８】
上記の目的を達成するために、本発明の一つの側面は、受信した印刷要求に基いて印刷ジョブを生成し、当該印刷ジョブを印刷装置に送信する処理を、ホスト装置に実行させるドライバプログラムが、複数の前記印刷ジョブを保持する第一の工程と、前記保持された複数の印刷ジョブに含まれる各ページを、任意に組み合わせた組み合わせ印刷ジョブを生成する第二の工程と、前記生成された組み合わせ印刷ジョブを前記印刷装置に送信する第三の工程とを前記ホスト装置に実行させることである。従って、本発明によれば、複数の印刷ジョブを組み合わせた組み合わせ印刷を、組み合わせ印刷に含めるページ数と順番をページ単位で任意に指定して行なうことが可能となり、従来よりも自由度の高い印刷ができるようになる。
【０００９】
更に、上記の発明において、好ましい態様は、前記第一の工程における印刷ジョブの保持では、各印刷ジョブに含まれるページ毎に、前記印刷装置における印刷方向に関し、少なくとも１方向のデータを保持することを特徴とする。
【００１０】
更に、上記の発明において、その好ましい態様は、前記各印刷ジョブに含まれる全てのページについて、前記印刷装置での両面印刷における印刷方向に関し、２方向のデータを保持することを特徴とする。これにより、両面印刷の指示があった場合に、組み合わせ印刷の各ページについて適正な方向のデータを選択するだけでよく、改めてデータを生成する必要がないので、ユーザによる印刷指示がなされた後の処理を迅速に行うことが可能となる。従って、ユーザは、操作した後短時間で所望の印刷物を得られ満足度が高い。
【００１１】
更にまた、上記の発明において、好ましい態様は、前記２方向のデータの保持は、両面印刷の指示を受けた場合に行われることを特徴とする。これにより、ホスト装置に保持するデータ量を少なく抑えることができる。
【００１２】
また、上記の発明において、別の態様は、前記各印刷ジョブに含まれる各ページのデータサイズが、予め定められた値よりも小さい場合には、当該ページについて２方向のデータを保持することを特徴とする。これにより、前述したユーザによる印刷指示後の処理を迅速に行うことができるという点について一定の効果を得られると共に、ホスト装置に保持するデータ量を少なく抑えることができる。
【００１３】
更に、上記の発明において、好ましい態様は、前記第三の工程における組み合わせ印刷ジョブの送信は、当該組み合わせ印刷ジョブに含まれる各ページについて、前記印刷装置での印刷方向に適したデータがない場合には、当該印刷方向に適したデータを生成した後に行なうことを特徴とする。
【００１４】
更に、上記の発明において、好ましい態様は、前記第一の工程における印刷ジョブの保持は、前記印刷ジョブに含まれる各ページのデータを圧縮処理した後に行なわれることを特徴とする。これにより、ホスト装置に保持するデータ量を少なく抑えることができると共に、印刷装置へのデータ送信量を小さくできる。
【００１５】
上記の目的を達成するために、本発明の別の側面は、受信した印刷指示に基いて印刷ジョブを生成し、当該印刷ジョブを印刷装置に送信する処理を、ホスト装置に実行させるドライバプログラムが、複数の前記印刷ジョブを保持する工程と、前記保持した複数の印刷ジョブを、当該各印刷ジョブに含まれる各ページを識別可能に図形で表現して、ユーザに表示する工程と、前記複数の印刷ジョブに含まれる各ページを任意に組み合わせた組み合わせ印刷の指示を、前記ユーザから受ける工程と、前記受けた組み合わせ印刷の指示に基づいて、当該組み合わせ印刷の印刷ジョブを生成する工程と、前記生成された組み合わせ印刷の印刷ジョブを前記印刷装置に送信する工程とを前記ホスト装置に実行させることである。従って、本発明によれば、ユーザは、組み合わせ印刷に用いる各ドキュメントの状態をページ単位で視覚的に把握することができるので、容易に各ページを任意に組み合わせた組み合わせ印刷の指示を行うことができる。
【００１６】
更に、上記の発明において、その好ましい態様は、前記ユーザによる組み合わせ印刷の指示における、複数の印刷ジョブに含まれる各ページの組み合わせ指示が、前記保持した複数の印刷ジョブをユーザに表示する表示画面上において、前記図形表現で表示された各ページを所望の位置に移動することによって行なわれることを特徴とする。これにより、ユーザによる組み合わせ印刷の指示がより簡便なものとなり、指示の間違いも起こりずらい。
【００１７】
上記の目的を達成するために、本発明の別の側面は、ユーザからの印刷要求に基いて印刷ジョブを生成し、当該印刷ジョブを印刷装置に送信して印刷を実行させるホスト装置における印刷制御方法が、複数の前記印刷ジョブを保持する工程と、前記保持された複数の印刷ジョブに含まれる各ページを、任意に組み合わせた組み合わせ印刷ジョブを生成する工程と、前記生成された組み合わせ印刷ジョブを前記印刷装置に送信する工程とを有する
ことである。
【００１８】
本発明の更なる目的及び、特徴は、以下に説明する発明の実施の形態から明らかになる。
【発明を実施するための最良の形態】
【００１９】
以下、図面を参照して本発明の実施の形態例を説明する。しかしながら、かかる実施の形態例が、本発明の技術的範囲を限定するものではない。なお、図において、同一又は類似のものには同一の参照番号又は参照記号を付して説明する。
【００２０】
図１は、本発明によるドライバプログラムを用いた印刷システムの実施の形態例に係る構成図である。図１に示すプリンタドライバ１２が、ホストコンピュータ１とプリンタ２から成る印刷システムにおける本発明を用いたドライバプログラムであり、複数の印刷ジョブをスプールし、ユーザの指示に基づき、それらが含む各ページを任意に組み合わせた組み合わせ印刷ジョブを生成して、印刷装置に対する印刷要求を行なわせるものである。これにより、自由度の高い組み合わせ印刷を、容易にかつ効率よく行なおうとするものである。
【００２１】
ホストコンピュータ１は、本実施の形態例におけるホスト装置であり、プリンタ２に対して処理後の印刷データを送信し印刷要求を行う。また、本印刷システムは、一例としていわゆるホストベースのシステムであり、ホストコンピュータ１側で印刷データの展開処理や色変換処理等を実施する。図１に示すように、ホストコンピュータ１には、アプリケーション１１、プリンタドライバ１２、メモリ１３、及びユーザＩ／Ｆ１４が備えられる。なお、ホストコンピュータ１は、所謂パーソナルコンピュータなどで構成することができる。
【００２２】
アプリケーション１１は、例えば、文書作成ソフトウェア等の印刷要求元であり、印刷対象のデータを所定のフォーマットでプリンタドライバ１２に渡す。ここでは、図１に示すように（アプリケーションＡ〜Ｃ）、複数のアプリケーションが備えられ、各アプリケーション１１が提供するインターフェース画面に対してユーザが指示を行なうことによって、各アプリケーションで生成された文書等のドキュメントについての印刷要求がなされる。
【００２３】
プリンタドライバ１２は、前記アプリケーション１１からの印刷要求を受けて、プリンタ２用の印刷データを生成し、当該印刷データを印刷ジョブとしてプリンタ２に送信する部分である。このプリンタドライバ１２では、通常の、一つのドキュメントをそのまま印刷要求する機能のほかに、複数のドキュメントを組み合わせて印刷要求する機能がある。本プリンタドライバ１２は、この複数ドキュメントの組み合わせ印刷に特徴を有し、複数のアプリケーションからの印刷ジョブをスプールしそれらを任意に組み合わせた印刷ジョブとしてプリンタ２に対する印刷要求を行なうが、具体的な処理内容については後述する。なお、プリンタドライバ１２は、処理の手順を指示するプログラムと、当該プログラムに従って処理を実行する制御装置等によって構成することができる。
【００２４】
次に、メモリ１３は、ホストコンピュータ１に備えられるＲＡＭ等の記憶手段であり、様々な用途で使用されるが、前記プリンタ２に送信する印刷データが生成されるまでの各段階におけるデータを一時的に格納する。特に、前述した複数のドキュメントを組み合わせた印刷を行なう際に、それら複数の印刷ジョブを保持すると共に、組み合わせ後の印刷ジョブを保持する。
【００２５】
また、ユーザＩ／Ｆ１４は、ホストコンピュータ１のユーザとのインターフェースを司
る部分であり、ディスプレイなどの表示手段、キーボードやマウスなどの操作手段等で構成される。ユーザは、前記アプリケーション１１を用いたドキュメントの作成、作成したドキュメントの印刷実行指示、前記複数ドキュメントの組み合わせ印刷の指示、また、その際に印刷するページの選択等を、当該ユーザＩ／Ｆ１４を用いて行なう。
【００２６】
プリンタ２は、ホストコンピュータ１からの印刷データ（印刷ジョブ）を受信し、当該印刷データ（印刷ジョブ）に基づいて印刷を実行する、例えば、４サイクルのレーザプリンタである。図１に示すように、プリンタ２には、データバッファ２１、解凍部２２、スクリーン処理部２３、及びエンジン２４が備えられている。
【００２７】
データバッファ２１は、前記プリンタドライバ１２から順次転送される印刷データを格納する部分である。解凍部２２は、印刷処理が開始されるとデータバッファ２１から圧縮されているデータを取り出し、そのデータを元の状態に復元する処理を行う部分である。また、スクリーン処理部２３は、解凍部２２で解凍されたデータにスクリーン処理を施し、画素毎のデータをドットイメージのデータに変換する部分である。エンジン２４は、スクリーン処理されたデータに基づいて印刷媒体に印刷を実行する部分である。
【００２８】
以上、説明したような構成を有する本実施の形態例に係る印刷システムでは、前述した複数ドキュメントの組み合わせ印刷に特徴を有し、以下、その際の処理内容について具体的に説明する。
【００２９】
図２は、組み合わせ印刷を行なう際のホストコンピュータ１側で行なう処理を例示したフローチャートである。まず、複数のドキュメントを組み合わせた印刷を行ないたいユーザは、ユーザＩ／Ｆ１４からプリンタドライバ１２に対し、組み合わせ印刷の機能を使用
する旨の指示を行なう（ステップＳ１）。具体的には、プリンタドライバ１２から提供され表示手段に表示されるインターフェース画面上で、組み合わせ印刷用のモード指定を行なう。
【００３０】
当該指示を受けたプリンタドライバ１２は、組み合わせ印刷用のモードに設定し、複数のドキュメントの印刷ジョブが送られてくるのを待つ（ステップＳ２）。そして、前記組み合わせ印刷の指示をしたユーザは、当該印刷で使用する各ドキュメントの印刷実行指示を、各アプリケーション１１に対して行なう（ステップＳ３）。例えば、図１に示したアプリケーションＡ、Ｂ、及びＣから、それぞれ、組み合わせ印刷に使用する各ドキュメントについて印刷実行の指示を行なう。
【００３１】
当該指示を受けて、各アプリケーション１１は、印刷指示を受けた各ドキュメントの印刷データをプリンタドライバ１２に出力する（ステップＳ４）。プリンタドライバ１２は、出力された各ドキュメントの印刷データを受信して（ステップＳ５）、順次、プリンタ２に送信するデータにするための各画像処理を行なう。
【００３２】
具体的には、受け取ったデータから中間コードを生成し（ステップＳ６）、それを展開処理して各画素単位の描画データとし（ステップＳ７）、その後、描画データの色表現形式をＲＧＢからＣＭＹＫへと変換する色変換処理を実行する（ステップＳ８）。
【００３３】
次に、プリンタドライバ１２は、プリンタ２へ送信するデータのサイズを小さくするために処理後のデータに対して圧縮処理を施し（ステップＳ９）、圧縮後の各印刷データをメモリ１３の所定領域にスプールする（ステップＳ１０）。具体的には、各アプリケーション１１から出力された各ドキュメントの印刷データ毎に一つの印刷ジョブとして、各印刷ジョブに含まれる印刷データをページ単位でスプールする。
【００３４】
図３は、スプールされた各印刷データ（印刷ジョブ）を例示した図である。図３の（ａ）は、アプリケーションＡ、Ｂ、及びＣから、それぞれ、一つずつのドキュメントについて印刷指示がなされた場合の例を示しており、この例では、各アプリケーション１１からのドキュメントは、それぞれ、５ページ、２ページ、及び３ページで構成されている。ここで、各ドキュメントについての印刷データは、それぞれ、図のＡ１〜Ａ５、Ｂ１〜Ｂ２、及びＣ１〜Ｃ３に示すように、ページ毎にメモリ１３に収められる。
【００３５】
また、各ドキュメントについての印刷データは、それぞれ一つの印刷ジョブとして認識され、印刷ジョブ毎に、例えば、印刷ジョブテーブルというものが生成されて、印刷ジョブ毎の印刷データの集まりと印刷順番を示す。図３の（ａ）に示す印刷ジョブテーブルＡは、アプリケーションＡから印刷指示されたドキュメントに係るものであり、テーブル内の「Ａ１」、「Ａ２」、、、、には、それぞれ、前述したページＡ１、Ａ２、、、、の各印刷データが収められているアドレスが示されている。従って、当該印刷ジョブテーブルＡは、アプリケーションＡから印刷指示されたドキュメントについて、ページＡ１から順番にページＡ５までを、各欄が示すアドレスに格納されている印刷データで印刷すべきことを示している。アプリケーションＢ及びＣから印刷指示されたドキュメントに係る、印刷ジョブテーブルＢ及びＣについても、同様である。
【００３６】
このように、印刷指示されたドキュメントについての、図３に示す例では３つのドキュメントについての、印刷データのスプールが行なわれるが、ここでスプールされる各ページの印刷データは、図３では１種類（１つ）として示しているが、実際には方向の異なる２種類（２つ）のデータを保持している。この２種類のうちの一つは、片面印刷用あるいは両面印刷の表面用のデータであり、もう片方は、両面印刷の裏面用のデータである。
【００３７】
プリンタ２で両面印刷を行なう場合には、その裏面印刷時に、一般によく行なわれるような用紙の反転方法で用紙が供給され、データを表面とは１８０度異なる方向で与える必要があるため、上述のようにデータの方向の異なる２種類のデータを予め用意しておく。図４は、その方向の異なる２種類のデータを例示した図である。図４の（ａ）には、印刷ジョブに含まれるあるページの、片面印刷時あるいは両面印刷の表面印刷時におけるデータの供給順番を示し、図４の（ｂ）には、両面印刷の裏面印刷時におけるデータの供給順番を示している。
【００３８】
また、前述した圧縮処理（Ｓ９）で使用するデータの圧縮方法は、圧縮処理後にデータの方向を１８０度変えて解凍処理しても、圧縮処理前のデータの方向を１８０度変えたものとは異なるものとなってしまう方法を採用しているため、前記２種類のデータは、圧縮処理（Ｓ９）前のデータに対して、異なる２方向から圧縮処理を行なった結果として用意される。すなわち、データの方向を変えないで圧縮処理したものと、データの方向を１８０度変えたものを圧縮処理したものの両方が用意される。
【００３９】
図２に戻って、以上説明したように、複数の印刷ジョブがスプールされると、プリンタドライバ１２は、ユーザに対して、前記スプールした印刷データ（印刷ジョブ）の状態を表示する（ステップＳ１１）。このユーザへの表示において、スプールされている各ページの印刷データを、図を用いてわかり易く表示し、後述するように、組み合わせるページの選択等の操作を当該表示画面上で行なえるようにしていることが本プリンタドライバ１２の一つの特徴である。言い換えれば、本印刷システムでは、組み合わせ印刷時の各ドキュメントのページ組み合わせ操作を、いわゆるＧＵＩ（グラフィカルユーザインターフェース）を用いて行うことができる。
【００４０】
図５は、上記スプール状態の表示画面の一例を示した図である。図５の（ａ）は、図３に基いて説明した例の場合における表示画面を示しており、画面の左側に表示された「Ａ」、「Ｂ」、「Ｃ」は、それぞれ、アプリケーションＡ、Ｂ、Ｃから要求された各印刷ジョブを表している。また、各印刷ジョブの右側には、印刷ジョブに含まれる各ページが表示される。
【００４１】
このような画面がユーザＩ／Ｆ１４の表示手段に表示されると、ユーザは、まず、両面印刷を行うか、それとも片面印刷を行うかの指示を行なう（ステップＳ１２）。図５には表示されていないが、表示画面上の所定箇所を操作手段により選択することでかかる指示を行うことができる。
【００４２】
次に、ユーザは、前記表示された画面上で、組み合わせ印刷における組み合わせの仕方の指示を行なう（ステップＳ１３）。具体的には、まず、組み合わせ印刷ジョブの元にする印刷ジョブを選択し、その次に、その印刷ジョブに含まれる各ページを所望の内容と順番に変更する。図５に示す例では、（ｂ）に示すように、まず、例えば「Ａ」の印刷ジョブをマウスなどの操作手段で選択する。選択された印刷ジョブには、図に示されるように、チェックのマーク（図の“Ｖ”）が表示される。
【００４３】
このように、元にする印刷ジョブが選択されると、その後、例えば「Ａ２」のページの次に「Ｃ２」のページを挿入したい場合には、図５の（ｂ）に“ａ”の矢印で示すように、「Ｃ２」のページをマウスなどによってドラッグし、所望の位置に移動させる。同様に、「Ａ４」のページを印刷からはずし、更に、「Ｂ２」のページを最後に入れたい場合には、“ｂ”及び“ｃ”の矢印で示すような画面上の操作を行う。なお、「Ａ４」のページの移動先は、ゴミ箱（図のｇ）を意味するものである。
【００４４】
このような操作を行うと、プリンタドライバ１２は、その操作に従って表示画面を変更し、上記の例では、画面は図５の（ｃ）に示すようになる。ここで、ユーザは、「Ａ」の印刷ジョブに所望の組み合わせ印刷のページと順番が反映されていることを確認し、その後、印刷の実行を指示する（ステップＳ１４）。図５には表示されていないが、表示画面上の所定箇所を操作手段により選択することでかかる指示を行うことができる。
【００４５】
かかる指示を受けると、プリンタドライバ１２は、指示された組み合わせ印刷の組み合わせ印刷ジョブを生成する（ステップＳ１５）。具体的には、組み合わせ印刷ジョブの元とされた印刷ジョブの印刷ジョブテーブルを指示された内容に変更する。前記図３及び図５に示した例では、図３の（ａ）に示した印刷ジョブテーブルＡが、図３の（ｂ）に示す組み合わせ印刷ジョブテーブルのように変更される。すなわち、図５の（ｂ）に基づいて説明したユーザの要求する組み合わせになるように、組み合わせ印刷ジョブテーブルの３番目が「Ｃ２」ページのデータが格納されるアドレスとなり、４番目が「Ａ３」ページのデータが格納されるアドレスとなり、さらに、６番目に「Ｂ２」ページのデータが格納されるアドレスが入る。
【００４６】
なお、かかる組み合わせ印刷ジョブが生成された時点で、印刷ジョブテーブルＢ及びＣと当該組み合わせ印刷で用いられないページのデータ（「Ａ４」等）は、メモリ１３から消去されてもよい。
【００４７】
次に、プリンタドライバ１２は、当該組み合わせ印刷を両面印刷で行うのか片面印刷で行うのかに基づいて、各ページについて前述した２方向のデータのうちの適正な方向のデータを選択する（ステップＳ１６）。例えば、図３の（ｂ）に示した例において、印刷する６ページが全て同じ用紙サイズであり、両面印刷を指示されている場合には、「Ａ１」、「Ｃ２」及び「Ａ５」は、表用の方向のデータが選択され、一方、「Ａ２」、「Ａ３」及び「Ｂ２」は、裏用の方向のデータが選択される。
【００４８】
以上のように組み合わせ印刷ジョブが完成すると、プリンタドライバ１２は、当該印刷ジョブをプリンタ２に送信して、ユーザから指示された組み合わせ印刷を要求する（ステップＳ１７）。具体的には、前記組み合わせ印刷に含まれる各ページの印刷データと両面印刷又は片面印刷の指示を含むコマンドをプリンタ２に送信する。
【００４９】
このようなホストコンピュータ１側からの印刷要求があると、プリンタ２は、前記送信された印刷ジョブを受信し、その印刷ジョブにしたがって、前述したような手順で印刷処理を実行する。なお、プリンタ２側では、当該受信した印刷ジョブが組み合わせ印刷であるか否か、言い換えれば、複数の印刷ジョブから組み合わされたものであるか否かを意識する必要はなく、通常の印刷処理を実行すればよい。そして、プリンタ２における印刷処理の結果、ユーザが所望した組み合わせでの印刷物がプリンタ２から出力される。
【００５０】
このようにして組み合わせ印刷の処理が行われるが、前記ユーザによる両面印刷又は片面印刷の指示（ステップＳ１２）は、プリンタドライバ１２に対する組み合わせ印刷の指定時（ステップＳ１）など、圧縮処理（ステップＳ９）の前に行うようにしてもよい。この場合には、ユーザによって片面印刷が指示されれば、圧縮処理の時点で片面用の１方向のデータのみを生成し、両面印刷が指示されれば、前述のとおり２方向から圧縮処理して各ページについて２種類のデータを生成する。このようにすることにより、メモリ１３に格納するデータ量を少なくすることができる。
【００５１】
次に、前述した実施形態例の変形例について説明する。本変形例は、両面印刷用の２方向のデータを用意しておく際に各ページの容量（サイズ）を考慮して、サイズの大きいページについては１方向のみのデータをスプールしておき、組み合わせ印刷ジョブが生成されて、必要な方向のデータがない場合に当該方向のデータを再生成するというものである。なお、本変形例における装置構成は前述した実施の形態例と同様である。
【００５２】
以下、本変形例における処理内容について前述した実施の形態例との相違点を説明する。図６は、組み合わせ印刷の指示があった際のプリンタドライバ１２におけるデータスプール（図２のステップＳ１０）までの処理を例示したフローチャートである。プリンタドライバ１２は、前述のように、各アプリケーション１１からの印刷データを受信すると（図２のステップＳ５）、各ページ毎に図６に示す処理を行う。
【００５３】
まず、当該ページの印刷データが画像の種類としてイメージを含んでいるか否かをチェックする（ステップＳ５１）。チェックの結果、当該ページが文字やグラフィックから構成されイメージを含んでいない場合には（ステップＳ５１のＮｏ）、図２に基づいて説明したとおり、ステップＳ６〜Ｓ９の処理が行われて、２方向で圧縮処理されたデータがスプールされる（Ｓ１０）。
【００５４】
一方、当該ページがイメージを含んでいる場合には（ステップＳ５１のＹｅｓ）、当該ページのサイズが予め定められた閾値よりも大きいか否かがチェックされる（ステップＳ５２）。なお、各ページのサイズは、含まれているイメージのサイズ、当該イメージが有する色情報等に基づいて計算される。
【００５５】
当該チェックの結果、サイズが予め定められた閾値よりも小さい場合には（ステップＳ５２のＮｏ）、図２に基づいて説明したとおり、ステップＳ６〜Ｓ９の処理が行われて、２方向で圧縮処理されたデータがスプールされる（Ｓ１０）。
【００５６】
一方、サイズが予め定められた閾値よりも大きい場合には（ステップＳ５２のＹｅｓ）、図２のステップＳ６〜Ｓ８の処理が行われた後、１方向のみで圧縮処理を行い（ステップＳ９１）、その後のデータがスプールされる（Ｓ１０）。なお、ここでの１方向は、片面印刷用あるいは両面印刷の表面用の方向とすることが望ましい。以上例示したように、本変形例では、サイズの大きいページについては両方向のデータを予めスプールしておくことはしない。
【００５７】
図７は、本変形例における組み合わせ印刷ジョブの生成後の処理について例示したフローチャートである。前述した各ページの印刷データのスプールが終了した後、ユーザによる各指示が図２のステップＳ１２〜Ｓ１４に基づいて説明したように行われ、これらの指示に基づいて、プリンタドライバ１２は、前述のとおり、組み合わせ印刷ジョブを生成する（Ｓ１５）。その後、組み合わせ印刷ジョブに含まれる各ページ毎に、該当する方向のデータがスプールされているか否かをチェックする（ステップＳ１５１）。その結果、該当方向のデータがあれば（ステップＳ１５１のＹｅｓ）、特に何もせず、その方向のデータを選択する（Ｓ１６）。
【００５８】
一方、該当方向のデータがなければ（ステップＳ１５１のＮｏ）、スプールされている圧縮後のデータを解凍し、該当する方向で再度圧縮処理を行う（ステップＳ１５２）。そして、その圧縮処理後のデータをプリンタ２へ送信するデータとして選択する（Ｓ１６）。前述したように、サイズの大きいページについては、片面印刷用あるいは両面印刷の表面用の方向のデータのみがスプールされているので、ユーザからの要求が両面印刷であり、当該ページがその裏面に当たる場合には、該当する方向のデータがスプールされていないことになり、スプールされているデータから所望のデータが再生成されることになる。
【００５９】
このように、本変形例では、サイズの大きなページについては、予め２方向のデータを作らず必要となった時点で生成する。したがって、全てのページについて予め２方向のデータを生成しておく場合よりも、メモリ１３にスプールすべきデータ量を少なく抑えることができる。さらに、サイズの大きいページについて予め２方向のデータが生成されないので、その効果は大きなものとなる。
【００６０】
なお、上記変形例では、一つの閾値によって、各ページのサイズを大小に区分したが、二つの閾値を用いて各ページのサイズを大中小に区分し、各区分毎にそれぞれ異なる処理を行うようにしてもよい。例えば、“大”、“小”に区分されたページについては、前記変形例と同様に処理し、“中”に区分されたページについては、圧縮処理後に方向を変えて解凍すれば圧縮処理前に方向を変えた場合と同じデータが再現できる圧縮方法で、１方向から圧縮を行ってそのデータをスプールしておく（Ｓ１０）。
【００６１】
そして、この“中”に区分され上記圧縮方法で処理されたデータは、プリンタ２に送信する際の適正方向のデータ選択時（Ｓ１６）に、適正方向になっていればそのまま送信し、逆方向になっていれば適正方向に直して、すなわち、圧縮されたまま順番を逆にして、送信する。なお、かかる“中”のページは、“大”、“小”のページと圧縮方法が異なるので、プリンタ２における解凍処理においても異なる方法が取られる。
【００６２】
この大中小に区分する方法では、通常、“中”のページについてスプールされる１方向のデータが、“小”のページと同様に２方向のデータを生成するよりもサイズが小さくなるので、ある程度サイズの大きいページについてのスプール容量を小さく抑えることができる。また、この“中”のページについての１方向のデータは、“大”のページについてスプールされるデータよりも、通常、圧縮率が悪くなるが、適正方向のデータがスプールされておらずそのデータを生成する際に、“大”のページのように一度解凍する必要がなく、ユーザが印刷実行指示（Ｓ１４）を行なった後の処理を迅速に行うことができる。
【００６３】
また、前述の本実施形態例等においては、ホストベースのシステムを前提として、ホストコンピュータ１側で印刷データの展開処理や色変換処理等を実施するものとして説明したが、ホストベースのシステムでなくても本発明を適用することができる。かかる場合には、ホストコンピュータでは、アプリケーションから送信された各ドキュメントのデータをＰＤＬ（ページ記述言語）等で表現されたデータとし、その後に、前述したような複数印刷ジョブのページ単位でのスプール、ユーザへのスプール状態の表示、ユーザからの組み合わせ及び印刷実行指示の受信を行って、組み合わせ印刷ジョブを生成し、その後にプリンタへ送信する。
【００６４】
以上説明したように、本実施の形態例においては、複数のドキュメントをページ単位で任意に組み合わせた印刷物を容易に出力することが可能である。特に、元のドキュメントに含まれる各ページをすべて使用する必要はなく、また、ページの順番もユーザが任意に決定することができ、従来よりも自由度が高い組み合わせ印刷を実行することができる。また、ユーザによる組み合わせ方の指示は、ＧＵＩにより視覚的かつ感覚的に行うことができるので、ユーザ操作もかなり容易なものとなっている。
【００６５】
また、本実施の形態例では、両面印刷の際に必要となる２方向のデータを各ページについて予めスプールしておくので、ユーザが前記組み合わせ方の指示を行い印刷の実行を指示した後の処理が速く、組み合わせ印刷による出力を早く手にすることができるのでユーザの満足度も高い。
【００６６】
さらに、変形例等で示したように、データサイズによって前記方向別のスプールに制限を付けることで、組み合わせ印刷のための格納領域が過度に大きくなってしまうことを防ぐことができ、ホストコンピュータのメモリを効率よく使用することができる。
【００６７】
また、組み合わせ印刷ジョブとしてプリンタへ送信するデータは、組み合わせ印刷に含まれるページのデータのみであるので、ホストコンピュータとプリンタ間の無駄な通信を省くことができる。
【００６８】
本発明の保護範囲は、上記の実施の形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶものである。
【図面の簡単な説明】
【００６９】
【図１】本発明によるドライバプログラムを用いた実施の形態例に係る構成図である。
【図２】組み合わせ印刷を行なう際の処理を例示したフローチャートである。
【図３】スプールされた各印刷データ（印刷ジョブ）を例示した図である。
【図４】方向の異なる２種類の印刷データを例示した図である。
【図５】スプール状態の表示画面の一例を示した図である。
【図６】変形例におけるデータスプールまでの処理を例示したフローチャートである。
【図７】変形例での組み合わせ印刷ジョブ生成後について示したフローチャートである。
【符号の説明】
【００７０】
１  ホストコンピュータ、  ２  プリンタ、  １１  アプリケーション、  １２  プリンタドライバ、  １３  メモリ、  １４  ユーザＩ／Ｆ、  ２１  データバッファ、  ２
２  解凍部、  ２３  スクリーン処理部、  ２４  エンジン
【図１】
2006244065.tif 000003
【図２】
2006244065.tif 000004
【図３】
2006244065.tif 000005
【図４】
2006244065.tif 000006
【図５】
2006244065.tif 000007
【図６】
2006244065.tif 000008
【図７】
2006244065.tif 000009