(57)【要約】【課題】切取り線を含むコンテンツの印刷に際し、用紙の両面に印刷されるコンテンツの位置を適切に配置し、前記切取り線で用紙が切り離された場合に、当該コンテンツが不自然に分離されることを防止する。【解決手段】関連付け処理部１２は、ＵＩ（ユーザーインターフェース）で指定されたコンテナに対して流しこむコンテンツデータを関連付ける。設定部１３は、前記コンテナの属性に従い切り取り位置を設定する。レイアウト処理部１５は、各コンテナに対して関連付け処理部１２で関連付けられたコンテンツデータを参照して当該コンテナのサイズを算出する。切り取り処理部１７は、設定部１３により設定された切り取り位置を用紙の表裏面で一致させ、当該切り取り位置に重ならないようにレイアウト処理部１５で算出されたコンテナのサイズを補正する。【選択図】        図１７
2010182039.tif 000002
【特許請求の範囲】
【請求項１】
レイアウト枠を配置して用紙の両面にレイアウトを行うレイアウト装置であって、
前記レイアウト枠と当該レイアウト枠に流し込むコンテンツデータとを関連付ける関連付け処理手段と、
前記レイアウト枠の属性に従って切り取り位置を設定する設定手段と、
前記関連付け処理手段により関連付けられたコンテンツデータに対応するレイアウト枠のサイズを当該コンテンツデータの容量を参照して算出するレイアウト処理手段と、
前記設定手段により設定された切り取り位置を用紙の表裏面で一致させ、当該切り取り位置に重ならないように前記レイアウト処理手段で算出されたレイアウト枠のサイズを補正する切り取り処理手段と、
を備えていることを特徴とするレイアウト装置。
【請求項２】
前記切り取り処理手段は、前記設定手段により設定された用紙表面の切り取り位置に用紙裏面の切り取り位置を一致させることを特徴とする請求項１に記載のレイアウト装置。
【請求項３】
前記切り取り処理手段は、前記設定手段により設定された用紙裏面の切り取り位置に用紙表面の切り取り位置を一致させることを特徴とする請求項１に記載のレイアウト装置。
【請求項４】
前記切り取り処理手段は、前記設定手段により設定された用紙表面の切り取り位置と用紙裏面の切り取り位置との中間に新たな切り取り位置を設定することを特徴とする請求項１に記載のレイアウト装置。
【請求項５】
前記切り取り処理手段は、前記設定手段により設定された用紙の表面と裏面の切り取り位置の数が異なる場合、用紙の両面の切り取り位置の数が同じ数となるように、新たな切り取り位置を設定することを特徴とする請求項１〜４のいずれかひとつに記載のレイアウト装置。
【請求項６】
前記切り取り処理手段は、前記レイアウト枠が複写属性を有している場合には、当該レイアウト枠を前記新たな切り取り位置を設定することにより生じる切り取りエリアに複写することを特徴とする請求項１〜５のいずれかひとつに記載のレイアウト装置。
【請求項７】
前記切り取り処理手段は、前記レイアウト枠からコンテンツがオーバーフローしている場合には、当該レイアウト枠が存在する面とは反対側面の前記切り取り位置に重ならない空きエリアに新たなレイアウト枠を挿入し、オーバーフローした容量分のコンテンツデータを前記新たなレイアウト枠に流し込むことを特徴とする請求項１〜６のいずれかひとつに記載のレイアウト装置。
【請求項８】
前記切り取り処理手段による処理結果を、表面に配置されたレイアウト枠に、裏面に配置されたレイアウト枠を重ねて表示させる表示処理手段を備えていることを特徴とする請求項１〜７のいずれかひとつに記載のレイアウト装置。
【請求項９】
両面印刷および印刷後処理を実行することを設定する設定手段と、
前記設定手段によって設定された前記印刷後処理が実行される位置が、用紙の表面に配置されるコンテンツデータと裏面に配置されるコンテンツデータと重ならずに、かつ、用紙の表面と裏面とで一致するように、前記印刷後処理が実行される位置を決定する決定手段と
を有することを特徴とするレイアウト装置。
【請求項１０】
レイアウト枠を配置して用紙の両面にレイアウトを行うレイアウト方法であって、
前記レイアウト枠と当該レイアウト枠に流し込むコンテンツデータとを関連付ける関連付け工程と、
前記レイアウト枠の属性に従って切り取り位置を設定する設定工程と、
前記関連付け工程で関連付けられたコンテンツデータに対応するレイアウト枠のサイズを当該コンテンツデータの容量を参照して算出するレイアウト処理工程と、
前記設定工程で設定された切り取り位置を用紙の表裏面で一致させ、当該切り取り位置に重ならないように前記レイアウト処理工程で算出されたレイアウト枠のサイズを補正する切り取り処理工程と、
を含むことを特徴とするレイアウト方法。
【請求項１１】
両面印刷および印刷後処理を実行することを設定する設定工程と、
前記設定工程によって設定された前記印刷後処理が実行される位置が、用紙の表面に配置されるコンテンツデータと裏面に配置されるコンテンツデータと重ならずに、かつ、用紙の表面と裏面とで一致するように、前記印刷後処理が実行される位置を決定する決定工程とを有することを特徴とするレイアウト方法。
【請求項１２】
請求項１１または１２に記載のレイアウト方法をコンピュータに実行させることを特徴とするレイアウトプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、切取り線を含むコンテンツの印刷に際し、当該コンテンツを最適なエリアにレイアウトするレイアウト装置、レイアウト方法、およびレイアウトプログラムに関する。
【背景技術】
【０００２】
近年、顧客のニーズに合った印刷物を出力するバリアブル印刷が行なわれている。バリアブル印刷の応用として、ダイレクトメールに顧客毎に異なる内容のクーポン（バリアブルクーポン）と、切り取り線とを印刷する技術がある。切り取り線の印刷は、切り取り位置を境に印刷物が切り離されることが特徴であり、このため裏面のレイアウト状態を調節した上で切り取り位置の設定が必要となるが、用紙裏面のレイアウトを考慮したレイアウトは行われていない。このため、切り取り線のある印刷物では、ユーザが試行錯誤しながらレイアウトしなければならず、使い勝手が悪かった。この不都合を解消するためには、ユーザが試行錯誤しながらレイアウト調整を行い、表と裏の切り取り位置を合わせなければならず、使い勝手が悪かった。
【０００３】
そこで、かかる問題を解決するため、レイアウト枠（コンテナともいう）に流し込むレコードデータをレコードに付加されているキーに基づいて振り分ける技術が提案されている（たとえば、特許文献１を参照。）
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２１６１８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献に記載された技術を適用しても、両面印刷では、コンテナに流し込んだデータサイズの差異により表面と裏面の切り取り位置に差異が生じてしまうことがある。また、切り取り線印刷では、コンテンツが分離されることを考慮してレイアウトオーバーフローの対応が必要であるが、上記特許文献に記載された技術ではこの点が考慮されておらず、不備であることは否めない。ただ、レイアウトオーバーフローを行う場合、レイアウト処理により同一面に多くのコンテンツを集中させるために、相対的に文字サイズを小さくしてレイアウトしなければならない。このため、読み難くなるという問題が発生する。
【０００６】
本発明は、上記従来技術の問題点に鑑み、切取り線を含むコンテンツの印刷に際し、用紙の両面に印刷されるコンテンツの位置を適切に配置し、前記切取り線で用紙が切り離された場合に、当該コンテンツが不自然に分離されるのを防止することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するため、本発明にかかるレイアウト装置は、レイアウト枠（コンテナ）を配置して用紙両面にレイアウトを行うレイアウト装置であって、前記コンテナと当該コンテナに流し込むコンテンツデータとを関連付ける関連付け処理手段と、前記コンテナの属性に従って切り取り位置を設定する設定手段と、前記関連付け処理手段により関連付けられたコンテンツデータに対応するコンテナのサイズを当該コンテンツデータの容量を参照して算出するレイアウト処理手段と、前記設定手段により設定された切り取り位置を用紙の表裏面で一致させ、当該切り取り位置に重ならないように前記レイアウト処理手段で算出されたコンテナのサイズを補正する切り取り処理手段と、を備えていることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、切り取り線を含むコンテンツの印刷に際し、用紙の両面に印刷されるコンテンツの位置を適切に配置することで、前記切り取り線に沿って用紙が切り離された場合に、当該コンテンツが不自然に分離されることを防止できる。
【図面の簡単な説明】
【０００９】
【図１】本発明にかかるレイアウト装置のハードウェア構成を示す図である。
【図２】本発明にかかるレイアウト装置を含む印刷システムの構成を示す図である。
【図３】レイアウト処理中に表示される画面の一例を示す図である。
【図４】レイアウト処理中に表示される画面の一例を示す図である。
【図５】典型的なコンテナルールを説明するための図である。
【図６】コンテナにリンクを設定する手順を示すフローチャートである。
【図７】２つのコンテナを作成してリンクを設定する場合の例を示している。
【図８】レイアウト計算における全体の手順を示すフローチャートである。
【図９】詳細なレイアウト計算処理の手順を示すフローチャートである。
【図１０】レイアウト計算時におけるコンテナの集合を説明するための図である。
【図１１】レイアウト計算時に表示されるＵＩの一例である。
【図１２】第１実施形態にかかるレイアウト装置の機能的構成を示す図である。
【図１３】第１実施形態にかかるレイアウト装置のフローチャートである。
【図１４】レイアウト装置のＵＩの一例を示す図である。
【図１５】切り取り処理の手順を示すフローチャートである。
【図１６】切り取りエリアの設定例を示す図である。
【図１７】新たな切り取り線が決定された後の再レイアウトを示す図である。
【図１８】透過編集表示の一例を示す図である。
【図１９】第２実施形態における切り取り処理の手順を示すフローチャートである。
【図２０】切り取り位置追加処理の手順を示すフローチャートである。
【図２１】切り取り位置を追加する処理を説明するための図である。
【図２２】第３実施形態における切り取り処理の手順を示すフローチャートである。
【図２３】表面にオーバーフロー箇所がある場合の一例を示す図である。
【図２４】図２３に示した例を基に作成したコンテナ配置情報の一例を示す表である。
【図２５】コンテナ挿入処理の手順を示すフローチャートである。
【図２６】挿入したコンテナにコンテンツデータを流し込んだ例を示す図である。
【発明を実施するための形態】
【００１０】
本発明を説明する前提として、まず、本発明のレイアウト装置の基本的な処理内容を説明する。
【００１１】
＜レイアウト装置のハードウェア構成＞
図１は、本発明にかかるレイアウト装置のハードウェア構成を示すブロック図である。図１に示すように、本発明のレイアウト装置を構成する本体１０１は、入出力インターフェース１４３を介してキーボード１３２や、マウス１３３のようなポインティングデバイス等の入力装置を接続している。また、出力装置としてのビデオディスプレイ１４４を、ビデオインターフェース１３７を介して接続している。さらに、プリンタ１４５を含む出力装置を、入出力インターフェース１３８を介して接続することも可能である。入出力インターフェース１３８は、本体１０１をネットワーク１０７へ接続することもできる。これにより、ネットワーク１０７を介して本体１０１を他のコンピュータ装置に接続することができる。ネットワーク１０７の典型例としては、ローカルエリアネットワーク（ＬＡＮ）や、ワイドエリアネットワーク（ＷＡＮ）などがある。
【００１２】
また、本体１０１は、本体１０１全体の制御を司る少なくとも１つのプロセッサーユニット（ＣＰＵ）１３５、たとえば半導体のランダムアクセスメモリ（ＲＡＭ）やリードオンリーメモリ（ＲＯＭ）から構成されるメモリユニット１３６を含んでいる。記憶装置１３９は、プログラム等を格納するコンピュータ可読媒体との間でデータのやり取りが可能なハードディスクドライブ１４０やフロッピー（登録商標）ディスクドライブ１４１を含んでいる。図示していないが、磁気テープドライブなどもまた使用される可能性がある。ＣＤ−ＲＯＭドライブ１４２は、不揮発性のデータソースとして提供される。
【００１３】
本体１０１は、ＬＩＮＵＸ（登録商標）やマイクロソフトウィンドウズ（登録商標）のようなオペレーティングシステムに従い、相互接続バス１３４を介して通信を行うコンポーネントを利用する。すなわち、各コンポーネントは、相互接続バス１３４を介して通信可能に接続されており、本体１０１にインストールされているオペレーティングシステムにより利用される。
【００１４】
本発明のレイアウト方法を実現するソフトウェアは、たとえば上記に記述されるような記憶装置１３９を含むコンピュータの可読媒体に格納される。ソフトウェアは、コンピュータの可読媒体から本体１０１へロードされ、本体１０１のＣＰＵ１３５によって実行される。よって、本発明において、後述するフローチャートは、ＣＰＵ１３５がソフトウェアを読み出して実行することで実現される。
【００１５】
＜印刷システムの構成＞
図２は、本発明にかかるレイアウト装置を含む印刷システムの構成を示す概略図である。図２に示す印刷システムでは、後述するレイアウト編集アプリケーションプログラム１２１を図１に示したプロセッサ１３５が実行することで各種の印刷処理が行われる。
【００１６】
レイアウト編集アプリケーションプログラム（レイアウトプログラム）１２１は典型的にハードディスクドライブ１４０に常駐し、プロセッサ１３５によりされる。レイアウト編集アプリケーションプログラム１２１がＣＤ−ＲＯＭやフロッピー（登録商標）ディスク上でエンコードされ、対応するＣＤ−ＲＯＭドライブ１４２やフロッピー（登録商標）ディスクドライブ１４１を通じて読み込まれユーザに提供される。または、レイアウト編集アプリケーションプログラム１２１は、ネットワーク接続１０７から読み込まれるようにしてもよい。
【００１７】
レイアウト編集アプリケーションプログラム１２１は、バリアブルデータ印刷（ＶＤＰ）を行うよう指示し、２つのソフトウェアコンポーネントを含んでいる。１つはレイアウトエンジン１０５であり、これは長方形の範囲内で与えられた制限やサイズによって矩形と線の位置を計算するためのソフトウェアコンポーネントである。他の１つはユーザインターフェース１０３であり、これはユーザにドキュメントテンプレートを作成させ、当該ドキュメントテンプレート内でデータソースと関連付けるメカニズムを提供する。
【００１８】
ユーザインターフェース１０３とレイアウトエンジン１０５は、コミュニケーションチャネル１２３を介して通信する。ドキュメント生成のためのデータソースは、一般的にデータベースアプリケーションを動かしている他のコンピュータによって構成されたデータベースサーバー１１７上にある典型的なデータベース１１９である。本体１０１は、ネットワーク接続１０７の手段によってデータベースサーバー１１７と通信する。
【００１９】
レイアウト編集アプリケーションプログラム１２１は、本体１０１か一般的に他のコンピュータで構成されるファイルサーバー１１５に保存されるドキュメントテンプレートを生成する。また、データとマージされたドキュメントテンプレートによって構成されたドキュメントを生成する。これらのドキュメントは、本体１０１のローカルファイルシステムやファイルサーバー１１５に保存される。または、プリンタ１１３で直接印刷出力される。
【００２０】
プリントサーバー１０９は、直接ネットワークにつながっていないプリンタにネットワーク機能を提供するコンピュータである。プリントサーバー１０９とプリンタ１１３は典型的な通信チャネル１１１を介して接続される。
【００２１】
＜表示画面＞
次に、本発明のレイアウト装置におけるレイアウト処理中にビデオディスプレイ１４４に表示される画面の一例を示す。図３および図４は、レイアウト処理中に表示される画面の一例を示す図である。
【００２２】
図３に示すアプリケーションウインドウ３０１は、操作時にビデオディスプレイ１４４に表示される。ユーザインターフェース１０３は、アプリケーションウインドウ３０１によって形成されたユーザインターフェースを含んでいる。アプリケーションウインドウ３０１は、画面上の色々な場所に移動することが可能なメニューバー３０２とツールバー３０３を有している。また、マウス１３３の位置・動作によって場所を移動可能なワークエリア３０６、オプションのルーラー３０８、パレット３１１、カーソル／ポインタデバイス３１３を有している。なお、アプリケーションウインドウ３０１は、非表示にすることが可能である。
【００２３】
メニューバー３０２は、メニューオプションの階層の下に拡張される多くのメニューアイテム３０４を有している。ツールバー３０３は、アプリケーションの特別なモードによって非表示にする、または表示することが可能な多くのツールボタンとウィジット３０５を有している。オプションのルーラー３０８は、ワークエリア内のポインター、ページ、ライン、マージンガイド、レイアウト枠（例えば、コンテナともいう）またはオブジェクトの位置を示すために使われる。パレット３１１は、バリアブルデータライブラリのような追加機能にアクセスするために使われる。また、パレット３１１は移動、リサイズ、クローズをするためのウインドウコントロール３１２を有する。なお、レイアウト枠（例えば、コンテナ）とは、コンテンツが流し込まれる部分領域をいう。
【００２４】
ワークエリア３０６は、ドキュメントテンプレートのデザインを表示・編集するために使われる。これはユーザに下準備で印刷されたドキュメントの概観を把握させること、そしてマージされたドキュメントがバリアブルデータの量・サイズに基づいてどのように変化するかを理解させることを可能にする。もし、外部データソースがテンプレートにリンクされていたら、現在のドキュメントのプレビューができるように、バリアブルテキストとイメージがそれらのコンテナに表示される。
【００２５】
また、ワークエリア３０６は、スクロールバー３０７と、オプションのルーラー３０８と、ドキュメントテンプレート３０９を有する。ドキュメントテンプレート３０９は、ページが複数あることを示すことができる。与えられたドキュメントテンプレートのページサイズは、ユーザによって指定される。それぞれのドキュメントでの実際のページ数は、バリアブルデータによって変化する。たとえば、１ページ内にフィットできなかったとき、追加のページは自動的に作成される。それぞれのページ内の境界線は、ページ上の印刷可能なオブジェクトの最大幅を示す、任意のページマージン３１０である。
【００２６】
また、図４に示すように、ツールバーエリア３０３は、ユーザが選択可能な『ボタン』を有する。選択ツールボタン４０３は、コンテナの辺を選択、移動、サイズ変更、リサイズ、そしてロックまたはロック解除するために使われる。また、所定の操作を行なうことで複数のコンテナが選択される。イメージコンテナツールボタン４０４は、スタティックあるいはバリアブルイメージが割り当てられるコンテナを作成するために使われる。テキストコンテナツールボタン４０５は、スタティックあるいはバリアブルテキストが割り当てられるコンテナを作成するために使われる。リンクツールボタン４０６は、コンテナ間の距離をコントロールするために使われる。なお、これらのボタンは、操作状況に合わせて変化するアイコンのツールチップとして実装される。
【００２７】
また、図４に示すように、各オブジェクトは、１ページのドキュメントテンプレート３０９上に表示することも可能である。各オブジェクトは、多数のコンテナ４０７，４０８と、任意に適用するアンカーアイコン４０９と、固定されていない辺４１０と、リンク４１２と、スライダー４１３を有する。
【００２８】
コンテナは、ドキュメントテンプレート内の固定あるいは可変テキスト・イメージを持つスペースであり、他のコンテナやオブジェクトとともにレイアウトされる。コンテナは、マウス１３３の動作でポインティングデバイス３１３を使って、ユーザインターフェースで示されるように移動、サイズ調整そして再作成される。より正確には、コンテナは、設定の集まり、視覚的表現そしてインタラクションと編集動作をもっている。コンテナは、以下の（１）〜（４）に示すような性質を有する。
【００２９】
（１）コンテナは、固定あるいは可変のコンテンツが割り当てられる。
【００３０】
（２）コンテナは、コンテンツに適用される背景色、ボーダー、フォント・スタイルのようなテキスト設定のような装飾機能を有する。
【００３１】
（３）コンテナは、データソースからのデータとマージされる。コンテナ内でのコンテンツの表現は、たとえば印刷されるか、スクリーン１４４上で表示されるか、その両方が可能である。
【００３２】
（４）コンテナは、ユーザインターフェースを有する。ユーザインターフェース１０３は、背景色やフォントのようなコンテナの装飾機能などを表示する。そして、コンテナの設定の編集や表示を許すための機能を追加する。ユーザインターフェース機能の特別な例としては、ボーダー、もしくはコンテナのサイズや位置を対話的に変更、表示するための角アイコンがある。
【００３３】
なお、コンテナには制約が設定されている。制約の例としては、「このコンテナのコンテンツの高さは、最大値４インチである。」がある。もうひとつの制約は、「コンテナのコンテンツの左エッジは、それぞれのドキュメントで同じ水平位置で表示しなければならない。」である。本発明で記述される内容は、ＧＵＩを使ってこのような制約を表示、編集するためのいろいろな手法である。
【００３４】
固定コンテンツの配置を指定するコンテンツプレイスホルダーは、デジタル印刷技術ではよく知られている。下記の検討で、コンテナは、位置とサイズを持ち、それらは公知の技術で知られている手法で編集され、表示されると想定される。これに対し、本発明では、バリアブルデータ印刷に特化した手法での表示・編集に焦点を合わせる。
【００３５】
コンテナは、ユーザにドキュメントのコンテンツのサイズ・位置を指定することを可能にする。いくつかのドキュメントは１つのドキュメントテンプレートから生成されるので、コンテナは多数の可能性と制約を指定・表示するために、ユーザインターフェースを使わなければならない。１つのコンテナの辺は、関連付けられたコンテンツがドキュメント内で表示される仮想の境界線を定義する。本発明において、コンテナの左辺を論じることは、関連付けられたコンテンツがどんなドキュメント内でも表示可能な最も左の辺を論じることと同じである。同様に、コンテナの高さを論じることは、生成されたドキュメントで関連付けられたコンテンツの高さの制約を論じるになる。本発明では、ユーザインターフェース１０３を参照してコンテナの辺あるいは大きさを論じることで、当該区別は明らかになる。
【００３６】
以下では、コンテンツの表示を制限するために使われるいくつかの値を定義する用語である「固定」について、場面ごとに説明する。
【００３７】
（ア）もし，コンテナの幅が固定なら、関連付けられたコンテンツに割り当てられる幅は、全てのドキュメントで同じになるだろう。
（イ）もし、コンテナの高さが固定なら、関連付けられたコンテンツに割り当てられる高さは、全てのドキュメントで同じになるだろう。
（ウ）もし、距離の制約が固定なら、指定された距離は全てのドキュメントのための制約である。
（エ）もし、コンテナの左右辺が固定なら、辺の水平位置がページに関して全てのドキュメントで同じであることを意味する。しかし、コンテナの高さもしくは垂直方向の位置は、変わるかもしれない。
（オ）もし、コンテナの上下辺が固定なら、辺の垂直位置がページに関して全てのドキュメントで同じであることを意味する。しかし、コンテナの幅あるいは水平位置は変わることがある。
（カ）コンテナの垂直軸はコンテナの右と左辺の平行で、そして中間に位置される想像上の垂直線である。もし、コンテナの垂直軸が固定なら、コンテナの左右辺の水平位置の平均は、すべてのドキュメントで同じである。この制約で、コンテナの幅は変化するかもしれない。また、左右辺両方が異なったドキュメントで、垂直軸に最も遠いかもしくは最も近いかもしれない。
【００３８】
（キ）同様に、もし、水平軸が固定なら、コンテナの上そして下辺が垂直に位置されるように制約される。しかし、高さは、この制約には影響されない。
（ク）もし、水平、垂直軸両方が固定なら、コンテナの中心位置が固定されていることを意味する。しかし、幅、高さはこの制約に影響されない。
（ケ）もし、コンテナの角、コンテナの辺の中間位置、もしくはコンテナの中心位置が固定なら、すべてのドキュメントで同じ場所に、コンテナに関連付けられた形式で表示される。
【００３９】
（コ）垂直辺もしくは軸はページの左辺、または右辺、または左ページマージン、または右ページマージン、または他の水平位置に関連付けされて固定になる。同様に、水平辺もしくは軸はページの上、または下辺、またはマージン、または他の垂直位置に関連付けされて固定になる。
【００４０】
「固定」の反対は、辺、軸、角、中間位置、またはドキュメント制約がドキュメント間で変化するかもしれないことを意味する「可変」である。  
【００４１】
さらに、コンテナは、テキストコンテナとイメージコンテナの２種類で記述される。テキストコンテナは、テキストの他、埋め込みのイメージを有する。また、イメージコンテナは、イメージのみを有する。
【００４２】
図４に示すように、新規のテキストコンテナは、テキストコンテナツール４０４をマウス１３３でクリックし、テンプレート３０９に四角形をドラッグすることによって、ドキュメントテンプレート３０９上に作成される。また、新規のイメージコンテナも、イメージコンテナツール４０５をマウス１３３でクリックし、テンプレート３０９に四角形をドラッグすることによって、ドキュメントテンプレート３０９上に作成される。また、コンテナは、適切なツール（たとえば、テキストコンテナツール４０４や、イメージコンテナツール４０５）をアクティブにした後に、ドキュメントテンプレート３０９上でクリックすることによって単純に作成される。さらに、デフォルトサイズのコンテナを挿入、または新規コンテナの寸法を入れるために、ダイアログボックスまたは他のプロンプトが提供される。いくつかのコンテナは自動的に前もって定義されたか、計算されたスキーマによって、作成・配置される。
【００４３】
ところで、コンテナを表示する際、前述した３６の辺の状態それぞれが、グラフィカルな表現で描画されるのが好ましい。いくつかの辺の状態は、いくつかの状況で表現を分け合うため、３６のグラフィック表示より少なくなることもある。以下に、コンテナの模範的な辺ルールを示す。図５は、典型的なコンテナルールを説明するための図である。
【００４４】
図５（ａ）〜図５（ｄ）に示すように、レイアウト編集アプリケーションプログラム１２１は、辺の状態を表現するために、塗りつぶし線（アイテム５０３）または点線（アイテム５０４）で辺を描く。また、アンカー（辺の近くに描画されたアイテム５０６，５０７，５０９によって示されるような線、形状、アイコン）や、ハンドル（移動、修正するために辺や形の近くに描画されたコントロール点（アイテム５０２））を付加する。さらに、スライダー（辺の両サイドに描画された短い並行線（たとえば、図４のスライダー４１３））や、拡縮アイコン（アイテム５０５）や、色を付加する。このようなコンテナ表示に関するルールを以下の（Ａ）〜（Ｈ）に示す。
【００４５】
（Ａ）それぞれの辺を固定するために、塗りつぶし線で描画する。
（Ｂ）もし幅が固定なら、左と右の辺を塗りつぶし線で描画する。
（Ｃ）もし高さが固定なら、上と下の辺を塗りつぶし線で描画する。
（Ｄ）軸は描画しない。
（Ｅ）まだ描画されていない全ての辺は、それぞれの辺の近くに拡縮アイコンが描画され、点線になる。
（Ｆ）垂直辺あるいは軸のそれぞれのペアで、もし両者が固定なら、交差点にアンカーが描画される。
（Ｇ）それぞれの固定辺で、もし辺のどこにもアンカーが描画されていなければ、エッジの中央にスライダーが描画される。
（Ｈ）垂直辺あるいは軸のそれぞれのペアで、もしアンカーやスライダーが描画されていなければ、交差点にハンドルが描画される。
【００４６】
また、可変の辺が描画される場所は、コンテナに割り当てられるコンテンツに依存する。
【００４７】
（ａ）図４に示した辺４１０のように、点線はコンテナのコンテンツに依存して、ドキュメント内の辺の位置を意味する。
【００４８】
（ｂ）塗りつぶし線は制限された辺を意味する。なぜなら、辺は固定されている（図４の辺４１４参照）か、コンテナの幅、高さが固定されている（図４のコンテナ４０８は両方が固定されている）からである。
【００４９】
（ｃ）アンカーは、辺そして軸が交差した場所が固定されていることを意味する。図４に示したアイコン４０９は、交差する辺４１４が固定されていることを意味するアンカーアイコンの例である。
【００５０】
（ｄ）スライダーは、関係付けられた辺が固定されていることを意味する。しかし、コンテナは、辺に沿って多くの位置「スライドの長さ」で位置を定められる。たとえば、図４では、スライダー４１３は、コンテナ４０８のコンテンツがドキュメント内で特定のダイアグラムで表される位置において左または右に表示されることがある。
【００５１】
また、幅・高さの最小値・最大値の設定は、副次的なダイアログウインドウに表示される。たとえば、図５（ａ）において、コンテナ５０１は、幅・高さ両方が固定されていない。固定された辺５０３は、塗りつぶし線で表現される。可変の辺５０４は、点線で表現される。また、拡縮アイコン５０５は、隣接する辺５０４が可変であることを示す。
【００５２】
図５（ｂ）において、コンテナ５０１は幅・高さ両方が可変である。アンカーアイコン５０６は、交差している両方の辺５０３が固定されていることを示している。
【００５３】
図５（ｃ）において、コンテナ５０１は、コンテナの拡大あるいは縮小が任意のアンカーアイコン５０７で示されるような中心点の周りを平等に広がるという状態で、幅・高さ両方が可変である。
【００５４】
図５（ｄ）において、コンテナ５０１は、上辺５０８が固定されていることを除けば、幅・高さ両方が可変である。上辺５０８の中心に位置付けられて示されるアンカーアイコン５０９は、固定されている。なお、コンテナ５０１の左・右辺は、アンカーアイコン５０９を通り垂直に描画される中心軸（垂直軸）の周りを、拡大・縮小することを示す。
【００５５】
次に、コンテナにリンクを設定する手順について説明する。図６は、コンテナにリンクを設定する手順を示すフローチャートである。なお、以下に示す本願のフローチャートの各処理は、図１に示したプロセッサ１３５が図２に示したレイアウト編集アプリケーションプログラム１２１を実行することにより行われる。
【００５６】
図６に示すフローチャートにおいて、レイアウト編集アプリケーション１２１は、コンテナを作成する（ステップＳ６０１）。リンクを設定するためには、リンクを設定するためのコンテナ（最低２つ）を作成する必要がある。図７は、２つのコンテナを作成してリンクを設定する場合の例を示している。各コンテナは、図４に示したようなドキュメントテンプレート３０９上に作成される。
【００５７】
次に、レイアウト編集アプリケーション１２１は、リンクツールが選択されたことを認識する（ステップＳ６０２）。図７（ａ）〜図７（ｃ）は、コリンクを設定する動作を順に示している。以下では、図の順にしたがって説明を続ける。
【００５８】
図７（ａ）に示された辺７０１，７０２は、固定されている辺を意味する。また、アンカー７０３，７０４は、アンカー４０９と同様のアンカーである。なお、符号７０５は、マウスポインタを示す。
【００５９】
図６に戻り、レイアウト編集アプリケーション１２１は、コンテナが選択されたことを認識する（ステップＳ６０３）。具体的には、リンクを設定する片方のコンテナをクリックして選択する。
【００６０】
次に、レイアウト編集アプリケーション１２１は、リンクを設定する他方のコンテナが選択されたことを認識する（ステップＳ６０４）。たとえば、図７（ｂ）に示すように、もう片方のコンテナまでマウスポインタ７０５を移動して、クリックする。図７（ｂ）に示された線７０６は、図７（ａ）においてクリックをした位置と移動したマウスポインタ７０５とを結んだ線を示しており、どの位置にリンクが設定されるのかをユーザに示すＵＩ（ユーザーインターフェース）である。
【００６１】
次に、レイアウト編集アプリケーション１２１は、リンクＵＩを表示する（ステップＳ６０５）。これは、ステップＳ６０４の処理が終了した後、設定した場所に、レイアウト編集アプリケーションプログラム１２１がリンクＵＩ７０７を表示する。コンテナは、図７（ｃ）に示した状態になる。
【００６２】
最後に、レイアウト編集アプリケーション１２１は、コンテナのＵＩを変更する（ステップＳ６０６）。すなわち、リンクが設定されたことにより、レイアウト編集アプリケーションプログラム１２１がコンテナのＵＩを変更する。図７（ｃ）に示されている辺７０８は、点線で形成された辺であり、前述したように可変の辺である。つまり、リンクを設定したことによりコンテナ同士が関連して変更する状態に設定されたにも関わらず、コンテナの変更を許可しないという矛盾を防ぐための処理である。また、アイテム７０９は、図５に示されたアイテム５０５と同じで、リンクを設定したことにより、コンテナが変化できる方向をユーザに視覚的に示す印である。図７（ｃ）に示した例では、左のコンテナの右辺と右のコンテナの左辺が可変に変化している。ただし、これは一例であり、たとえば、右コンテナが、図４のスライダー４１３と同様な設定に変化してもかまわない。
【００６３】
次に、レイアウトの計算について説明する。図８は、レイアウト計算における全体の手順を示すフローチャートである。前述のように、本発明のレイアウト装置では、コンテナを作成して、当該コンテナ間に関連付けを行いテンプレートを作成するレイアウトモードを実行する。また、作成したテンプレートのコンテナにレコードに含まれるコンテンツデータを挿入して、レイアウト結果をプレビューするプレビューモードを実行する。このプレビューモードにおいて、実際にレコードのコンテンツデータが挿入され、レイアウトを計算する。ただし、プレビューモードは、表示上でのレイアウト計算である。実際に印刷する場合においても、レコードを挿入してレイアウトを計算する。その際の計算方法も同じである。
【００６４】
まず、レイアウト編集アプリケーション１２１は、プレビューモードを選択し（ステップＳ８０１）、プレビューするレコードを選択してそのレコードのコンテンツデータをコンテナに挿入する（ステップＳ８０２）。続いて、レイアウト編集アプリケーション１２１は、コンテンツデータをレイアウトするための計算を行い（ステップＳ８０３）、計算されたレイアウト結果をプレビューする（ステップＳ８０４）。
【００６５】
さらに、レイアウト編集アプリケーション１２１は、他のレコードについてもプレビューするか否かを判断する（ステップＳ８０５）。ここで、他のレコードについてプレビューを行う必要がない場合（ステップＳ８０５：Ｎｏ）は、プレビューモードを終了する（ステップＳ８０７）。一方、他のレコードについてプレビューを行う必要がある場合（ステップＳ８０５：Ｙｅｓ）は、プレビューを行うべき他のレコードを選択する（ステップＳ８０６）。この後、ステップＳ８０３へ移行する。
【００６６】
なお、プレビューモードでなく印刷時では、印刷するレコードすべてについて順にレイアウトの計算を行う。したがって、ステップＳ８０５とステップＳ８０７の処理は存在しない。すべてのレコードについて印刷が終了した時点で終了する。
【００６７】
次に、レイアウト計算処理（図８のステップＳ８０３）について詳細に説明する。図９は、詳細なレイアウト計算処理の手順を示すフローチャートである。
【００６８】
図９に示すフローチャートにおいて、レイアウト編集アプリケーション１２１は、レイアウトを計算するコンテナの集合を求める（ステップＳ９０１）。
【００６９】
図１０は、レイアウト計算時におけるコンテナの集合を説明するための図である。図１０に示すように、ページ上に４つのコンテナがレイアウトされており、コンテナＡとコンテナＢ、そしてコンテナＣとコンテナＤがリンクによって関連付けされている。したがって、コンテナＡ・Ｂが集合１、コンテナＣ・Ｄが集合２となる。ここでも、図４と同様、アンカー１１０１、辺１１０２、コントローラー１１０３、矢印１１０４、辺１１０５、リンク１１０６、およびスライダー１１０７などが表示される。なお、辺１１０２は固定された辺、辺１１０５は可変の辺を示している。また、矢印１１０４は、可変の辺の変化方向を示している。
【００７０】
次に、レイアウト編集アプリケーション１２１は、１つの集合を選択する（ステップＳ９０２）。ここでは、ステップＳ９０１で求めたコンテナの集合から、レイアウトを計算するために１つを選択する。
【００７１】
次に、レイアウト編集アプリケーション１２１は、レイアウトの最適化を行う（ステップＳ９０３）。ここでは、ステップＳ９０２で選択されたコンテナの集合について、レイアウトの計算を行う。より具体的には、レイアウトされるコンテナのサイズが、実際のコンテンツのサイズとできる限り差が少なくなるように、レイアウトの最適化を行う。レイアウトの最適化は、動的にサイズを変化することが可能なように関連付けられたコンテナにおいて、それぞれに挿入されるコンテンツのサイズとレイアウトされるサイズとの差が、同じになるように行われる。
【００７２】
そして、レイアウト編集アプリケーション１２１は、ルール違反しているか否かを判定する（ステップＳ９０４）。ここでルールとは、レイアウト作成時にユーザによって設定される制限であり、コンテナのサイズと位置、リンクの長さなどである。ステップＳ９０４においてルール違反している場合（ステップＳ９０４：Ｙｅｓ）は、再度ステップＳ９０３の処理を実行する。
【００７３】
一方、ステップＳ９０４においてルール違反していない場合（ステップＳ９０４：Ｎｏ）、レイアウト編集アプリケーション１２１は、全コンテナの集合について計算が終了したか否かを判定する（ステップＳ９０５）。ここで、全コンテナの集合について計算が終了していない場合（ステップＳ９０５：Ｎｏ）は、ステップＳ９０２へ戻る。一方、全コンテナの集合について計算が終了した場合（ステップＳ９０５：Ｙｅｓ）は、処理を終了する。
【００７４】
次に、レイアウト計算時に表示されるＵＩの例を示す。図１１（ａ）〜図１１（ｃ）は、レイアウト計算時に表示されるＵＩの一例である。これは、たとえば、図４に示したようなドキュメントテンプレート３０９上に作成される。
【００７５】
図１１（ａ）は、あるレコードが挿入されレイアウトが決定された状態を示している。図４と同様、アンカー１００１，１００２、リンク１００８などが表示される。なお、辺１００３，１００４は固定された辺を、辺１００５は可変の辺を示している。また、矢印１００６、１００７は、可変の辺の変化方向を示している。
【００７６】
図１１（ｂ）は、図１１（ａ）の状態に新しいコンテンツのサイズを重ねて示している。ここでは、コンテンツ１００９で示される大きさのコンテンツがコンテナに挿入される。その後、レイアウト計算が行われる。
【００７７】
図１１（ｃ）は、レイアウト計算された結果を示している。計算後の各コンテナのサイズは、実際挿入されるコンテンツのサイズと同等に差異があるように計算され、かつ前述したルールを違反しないように計算される。図１１（ｃ）では、図１１（ｂ）で示された挿入されるコンテンツ１００９のサイズと計算後のコンテンツ１０１０のサイズとは、双方において同等な差異がある。
【００７８】
以下、各実施形態を示し、本発明を詳細に説明する。
【００７９】
［第１実形態］
＜レイアウト装置の機能的構成＞
図１２は、第１実施形態にかかるレイアウト装置の機能的構成を示すブロック図である。なお、以下に示す各機能部は、プロセッサ１３５がレイアウト編集アプリケーションプログラム１２１を実行することによって実現される。なお、本願は両面印刷が設定された場合に有効である。
【００８０】
モード設定部１１は、ＵＩで指定されたコンテナ作成モードを設定する（詳細は後述）。関連付け処理部１２は、前記ＵＩで指定されたコンテナに対して流しこむコンテンツデータを関連付ける。設定部１３は、処理モードを設定する。たとえば、切り取りモードを設定する場合、前記コンテナの属性に従い切り取り位置を設定する（詳細は後述）。検出部１４は、レイアウト計算の実行命令を検出する。レイアウト処理部１５は、各コンテナに対して関連付け処理部１２で関連付けられたコンテンツデータを参照して当該コンテナのサイズを算出する。判定部１６は、設定部１３で設定された処理モードが切り取りモードであるか否かを判定する。切り取り処理部１７は、設定部１３により設定された切り取り位置を用紙の表裏面で一致させ、当該切り取り位置に重ならないようにレイアウト処理部１５で算出されたコンテナのサイズを補正する（詳細は後述）。表示処理部１８は、レイアウト結果を前記ＵＩに表示する。
【００８１】
＜レイアウト装置の全体処理＞
次に、本実施形態のレイアウト装置の全体処理を説明する。図１３は、第１実施形態にかかるレイアウト装置の全体処理手順を示すフローチャートである。なお、以下の処理は、図１４に示すレイアウト装置のＵＩを参照しながら説明する。
【００８２】
レイアウト編集アプリケーション１２１は、コンテナ作成モードへ移行する（ステップＳ１３０１）。この処理は、たとえば図１４のアイコン１２０３が押下されると、図１２のモード設定部１１がコンテナ作成モードへ移行させる。そして、ページマージンのエリア１２０２内において、マウスのドラッグによりコンテナ１２０７−１２１０が描画されること。
【００８３】
次に、レイアウト編集アプリケーション１２１は、コンテナとコンテンツデータを関連付ける（ステップＳ１３０２）。この処理は、たとえば、図１４の「Ｄａｔａ１」アイコン１２０６が押下されると、図１２の関連付け処理部１２が、指定されたコンテナとコンテンツデータとの関連付けを行う。なお、関連付けは、データの各フィールド情報と各コンテナを指定して関連付けるようにしてもよいし、データファイルを指定しそのデータファイルからシーケンシャルに関連付けるようにしてもよい。また、関連付けしたコンテナの属性として、各コンテナに対して「切り取り属性」、「非切り取り属性」、「属性なし」の印刷後処理に関する設定も行う。「切り取り属性」として設定された部分は、切り取られて使用される前提でレイアウト処理される。なお、「属性なし」は、切り取られても良いコンテナを指す。なお、コンテンツと関連付ける形で各属性を持たせるようにしてもよい。
【００８４】
次に、レイアウト編集アプリケーション１２１は、切り取り位置を設定する（ステップＳ１３０３）。たとえば、図１４の「切り取りする」アイコン１２０５を押下することで、レイアウトする際に切り取り処理を実施するか否かの選択として「ミシン目にする」、「ミシン目にしない」の切り取りモードを選択設定する。加えて、たとえば「表面の切り取り位置にあわせる」アイコン１２１２を押下することで、切り取り処理を行う場合の処理方法を選択登録する。本実施形態では、「表面の切り取り位置に合わせる」、「裏面の切り取り位置に合わせる」、「自動」の３つのモードを選択登録することができる。この設定は、ユーザの指示に従い図１２の設定部１３が行う。
【００８５】
次に、レイアウト編集アプリケーション１２１の検出部１４は、実行ボタンが押下されたか否かを検出する（ステップＳ１３０４）。ここで、実行ボタン１２１１の押下が検出できなかった場合（ステップＳ１３０４：Ｎｏ）は、ステップＳ１３０１へ戻る。
【００８６】
一方、ステップＳ１３０４において実行ボタン１２１１の押下が検出された場合（ステップＳ１３０４：Ｙｅｓ）、レイアウト編集アプリケーション１２１は、レイアウト処理を実行する（ステップＳ１３０５）。ステップＳ１３０５の処理は、各コンテナにステップＳ１３０２で関連付けたコンテンツデータの容量を基に必要なコンテナサイズを算出するものである。ここで、コンテナサイズは、前述のように各コンテナに流し込むコンテンツと各コンテナサイズとの相関関係で決定される。
【００８７】
次に、レイアウト編集アプリケーション１２１は、切り取りモードであるか否かを判定する（ステップＳ１３０６）。この判定は、図１２の判定部１６がステップＳ１３０３で設定したモードに対して行う。ここで、切り取りモードでない場合（ステップＳ１３０６：Ｎｏ）、すなわち「ミシン目にしない」場合であれば、ステップＳ１３０８へ移行する。
【００８８】
一方、ステップＳ１３０６において切り取りモードである場合（ステップＳ１３０６：Ｙｅｓ、すなわち「ミシン目にする」が設定された場合）、レイアウト編集アプリケーション１２１は、切り取り処理を実行する（ステップＳ１３０７）。
【００８９】
最後に、レイアウト編集アプリケーション１２１は、レイアウト結果を表示する（ステップＳ１３０８）。
【００９０】
次に、前記切り取り処理（図１３のステップＳ１３０７）について詳細に説明する。図１５は、切り取り処理（図１３のステップＳ１３０７）の手順を示すフローチャートである。以下の処理は、図１２の切り取り処理部１７が実行する。
【００９１】
処理部１７は、用紙の表裏レイアウトエリアに切り取り位置を設定する（ステップＳ１４０１）。この処理は、図１３のステップ１３０２でコンテナに設定された「切り取り属性」、「非切り取り属性」に従って、用紙の表裏レイアウトエリア上の切り取り位置を設定する。この処理を実行すると、非切り取り属性と切り取り属性のコンテナの境界部分中央に切り取り位置が設定される。その処理結果を図１６に示す。
【００９２】
図１６は、切り取りエリアの設定例を示す図である。図１６に示すように、表面では、コンテナＢとコンテナＣとの間で属性の切り替えがあるため、その境界部分に切り取り線（破線で表示）が設定される。同様に、裏面では、コンテナＤとコンテナＥとの間で属性の切り替えがあるため、その境界部分に切り取り線が設定される。
【００９３】
図１５に戻り、処理部１７は、切り取りエリアに画像があるか否かを判定する（ステップＳ１４０２）。ここで、切り取りエリアに画像がない場合（ステップＳ１４０２：Ｎｏ）、すなわち表面、裏面どちらかの面に画像が全く存在しない場合は、処理終了となる。この後は、図１３のステップＳ１３０８の処理を行う。
【００９４】
一方、ステップＳ１４０２において切り取りエリアに画像がある場合（ステップＳ１４０２：Ｙｅｓ）、処理部１７は、裏面に切り取り位置設定があるか否かを判定する（ステップＳ１４０３）。ここで、裏面に切り取り位置設定がない場合（ステップＳ１４０３：Ｎｏ）、処理部１７は、切り取り位置のレイアウト調整の必要なしと判断し、処理終了となる。この後は、図１３のステップＳ１３０８の処理を行う。
【００９５】
一方、ステップＳ１４０３において裏面に切り取り位置設定がある場合（ステップＳ１４０３：Ｙｅｓ）、処理部１７は、表面と裏面の切り取り位置に差異があるか否かを検出する（ステップＳ１４０４）。ここで、表面と裏面の切り取り位置に差異がない場合（ステップＳ１４０４：Ｎｏ）は、処理終了となる。この後は、図１３のステップＳ１３０８の処理を行う。
【００９６】
一方、ステップＳ１４０４において表面と裏面の切り取り位置に差異がある場合（ステップＳ１４０４：Ｙｅｓ）、処理部１７は、切り取り位置の決定を行う（ステップＳ１４０５）。ここでは、図１３のステップ１３０３で登録された切り取りモードに従う。
【００９７】
すなわち、ステップ１３０３において「表面の切り取り位置に合わせる」と登録されている場合、処理部１７は、表面の切り取り位置に合うように裏面の切り取り位置を変更する（ステップＳ１４０６）。たとえば、図１６に示すように、表面の切り取り位置と裏面の切り取り位置が異なる場合、裏面の切り取り位置が表面の切り取り位置と一致するように、裏面の切り取り位置を補正する。
【００９８】
また、ステップ１３０３において「裏面の切り取り位置に合わせる」と登録されている場合、処理部１７は、裏面の切り取り位置に合うように表面の切り取り位置を変更する（ステップＳ１４０７）。たとえば、図１６に示すように、表面の切り取り位置と裏面の切り取り位置が異なる場合、表面の切り取り位置が裏面の切り取り位置と一致するように、表面の切り取り位置を補正する。
【００９９】
また、ステップ１３０３において「自動」と登録されている場合、処理部１７は、表面と裏面との切り取り位置の中間を切り取り位置として決定する（ステップＳ１４０８）。たとえば、図１６に示すように、表面の切り取り位置と裏面の切り取り位置が異なる場合は、表面の切り取り位置と裏面の切り取り位置の中間点を算出する。そして、算出された中間点を新たな切り取り位置となるように、表／裏面の各切り取り位置を補正する。
【０１００】
そして、処理部１７は、レイアウト処理を行う（ステップＳ１４０９）。ここでは、ステップＳ１４０６〜ステップＳ１４０８の処理で決定された切り取り位置に従ってコンテナサイズを算出し再レイアウトする。以下では、図１６、図１７を用いてコンテナサイズの算出方法を簡単に説明する。図１７は、新たな切り取り線が決定された後の再レイアウトを行う様子を説明するための図である。
【０１０１】
たとえば、縦方向の用紙サイズをＬとし、ステップＳ１４０６の処理前の用紙の上端から切り取り位置までの距離をＯｆｆｓｅｔをＡとする。そして用紙の上端からステップＳ１４０６の処理後に決定した切り取り位置までの距離を図１７のＯｆｆｓｅｔをＢとする。ＯｆｆｓｅｔＡ，Ｂの比率から拡縮率  Ａ/Ｂを算出し、前記拡縮率をコンテナＤの縦方向に適用してコンテナサイズを決定する。同様に、コンテナＥに対しても切り取り位置を基準に拡縮率（Ｌ−ＯｆｆｓｅｔＡ）/（Ｌ−ＯｆｆｓｅｔＢ）を算出して適用する。ステップＳ１４０７およびステップＳ１４０８の後の再レイアウト処理も同様である。
【０１０２】
以上の処理を行うことで、図１７に示すように、用紙の表面と裏面とにおいてコンテンツと切り取り位置とが重ならないレイアウト結果を出力することができる。
【０１０３】
ところで、図１３のステップ１３０８の処理として、図１４の透過編集モード１２１３の設定をＯＮにした場合は以下のような処理が実行される。すなわち、ステップ１４０９のレイアウト処理の拡縮率があらかじめ設定されているしきい値の範囲外の場合、レイアウト編集アプリケーション１２１は、自動レイアウト上の問題ありと判断する。前記しきい値が範囲外の場合、表示処理部１８は、表面コンテナに裏面コンテナを重ね（ＯＲ）て表示し、手動でコンテナの編集を可能にする。ここでは、透過しているコンテナは破線等で識別可能な形式で表示する（重ね表示を透過編集表示と呼ぶことにする）。図１８は、透過編集表示の一例を示す図である。なお、透過については、裏面コンテナに表面コンテナを重ねあわせて表示するようにしてもよい。
【０１０４】
本実施形態では、上記各処理を実行することにより、切り取り線印刷のレイアウトに関して、コンテナ属性によって切り取り位置を設定する。そして、表／裏面の切り取り位置が異なる場合には、切り取り位置が一致するように表面と裏面のコンテンツをレイアウトする。このようにすることにより、表裏面の切り取り位置が異なる場合でも、表裏の切り取り位置を一致させ、コンテンツが挿入されるコンテナも切り取り位置にあったサイズになるように再レイアウトすることができる。したがって、前記切取り位置で用紙が切り離された場合でも、コンテンツが不自然に分離されることを防止できる。
【０１０５】
［第２実施形態］
前述のように、第１実施形態によれば、表／裏面の切り取り位置を一致させたレイアウトが可能となる。しかし、切り取り位置が複数ある場合、表／裏面の切り取り位置の数を合わせる作業が必要になる。また、同一情報を各切り取りエリアに配置したい場合にも、ユーザが設定を行わねばならず、繁雑な処理が要求される。この第２実施形態ではかかる不都合の解消を図る。
【０１０６】
本実施形態では、切り取り属性を持つコンテンナが複数ある場合、前記不都合を解決するため、第１の実施形態で示した切り取り処理（図１３のステップＳ１３０７）を、図１９に示す手順で実行する。図１９は、第２実施形態における切り取り処理の手順を示すフローチャートである。以下の処理は、図１２の切り取り処理部１７が実行する。
【０１０７】
図１９に示すフローチャートにおいて、処理部１７は、用紙の表裏レイアウトエリアに切り取り位置を設定する（ステップＳ１７０１）。この処理は、図１４のＳ１４０１と同じ処理であるため詳細な説明は省略する。
【０１０８】
次に、処理部１７は、切り取り位置の数が複数か否かを判定し（ステップＳ１７０２）、切り取り位置の数が単数である場合（ステップＳ１７０２：Ｎｏ）は、ステップＳ１７０４へ移行する。
【０１０９】
一方、ステップＳ１７０２において切り取り位置の数が複数である場合（ステップＳ１７０２：Ｙｅｓ）、処理部１７は、切り取り位置の追加設定を行う（ステップＳ１７０３）。この処理の詳細は後述する。
【０１１０】
なお、Ｓ１７０４〜Ｓ１７１１の処理は図１４のＳ１４０２〜Ｓ１４０９と基本的に同じであるため、異なる処理内容に着目して説明する。Ｓ１７０３の処理が実行されることで、表面に複数の切り取り線が配置される。同様に、裏面にも複数の切り取り線が配置される。そして、Ｓ１７０８〜Ｓ１７１０（Ｓ１４０６〜Ｓ１４０８）の位置合わせ処理が行なわれるが、図１７では複数の切り取り線について複数回の位置合わせ処理が行なわれる。つまり、表面と裏面とについて用紙の上端から切り取り線を検出していき最初に検出された切り取り線同士の位置があうように位置合わせ処理が行われる。そして、表面と裏面とについて次に検出された切り取り線同士の位置があうように位置合わせ処理が行われる。この処理が、全ての切り取り線について繰り返される。
【０１１１】
次に、前記切り取り位置追加処理（図１９のステップＳ１７０３）について詳細に説明する。図２０は、切り取り位置追加処理（図１９のステップＳ１７０３）の手順を示すフローチャートである。
【０１１２】
処理部１７は、表裏の切り取り位置数が同一か否かを検出する（ステップＳ１８０１）。ここで、表裏の切り取り位置数が同一である場合（ステップＳ１８０１：Ｙｅｓ）は、ステップＳ１８０３へ移行する。
【０１１３】
一方、ステップＳ１８０１において表裏の切り取り位置数が異なる場合（ステップＳ１８０１：Ｎｏ）、処理部１７は、切り取り位置を追加する（ステップＳ１８０２）。以下、ここでの処理を図２１を参照しながら説明する。
【０１１４】
図２１は、切り取り位置を追加する処理を説明するための図である。図２１に示す例では、表面は切り取り位置が２つに対して、裏面には切り取り位置が１箇所であるため、裏面に切り取り位置の追加処理を行う。なお、新たな切り取り位置は、既存の切り取りエリアの最後尾に追加していく形をとる。
【０１１５】
図２０に戻り、処理部１７は、コンテナに複写属性が設定されているか否かを判定する（ステップＳ１８０３）。複写属性とは、同一面の各切り取りエリアに対して、コンテナを複写することを示す属性である。なお、複写属性は、ステップ１３０２でユーザが設定してもよいが、ユーザＩＤなど流し込まれるコンテンツデータの属性をキーワードにしておいてもよい。ステップＳ１８０３においてコンテナが複写属性を有しない場合（ステップＳ１８０３：Ｎｏ）、処理部１７は、ステップＳ１８０５へ移行する。
【０１１６】
一方、ステップＳ１８０３においてコンテナが複写属性を有する場合（ステップＳ１８０３：Ｙｅｓ）、処理部１７は、新たな切り取りエリアに、コンテナを複写配置する（ステップＳ１８０４）。この処理の結果は図２１に示す通りである。
【０１１７】
次に、処理部１７は、切り取り位置の追加処理またはコンテナの複写処理が適用されたか否かを判定する（ステップＳ１８０５）。ここでは、ステップＳ１８０２またはステップＳ１８０４の適用を行ったか否かが判定される。ステップＳ１８０５において切り取り位置の追加処理またはコンテナの複写処理が適用されていない場合（ステップＳ１８０５：Ｎｏ）は、処理終了となる。一方、ステップＳ１８０５において切り取り位置の追加処理またはコンテナの複写処理が適用されている場合（ステップＳ１８０５：Ｙｅｓ）、処理部１７は、レイアウト処理を行う（ステップＳ１８０６）。この処理は、図１９のステップＳ１７１１と同様のレイアウト処理である。以上のステップが終了すると、図１９のステップＳ１７０４へ移行する。
【０１１８】
以上のような処理を行うことにより、切り取り位置が複数あり、表／裏面の切り取り位置数が不一致である場合であっても、表裏の切り取り位置を一致させ、コンテナサイズも切り取り位置にあったサイズに再レイアウトすることができる。したがって、前記切取り位置で用紙が切り離された場合でも、コンテンツが不自然に分離されることを防止できる。また、同一情報を各切り取りエリアに印刷したい場合でも、複写属性として当該情報をコンテナに設定することで複製できるため、不都合はない。
【０１１９】
［第３実施形態］
第１，第２実施形態に従いレイアウトした場合、コンテンツに対するコンテナサイズが小さく、オーバーフロー状態となりドキュメントの可読性が低下するといった不具合が発生するおそれがある。なお、オーバーフローとは、コンテナサイズが小さいためテキストサイズが一定サイズより小さくなる状態のことである。
【０１２０】
そこで、本実施形態では、切り取り線で切り離される裏面の空きスペースにコンテナを挿入し、そこにオーバーフローした容量のコンテンツデータを流し込むことにより、前記不都合の解消を図る。
【０１２１】
本実施形態では、前記不都合を解決するため、第１の実施形態で示した切り取り処理（図１３のステップＳ１３０７）を、図２２に示す手順で実行する。図２２は、第３実施形態における切り取り処理の手順を示すフローチャートである。
【０１２２】
処理部１７は、切り取り処理を行う（ステップＳ２００１）。この処理は、図１５に示したフローチャート全体の処理であるため、説明は省略する。
【０１２３】
次に、処理部１７は、コンテナ配置記憶情報を作成する（ステップＳ２００２）。ここでは、ステップＳ２００１の結果に基づき、オーバーフローコンテナの配置情報を作成する。たとえば、各コンテナ内の文字サイズを確認し、あらかじめ定義されている規定値より、文字サイズが小さくなっていないかを確認する。なお、判定に用いる文字サイズ規定値は、あらかじめプログラムに含んでいてもよいし、外部ファイルやＵＩ画面からユーザが指定できるようにしてもよい。そして、規定値以下と判断されたコンテナの配置情報として、面情報（表／裏面）、エリア情報（切り取り／非切り取りエリア）を記憶する。
【０１２４】
図２３は、表面の非切り取りエリアにオーバーフロー箇所がある場合の一例を示す図である。また、この図２３に示した例を基に作成したコンテナ配置情報の一例を図２４に示す。
【０１２５】
図２２に戻り、処理部１７は、オーバーフローコンテナがあるか否かを判定する（ステップＳ２００３）。ここで、オーバーフローコンテナがない場合（ステップＳ２００３：Ｎｏ）、すなわちコンテナ配置情報の全エリアの表／裏面にオーバーフロー箇所がなければ、処理終了となる。この後は図１３のステップ１３０８へ移行する。一方、ステップＳ２００３においてオーバーフローコンテナがある場合（ステップＳ２００３：Ｙｅｓ）、処理部１７は、コンテナ挿入処理を行う（ステップＳ２００４）。この処理は後述する。
【０１２６】
図２５は、コンテナ挿入処理（図２２のステップＳ２００４）の手順を示すフローチャートである。
【０１２７】
処理部１７は、レイアウト処理が終了していないエリアがあるか否かを検出する（ステップＳ２１０１）。ここでは、切り取り線で分離される各エリアに対してレイアウト処理が終了しているか否かを検出する。ステップＳ２１０１においてレイアウト処理が終了していないエリアがない場合（ステップＳ２１０１：Ｎｏ）は、処理終了となる。この後は図１３のステップＳ１３０８へ移行する。
【０１２８】
一方、ステップＳ２１０１においてレイアウト処理が終了していないエリアがある場合（ステップＳ２１０１：Ｙｅｓ）、処理部１７は、オーバーフローコンテナは片面のみか否かを判定する（ステップＳ２１０２）。ここで、オーバーフローコンテナがあるのは片面だけでない場合（ステップＳ２１０２：Ｎｏ）、ステップＳ２１０１へ戻る。たとえば、表／裏の両面にオーバーフローコンテナがある場合は、空きエリアなしと判断して、処理を行わずにステップＳ２１０１へ戻る。また、表／裏面のどちらにもオーバーフローコンテナがなければ、処理の必要なしと判断し、ステップＳ２１０１へ戻る。
【０１２９】
一方、ステップＳ２１０２においてオーバーフローコンテナがあるのは片面のみである場合（ステップＳ２１０２：Ｙｅｓ）、処理部１７は、空きスペースがあるか否かを判定する（ステップＳ２１０３）。具体的には、オーバーフローが発生している面の裏面に、コンテナが挿入可能な空きスペースがあるか否かを判断する。空きスペースの判断としては、あらかじめ定義されているスペース以上のものを空きスペースとして判断する。また、空きスペースに挿入したコンテナに対してオーバーフローコンテナのコンテンツデータを流し込んで、文字サイズがあらかじめ規定したサイズ以上になる場合を空きスペースとして判断するようにしてもよい。ステップＳ２１０３において空きスペースがない場合（ステップＳ２１０３：Ｎｏ）は、ステップＳ２１０１へ戻る。
【０１３０】
一方、ステップＳ２１０３において空きスペースがある場合（ステップＳ２１０３：Ｙｅｓ）、処理部１７は、オーバーフローコンテナの反対面の空きスペースに新たなコンテナを挿入する（ステップＳ２１０４）。なお、新たなコンテナの挿入位置に関しては、空きスペースに挿入する方法もあるが、用紙裏面においては、先頭コンテナ（各分離エリアのドキュメント開始コンテナ）の前へ挿入する。用紙表面においては、最後尾コンテナ（分離エリアの最後尾コンテナ）の後ろに挿入する方法も有効である。
【０１３１】
次に、処理部１７は、挿入したコンテナに対してコンテンツデータを流し込む（ステップＳ２１０５）。具体的には、オーバーフローした容量分のコンテンツデータを反対側面に挿入した新たなコンテナに流し込む。この処理は、オーバーフローコンテナと新たに挿入したコンテナを合算したコンテナサイズとコンテンツの文字数からレイアウトする文字サイズを決定する。そして、決定した文字サイズを基に、流し込む文字数を決定しオーバーフローコンテナおよび挿入したコンテンナに分割したコンテンツデータをそれぞれ流し込む。この後、ステップ２１０１へ戻る。
【０１３２】
図２６は、挿入したコンテナに対してコンテンツを流し込んだ際の例を示す図である。図２６は、図２３に本実施形態の処理を施して、裏面にコンテナを挿入し、オーバーフローコンテナの文字列を流し込んだ処理例を示している。
【０１３３】
以上の処理を行うことで、切り取りレイアウト処理によりコンテナがオーバーフロー状態となっても、反対側面の空きスペースにオーバーフローした容量分のコンテンツデータを流し込むことが可能となる。これにより、第１，第２実施形態が有する効果に加え、レイアウト時の文字サイズを適切に設定でき、明瞭なドキュメントを作成できる。
なお本願発明は、レイアウト編集アプリケーションによって実行される実施例になっているが、プリンタドライバが本願発明の処理を実行しても構わない。
なお本願発明は、前述した機能を実現するソフトウエアのプログラムコードを記録した記録媒体を装置に供給し、その装置のコンピュータ（またはＣＰＵまたはＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【０１３４】
１１  モード設定部
１２  関連付け処理部
１３  設定部
１４  検出部
１５  レイアウト処理部
１６  判定部
１７  切り取り処理部
１８  表示処理部
【図１】
2010182039.tif 000003
【図２】
2010182039.tif 000004
【図３】
2010182039.tif 000005
【図４】
2010182039.tif 000006
【図５】
2010182039.tif 000007
【図６】
2010182039.tif 000008
【図７】
2010182039.tif 000009
【図８】
2010182039.tif 000010
【図９】
2010182039.tif 000011
【図１０】
2010182039.tif 000012
【図１１】
2010182039.tif 000013
【図１２】
2010182039.tif 000014
【図１３】
2010182039.tif 000015
【図１４】
2010182039.tif 000016
【図１５】
2010182039.tif 000017
【図１６】
2010182039.tif 000018
【図１７】
2010182039.tif 000019
【図１８】
2010182039.tif 000020
【図１９】
2010182039.tif 000021
【図２０】
2010182039.tif 000022
【図２１】
2010182039.tif 000023
【図２２】
2010182039.tif 000024
【図２３】
2010182039.tif 000025
【図２４】
2010182039.tif 000026
【図２５】
2010182039.tif 000027
【図２６】
2010182039.tif 000028