(57)【要約】【課題】通常のブックレット印刷と見開きブックレット印刷とを混在させて印刷可能なプログラムを提供すること。【解決手段】プリンタ１０は、小冊子を形成するブックレット印刷が可能とされる。プリンタドライバは、複数のイメージデータから、小冊子の見開きで１ページ分として印刷する見開きイメージデータを指定する。プリンタドライバは、指定された見開きイメージデータを分割して２ページ分の分割イメージデータを生成する。プリンタドライバは、分割処理後におけるイメージデータの総ページ数がＭページである場合に、Ｐページ目（Ｐは自然数の変数、１≦Ｐ≦Ｍ／２）のイメージデータと、（Ｍ＋１−Ｐ）ページ目のイメージデータとを、印刷用紙の一面に割り付けることで、Ｍページ分の全てのイメージデータについて割り付け処理を行う。プリンタドライバは、割り付け結果に基づいて、イメージデータをプリンタ１０に印刷させる。【選択図】図２
2011013931.tif 000002
【特許請求の範囲】
【請求項１】
印刷用紙の両面に各２ページ分の印刷を行い、印刷後の前記印刷用紙を複数枚重ね合わせて２つ折りすることにより小冊子を形成できるブックレット印刷が可能な印刷装置に対して、通信可能に接続されるコンピュータを、
ページ番号の順に並んだイメージデータのうちから、前記小冊子の見開きで１ページ分として印刷する前記イメージデータを指定する指定手段と、
前記指定手段で指定された前記イメージデータを分割して２ページ分の前記イメージデータにする分割処理を行う分割手段と、
前記分割処理後における前記イメージデータを、前記印刷用紙を分割して得られる分割印刷領域の各々に対して割り付ける割り付け処理を行う割り付け手段と、
前記割り付け手段での割り付け結果に基づいて、前記印刷用紙の両面の各々に２ページ分ずつの前記イメージデータを前記印刷装置に印刷させる印刷制御手段と
して機能させるためのプログラム。
【請求項２】
前記分割処理後における前記イメージデータの総ページ数を表すＭの値が４の倍数となるように、ページ数調整用の前記イメージデータを前記イメージデータのページ列の最後尾に挿入する第１ページ数調整手段
として前記コンピュータを機能させることを特徴とする請求項１に記載のプログラム。
【請求項３】
前記指定手段で指定された前記イメージデータが分割されて得られた２つの前記イメージデータのページ番号のうち、小さい方のページ番号が奇数の時は、小さい方のページ番号を有する前記イメージデータの直前のページに、ページ数調整用の前記イメージデータを１ページ分挿入する第２ページ数調整処理を行う第２ページ数調整手段
として前記コンピュータを機能させることを特徴とする請求項１または請求項２に記載のプログラム。
【請求項４】
前記第２ページ数調整手段は、
前記指定手段で指定された前記イメージデータを、ページ番号が小さい前記イメージデータから順番に選択する処理と、
選択した前記イメージデータに対して前記第２ページ数調整処理を行うか否かを判断し、前記第２ページ数調整処理を行う場合には、前記第２ページ数調整処理を行った前記イメージデータ以降のページ番号を１ページずつスライドさせる処理とを、交互に繰り返し行う
ことを特徴とする請求項３に記載のプログラム。
【請求項５】
前記分割手段は、
前記分割処理によって１ページ分増加した前記イメージデータに対して、前記指定手段で指定された前記イメージデータのページ番号の次のページ番号を割り当てると共に、
前記分割処理を行った前記イメージデータよりも後ろのページ番号を１ページずつスライドさせる処理を行う
ことを特徴とする請求項１ないし請求項４の何れかに記載のプログラム。
【請求項６】
イメージデータの向きが前記小冊子の見開きにおいて左右方向にページ番号が進行する縦向きであり、前記小冊子の綴じ方向が前記小冊子の表側の表紙に対して右側が綴じられる右綴じで行われる場合、または、イメージデータの向きが前記小冊子の見開きにおいて上下方向にページ番号が進行する横向きであり、前記小冊子の綴じ方向が前記小冊子の表側の表紙に対して下側が綴じられる下綴じで行われる場合には、
前記指定手段で指定された前記イメージデータが分割されて得られた２つの前記イメージデータについて、ページ番号を入れ替える並び替え処理を行う並び替え手段
として前記コンピュータを機能させることを特徴とする請求項１ないし請求項５の何れかに記載のプログラム。
【請求項７】
前記分割手段は、
前記指定手段で指定された前記イメージデータの向きが、指定されていない他の前記イメージデータの向きと同じ場合は、指定された前記イメージデータを９０度回転させる回転処理を行い、
指定されていない他の前記イメージデータの領域サイズが、前記分割処理後の前記イメージデータの領域サイズと異なる場合は、指定されていない他の前記イメージデータの領域サイズと前記分割処理後の前記イメージデータの領域サイズとが等しくなるように前記領域サイズを変倍するサイズ変倍処理を行う
ことを特徴とする請求項１ないし請求項６の何れかに記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置にブックレット印刷を実行させるためのプログラムに関する。
【背景技術】
【０００２】
従来より、表裏面にそれぞれ２頁分ずつ印刷された用紙複数枚を重ね合わせて２つ折りして綴じてなる小冊子（ブックレット）を作製するための、ブックレット印刷を実行する画像形成装置が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平７−５０７３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、従来のブックレット印刷では、１枚の印刷用紙に２ページ分の印刷データを割り付けて印刷を行っている。よって例えば、ブックレット印刷を行う際に、パンフレットのように見開きの２ページを用いて１ページ分の印刷データを載せる形態と、通常の小冊子のように見開きの２ページの各々に１ページ分ずつの印刷データを載せる形態と、を混在させることが困難であった。本明細書では、このような不便性を解消することができる技術を提供する。
【課題を解決するための手段】
【０００５】
本発明に係るプログラムは、コンピュータを、指定手段と、分割手段と、割り付け手段と、印刷制御手段と、して機能させる。コンピュータは、印刷装置に対して通信可能に接続される。コンピュータに接続される印刷装置は１台に限られず、複数であってもよい。また、接続形態の一例としては、イーサネット（登録商標）やＵＳＢなどが挙げられる。印刷装置は、ブックレット印刷が可能とされる。ブックレット印刷は、印刷用紙の両面に各２ページ分の印刷を行い、印刷後の印刷用紙を複数枚重ね合わせて２つ折りすることにより小冊子を形成できる印刷方法である。
【０００６】
指定手段は、ページ番号の順に並んだイメージデータのうちから、小冊子の見開きで１ページ分として印刷するイメージデータを指定する。指定されるイメージデータは複数存在しても良い。見開きで１ページ分として印刷するイメージデータの選択は、例えば、ユーザによって行われるとしてもよいし、イメージデータの領域サイズに応じて自動的に行われるとしてもよい。
【０００７】
分割手段は、指定手段で指定されたイメージデータを分割して２ページ分のイメージデータにする分割処理を行う。分割処理は、イメージデータが印刷用紙の形状に合わせた長方形の形状を有する場合には、長辺の中点を通るように分割することが好ましい。分割手段により２分割されたイメージデータは、小冊子に製本された後では、見開きのページ境界部で連続することで、１ページ分のイメージデータを形成する。なお、１ページ分のイメージデータに分割処理を行うと、２ページ分のイメージデータが生成される。
【０００８】
割り付け手段は、分割処理後におけるイメージデータを、分割印刷領域の各々に対して割り付ける。また、分割印刷領域とは、印刷用紙を分割して得られる各々の領域のことである。印刷用紙が長方形の形状を有する場合には、長辺の中点を通るように分割することが好ましい。そして、イメージデータのページ列の先頭のイメージデータと最後尾のイメージデータとが分割印刷領域に割り付けられ、イメージデータのページ列の先頭から２番目のイメージデータと最後尾から２番目のイメージデータとが次の分割印刷領域に割り付けられ、という手順が繰り返されることによって、全てのイメージデータについて割り付け処理が行われる。
【０００９】
印刷制御手段は、割り付け手段での割り付け結果に基づいて、印刷用紙の両面の各々に２ページ分ずつのイメージデータを印刷する制御を行う。
【００１０】
これにより、１枚の印刷用紙に２ページ分のイメージデータを割り付けるブックレット印刷においても、パンフレットのように見開きの２ページを用いて１ページ分のイメージデータを載せる形態と、通常の小冊子のように見開きの２ページの各々に１ページ分ずつのイメージデータを載せる形態と、を混在させることが可能となる。また、ブックレット印刷において、指定したイメージデータを、小冊子の見開きで１ページ分として印刷することが可能となる。また、指定されたイメージデータのサイズと印刷用紙のサイズとが同じサイズである場合には、イメージデータを縮小することなく印刷することが可能となる。
【００１１】
また、コンピュータを、第１ページ数調整手段として機能させるとしてもよい。第１ページ数調整手段は、分割処理後におけるイメージデータの総ページ数を表すＭの値が４の倍数となるように、ページ数調整用のイメージデータをイメージデータのページ列の最後尾に挿入する。ページ数調整用のイメージデータは、例えば、白紙のイメージデータとしてもよい。これにより、ブックレット印刷では、１枚の印刷用紙の両面に各２ページ分、合計４ページ分の印刷が行われるため、イメージデータの総ページ数を４の倍数とすることが好ましいことから、好適なブックレット印刷が可能となる。
【００１２】
また、コンピュータを、第２ページ数調整手段として機能させるとしてもよい。第２ページ数調整手段は、指定手段で指定されたイメージデータが分割されて得られた２つのイメージデータのページ番号のうち、小さい方のページ番号が奇数か否かを判断する。例えば、Ｐページ目のページ番号のイメージデータが指定手段で指定された場合には、分割処理後においては、Ｐページ目と（Ｐ＋１）ページ目のイメージデータが生成される。この場合、小さい方のページ番号はＰページ目である。また、第２ページ数調整手段は、小さい方のページ番号が奇数である時は、小さい方のページ番号を有するイメージデータの直前のページに、ページ数調整用のイメージデータを１ページ分挿入する。例えば、小さい方のページ番号がＰページ目であった場合には、直前のページに、ページ数調整用のイメージデータが挿入される。これにより、分割処理により得られた２つのイメージデータの小さい方のページ番号を偶数とすることができる。
【００１３】
効果を説明する。小冊子の見開きページにおいては、小さい方のページ番号は偶数となり、大きい方のページ番号は奇数となる。そして、第２ページ数調整処理により、分割処理により得られた２つのイメージデータの小さい方のページ番号を偶数とし、大きい方のページ番号を奇数とすることができる。これにより、分割処理により得られた２つのイメージデータを、小冊子の見開きページに確実に割り当てることが可能となる。
【００１４】
また、第２ページ数調整手段は、指定手段で指定されたイメージデータを、ページ番号が小さいイメージデータから順番に選択する処理を行うとしてもよい。例えば、複数のイメージデータが指定された場合には、ページ番号が小さい順番にイメージデータが選択される。また、第２ページ数調整手段は、選択したイメージデータに対して第２ページ数調整処理を行うか否かを判断するとしてもよい。そして、第２ページ数調整処理を行う場合には、第２ページ数調整処理を行ったイメージデータ以降のページ番号を１ページずつスライドさせる処理を行うとしてもよい。例えば、Ｐページ目のイメージデータに第２ページ数調整処理を行う場合には、（Ｐ＋１）ページが（Ｐ＋２）ページにスライドされ、（Ｐ＋２）ページが（Ｐ＋３）ページにスライドされ、以下同様にページ番号が１ページずつスライドされる。そして第２ページ数調整手段は、イメージデータを選択する処理と、ページ番号を１ページずつスライドさせる処理とを、交互に繰り返し行うとしてもよい。
【００１５】
効果を説明する。第２ページ数調整処理を行うことによって、ページ数調整用のイメージデータが１ページ分挿入される。よって、第２ページ数調整処理が行われる度に、挿入ページ以降のページ番号が１ページずつ繰り下がり、挿入ページ以降のページ番号の偶数・奇数が入れ替わることになる。そこで、第２ページ数調整処理を行う度に、挿入ページ以降のページ番号をスライドさせて、第２ページ数調整処理による偶数・奇数の入れ替えの影響をページ番号に反映させた上で、次の第２ページ数調整処理を行うことにより、第２ページ数調整処理において偶数・奇数の判定を正確に実行することが可能となる。
【００１６】
また、分割手段は、分割処理によって１ページ分増加したイメージデータに対して、指定手段で指定されたイメージデータのページ番号の次のページ番号を割り当てる、としてもよい。例えば、Ｐページ目のイメージデータに分割処理が行われた場合には、増加したイメージデータに対しては、（Ｐ＋１）ページ目のページ番号が割り当てられる。さらに、分割手段は、分割処理を行ったイメージデータよりも後ろのページ番号を１ページずつスライドさせる処理を行う、としてもよい。例えば、Ｐページ目のイメージデータに分割処理が行われた場合には、（Ｐ＋１）ページが（Ｐ＋２）ページにスライドされ、（Ｐ＋２）ページが（Ｐ＋３）ページにスライドされ、以下同様にページ番号が１ページずつスライドされる。これにより、分割処理によりイメージデータのページ数が増加することに伴う、ページ番号のずれの発生を防止することができる。
【００１７】
また、コンピュータを、並び替え処理を行う並び替え手段として機能させるとしてもよい。並び替え処理は、イメージデータの向きが縦向きであり小冊子の綴じ方向が右綴じである場合、または、イメージデータの向きが横向きであり小冊子の綴じ方向が下綴じである場合、に実行される処理である。イメージデータの縦向きとは、イメージデータの矩形形状における長辺が、ユーザからみて前後方向となる向きである。縦向きのイメージデータをブックレット印刷に用いると、小冊子の見開きにおいて左右方向にページ番号が進行するため、小冊子の綴じ方向は左右方向となる。小冊子の右綴じとは、小冊子の表側の表紙に対して右側が綴じられる綴じ方向である。また、小冊子の左綴じとは、小冊子の表側の表紙に対して左側が綴じられる綴じ方向である。また、イメージデータの横向きとは、イメージデータの矩形形状における長辺が、ユーザからみて左右方向となる向きである。横向きのイメージデータをブックレット印刷に用いると、小冊子の見開きにおいて上下方向にページ番号が進行するため、小冊子の綴じ方向は上下方向となる。小冊子の下綴じとは、小冊子の表側の表紙に対して下側が綴じられる綴じ方向である。また、小冊子の上綴じとは、小冊子の表側の表紙に対して上側が綴じられる綴じ方向である。また、並び替え処理は、指定手段で指定されたイメージデータが分割されて得られた２つのイメージデータについて、ページ番号を入れ替える処理である。例えば、指定手段で指定されたイメージデータが分割されてＰページ目と（Ｐ＋１）ページ目のイメージデータが生成された場合には、Ｐページ目と（Ｐ＋１）ページ目とが互いに入れ替えられる。
【００１８】
例として、イメージデータが縦向きであり綴じ方向が右綴じである場合を説明する。分割手段により、選択されたイメージデータが分割されると、境界部を挟んで左側のイメージデータと右側のイメージデータとが生成される。そして、イメージデータは、見開きで１ページ分のイメージデータを形成するため、左側のイメージデータを見開きページの左側に割り付け、右側のイメージデータを見開きページの右側に割り付ける必要がある。すなわち、イメージデータの左右関係を入れ替えることはできない。
【００１９】
小冊子が左綴じの場合には、見開きにおいて左ページから右ページに順番にページ番号が進行する。よって、割り付け処理時には、左側のイメージデータは見開きページの左側に割り付けられ、右側のイメージデータは見開きページの右側に割り付けられるため、イメージデータの左右関係が入れ替えられない。一方、小冊子が右綴じの場合には、見開きにおいて右ページから左ページに順番にページ番号が進行する。よって、割り付け処理時には、左側のイメージデータは見開きページの右側に割り付けられ、右側のイメージデータは見開きページの左側に割り付けられるため、イメージデータの左右関係が入れ替えられてしまう。
【００２０】
そこで、イメージデータが縦向きであり綴じ方向が右綴じの場合には、割り付け処理前に並び替え処理を行い、予めイメージデータの左右関係を入れ替えておくことで、その後の割り付け処理時において再度イメージデータの左右関係が入れ替えられる。よって、最終的に、左側のイメージデータを見開きページの左側に割り付け、右側のイメージデータを見開きページの右側に割り付けることができる。これにより、イメージデータの左右関係が入れ替わることが防止されるため、小冊子の綴じ方向に関わらず、見開きで１ページ分のイメージデータを印刷させることが可能となる。また、並び替え処理によって予めイメージデータの左右関係の入れ替え処理を行っておくことにより、割り付け手段では特殊な処理を不要とすることができる。よって、パンフレットのように見開きの２ページを用いて１ページ分のイメージデータを載せる形態と、通常の小冊子のように見開きの２ページの各々に１ページ分ずつのイメージデータを載せる形態との間で、割り付け手段を共用化できるため、プログラムの構成を簡略化できる。
【００２１】
なお、イメージデータが横向きであり綴じ方向が下綴じである場合も、イメージデータが縦向きであり綴じ方向が右綴じである場合と同様である。すなわち、並び替え処理によってイメージデータの上下関係が入れ替わることが防止されるため、小冊子の綴じ方向に関わらず、見開きで１ページ分のイメージデータを印刷させることが可能となる。
【００２２】
また、分割手段は、指定手段で指定されたイメージデータの向きが、指定されていない他のイメージデータの向きと同じ場合は、指定されたイメージデータを９０度回転させる回転処理を行うとしてもよい。回転処理での回転方向は、右方向の９０度と、左方向の９０度（すなわち右方向に２７０度）との、何れの方向であってもよい。なお、指定手段で指定されたイメージデータの向きと、指定されていない他のイメージデータの向きとが異なる場合（例えば、一方が縦向きであり、他方が横向きの場合）では、回転処理は行われない。また、分割手段は、指定されていない他のイメージデータの領域サイズが、分割処理後のイメージデータの領域サイズと異なる場合は、指定されていない他のイメージデータの領域サイズと分割処理後のイメージデータの領域サイズとが等しくなるように領域サイズを変倍するサイズ変倍処理を行う、としてもよい。サイズ変倍処理には、縮小処理および拡大処理の両方が含まれる。また、サイズ変倍処理は、分割処理後のイメージデータに対して行われても良いし、指定手段で指定されていない他のイメージデータに対して行われても良い。例えば、指定手段で指定されたイメージデータの領域サイズと、指定されていない他のイメージデータの領域サイズとが同じ場合には、指定されていない他のイメージデータに対して領域サイズを１／２にするサイズ変倍処理を行っても良いし、分割処理後のイメージデータに対して領域サイズを２倍にするサイズ変倍処理を行っても良い。これにより、同一サイズの複数のイメージデータを用いる場合においても、小冊子の見開きの２ページを用いて１ページ分の指定したイメージデータを載せる形態と、通常の小冊子のように見開きの２ページの各々に１ページ分ずつの指定されていない他のイメージデータを載せる形態と、を混在させることが可能となる。
【図面の簡単な説明】
【００２３】
【図１】印刷システムの構成図である。
【図２】見開きブックレット印刷の動作フロー図である。
【図３】並び順調整処理の動作フロー図である。
【図４】ブックレット印刷処理の動作フロー図である。
【図５】見開きブックレット印刷の例（その１）を示す図である。
【図６】見開きブックレット印刷の例（その２）を示す図である。
【図７】見開きブックレット印刷の例（その３）を示す図である。
【図８】見開きブックレット印刷の例（その４）を示す図である。
【図９】分割イメージデータの割り付け方法の例を示す図である。
【発明を実施するための形態】
【００２４】
以下、本発明の実施形態について図面を用いて説明する。図１は、本実施形態の印刷システム１の構成図である。印刷システム１は、プリンタ１０と、パーソナルコンピュータであるＰＣ２０ａとを有している。プリンタ１０と、ＰＣ２０ａとは、ＬＡＮ３０により接続されている。
【００２５】
プリンタ１０の詳細な構成について説明する。プリンタ１０は、ＣＰＵ１１、液晶表示パネル１２、入力部１３、ＵＳＢ＿Ｉ／Ｆ１５、記憶部１６、ネットワークＩ／Ｆ１７、印刷エンジン１８、ＲＡＭ１９を備える。これらの構成要素は、バスを介して接続されている。
【００２６】
ＣＰＵ１１は、記憶部１６等に記憶されたプログラムに基づいて、印刷処理などの各種処理を実行する。液晶表示パネル１２は、各種の情報を表示する。入力部１３は、メカニカルスイッチやタッチパネル等を備え、ユーザからの操作入力を受け付ける。ＵＳＢ＿Ｉ／Ｆ１５は、ＵＳＢ対応機器とＵＳＢ規格に基づいた通信を実現するための通信処理を行う。記憶部１６は、ＲＯＭ、ハードディスク、フラッシュメモリ等の不揮発性の記憶媒体から構成され、プリンタ１０が各種機能を実現する際に利用するデータの記憶領域として用いられる。ネットワークＩ／Ｆ１７は、ＬＡＮ３０上の機器（本実施形態ではＰＣ２０ａ）と通信を行う。印刷エンジン１８は、ＣＰＵ１１からの指令に基づき、印刷媒体に画像を印刷する。ＲＡＭ１９は、ＣＰＵ１１がデータの書き込みや読み出しをすることができるメモリ空間を備える。
【００２７】
ＰＣ２０ａの詳細な構成について説明する。ＰＣ２０ａは、ＣＰＵ２１、ディスプレイ２２、キーボード２３、マウス２４、ネットワークＩ／Ｆ２５、記憶部２６、ＵＳＢ＿Ｉ／Ｆ２７、ＲＡＭ２９を備える。これらの構成要素は、バスを介して接続されている。
【００２８】
ＣＰＵ２１は、記憶部２６に記憶された各種のソフトウェアに基づいて処理を実行する。ディスプレイ２２は、各種の情報を表示する。キーボード２３は、周知のキーボードであり、ユーザからの操作入力を受け付ける。マウス２４は、周知のマウスであり、ユーザからの操作入力を受け付ける。ネットワークＩ／Ｆ２５は、他のＬＡＮ３０上の機器（本実施形態ではプリンタ１０）と通信を行う。ＵＳＢ＿Ｉ／Ｆ２７は、ＵＳＢ対応機器とＵＳＢ規格に基づいた通信を実現するための通信処理を行う。ＲＡＭ２９は、ＣＰＵ２１がデータの書き込みや読み出しをすることができるメモリ空間を備える。
【００２９】
記憶部２６には、ＯＳ（Operating System）や、各種アプリケーションプログラムや、プリンタ１０を制御するためのデバイスドライバなどの、各種のソフトウェアが記憶される。これらのソフトウェアは、実行時には、ＲＡＭ１９のメモリ空間上に展開されて実行される。アプリケーションプログラムの一例としては、写真加工ソフトなどの画像表示アプリケーション、ワープロアプリケーション、表計算アプリケーションなどが挙げられる。また、デバイスドライバの一例としては、プリンタ１０の印刷機能を制御するためのプリンタドライバが挙げられる。また、記憶部２６やＲＡＭ２９には、後述するイメージデータや分割イメージデータが保持される。
【００３０】
プリンタドライバは、プリンタ設定値を設定する機能を備える。プリンタ設定値の内容の一例としては、用紙サイズ、用紙の種類、印刷方向、コピー枚数、両面印刷するか否か、などが挙げられる。また、後述するブックレット印刷に関するプリンタ設定値の内容の一例としては、見開きイメージデータに設定されているイメージデータ名や、イメージデータが横向きか縦向きか、イメージデータが縦向きの場合は小冊子の綴じ方向は右綴じか左綴じか、イメージデータが横向きの場合は小冊子の綴じ方向は上綴じか左綴じか、などが挙げられる。プリンタ設定値は予めユーザ等によって設定され、記憶部２６に記憶されるとしてもよい。
【００３１】
また、プリンタドライバは、アプリケーションプログラムから渡された印刷用データを元に、プリンタ１０で用いられるイメージデータを生成し、プリンタ１０へ送信する。イメージデータは、プリンタ言語で記述された描画データをページ画像データに変換したデータである。
【００３２】
また、プリンタドライバは、プリンタ１０に対して、ブックレット印刷を実行させることが可能とされる。ブックレット印刷は、複数のページからなる小冊子を形成するための印刷方法である。ブックレット印刷では、各ページは、印刷用紙を２つ折りにしたときに順序が正しくなるよう配列される。ブックレット印刷の配列では、先頭のページと最後のページが同じ用紙に、２番目のページと後ろから２番目のページが同じ用紙にそれぞれ配列され、以下同様にすべてのページが配列される。そして、２つのページが並列に配列された状態で、印刷用紙の両面にそれぞれ印刷が行われる。両面印刷された印刷用紙は、ページ番号の順に重ねて２つ折りにされ、折り目にそって綴じられる。これにより、ページが正しく配列された、中綴じ小冊子を作成することができる。
【００３３】
印刷システム１で行われる印刷処理について、図２ないし図４のフローチャートを用いて説明する。本実施形態の説明例では、ＰＣ２０ａのプリンタドライバで生成したイメージデータをプリンタ１０に送信して、通常のブックレット印刷と見開きブックレット印刷とを混在させて印刷する場合を説明する。通常のブックレット印刷とは、見開きの２ページの各々に１ページ分ずつのイメージデータを載せる印刷形態である。また、見開きブックレット印刷とは、パンフレットのように見開きの２ページを用いて１ページ分の印刷データを載せる印刷形態である。
【００３４】
また本実施形態の説明例では、イメージデータの総ページ数Ｎ＝７の場合を説明する。また、小冊子を作成する際の２つ折りは、折り目を内側にする谷折りの場合を説明する。また、プリンタ出力のスタックの方法が、フェイスアップの場合を説明する。なお、印刷システム１で行われる印刷処理は、ユーザによって印刷指示が入力されることにより開始され、印刷の終了により終了する。
【００３５】
通常のブックレット印刷と見開きブックレット印刷との混在印刷が開始されると、Ｓ１１１において、プリンタドライバは、イメージデータの総ページ数Ｎを取得する。本実施形態の説明例では、図５（Ａ）に示すように、イメージデータＩＤ１ないしＩＤ７が並んでおり、総ページ数Ｎ＝７が取得される。
【００３６】
Ｓ１１２において、プリンタドライバは、イメージデータの中から、見開きイメージデータを設定する。見開きイメージデータは、見開きブックレット印刷を行うイメージデータである。なお、見開きイメージデータとして設定されるイメージデータは、複数あってもよい。また、プリンタドライバは、見開きイメージデータとして設定されたイメージデータを特定する情報（イメージデータ名など）を、記憶部２６やＲＡＭ２９に記憶する。
【００３７】
見開きイメージデータの設定は、ユーザインタフェース等を用いて、ユーザにより手動で設定されるとしてもよい。例えば、複数のイメージデータの中から見開きイメージデータを選択するダイアログがディスプレイ２２に表示されるとしてもよい。そして、ユーザがキーボード２３やマウス２４を用いて選択したイメージデータを、プリンタドライバが見開きイメージデータに設定するとしてもよい。
【００３８】
本実施形態の説明例では、図５（Ａ）に示すように、イメージデータＩＤ３およびＩＤ７が、見開きイメージデータとして設定される場合を説明する。この場合、イメージデータＩＤ３およびＩＤ７のイメージデータ名が、ＲＡＭ２９または記憶部２６に記憶される。
【００３９】
Ｓ１１３において、プリンタドライバは、イメージデータの１ページ目を選択する。Ｓ１１５において、プリンタドライバは、選択されたイメージデータが、見開きイメージデータであるか否かを確認する。具体的には、選択されたイメージデータ名と、ＲＡＭ２９または記憶部２６に記憶された見開きイメージデータ名とが一致するか否かを比較することで確認が行われる。選択されたイメージデータが見開きイメージデータでない場合（Ｓ１１５：ＮＯ）には、Ｓ１１６およびＳ１１７を飛ばしてＳ１１９へ進む。一方、選択されたイメージデータが見開きイメージデータである場合（Ｓ１１５：ＹＥＳ）には、Ｓ１１６へ進む。
【００４０】
Ｓ１１６において、プリンタドライバは、選択された見開きイメージデータに回転処理を行うか否かを判断する。具体的には、選択された見開きイメージデータの向きと、見開きイメージデータとして設定されていない他のイメージデータの向きとが同じである場合に、選択された見開きイメージデータに対して回転処理を行うと判断する。回転処理を行わないと判断される場合（Ｓ１１６：ＮＯ）にはＳ１１９へ進み、回転処理を行うと判断される場合（Ｓ１１６：ＹＥＳ）にはＳ１１７へ進む。Ｓ１１７において、プリンタドライバは、見開きイメージデータを左に９０度回転させる。そして、Ｓ１１９へ進む。
【００４１】
Ｓ１１９において、プリンタドライバは、イメージデータを１ページ目から順番に１つずつ選択する処理が、最終ページのイメージデータまで実行されたか否かを判断する。最終ページのイメージデータまで実行されていない場合（Ｓ１１９：ＮＯ）にはＳ１２０へ進み、次のページ番号のイメージデータが選択される。そしてＳ１１５へ戻り、選択されたイメージデータが見開きイメージデータであるか否かの確認が行われる。一方、最終ページのイメージデータまで実行されている場合（Ｓ１１９：ＹＥＳ）にはＳ１２１へ進む。これにより、Ｓ１１５ないしＳ１２０のループ処理が繰り返されることによって、見開きイメージデータは、全て回転される。本実施形態の説明例では、図５（Ｂ）に示すように、見開きイメージデータに設定されたイメージデータＩＤ３およびＩＤ７が左に９０度回転される。
【００４２】
Ｓ１２１において、プリンタドライバは、見開きイメージデータに分割処理を行い、２ページ分の分割イメージデータを生成する。分割処理は、見開きイメージデータが印刷用紙の形状に合わせた長方形の形状を有する場合には、長辺の中点を通るように分割することが好ましい。分割手段により２分割された分割イメージデータは、小冊子に製本された後では、見開きのページ境界部で連続することで、１ページ分のイメージデータを形成する。また、プリンタドライバは、見開きイメージデータに設定されていないイメージデータについて、１／２のサイズに縮小する処理を行う。これにより、見開きイメージデータに設定されていないイメージデータと、見開きイメージデータとが、全て同一サイズに揃えられる。
【００４３】
本実施形態の説明例では、図５（Ｃ）に示すように、見開きイメージデータに設定されたイメージデータＩＤ３が分割され、分割イメージデータＩＤ３ａおよびＩＤ３ｂが生成される。また、見開きイメージデータに設定されたイメージデータＩＤ７が分割され、分割イメージデータＩＤ７ａおよびＩＤ７ｂが生成される。また、見開きイメージデータに設定されていないイメージデータＩＤ１、ＩＤ２、ＩＤ４、ＩＤ５、ＩＤ６のサイズが１／２に縮小される。よって、全てのイメージデータおよび分割イメージデータが同一サイズに揃えられる。また、分割処理後の分割総ページ数Ｍ＝９とされる。
【００４４】
Ｓ１２３において、プリンタドライバは、イメージデータおよび分割イメージデータのページ番号調整処理を行う。具体的には、プリンタドライバは、分割処理によって１ページ分増加した分割イメージデータに対して、見開きイメージデータに設定されたイメージデータのページ番号の次のページ番号を割り当てる。例えば、見開きイメージデータに設定されたイメージデータ（Ｐページ目）に分割処理が行われた場合には、増加した分割イメージデータに対しては、（Ｐ＋１）ページ目のページ番号が割り当てられる。ここでＰは自然数の変数であり、Ｐの値の範囲は１≦Ｐ≦Ｍとされる。
【００４５】
さらに、プリンタドライバは、分割処理を行ったイメージデータよりも後ろのページ番号を１ページずつスライドさせる処理を行う。例えば、見開きイメージデータに設定されたイメージデータ（Ｐページ目）に分割処理が行われた場合には、（Ｐ＋１）ページが（Ｐ＋２）ページにスライドされ、（Ｐ＋２）ページが（Ｐ＋３）ページにスライドされ、以下同様にページ番号が１ページずつスライドされる。これにより、分割処理によりイメージデータのページ数が増加することに伴う、ページ番号のずれの発生を防止することができる。
【００４６】
本実施形態の説明例では、図５（Ｂ）に示すように、見開きイメージデータに設定されたイメージデータＩＤ３（３ページ目）に分割処理が行われる。そして、図５（Ｃ）に示すように、増加した分割イメージデータＩＤ３ｂに対しては、４ページ目のページ番号が割り当てられる。さらに、分割処理を行ったイメージデータＩＤ３よりも後ろのイメージデータＩＤ４以降のページ番号が、１ページずつスライドされる。なお、見開きイメージデータに設定されたイメージデータＩＤ７についても同様の処理が行われる。
【００４７】
Ｓ１２５において、プリンタドライバは、イメージデータの並び順調整処理を行う。図３のフローを用いて、並び順調整処理を説明する。並び順調整処理では、Ｓ１４１ないしＳ１５１で行われるページ数調整処理と、Ｓ１５３ないしＳ１６３で行われる並び替え処理とが行われる。
【００４８】
ページ数調整処理（Ｓ１４１ないしＳ１５１）について説明する。Ｓ１４１において、プリンタドライバは、ページ番号が小さい見開きイメージデータから順番に、見開きイメージデータを１つずつ選択する処理を行う。初期状態では、一番ページ番号が小さい見開きイメージデータが選択される。
【００４９】
Ｓ１４３において、プリンタドライバは、選択された見開きイメージデータの見開き印刷が成立するか否かを判断する。具体的な判断方法を説明する。小冊子の見開きページにおいては、２ページと３ページ、４ページと５ページ、というように、小さい方のページ番号は偶数となり、大きい方のページ番号は奇数となる。そして、Ｐページ目の見開きイメージデータを分割して、Ｐページ目と（Ｐ＋１）ページ目の分割イメージデータが得られた場合には、小さい方のＰページ目が偶数であるときに見開き印刷が成立すると判断され、Ｐページ目が奇数であるときに見開き印刷が成立しないと判断される。よって、分割イメージデータの小さい方のＰページ目が奇数である場合（Ｓ１４３：ＮＯ）には、Ｓ１４５へ進み、見開きページ数調整処理が行われる。一方、Ｐページ目が偶数である場合（Ｓ１４３：ＹＥＳ）には、Ｓ１４５を飛ばしてＳ１４７へ進む。
【００５０】
Ｓ１４５において、プリンタドライバは、小さい方のページ番号（Ｐページ目）を有するイメージデータの直前のページに、ページ数調整用のイメージデータを１ページ分挿入する。ページ数調整用イメージデータは、例えば、白紙のイメージデータとしてもよい。これにより、分割処理により得られた２つのイメージデータの小さい方のページ番号を偶数とすることができる。よって、分割処理により得られた２つのイメージデータを、小冊子の見開きページに確実に割り当てることができるため、見開きイメージデータの見開き印刷を成立させることが可能となる。
【００５１】
Ｓ１４６において、プリンタドライバは、見開きページ数調整処理を行ったイメージデータ以降のイメージデータのページ番号を、１ページずつスライドさせる処理を行う。例えば、Ｐページ目のイメージデータに見開きページ数調整処理を行う場合には、（Ｐ＋１）ページが（Ｐ＋２）ページにスライドされ、（Ｐ＋２）ページが（Ｐ＋３）ページにスライドされ、以下同様にページ番号が１ページずつスライドされる。
【００５２】
Ｓ１４７に進むと、プリンタドライバは、見開きイメージデータに設定されたイメージデータの全てついて、見開き印刷の成立性を確認したか否かを判断する。見開きイメージデータに設定されたイメージデータの全てについて、確認が完了した場合（Ｓ１４７：ＹＥＳ）には、Ｓ１４８へ進む。一方、見開きイメージデータに設定されたイメージデータの全てについて確認が完了していない場合（Ｓ１４７：ＮＯ）には、Ｓ１４１へ戻る。
【００５３】
Ｓ１４１へ戻ると、プリンタドライバは、次の見開きイメージデータに設定されたイメージデータを選択する。そしてＳ１４３に進み、新たに選択された見開きイメージデータについて、見開き印刷の成立性が判断される。そしてＳ１４７において、見開きイメージデータに設定されたイメージデータの全てついて、見開き印刷の成立性を確認したか否かが再判断される。
【００５４】
これにより、Ｓ１４１ないしＳ１４７のループ処理が繰り返されることによって、見開きイメージデータに設定されたイメージデータの全てついて、見開き印刷の成立性が確認される。
【００５５】
Ｓ１４１ないしＳ１４７のループ処理の効果を説明する。見開きページ数調整処理が行われることによって、ページ数調整用イメージデータが１ページ分挿入される。そして、ページ数調整用イメージデータが挿入される度に、挿入ページ以降のページ番号が１ページずつ繰り下がり、挿入ページ以降のページ番号の偶数・奇数が入れ替わる。そこで、見開きページ数調整処理が行われる度に、挿入ページ以降のページ番号をスライドさせて、見開きページ数調整処理による偶数・奇数の入れ替えの影響をページ番号に反映させる反映処理を行う。そして、反映処理の後に、次の見開きページ数調整処理を行う。このように、反映処理と見開きページ数調整処理とをループ処理することにより、見開きページ数調整処理において偶数・奇数の判定を正確に実行することが可能となる。
【００５６】
本実施形態の説明例では、１回目のループ処理では、図５（Ｂ）に示すように、見開きイメージデータに設定されたイメージデータＩＤ３が選択される（Ｓ１４１）。そして、図５（Ｃ）に示すように、ページ番号が小さい方の分割イメージデータＩＤ３ａのページ数（３ページ）が奇数であるため（Ｓ１４３：ＮＯ）、図６（Ｄ）に示すように、直前のページにページ数調整用イメージデータＩＤＰ１が挿入される（Ｓ１４５）。そして、図６（Ｄ）の領域Ｒ１に示すように、３ページ目以降のページ番号が１ページずつスライドされる（Ｓ１４６）。
【００５７】
同様に、２回目のループ処理では、図５（Ｂ）に示すように、見開きイメージデータに設定されたイメージデータＩＤ７が選択される（Ｓ１４１）。そして、図６（Ｄ）に示すように、ページ番号が小さい方の分割イメージデータＩＤ７ａのページ数（９ページ）が奇数であるため（Ｓ１４３：ＮＯ）、図６（Ｅ）に示すように、直前のページにページ数調整用イメージデータＩＤＰ２が挿入される（Ｓ１４５）。そして、図６（Ｅ）の領域Ｒ２に示すように、９ページ目以降のページ番号が１ページずつスライドされる（Ｓ１４６）。
【００５８】
Ｓ１４８に進むと、プリンタドライバは、分割総ページ数Ｍから、印刷回数Ｋを算出する。印刷回数Ｋは印刷用紙に印刷を行う回数である。印刷回数Ｋは、分割総ページ数Ｍが２で割り切れる場合には、印刷回数Ｋ＝分割総ページ数Ｍ／２、となる。また、分割総ページ数Ｍが２で割り切れない場合には、印刷回数Ｋ＝（分割総ページ数Ｍ／２の整数部分）＋１となる。本実施形態の図６（Ｅ）の説明例では、分割総ページ数Ｍ＝１１となり、印刷回数Ｋ＝６となる。
【００５９】
Ｓ１４９において、プリンタドライバは、分割総ページ数Ｍの値が、実印刷ページ数に一致するか否かを判断する。実印刷ページ数は、ブックレット印刷処理で実際に印刷されるイメージデータのページ数である。ブックレット印刷では、１枚の印刷用紙に２ページ分のイメージデータを割り付けて印刷を行うため、実印刷ページ数の値は、印刷回数Ｋの２倍の値となる。また、１回の印刷回数で２ページ分のイメージデータが印刷されるため、実印刷ページ数の値は４の倍数となる。分割総ページ数Ｍの値が実印刷ページ数に一致しないと判断される場合（Ｓ１４９：ＮＯ）には、Ｓ１５１へ進み、総ページ数調整処理が実行される。一方、分割総ページ数Ｍの値が実印刷ページ数に一致すると判断される場合（Ｓ１４９：ＹＥＳ）には、総ページ数調整処理を行わず、Ｓ１５３へ進んで並び替え処理に移行する。本実施形態の例では、図６（Ｅ）に示すように、分割総ページ数Ｍ（１１）と実印刷ページ数（１２）とが一致しないため、Ｓ１５１へ進む。
【００６０】
Ｓ１５１において、プリンタドライバは、総ページ数調整処理を行う。総ページ数調整処理では、分割総ページ数Ｍの値が実印刷ページ数に一致するように（すなわち、分割総ページ数Ｍが４の倍数となるように）、イメージデータのページ列の最後尾に、ページ数調整用イメージデータを追加する。ページ数調整用のイメージデータは、例えば、白紙のイメージデータとしてもよい。これにより、ブックレット印刷では、１枚の印刷用紙の両面に各２ページ分、合計４ページ分の印刷が行われるため、分割総ページ数Ｍを４の倍数とすることが好ましいことから、好適なブックレット印刷が可能となる。本実施形態の例では、図６（Ｆ）に示すように、イメージデータのページ列の最後に１ページ分のページ数調整用イメージデータＩＤＰ３が追加される。よって、分割総ページ数Ｍ＝１２となり、４の倍数となる。
【００６１】
次に、並び替え処理（Ｓ１５３ないしＳ１６３）について説明する。イメージデータの向きには、横向きと縦向きとが存在する。イメージデータの縦向きとは、イメージデータの矩形形状における長辺が、ユーザからみて前後方向となる向きである。縦向きのイメージデータをブックレット印刷に用いると、小冊子の見開きにおいて左右方向にページ番号が進行する。このときは、イメージデータが分割されると、境界部を挟んで左側の分割イメージデータと右側の分割イメージデータとが生成される。そして、分割イメージデータは、見開きで１ページ分のイメージデータを形成するため、左側の分割イメージデータを見開きページの左側に割り付け、右側の分割イメージデータを見開きページの右側に割り付ける必要がある。すなわち、分割イメージデータの左右関係を入れ替えることはできない。
【００６２】
また、イメージデータの横向きとは、イメージデータの矩形形状における長辺が、ユーザからみて左右方向となる向きである。横向きのイメージデータをブックレット印刷に用いると、小冊子の見開きにおいて上下方向にページ番号が進行する。このときは、イメージデータが分割されると、境界部を挟んで上側の分割イメージデータと下側の分割イメージデータとが生成される。そして、上側の分割イメージデータを見開きページの上側に割り付け、下側の分割イメージデータを見開きページの下側に割り付ける必要がある。すなわち、分割イメージデータの上下関係を入れ替えることはできない。
【００６３】
また、イメージデータが縦向きの場合には、小冊子の綴じ方向には、右綴じおよび左綴じが存在する。小冊子の右綴じとは、小冊子の表側の表紙に対して右側が綴じられ、本を読み進める際にページを右に開いていく綴じ方である。また、小冊子の左綴じとは、小冊子の表側の表紙に対して左側が綴じられ、本を読み進める際にページを左に開いていく綴じ方である。
【００６４】
また、イメージデータが横向きの場合には、小冊子の綴じ方向には、上綴じおよび下綴じが存在する。小冊子の下綴じとは、小冊子の表側の表紙に対して下側が綴じられ、本を読み進める際にページを下に開いていく綴じ方である。また、小冊子の上綴じとは、小冊子の表側の表紙に対して上側が綴じられ、本を読み進める際にページを上に開いていく綴じ方である。
【００６５】
以上より、小冊子の綴じ方には、パタンＡ（イメージデータが縦向き、小冊子が左綴じ）、パタンＢ（イメージデータが縦向き、小冊子が右綴じ）、パタンＣ（イメージデータが横向き、小冊子が上綴じ）、パタンＤ（イメージデータが横向き、小冊子が下綴じ）、の４つのパタンが存在する。
【００６６】
そして、パタンＢの場合には、見開きにおいて右ページから左ページに順番にページ番号が進行する。よって、割り付け処理時には、左側の分割イメージデータは見開きページの右側に割り付けられ、右側の分割イメージデータは見開きページの左側に割り付けられるため、分割イメージデータの左右関係が入れ替えられてしまう。同様に、パタンＤの場合には、見開きにおいて下ページから上ページに順番にページ番号が進行する。よって、割り付け処理時には、上側の分割イメージデータは見開きページの下側に割り付けられ、下側の分割イメージデータは見開きページの上側に割り付けられるため、分割イメージデータの上下関係が入れ替えられてしまう。よって、パタンＢおよびＤでは、小冊子の見開きでのページ番号の進行方向と、分割イメージデータのページ番号の進行方向とが一致しない。すると、パタンＢおよびＤでは、ブックレット印刷処理の実行前に、並び替え処理を行う必要がある。なお、並び替え処理の内容については後述する。
【００６７】
一方、パタンＡの場合には、見開きにおいて左ページから右ページに順番にページ番号が進行する。よって、割り付け処理時には、左側の分割イメージデータは見開きページの左側に割り付けられ、右側の分割イメージデータは見開きページの右側に割り付けられるため、分割イメージデータの左右関係が入れ替えられない。同様に、パタンＣの場合には、見開きにおいて上ページから下ページに順番にページ番号が進行する。よって、割り付け処理時には、上側の分割イメージデータは見開きページの上側に割り付けられ、下側の分割イメージデータは見開きページの下側に割り付けられるため、分割イメージデータの上下関係が入れ替えられない。よって、パタンＡおよびＣでは、小冊子の見開きでのページ番号の進行方向と、分割イメージデータのページ番号の進行方向とが一致するため、ブックレット印刷処理の実行前に、並び替え処理が不要とされる。
【００６８】
以下、並び替え処理について詳述する。Ｓ１５３において、プリンタドライバは、イメージデータの向きが横向きか縦向きかを判断する。縦向きであると判断される場合にはＳ１５７へ進み、プリンタドライバは、綴じ方が右綴じか左綴じかを判断する。右綴じであると判断される場合にはＳ１６３へ進み、左綴じであると判断される場合には並び替え処理を終了する。一方、Ｓ１５３において、横向きであると判断される場合にはＳ１５５へ進み、プリンタドライバは、綴じ方が上綴じか下綴じかを判断する。下綴じであると判断される場合にはＳ１６３へ進み、上綴じであると判断される場合には並び替え処理を終了する。
【００６９】
これにより、パタンＡおよびパタンＣの場合にはイメージデータの並び順調整処理が終了され、パタンＢおよびパタンＤの場合にはＳ１６３へ進むことになる。なお、Ｓ１５３ないしＳ１５７の判断は、記憶部２６に記憶されている、イメージデータの向きや小冊子の綴じ方向についてのプリンタ設定値に基づいて行われるとしてもよい。
【００７０】
パタンＢおよびパタンＤの場合に行われる処理内容を説明する。例として、図７に示すパタンＢ（イメージデータが縦向き、小冊子が右綴じ）の場合を説明する。
【００７１】
Ｓ１６３において、プリンタドライバは、見開きイメージデータに設定されたイメージデータに対して、並び替え処理を行う。並び替え処理では、割り付けた時に見開きになる分割イメージデータの組について、隣り合う偶数ページと奇数ページを入れ替える処理が行われる。
【００７２】
図７（Ａ）の例では、見開きになる組である、分割イメージデータＩＤ３ａおよびＩＤ３ｂの４ページと５ページとが入れ替えられ、分割イメージデータＩＤ７ａおよびＩＤ７ｂの１０ページと１１ページとが入れ替えられる（図７（Ａ）、矢印Ｙ２２）。並び替え処理が終了すると、Ｓ１２７（図２）へ進む。
【００７３】
また、パタンＡおよびパタンＣの場合には、並び替え処理は行われない。よって、図８に示すパタンＡ（イメージデータが縦向き、小冊子が左綴じ）の例では、並び替え処理が実行されない状態とされる。
【００７４】
Ｓ１２７において、プリンタドライバは、ブックレット印刷処理を行う。図４のフローを用いて、ブックレット印刷処理について説明する。
【００７５】
Ｓ８１において、プリンタドライバは、印刷イメージデータを分割印刷領域に割り付ける際に、印刷イメージデータのサイズが分割印刷領域に収まるサイズとされているか否かを判断する。ここで、印刷イメージデータとは、イメージデータおよび分割イメージデータを含むイメージデータの総称である。また、分割印刷領域とは、印刷用紙を分割して得られる各々の領域のことである。印刷用紙が長方形の形状を有する場合には、長辺の中点を通るように分割することが好ましい。印刷イメージデータのサイズが分割印刷領域に収まるサイズではないと判断される場合（Ｓ８１：ＮＯ）には、Ｓ８３へ進む。Ｓ８３において、プリンタドライバは、印刷イメージデータが分割印刷領域に収まるように、印刷イメージデータのサイズを変倍する。そしてＳ８５へ進む。これにより、各種の印刷用紙のサイズに対応して、ブックレット印刷を行うことが可能となる。
【００７６】
一方、Ｓ８１において、印刷イメージデータのサイズが分割印刷領域に収まるサイズであると判断される場合（Ｓ８１：ＹＥＳ）には、Ｓ８３に進むことなく、Ｓ８５へ進む。
【００７７】
Ｓ８５において、プリンタドライバは、印刷イメージデータの割り付けの組み合わせを決定する。割り付けの組み合わせでは、印刷イメージデータのページ列の先頭の印刷イメージデータと、最後尾の印刷イメージデータとが組み合わされる。また、印刷イメージデータのページ列の先頭から２番目の印刷イメージデータと、最後尾から２番目の印刷イメージデータとが組み合わされる。そして、この手順が繰り返されることによって、分割総ページ数Ｍページ分の全ての印刷イメージデータについて、組み合わせが決定される。
【００７８】
Ｓ８７において、プリンタドライバは、印刷の向きや、綴じ方向や、プリンタ出力のスタックの方法がフェイスアップかフェイスダウンかに基づいて、分割印刷領域への印刷イメージデータの割り付け方法を決定する。フェイスアップは、印刷面を上向きにして積み重ねるように印刷用紙を出力する方法である。フェイスアップが用いられるプリンタの例としては、インクジェットプリンタなどが挙げられる。また、フェイスダウンは、印刷面を下向きにして積み重ねるように印刷用紙を出力する方法である。フェイスダウンが用いられるプリンタの例としては、レーザプリンタなどが挙げられる。
【００７９】
Ｓ８７で決定される割り付け方法には、イメージデータの向き、綴じ方向、およびプリンタ出力方法の組合せに応じて、８種類が存在する。８種類の割り付け方法の例ついて、図９（Ａ）ないし（Ｈ）に示す。図９は、印刷イメージデータの１ページ目、２ページ目、最終ページから１ページ前の（Ｍ−１）ページ目、最終ページであるＭページ目、の４つのページについて、１枚の印刷用紙の両面に割り付ける方法を示した図である。
【００８０】
本実施形態の図８の例では、イメージデータが縦向き、綴じ方向が左綴じ、プリンタ出力方法がフェイスアップであるため、図９（Ａ）の割り付け方法に該当する。また、本実施形態の図７の例では、イメージデータが縦向き、綴じ方向が右綴じ、プリンタ出力方法がフェイスアップであるため、図９（Ｂ）の割り付け方法に該当する。なお、その他の図９（Ｃ）ないし（Ｈ）の割り付け方法に該当する割り付け例については、ここでは詳細な説明は省略する。
【００８１】
Ｓ９１において、プリンタドライバは、決定した割り付けの組み合わせと割り付け方法に従って、１枚の印刷用紙の両面に対して印刷イメージデータの割り付け処理を行う。初回の割り付け処理では、印刷イメージデータの１ページ目とＭページ目が印刷用紙の一方の面に割り付けられ、印刷イメージデータの２ページ目と（Ｍ−１）ページ目が印刷用紙の他方の面に割り付けられる。そしてＳ９３へ進む。ここでＰは自然数の変数であり、Ｐの値の範囲は１≦Ｐ≦Ｍ／２とされる。
【００８２】
Ｓ９３においてプリンタドライバは、Ｓ９１での割り付け結果に基づいて、プリンタ１０に対して、印刷用紙の両面に計４ページ分の印刷イメージデータを印刷させる。
【００８３】
Ｓ９５に進むと、プリンタドライバは、印刷の終了条件を満たすか否かを判断する。終了条件は、印刷イメージデータのＰページ目が、分割総ページ数Ｍを２で割った値より大きい場合に、終了条件を満たすと判断される。すなわち、印刷イメージデータを１ページ目から順番に割り付け、分割総ページ数Ｍの丁度半分の印刷イメージデータまで割り付けが行われると、終了条件を満たすと判断される。終了条件を満たす場合（Ｓ９５：ＹＥＳ）には、ブックレット印刷が終了される。一方、終了条件を満たさない場合（Ｓ９５：ＮＯ）には、Ｓ９１へ戻る。
【００８４】
Ｓ９１へ戻ると、プリンタドライバは、印刷イメージデータの３ページ目と（Ｍ−２）ページ目を印刷用紙の一方の面に割り付け、４ページ目と（Ｍ−３）ページ目を印刷用紙の他方の面に割り付ける。そしてＳ９３において印刷が行われ、Ｓ９５において終了条件が再度判断される。
【００８５】
このように、印刷イメージデータの先頭側から２ページずつと、最後尾側から２ページずつを割り付けて印刷を行う処理を、終了条件を満たすまで繰り返すことで、全ての印刷イメージデータについて割り付けおよび印刷が行われる。
【００８６】
本実施形態の図８（Ａ）の例（イメージデータが縦向き、綴じ方向が左綴じ、プリンタ出力方法がフェイスアップ）では、図８（Ｂ）に示すように割り付けおよび印刷が行われる。また、本実施形態の図７（Ａ）の例（イメージデータが縦向き、綴じ方向が右綴じ、プリンタ出力方法がフェイスアップ）では、図７（Ｂ）に示すように割り付けおよび印刷が行われる。
【００８７】
本実施形態に係る発明の効果を説明する。本実施形態に係るプリンタドライバでは、イメージデータの中から、見開きイメージデータを設定する。  そして、見開きイメージデータに設定されたイメージデータを分割して２ページ分の分割イメージデータにする分割処理を行う。そして、イメージデータと分割イメージデータとが混在する印刷イメージデータを、印刷用紙に対して割り付ける。これにより、ブックレット印刷において、見開きイメージデータに設定したイメージデータを、小冊子の見開きで１ページ分として印刷することが可能となる。よって、１枚の印刷用紙に２ページ分のイメージデータを割り付けるブックレット印刷においても、パンフレットのように見開きの２ページを用いて１ページ分のイメージデータを載せる形態と、通常の小冊子のように見開きの２ページの各々に１ページ分ずつのイメージデータを載せる形態と、を混在させることが可能となる。
【００８８】
また、本実施形態に係るプリンタドライバでは、見開きイメージデータに設定されたイメージデータが分割されて得られた２つのイメージデータのページ番号のうち、小さい方のページ番号が奇数か否かを判断する。そして、小さい方のページ番号が奇数である時は、小さい方のページ番号を有するイメージデータの直前のページに、ページ数調整用のイメージデータを１ページ分挿入する。これにより、分割処理により得られた２つのイメージデータを、小冊子の見開きページに確実に割り当てることが可能となる。
【００８９】
また、本実施形態に係るプリンタドライバでは、見開きイメージデータに設定されたイメージデータをページ番号が小さいイメージデータから順番に選択する処理と、選択したイメージデータが分割されて得られた２つのイメージデータのページ番号のうち、小さい方のページ番号が奇数か否かを判断する処理とを、繰り返し行う。そして、小さい方のページ番号を有するイメージデータの直前のページに、ページ数調整用のイメージデータを１ページ分挿入する見開きページ数調整処理を行う際には、見開きページ数調整処理を行ったイメージデータ以降のページ番号を１ページずつスライドさせる処理を行う。これにより、見開きページ数調整処理において偶数・奇数の判定を正確に実行することが可能となる。
【００９０】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
【００９１】
本実施形態では、Ｓ１１２において、見開きイメージデータの設定がユーザにより手動で設定される場合を説明したが、この形態に限られない。プリンタドライバが、複数のイメージファイル内から、見開きイメージデータに設定することが好ましい印刷ページ設定を有するイメージファイルを検出し、検出したイメージファイルを自動で見開きイメージファイルに設定するとしてもよい。例えば、ワープロなどのアプリケーションプログラムにおいて、印刷方向や印刷用紙サイズなどの印刷ページ設定がイメージファイル毎に設定され、記憶部２６に記憶されるとしてもよい。そして、プリンタドライバが記憶部２６から印刷ページ設定を読み出し、見開きイメージデータに設定することが好ましい印刷ページ設定を有するイメージファイルについて、自動的に見開きイメージデータに設定するとしてもよい。
【００９２】
また、本実施形態では、Ｓ１２１において、見開きイメージデータに設定されていないイメージデータを１／２のサイズに縮小処理する場合を説明したが、この形態に限られない。縮小処理を行うか否かは、見開きイメージデータに設定されていない他のイメージデータのサイズと、見開きイメージデータのサイズとの関係に応じて決定されるとしてもよい。例えば、見開きイメージデータが、見開きイメージデータに設定されていない他のイメージデータに対して２倍のサイズである場合には、見開きイメージデータを分割して生成された分割イメージデータのサイズと、見開きイメージデータに設定されていない他のイメージデータのサイズとが同等になるため、縮小処理が不要となる。
【００９３】
また、本実施形態では、Ｓ１１７において、見開きイメージデータを左に９０度回転させる場合を説明したが、この形態に限られない。見開きイメージデータを回転させるか否かや、回転方向は、見開きイメージデータに設定されていない他のイメージデータと、見開きイメージデータとの印刷方向の関係に応じて決定されるとしてもよい。例えば、見開きイメージデータの印刷方向が縦方向、見開きイメージデータに設定されていない他のイメージデータの印刷方向が横方向である場合には、見開きイメージデータの印刷方向が既に見開きに適した方向とされているため、回転処理が不要とされる。
【００９４】
また、プリンタ１０が有する機能は印刷機能に限られず、スキャナ機能、コピー機能、ＦＡＸ機能等を有していてもよい。
【００９５】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【００９６】
なお、プリンタ１０は印刷装置の一例、ＰＣ２０ａはコンピュータの一例、総ページ数調整処理は第１ページ数調整手段の一例、見開きページ数調整処理は第２ページ数調整手段の一例、である。
【００９７】
また、Ｓ１１２を実行する制御部は指定手段の一例である。Ｓ１１７、Ｓ１２１、Ｓ１２３を実行する制御部は分割手段の一例である。Ｓ９１を実行する制御部は割り付け手段の一例である。Ｓ９３を実行する制御部は印刷制御手段の一例である。Ｓ１４９、Ｓ１５１を実行する制御部は第１ページ数調整手段の一例である。Ｓ１４１、Ｓ１４５、Ｓ１４６を実行する制御部は第２ページ数調整手段の一例である。Ｓ１６３を実行する制御部は並び替え手段の一例である。
【符号の説明】
【００９８】
１      印刷システム
１０    プリンタ
２０ａ  ＰＣ
２６    記憶部
Ｎ      総ページ数
Ｍ      分割総ページ数
Ｋ      印刷回数
ＩＤ１ないしＩＤ７      イメージデータ
ＩＤ３ａおよびＩＤ３ｂ  分割イメージデータ
ＩＤ７ａおよびＩＤ７ｂ  分割イメージデータ
ＩＤＰ１ないしＩＤＰ３  ページ数調整用イメージデータ
【図１】
2011013931.tif 000003
【図２】
2011013931.tif 000004
【図３】
2011013931.tif 000005
【図４】
2011013931.tif 000006
【図５】
2011013931.tif 000007
【図６】
2011013931.tif 000008
【図７】
2011013931.tif 000009
【図８】
2011013931.tif 000010
【図９】
2011013931.tif 000011