(57)【要約】【課題】画像形成用の画像データの生成をより効率良く行うことができる画像データ生成装置及び画像形成装置を提供する。【解決手段】画像データ生成装置は、表示内容が行単位で規定され得る対象画像記述データから所定の選択条件に基づいて画像形成を行う行として選択された行の画像形成に係るバンドデータ１０ｄを各々生成する印刷ジョブ解析部１０ａと、生成されたバンドデータを形成画像における配列の順番に配置して出力ビットマップデータを構築する画像構築部１０ｂと、を備え、一の対象画像記述データから複数の選択条件にそれぞれ基づいて画像形成を行う行が各々選択される場合に、印刷ジョブ解析部は、作成したバンドデータを保持し、バンドデータの保持されていない行が選択された場合にはバンドデータを生成し、バンドデータの保持されている行が選択された場合にはバンドデータを改めて生成しない。【選択図】図２
2019101614.tif 000002
【特許請求の範囲】
【請求項１】
表示内容が行単位で規定され得る対象画像記述データから所定の選択条件に基づいて画像形成を行う行として選択された行の画像形成に係る行画像データを各々生成する行データ生成部と、
前記行データ生成部により生成された前記行画像データを形成画像における配列の順番に配置して画像形成用データを構築する画像構築部と、
を備え、
一の前記対象画像記述データから複数の前記選択条件にそれぞれ基づいて画像形成を行う行が各々選択される場合に、前記行データ生成部は、作成した前記行画像データを保持し、行画像データの保持されていない行が選択された場合には当該行の行画像データを生成し、行画像データの保持されている行が選択された場合には当該行の行画像データを改めて生成しない
ことを特徴とする画像データ生成装置。
【請求項２】
前記行データ生成部は、生成した前記行画像データの行に係る制御情報を生成し、選択された行の行画像データを新たに生成するか否かを前記制御情報に基づいて判別することを特徴とする請求項１記載の画像データ生成装置。
【請求項３】
前記制御情報には、前記行画像データの前記配列の順番が含まれ、
前記画像構築部は、前記制御情報に基づいて前記画像形成用データを構築する
ことを特徴とする請求項２記載の画像データ生成装置。
【請求項４】
前記制御情報には、生成した行画像データの行の配列方向についての幅の情報が含まれることを特徴とする請求項２又は３記載の画像データ生成装置。
【請求項５】
前記画像構築部は、前記行画像データを前記配列の順番に配置する動作の途中で、配置する前記行画像データの行の前記幅の合計が画像形成可能なエリアの高さとして予め定められた設定値を超える場合には、当該設定値を超える行画像データ以降の行画像データを新たなエリアに形成する画像の画像形成用データとすることを特徴とする請求項４記載の画像データ生成装置。
【請求項６】
前記行データ生成部は、行の配列方向についての任意の幅に応じて各々前記行画像データを生成することを特徴とする請求項１〜５のいずれか一項に記載の画像データ生成装置。
【請求項７】
前記行画像データは、各行の行の幅で各々一つずつ生成されることを特徴とする請求項１〜６のいずれか一項に記載の画像データ生成装置。
【請求項８】
前記対象画像記述データには、表計算ソフトウェアにより生成されるスプレッドシートのデータが含まれることを特徴とする請求項１〜７のいずれか一項に記載の画像データ生成装置。
【請求項９】
複数の前記選択条件には、いずれにおいても固定的に選択される行に係る設定が含まれることを特徴とする請求項１〜８のいずれか一項に記載の画像データ生成装置。
【請求項１０】
請求項１〜９のいずれか一項に記載の画像データ生成装置と、
生成された画像形成用データを用いて記録媒体に画像を形成する画像形成動作部と、
を備えることを特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像データ生成装置及び画像形成装置に関する。
【背景技術】
【０００２】
記録媒体上に色材を付与して画像を形成する画像形成装置がある。この画像形成装置において、最終的に各画素位置に色材を付与する動作に用いられる画像データとしては、元の画像データをビットマップ化したものが広く用いられている。ビットマップデータやその前段階のディスプレイリストといった中間データは、所定幅のバンド単位で生成されて、これらを順番に配列することで全体画像が得られる。
【０００３】
従来、同一の構成に対して一部の内容のみを入れ替えながら複数の画像を形成する差し込み印刷（バリアブル印刷）が知られている。この場合には、入れ替えが行われない固定された表示部分のビットマップデータが流用され、入れ替え部分のビットマップデータのみを毎回生成することで、処理量や処理時間の低減を図っている。
【０００４】
また、特許文献１では、矩形状のブロック単位でビットマップデータの生成を行い、生成されたビットマップデータが以前生成したものと同じものである場合には、新たに生成されたデータを圧縮記憶させずに、以前作成したデータを用いるように指定する技術が開示されている。
【０００５】
一方、近年、ＸＭＬを用いて標準規格化されたフォーマットにより、表計算ソフトウェアなどのアプリケーションの出力データの互換性が高まっている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−２０７４８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、表データといった行単位で構成されるデータから一部又は全部の行を抽出して差し替えながら複数の異なる画像形成を行う場合に、行単位で複数回画像形成に用いられる部分があってもバンドデータの区切り位置などによっては作成済みのバンドデータを再利用することができず、ビットマップデータの生成を効率良く行うことができないという課題がある。
【０００８】
この発明の目的は、画像形成用の画像データの生成をより効率良く行うことができる画像データ生成装置及び画像形成装置を提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、請求項１記載の発明は、
表示内容が行単位で規定され得る対象画像記述データから所定の選択条件に基づいて画像形成を行う行として選択された行の画像形成に係る行画像データを各々生成する行データ生成部と、
前記行データ生成部により生成された前記行画像データを形成画像における配列の順番に配置して画像形成用データを構築する画像構築部と、
を備え、
一の前記対象画像記述データから複数の前記選択条件にそれぞれ基づいて画像形成を行う行が各々選択される場合に、前記行データ生成部は、作成した前記行画像データを保持し、行画像データの保持されていない行が選択された場合には当該行の行画像データを生成し、行画像データの保持されている行が選択された場合には当該行の行画像データを改めて生成しない
ことを特徴とする画像データ生成装置である。
【００１０】
また、請求項２記載の発明は、請求項１記載の画像データ生成装置において、
前記行データ生成部は、生成した前記行画像データの行に係る制御情報を生成し、選択された行の行画像データを新たに生成するか否かを前記制御情報に基づいて判別することを特徴としている。
【００１１】
また、請求項３記載の発明は、請求項２記載の画像データ生成装置において、
前記制御情報には、前記行画像データの前記配列の順番が含まれ、
前記画像構築部は、前記制御情報に基づいて前記画像形成用データを構築する
ことを特徴としている。
【００１２】
また、請求項４記載の発明は、請求項２又は３記載の画像データ生成装置において、
前記制御情報には、生成した行画像データの行の配列方向についての幅の情報が含まれることを特徴としている。
【００１３】
また、請求項５記載の発明は、請求項４記載の画像データ生成装置において、
前記画像構築部は、前記行画像データを前記配列の順番に配置する動作の途中で、配置する前記行画像データの行の前記幅の合計が画像形成可能なエリアの高さとして予め定められた設定値を超える場合には、当該設定値を超える行画像データ以降の行画像データを新たなエリアに形成する画像の画像形成用データとすることを特徴としている。
【００１４】
また、請求項６記載の発明は、請求項１〜５のいずれか一項に記載の画像データ生成装置において、
前記行データ生成部は、行の配列方向についての任意の幅に応じて各々前記行画像データを生成することを特徴としている。
【００１５】
また、請求項７記載の発明は、請求項１〜６のいずれか一項に記載の画像データ生成装置において、
前記行画像データは、各行の行の幅で各々一つずつ生成されることを特徴としている。
【００１６】
また、請求項８記載の発明は、請求項１〜７のいずれか一項に記載の画像データ生成装置において、
前記対象画像記述データには、表計算ソフトウェアにより生成されるスプレッドシートのデータが含まれることを特徴としている。
【００１７】
また、請求項９記載の発明は、請求項１〜８のいずれか一項に記載の画像データ生成装置において、
複数の前記選択条件には、いずれにおいても固定的に選択される行に係る設定が含まれることを特徴としている。
【００１８】
また、請求項１０記載の発明は、
請求項１〜９のいずれか一項に記載の画像データ生成装置と、
生成された画像形成用データを用いて記録媒体に画像を形成する画像形成動作部と、
を備えることを特徴とする画像形成装置である。
【発明の効果】
【００１９】
本発明に従うと、画像形成用の画像データの生成をより効率良く行うことができるという効果がある。
【図面の簡単な説明】
【００２０】
【図１】画像形成装置の機能構成を示すブロック図である。
【図２】画像形成動作に係る処理及びデータの流れについて説明する図である。
【図３】表計算データファイルの表示内容の例を示す図である。
【図４】フィルタリングの条件を示す図表、及びフィルタリングの結果を含むバンド制御情報の内容を示す図表である。
【図５】２回目の印刷ジョブ解析部の動作終了までに生成されたバンドデータを示す図である。
【図６】２回のフィルタリングの結果に応じた画像形成動作でそれぞれ形成された画像の例である。
【図７】２ページにわたって形成された画像の例を示す図である。
【図８】画像形成装置で実行される印刷ジョブ解析処理の制御手順を示すフローチャートである。
【図９】画像形成装置で実行される画像構築処理の制御手順を示すフローチャートである。
【発明を実施するための形態】
【００２１】
以下、本発明の実施の形態を図面に基づいて説明する。
図１は、本発明の実施形態である画像形成装置１００の機能構成を示すブロック図である。
【００２２】
画像形成装置１００は、制御部１０と、記憶部２０と、入出力インターフェイス３０と、表示・操作受付部４０と、画像形成動作部５０などを備える。
【００２３】
制御部１０は、画像形成装置１００の動作を統括制御する制御動作を行う。制御部１０は、ＣＰＵ１１（Central Processing Unit）と、ＲＡＭ１２（Random Access Memory）などを備える。
【００２４】
ＣＰＵ１１は、各種演算処理を行い、画像形成装置１００の各部の動作制御を行う。ＲＡＭ１２は、ＣＰＵ１１に対して作業用のメモリー空間を提供し、一時データを記憶する。
【００２５】
記憶部２０は、画像形成処理に係る各種プログラム、設定データや作業データなどを記憶する。記憶部２０には、読み書き更新可能な不揮発性メモリーが用いられる。また、記憶部２０には、一部揮発性メモリー（ＲＡＭ）が含まれていてもよい。また、当該揮発性メモリーの部分は、制御部１０のＲＡＭ１２と一体的に設けられていてもよい。記憶部２０に記憶されるデータには、ジョブデータ２１と、バンド制御情報２２（制御情報）とが含まれる。
【００２６】
ジョブデータ２１には、コンピューター（ＰＣ）などの外部機器から取得された画像形成命令に係る画像データや画像形成に係る設定情報などが含まれる。画像データは、例えば、画像形成対象となる元データ、画像形成に直接用いられる最終的なビットマップデータ（ラスターデータ）が帯状に分割生成されたバンドデータや、当該帯状のビットマップデータを生成するための帯状のディスプレイリスト（ＤＬ）といった中間データである。
【００２７】
元データには、ここでは、標準化された記述様式により記述されて表示内容が行単位で規定され得るデータ（対象画像記述データ）、例えば、文書作成ソフトウェアや表計算ソフトウェアによりＯＯＸＭＬ（Office Open XML）で記述生成された文書データやスプレッドシートデータが含まれる。設定情報としては、形成画像のサイズ（記録媒体のサイズ）、両面画像形成の有無などが含まれる。また、設定情報には、差込印刷やバリアブル印刷の実行時に行単位で選択される行の選択条件（所定の選択条件）などに係る情報が含まれ得る。
【００２８】
バンド制御情報２２は、バリアブル印刷時におけるバンドデータの生成及び使用に係る制御情報である。バンド制御情報２２については、後に詳述する。
【００２９】
入出力インターフェイス３０は、外部ネットワークとの通信制御を行う。入出力インターフェイス３０は、例えば、ＬＡＮ（Local Area Network）との間の通信制御を行うネットワークカードなどを含み、ＬＡＮに接続された外部機器からの画像形成命令などを受信（取得）し、また、制御部１０の制御に基づいて、外部機器に対して画像形成に係るステータス情報などを送信（出力）する制御を行う。
【００３０】
表示・操作受付部４０は、制御部１０の制御に基づいて表示画面に各種表示を行わせ、また、ユーザーからの入力操作を受け付ける。表示画面としては、特に限られないが、液晶表示画面などが用いられる。操作受付に係る構成としては、例えば、液晶表示画面に重ねて設けられたタッチパネルが挙げられる。タッチパネルへの接触位置や接触状態が検出されて、入力操作情報として制御部１０に出力される。また、表示・操作受付部４０は、表示部として、ＬＥＤランプなどが設けられていてもよいし、操作受付部として、押しボタンスイッチやテンキーなどが設けられていてもよい。
【００３１】
画像形成動作部５０は、制御部１０から最終的な画像形成用データを取得し、当該画像形成用データに基づいて画像形成に係る動作を行う。画像形成動作部５０としては、例えば、記録媒体上にトナーを付着、定着させる電子写真方式の画像形成動作を行う構成や、記録媒体に対してインクを吐出することで画像を形成するインクジェット方式の画像形成動作を行う構成が挙げられるが、これらに限られない。
【００３２】
次に、本実施形態の画像形成装置１００における画像形成動作について説明する。
図２は、画像形成動作に係る処理及びデータの流れについて説明する図である。
【００３３】
入出力インターフェイス３０を介してネットワークから取得されたジョブデータは、制御部１０において印刷ジョブ解析部１０ａ（行データ生成部）により解析処理が行われる。印刷ジョブ解析部１０ａでは、ジョブデータに含まれる画像形成対象となる元データを用いて当該元データの表示画像を行単位で当該行の配列方向に垂直な帯状（帯の太さは特定の値に限られない）のバンドに分割する。そして、これらの各行について（バリアブル印刷などにより所定の選択条件を満たす行を選択する場合には選択された行について）、各々画像形成に係るバンドデータ１０ｄ（行画像データ）を生成する。また、各行のバンドデータ１０ｄの生成有無や生成したバンドデータ１０ｄの内容に係る制御情報としてバンド制御情報１０ｃを生成、記録する。生成されたバンドデータ１０ｄを含むジョブデータ及びバンド制御情報１０ｃは、記憶部２０にも記憶され得る。同一の元データに基づく画像形成が複数回行われる場合には、記憶部２０に記憶保持されているバンド制御情報２２及びジョブデータ２１中のバンドデータが取得される。この場合、フィルタリング条件が変更された場合には、変更されたフィルタリング条件に基づいて印刷ジョブ解析部１０ａ及び画像構築部１０ｂが再度処理を行えばよい。
【００３４】
画像構築部１０ｂは、バンド制御情報１０ｃに基づいて印刷ジョブ解析部１０ａにより生成されたバンドデータ１０ｄを形成画像における配列の順番に配置することにより、出力ビットマップデータ（画像形成用データ）を構築、生成して、出力する。バンドデータ１０ｄが中間データの場合には、配列されるバンドデータ１０ｄが順次又は一括してビットマップデータに変換される。
【００３５】
これら印刷ジョブ解析部１０ａ及び画像構築部１０ｂの動作は、ＣＰＵ１１がＲＡＭ１２を用いて行ってもよい。この場合、バンド制御情報１０ｃやバンドデータ１０ｄは、ＲＡＭ１２に一時記憶される。すなわち、印刷ジョブ解析部１０ａ及び画像構築部１０ｂは、制御部１０の仮想的な機能モジュールやソフトウェア（アプリケーション）上のプログラムモジュールであってよい。あるいは、制御部１０がＣＰＵ１１やＲＡＭ１２とは別個に処理用のＣＰＵ、ＲＡＭ及び／又は専用の論理回路を備えて、これらにより行われてもよい。
これら印刷ジョブ解析部１０ａ及び画像構築部１０ｂを含む制御部１０により本実施形態における画像データ生成装置が構成される。この画像データ生成装置には、記憶部２０が含まれていてもよい。
【００３６】
次に、本実施形態の画像形成装置１００におけるバリアブル印刷時のバンドデータ及び出力ビットマップデータの生成動作について説明する。
ここでは、標準化されたフォーマットで記述された表計算データファイル、すなわち、ｘｌｓｘファイルやｏｄｓファイルなどに基づくバリアブル印刷を行う場合について説明する。
【００３７】
図３は、表計算データファイルの表示内容の例を示す図である。
【００３８】
画像形成対象となる元データであるこの表計算データファイルでは、経費支出に係るデータ一覧が保持されており、１、２行目にタイトル（ヘッダー）、３〜９行目に明細、１０〜１２行目にフッターがそれぞれ記載されている。経費支出の明細には、支出の日付、内容（用途）及び支出金額が含まれている。これらのうち、経費支出の明細を所定の条件でフィルタリングして抽出したもの（動的選択部分）を、当該動的選択部分の選択条件の内容によらずいずれにおいても固定的に選択されるタイトル及びフッター（固定選択部分）の間に挟んで画像形成動作部５０により画像出力させる。
【００３９】
図４は、フィルタリングの条件を示す図表、及びフィルタリングの結果を含むバンド制御情報の内容を示す図表である。
【００４０】
画像形成命令として外部から取得されたジョブデータ２１には、図４（ａ）に示すように、複数種類のフィルタリング条件が番号を付されて配列されたものが含まれ得る。この場合、制御部１０（印刷ジョブ解析部１０ａ）は、各フィルタリング条件に基づいて動的選択部分の行を各々抽出する。
【００４１】
抽出された行のバンドデータ１０ｄは、上述のように、当該行単位で生成されて保持される。すなわち、各行の行の配列方向についての各行の幅（行高）は任意の値でよく、当該行高に応じたバンドデータ１０ｄが各々生成される。なお、ここでは、各行について各々一つずつのバンドデータ１０ｄが生成されるが、行高が所定の高さ以上の場合には、処理可能なメモリー容量などに応じて当該行が複数行に分割されてもよい。この場合には、以降の処理において当該複数行がセットで取り扱われる。生成されたバンドデータ１０ｄは、記憶部２０にも記憶、保持され得る。また、元データにおける各行のうちいずれの行についてバンドデータ１０ｄが生成されたかについては、バンド制御情報２２に書き込まれて保持される。
【００４２】
図４（ｂ）に示すように、バンド制御情報１０ｃには、各行のバンドデータ１０ｄがそれぞれ生成されたか否かと、印刷ジョブ解析部１０ａによる解析処理が終了したフィルタリング条件に係る出力ビットマップデータにおけるこれらバンドデータ１０ｄの配列の順番が記憶保持されている。また、バンドデータが生成されている場合には、各行高の情報（単位は、ミリメートル、インチ、画素数など任意）が保持される。このために、一回目のフィルタリング時、すなわち、最初にジョブが実行される場合には、バンドデータの生成有無にかかわらず画像形成の対象となり得る行番号の範囲（ここでは、１〜１２）が取得される。
【００４３】
ここでは、図４（ａ）に示した２つのフィルタリング条件に基づくフィルタリングが順番に実行されてそれぞれ画像形成に係る行が選択される場合について説明する。一回目のフィルタリングがフィルターＮｏ．「１」により実行された場合、固定選択部分となる１〜３行目及び１０〜１２行目のほか、動的選択部分として、国内出張に係る旅費支出が記載されている行番号「５」、「６」が選択される。これらの行１〜３、５、６、１０〜１２行目のバンドデータ１０ｄが各々生成される。また、バンド制御情報１０ｃには、バンドデータ１０ｄを保持しているとしてこれら８行が「○」とされ、これらの行高と１回目の構築順とが記憶される。
【００４４】
次いで、フィルターＮｏ．「２」により実行されたフィルタリングに基づいて、固定選択部分の１−３、１０−１２行目に加えて、金額が３００００円以上の経費支出である４、５、９行目が抽出される。このとき、バンド制御情報１０ｃにより１−３、５、１０−１２行目のバンドデータが既に生成保持されていると判別されるので、これらのバンドデータについては使いまわしの設定（←）がなされる。一方で、保持されていない残りの４、９行目のバンドデータは、新たに生成され（○）、バンドデータ１０ｄに追加記憶される。また、バンド制御情報１０ｃでは、これら４、９行目のバンドの行高が設定される。
【００４５】
すなわち、一度いずれかのフィルタリング条件に基づいて出力ビットマップデータに含まれる行が選択されてこれらの行のバンドデータが生成されると、当該バンドデータが保持されて保持情報がバンド制御情報１０ｃに記憶され、以降のフィルタリング条件に基づいてバンドデータが保持されている行が選択された場合には、バンド制御情報１０ｃに基づいてバンドデータが保持されていると判別し、改めて同一のバンドデータを生成せずに、生成済みのバンドデータを使用することとする。
これらのフィルタリング条件に基づくフィルタリングが実行されるごとに、バンド制御情報１０ｃ及びバンドデータ１０ｄは、記憶部２０にコピーされて保持され得る。
【００４６】
また、ここでは、支出額の昇順で抽出がなされるようにフィルタリングの条件が定められている。したがって、２回目のフィルタリングに応じた出力ビットマップデータの構築順は、ヘッダー行とフッター行との間で金額の昇順に従って９、５、４行目の順番となり、それぞれ、構築順が４〜６に設定される。
【００４７】
画像構築部１０ｂとしての制御部１０は、バンド制御情報１０ｃに基づき、設定された構築順でバンドデータを配列して出力ビットマップデータを構築する。
【００４８】
図５は、２回目の印刷ジョブ解析部１０ａの動作終了（フィルタリング実行）までに生成されたバンドデータを示す図である。
上述のように、２回のフィルタリングで抽出されていない７、８行目以外のバンドデータがそれぞれ行ごとに生成されている。これらのバンドデータは、行高に関係なく行単位で生成されているので、フィルタリング条件に応じた抽出有無によってバンドデータの使用有無が定まる。
【００４９】
図６は、２回のフィルタリングの結果に応じた画像形成動作でそれぞれ形成された画像の例である。
出力ビットマップデータは、バンド制御情報１０ｃで設定された構築順に配列されていく。すなわち、順番に選択されるバンドデータは、出力ビットマップデータにおいて先に選択されたバンドデータの行高を積算した距離だけ初期位置よりもバンドデータの配列方向について移動した位置（下方）に配置されることになる。その結果、フッターを含む各バンドデータの位置は、フィルタリング条件により抽出されるバンドデータの数や行高に応じて容易に変更可能となる。ここでは、出力ビットマップデータにおける１０行目（フッターの先頭行）のバンドデータの配置は、図６（ａ）に示す１回目の画像形成において、初期位置よりも５７．０下方となり、図６（ｂ）に示す２回目の画像形成においては、初期位置よりも７６．０下方となる。
【００５０】
図７は、２ページにわたって形成された画像の例を示す図である。
出力ビットマップデータの構築時に、画像形成の対象となる記録媒体Ｐ１、Ｐ２における画像形成可能エリアＲ１、Ｒ２の高さ方向への形成可能幅（画像形成可能なエリアの高さとして予め定められた設定値）、すなわち記録媒体の高さから上下のマージンを差し引いた幅よりも、配置されたバンドデータの行高の合計の値が大きくなると、形成画像が形成可能幅からはみ出ることになる。画像構築部１０ｂとしての制御部１０は、新たなバンドデータ１０ｄの追加配置により行高の合計が形成可能幅を超える場合には、当該新たなバンドデータ１０ｄを追加配置する前の出力ビットマップデータに対して改ページ処理を行う。そして、この新たなバンドデータ１０ｄを次の記録媒体の画像形成可能エリア（エリア）に形成されるページデータの先頭に再配置して、以降の出力ビットマップデータの構築を進める。すなわち、この画像形成装置１００では、フィルタリング条件により抽出されるバンドの数や行高に応じて適切な位置で改ページを行い、複数ページにわたる画像を形成することができる。
【００５１】
図８は、本実施形態の画像形成装置１００で実行される印刷ジョブ解析処理の制御部１０による制御手順を示すフローチャートである。
この印刷ジョブ解析処理は、制御部１０において印刷ジョブ解析部１０ａの動作に対応するものである。
【００５２】
印刷ジョブ解析処理は、表示内容が外部から行単位で規定され得るデータファイル（ここでは、ＯＯＸＭＬで記述された表計算ソフトウェアのスプレッドシートデータ）のバリアブル印刷を指定したジョブデータが取得されることで開始される。印刷ジョブ解析処理が開始されると、制御部１０（ＣＰＵ１１、印刷ジョブ解析部１０ａ）は、ジョブデータから形成画像の元データである表計算ファイルデータと、フィルタリングの条件リストとを取得する（ステップＳ１０１）。制御部１０は、未処理のフィルタリング条件をリストから一つ取得する（ステップＳ１０２）。
【００５３】
制御部１０は、未処理の行データを１行分取得し、解析を行う（ステップＳ１０３）。この解析には、当該行の内容がフィルタリングの条件に合致するか否かの判定が含まれる。制御部１０は、取得した行が描画する行であるか否かを判別する（ステップＳ１０４）。すなわち、制御部１０は、この行がフィルタリングの条件に合致するか否かを判別する。条件に合致せず、描画する行ではないと判別された場合には（ステップＳ１０４で“ＮＯ”）、制御部１０の処理は、ステップＳ１０９へ移行する。
【００５４】
フィルタリングの条件に合致し、描画する行であると判別された場合には（ステップＳ１０４で“ＹＥＳ”）、制御部１０は、バンド制御情報１０ｃを参照して、この行のバンドデータが作成済であるか否かを判別する（ステップＳ１０５）。作成済ではないと判別された場合には（ステップＳ１０５で“ＮＯ”）、制御部１０は、バンド制御情報１０ｃに対し解析により得られた行高を追加記録させる（ステップＳ１０６）。また、制御部１０は、この行のバンドデータを生成する（ステップＳ１０７）。制御部１０は、バンド制御情報１０ｃに構築順を記録する（ステップＳ１０８）。なお、上述のように、抽出された動的選択部分内で順番がソートされる場合には、制御部１０は、暫定の順番を逐次バンド制御情報に記録してもよいし、バンド制御情報とは別個に構築順を暫定で設定していき、最後にまとめてバンド制御情報に書き込んでもよい。あるいは、制御部１０は、当該ソートを含むフィルタリング条件に係る全ての行のデータを取得、解析するまで構築順の設定を行わないこととしてもよい。それから、制御部１０の処理は、ステップＳ１０９に移行する。
【００５５】
ステップＳ１０５の判別処理で、処理中の行データのバンドデータが生成済みであると判別された場合には（ステップＳ１０５で“ＹＥＳ”）、制御部１０は、バンド制御情報１０ｃにその生成済みのバンドデータを使い回しする設定を書き込む（ステップＳ１１６）。それから、制御部１０の処理は、ステップＳ１０８に移行する。
【００５６】
ステップＳ１０４、Ｓ１０８の処理からステップＳ１０９の処理に移行すると、制御部１０は、画像形成対象の表計算ファイルデータにおける全ての行の解析が終了したか否かを判別する（ステップＳ１０９）。終了していないと判別された場合には（ステップＳ１０９で“ＮＯ”）、制御部１０の処理は、ステップＳ１０３に戻る。終了したと判別された場合には（ステップＳ１０９で“ＹＥＳ”）、上述のように、制御部１０は、必要に応じて構築順の最終決定を行ってバンド制御情報に書き込む。それから、制御部１０は、全てのフィルタリング条件を取得して処理が終了したか否かを判別する（ステップＳ１１０）。
【００５７】
全てのフィルタリング条件の取得が終了していないと判別された場合には（ステップＳ１１０で“ＮＯ”）、制御部１０の処理は、ステップＳ１０２に戻る。全てのフィルタリング条件の取得が終了したと判別された場合には（ステップＳ１１０で“ＹＥＳ”）、制御部１０は、印刷ジョブ解析処理を終了する。
【００５８】
図９は、本実施形態の画像形成装置１で実行される画像構築処理の制御部１０による制御手順を示すフローチャートである。
この画像構築処理は、制御部１０において画像構築部１０ｂの処理内容に対応するものである。
【００５９】
この画像構築処理は、印刷ジョブ解析部１０ａの動作によりフィルタリング条件一つ分に係る印刷ジョブ解析処理が終了した場合に起動される。画像構築処理が開始されると、制御部１０（ＣＰＵ１１、画像構築部１０ｂ）は、作成、更新されたバンド制御情報１０ｃを取得する（ステップＳ２０１）。制御部１０は、バンド制御情報１０ｃに対して今回新たに追加記録された未処理のフィルタリング時の制御情報を取得する（ステップＳ２０２）。取得する制御情報には、出力ビットマップデータの構築に用いられるバンドの数（構築バンド数）が含まれる。制御部１０は、構築数Ｎに初期値として「１」を設定し、また、合計行高（行高の合計の値）を初期値として「０」とする（ステップＳ２０３）。
【００６０】
制御部１０は、合計行高に対して構築順番が構築数Ｎのものの行高（行高（Ｎ））を合計行高に加算する（ステップＳ２０４）。制御部１０は、合計行高が形成可能幅を超えているか否かを判別する（ステップＳ２０５）。合計行高が形成可能幅を超えていると判別された場合には（ステップＳ２０５で“ＹＥＳ”）、制御部１０は、構築中の出力ビットマップデータに改ページ設定を行う（ステップＳ２１６）。また、制御部１０は、合計行高を行高（Ｎ）とする（ステップＳ２１７）。すなわち、この行高（Ｎ）が次のページの最初の合計行高となる。それから、制御部１０の処理は、ステップＳ２０６に移行する。ステップＳ２０５の判別処理で、合計行高が形成可能幅を超えていないと判別された場合には（ステップＳ２０５で“ＮＯ”）、制御部１０の処理は、ステップＳ２０６に移行する。
【００６１】
ステップＳ２０６の処理に移行すると、制御部１０は、構築順がＮ番目のバンドデータを、現在構築中の出力ビットマップデータのページにおける配置済みのバンドデータに対し、バンドデータの配列方向に配列させて配置する（ステップＳ２０６）。当該ページに配置済みのバンドデータがない場合には（Ｎ＝１又は改ページの直後の場合）、Ｎ番目のバンドデータは、形成可能幅の上端に配置される。制御部１０は、構築数Ｎに１を加算する（ステップＳ２０７）。制御部１０は、構築数Ｎが構築バンド数以下であるか否かを判別する（ステップＳ２０８）。構築バンド数以下であると判別された場合には（ステップＳ２０８で“ＹＥＳ”）、制御部１０の処理は、ステップＳ２０４に戻る。
【００６２】
構築数Ｎが構築バンド数以下ではないと判別された場合には（ステップＳ２０８で“ＮＯ”）、制御部１０は、構築している出力ビットマップデータに改ページ設定を行う。また、構築された出力ビットマップデータを画像形成動作部５０へ出力する（ステップＳ２０９）。
【００６３】
制御部１０は、全てのフィルタリング条件に係る制御情報の取得及び処理が終了したか否かを判別する（ステップＳ２１０）。終了していないと判別された場合には（ステップＳ２１０で“ＮＯ”）、制御部１０の処理は、ステップＳ２０２に戻る。終了したと判別された場合には（ステップＳ２１０で“ＹＥＳ”）、制御部１０は、画像構築処理を終了する。
【００６４】
以上のように、本実施形態の画像形成装置１００が備える画像データ生成装置としての制御部１０は、表示内容が行単位で規定され得るＯＯＸＭＬで記述されたスプレッドシートデータなどの画像形成対象の元データから所定の選択条件に基づいて画像形成を行う行を選択して、当該選択された行の画像形成に係るバンドデータを各々生成する印刷ジョブ解析部１０ａと、印刷ジョブ解析部１０ａにより生成されたバンドデータを形成画像における配列の順番に配置して出力ビットマップデータを構築する画像構築部１０ｂと、を備える。そして、一の元データから複数の選択条件にそれぞれ基づいて画像形成を行う行が各々選択される場合に、印刷ジョブ解析部１０ａは、作成したバンドデータを保持し、バンドデータの保持されていない行が選択された場合には当該行のバンドデータを生成し、バンドデータの保持されている行が選択された場合には当該行のバンドデータを改めて生成しない。
このように、一度生成されたバンドデータを再生成しないことで、出力ビットマップデータの構築完了までに要する時間や負荷を低減させることができる。また、バンドデータを一律なサイズとせずに、内容の行高に応じた高さで生成するので、各フィルタリング条件に応じた使用の有無を行単位で容易に設定することができる。したがって、画像形成対象となる行とならない行とにそれぞれ応じたバンドデータの使用有無を容易に切り替えることができる。
【００６５】
また、印刷ジョブ解析部１０ａは、生成したバンドデータの行に係るバンド制御情報１０ｃを生成し、選択された行のバンドデータ１０ｄを新たに生成するか否かをこのバンド制御情報１０ｃに基づいて判別する。すなわち、行ごとにバンドデータ１０ｄを生成したか否かを別途リスト記憶させておくことで、当該行のバンドデータ１０ｄが生成済みであるか否かを容易に判断可能であり、処理を簡素化することができる。
【００６６】
また、バンド制御情報１０ｃには、出力ビットマップデータにおけるバンドデータ１０ｄの配列の順番が含まれ、画像構築部１０ｂは、バンド制御情報１０ｃに基づいて出力ビットマップデータを構築する。このように配列順の情報を別途保持することで、行の配列順を任意に並べ替えた（ソートした）際の処理が容易になる。
【００６７】
また、バンド制御情報１０ｃには、生成したバンドデータの行の配列方向についての幅の情報が含まれる。印刷ジョブ解析部１０ａで生成される各バンドデータの行高が不特定であるので、このように別途保持しておくことで、出力ビットマップデータの構築時に処理を容易に進めることができる。
【００６８】
また、画像構築部１０ｂは、バンドデータ１０ｄを配列順に配置する動作の途中で、配列するバンドデータの行の幅の合計が画像形成可能なエリアの高さとして予め定められた設定値を超える場合には、当該設定値を超えるバンドデータ以降のバンドデータを、新たなエリアに形成する出力ビットマップデータとする。このように、行高が不特定であっても、単純に保持されている行高の値を加算していくことで改ページを行う箇所を容易に定めることができるので、バリアブル印刷の出力結果が一枚の記録媒体に入り切らないような場合でも容易に複数の記録媒体に分割して適切な出力画像を得ることができる。
【００６９】
また、印刷ジョブ解析部１０ａは、行の配列方向についての任意の幅に応じて各々バンドデータを生成する。すなわち、行高が行ごとに異なっていても、当該行ごとに行高に合わせてバンドデータを生成するので、内容に合わせて形成画像における各行の表示有無に容易に対応しやすく、処理が容易である。
【００７０】
また、バンドデータは、各行の行の幅で各々一つずつ生成される。このように、内容の各行について各々一つずつバンドデータを生成することで、内容とバンドデータとが一対一の対応関係となり、更に容易に処理を行うことが可能となる。
【００７１】
また、元データには、表計算ソフトウェアにより生成されるスプレッドシートのデータが含まれる。表計算ソフトウェアのデータはマトリクス状に配置され、また、行単位（列単位）で抽出して処理を行うことも多いので、本発明に係る画像形成の処理を好適に適用して低負荷、短時間で効率良くバリアブル印刷に係る画像形成を行うことができる。
【００７２】
また、複数の選択条件には、いずれにおいても固定的に選択される行に係る設定が含まれる。従来の差込処理では、差し替えられない固定画像の位置をずらすのが困難であったが、本実施形態では、差し替えられる部分と同様に行単位でバンドデータが一度だけ生成され、あとは順番に配列されて画像構築がなされればよい。したがって、本実施形態の動的に選択される部分のサイズによらず、負荷を高めずに固定部分を含めたバリアブル印刷に係る出力ビットマップデータの生成を効率良く行うことが可能となる。
【００７３】
また、本実施形態の画像形成装置１００は、上述の画像データ生成装置としての制御部１０と、生成された出力ビットマップデータを用いて記録媒体に画像を形成する画像形成動作部５０と、を備える。このような画像形成装置１００では、負荷をかけずに高速で柔軟なバリアブル印刷を効率良く行うことができる。
【００７４】
なお、本発明は、上記実施の形態に限られるものではなく、様々な変更が可能である。
例えば、上記実施の形態では、スプレッドシートにおける行、すなわち、表示上では横方向に伸びて縦方向に配列されるものを例に挙げて説明したが、単位とされる行は、表示上では縦方向に伸びて横方向に配列されるもの、すなわち、スプレッドシートにおける各列などであってもよい。
【００７５】
また、各行のバンドデータの順番が入れ替え（ソート）されないのであれば、バンドデータの配列順のデータを記憶保持する必要はない。
【００７６】
また、上記実施の形態では、行高がファイル内の各行で任意に変更可能であるものとしたが、各データでは固定されたものであってもよい。すなわち、異なるジョブ間でのみ行高が異なるものであってもよい。この場合、各ジョブにおける各行の行高に係るデータが一つ保持されればよい。
【００７７】
また、バンド制御データ１０ｃを用いずに、単純に、印刷ジョブ解析部１０ａが出力用ビットマップデータの構築順にバンドデータのアドレスやファイル名を指定して、当該指定された順番に画像構築部１０ｂがバンドデータを配列していくのみであってもよい。
【００７８】
また、上記実施の形態では、ＯＯＸＭＬ形式で記述された表計算ソフトウェアのスプレッドシートを例に挙げ、文書ソフトウェアの各行についても同様に取り扱い可能であることとして説明したが、これらに限られない。行単位で内容が規定可能なもの、例えば、会計ソフト（アプリケーションソフト）、スケジュール管理ソフトやデータベースソフトなどであってもよい。データベースに係るデータの場合には、複数の選択条件で選択され得る内容のものが予め出力フォーマットで抽出されているものがジョブデータとして印刷ジョブ解析部１０ａに入力される。また、これらのソフトウェアのデータ出力フォーマットはＯＯＸＭＬ形式により記述されたものに限られず、ＯＤＳ形式などであってもよい。あるいは、ファイルの出力フォーマットは、標準化されたものでなく、ソフトウェアに固有のものであってもよい。
【００７９】
また、上記実施の形態では、固定部分に挟んだ動的選択部分のある画像を例に挙げて説明したが、固定部分がなくてもよい。また、固定部分は動的選択部分とは別途取り扱われることとしてもよい。
【００８０】
また、上述のように、ジョブデータ２１とバンド制御情報２２とを保持して、再度の画像形成に用いることができる。このとき、元データが変更された場合を考慮して、例えば、同一ファイル名のジョブが受け付けられた場合に、ファイルの変更有無などに係る警告表示を行うことが可能であってもよい。
【００８１】
また、上記実施の形態では、画像形成装置１００が備える制御部１０が印刷ジョブ解析部１０ａ及び画像構築部１０ｂとしての処理を行ったが、コンピューター端末などの制御部がこれらの処理を行った後に出力ビットマップデータを画像形成装置１００に出力することとしてもよい。
【００８２】
また、バンドデータの幅方向は、画像形成装置１００における記録媒体の搬送方向とは独立であってよい。
【００８３】
また、上記実施の形態では、印刷ジョブ解析部が画像形成対象の行の選択（フィルタリング）及びバンドデータの生成を行ったが、行の選択結果を元データとともに取得し、当該選択結果に基づいてバンドデータの生成有無の判断及び使いまわしの指定を行ってもよい。
その他、上記実施の形態で示した構成、制御内容や制御手順などの具体的な細部は、本発明の趣旨を逸脱しない範囲において適宜変更可能である。
【符号の説明】
【００８４】
１     画像形成装置
１０   制御部
１０ａ 印刷ジョブ解析部
１０ｂ 画像構築部
１０ｃ バンド制御情報
１０ｄ バンドデータ
２０   記憶部
２１   ジョブデータ
２２   バンド制御情報
３０   入出力インターフェイス
４０   表示・操作受付部
５０   画像形成動作部
１００ 画像形成装置
【図１】
2019101614.tif 000003
【図２】
2019101614.tif 000004
【図３】
2019101614.tif 000005
【図４】
2019101614.tif 000006
【図５】
2019101614.tif 000007
【図６】
2019101614.tif 000008
【図７】
2019101614.tif 000009
【図８】
2019101614.tif 000010
【図９】
2019101614.tif 000011