(57)【特許請求の範囲】
【請求項１】
バリアブル印刷の印刷物の検品を行う印刷検品装置であって、
保存手段に保存されている前記バリアブル印刷で使用するオブジェクトを取得し、前記取得したオブジェクトを合成して合成画像を生成する合成手段と、
前記合成手段により前記合成画像が正常に生成された場合は、当該合成画像を印刷用画像と照合用画像との両方に設定し、前記合成手段により前記合成画像が正常に生成されなかった場合は、前記印刷用画像と前記照合用画像とに互いに異なる画像を設定する画像設定手段と、
前記画像設定手段で設定された前記印刷用画像を印刷するようプリンタに指示することにより前記印刷物を生成する印刷手段と、
前記生成された印刷物をスキャナで読取って画像データを取得する取得手段と、
前記取得手段で取得された前記画像データと、前記画像設定手段で設定された前記照合用画像とを比較することにより、前記印刷物の検品を行う比較手段と、
を備え、
前記画像設定手段は、前記合成手段により前記合成画像が正常に生成されなかった場合、前記印刷用画像として白紙画像を設定し、前記照合用画像として白紙と対照的な色の画像を設定する
ことを特徴とする印刷検品装置。
【請求項２】
前記合成手段により前記合成画像が正常に生成されなかった場合、前記印刷用画像として白紙画像を設定し、前記照合用画像として黒紙画像を設定する
ことを特徴とする請求項１に記載の印刷検品装置。
【請求項３】
前記合成手段は、前記保存手段から前記オブジェクトを取得できなかった場合、予め指定されたオブジェクトが使用可能であるか否かを判断し、
前記合成手段は、前記予め指定されたオブジェクトが使用可能であると判断した場合、前記予め指定されたオブジェクトを合成することにより前記合成画像を生成し、前記予め指定されたオブジェクトが使用可能でないと判断した場合、前記合成画像を生成しない
ことを特徴とする請求項１または２に記載の印刷検品装置。
【請求項４】
前記比較手段で比較した結果、前記取得手段で取得された画像データと前記照合用画像が異なる場合、エラー情報を出力する出力手段
をさらに備える
ことを特徴とする請求項１〜３のいずれか１項に記載の印刷検品装置。
【請求項５】
前記オブジェクトは、前記バリアブル印刷における固定オブジェクトと、印刷ごとに可変の可変オブジェクトとを含む
ことを特徴とする請求項１〜４のいずれか１項に記載の印刷検品装置。
【請求項６】
前記合成画像が正常に生成されたか否かに関わらず、前記画像設定手段による前記画像の設定および前記比較手段による前記検品は、一定時間間隔で行われる
ことを特徴とする請求項１〜５のいずれか１項に記載の印刷検品装置。
【請求項７】
バリアブル印刷の印刷物の検品を行う印刷検品方法であって、
保存手段に保存されている前記バリアブル印刷で使用するオブジェクトを取得し、前記取得したオブジェクトを合成して合成画像を生成する合成工程と、
前記合成工程において前記合成画像が正常に生成された場合は、前記合成画像を印刷用画像と照合用画像との両方に設定し、前記合成工程において前記合成画像が正常に生成されなかった場合は、前記印刷用画像と前記照合用画像とに互いに異なる画像を設定する画像設定工程と、
前記画像設定工程で設定された前記印刷用画像を印刷するようプリンタに指示することにより前記印刷物を生成する印刷工程と、
前記生成された印刷物をスキャナで読取って画像データを取得する取得工程と、
前記取得工程で取得された前記画像データと、前記画像設定工程で設定された前記照合用画像とを比較することにより、前記印刷物の検品を行う比較工程と、
を備え、
前記画像設定工程では、前記合成工程で前記合成画像が正常に生成されなかった場合、前記印刷用画像として白紙画像を設定し、前記照合用画像として白紙と対照的な色の画像を設定する
ことを特徴とする印刷検品方法。
【請求項８】
請求項１〜６のいずれか１項に記載の印刷検品装置の各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷検品装置、印刷検品方法及びプログラムに関し、特に、使用するバリアブルオブジェクトを印刷直前に決定しながら印刷を行うバリアブル印刷の印刷検品に関する。
【背景技術】
【０００２】
近年、電子写真方式やインクジェット方式のデジタルプリンタの高速化・高画質化に伴い、プリント・オン・デマンド（Ｐｒｉｎｔ  Ｏｎ  Ｄｅｍａｎｄ；以下、ＰＯＤと表記する）市場が拡大している。ＰＯＤは、従来のオフセット印刷などに比べ、比較的小ロットの印刷ジョブを短納期で行うことができ、電子データを用いる特性を生かして、バリアブルデータ印刷（Ｖａｒｉａｂｌｅ  Ｄａｔａ  Ｐｒｉｎｔｉｎｇ；以下、ＶＤＰと表記する）が行なわれている。ＶＤＰの文書では、固定部分のオブジェクト（以下、固定オブジェクトと表記する）と可変部分のオブジェクト（以下、可変オブジェクトと表記する）を有し、可変オブジェクトを顧客ごとに変えて印刷を行うことでそれぞれ内容の異なる印刷を可能としている。バリアブル印刷用の言語仕様としてＩＳＯ１６６１２−２  ＰＤＦ／ＶＴ（Ｖａｒｉａｂｌｅ  ｄａｔａ  ａｎｄ  Ｔｒａｎｓａｃｔｉｏｎａｌ）が発行されている。
【０００３】
ＰＤＦ／ＶＴは、ＰＤＦをベースとしたＰＤＬであるため、ＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）を印刷データとして扱うワークフローに対して親和性が高い。一般的に、ＶＤＰではデータソースのレコード数が非常に多い。具体的には、例えば、１レコードあたり２０ページで、１０００個のレコードがある場合、ＰＤＦ／ＶＴは、２００００ページものページ情報を有することになる。すなわち、ページ情報１つのデータ量は、そのページの複雑さ（描画データの量など）に依存するため、一概には予測できないものの、レコード数の多いＶＤＰの場合、ページ情報の数が多くなり、結果として、全体のデータ量が非常に大きくなってしまう。
【０００４】
そこで、ＶＤＰデータを、印刷データとデータソースに分け、印刷時に印刷データとデータソースを合成する方法が開示されている（特許文献１）。この方法は、印刷データを１レコード分のページ情報とレコード毎に動的に変化する可変部分の構成情報で構成し、印刷時に可変部分の構成情報をデータソースと合成するため、データ量を１レコード分に削減する。
【０００５】
また、印刷する対象の印刷用画像と、印刷物をスキャナ等で読取り、両者を比較することで、正常に印刷できたか否かを判定する印刷検品技術がある。上記印刷検品技術とバリアブル印刷技術を使用し、固定部分と可変部分に対し異なる判定基準で比較する方法が開示されている（特許文献２）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１３−１３４７４８号公報
【特許文献２】特開２０１２−０００８７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に示す方法では、従来のようにすべての合成処理が完了した後に印刷する場合と違い、合成処理において画像合成が正常に終了しないことがある。また、印刷直前に画像合成を行うバリアブル印刷では、画像合成は正常に作成されていること前提としている。そのため、印刷用画像の合成処理においてエラーが発生しても、エラーとなった異常データをそのまま印刷用画像とし、その印刷用画像に基づき印刷した印刷物をスキャナで読み取った画像は、印刷用画像と比較・検品しても同一のため検品エラーにならない。つまり、従来と同じやり方で検品処理を行うと検品エラーのチェックが機能しなくなってしまうという恐れがある。
【０００８】
本発明は、上記課題を鑑みて、印刷直前に画像合成を行うバリアブル印刷において画像合成の際にエラーなどが発生した場合であっても、印刷物の検品処理においてエラーを検出することができる印刷検品装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明の印刷検品装置は、バリアブル印刷の印刷物の検品を行う印刷検品装置であって、保存手段に保存されている前記バリアブル印刷で使用するオブジェクトを取得し、前記取得したオブジェクトを合成して合成画像を生成する合成手段と、前記合成手段により前記合成画像が正常に生成された場合は、当該合成画像を印刷用画像と照合用画像との両方に設定し、前記合成手段により前記合成画像が正常に生成されなかった場合は、前記印刷用画像と前記照合用画像とに互いに異なる画像を設定する画像設定手段と、前記画像設定手段で設定された前記印刷用画像を印刷するようプリンタに指示することにより前記印刷物を生成する印刷手段と、前記生成された印刷物をスキャナで読取って画像データを取得する取得手段と、前記取得手段で取得された前記画像データと、前記画像設定手段で設定された前記照合用画像とを比較することにより、前記印刷物の検品を行う比較手段と、を備え、前記画像設定手段は、前記合成手段により前記合成画像が正常に生成されなかった場合、前記印刷用画像として白紙画像を設定し、前記照合用画像として白紙と対照的な色の画像を設定することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、印刷直前に画像合成を行うバリアブル印刷において画像合成時に異常（エラー）などが発生した場合であっても、印刷物の検品処理においてエラーを検出することができる印刷検品装置を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】印刷検品装置および印刷する用紙の一例を示す全体構成図である。
【図２】印刷検品装置の概略構成を示すブロック図である。
【図３】印刷検品処理の全体処理を示すフローチャートである。
【図４】印刷検品処理において使用するデータの具体例を示す図である。
【図５】使用画像決定処理の詳細な処理を示すフローチャートである。
【図６】画像検品処理において使用するデータの具体例を示す図である。
【図７】第２実施形態に係る印刷検品処理におけるデータの一例を示す図である。
【図８】第２実施形態に係る画像合成処理を示すフローチャートである。
【図９】第３実施形態に係る印刷検品処理におけるデータの一例を示す図である。
【図１０】第３実施形態に係る画像合成処理を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について図面などを参照して説明する。
【００１３】
（第１実施形態）
図１は、本実施形態に係る印刷検品装置および印刷検品装置が印刷する用紙の一例を示す全体構成図である。以下、図１を参照して、印刷検品装置１００の概要を説明する。図１において、印刷検品装置１００は、ハードウェア部として、リーダ１２０と、プリンタ１２１と、スキャナ１２２と、スピーカ１２３とを備える。また、ソフトウェア・データ部として、識別子解析部１１０と、バリアブルオブジェクト取得部１１１と、画像合成部１１２と、を備える。さらに、使用画像決定部（画像設定手段）１１３と、印刷部１１４と、実績画像取得部１１５と、比較検品部１１６と、検品結果出力部１１７と、データ保持部１１８とを備える。なお、印刷検品装置１００は、ライン上のカット用紙またはロール紙などの連帳印刷用紙である用紙１４０を対象とし、印刷用紙１４０にある識別子の読取り、印刷、印刷物のスキャンおよび検品を実施し、検品結果を出力する。
【００１４】
図１において、領域１（１３０−１）から領域６（１３０−６）は、用紙１４０が置かれている位置を表すために説明上表示している。用紙１４０は、領域１（１３０−１）から領域２（１３０−２）へ、領域２（１３０−２）から領域３（１３０−３）へと移動し、領域６（１３０−６）に至る。以下、用紙１４０を対象に説明を行うが、用紙１４０が領域６（１３０−６）にある時は、領域１（1３０−１）から領域５（１３０−５）には別の用紙があってもよい。
【００１５】
また、リーダ１２０は、用紙１４０がリーダの読取り領域（領域１（１３０−１）の位置）に存在する時に、用紙１４０を識別する識別子の読込を行う。なお、本実施形態では、識別子は、用紙１４０の右上に予め印字されているバーコードで説明するが、別の識別子であってもよい。プリンタ１２１は、用紙１４０がプリンタの出力領域（領域３（１３０−３）の位置）にある時に、印刷を行う。スキャナ１２２は、用紙１４０がスキャナの読取り領域（領域５（１３０−５）の位置）にある時に、用紙のスキャニングを行う。スピーカ１２３は、検品結果において、エラーとなった場合にエラー発生を知らせる音を発する。
【００１６】
用紙１４０は、右から左に、例えば、１ｍ／ｓ（秒速１メートル）の速度で移動している。用紙１４０の幅と同じく領域１（１３０−１）から領域６（１３０−６）の各々の幅が１０ｃｍ（センチメートル）とすると、用紙１４０が領域１つ分移動するのに要する時間は、１００ｍｓ（ミリ秒）となる。すなわち、領域１（１３０−１）の位置にある用紙が領域２（１３０−２）の位置に移動するのに１００ｍｓの時間を要する。領域１（１３０−１）の位置にあった用紙１４０は、２００ｍｓ後に領域３（１３０−３）の位置に移動し、さらにその２００ｍｓ後（すなわち、トータルで４００ｍｓ後）には、領域５（１３０−５）の位置に移動する。なお、本実施形態では、用紙１４０の移動速度に基づき移動時間を計算することで、リーダ１２０が処理した後の経過時間によって、上記３つの位置にある用紙の同期を取っている。つまり、領域１（１３０−１）で読み込んだ用紙１４０は、２００ｍｓ後に領域３（１３０−３）の位置で印刷が行われ、さらに２００ｍｓ後（すなわち、トータルで４００ｍｓ後）に領域５（１３０−５）の位置で読取りが行われる。
【００１７】
識別子解析部１１０は、リーダ１２０が読み込んだ用紙の識別子を解析し、識別子解析情報を作成する。ここで、識別子解析情報とは、識別子を解析した結果のデータであり、本実施形態では、後述の図６（Ｃ）で示すように、ｉｄを１件有する。また、識別子解析情報は、バリアブルオブジェクトを一意に識別することが可能な情報である。バリアブルオブジェクト取得部１１１は、識別子解析情報を受け取り、データ保持部１１８から識別子解析情報をキーとして該当するバリアブルオブジェクトを取得する。
【００１８】
画像合成部１１２は、データ保持部１１８にあるテンプレートを取得する。そして、画像合成部１１２は、取得したテンプレートと、バリアブルオブジェクト取得部１１１で取得したバリアブルオブジェクトとで合成を行い、合成画像を作成する。また、テンプレートは、常に一定の情報を印刷する固定部分（固定オブジェクト）と、可変情報を印刷する可変部分（可変オブジェクト）を有する。具体的には、テンプレート上の可変部分であるプレースホルダに対し、バリアブルオブジェクトを配置し画像として作成する。
【００１９】
使用画像決定部１１３は、画像合成部１１２で合成画像が正常に生成されたか否かの情報を受け、印刷用と照合用に使用する画像を決定する。印刷部１１４は、使用画像決定部１１３で決定した印刷用画像を使用し、プリンタ１２１に対し印刷を指示する。実績画像取得部１１５は、領域５（１３０−５）の位置にある用紙を、スキャナ１２２を介してスキャニングした結果の画像を実績画像として取得する。比較検品部１１６は、実績画像取得部１１５で取得した実績画像と使用画像決定部１１３で決定した照合用画像の比較を行う。そして、比較の結果相違がある場合、検品エラーとなる。検品結果出力部１１７は、比較検品部１１６からの検品結果を受け、検品決結果がエラーの場合、スピーカ１２３に対してエラー発生時に発する音声等の出力を行う。データ保持部１１８は、バリアブル印刷の固定部分、可変部分を持つテンプレートと、データソースと、エラー発生時に使用する印刷用画像と、エラー発生時に使用する照合用画像を保持している。エラー発生時に使用する印刷用画像と、エラー発生時に使用する照合用画像は、具体例を示し後述で説明を行う。
【００２０】
図２は、本実施形態に係る画像処理装置の概略構成を示すブロック図である。図２において、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）２０１は、ＲＯＭ２０２、記憶装置２０３に格納された制御プログラムに基づいてＣＰＵデバイスに接続された各デバイスを制御する。Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）２０２は、各種の制御プログラムやデータを保持する。Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＡＭ）２０４は、ＣＰＵ２０１のワーク領域、エラー処理時のデータの退避領域、制御プログラムのロード領域等を有する。記憶装置２０３は、各種制御プログラムや各種データを保存する。ネットワーク・インターフェイス（Ｎｅｔ−ＩＦ）２０５は、他の情報装置等とネットワーク２０６を介して通信を行うことができる。
【００２１】
ＣＰＵ２０１に対する制御プログラムの提供は、ＲＯＭ２０２、記憶装置２０３から行ってもよく、ネットワーク２０６を介して他の情報装置等から行ってもよい。デバイスとの入力インターフェイス２１１は、装置に対しデータの入力を行う。出力インターフェイス２０７は、装置で生成したデータ及び保持するデータやネットワーク２０６を介して供給されたデータを出力する。入力インターフェイス２１１は、スキャナ１２２およびリーダ１２０の入力デバイスと接続されている。出力インターフェイス２０７は、スピーカ１２３とプリンタ１２１の出力デバイスと接続されている。ＣＰＵバス２１４は、アドレスバス、データバスおよびコントロールバスを含む。また、ＣＰＵバス２１４は、入力インターフェイス２１１、出力インターフェイス２０７、Ｎｅｔ−ＩＦ２０５、ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０４、記憶装置２０３と接続している。
【００２２】
なお、本実施形態では、本発明内容を含む情報処理プログラムコードが記憶装置２０３に格納されており、ＣＰＵ２０１によって実行される。リーダ１２０やスキャナ１２２から取得したデータは、入力インターフェイス２０９を介し、ＲＡＭ２０４に保管される。ＣＰＵ２０１は、制御プログラムに基づきＲＡＭ２０４の内容の認識と解析を行う。解析された結果は、必要に応じてＲＡＭ２０４、記憶装置２０３を介し、スピーカ１２３、プリンタ１２１およびＮｅｔ−ＩＦ２０５、ネットワーク２０６を介して他の装置に伝えられる。
【００２３】
図３は、本実施形態に係る処理フロー図である。以下、複数の図を用いて、印刷検品装置の処理フローおよびデータの具体例について説明する。図３（Ｂ）は、図１のデータ保持部１１８が保持するデータの詳細を示す。図３（Ｂ）は、データソース３２１、テンプレートデータ３２２、エラー発生時印刷用画像３２３、エラー発生時照合用画像３２４を保持する。図３（Ａ）、（Ｃ）、および（Ｄ）は、処理フローである。なお、図３（Ａ）、３（Ｃ）、および３（Ｄ）の各処理フローは、並列した処理が可能である。図３（Ａ）のステップＳ３０６の処理で作成した合成画像を図３（Ｃ）で使用する。図３（Ｃ）のステップＳ３１０で生成した照合用画像を図３（Ｄ）で使用する。図３（Ｃ）および（Ｄ）の処理フローは、図３（Ａ）の処理開始後、一定時間経過後に（一定時間間隔で）処理を実行する。従って、図３（Ｃ）および（Ｄ）の処理開始時に図３（Ａ）および（Ｃ）で作成するデータ（画像）が間に合わない場合が発生する。処理開始のタイミングとデータが間に合わない場合については、後述する。なお、具体的な処理フローについては、他の図と共に後述する。
【００２４】
図４は、図３を用いた処理フローの際に使用するデータ（画像）の具体例である。図４（Ａ）は、テンプレートデータ３２２の１つの具体例のテンプレートである。テンプレート台紙４０１上に、可変部分であるプレースホルダ１（４０２）、プレースホルダ２（４０４）および固定部分である画像４０３が配置されている。図４（Ｂ）は、図３データソース３２１の具体例である。図４（Ｂ）は、ｉｄ４１１、ＰＨ１（４１２）、ＰＨ２（４１３）から成るデータおよびそのデータ値が示す画像等のデータを有する。ｉｄ４１１がＣ００１の値である行は、行４１４である。ｉｄ４１１がＣ００２の値である行は、行４１５である。ｉｄ４１１がＣ００３の値である行は、行４１６である。行４１４では、ＰＨ１（４１２）は「ａ．ｊｐｅｇ」、ＰＨ２（４１３）は「こんにちは」の値を有する。行４１５では、ＰＨ１（４１２）は「ｂ．ｐｎｇ」、ＰＨ２（４１３）は「拝啓」の値を有する。行４１６では、ＰＨ１（４１２）は「ｃ.ｔｉｆｆ」、ＰＨ２（４１３）は、「はじめまして」の値を有する。画像４１８は、「ａ．ｊｐｅｇ」が指す画像ファイルであり、画像４１９は、「ｂ．ｐｎｇ」が指す画像ファイルである。なお、本実施形態では、「ｃ.ｔｉｆｆ」が指す画像ファイルは存在していない。
【００２５】
図４（Ｃ）は、エラー発生時に使用する印刷用画像である。図４（Ｄ）は、エラー発生時に使用する照合用画像である。図４（Ｃ）は、白紙（白紙画像）であるため、エラー発生時の印刷では、何も印刷しなくて済み、インクやトナー等が節約できる。また、何も印刷されないため、印刷結果の中からエラーが発生した印刷結果を探すことが容易となる。図４（Ｄ）は、図４（Ｃ）と相違した画像であれば何でもよいが、本実施形態では、図４（Ｃ）の白紙とは対照的な色である黒紙（黒紙画像）とする。図４（Ｅ）は、プレースホルダ１（４０２）に関する情報を記載したプレースホルダ情報１である。プレースホルダ情報１には、プレースホルダの配置位置及び範囲を示すＢｏｘの値、配置するオブジェクトのタイプを示すＯｂｊｅｃｔＴｙｐｅの値としてＩＭＡＧＥ（画像）を、データソースの列を示すＣｏｌｕｍｎの値としてＰＨ１を有する。
【００２６】
図４（Ｆ）は、プレースホルダ２（４０４）に関する情報を記載したプレースホルダ情報２である。プレースホルダ情報２には、プレースホルダの配置位置及び範囲を示すＢｏｘの値、配置するオブジェクトのタイプを示すＯｂｊｅｃｔＴｙｐｅの値としてＴＥＸＴ（文言）を、データソースの列を示すＣｏｌｕｍｎの値としてＰＨ２を有する。プレースホルダ情報は、テンプレート内に保持してよく、またはテンプレートとは別に管理してもよい。
【００２７】
図６は、同じく図３を用いた処理フローの説明の際に使用するデータの具体例である。図６（Ａ）は、領域１（１３０−１）、領域２（１３０−２）の位置にある時の用紙１４０である。図６（Ａ）の用紙６０１は、印刷対象の用紙である。また、識別子６０２は、印刷対象の用紙６０１にある識別子であり、本実施形態では、バーコードである。図６（Ｂ）の合成画像６１１は、画像合成部１１２で作成した合成画像である。また、バリアブルオブジェクト６１３および６１４は、用紙６０１の識別子に基づき図４（Ｂ）のデータソースから取得したバリアブルオブジェクトである。画像６１２は、図４（Ａ）テンプレートに固定部分として配置されていた画像４０３である。図６（Ｃ）は、識別子解析情報の一例である。なお、本実施形態では、ｉｄとしてＣ００１という値を有する。
【００２８】
次に、図４および図６を参照して、図３に示す処理フローについて具体的に説明する。図３（Ａ）のステップＳ３０１で、識別子解析処理が開始される。次に、ステップＳ３０１で、識別子解析部１１０は、リーダ１２０が読み込んだ領域１（１３０−１）の位置にある用紙１４０の識別子を解析し、識別子解析情報を作成する。なお、ステップＳ３０１で開始する識別子解析処理は、用紙１４０が領域１（１３０−１）の位置にある場合に処理を開始する。ステップＳ３０２で作成された識別子解析情報は、図６（Ｃ）に示す値を有する。ステップＳ３０２で識別子解析情報を作成、出力した後、ステップＳ３０３へ進み、バリアブルオブジェクト取得処理を行う。
【００２９】
そして、ステップＳ３０３のバリアブルオブジェクト取得処理で、バリアブルオブジェクト取得部１１１は、ステップＳ３０２で作成した識別子解析情報を読み、データソース３２１から、ｉｄがＣ００１のバリアブルオブジェクトを取得する。ここで、図４に示すように、ｉｄ４１１がＣ００１の値である行は、行４１４である。行４１４では、ＰＨ１には「ａ．ｊｐｅｇ」、ＰＨ２には「こんにちは」の値がある。そして、図４（Ｅ）および（Ｆ）のプレースホルダ情報のＣｏｌｕｍｎを基に値を求めると、プレースホルダ１用にはＰＨ１の値「ａ．ｊｐｅｇ」が、プレースホルダ２用にはＰＨ２の値「こんにちは」が、求まる。ＰＨ１の値「ａ．ｊｐｅｇ」は画像ファイル名であり、プレースホルダ情報１のＰＨ１は、ＩＭＡＧＥ（画像）がオブジェクトタイプであるため、画像ファイル名が示す画像４１８が取得すべきバリアブルオブジェクトとなる。プレースホルダ情報２のＰＨ２は、ＴＥＸＴ（文言）がオブジェクトタイプであるため、ＰＨ２の値「こんにちは」はオブジェクトタイプに合致している。そのためこの文言がそのまま取得すべきバリアブルオブジェクトとなる。すなわち、ステップＳ３０３のバリアブルオブジェクト取得処理では、データソース３２１からＰＨ１をプレースホルダ１（４０２）用に、ＰＨ２をプレースホルダ２（４０４）用に、各々バリアブルオブジェクトを取得する。そして、ステップＳ３０４で、取得したバリアブルオブジェクトをＲＡＭ２０４に出力する。ステップＳ３０４でバリアブルオブジェクトを作成した後、ステップＳ３０５へ進み、画像合成処理を行う。
【００３０】
次に、ステップＳ３０５の画像合成処理で、画像合成部１１２は、テンプレートデータ３２２からテンプレートを取得する。そして、ステップＳ３０６で、ステップＳ３０４でＲＡＭ２０４から取得したバリアブルオブジェクトを該テンプレートのプレースホルダに配置し合成した画像を作成する。具体的には、バリアブルオブジェクトは、プレースホルダ１（４０２）用に画像４１８が、プレースホルダ２（４０４）用に文言「こんにちは」が存在している。従って、画像４１８をプレースホルダ１（４０２）に配置し、文言「こんにちは」をプレースホルダ２（４０４）に配置し、固定部分である画像４０３を合成させて合成画像を生成する。なお、図３（Ａ）に示す一連の処理が正常に終了した場合、ステップＳ３０６で作成した合成画像が出力され記憶装置２０３に保存される。このとき、例えば、合成画像に識別情報や生成時間などの情報を一緒に保存することで、後述のステップＳ３０７における使用画像決定処理において、合成画像が存在するか否かの判定が容易になる。一方、正常に終了しなかった場合、合成画像が出力されない。例えば、合成画像が正常に出力されないケースとして、以下の３つがある。
【００３１】
まず第１に、識別子解析情報に誤りが存在した場合である。すなわち、ステップＳ３０１において識別子の読み込みや解析が誤って行われた結果、ステップＳ３０２において識別子解析情報に、例えば、ｉｄ＝Ｚ９９９のような誤ったｉｄの値が入ってしまった場合である。この場合、データソース３２１に該当するｉｄのデータが存在しないため、バリアブルオブジェクトを取得することができず、ステップＳ３０３において、正常な値を有するバリアブルオブジェクトを取得することができない。そのため、ステップＳ３０６の画像合成処理において合成対象となるバリアブルオブジェクトが存在しないため画像合成がエラーとなる。
【００３２】
第２に、データソース３２１に正しい値が入っていない場合である。すなわち、ステップＳ３０１の読み込みや解析が正常に行われ、ステップＳ３０２において識別子解析情報がｉｄ＝Ｃ００３の値の場合である。ｉｄ４１１がＣ００３の値である行４１６は、ＰＨ１の値「ｃ.ｔｉｆｆ」、ＰＨ２の値「はじめまして」を有する。ｉｄがＣ００３のバリアブルオブジェクトを取得しようとすると、「ｃ.ｔｉｆｆ」に該当する画像は、図４（Ｂ）に存在していない。そのため、プレースホルダ１用の画像が存在しないことになる。従って、画像が存在しないため、ステップＳ３０３において、正常な値を有するバリアブルオブジェクトを出力することはできない。この場合、ステップＳ３０６の画像合成処理において合成対象となるバリアブルオブジェクトが存在しないため画像合成がエラーとなる。
【００３３】
第３に、合成画像の生成が間に合わなかった場合である。すなわち、ステップＳ３０１の読み込みや解析が正常に行われ、ステップＳ３０２における識別子解析情報がｉｄ＝Ｃ００２の値の場合である。この場合、データソース３２１から、ｉｄがＣ００２のバリアブルオブジェクトを取得しようとすると、ｉｄ４１１がＣ００２の値である行４１５には、ＰＨ１は「ｂ．ｐｎｇ」、ＰＨ２は「拝啓」である。図４（Ｂ）に「ｂ．ｐｎｇ」に該当する画像は存在している。しかしながら、その画像サイズが巨大等の理由により、ステップＳ３０３における取得処理で非常に時間が掛かる場合がある。この場合、ステップＳ３０４におけるバリアブルオブジェクトを出力するのに時間が掛かってしまう恐れがある。そのため、ステップＳ３０５の画像合成処理の開始時刻が遅れてしまう。後述するようにステップＳ３０７の使用画像決定処理は、ステップＳ３０６における合成画像の作成を待って実行するのではなく、時刻によって開始される。そのため、ステップＳ３０５の画像合成処理の開始時刻が遅れると、ステップＳ３０６における合成画像の作成が完了する前に、ステップＳ３０７の使用画像決定処理が実行される場合があり、このような状況が合成画像の生成が間に合わなかった場合となる。
【００３４】
本実施形態に係る印刷検品装置は、時刻に応じて処理を行っている。そのため、リーダ１２０で読み込み後、２００ｍｓ後には後述のステップＳ３０９の印刷処理を完了する必要がある。従って、ステップＳ３０７の使用画像決定処理の開始時刻は、印刷処理にかかる時刻を考慮した上で、２００ｍｓ経過前に開始する。しかしながら、上述したように開始時刻に合成画像３０６が存在していない場合もあり得る。この場合、ステップＳ３０７の使用画像決定処理で、使用画像決定部１１３は、時刻により処理を開始する。処理の開始時に、記憶装置２０３にステップＳ３０６における合成画像が存在する場合（正常に処理された）と合成画像が存在しない場合（正常に処理されなかった）がある。そこで、ステップＳ３０７の使用画像決定処理において正常の場合と正常でない場合に対応した印刷用画像と照合用画像を設定するために、具体的に図５に示すフローを実行する。以下、図５を用いて説明を行う。
【００３５】
図５は、ステップＳ３０７の使用画像決定処理の詳細なフローである。まず、ステップＳ５０１で、使用画像決定部１１３は、合成画像が正常に生成されたか否かを判定する。上述のように、ステップＳ３０６で合成画像が存在する場合を正常、合成画像が存在しない場合を正常ではない、として判定する。ステップＳ５０１で、使用画像決定部１１３は、正常（合成画像が存在する）と判定した場合（はい）、ステップＳ５０２に進む。そして、ステップＳ５０２で、使用画像決定部１１３は、合成画像をステップＳ３０８にて印刷用画像に設定する。次に、ステップＳ５０３で、合成画像をステップＳ３１０にて照合用画像に設定する。すなわち、印刷用画像と照合用画像の両方に合成画像を設定する。
【００３６】
一方、ステップＳ５０１で、使用画像決定部１１３は、正常でない（合成画像が存在しない）と判定した場合（いいえ）、ステップＳ５０４に進む。そして、ステップＳ５０４で、使用画像決定部１１３は、図３（Ｂ）におけるエラー発生時印刷用画像３２３からエラー発生時印刷用画像を取得し、ステップＳ３０８における印刷用画像に設定する。次に、ステップＳ５０５で、使用画像決定部１１３は、図３（Ｂ）におけるエラー発生時照合用画像３２４からエラー発生時照合用画像を取得し、ステップＳ３１０における照合用画像に設定する。エラー発生時印刷用画像３２３の具体例は、図４（Ｃ）である。エラー発生時照合用画像３２４の具体例は、図４（Ｄ）である。なお、本実施形態において、図４（Ｃ）の画像と４（Ｄ）の画像は、互いに異なる画像である。
【００３７】
ステップＳ３０８で設定した印刷用画像とステップＳ３１０で設定した照合用画像は、ＲＡＭ２０４に保存する。ステップＳ５０３またはステップＳ５０５の処理が終了したら、ステップＳ３０７の使用画像決定処理が終了する。そして、図３に戻って、ステップＳ３０８で印刷用画像を出力し、ステップＳ３１０で照合用画像を出力する。次に、ステップＳ３０９で、印刷部１１４は、出力された印刷用画像を用いて印刷処理を行う。
【００３８】
次に、ステップＳ３１１の実績画像取得処理で、実績画像取得部１１５は、印刷された実物に対しスキャニングを行い、ステップＳ３１２で、その結果を画像として実績画像（画像データ）を出力する。ステップＳ３１１の実績画像取得処理は、リーダ１２０で読み込みから４００ｍｓ後、すなわち、用紙１４０が領域５（１３０−５）にある時に実行する。次に、ステップＳ３１３の比較検品処理で、比較検品部１１６は、ステップＳ３１０で出力された照合用画像とステップＳ３１２で出力された実績画像の比較を行う。比較の結果、画像が合致していた場合は正常とし、合致していない場合は異常として、ステップＳ３１４で、検品結果を出力する。次に、ステップＳ３１５の検品結果出力処理で、検品結果出力部１１７は、ステップＳ３１４で出力された検品結果が異常である場合、検品エラーが発生したことを知らせるため、スピーカ１２３に対し、エラー発生時に発する音声の出力を行う。
【００３９】
以上、本実施形態によれば、合成処理でエラーが発生した場合、画像合成処理のエラー発生時用の印刷画像と、照合用画像が互いに異なる画像に設定されるため、画像合成処理でエラーが発生したことを検出することが可能となる。従って、画像合成処理のエラー発生時に誤った合成画像を印刷することがなくなる。また、画像合成処理のエラー発生時には、印刷用画像と照合用画像が互いに異なる画像なので、検品時に検品エラーの検知をすることができる。さらに、画像合成処理のエラー発生時には、印刷処理で何も印刷されることがないため、他の印刷済み用紙の中から容易にエラーとなった用紙を見つけることが可能となる。また、エラーとなる原因を除去後にその用紙に対し最初から処理を実行することで紙を無駄にすることなく、エラーの回復ができる。
【００４０】
上述したように、画像合成処理のエラー発生時に随時印刷処理を停止する必要はないが、必要であれば、エラー発生時に印刷処理を停止してもよい。本実施形態では、用紙１４０は、識別子としてバーコードを使用していたが、これに限定することなく、例えば、２次元コードやＲＦＩＤ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ  ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）等識別可能なものであればよい。また、検品結果出力部１１７は、スピーカ１２３を通じて音声を発しているが、これに限定しない。例えば、検品エラーの結果は、メール上に発生時刻、発生識別子解析情報を記載したものを担当作業員のメールアドレスに対し送信することや、モニター上に同情報を表示するなどであってもよい。
【００４１】
また、本実施形態では、ステップＳ３０５の画像合成処理でエラーが発生した場合、合成画像を生成しないとしたが、これに限定しない。例えば、合成画像とは別に、エラー情報を生成し、該エラー情報内にエラーとなった識別子解析情報やエラー対象のプレースホルダ名やエラーの原因について記載してもよい。また、エラー情報を照合用画像と共に比較検品処理から検品結果に含ませることで、ステップＳ３１５の検品結果出力処理にて、それらのエラー情報を表示、伝達することが可能となる。本実施形態では、印刷対象は用紙としたが、これに限定することなく、例えば、プラスチックカードやフィギュアなどプリンタが印字できるものであればよい。
【００４２】
さらに、本実施形態では、リーダ１２０、スキャナ１２２で、それぞれ読み込みを行ったがこれに限定することなく、例えば、スチルカメラやビデオカメラ等などの撮像装置でもよい。また、図３（Ｃ）および３（Ｄ）に示す処理は、図３（Ａ）の開始後の所定時間経過後に実行されたが、これに限定しない。例えば、プリンタ１２１およびスキャナ１２２にそれぞれリーダを付属させ、リーダが識別子を読み込んだタイミングで処理を行ってもよい。
【００４３】
（第２実施形態）
次に、第２実施形態について説明する。本実施形態の構成及び処理の流れは第１実施形態に準じる。第１実施形態においては、合成画像が正常に生成されないケースとして３つケースについて説明をした。これに対して、本実施形態では、３つのケースの内、第１と第２の場合については、合成画像を生成できる場合があることについて説明する。
【００４４】
図７を参照して、第１実施形態と異なる点について説明する。図７は、本実施形態で使用するデータの具体例である。図７（Ａ）は、本実施形態におけるテンプレートである。図７（Ａ）に示すテンプレートは、テンプレート台紙７０１と、可変部分であるプレースホルダ３（７０２）（ＰＨ３）と、固定部分である文言７０３と、可変部分であるプレースホルダ４（７０４）（ＰＨ４）とを含む。プレースホルダ３（７０２）には、デフォルトデータとして文言「貴方へ」が記載されている。なお。デフォルトデータとは、バリアブルオブジェクトが取得できなかった場合に使用する文言あるいは画像等である。また、デフォルトデータは、必ずしもテンプレート上にある必要はなく、別に管理してもよい。プレースホルダ４（７０４）には、「旅行のご案内」の文言が記載されている。なお、本実施形態では、識別子はバーコードではなく、ＲＦＩＤを使用する。従って、図１に示すリーダ１２０は、本実施形態ではバーコードリーダではなく、ＲＦＩＤリーダである。
【００４５】
図７（Ｂ）および７（Ｃ）は、本実施形態におけるデータソースである。図７（Ｂ）は、性別と「ＰＨ３」７１２から構成されている。性別７１１が「１」の値である行は、行７１３であり、性別７１１が「２」の値である行は、行７１４である。図７（Ｃ）は、年収ランク７２１と「ＰＨ４」７２２とから構成されている。年収ランク７２１が「Ａ」の値である行は、行７２３であり、年収ランク７２１が「Ｂ」の値である行は、行７２４であり、年収ランク７２１が「Ｃ」の値である行は、行７２５である。
【００４６】
図７（Ｄ）は、本実施形態における識別子解析情報である。識別子解析情報は、ｉｄ７３１、性別７３２、年収ランク７３３から構成されている。ｉｄ７３１が「Ｄ００１」の値である行は行７３４であり、ｉｄ７３１が「Ｄ００２」の値である行は行７３５である。行７３４の年収ランク７３３は、「Ｂ」であり、行７３５の年収ランク７３３は、「−」である。ここで、値「−」は、識別子の読み込み、解析が正常に行われなかった場合に入る値を示す。
【００４７】
図７（Ｅ）は、本実施形態において、識別子解析情報のｉｄ７３１が「Ｄ００１」の場合に作成される合成画像である。台紙７４１上に、プレースホルダ３（７４２）領域に文言「貴方へ」が、固定部分７４３には「旅行のご案内」が、プレースホルダ４（７４４）領域に文言「リーズナブルな旅行」が記載されている。なお、図７（Ｅ）のの合成画像の作成処理については、図８の処理フローを用いて後述する。図７（Ｆ）は、本実施形態におけるプレースホルダ別のデフォルト値の使用の許可、不許可を管理するデータである。図７（Ｆ）は、対象ＰＨ７５１とデフォルト値使用７５２から構成されている。対象ＰＨ７５１が「ＰＨ３」の値である行は、行７５３であり、対象ＰＨ７５１が「ＰＨ４」の値である行は、行７５４である。
【００４８】
図７（Ｇ）は、プレースホルダ３（７０２）に関する情報を記載したプレースホルダ情報３である。プレースホルダ情報３には、プレースホルダの配置位置および範囲を示すＢｏｘの値、配置するオブジェクトのタイプを示すＯｂｊｅｃｔＴｙｐｅの値としてＴＥＸＴ（文言）を、データソースの列を示すＣｏｌｕｍｎの値としてＰＨ３が含まれる。図７（Ｈ）は、プレースホルダ４（７０４）に関する情報を記載したプレースホルダ情報４である。プレースホルダ情報４には、プレースホルダの配置位置および範囲を示すＢｏｘの値、配置するオブジェクトのタイプを示すＯｂｊｅｃｔＴｙｐｅの値としてＴＥＸＴ（文言）を、データソースの列を示すＣｏｌｕｍｎの値としてＰＨ４が含まれる。
【００４９】
次に、図８に示す本実施形態の画像合成処理について説明する。まず、ステップＳ８０２で、該当プレースホルダのバリアブルオブジェクトが正常に取得されたか否かを判定する。正常に取得された場合（「はい」）、ステップＳ８０６に進み、正常に取得されなかった場合（「いいえ」）、ステップＳ８０３に進む。次に、ステップＳ８０３で、該当プレースホルダのデフォルト使用が許可されているか（使用可能か）否かを判定する。許可されている場合（「はい」）、ステップＳ８０４に進み、許可されていない場合（「いいえ」）、ステップＳ８０７に進む。そして、ステップＳ８０４で、該当プレースホルダにデフォルトオブジェクトを使用する。
【００５０】
一方、ステップＳ８０６で、バリアブルオブジェクトが正常に取得されたので、該当プレースホルダには、取得したバリアブルオブジェクトを使用する。また、ステップＳ８０７では、デフォルト使用が許可されていないことから、異常終了となり、合成画像を生成しない。ステップＳ８０４またはステップＳ８０６では正常終了となり、ステップＳ８０８で、合成画像を生成する。以上、この処理を終了する。
【００５１】
次に、図８を参照して、第１実施形態における図３の画像合成処理の処理と相違する点について説明する。まず、図７（Ｄ）の行７３４を例に処理内容を具体的に説明する。本実施形態では、図７（Ａ）のプレースホルダ３（７０２）とプレースホルダ４（７０４）に対し処理を行う。
【００５２】
まず、該当のプレースホルダがプレースホルダ３（７０２）である場合の処理について説明する。ステップＳ８０２で、画像合成部１１２は、バリアブルオブジェクト取得部１１１が正常にバリアブルオブジェクトを取得できたか否かを判定する。この場合、該当のプレースホルダはプレースホルダ３（７０２）であり、図７（Ｇ）のプレースホルダ情報３に基づき、図７(Ｂ)の「ＰＨ３」（７１２）の列の値が求める値である。図７（Ｂ）の「ＰＨ３」７１２の列の値を求めるため、識別子解析情報である図７（Ｄ）の行７３４の性別７３２をキーとして、図７（Ｂ）の性別７１１の検索を行うことで、バリアブルオブジェクトの取得を行う。
【００５３】
図７（Ｄ）の行７３４の性別７３２は、「−」であるので、図７（Ｂ）のデータソースに対しバリアブルオブジェクトの取得を試みても、図７（Ｂ）の性別７１１には、「−」という値のデータはないため、エラーとなる。この場合、バリアブルオブジェクトの取得が正常に行われなかったと判定され、ステップＳ８０２で「いいえ」となり、ステップＳ８０３に進む。
【００５４】
次に、ステップＳ８０３で、画像合成部１１２は、該当プレースホルダでデフォルト値の使用が許可されているか否かを判定する。ステップＳ８０３では、図７（Ｄ）のプレースホルダ別デフォルト値使用許可管理データを読み、プレースホルダ３（７０２）でデフォルト値の使用が許可されているか否かの情報を取得する。図７（Ｆ）の行７５３は、対象ＰＨ７５１が「ＰＨ３」で、デフォルト値使用７５２は、「許可」となる。従って、ステップＳ８０３では、「はい」となり、ステップＳ８０４へ進む。次に、ステップＳ８０４で、プレースホルダ３（７０２）には、デフォルトデータを用いるので、テンプレート上にある文言「貴方へ」を使用する。
【００５５】
次に、該当のプレースホルダがプレースホルダ４（７０４）である場合の処理について説明する。ステップＳ８０２で、画像合成部１１２は、該当プレースホルダのバリアブルオブジェクトが正常に取得されているか否かを判定する。ステップＳ８０２で、画像合成部１１２は、識別子解析情報である図７（Ｄ）の行７３４の年収ランク７３３を読み、バリアブルオブジェクトの取得を行う。バリアブルオブジェクトの具体的な取得方法は、以下の通りである。この場合、該当プレースホルダはプレースホルダ４（７０４）であり、図７（Ｈ）のプレースホルダ情報４に基づき、図７（Ｂ）の「ＰＨ４」７２２の列の値が求める値であることがわかる。図７（Ｃ）の「ＰＨ４」７２２の列の値を求めるため、識別子解析情報である図７（Ｄ）の行７３４の年収ランク７３３をキーとして、図７（Ｃ）中年収ランク７２１の検索を実施することで、バリアブルオブジェクトの取得を行う。図７（Ｂ）の行７３４の年収ランク７３３は、「Ｂ」という値のため、図７（Ｃ）で、「リーズナブルな旅行」がマッチし、これをバリアブルオブジェクトとして取得する。ステップＳ８０２において、正常にバリアブルオブジェクトが取得されていると判定され（「はい」）、ステップＳ８０６へ進む。
【００５６】
次に、ステップＳ８０６で、画像合成部１１２は、ステップＳ８０２で取得した図７（Ｃ）の文言「リーズナブルな旅行」を使用することを決定する。そして、ステップＳ８０８に進み、使用することが決定したバリアブルオブジェクトを各プレースホルダに用いて、図７（Ｅ）の合成画像を生成する。以上のように、デフォルト値の使用が許可されている場合は、デフォルト値の使用でも差し支えないプレースホルダにおいてエラーが発生した場合に、エラーとせず正常に画像が生成され、印刷・検品することが可能になる。
【００５７】
次に、図７（Ｄ）の行７３５において処理を行った場合は、行７３４の場合と異なるため、行７３５の場合について説明する。まず、該当のプレースホルダがプレースホルダ３（７０２）である場合の処理について説明する。
【００５８】
ステップＳ８０２で、該当プレースホルダのバリアブルオブジェクトが正常に取得されているか否かを判定する。図７（Ｄ）の行７３５では、性別７３２は「２」が入っている。性別が「２」で図７（Ｂ）のデータソースに対し文言の取得を行うと「貴女へ」という文言がバリアブルオブジェクトとして正常に取得できる。従って、ステップＳ８０２では、「はい」となり、ステップＳ８０６に進む。次に、ステップＳ８０６で、該当プレースホルダに対し文言「貴女へ」を使用する。
【００５９】
次に、該当のプレースホルダがプレースホルダ４（７０４）である場合の処理について説明する。図７（Ｄ）の行７３５では、年収ランク７３３は「−」が入っているため、バリアブルオブジェクトの取得ができず、スッテプＳ８０２で、「いいえ」となり、ステップＳ８０３へ進む。次に、ステップＳ８０３では、該当プレースホルダでデフォルト値の使用が許可されているか否かを判定する。ステップＳ８０３では、図７（Ｆ）のプレースホルダ別デフォルト値使用許可管理データから、プレースホルダ４（７０４）でデフォル値の使用が許可されているか否かの情報を取得する。図７（Ｄ）において行７５４は、対象ＰＨ７５１が「ＰＨ４」で、デフォルト値使用７５２は、「不許可」となる。従って、ステップＳ８０３では、「いいえ」となり、ステップＳ８０７へ進む。次に、ステップＳ８０７で、エラー発生時に、デフォルト値の使用が許可されていないプレースホルダがあったため、異常終了となり、合成画像の生成は行わず、処理が終了する。
【００６０】
以上の処理により、バリアブルオブジェクトの取得ができない（識別子解析情報が異常、あるいは、バリアブルオブジェクトが存在しない）場合に、デフォルト値の許可および不許可を制御することが可能となる。そのため、本実施形態では、エラーの頻度を減少させながら、適切なデータを印刷することが可能なバリアブル印刷を提供できる。
【００６１】
（第３実施形態）
次に第３実施形態について説明する。本実施形態の構成及び処理の流れは第２実施形態に準じる。以下第２実施形態と異なる点について図を用いて説明する。図９は、本実施形態におけるデータの具体例である。まず、図９（Ａ）は、本実施形態における識別子解析情報である。識別子解析情報は、ｉｄ９０１、性別９０２、年収ランク９０３から構成されている。行９０４は、ｉｄ＝「Ｅ００１」の行であり、行９０５は、ｉｄ＝「Ｅ００２」の行であり、行９０６は、ｉｄ＝「Ｅ００３」の行である。行９０４の性別９０２は、「０」であり、年収ランク９０３は、「−」である。また、行９０５の性別９０２は、「−」であり、年収ランク９０３は、「０」である。そして、行９０６の性別９０２は、「１」であり、年収ランク９０３は、「Ａ」である。
【００６２】
識別子解析情報における、値「０」は、バリアブルオブジェクトとして、デフォルトデータの使用を指示する特別な値である。したがって、値「０」の場合は、データソース３２１からバリアブルオブジェクトを取得する必要はない。また、値「０」の場合は、バリアブルオブジェクト取得部１１１がＳ３０２にてバリアブルオブジェクト取得を試みてもデータソースにはその値のデータは格納していないため必ずエラーとなる。本実施形態では、値「０」の場合は後者の処理を行うので、必ずバリアブルオブジェクトの取得は正常に行われない。
【００６３】
図９（Ｂ）は、本実施形態におけるプレースホルダ別にデフォルト値の使用の許可、不許可を管理するデータである。第２実施形態では、エラー時のみデフォルト値の使用許可制御が可能であったが、本実施形態では、指定によりデフォルト値を使用することの使用許可についても制御を可能にしている。図９（Ｂ）は、対象ＰＨ９１１と指定によるデフォルト値使用９１２とエラー時のデフォルト値使用９１３から構成されている。対象ＰＨが「ＰＨ５」の値である行は、行９１４であり、対象ＰＨが「ＰＨ６」の値である行は、行９１５である。
【００６４】
図９（Ｃ）は、本実施形態で使用するテンプレートである。図９（Ｃ）に示すテンプレートは、テンプレート台紙９２１と、可変部分であるプレースホルダ５（９２２）（ＰＨ５）と、固定部分である文言９２３と、可変部分であるプレースホルダ６（９２４）（ＰＨ６）とを含む。プレースホルダ５（９２２）には、デフォルトデータとして文言「貴方へ」が記載されている。固定部分９２３は、「旅行のご案内」の文言が記載されている。プレースホルダ６（９２４）には、デフォルトデータとして文言「今が季節の旅行」が記載されている。
【００６５】
図９（Ｄ）は、本実施形態において、識別子解析情報のｉｄ９０１が「Ｅ００１」の場合に、作成される合成画像である。台紙９３１上には、ＰＨ５（９３２）領域に文言「貴方へ」が、固定部分９３３には「旅行のご案内」が、ＰＨ６（９３４）領域に文言「今が季節の旅行」が記載されている。
【００６６】
図９（Ｅ）および９（Ｆ）は、本実施形態におけるデータソースである。図９（Ｅ）は、性別９４１と「ＰＨ５」９４２から構成されている。性別９４１が「１」の値である行は、行９４３であり、性別９４１が「２」の値である行は、行９４４である。図９（Ｆ）は、年収ランク９５１と「ＰＨ６」９５２とから構成されている。年収ランク９５１が「Ａ」の値である行は、行９５３であり、年収ランク９５１が「Ｂ」の値である行は、行９５４であり、年収ランク９５１が「Ｃ」の値である行は、行９５５である。
【００６７】
図９（Ｇ）は、プレースホルダ５（９２２）に関する情報を記載したプレースホルダ情報５である。プレースホルダ情報５には、プレースホルダの配置位置および範囲を示すＢｏｘの値、配置するオブジェクトのタイプを示すＯｂｊｅｃｔＴｙｐｅの値としてＴＥＸＴ（文言）を、データソースの列を示すＣｏｌｕｍｎの値としてＰＨ５を有する。すなわち、プレースホルダ５（９２２）には、図９（Ｆ）の「ＰＨ５」９４２の値をバリアブルオブジェクトとして配置することが定義されている。
【００６８】
図９（Ｈ）は、プレースホルダ６（９２４）に関する情報を記載したプレースホルダ情報６である。プレースホルダ情報６には、プレースホルダの配置位置および範囲を示すＢｏｘの値、配置するオブジェクトのタイプを示すＯｂｊｅｃｔＴｙｐｅの値としてＴＥＸＴ（文言）を、データソースの列を示すＣｏｌｕｍｎの値としてＰＨ６を有する。すなわち、プレースホルダ６（９２４）には、図９（Ｇ）の「ＰＨ６」９５２の値をバリアブルオブジェクトとして配置することが定義されている。
【００６９】
次に、図１０に示す本実施形態の画像合成処理について説明する。まず、ステップＳ１００２で、該当のプレースホルダのバリアブルオブジェクトが正常に取得されたか否かを判定する。正常に取得された場合（はい）、ステップＳ１００７に進み、ステップＳ１００７で、画像合成部１１２は、該当プレースホルダにバリアブルオブジェクトを使用する。一方、正常に取得されない場合（いいえ）、ステップＳ１００３に進む。そして、ステップＳ１００３で、該当プレースホルダでデフォルト値の使用が許可されているか否かを判定する。すなわち、該当プレースホルダで、識別子情報の該等値が「０」か否かを判定する。デフォルト値の使用が許可されている場合（はい）、ステップＳ１００５に進み、デフォルト値の使用が許可されていない場合（いいえ）、ステップＳ１００８に進む。
【００７０】
ステップＳ１００８で、プレースホルダ別デフォルト値使用許可管理データから、該当プレースホルダでエラー時のデフォルト値の使用が許可されているか否かを判定する。エラー時のデフォルト値の使用が許可されている場合（はい）、ステップＳ１００５に進む。一方、エラー時のデフォルト値の使用が許可されていない場合（いいえ）、ステップＳ１０１０に進み、画像合成部１１２は、エラー発生時にデフォルト値の使用が許可されていないプレースホルダがあったため、異常終了したと見なし、合成画像の生成を行わない。
【００７１】
ステップＳ１００５で、画像合成部１１２は、該当プレースホルダには、デフォルト値を用いるので、デフォルトオブジェクトを使用する。ステップＳ１００９で、使用する文言を各プレースホルダに用いて、図９（Ｄ）の合成画像を生成する。以上で、画像合成処理を終了する。
【００７２】
次に、図１０を用いて、図３におけるステップＳ３０５の画像合成処理の具体例について、第２実施形態と本実施形態で相違する点について説明する。先に説明した識別子解析情報図９（Ａ）において処理を行った場合について具体的に説明する。まず、識別子解析情報図９（Ａ）の行９０４を用いて説明する。なお、本実施形態では、図９（Ｃ）のプレースホルダ５（９２２）とプレースホルダ６（９２４）に対し処理を行う。
【００７３】
まず、該当プレースホルダがプレースホルダ５（９２２）の場合について説明する。ステップＳ１００２で、画像合成部１１２は、該当プレースホルダのバリアブルオブジェクトが正常に取得されているか否かを判定する。該当プレースホルダがプレースホルダ５（９２２）である。図９（Ａ）の行９０４では、性別は「０」が入っている。性別が「０」の場合、エラーとなりバリアブルオブジェクトの取得は正常に行われない。従って、ステップＳ１００２では、「いいえ」となり、ステップＳ１００３に進む。
【００７４】
次に、ステップＳ１００３で、画像合成部１１２は、該当プレースホルダでデフォルト値の使用が許可されているか否かを判定する。ステップＳ１００３では、図９（Ａ）の識別子解析情報の行９０４の性別が「０」（デフォルトデータの使用指示）か否かを判定する。行９０４の性別は、「０」のため、ステップＳ１００３で「はい」となり、ステップＳ１００４へ進む。
【００７５】
次に、ステップＳ１００４で、画像合成部１１２は、図９（Ｂ）のプレースホルダ別デフォルト値使用許可管理データから、プレースホルダ５（９２２）におけるデフォルト値の使用が許可されているか否かの情報を取得する。図９（Ｂ）において対象ＰＨ９１１が「ＰＨ５」では、指定によるデフォルト値の使用９１２は、「許可」となる。従って、ステップＳ１００４では、「はい」となり、ステップＳ１００５へ進む。そして、ステップＳ１００５で、画像合成部１１２は、プレースホルダ５（９２２）には、デフォルト値を用いるので、テンプレート上にある文言「貴方へ」を使用する。
【００７６】
次に、該当プレースホルダがプレースホルダ６（９２４）の場合について説明する。図９（Ａ）の行９０４では、年収ランクは「−」が記載されている。年収ランクが「−」の場合、エラーとなりバリアブルオブジェクトの取得は正常に行われない。従って、ステップＳ１００２で、画像合成部１１２は、「いいえ」と判定し、ステップＳ１００３に進む。次に、ステップＳ１００３で、画像合成部１１２は、該当プレースホルダでデフォルト値の使用が許可されているか否かを判定する。ステップＳ１００３では、図９（Ａ）の識別子解析情報の行９０５の年収ランクが「０」か否かを判定する。行９０４の性別は、「−」のため「いいえ」と判定され、ステップＳ１００８へ進む。
【００７７】
次に、ステップＳ１００８で、画像合成部１１２は、図９（Ｂ）のプレースホルダ別デフォルト値使用許可管理データから、プレースホルダ６（９２４）でエラー時のデフォルト値の使用が許可されているか否かの情報を取得する。図９（Ｂ）において対象ＰＨ９１１が「ＰＨ６」では、エラー時のデフォルト値使用９１３は、「許可」となる。従って、ステップＳ１００８では、「はい」と判定され、ステップＳ１００５へ進む。
【００７８】
次に、ステップＳ１００５で、画像合成部１１２は、プレースホルダ６（９２４）にはデフォルトデータを用いるので、テンプレート上にある文言「今が季節の旅行」を使用する。そして、ステップＳ１００９に進み、使用する文言を各プレースホルダに用いて、図９（Ｄ）の合成画像を生成する。
【００７９】
次に、図９（Ａ）の識別子解析情報の行９０５を用いて説明する。図９（Ｃ）のプレースホルダ５（９２２）とプレースホルダ６（９２４）に対し順次処理を行う。まず、図１０のステップＳ１００２で、画像合成部１１２は、該当プレースホルダのバリアブルオブジェクトが正常に取得されているか否かの判定を行う。ここで、該当プレースホルダがプレースホルダ５（９２２）である場合の処理について説明する。
【００８０】
図９（Ａ）の行９０５では、性別は「−」が入っている。性別が「−」の場合、エラーとなりバリアブルオブジェクトの取得は正常に行われない。従って、ステップＳ１００２では、「いいえ」となり、ステップＳ１００３に進む。次に、ステップＳ１００３で、画像合成部１１２は、該当プレースホルダでデフォルト値の使用が許可されているか否かを判定する。ステップＳ１００３では、図９（Ａ）の識別子解析情報の行９０４の性別が「０」か否かを判定する。行９０４の性別は、「−」のため「いいえ」となり、ステップＳ１００８へ進む。
【００８１】
次に、ステップＳ１００８で、画像合成部１１２は、図９（Ｂ）のプレースホルダ別デフォルト値使用許可管理データから、プレースホルダ５（９２２）でエラー時のデフォルト値の使用が許可されているか否かの情報を取得する。図９（Ｂ）において、対象ＰＨ９１１が「ＰＨ５」の場合、エラー時のデフォルト値使用９１３は、「不許可」となる。従って、ステップＳ１００８では、「いいえ」と判定され、ステップＳ１０１０へ進む。そして、ステップＳ１０１０で、画像合成部１１２は、エラー発生時に、デフォルト値の使用が許可されていないプレースホルダがあったため、異常終了したと見なし、合成画像の生成を行わない。
【００８２】
次に、図９（Ａ）の識別子解析情報の行９０６を用いて説明する。本実施形態では、図９（Ｃ）のプレースホルダ５（９２）とプレースホルダ６（９２４）に対し処理を行う。ステップＳ１００２で、画像合成部１１２は、該当プレースホルダのバリアブルオブジェクトが正常に取得されているか否かを判定する。まず、該当プレースホルダがプレースホルダ５（９２２）である場合について説明する。図９（Ｇ）によって、プレースホルダ５（９２２）は、図９（Ｅ）の「ＰＨ５」９４２の関連付けが定義されている。図９（Ａ）の行９０４では、性別は「１」が入っている。図９（Ｅ）の性別とマッチする行９４３が存在する。従って、バリアブルオブジェクトとしては、行９４３の「ＰＨ５」の値である「貴男へ」が取得される。そのため、ステップＳ１００２で、画像合成部１１２は、「はい」と判定し、ステップＳ１００７へ進む。次に、ステップＳ１００７で、画像合成部１１２は、プレースホルダ５（９２２）にバリアブルオブジェクト「貴男へ」の使用を決定する。
【００８３】
次に、該当プレースホルダがプレースホルダ６（９２４）である場合について説明する。図９（Ｇ）によって、プレースホルダ６（９２４）は、図９（Ｆ）中の「ＰＨ６」９５２の関連付けが定義されている。図９（Ａ）の行９０４では、年収ランクは「Ａ」が入っている。図９（Ｆ）の年収ランクとマッチする行９５３が存在する。従って、バリアブルオブジェクトとしては、行９５３の「ＰＨ６」の値である「ゴージャスな旅行」が取得される。そのため、ステップＳ１００２で、画像合成部１１２は、「はい」と判定し、ステップＳ１００７へ進む。そして、ステップＳ１００７で、画像合成部１１２は、プレースホル６（９２４）にバリアブルオブジェクト「ゴージャスな旅行」の使用を決定する。正常終了した後、ステップＳ１００９に進み、使用する文言を各プレースホルダに用いて、図９（Ｄ）の合成画像を生成する。
【００８４】
以上の処理により、バリアブルオブジェクトの取得ができない場合のデフォルト値の許可および不許可の制御に加え、明示的にデフォルト値の使用が指定することが可能となった。以上により、エラーの頻度を減少させながら、より適切なデータを選択し印刷することが可能なバリアブル印刷が提供できる。
【００８５】
（他の実施例）
本発明は、上述した実施形態を適宜組み合わせることにより構成された装置あるいはシステムやその方法も含まれるものとする。
ここで、本発明は、上述した実施形態の機能を実現する１以上のソフトウェア（プログラム）を実行する主体となる装置あるいはシステムである。また、その装置あるいはシステムで実行される上述した実施形態を実現するための方法も本発明の一つである。また、そのプログラムは、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給され、そのシステム或いは装置の１以上のコンピュータ（ＣＰＵやＭＰＵ等）によりそのプログラムが読み出され、実行される。つまり、本発明の一つとして、さらにそのプログラム自体、あるいは該プログラムを格納したコンピュータにより読み取り可能な各種記憶媒体も含むものとする。また、上述した実施形態の機能を実現する回路（例えば、ＡＳＩＣ）によっても、本発明は実現可能である。
【００８６】
また、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
【図１】
0006362094.tif 000002
【図２】
0006362094.tif 000003
【図３】
0006362094.tif 000004
【図４】
0006362094.tif 000005
【図５】
0006362094.tif 000006
【図６】
0006362094.tif 000007
【図７】
0006362094.tif 000008
【図８】
0006362094.tif 000009
【図９】
0006362094.tif 000010
【図１０】
0006362094.tif 000011