(57)【要約】【課題】画像データから生成された印刷用データを編集する場合に、編集が反映された状態の圧縮された印刷用データを効率よく再構成できる印刷制御プログラムおよび印刷制御装置を提供する。【解決手段】プリンタドライバは、画像データから印刷用データを生成する生成処理と、画像データに対して指定された印刷設定から印刷用データの区切り位置を決定する決定処理と、区切り位置で区切った領域ごとに印刷用データを圧縮する圧縮処理と、をＣＰＵに実行させる。生成した印刷用データを編集する場合に、印刷設定に基づいた区切り位置で区切った領域ごとに編集することで、編集が反映された状態の圧縮された印刷用データを効率よく再構成することができる。【選択図】図９
2014115689.tif 000002
【特許請求の範囲】
【請求項１】
画像データから印刷用データを生成する生成処理と、
前記画像データに対して指定された印刷設定から前記印刷用データの区切り位置を決定する決定処理と、
前記区切り位置で区切った領域ごとに前記印刷用データを圧縮する圧縮処理と、
を情報処理装置に実行させる印刷制御プログラム。
【請求項２】
請求項１に記載の印刷制御プログラムであって、
前記決定処理では、前記指定された印刷設定が印刷対象となる１シートの片面に複数のページを割り付ける印刷設定である場合に、前記複数のページの各境界を区切り位置と決定する、印刷制御プログラム。
【請求項３】
請求項１または請求項２に記載の印刷制御プログラムであって、
前記決定処理では、前記指定された印刷設定が印刷対象となる各シートに綴じ代を割り付ける印刷設定である場合に、綴じ代の領域と、綴じ代を割り付けることでシートからはみ出す領域と、シートに含まれる綴じ代以外の領域と、の各領域の境界を前記区切り位置と決定する、印刷制御プログラム
【請求項４】
請求項１から請求項３のいずれか１項に記載の印刷制御プログラムであって、
前記決定処理では、前記指定された印刷設定が前記印刷用データに対して付加画像を付加する印刷設定である場合に、前記付加画像を付加する領域を含む領域と、その他の領域と、の境界を前記区切り位置と決定する、印刷制御プログラム。
【請求項５】
請求項４に記載の印刷制御プログラムであって、
第１方向の寸法が前記付加画像の前記第１方向の寸法と等しく、前記第１方向と直交する第２方向の寸法が前記シートに割り付ける画像の前記第２方向の寸法と等しい第１矩形領域の面積が、第２方向の寸法が前記付加画像の前記第２方向の寸法と等しく、前記第１方向の寸法が前記シートに割り付ける画像の前記第１方向の寸法と等しい第２矩形領域の面積よりも大きいのか否かを判断する判断処理、を前記情報処理装置に実行させ、
前記決定処理では、前記判断処理により肯定判断された場合に、前記第２方向において前記付加画像を付加する領域を含む領域と、その他の領域と、の境界を前記区切り位置と決定し、前記判断処理により否定判断された場合に、前記第１方向において前記付加画像を付加する領域を含む領域と、その他の領域と、の境界を前記区切り位置と決定する、印刷制御プログラム。
【請求項６】
請求項４または請求項５に記載の印刷制御プログラムであって、
前記生成処理では、前記画像データから前記付加画像を付加する前の印刷用データを生成し、
前記付加画像を付加する領域を含む領域について、前記付加画像を付加する前の印刷用データに付加画像を付加した印刷用データと、前記付加画像を付加する前の前記印刷用データと、をそれぞれ記憶する記憶処理を前記情報処理装置に実行させる、印刷制御プログラム。
【請求項７】
請求項１から請求項６のいずれか１項に記載の印刷制御プログラムであって、
前記圧縮処理では、前記印刷用データに含まれる連続データをデータと連続数とを表す符号にする圧縮を行い、前記連続データに前記区切り位置がある場合は、その区切り位置までのデータを前記連続データとして取り扱う、印刷制御プログラム。
【請求項８】
請求項７に記載の印刷制御プログラムであって、
前記圧縮処理では、前記印刷用データの処理対象ラインに含まれるデータについて、前ラインと同じデータが含まれる場合は、そのデータの数を表す符号にする前ライン参照圧縮を行い、前ラインと処理対象ラインとの間に前記区切り位置がある場合は、前記前ライン参照圧縮を行わないものとする、印刷制御プログラム。
【請求項９】
実行処理部を備える印刷制御装置であって、
前記実行処理部は、
画像データに対して指定された印刷設定に基づいて印刷用データを生成する生成処理と、
前記指定された印刷設定から前記印刷用データの区切り位置を決定する決定処理と、
前記区切り位置で区切った領域ごとに前記印刷用データを圧縮する圧縮処理と、
を実行する構成を備える印刷制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
画像データから生成された印刷用データを圧縮するための技術に関する。
【背景技術】
【０００２】
従来から、画像データから生成された印刷用データを圧縮する印刷制御プログラムがある。このような印刷制御プログラムでは、印刷用データを所定のブロック単位で分割し、その分割したブロック単位ごとに印刷用データを圧縮することで、印刷用データを編集する場合に、その印刷用データを圧縮したブロック単位で編集することで印刷用データを再構成することがある（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２７１２３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、印刷用データを再構成する場合、情報処理装置にかかる負荷が小さくなるように、印刷用データを分割しておくことが好ましい。しかし、印刷用データを所定のブロック単位ごとに分割すると、編集対象となるブロックが最適ではない場合がある。例えば、印刷用データのある領域を編集する場合に、そのある領域が複数のブロックにわたって含まれる場合がある。よって、編集対象となる領域を編集するのに複数ブロックの印刷用データを編集する必要があり、情報処理装置に余分な負荷がかかってしまうおそれがある。その結果、印刷用データを効率よく再構成できないおそれがある。
【０００５】
本明細書では、画像データから生成された印刷用データを編集する場合に、編集が反映された状態の圧縮された印刷用データを効率よく再構成することが可能な技術を開示する。
【課題を解決するための手段】
【０００６】
本明細書によって開示される印刷制御プログラムは、画像データから印刷用データを生成する生成処理と、前記画像データに対して指定された印刷設定から前記印刷用データの区切り位置を決定する決定処理と、前記区切り位置で区切った領域ごとに前記印刷用データを圧縮する圧縮処理と、を情報処理装置に実行させる構成を有する。
【０００７】
この印刷制御プログラムによって、情報処理装置は、画像データから印刷用データを生成し、その画像データに対して指定された印刷設定から印刷用データの区切り位置を決定する。その後、情報処理装置は、区切り位置で区切った領域ごとに印刷用データを圧縮する。このため、生成した印刷用データを編集する場合に、印刷設定に基づいた区切り位置で区切った領域ごとに編集することで、編集が反映された状態の圧縮された印刷用データを効率よく再構成することができる。
【０００８】
上記の印刷制御プログラムは、前記決定処理では、前記指定された印刷設定が印刷対象となる１シートの片面に複数のページを割り付ける印刷設定である場合に、前記複数のページの各境界を区切り位置と決定してもよい。
【０００９】
この印刷制御プログラムによって、情報処理装置は、印刷対象となる１シートの片面に複数のページを割り付ける印刷設定、いわゆるＮｉｎ１印刷の設定が指定された場合に、複数のページの各境界を区切り位置と決定する。このため、Ｎｉｎ１印刷において、印刷用データを生成した後にその印刷用データを編集する場合に、複数のページの各境界を区切り位置として区切った領域ごとに圧縮された印刷用データのうち、編集するページを含む領域のみを用いることで、編集が反映された状態の圧縮された印刷用データを効率よく再構成することができる。
【００１０】
上記の印刷制御プログラムは、前記決定処理では、前記指定された印刷設定が印刷対象となる各シートに綴じ代を割り付ける印刷設定である場合に、綴じ代の領域と、綴じ代を割り付けることでシートからはみ出す領域と、シートに含まれる綴じ代以外の領域と、の各領域の境界を前記区切り位置と決定してもよい。
【００１１】
この印刷制御プログラムによって、情報処理装置は、印刷対象となる各シートに綴じ代を割り付ける印刷設定、いわゆるオフセット印刷の設定が指定された場合に、綴じ代の領域と、綴じ代を割り付けることでシートからはみ出す領域と、シートに含まれる綴じ代以外の領域と、の各領域の境界を区切り位置と決定する。このため、例えば、印刷用データを生成した後にその印刷用データのオフセット印刷が解除された場合に、綴じ代の領域と、綴じ代を割り付けることでシートからはみ出す領域と、シートに含まれる綴じ代以外の領域と、の領域ごとに圧縮された印刷用データのうち、綴じ代を割り付けることでシートからはみ出す領域と、シートに含まれる綴じ代以外の領域を用いることで、編集が反映された状態の圧縮された印刷用データを効率よく再構成することができる。
【００１２】
上記の印刷制御プログラムは、前記決定処理では、前記指定された印刷設定が前記印刷用データに対して付加画像を付加する印刷設定である場合に、前記付加画像を付加する領域を含む領域と、その他の領域と、の境界を前記区切り位置と決定してもよい。
【００１３】
この印刷制御プログラムによって、情報処理装置は、画像データに付加画像を付加する印刷設定、いわゆるウォーターマーク印刷の設定が指定された場合に、付加画像を付加する領域を含む領域と、その他の領域と、の境界を区切り位置と決定する。このため、ウォーターマーク印刷において、印刷用データを生成した後にその印刷用データを編集する場合に、付加画像を付加する領域を含む領域と、その他の領域と、がそれぞれ圧縮された印刷用データのうち、編集する領域を含む領域のみを用いることで、編集が反映された状態の圧縮された印刷用データを効率よく再構成することができる。
【００１４】
上記の印刷制御プログラムは、第１方向の寸法が前記付加画像の前記第１方向の寸法と等しく、前記第１方向と直交する第２方向の寸法が前記シートに割り付ける画像の前記第２方向の寸法と等しい第１矩形領域の面積が、第２方向の寸法が前記付加画像の前記第２方向の寸法と等しく、前記第１方向の寸法が前記シートに割り付ける画像の前記第１方向の寸法と等しい第２矩形領域の面積よりも大きいのか否かを判断する判断処理、を前記情報処理装置に実行させ、前記決定処理では、前記判断処理により肯定判断された場合に、前記第２方向において前記付加画像を付加する領域を含む領域と、その他の領域と、の境界を前記区切り位置と決定し、前記判断処理により否定判断された場合に、前記第１方向において前記付加画像を付加する領域を含む領域と、その他の領域と、の境界を前記区切り位置と決定してもよい。
【００１５】
この印刷制御プログラムによって、情報処理装置は、ウォーターマーク印刷において、印刷対象となるシートにおける付加画像を付加する領域の区切り方向を変えることで、付加画像を付加する領域を含む領域についての第１面積と第２面積のうちどちらの面積が大きいのかを判断する。そして、情報処理装置は、第１面積が大きい場合は、第２方向において付加画像を付加する領域とその他の領域との境界を、第２面積が大きい場合は、第１方向において付加画像を付加する領域を含む領域と、その他の領域と、の境界を、区切り位置とする区切り位置情報を決定する。即ち、第１面積と第２面積のうち面積が小さい方の領域を、付加画像を付加する領域を含む領域として用いる。このため、ウォーターマーク印刷において、付加画像を付加する領域を含む領域の大きさを抑えることができる。付加画像を付加する領域は、例えば付加画像を削除するなどの編集がされる可能性が高い。よって、付加画像を付加する領域を含む領域の大きさを抑えることでデータの再構成に係る情報処理装置の負荷を抑えることができる。また、付加画像を付加する領域において、付加画像を付加する前の印刷用データと付加画像を付加した後の印刷用データを記憶する場合がある。このような場合に、付加画像を付加する領域の大きさを抑えることにより、記憶に必要なメモリ領域を抑えることができる。
【００１６】
上記の印刷制御プログラムは、前記生成処理では、前記付加画像を付加する前の前記画像データから印刷用データを生成し、前記付加画像を付加する領域を含む領域について、前記付加画像を付加する前の印刷用データに付加画像を付加した印刷用データと、前記付加画像を付加する前の前記印刷用データと、をそれぞれ記憶する記憶処理を前記情報処理装置に実行させてもよい。
【００１７】
この印刷制御プログラムによって、情報処理装置は、ウォーターマーク印刷において、生成処理で付加画像を付加する前の画像データから印刷用データをさらに生成する。そして、情報処理装置は、付加画像を付加する領域を含む領域について、付加画像を付加した後の印刷用データと、付加画像を付加する前の印刷用データと、をそれぞれ記憶する。このため、印刷用データを生成した後に付加画像を削除する編集を行う場合に、付加画像を付加する前の印刷用データの全領域を編集しなくとも、印刷用データを再構成することができる。即ち、付加画像を削除する編集を行う場合は、情報処理装置は、付加画像を付加する領域を含む領域については、付加画像を付加する前の圧縮された印刷用データを用い、一方、その他の領域については、付加画像を付加した後の圧縮された印刷用データを用いて印刷用データを再構成することができる。よって、情報処理装置は、圧縮されたデータを展開せずに付加画像が削除された状態の圧縮された印刷用データを効率よく再構成することができる。
【００１８】
上記の印刷制御プログラムは、前記圧縮処理では、前記印刷用データに含まれる連続データをデータと連続数とを表す符号にする圧縮を行い、前記連続データに前記区切り位置がある場合は、その区切り位置までのデータを前記連続データとして取り扱ってもよい。
【００１９】
この印刷制御プログラムによって、情報処理装置は、圧縮処理において、印刷用データに含まれる連続データをデータと連続数とを表す符号にする圧縮を行い、連続データに前記区切り位置がある場合は、その区切り位置までのデータを連続データとして取り扱う、いわゆるランレングス圧縮を行う。このように、区切り位置で区切られる領域毎にデータを圧縮するので、例えば印刷用データを編集する内容によっては、区切り位置で区切られた圧縮データを展開することなく並び替えだけをすればよい場合もある。よって、印刷用データの再構成がより一層容易となる。
【００２０】
上記の印刷制御プログラムは、前記圧縮処理では、前記印刷用データの処理対象ラインに含まれるデータについて、前ラインと同じデータが含まれる場合は、そのデータの数を表す符号にする前ライン参照圧縮を行い、前ラインと処理対象ラインとの間に前記区切り位置がある場合は、前記前ライン参照圧縮を行わないものとしてもよい。
【００２１】
この印刷制御プログラムによって、情報処理装置は、圧縮処理において、印刷用データの処理対象ラインに含まれるデータについて、前ラインと同じデータが含まれる場合は、そのデータの数を表す符号にする前ライン参照圧縮を行い、前ラインと処理対象ラインとの間に区切り位置がある場合は、前ライン参照圧縮を行わないものとする、いわゆる前ライン参照圧縮を行う。このように、区切り位置で区切られる領域毎にデータを圧縮するので、例えば印刷用データを編集する内容によっては、区切り位置で区切られた圧縮データを展開することなく並び替えだけをすればよい場合もある。よって、印刷用データの再構成がより一層容易となる。
【００２２】
なお、本明細書によって開示される発明は、印刷制御装置、印刷制御方法、これらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体等の種々の態様で実現することができる。
【発明の効果】
【００２３】
本明細書によって開示される発明によれば、画像データから生成された印刷用データを編集する場合に、編集が反映された状態の圧縮された印刷用データを効率よく再構成することができる。
【図面の簡単な説明】
【００２４】
【図１】実施形態に係るＰＣの電気的構成を示すブロック図
【図２】プレビューア起動前の全体の流れを示すフローチャート
【図３】Ｎｉｎ１印刷処理を示すフローチャート
【図４】オフセット印刷処理を示すフローチャート
【図５】ウォーターマーク印刷処理を示すフローチャート
【図６】圧縮処理を示すフローチャート
【図７】プレビューア起動後の全体の流れを示すフローチャート
【図８】Ｎｉｎ１出力処理を示すフローチャート
【図９】オフセット出力処理を示すフローチャート
【図１０】ウォーターマーク出力処理を示すフローチャート
【図１１】Ｎｉｎ１印刷における区切り位置を説明するための模式図
【図１２】オフセット印刷における区切り位置を説明するための模式図
【図１３】ウォーターマーク印刷における区切り位置を説明するための模式図
【発明を実施するための形態】
【００２５】
（パーソナルコンピュータの構成）
図面を参照して実施形態を説明する。図１に示すように、実施形態に係るパーソナルコンピュータ（ＰＣ）２は、制御部１８、操作部２８、表示部２６、ネットワークインタフェース２４、ＵＳＢインターフェイス２２等を備える。このＰＣ２は情報処理装置の一例である。
【００２６】
操作部２８は、キーボードやマウス、それらが接続されるインターフェイス等で構成される。表示部２６は、液晶ディスプレイ、液晶ディスプレイを駆動するディスプレイ駆動回路等で構成される。ネットワークインタフェース２４はＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗａｒｋ）などの通信回線に接続される。ＵＳＢインターフェイス２２はＵＳＢケーブルに接続される。なおＰＣ２は、ＵＳＢケーブルを介してプリンタ２０と接続されている。
【００２７】
プリンタ２０は、印刷対象となるシートに電子写真方式やインクジェット方式等で画像を印刷する装置である。
【００２８】
制御部１８は、ＣＰＵ３４、ＲＯＭ３２、ＲＡＭ３０、ハードディスクドライブ（ＨＤＤ）４を有する。ＣＰＵ３４は、ＲＯＭ３２やＨＤＤ４から読み出したプログラムに従って、ＰＣ２の各部を制御する。ＲＡＭは、ＣＰＵ３４が各種処理を行う際に一時的な記憶領域として利用される。ＲＯＭ３２にはＣＰＵ３４によって実行されるプログラムやデータ等が記憶されている。
【００２９】
ＨＤＤ４には、プリンタドライバ６、アプリケーションプログラム１４、オペレーションシステム（ＯＳ）１６等が記憶されている。アプリケーションプログラム１４は、文書作成ソフト、作図ソフト、表計算ソフト、写真データ編集ソフト等、任意のプログラムであってもよい。ユーザはアプリケーションプログラム１４にしたがってＣＰＵ３４により表示される印刷画面で印刷指示を入力することができる。印刷指示が入力されると、アプリケーションプログラム１４は、印刷対象となる画像データをプリンタグラフィックス１２に出力する。なお、上記プログラムが記憶される媒体は、ＨＤＤ４以外に、ＲＯＭ３２やＲＡＭ３０、ＣＤ−ＲＯＭ、フラッシュメモリ等の不揮発性メモリであってもよい。
【００３０】
ＣＰＵ３４は、プリンタドライバ６に従ってプリンタ２０を制御する。プリンタドライバ６は印刷制御プログラムの一例である。プリンタドライバ６は、ユーザインターフェイスドライバ８、プレビューア１０、プリンタグラフィックスドライバ１２等を有する。
【００３１】
ＣＰＵ３４は、ユーザインターフェイスドライバ８に従って、印刷設定画面を表示部２６に表示させる。また、印刷設定画面では、シートサイズ、シートの種類、印刷の向き、ヘッダー／フッター等の合成、倍率変更、１シートの片面への複数のページの割り付け、綴じ代の割り付け、ウォーターマークの付加等の印刷設定を入力することができる。
【００３２】
ＣＰＵ３４は、プレビューア１０に従って、印刷されるシートに形成される画像であるプレビュー画像を表示部２６に表示させる。プレビューア１０が起動した状態で、ユーザは印刷設定画面で入力した印刷設定を変更することができる。また、プレビューア１０が起動した状態で、ユーザは印刷指示を入力することができる。印刷指示が入力されると、ＣＰＵ３４は、プレビューア１０に従って、変更された印刷設定に基づいて印刷用データを再構成する。
【００３３】
ＣＰＵ３４は、プリンタグラフィックスドライバ１２に従って、プリンタ２０用のデータである印刷用データや、プレビューア１０用のデータであるプレビューデータを画像データから生成する。具体的には、ＣＰＵ３４は、プリンタグラフィックスドライバ１２に従って、アプリケーションプログラム１４から出力された印刷対象となる画像データを、印刷設定画面で設定された印刷設定に基づいて加工しながら印刷用データやプレビューデータを生成する。加工の内容としては、ヘッダー，フッター等の合成、倍率変更、１シートの片面への複数のページの割り付け、綴じ代の割り付け、ウォーターマークの付加等が該当する。なお、本実施形態では、画像データから生成される印刷用データのファイル形式をビットマップ形式とする。
【００３４】
（プレビューアが起動されるまでの処理）
次に、プリンタドライバ６に従ってＣＰＵ３４が実行する処理の流れについて説明する。ここで、本実施形態では、ＣＰＵ３４は、まず、プリンタドライバ６に従って印刷用データをプリンタ２０に出力する前にプレビューア１０を起動し、終了する。ＣＰＵ３４がプリンタドライバ６に従うことでプレビューア１０が起動されると、ＣＰＵ３４は、プレビュー画像を表示部２６に表示させる。そして、ＣＰＵ３４は、プレビューア１０が起動された状態でユーザによって印刷指示が入力されることで、印刷用データをプリンタ２０に出力する。そこで、まず、アプリケーションプログラム１４から印刷対象となる画像データを受信してからプレビューア１０が起動されるまでにプリンタドライバ６に従ってＣＰＵ３４が実行する処理（以下、起動前処理と称する）について、図２から図６のフローチャートを参照して説明する。印刷対象となる画像データは、アプリケーションプログラム１４に従ってＣＰＵ３４により表示される印刷画面でユーザが印刷指示を入力すると出力される。
【００３５】
まず、図２に示すように、アプリケーションプログラム１４から印刷対象となる画像データを受信すると、ＣＰＵ３４は、印刷設定画面においてユーザによって指定された印刷設定の情報を取得する（Ｓ２）。次に、ＣＰＵ３４は、Ｓ２で取得した印刷設定の情報から、印刷設定画面において、図１１の上段に示すような１シートの片面に複数のページを割り付ける印刷（以下、Ｎｉｎ１印刷と称する）設定が指定されたのか否かを判断する（Ｓ４）。なお、図１１の上段には、１シートの片面に４つのページが割り付けられた４ｉｎ１の例を示している。
【００３６】
ＣＰＵ３４は、Ｓ４でＮｉｎ１印刷設定が指定されたと判断した場合（Ｓ４：ＹＥＳ）、後述するＮｉｎ１印刷処理を実行する（Ｓ８）。ＣＰＵ３４は、Ｎｉｎ１印刷処理が終了すると、プレビューア１０を起動して表示部２６にプレビュー画像を表示し（Ｓ１８）、起動前処理を終了する。
【００３７】
ＣＰＵ３４は、Ｓ４でＮｉｎ１印刷設定が指定されていないと判断した場合（Ｓ４：ＮＯ）、Ｓ２で取得した印刷設定の情報から、印刷設定画面において図１２の上段に示すような印刷対象となる各シートに綴じ代を割り付ける印刷（以下、オフセット印刷と称する）設定が指定されたのか否かを判断する（Ｓ６）。
【００３８】
ＣＰＵ３４は、Ｓ６でオフセット印刷設定が指定されたと判断した場合（Ｓ６：ＹＥＳ）、後述するオフセット印刷処理を実行する（Ｓ１２）。ＣＰＵ３４は、オフセット印刷処理が終了すると、プレビューア１０を起動して表示部２６にプレビュー画像を表示し（Ｓ１８）、起動前処理を終了する。
【００３９】
ＣＰＵ３４は、Ｓ６でオフセット印刷設定が指定されていないと判断した場合（Ｓ６：ＮＯ）、Ｓ２で取得した印刷設定の情報から、印刷設定画面において図１３の上段に示すような印刷用データにウォーターマークＷＭを付加する印刷（以下、ウォーターマーク印刷と称する）設定が指定されたのか否かを判断する（Ｓ１０）。なお、ウォーターマークＷＭは付加画像の一例であり、本実施形態では文字表示等の可視的なマークを指すものとする。図１３の上段には、ウォーターマークＷＭとして「ＣＯＰＹ」の文字表示が付加された例を示している。
【００４０】
ＣＰＵ３４は、Ｓ１０でウォーターマーク印刷設定が指定されたと判断した場合（Ｓ１０：ＹＥＳ）、後述するウォーターマーク印刷処理を実行する（Ｓ１４）。ＣＰＵ３４は、ウォーターマーク印刷処理が終了すると、プレビューア１０を起動し（Ｓ１８）、起動前処理を終了する。
【００４１】
ＣＰＵ３４は、Ｓ１０でウォーターマーク印刷設定が指定されていないと判断した場合（Ｓ１０：ＮＯ）、印刷設定画面で指定された印刷設定に基づいて印刷用データを生成し（Ｓ１５）、後述する圧縮処理を実行する（Ｓ１６）。ＣＰＵ３４は、圧縮処理が終了すると、プレビューア１０を起動し（Ｓ１８）、起動前処理を終了する。
【００４２】
（Ｎｉｎ１印刷処理）
次に、ＣＰＵ３４が実行するＮｉｎ１印刷処理について、図３及び図１１を参照して説明する。Ｎｉｎ１印刷処理では、ＣＰＵ３４は、まず、プリンタドライバ６に従って、画像データからＮｉｎ１印刷設定が反映された状態の印刷用データとプレビューデータとをそれぞれ生成し（Ｓ２０）、Ｓ２２に移行する。Ｓ２０でＣＰＵ３４が行う処理は生成処理の一例である。本実施形態では、１シートの片面に４つのページを割り付ける印刷設定（４ｉｎ１印刷）がユーザによって指示されたものとして説明する。従って、Ｓ２０では、図１１の上段に示すような印刷用データ４０が生成される。なお、図１１から図１３の模式図では、説明のため、印刷用データに基づくビットマップ画像を図示している。
【００４３】
ここで、本実施形態では、印刷設定画面でＮｉｎ１印刷、オフセット印刷、ウォーターマーク印刷のいずれかの印刷設定がユーザによって指定された場合、ＣＰＵ３４は、印刷用データを複数の領域に区切り、その区切った領域ごとに印刷用データを圧縮する。ＲＡＭ３０には、上記各印刷設定の種類ごとに定められた区切り位置の決定方法に関する情報が記憶されている。そして、印刷設定画面で上記各印刷設定のいずれかが指定されると、ＣＰＵ３４は、指定された印刷設定と対応する上記決定方法に関する情報をＲＡＭ３０から読み出す。
【００４４】
具体的には、Ｎｉｎ１印刷に対して、複数のページの各境界を区切り位置と決定する決定方法に関する情報がＲＡＭ３０に記憶されている。また、オフセット印刷に対して、綴じ代の領域（以下、綴じ代領域と称する）と、綴じ代を割り付けることでシートからはみ出す領域（以下、はみ出し領域と称する）と、シートに含まれる綴じ代以外の領域（以下、綴じ代外領域と称する）と、の各領域の境界を区切り位置と決定する決定方法に関する情報がＲＡＭ３０に記憶されている。また、ウォーターマーク印刷に対して、ウォーターマークを付加する領域を含む領域と、その他の領域と、の境界を区切り位置と決定する決定方法に関する情報がＲＡＭ３０に記憶されている。
【００４５】
さらに、ＲＡＭ３０には、上記各印刷設定と対応する形で、印刷用データに基づくビットマップ画像における余白等の位置を示す座標情報が記憶されている。ＣＰＵ３４は、ＲＡＭ３０から読み出した上記決定方法に関する情報と、印刷設定画面でユーザによって指定されたシートのサイズ、シートの向き、等の情報から特定される上記座標情報を組み合わせることで、印刷用データに基づくビットマップ画像における区切り位置の座標を決定する。これにより、印刷用データの区切り位置が決定される。
【００４６】
図３を参照してフローチャートの続きを説明する。Ｓ２２では、ＣＰＵ３４は、Ｎｉｎ１印刷設定と対応する区切り位置の決定方法に関する情報をＲＡＭ３０から読み出し、その他の印刷設定情報から特定される座標情報から、印刷用データ４０に基づくビットマップ画像における区切り位置の座標を決定する。例えば図１１のように４ｉｎ１印刷が設定されている場合、シートのサイズ、シートの向き、シートに割り付けるページの数（この場合は４）等の印刷設定から区切り位置の座標を決定する。これにより、図１１の上段に示すように、ＣＰＵ３４は、Ｓ４で生成した印刷用データ４０において、１シートの片面に割り付けられた４つのページの各境界を区切り位置Ｌ１に決定する（Ｓ２２）。Ｓ２２でＣＰＵ３４が行う処理は決定処理の一例である。次に、ＣＰＵ３４は、後述する圧縮処理を実行し（Ｓ２４）、Ｎｉｎ１印刷処理を終了する。
【００４７】
（オフセット印刷処理）
次に、ＣＰＵ３４がＳ１４で実行するオフセット印刷処理について、図４及び図１２を参照して説明する。オフセット印刷処理では、ＣＰＵ３４は、まず、プリンタドライバ６に従って、画像データから印刷用データを生成する（Ｓ２５）。Ｓ２５でＣＰＵ３４が行う処理は生成処理の一例である。Ｓ２５では、図１２の上段太枠内に示すような印刷用データ５０が生成される。
【００４８】
次に、ＣＰＵ３４は、Ｓ２５で生成した印刷用データ５０のうち、綴じ代を割り付けることで印刷対象外領域、即ちはみ出し領域６０となる領域についての印刷用データをＲＡＭ３０に記憶する（Ｓ２６）。このように、印刷対象外領域の印刷用データをＲＡＭ３０に記憶させることで、印刷対象外領域についての印刷用データの情報が失われることを防止することができる。次に、ＣＰＵ３４は、Ｓ２５で生成した印刷用データ５０に綴じ代領域５０Ａを割り付け、綴じ代領域５０Ａが割り付けられた状態のプレビューデータを生成する（Ｓ２８）。
【００４９】
次に、ＣＰＵ３４は、オフセット印刷と対応する区切り位置の決定方法に関する情報をＲＡＭ３０から読み出し、その他の印刷設定情報から特定される座標情報から、印刷用データ５０に基づくビットマップ画像における区切り位置の座標を決定する。具体的には、オフセットの位置（シートの上端、下端、左端、右端のいずれかの位置）やオフセット量に基づいて、区切り位置の座標を決定する。これにより、図１２の上段に示すように、ＣＰＵ３４は、Ｓ２５で生成した印刷用データ５０において、綴じ代領域５０Ａと、はみ出し領域６０と、綴じ代外の領域５０Ｂと、の各領域の境界を区切り位置Ｌ２として決定する（Ｓ３０）。Ｓ３０でＣＰＵ３４が行う処理は決定処理の一例である。
【００５０】
次に、ＣＰＵ３４は、印刷対象領域、即ち、綴じ代領域５０Ａと綴じ代外領域５０Ｂの印刷用データ５０について、後述する圧縮処理を実行する（Ｓ３２）。次に、ＣＰＵ３４は、Ｓ２６で記憶した印刷対象外領域、即ちはみ出し領域６０についての印刷用データ５０をＲＡＭ３０から読み出す（Ｓ３４）。次に、ＣＰＵ３４は、Ｓ３４で読み出したはみ出し領域６０の印刷用データ５０について、後述する圧縮処理を実行し（Ｓ３６）、オフセット印刷処理を終了する。
【００５１】
（ウォーターマーク印刷処理）
次に、ＣＰＵ３４がＳ１６で実行するウォーターマーク印刷処理について、図５及び図１３を参照して説明する。ウォーターマーク印刷処理では、ＣＰＵ３４は、まず、プリンタドライバ６に従って、画像データからウォーターマークを付加する前の印刷用データを生成する（Ｓ３８）。なお、以下では、図４の上段に示す印刷用データ７０を参照して説明する。本実施形態では、印刷用データ７０に基づくビットマップ画像の略中央部にウォーターマークＷＭを付加する設定がユーザによって指定されたものとして説明する。
【００５２】
次に、ＣＰＵ３４は、ウォーターマーク印刷と対応する区切り位置の決定方法に関する情報をＲＡＭ３０から読み出し、ウォーターマークＷＭの位置や大きさ等の印刷設定情報から特定される座標情報から、ビットマップ画像である印刷用データ７０における区切り位置の座標を決定する。そして、ＣＰＵ３４は、Ｓ３８で生成した印刷用データ７０について、ウォーターマークＷＭを付加する領域を含む領域を特定する（Ｓ４０）。
【００５３】
次に、ＣＰＵ３４は、Ｓ４０で特定したウォーターマークＷＭを付加する領域を含む領域について、ウォーターマークＷＭの上下方向の寸法と、印刷用データの左右方向の寸法とを乗算して面積Ｈを算出する（Ｓ４２）。なお、上下方向は第１方向の一例であり、左右方向は第２方向の一例であり、面積Ｈは第１面積の一例である。
【００５４】
次に、ＣＰＵ３４は、Ｓ４０で特定したウォーターマークＷＭを付加する領域を含む領域について、ウォーターマークＷＭの左右方向の寸法と、印刷用データの上下方向の寸法とを乗算して面積Ｖを算出する（Ｓ４４）。なお、面積Ｖは第２面積の一例である。
【００５５】
次に、ＣＰＵ３４は、Ｓ４２で算出した面積ＨがＳ４４で算出した面積Ｖよりも大きいのか否かを判断する（Ｓ４６）。Ｓ４２でＣＰＵ３４が行う処理は判断処理の一例である。ＣＰＵ３４は、Ｓ４６で肯定判断をした場合、即ち、面積Ｈが面積Ｖよりも大きいと判断した場合（Ｓ４６：ＹＥＳ）、図１３の中段左側に示すように、左右方向においてウォーターマークＷＭを付加する領域を含む領域７０Ｂと、その他の領域７０Ｄと、の境界を区切り位置Ｌ５に決定し（Ｓ４８）、Ｓ５２に移行する。
【００５６】
ＣＰＵ３４は、Ｓ４６で否定判断をした場合、即ち、面積Ｈが面積Ｖよりも小さいと判断した場合（Ｓ４６：ＮＯ）、図１３の中段右側に示すように、上下方向においてウォーターマークＷＭを付加する領域を含む領域７０Ａと、その他の領域７０Ｃと、の境界を区切り位置Ｌ４に決定し（Ｓ５０）、Ｓ５２に移行する。なお、以下では、Ｓ４６でＣＰＵ３４が、面積Ｈが面積Ｖよりも大きいと判断したものとして説明する。
【００５７】
次に、ＣＰＵ３４は、ウォーターマークＷＭを付加する領域を含む領域７０Ｂについて、ウォーターマークＷＭを付加する前の印刷用データ７０をＲＡＭ３０に記憶する（Ｓ５２）。Ｓ５２でＣＰＵ３４が行う処理は記憶処理の一例である。
【００５８】
次に、ＣＰＵ３４は、Ｓ３８で生成した印刷用データ７０にウォーターマークＷＭを付加（ウォーターマークＷＭを付加した後の印刷用データを生成）し、ＲＡＭ３０に記憶する。そして、その印刷用データを基にウォーターマークＷＭが付加されたプレビューデータを生成する。Ｓ５４でＣＰＵ３４が行う処理は生成処理の一例である。
【００５９】
次に、ＣＰＵ３４は、ウォーターマークＷＭを付加した後の印刷用データ７０について、後述する圧縮処理を実行する（Ｓ５６）。次に、ＣＰＵ３４は、Ｓ５２で記憶した、ウォーターマークＷＭを付加する領域を含む領域７０ＢにおけるウォーターマークＷＭを付加する前の印刷用データについて、後述する圧縮処理を実行し（Ｓ５８）、ウォーターマーク印刷処理を終了する。
【００６０】
（圧縮処理）
次に、ＣＰＵ３４が実行する圧縮処理について、図６を参照して説明する。圧縮処理では、ＣＰＵ３４は、まず、画像データから生成された印刷用データに区切り位置が決定されているのか否かを判断する（Ｓ６０）。ＣＰＵ３４は、Ｓ６０で区切り位置が決定されていないと判断した場合（Ｓ６０：ＮＯ）、画像データから生成された印刷用データの全体を圧縮する処理を実行し（Ｓ６４）、圧縮処理を終了する。
【００６１】
ＣＰＵ３４は、Ｓ６０で区切り位置が決定されていると判断した場合（Ｓ６０：ＹＥＳ）、印刷用データを決定した区切り位置で区切った領域ごとに抽出する（Ｓ６２）。次に、ＣＰＵ３４は、Ｓ６２で領域ごとに抽出した印刷用データについて、全ての領域ごとにそれぞれ圧縮する処理を実行する（Ｓ６６）。以下、各印刷設定について圧縮方法を個別に説明する。
【００６２】
図３に示すＮｉｎ１印刷処理においてＣＰＵ３４がＳ２４で実行する圧縮処理では、ＣＰＵ３４は、印刷用データの１シートの片面に割り付けられた複数のページの各境界を区切り位置として区切った領域ごとに圧縮する処理を行う。本実施形態では、４ｉｎ１印刷設定がユーザによって指定されているので、図１１の上段に示すように、ＣＰＵ３４は、印刷用データ４０を区切り位置Ｌ１で区切った４つの矩形領域４０Ａ〜４０Ｄごとに印刷用データ４０を圧縮する。
【００６３】
図４に示すオフセット印刷処理においてＣＰＵ３４がＳ３２で実行する圧縮処理では、ＣＰＵ３４は、図１２の上段に示すように、印刷用データ５０のうち印刷対象領域について区切り位置Ｌ２で区切った２つの矩形領域、即ち綴じ代領域５０Ａと綴じ代外領域５０Ｂごとに印刷用データ５０を圧縮する。一方、ＣＰＵ３４がＳ３６で実行する圧縮処理では、印刷用データ５０の印刷対象外領域が区切り位置Ｌ２で区切られることで、１つの矩形領域、即ちはみ出し領域６０のみとなるので、ＣＰＵ３４は、はみ出し領域６０の全体について印刷用データ５０を圧縮する。
【００６４】
図５に示すウォーターマーク印刷処理において、ＣＰＵ３４がＳ５６で実行する圧縮処理では、ＣＰＵ３４は、図１３の中段左側に示すように、印刷用データ７０を区切り位置Ｌ５で区切った３つの矩形領域、即ちウォーターマークＷＭを付加する領域を含む領域７０Ｂと、その他の領域７０Ｄごとに印刷用データ７０を圧縮する。
【００６５】
一方、ＣＰＵ３４がＳ５８で実行する圧縮処理では、ＣＰＵ３４は、図１３の下段左側に示すように、印刷用データ８０を圧縮する。ここで、印刷用データ８０において区切り位置Ｌ５で区切った３つの矩形領域のうち、その他の領域７０Ｄについては、Ｓ５６でＣＰＵ３４が行う圧縮処理で圧縮されているので、Ｓ５８では、ＣＰＵ３４は、ウォーターマークＷＭを付加する領域を含む領域８０Ｂのみを圧縮する。
【００６６】
ここで、ＣＰＵ３４が印刷用データを圧縮する場合の圧縮方式について説明する。本実施形態では、ＣＰＵ３４は、印刷用データを圧縮する場合、ビットマップ形式とされた印刷用データについて、区切り位置で区切った矩形領域ごとに圧縮する。
【００６７】
印刷用データ４０を圧縮する場合、ＣＰＵ３４は、印刷用データに含まれる連続データをデータと連続数とを表す符号にする圧縮、即ち、ランレングス圧縮を行う。連続データに区切り位置がある場合は、その区切り位置までのデータを連続データとして取り扱う。従って、例えば、４つの矩形領域４０Ａ〜４０Ｄに区切られた印刷用データ４０を圧縮する場合、図１１の下段に示すように、ＣＰＵ３４は、矩形領域４０Ａ〜４０Ｄをそれぞれにおいて各番号（（１）、（２）、（３）・・・）で示す各ラインのデータを連続データとし、印刷用データの上側からラインごとに連続データを圧縮する。なお、連続データを圧縮する方向や順番については、プリンタの構成等によって異なるため、適宜変更が可能である。本実施形態では、図１１の左右方向が印刷の主走査方向に対応するものとして左右方向に沿って各番号（（１）、（２）、（３）・・・）の順に圧縮処理が行われる。
【００６８】
また、ランレングス圧縮を行う際に、印刷用データにおいて処理対象となるラインに含まれるデータについて、前行のライン（以下、前ラインと称する）と同じデータが含まれる場合、ＣＰＵ３４は、そのデータの数を表す符号にする圧縮、即ち、前ライン参照圧縮を行う。一方、前ラインと処理対象となるラインとの間に区切り位置がある場合、ＣＰＵ３４は、前ライン参照圧縮を行わないものとする。具体的には、矩形領域４０Ｃの最初のラインを圧縮する際は、矩形領域４０Ａの最終ラインは前ラインとして参照されない。
【００６９】
図６を参照してフローチャートの続きを説明する。Ｓ６６の処理が終了すると、ＣＰＵ３４は、印刷用データに区切り位置で区切られた領域が他にあるのか否かを判断する（Ｓ６８）。ＣＰＵ３４は、Ｓ６８で区切り位置で区切られた領域が他にあると判断すると（Ｓ６８：ＹＥＳ）、Ｓ６２に戻ってＳ６２の処理を実行する。ＣＰＵ３４は、Ｓ６８で区切り位置で区切られた領域が他にないと判断すると（Ｓ６８：ＮＯ）、圧縮した各領域を印刷設定に従って配置し（Ｓ６９）、圧縮処理を終了する。具体的には、図１１の上段に示すように、圧縮した各領域を区切り位置Ｌ１で区切る前の状態に配置する。
【００７０】
（プレビューアが起動された後の処理）
次に、プレビューア１０が起動された状態でユーザによって印刷指示が入力されてから印刷用データがプリンタ２０に出力されるまでにＣＰＵ３４がプレビューア１０上で行う処理（以下、起動後処理と称する）について、図７から図１０のフローチャートを参照して説明する。
【００７１】
まず、図７に示すように、プレビューア画面においてユーザによって印刷指示が入力されると、ＣＰＵ３４は、印刷設定画面においてＮｉｎ１印刷設定が指定されたのか否かを判断する（Ｓ７０）。ＣＰＵ３４は、Ｓ７０でＮｉｎ１印刷設定が指定されたと判断した場合（Ｓ７０：ＹＥＳ）、後述する出力処理（Ｎｉｎ１）を実行し（Ｓ７４）、起動後処理を終了する。
【００７２】
ＣＰＵ３４は、Ｓ７０でＮｉｎ１印刷設定が指定されていないと判断した場合（Ｓ７０：ＮＯ）、印刷設定画面においてオフセット印刷設定が指定されたのか否かを判断する（Ｓ７２）。ＣＰＵ３４は、Ｓ７２でオフセット印刷設定が指定されたと判断した場合（Ｓ７２：ＹＥＳ）、後述する出力処理（オフセット）を実行し（Ｓ７８）、起動後処理を終了する。
【００７３】
ＣＰＵ３４は、Ｓ７２でオフセット印刷設定が指定されていないと判断した場合（Ｓ７２：ＮＯ）、印刷設定画面においてウォーターマーク印刷設定が指定されたのか否かを判断する（Ｓ７６）。ＣＰＵ３４は、Ｓ７６でウォーターマーク印刷設定が指定されたと判断した場合（Ｓ７６：ＹＥＳ）、後述する出力処理（ウォーターマーク）を実行し（Ｓ８０）、起動後処理を終了する。
【００７４】
ＣＰＵ３４は、Ｓ１２でウォーターマーク印刷設定が指定されていないと判断した場合（Ｓ７６：ＮＯ）、圧縮された印刷用データをそのままプリンタ２０へ出力し（Ｓ８２）、起動後処理を終了する。なお、ＣＰＵ３４は、圧縮した印刷用データを、ＵＳＢインターフェイス２２を経由してプリンタ２０へ出力する。プリンタ２０は、圧縮された印刷用データを受け取ると、その印刷用データを伸長し、伸長した印刷用データに基づいてプリントされるシートに画像を形成する。
【００７５】
（出力処理（Ｎｉｎ１））
次に、ＣＰＵ３４が実行する出力処理（Ｎｉｎ１）について、図８を参照して説明する。出力処理（Ｎｉｎ１）では、ＣＰＵ３４は、まず、プレビューア１０が起動された状態において、１シートに割り付けられる複数のページのうちいずれかのページを削除する編集がユーザによってされたのか否かを判断する（Ｓ８４）。ＣＰＵ３４は、Ｓ８４でいずれかのページを削除する設定がされていないと判断した場合（Ｓ８４：ＮＯ）、通常の出力処理、即ち、図６のＳ６９で配置された印刷用データをプリンタ２０へ出力し（Ｓ８８）、出力処理（Ｎｉｎ１）を終了する。出力されるデータの順は、図１１の下段に示す各番号（「１」、「２」、「３」・・・）の順である。
【００７６】
ＣＰＵ３４は、Ｓ８４でいずれかのページを削除する設定がされていると判断した場合（Ｓ８４：ＹＥＳ）、ページを削除する設定に応じて、１シート分の圧縮された印刷用データを再構成する（Ｓ８６）。具体的には、ＣＰＵ３４は、図６のＳ６９で配置した矩形領域４０Ａ〜４０Ｄを並び替える。４ｉｎ１印刷設定において、例えば１シートの片面に割り付けられる４つのページのうち３ページ目を削除する編集がユーザによってされると、ＣＰＵ３４は、図１１の中段に示すように、３ページ目の印刷用データを削除し、印刷用データ４０において３ページ目が配置されていた矩形領域４０Ｃに４ページ目を再配置する。
【００７７】
ＣＰＵ３４は、印刷用データ４０の再構成が終了すると、再構成した印刷用データ４０をプリンタ２０に出力する（Ｓ９０）。次に、ＣＰＵ３４は、全ての圧縮された印刷用データをプリンタ２０へ出力したのか否かを判断する（Ｓ９２）。ＣＰＵ３４は、Ｓ９２で全ての圧縮された印刷用データをプリンタ２０へ出力したと判断すると（Ｓ９２：ＹＥＳ）、出力処理（Ｎｉｎ１）を終了する。ＣＰＵ３４は、Ｓ９２で全ての圧縮された印刷用データをプリンタ２０へ出力していないと判断すると（Ｓ９２：ＮＯ）、Ｓ８６に戻ってＳ８６の処理を再び実行する。
【００７８】
（出力処理（オフセット））
次に、ＣＰＵ３４が実行する出力処理（オフセット）について、図９を参照して説明する。出力処理（オフセット）では、ＣＰＵ３４は、まず、プレビューア１０が起動された状態において、オフセット印刷を解除する設定がユーザによってされたのか否かを判断する（Ｓ９４）。ＣＰＵ３４は、オフセット印刷を解除する設定がされていないと判断した場合（Ｓ９４：ＮＯ）、通常の出力処理、即ち、図６のＳ６９において印刷対象領域、即ち圧縮された綴じ代領域５０Ａと綴じ代外領域５０Ｂとが配置された印刷用データ５０をプリンタ２０へ出力し（Ｓ９８）、出力処理（オフセット）を終了する。
【００７９】
ＣＰＵ３４は、Ｓ９４でオフセット印刷を解除する設定がされていると判断した場合（Ｓ９４：ＹＥＳ）、はみ出し領域６０についての圧縮された印刷用データ５０を用いて１シート分の圧縮されたデータを再構成する（Ｓ９６）。具体的には、ＣＰＵ３４は、図１２の下段に示すように、図６のＳ６９において配置された印刷用データから綴じ代領域５０Ａについての印刷用データを削除し、はみ出し領域６０についての印刷用データを綴じ代領域５０Ａが割り付けられる前の位置に配置する。そして、ＣＰＵ３４は、図４に示すＳ３６で圧縮したはみ出し領域６０と、図４に示すＳ３２で圧縮した綴じ代外領域５０Ｂとを用いて印刷用データを再構成する。
【００８０】
ＣＰＵ３４は、印刷用データ５０の再構成が終了すると、再構成した印刷用データ４０をプリンタ２０に出力する（Ｓ１００）。次に、ＣＰＵ３４は、全ての圧縮された印刷用データをプリンタ２０へ出力したのか否かを判断する（Ｓ１０２）。ＣＰＵ３４は、Ｓ９２で全ての圧縮された印刷用データをプリンタ２０へ出力したと判断すると（１０２：ＹＥＳ）、出力処理（Ｎｉｎ１）を終了する。ＣＰＵ３４は、Ｓ１０２で全ての圧縮された印刷用データをプリンタ２０へ出力していないと判断すると（Ｓ１０２：ＮＯ）、Ｓ９６に戻ってＳ９６の処理を再び実行する。
【００８１】
（出力処理（ウォーターマーク））
次に、ＣＰＵ３４が実行する出力処理（ウォーターマーク）について、図１０を参照して説明する。出力処理（ウォーターマーク）では、ＣＰＵ３４は、まず、プレビューア１０が起動された状態において、ウォーターマーク印刷を解除する設定がユーザによってされたのか否かを判断する（Ｓ１０４）。ＣＰＵ３４は、ウォーターマーク印刷を解除する設定がされていないと判断した場合（Ｓ１０４：ＮＯ）、通常の出力処理、即ち、図６のＳ６９において圧縮したウォーターマークを付加する領域とその他の領域とが配置された印刷用データをプリンタ２０へ出力し（Ｓ１０８）、出力処理（ウォーターマーク）を終了する。
【００８２】
ＣＰＵ３４は、Ｓ１０４でウォーターマーク印刷を解除する設定がされていると判断した場合（Ｓ１０４：ＹＥＳ）、ウォーターマークＷＭを付加する前の圧縮された印刷用データ７０を用いて圧縮された印刷用データを再構成する（Ｓ１０６）。具体的には、ＣＰＵ３４は、図６のＳ６９で配置した印刷用データから図５のＳ５６で圧縮したウォーターマークＷＭを付加する領域を含む領域７０Ｂを削除し、図５に示すＳ５８で圧縮したウォーターマークＷＭを付加する領域を含む領域８０Ｂと、図５に示すＳ５６で圧縮したその他の領域７０Ｄ，７０Ｄとを用いて印刷用データを再構成する。
【００８３】
ＣＰＵ３４は、印刷用データの再構成が終了すると、再構成した印刷用データをプリンタ２０へ出力する（Ｓ１１０）。次に、ＣＰＵ３４は、全ての圧縮された印刷用データをプリンタ２０へ出力したのか否かを判断する（Ｓ１１２）。ＣＰＵ３４は、Ｓ１１２で全ての圧縮された印刷用データをプリンタ２０へ出力したと判断すると（Ｓ１１２：ＹＥＳ）、出力処理（ウォーターマーク）を終了する。ＣＰＵ３４は、Ｓ１１２で全ての圧縮された印刷用データをプリンタ２０へ出力していないと判断すると（Ｓ１１２：ＮＯ）、Ｓ１０６に戻ってＳ１０６の処理を再び実行する。
【００８４】
以上、ＣＰＵ３４が実行する処理の流れについて説明したが、本実施形態におけるプレビュー機能は、ＣＰＵ３４がアプリケーションプログラム１４に従って実行する機能ではなく、ＣＰＵ３４がプリンタドライバ６に従って実行する機能である。Ｎｉｎ１印刷等の集約印刷やウォーターマークの付加等の加工は、ＣＰＵ３４がプリンタドライバ６に従って印刷用データを生成する際に行われる。ＣＰＵ３４がプリンタドライバ６に従って行う加工は、ＣＰＵ３４がアプリケーションプログラム１４に従って起動するプレビューでは反映されない。ＣＰＵ３４は、プレビューア１０を起動すると、プリンタグラフィックスドライバ１２に従ってＣＰＵ３４が実行した加工を反映したプレビュー画像を表示部２６に表示させる。
【００８５】
（実施形態の効果）
本実施形態のプリンタドライバ６によって、ＣＰＵ３４は、画像データから印刷用データを生成する。そして、ＣＰＵ３４は、画像データに対して指定された印刷設定から印刷用データの区切り位置を決定する。その後、ＣＰＵ３４は、区切り位置で区切った領域ごとに印刷用データを圧縮する。従って、生成した印刷用データを編集、加工する場合でも、区切り位置で区切った領域ごとに圧縮された印刷用データを利用することができ、印刷用データを容易に再構成することができる。
【００８６】
ここで、印刷設定が一旦指定された後に印刷用データの編集や加工が行われる場合、指定された印刷設定を変更することで編集や加工を行うことが多い。本実施形態では、指定された印刷設定において印刷用データの編集や加工が行われる場合、印刷設定と対応する区切り位置で区切った領域ごとに圧縮された印刷用データを利用することができる。このため、印刷用データの編集や加工が行われることで印刷用データを再構成する場合に、編集対象となる領域のみを再構成すればよく、印刷設定に関係なく一定の領域ごとに圧縮する構成と比べて、編集が反映された状態の圧縮された印刷用データを効率よく再構成することができる。
【００８７】
また、本実施形態のプリンタドライバ６によって、ＣＰＵ３４は、Ｎｉｎ１印刷の設定が指定された場合に、複数のページの各境界を区切り位置と決定する。このため、Ｎｉｎ１印刷において、印刷用データを生成した後にその印刷用データのあるページを削除する場合に、複数のページの各境界を区切り位置として区切った領域ごとに圧縮された印刷用データのうち、削除するページを含む領域のみを用いることで、削除が反映された状態の圧縮された印刷用データを効率よく再構成することができる。
【００８８】
また、本実施形態のプリンタドライバ６によって、ＣＰＵ３４は、オフセット印刷の設定が指定された場合に、綴じ代の領域と、綴じ代を割り付けることでシートからはみ出す領域と、シートに含まれる綴じ代以外の領域と、の各領域の境界を区切り位置と決定する。このため、例えば、印刷用データを生成した後にプレビューア１０においてその印刷用データのオフセット印刷が解除された場合に、綴じ代の領域と、綴じ代を割り付けることでシートからはみ出す領域と、シートに含まれる綴じ代以外の領域と、の領域ごとに圧縮された印刷用データのうち、綴じ代を割り付けることでシートからはみ出す領域と、シートに含まれる綴じ代以外の領域を用いることで、編集が反映された状態の圧縮された印刷用データを効率よく再構成することができる。
【００８９】
また、本実施形態のプリンタドライバ６によって、ＣＰＵ３４は、ウォーターマーク印刷の設定が指定された場合に、ウォーターマークを付加する領域を含む領域と、その他の領域と、の境界を区切り位置と決定する。このため、例えばウォーターマーク印刷において、印刷用データを生成した後にその印刷用データのウォーターマーク印刷の設定を解除する場合に、ウォーターマークを付加する領域を含む領域と、その他の領域と、がそれぞれ圧縮された印刷用データのうち、編集する領域を含む領域のみを用いることで、編集が反映された状態の圧縮された印刷用データを効率よく再構成することができる。
【００９０】
また、本実施形態のプリンタドライバ６によって、ＣＰＵ３４は、ウォーターマーク印刷において、ウォーターマークの上下方向寸法とシートの左右方向寸法を乗算し、面積Ｈを算出する算出処理を行う。さらに、ＣＰＵ３４は、ウォーターマーク印刷において、ウォーターマークの左右方向寸法と印刷用データ全体の上下方向寸法を乗算し、面積Ｖを算出する算出処理を行う。その後、ＣＰＵ３４は、面積Ｈと面積Ｖとのいずれの面積が大きいのかを判断する。そして、ＣＰＵ３４は、面積Ｈが大きい場合は、左右方向においてウォーターマークを付加する領域とその他の領域との境界を、区切り位置と決定する。
【００９１】
一方、ＣＰＵ３４は、面積Ｖが大きい場合は、上下方向においてウォーターマークを付加する領域を含む領域と、その他の領域と、の境界を、区切り位置と決定する。即ち、面積Ｈと面積Ｖのうち面積が小さい方の領域を、ウォーターマークを付加する領域を含む領域として用いる。このため、ウォーターマーク印刷において、ウォーターマークを付加する領域を含む領域の大きさを抑えることができ、圧縮されたウォーターマークを付加する領域を含む領域の印刷用データを記憶するときにその印刷用データの記憶領域を抑えることができる。
【００９２】
また、本実施形態のプリンタドライバ６によって、ＣＰＵ３４は、ウォーターマーク印刷において、生成処理でウォーターマークを付加する前の画像データからウォーターマークを付加する前の印刷用データを生成する。そして、ＣＰＵ３４は、ウォーターマークを付加する領域を含む領域について、ウォーターマークを付加した後の印刷用データと、ウォーターマークを付加する前の印刷用データと、をそれぞれＲＡＭ３０に記憶する。このため、印刷用データを生成した後にプレビューア１０においてウォーターマークを削除する編集を行う場合に、ウォーターマークを付加する前の画像データから生成された印刷用データの全領域を用いなくとも、印刷用データを再構成することができる。
【００９３】
即ち、ウォーターマークを付加する領域を含む領域については、ＣＰＵ３４は、ウォーターマークを付加する前の印刷用データを読み出すことができる。一方、その他の領域については、ウォーターマークを付加した後の印刷用データを読み出す。ＣＰＵ３４は、それらの読み出した印刷用データを再配置することで、ウォーターマークが削除された状態の圧縮された印刷用データを効率よく再構成することができる。
【００９４】
また、本実施形態のプリンタドライバ６によって、ＣＰＵ３４は、圧縮処理において、印刷用データに含まれる連続データをデータと連続数とを表す符号にする圧縮を行い、連続データに前記区切り位置がある場合は、その区切り位置までのデータを連続データとして取り扱う、いわゆるランレングス圧縮を行う。このように、区切り位置毎にデータを圧縮するので、例えば印刷用データの一部を削除する場合は圧縮データを展開することなく区切り位置毎に圧縮されたデータをそのまま削除すればよい。よって、編集の処理の効率がよくなる。
【００９５】
また、本実施形態のプリンタドライバ６によって、ＣＰＵ３４は、圧縮処理において、印刷用データの処理対象ラインに含まれるデータについて、前ラインと同じデータが含まれる場合は、そのデータの数を表す符号にする前ライン参照圧縮を行い、前ラインと処理対象ラインとの間に区切り位置がある場合は、前ライン参照圧縮を行わないものとする、いわゆる前ライン参照圧縮を行う。このように、区切り位置毎にデータを圧縮するので、例えば印刷用データの一部を削除する場合は圧縮データを展開することなく区切り位置毎に圧縮されたデータをそのまま削除すればよい。よって、編集の処理の効率がよくなる。
【００９６】
＜他の実施形態＞
本明細書によって開示される技術は上記既述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような種々の態様も含まれる。
（１）上記実施形態では、印刷設定画面でユーザによって印刷指示が入力されると、必ずプレビューアが起動される例を示したが、印刷設定画面でプレビューアを起動するのか否かの設定をユーザが指定できるものであってもよい。
【００９７】
（２）上記実施形態では、各印刷設定に対応するビットマップ画像上の座標の情報がＲＡＭに記憶されている例を示したが、余白等の位置について、ビットマップ画像に関連付けた情報がＲＡＭに記憶されていてもよい。
【００９８】
（３）上記実施形態では、印刷設定画面で指定される印刷設定について、Ｎｉｎ１印刷設定とオフセット印刷設定とウォーターマーク印刷設定を例示したが、印刷設定画面で指定される印刷設定は限定されない。例えば、印刷用データの一部を切り取るトリミング印刷設定等であってもよい。
【００９９】
（４）上記実施形態では、印刷用データにウォーターマークを付加するウォーターマーク印刷設定を例示したが、付加画像はウォーターマークに限定されない。例えば、別ファイルとして保存されている画像であってもよい。
【０１００】
（５）上記実施形態では、ウォーターマーク印刷設定で算出される面積Ｈと面積Ｖについて、その左右方向寸法とその上下方向寸法とを乗算することで面積を算出する例を示したが、面積Ｈと面積Ｖについて面積を求める方法は限定されない。
【０１０１】
（６）上記実施形態では、Ｎｉｎ１印刷設定、オフセット印刷設定、ウォーターマーク印刷設定のいずれかが設定された場合を例示したが、これらの印刷設定の組み合わせであってもよい。
【０１０２】
（７）上記実施形態では、ソフトウェアであるプリンタドライバがＣＰＵに各処理を実行させる例を示したが、複数のＣＰＵに各処理を実行させる構成であってもよいし、ＡＳＩＣなどのハードウェアが実行処理部等に各処理を実行する構成であってもよい。また、ＣＰＵとハードウェアの組み合わせにより各処理を実行する構成であってもよい。
【符号の説明】
【０１０３】
２：ＰＣ、４：ＨＤＤ、６：プリンタドライバ、１０：プレビューア、１８：制御部、２０：プリンタ、３０：ＲＡＭ、３２：ＲＯＭ、３４：ＣＰＵ、４０、５０、７０、８０：印刷用データ、Ｌ１，Ｌ２，Ｌ３，Ｌ４，Ｌ５：区切り位置、ＷＭ：ウォーターマーク
【図１】
2014115689.tif 000003
【図２】
2014115689.tif 000004
【図３】
2014115689.tif 000005
【図４】
2014115689.tif 000006
【図５】
2014115689.tif 000007
【図６】
2014115689.tif 000008
【図７】
2014115689.tif 000009
【図８】
2014115689.tif 000010
【図９】
2014115689.tif 000011
【図１０】
2014115689.tif 000012
【図１１】
2014115689.tif 000013
【図１２】
2014115689.tif 000014
【図１３】
2014115689.tif 000015