JP2006215925A - Information processor, its control method, and program - Google Patents

Information processor, its control method, and program Download PDF

Info

Publication number
JP2006215925A
JP2006215925A JP2005029831A JP2005029831A JP2006215925A JP 2006215925 A JP2006215925 A JP 2006215925A JP 2005029831 A JP2005029831 A JP 2005029831A JP 2005029831 A JP2005029831 A JP 2005029831A JP 2006215925 A JP2006215925 A JP 2006215925A
Authority
JP
Japan
Prior art keywords
data
container
setting
region
area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2005029831A
Other languages
Japanese (ja)
Other versions
JP4522280B2 (en
JP2006215925A5 (en
Inventor
Hajime Ono
肇 大野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2005029831A priority Critical patent/JP4522280B2/en
Priority to US11/346,178 priority patent/US7861160B2/en
Publication of JP2006215925A publication Critical patent/JP2006215925A/en
Publication of JP2006215925A5 publication Critical patent/JP2006215925A5/ja
Application granted granted Critical
Publication of JP4522280B2 publication Critical patent/JP4522280B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2216/00Indexing scheme relating to additional aspects of information retrieval not explicitly covered by G06F16/00 and subgroups
    • G06F2216/17Web printing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Processing Or Creating Images (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an information processor, its control method, and a program for easily and suitably laying out contents of a page. <P>SOLUTION: A setting for detecting an interest area from data to be inserted into a field area inside the page is made, and when data to be inserted are inserted to the set field area, the interest area inside the data is detected. The detected interest area is inserted into a filed area of an insertion destination to be laid out inside the page by performing control to change size of the interest area and that of the filed area of the insertion destination based on the size of both of them. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、 複数種類のデータフィールドからなるレコードから、選択されたデータフィールドのデータを差し込むためのフィールド領域を、ページ内にレイアウトする情報処理装置及びその制御方法、プログラムに関するものである。   The present invention relates to an information processing apparatus for laying out in a page a field area for inserting data of a selected data field from a record composed of a plurality of types of data fields, a control method therefor, and a program.

近年、商品の多品種化で商品ライフが短くなっていること、インターネット利用の普及による消費者のカスタマイズサービス指向などの要因からCRM(Customer Relationship Management)、One−to−Oneマーケティングの必要性が注目されている。これらの手法により、顧客満足度を高め、顧客の開拓や囲い込みを目指すものである。   In recent years, the need for CRM (Customer Relationship Management) and One-to-One marketing has attracted attention due to factors such as the shortening of product life due to the increase in product variety and the orientation of consumer customization services due to the widespread use of the Internet. Has been. These techniques aim to increase customer satisfaction and to cultivate and retain customers.

One−to−Oneマーケティングは、データベース・マーケティングの一種で、顧客の年齢、性別、趣味、嗜好、購買履歴等の個人属性情報をデータベース化し、その内容を分析、顧客のニーズに合った提案を行うものであり、その代表的な手法としてバリアブルプリントが挙げられる。ここ最近では、DTP(デスクトップパブリッシング)技術の進展とデジタル印刷装置の普及に伴って、文書を顧客毎にカスタマイズして出力するバリアブルプリントシステムが開発されている。このようなバリアブルプリントシステムでは、顧客毎に異なるコンテンツがレイアウトされたカスタマイズ文書を作成することが求められる。   One-to-one marketing is a type of database marketing that creates a database of customer attribute information such as age, gender, hobbies, preferences, purchase history, etc., analyzes the content, and makes proposals that meet customer needs. Variable printing is a typical technique. Recently, with the advancement of DTP (desktop publishing) technology and the spread of digital printing apparatuses, variable print systems that customize and output documents for each customer have been developed. In such a variable print system, it is required to create a customized document in which different contents are laid out for each customer.

一般にバリアブルプリントシステムにおいて、そのようなカスタマイズ文書を作成する際には、文書上にコンテナをレイアウトする。ここで、コンテナとは、コンテンツ(描画内容(例えば、イメージ、テキスト等))を描画するための描画領域であり、フィールド領域と呼ばれることもある。   Generally, when creating such a customized document in a variable print system, a container is laid out on the document. Here, the container is a drawing area for drawing content (drawing contents (eg, image, text, etc.)), and is sometimes called a field area.

そして、文書上にこのようなコンテナをレイアウトし、データベースとレイアウトを関連付ける(データベース内の各種コンテンツとコンテナとを関連付ける)作業を行うことにより、所望のカスタマイズ文書(ドキュメントテンプレートと呼ばれる)を作成することができる。そして、このカスタマイズ文書上のコンテナ内のコンテンツをデータベース内のレコード毎に適宜切り換えることで、その内容を可変(バリアブル)にすることができる。そのため、このような文書を、バリアブルデータ文書(ドキュメント)と呼んでおり、このバリアブルデータドキュメントを用いるプリントシステムが、バリアルプリントシステムである。このようなバリアブル印刷用のテンプレートを作成する方法として、従来からフォーム作成アプリケーションがある。(例えば、特許文献1)   Then, by laying out such a container on the document and associating the layout with the database (associating various contents in the database with the container), creating a desired customized document (called a document template) Can do. The contents in the container on the customized document can be changed (variable) by appropriately switching the contents in the container for each record in the database. Therefore, such a document is called a variable data document (document), and a print system using this variable data document is a variable print system. Conventionally, there is a form creation application as a method for creating such a variable printing template. (For example, Patent Document 1)

ここで、従来のバリアブルプリントシステムでは、コンテンツであるテキストやイメージに関連付けられるコンテナのサイズが固定であるため、データベース内のコンテンツがコンテナに挿入された(流し込まれた)ときに、そのデータ量がコンテナサイズより多いと、そのデータがテキストであれば、テキストのオーバーラップが発生し、また、そのデータイメージであればイメージのクリッピングが発生し、イメージの一部が欠落してしまう。また、データ量がコンテナサイズより小さいと、コンテナとその内部のコンテンツとの間に隙間が空いてしまう等の適切な表示がなされない可能性がある。   Here, in the conventional variable print system, since the size of the container associated with the text or image that is the content is fixed, when the content in the database is inserted (flowed) into the container, the amount of data is reduced. If the data is larger than the container size, if the data is text, text overlap occurs. If the data is the data image, image clipping occurs and a part of the image is lost. Further, if the data amount is smaller than the container size, there is a possibility that an appropriate display such as a gap between the container and the contents in the container is not performed.

また、固定のコンテナサイズのコンテナに挿入されるテキストが、そのコンテナサイズ内に挿入しきれない場合は、そのテキストのフォントサイズを可変(この場合、縮小する)にして、コンテナ内に全てのテキストが収まるように表示する技術も存在する。   Also, if the text inserted into a container with a fixed container size cannot be inserted into the container size, change the font size of the text (in this case, reduce it) and all the text in the container There is also a technology for displaying so that the

しかしながら、コンテナサイズが可変な環境においては、挿入されるコンテンツによってコンテナが大きくなった場合は、同一文書内の他のコンテナに重なってしまう問題が発生する。また、フォントサイズを可変な環境においては、挿入されるテキストのデータ量が非常に大きい場合は、縮小されるフォントサイズが小さくなりすぎてしまう問題が発生する。   However, in an environment where the container size is variable, there is a problem that when the container becomes large due to the inserted content, it overlaps with other containers in the same document. In an environment where the font size is variable, if the amount of data of the inserted text is very large, there arises a problem that the reduced font size becomes too small.

そこで、このような問題を解決するための更なる自動レイアウト技術として、あるコンテナ(画像部品ブロック)に配置されるデータ量が大きくなった場合には、次に配置するコンテナ(画像部品ブロック)内の配置位置を変更したり、配置できない場合に次の配置順のコンテナ(画像部品ブロック)に移動させる技術が、例えば、特許文2の「レイアウトデザイン装置」に開示されている。   Therefore, as a further automatic layout technique for solving such a problem, when the amount of data to be arranged in a certain container (image part block) becomes large, in the container (image part block) to be arranged next For example, Japanese Patent Application Laid-Open No. 2005-228959 discloses a technique for moving to a container (image part block) in the next arrangement order when the arrangement position of the image is changed or cannot be arranged.

また、従来のバリアブルプリントシステムにおいて、1レコードを1ドキュメントにレイアウトする技術だけでなく、多レコードを1ドキュメントにレイアウトするマルチレコードの技術も知られている。この技術により、一人の顧客に対して、レイアウトするデータの数が異なることが可能になり、さらに一人一人に対してカスタマイズされたドキュメントを作成することができる。
特開2000−222493号公報 特開2000−48216号公報
Further, in the conventional variable print system, not only a technique for laying out one record into one document but also a multi-record technique for laying out multiple records into one document is known. With this technology, the number of data to be laid out can be different for each customer, and a customized document can be created for each customer.
JP 2000-222493 A JP 2000-48216 A

しかし、特許文献2のバリアブルプリントシステムでは、流し込むデータの順序である配置順が予め決められており、この配置順に従って1つづつデータを配置してレイアウトを決定している。このため、流し込まれるデータ量が多い(各データのデータサイズが大きい)場合、配置順の低いデータは、配置される領域が狭くなってしまい、データが配置できなくなってしまうという問題がある。   However, in the variable print system of Patent Document 2, the arrangement order, which is the order of data to be inserted, is determined in advance, and the layout is determined by arranging data one by one according to this arrangement order. For this reason, when there is a large amount of data to be transferred (the data size of each data is large), there is a problem that data with a low arrangement order has a narrow area to be arranged and data cannot be arranged.

そこで、このような課題を解決するために、動的レイアウトシステムが考案されている。動的レイアウトシステムは、文書上にレイアウトされているコンテナのコンテナサイズを可変に設定し、かつ、可変に設定されたコンテナ同士をリンク(関連付ける)することで、リンクされたお互いのコンテナが押し合いながら負荷を均等にしてコンテナの位置とサイズとを決定することが可能にする。これにより、動的レイアウトシステムを実現しているソフトウェアは、例えば、コンテナに挿入されるデータ量と各コンテナとの関係に応じて、各コンテナのサイズを変更することができる。   In order to solve such problems, a dynamic layout system has been devised. The dynamic layout system sets the container size of containers laid out on a document variably and links (associates) the variably set containers with each other while the linked containers are pressed against each other. It is possible to determine the position and size of the container with equal load. Thereby, the software which implement | achieves the dynamic layout system can change the size of each container according to the relationship between the data amount inserted into a container, and each container, for example.

このような動的レイアウトシステムの内、特に、チラシ、カタログ雑誌等を発行するシステムでは、1つのページ内に多くの商品情報を掲載することが強く求められている。そして、この動的レイアウトシステムでは、レイアウトを行なう際、データベースから取得したコンテンツ画像に対して、常に矩形の画像として扱い、この画像のデータサイズから、可変サイズのコンテナ同士の大きさと位置とを計算することが考えられている。そのため、コンテンツ画像に対して、
(1)コンテンツ内容を考慮しない。
Among such dynamic layout systems, in particular, in systems that issue flyers, catalog magazines, and the like, it is strongly required to place a lot of product information on one page. In this dynamic layout system, the content image acquired from the database is always handled as a rectangular image at the time of layout, and the size and position of variable-size containers are calculated from the data size of this image. It is considered to be. Therefore, for content images,
(1) Does not consider content.

(2)常に矩形と扱う。   (2) Always treat as a rectangle.

(3)単純な拡縮操作しか実施しない。
という制限を持ってレイアウト決定処理を行っている。そのため、画像の主な対象物以外の余白部分も動的配置の対象となっている。しかしながら、このように、着目すべき対象物がコンテンツ画像に対して矩形でない、またはコンテンツ画像の全体サイズに対して小さく構成されている場合、以下のような課題が存在する。
(3) Only a simple scaling operation is performed.
The layout determination process is performed with the restriction. For this reason, blank portions other than the main object of the image are also targets for dynamic placement. However, when the target object to be focused on is not rectangular with respect to the content image or is configured to be small with respect to the entire size of the content image, there are the following problems.

(ア)コンテンツ画像の主な対象物が小さく表示・印刷される。   (A) The main object of the content image is displayed and printed small.

(イ)それを避けるには、予めコンテンツ作成者が、作成するコンテンツから不要な余白部分を削除しなければならない。   (A) In order to avoid this, the content creator must delete unnecessary blank portions from the content to be created in advance.

(ウ)紙面面積あたりの情報密度を上げにくい。
という課題がある。
(C) It is difficult to increase the information density per page area.
There is a problem.

本発明は上記の課題を解決するためになされたものであり、ページ内のコンテンツをより好適にかつ容易にレイアウトすることができる情報処理装置及びその制御方法、プログラムを提供することを目的とする。   SUMMARY An advantage of some aspects of the invention is that it provides an information processing apparatus, a control method thereof, and a program capable of laying out contents in a page more suitably and easily. .

上記の目的を達成するための本発明による情報処理装置は以下の構成を備える。即ち、
複数種類のデータフィールドからなるレコードから、選択されたデータフィールドのデータを差し込むためのフィールド領域を、ページ内にレイアウトする情報処理装置であって、
前記ページ中のフィールド領域に差し込むデータから関心領域を検出するための設定を行う設定手段と、
前記設定手段による設定がなされたフィールド領域に、差込対象のデータを差し込む場合、前記データ中の関心領域を検出する検出手段と、
前記検出手段で検出した関心領域を差込先のフィールド領域に差し込み、その関心領域及びその差込先のフィールド領域のサイズに基づいて、両者のサイズを変更制御して、前記ページ内にレイアウトするレイアウト手段と
を備える。
In order to achieve the above object, an information processing apparatus according to the present invention comprises the following arrangement. That is,
An information processing apparatus that lays out in a page a field area for inserting data of a selected data field from a record composed of a plurality of types of data fields,
Setting means for performing settings for detecting a region of interest from data to be inserted into a field region in the page;
Detecting means for detecting a region of interest in the data when inserting data to be inserted into the field area set by the setting means;
The region of interest detected by the detecting means is inserted into the field area of the insertion destination, and the size of both is changed and controlled based on the size of the region of interest and the field area of the insertion destination, and the layout is performed in the page. Layout means.

また、好ましくは、前記検出手段は、前記ページの背景色に基づいて決定される、処理対象のデータ中の余白領域を検出することで、前記データ中の関心領域を検出する。   Preferably, the detection means detects a region of interest in the data by detecting a blank area in the data to be processed, which is determined based on the background color of the page.

また、好ましくは、前記設定手段による設定は、前記ページの背景色に基づいて決定される、処理対象のデータ中の余白領域を検出することで、前記データ中の関心領域を検出するための設定である。   Preferably, the setting by the setting unit is a setting for detecting a region of interest in the data by detecting a blank area in the data to be processed, which is determined based on a background color of the page. It is.

また、好ましくは、前記検出手段は、矩形領域からなるデータの各辺から対辺方向に垂直に画像を走査して得られる、前記ページの背景色を含む所定色範囲内の色以外の色が最初に検出される画素を含む、走査を開始した辺に平行な線分を検出し、各辺からの走査によって検出される線分によって囲まれる矩形領域を関心領域として検出し、
前記余白領域は、前記矩形領域からなるデータから検出された前記関心領域以外の領域である。
In a preferred embodiment, the detecting means first obtains a color other than a color within a predetermined color range including the background color of the page, obtained by scanning an image perpendicularly in the opposite direction from each side of the data consisting of a rectangular area. A line segment that is parallel to the side where scanning was started, including the pixels detected in, and a rectangular region surrounded by line segments detected by scanning from each side is detected as a region of interest,
The margin area is an area other than the region of interest detected from the data including the rectangular area.

また、好ましくは、前記ページ中のフィールド領域間の関連付けを行うリンクを作成する作成手段を更に備え、
前記設定手段による設定は、前記リンクで結合されたフィールド領域それぞれに差し込むデータから、前記リンク側に存在する余白領域を検出することで、前記フィールド領域それぞれに差し込むデータ中の関心領域を検出するための設定である。
Preferably, the apparatus further includes a creating unit that creates a link for associating the field areas in the page.
The setting by the setting means is to detect a region of interest in data to be inserted into each field area by detecting a blank area existing on the link side from data to be inserted into each field area connected by the link. This is the setting.

また、好ましくは、前記検出手段は、矩形領域からなるデータの各辺の内、前記リンク側にある辺から対辺方向に所定線分単位で垂直に画像を走査し、各線分による走査によって、前記ページの背景色を含む所定色範囲内の色以外の色が最初に検出される画素までの線分領域を検出し、各走査によって検出された線分領域からなる領域を余白領域として検出し、その余白領域以外の領域を関心領域として検出する。   Preferably, the detection unit scans an image vertically in units of a predetermined line segment from the side on the link side to the opposite side of each side of the data consisting of a rectangular region, Detecting a line segment area up to the first pixel where a color other than a color within a predetermined color range including the background color of the page is detected, detecting an area composed of the line segment areas detected by each scan as a margin area, A region other than the blank region is detected as a region of interest.

また、好ましくは、前記レイアウト手段は、更に、前記リンクで結合されているフィールド領域内それぞれに差し込まれた前記関心領域間が最小となる最小距離を検索し、その最小距離に基づいて、前記リンクで結合されているフィールド領域の位置を変更する。   Preferably, the layout means further searches for a minimum distance between the regions of interest inserted in each of the field regions connected by the link and minimizes the link based on the minimum distance. Change the position of the combined field area with.

また、好ましくは、前記設定手段による設定は、更に、前記関心領域を、差込先の前記フィールド領域内で任意の角度に回転するための設定である。   Preferably, the setting by the setting means is a setting for further rotating the region of interest within the field area of the insertion destination at an arbitrary angle.

また、好ましくは、前記リンクで結合されているフィールド領域内のどちらかに前記任意の角度に回転するための設定がなされている場合、前記レイアウト手段は、その回転するための設定がなされている前記フィールド領域に差し込む前記関心領域の回転前後における、該リンクで結合されているフィールド領域内それぞれに差し込まれた前記関心領域間が最小となる第1及び第2最小距離を検索し、その内のより小さいほうの最小距離に基づいて、前記リンクで結合されているフィールド領域の位置を変更する。   Preferably, when the setting is made to rotate to the arbitrary angle in either of the field areas connected by the link, the layout means is set to rotate. The first and second minimum distances that minimize the distance between the regions of interest inserted in the field regions connected by the link before and after the rotation of the region of interest inserted into the field region are searched. Based on the smaller minimum distance, the position of the field region connected by the link is changed.

また、好ましくは、前記設定手段による設定は、更に、前記レイアウト手段によるレイアウト対象の前記フィールド領域及びそれに差し込まれるデータの表示を制御するための設定であり、
前記表示を制御するための設定がなされている場合、前記レイアウト手段は、前記ページ内に収まらない前記フィールド領域及びそれに差し込まれるデータの表示を禁止する。
Preferably, the setting by the setting unit is a setting for further controlling display of the field area to be laid out by the layout unit and data inserted therein.
When the setting for controlling the display is made, the layout unit prohibits the display of the field area that does not fit in the page and the data inserted therein.

上記の目的を達成するための本発明による情報処理装置の制御方法は以下の構成を備える。即ち、
複数種類のデータフィールドからなるレコードから、選択されたデータフィールドのデータを差し込むためのフィールド領域を、ページ内にレイアウトする情報処理装置の制御方法であって、
前記ページ中のフィールド領域に差し込むデータから関心領域を検出するための設定を行う設定工程と、
前記設定工程による設定がなされたフィールド領域に、差込対象のデータを差し込む場合、前記データ中の関心領域を検出する検出工程と、
前記検出工程で検出した関心領域を差込先のフィールド領域に差し込み、その関心領域及びその差込先のフィールド領域のサイズに基づいて、両者のサイズを変更制御して、前記ページ内にレイアウトするレイアウト工程と
を備える。
In order to achieve the above object, a method for controlling an information processing apparatus according to the present invention comprises the following arrangement. That is,
A method for controlling an information processing apparatus that lays out a field area for inserting data of a selected data field from a record including a plurality of types of data fields in a page,
A setting step for performing settings for detecting a region of interest from data inserted into a field region in the page;
A detection step of detecting a region of interest in the data when inserting data to be inserted into the field region set by the setting step;
The region of interest detected in the detection step is inserted into the field area of the insertion destination, and the size of both is changed and controlled based on the size of the region of interest and the field area of the insertion destination, and is laid out in the page. A layout process.

上記の目的を達成するための本発明によるプログラムは以下の構成を備える。即ち、
複数種類のデータフィールドからなるレコードから、選択されたデータフィールドのデータを差し込むためのフィールド領域を、ページ内にレイアウトする情報処理装置の制御を実現するためのプログラムであって、
前記ページ中のフィールド領域に差し込むデータから関心領域を検出するための設定を行う設定工程のプログラムコードと、
前記設定工程による設定がなされたフィールド領域に、差込対象のデータを差し込む場合、前記データ中の関心領域を検出する検出工程のプログラムコードと、
前記検出工程で検出した関心領域を差込先のフィールド領域に差し込み、その関心領域及びその差込先のフィールド領域のサイズに基づいて、両者のサイズを変更制御して、前記ページ内にレイアウトするレイアウト工程のプログラムコードと
を備える。
In order to achieve the above object, a program according to the present invention comprises the following arrangement. That is,
A program for realizing control of an information processing apparatus that lays out a field area for inserting data of a selected data field from a record including a plurality of types of data fields in a page,
A program code of a setting step for performing setting for detecting a region of interest from data to be inserted into a field region in the page;
When inserting the data to be inserted into the field region set by the setting step, the program code of the detection step for detecting the region of interest in the data,
The region of interest detected in the detection step is inserted into the field area of the insertion destination, and the size of both is changed and controlled based on the size of the region of interest and the field area of the insertion destination, and is laid out in the page. Layout process program code.

本発明によれば、ページ内のコンテンツをより好適にかつ容易にレイアウトすることができる情報処理装置及びその制御方法、プログラムを提供できる。   ADVANTAGE OF THE INVENTION According to this invention, the information processing apparatus which can lay out the content in a page more suitably and easily, its control method, and a program can be provided.

以下、本発明の実施の形態について図面を用いて詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

<<実施形態1>>
<システム構成>
まず、実施形態1の情報処理システム及び、その構成要素であるホストコンピュータのハードウェア構成について、図1A及び図1Bを用いて説明する。
<< Embodiment 1 >>
<System configuration>
First, the hardware configuration of the information processing system of Embodiment 1 and the host computer that is a component thereof will be described with reference to FIGS. 1A and 1B.

図1Aは本発明の実施形態1の情報処理システムの構成例を示す図である。また、図1Bは本発明の実施形態1の情報処理システムの一構成要素であるホストコンピュータ(本発明の情報処理装置に相当する)のハードウェア構成を示す図である。   FIG. 1A is a diagram showing a configuration example of an information processing system according to the first embodiment of the present invention. FIG. 1B is a diagram showing a hardware configuration of a host computer (corresponding to the information processing apparatus of the present invention) that is a component of the information processing system according to the first embodiment of the present invention.

尚、図1A中のホストコンピュータ以外の各種コンピュータ(例えば、データベースサーバ117、ファイルサーバ115及びプリントサーバ109)も、例えば、図1Bのハードウェア構成と同等のハードウェア構成を有している。   Various computers (for example, the database server 117, the file server 115, and the print server 109) other than the host computer in FIG. 1A also have a hardware configuration that is equivalent to the hardware configuration of FIG. 1B, for example.

図1Aにおいて、情報処理システム100は、ネットワーク107を介して、ホストコンピュータ101、データベースサーバ117、ファイルサーバ115及びプリントサーバ109が相互に接続されている。   1A, in an information processing system 100, a host computer 101, a database server 117, a file server 115, and a print server 109 are connected to each other via a network 107.

データベースサーバ117は、データベース119を備えている。また、プリントサーバ109は、プリンタ113を接続しており、ネットワーク107を介して受信する印刷データを適宜プリンタ113に出力して、その印刷データを印刷させることが可能である。   The database server 117 includes a database 119. The print server 109 is connected to the printer 113, and can appropriately output print data received via the network 107 to the printer 113 to print the print data.

図1Aの情報処理システム100は、特に、バリアブルデータドキュメントを印刷するバリアブルプリントシステムの構成例を示している。実施形態1で説明されるバリアブルプリント処理は、レイアウト編集装置として機能するホストコンピュータ101(汎用コンピュータモジュールによって構成される)で実現される。   The information processing system 100 in FIG. 1A particularly shows a configuration example of a variable print system that prints a variable data document. The variable print process described in the first embodiment is realized by a host computer 101 (configured by a general-purpose computer module) that functions as a layout editing apparatus.

この本レイアウト編集装置は、後述するように、バリアブル出力時(印刷またはプレビュー表示)にコンテンツの量/サイズと各コンテナの関連付けの制約によって動的に各コンテナの位置とサイズを決定する動的レイアウト処理を実行することが可能である。   As will be described later, this layout editing apparatus is a dynamic layout that dynamically determines the position and size of each container according to the restrictions on the association between the content amount / size and each container during variable output (printing or preview display). It is possible to execute processing.

バリアブルプリントシステム100上で実施可能となるレイアウト編集アプリケーション121は、ホストコンピュータ101において、その全体あるいは一部分が実行される。特に、レイアウト編集に関する処理や、バリアブルデータドキュメントの印刷に関する処理は、ホストコンピュータ101によって実行されるソフトウェアにより実現される。   The layout editing application 121 that can be implemented on the variable print system 100 is executed entirely or in part on the host computer 101. In particular, processing relating to layout editing and processing relating to printing of variable data documents are realized by software executed by the host computer 101.

レイアウト編集アプリケーション121等のソフトウェアやコンピュータプログラムはコンピュータ可読媒体に格納され、そのコンピュータ可読媒体からホストコンピュータ101のメモリ136にロードされ、実行される。そのようなソフトウェアやコンピュータプログラムを格納したコンピュータ可読媒体は、コンピュータプログラム製品である。そして、例えば、ホストコンピュータ101において、そのコンピュータプログラム製品を使用することにより、バリアブルデータドキュメントのレイアウト編集やバリアブルプリントに好適な装置が提供されることになる。   Software such as the layout editing application 121 and computer programs are stored in a computer readable medium, loaded from the computer readable medium into the memory 136 of the host computer 101, and executed. A computer readable medium storing such software or computer program is a computer program product. For example, by using the computer program product in the host computer 101, an apparatus suitable for variable data document layout editing and variable printing is provided.

図1Bに示されるように、ホストコンピュータ101には、I/O(入出力)インタフェース143を介してキーボード132や、ポインティングデバイスであるマウス133が入力装置として接続される。また、出力装置としてのディスプレイ装置144がビデオインタフェース137を介して接続される。更に、プリンタ145をI/Oインタフェース138を介して接続することも可能である。   As shown in FIG. 1B, a keyboard 132 and a mouse 133 as a pointing device are connected to the host computer 101 via an I / O (input / output) interface 143 as input devices. A display device 144 as an output device is connected via a video interface 137. Further, it is possible to connect the printer 145 via the I / O interface 138.

また、I/Oインタフェース138は、ホストコンピュータコンピュータ101を、ネットワーク107へ接続する機能も有する。これにより、ネットワーク107を介して、バリアブルプリントシステム100内の他のコンピュータ装置(外部機器)にホストコンピュータ101を接続することができる。ネットワーク107の典型的な例としては、ローカルエリアネットワーク(LAN)、あるいはワイドエリアネットワーク(WAN)が挙げられる。   The I / O interface 138 also has a function of connecting the host computer computer 101 to the network 107. Accordingly, the host computer 101 can be connected to another computer apparatus (external device) in the variable print system 100 via the network 107. Typical examples of the network 107 include a local area network (LAN) or a wide area network (WAN).

また、図1Bに示すように、ホストコンピュータ101は、少なくとも1つのプロセッサ135、例えば、半導体メモリである、ランダムアクセスメモリ(RAM)やリードオンリーメモリ(ROM)から構成されるメモリ136を含んでいる。記憶装置139は、プログラム等の各種データを格納するコンピュータ可読媒体との間でデータのやり取りが可能なハードディスクドライブ(HDD)140やフロッピー(登録商標)ディスクドライブ(FDD)141を含む。   As shown in FIG. 1B, the host computer 101 includes at least one processor 135, for example, a memory 136 that is a semiconductor memory, such as a random access memory (RAM) or a read only memory (ROM). . The storage device 139 includes a hard disk drive (HDD) 140 and a floppy (registered trademark) disk drive (FDD) 141 that can exchange data with a computer-readable medium that stores various data such as programs.

尚、図1Bには示されていないが、磁気テープドライブやメモリカード等の各種記憶装置も記憶装置139として使用することが可能である。CD−ROMドライブ142は、不揮発性のデータソースとして提供される(もちろん、CD−ROMによってコンピュータプログラムを提供してもよい)。   Although not shown in FIG. 1B, various storage devices such as a magnetic tape drive and a memory card can also be used as the storage device 139. The CD-ROM drive 142 is provided as a nonvolatile data source (of course, a computer program may be provided by a CD-ROM).

ホストコンピュータ101は、GNU/LINUXやマイクロソフトウインドウズ(登録商標)のようなオペレーティングシステムや、典型的にはオペレーティングシステムに従う形で、あるいは関連のある技術で知られているもので形成されたコンピュータシステムの常套的なオペレーションモードによる方法によって、相互接続バス134を介して、ホストコンピュータ101の各種構成要素135〜143と通信する。即ち、上述の各種構成要素135〜143は、相互接続バス134を介して通信可能に接続されており、ホストコンピュータ101にインストールされたオペレーティングシステムにより利用される。   The host computer 101 is an operating system such as GNU / LINUX or Microsoft Windows (registered trademark), a computer system typically formed in accordance with the operating system, or known in related technology. It communicates with the various components 135 to 143 of the host computer 101 via the interconnect bus 134 in a conventional manner of operation mode. That is, the above-described various components 135 to 143 are communicably connected via the interconnection bus 134 and are used by an operating system installed in the host computer 101.

尚、図1Bに示すホストコンピュータ101の例としては、IBM互換PC(パーソナルコンピュータ)やSUNのSparcstation、あるいはそれらを含んだコンピュータシステムが考えられる。   As an example of the host computer 101 shown in FIG. 1B, an IBM compatible PC (personal computer), a SUN Sparcstation, or a computer system including them can be considered.

実施形態1では、レイアウト編集アプリケーション121は、ハードディスクドライブ140に常駐し、プロセッサ135による実行や読込が制御される。レイアウト編集アプリケーション121の媒介記憶装置とネットワーク107からフェッチされるデータは、ハードディスクドライブ140に呼応してメモリ136を使用する。   In the first embodiment, the layout editing application 121 is resident in the hard disk drive 140, and execution and reading by the processor 135 are controlled. Data fetched from the intermediate storage device of the layout editing application 121 and the network 107 uses the memory 136 in response to the hard disk drive 140.

一つの例では、レイアウト編集アプリケーション121のエンコードされたプログラムが、CD−ROMやフロッピー(登録商標)ディスク上に格納され、対応するCD−ROMドライブ142やフロッピー(登録商標)ディスクドライブ141を通じて読み込まれ、ハードディスクドライブ140にインストールされる。   In one example, the encoded program of the layout editing application 121 is stored on a CD-ROM or floppy (registered trademark) disk and read through the corresponding CD-ROM drive 142 or floppy (registered trademark) disk drive 141. Are installed in the hard disk drive 140.

あるいは、別の例として、レイアウト編集アプリケーション121は、ネットワーク107からホストコンピュータ101内に読み込まれて、ハードディスクドライブ140にインストールされてもよい。   Alternatively, as another example, the layout editing application 121 may be read into the host computer 101 from the network 107 and installed in the hard disk drive 140.

更に、レイアウト編集アプリケーション121を含む各種ソフトウェアは、磁気テープまたはROMまたは集積回路、光磁気ディスク、または、ホストコンピュータ101とその他のデバイス間における赤外線等の無線通信、PCMCIAカードのようなコンピュータ可読カード、そしてEメール通信やWEBサイト上の記録情報を持つインターネットやイントラネットを含む他の適当なコンピュータからホストコンピュータ101内にロードされてもよい。これらは、コンピュータ可読媒体の例であり、他のコンピュータ可読媒体が使用されてもよいことは明らかである。   Further, various software including the layout editing application 121 includes a magnetic tape, a ROM or an integrated circuit, a magneto-optical disk, or wireless communication such as infrared rays between the host computer 101 and other devices, a computer-readable card such as a PCMCIA card, Then, it may be loaded into the host computer 101 from another appropriate computer including the Internet or an intranet having information recorded on an e-mail communication or WEB site. These are examples of computer readable media and it will be appreciated that other computer readable media may be used.

図1Aにおいて、レイアウト編集アプリケーション121は、ホストコンピュータ101にバリアブルプリント(バリアブルデータプリント(VDP)ともいう)を実現させるものであり、2つのソフトウェアコンポーネント、即ち、レイアウトエンジン105とユーザインタフェース103を含んでいる。   In FIG. 1A, a layout editing application 121 causes the host computer 101 to perform variable printing (also referred to as variable data printing (VDP)), and includes two software components, that is, a layout engine 105 and a user interface 103. Yes.

レイアウトエンジン105は、フィールド領域(部分領域)であるコンテナ(矩形の範囲)に与えられたサイズや位置の制限にしたがって、データベース119にレコード単位で格納されているバリアブルデータから1レコードずつ読み込み、読み込んだバリアブルデータとコンテナの制限とから、読み込んだバリアブルデータが流し込まれるコンテナのサイズや位置等のレイアウトを計算するソフトウェアコンポーネントである。   The layout engine 105 reads and reads one record at a time from variable data stored in units of records in the database 119 in accordance with the size and position restrictions given to the container (rectangular range) that is a field area (partial area). It is a software component that calculates the layout such as the size and position of the container into which the read variable data is poured, based on the variable data and the container restrictions.

また、実施形態1では、レイアウトエンジン105は、更に、コンテナに割り当てられたバリアブルデータを描画し、バリアブルデータドキュメントのイメージを生成する処理も行う。但し、本発明は、これに限るものではなく、レイアウトエンジン105は、各部分領域(コンテナ)のサイズと位置を決定するアプリケーションとして動作し、プリンタドライバ(不図示)に描画情報を出力することで、プリンタドライバがバリアブルデータドキュメントのイメージ描画処理を行い、印刷データを生成してもよい。   In the first embodiment, the layout engine 105 also performs processing for drawing variable data assigned to a container and generating an image of a variable data document. However, the present invention is not limited to this, and the layout engine 105 operates as an application for determining the size and position of each partial area (container) and outputs drawing information to a printer driver (not shown). The printer driver may perform image drawing processing of the variable data document to generate print data.

ユーザインタフェース103は、ユーザによるコンテナのレイアウトや属性設定を可能とし、ユーザにドキュメントテンプレート(テンプレート情報とも呼ぶ)を作成させる。また、ユーザインタフェース103は、ドキュメントテンプレート内の各コンテナとデータソース(データベース119上のバリアブルデータ(コンテンツ))とを関連付けるメカニズムを提供する。ユーザインタフェース103とレイアウトエンジン105は、通信チャネル123を介して通信する。   The user interface 103 allows the user to set a container layout and attributes, and allows the user to create a document template (also referred to as template information). The user interface 103 also provides a mechanism for associating each container in the document template with a data source (variable data (content) on the database 119). The user interface 103 and the layout engine 105 communicate via a communication channel 123.

バリアブルデータドキュメント生成のためのデータソースは、一般的には、データベースアプリケーションを実行している、他のコンピュータで構成されるデータベースサーバ117上にある典型的なデータベース119が挙げられる。   A data source for generating a variable data document generally includes a typical database 119 on a database server 117 composed of another computer running a database application.

ホストコンピュータ101は、ネットワーク107を介して、データベースサーバ117と通信する。レイアウト編集アプリケーション121は、ホストコンピュータ101、あるいは、一般的には、他のコンピュータで構成されるファイルサーバ115に保存されるドキュメントテンプレートを生成する。   The host computer 101 communicates with the database server 117 via the network 107. The layout editing application 121 generates a document template stored in the host computer 101 or, in general, a file server 115 constituted by another computer.

また、レイアウト編集アプリケーション121は、バリアブルデータとマージされたドキュメントテンプレートによって構成されたバリアブルデータドキュメントを生成する。これらのバリアブルデータドキュメントは、ホストコンピュータ101のローカルファイルシステム、ファイルサーバ115、あるいはプリンタサーバ109を介してプリンタ113に直接印刷される。   Further, the layout editing application 121 generates a variable data document composed of a document template merged with the variable data. These variable data documents are directly printed on the printer 113 via the local file system of the host computer 101, the file server 115, or the printer server 109.

ここで、プリントサーバ109は、直接ネットワーク107に接続されていないプリンタ113に、ネットワーク機能を提供するコンピュータである。プリントサーバ109とプリンタ113は、典型的な通信チャネル123(例えば、USB、IEEE1394、無線LAN等)を介して接続される。   Here, the print server 109 is a computer that provides a network function to the printer 113 that is not directly connected to the network 107. The print server 109 and the printer 113 are connected via a typical communication channel 123 (for example, USB, IEEE 1394, wireless LAN, etc.).

次に、バリアブルプリントシステム100の別構成例について、図1Cを用いて説明する。   Next, another configuration example of the variable print system 100 will be described with reference to FIG. 1C.

図1Cは本発明の実施形態1の情報処理システムの別構成を示す図である。   FIG. 1C is a diagram showing another configuration of the information processing system according to the first embodiment of the present invention.

図1Cは、ネットワーク107上にエンジンサーバ227を追加して、このエンジンサーバ227にレイアウトエンジン225を構成した例を示している。つまり、ホストコンピュータ101内のレイアウトエンジン105を、エンジンサーバ227内で実現した構成である。この構成の場合、ホストコンピュータ101の処理負荷を軽減することができる。   FIG. 1C shows an example in which an engine server 227 is added on the network 107 and a layout engine 225 is configured on the engine server 227. That is, the layout engine 105 in the host computer 101 is realized in the engine server 227. In the case of this configuration, the processing load on the host computer 101 can be reduced.

尚、このエンジンサーバ227は、他のサーバと同様、典型的なコンピュータである。また、ファイルサーバ115に保存されたドキュメントテンプレートは、印刷や他の目的がある際、レイアウトエンジン225によってドキュメントを生成するためにデータベース119に保存されたデータと結合することができる。そのようなオペレーションは、ユーザインタフェース103を介して要求されるか、特定のレコードのみ印刷するように要求される。   The engine server 227 is a typical computer like other servers. Also, the document template stored in the file server 115 can be combined with data stored in the database 119 for generating a document by the layout engine 225 for printing or other purposes. Such an operation is requested via the user interface 103 or only certain records are required to be printed.

<レイアウト編集アプリケーションの概要>
まず、バリアブルデータプリントの概略について、図2を用いて説明する。
<Outline of layout editing application>
First, an outline of variable data printing will be described with reference to FIG.

図2は本発明の実施形態1のバリアブルデータプリントの概略を説明するための図である。   FIG. 2 is a diagram for explaining the outline of variable data printing according to the first embodiment of the present invention.

レイアウト編集アプリケーション121のユーザインタフェース103により、ユーザからの操作指示に従いページ上に複数のコンテナ181〜183を配置し、各コンテナに位置やサイズに関する制約条件を付与することによりドキュメントテンプレート180が生成される。   The user interface 103 of the layout editing application 121 arranges a plurality of containers 181 to 183 on a page in accordance with an operation instruction from the user, and a document template 180 is generated by assigning constraints on positions and sizes to each container. .

また、ユーザインタフェース103は、ドキュメントテンプレート180とデータソース190(例えば、データベース119)との関連付け、更に各コンテナとデータソース190内の各データフィールドとの関連付けを行う。各コンテナとデータソース190内の各データフィールドとの関連付けを示す関連付け情報は、ドキュメントテンプレート180内に記述され、該ドキュメントテンプレート180は、HDD140に格納される。また、データソース190は、レコード単位で項目データが記載されているファイルであり、HDD140に格納されている。   In addition, the user interface 103 associates the document template 180 with the data source 190 (for example, the database 119), and further associates each container with each data field in the data source 190. Association information indicating the association between each container and each data field in the data source 190 is described in the document template 180, and the document template 180 is stored in the HDD 140. The data source 190 is a file in which item data is described in units of records, and is stored in the HDD 140.

レイアウトエンジン105は、ユーザからの印刷指示もしくはプレビュー指示に応じて、ドキュメントテンプレート180の各コンテナ181〜182に、関連付け情報で関連付けられたデータをデータソース190から読み込み、レコード単位で流し込み(例えば、データレコード1のデータフィールドA〜Cをコンテナ181〜183へ流し込む)、流し込まれたデータに応じて各コンテナのサイズ等を調整(レイアウト調整)する。   In response to a print instruction or a preview instruction from the user, the layout engine 105 reads data associated with the association information from the data source 190 into each of the containers 181 to 182 of the document template 180, and flows the data in units of records (for example, data The data fields A to C of the record 1 are poured into the containers 181 to 183), and the size and the like of each container are adjusted (layout adjustment) in accordance with the poured data.

プレビュー指示の場合は、レイアウト調整されたドキュメントイメージを生成し、ディスプレイ装置144の画面上にプレビューとして表示するべく出力される。また、印刷指示の場合は、レイアウトエンジン105もしくはプリンタドライバを用いて生成したドキュメントイメージを印刷データとしてプリントサーバ109へ出力する。データレコード1,2,3…を順次処理することにより、バリアブルデータプリントが実現されることになる。   In the case of a preview instruction, a document image whose layout has been adjusted is generated and output to be displayed as a preview on the screen of the display device 144. In the case of a print instruction, a document image generated using the layout engine 105 or the printer driver is output to the print server 109 as print data. By sequentially processing the data records 1, 2, 3,..., Variable data printing is realized.

<レイアウト編集アプリケーションの説明>
以下、レイアウト編集アプリケーション121について説明する。
<Description of layout editing application>
Hereinafter, the layout editing application 121 will be described.

まず、ユーザインタフェース103によって実現されるユーザインタフェースの一例について、図3を用いて説明する。   First, an example of a user interface realized by the user interface 103 will be described with reference to FIG.

[メインウインドウ]
図3は本発明の実施形態1のユーザインタフェースの一例を示す図である。
[Main window]
FIG. 3 is a diagram illustrating an example of a user interface according to the first embodiment of the present invention.

図3に示すように、ユーザインタフェース103は、操作時にアプリケーションウインドウ301によって形成されたユーザインタフェースをディスプレイ装置144に表示させる。このアプリケーションウインドウ301は、メニューバー302、ツールバー303、ワークエリア306とオプションのパレット311を有する。   As shown in FIG. 3, the user interface 103 causes the display device 144 to display the user interface formed by the application window 301 during operation. The application window 301 includes a menu bar 302, a tool bar 303, a work area 306, and an optional palette 311.

メニューバー302とツールバー303は非表示にしたり、画面上の色々な場所に移動することが可能である。また、ワークエリア306は、マウス133の操作によってその場所を移動させることが可能である。また、パレット311はオプションであり、目的に応じて表示/非表示を制御することができる。更に、カーソル/ポインタ313は、マウス133の指示位置を表示する。   The menu bar 302 and the tool bar 303 can be hidden or moved to various places on the screen. The work area 306 can be moved by operating the mouse 133. The palette 311 is an option, and display / non-display can be controlled according to the purpose. Further, the cursor / pointer 313 displays the designated position of the mouse 133.

メニューバー302は、周知の技術として知られているように、メニューオプションの階層の下に拡張される多くのメニューアイテム304を有する。   Menu bar 302 has a number of menu items 304 that extend below the hierarchy of menu options, as is known in the art.

ツールバー303は、アプリケーションの特別なモードによって非表示状態にする、または表示状態にすることが可能な多くのツールボタンとウィジット(部品)305を有する。   The toolbar 303 has many tool buttons and widgets (parts) 305 that can be hidden or displayed depending on a special mode of the application.

ルーラー308はオプションであり、ワークエリア306内のポインタ、ページ、ライン、マージンガイド、コンテナまたはオブジェクトの位置を示すために使用される。   Ruler 308 is optional and is used to indicate the position of a pointer, page, line, margin guide, container or object within work area 306.

パレット311は、バリアブルデータライブラリのような追加機能にアクセスするために使われる。パレット311は、移動、リサイズ、クローズをするためのウインドウコントロール312を有する。また、パレット311は、ワークエリア306の前面に表示したり、あるいはオブジェクトの背面に隠すことができる。更に、パレット311は、アプリケーションウインドウ301の範囲内のみにその表示を制限したり、アプリケーションウインドウ301の外側にその一部或いは全体を表示することが可能である。   The palette 311 is used to access additional functions such as a variable data library. The palette 311 has a window control 312 for moving, resizing, and closing. The palette 311 can be displayed in front of the work area 306 or hidden behind the object. Further, the display of the palette 311 can be limited only within the range of the application window 301, or a part or the whole of the palette 311 can be displayed outside the application window 301.

ツールバー303には、図4に示されるような、ユーザが選択可能な複数種類の『ボタン』403〜406が配置されている。   On the tool bar 303, as shown in FIG. 4, a plurality of types of “buttons” 403 to 406 that can be selected by the user are arranged.

(1)選択ツールボタン403:コンテナの辺を選択、移動、サイズ変更、リサイズそしてロック/ロック解除のために使われる。コンテナの選択は、コンテナの周囲に選択ボックスをドラッグすることによりなされる。また、キーボード132上のCTRLキーを押しながら、複数のコンテナについて選択操作をすることによって、複数のコンテナを選択可能である。   (1) Selection tool button 403: Used for selecting, moving, resizing, resizing, and locking / unlocking a container edge. The container is selected by dragging a selection box around the container. Further, a plurality of containers can be selected by performing a selection operation on the plurality of containers while pressing the CTRL key on the keyboard 132.

(2)テキストコンテナツールボタン404:スタティックあるいはバリアブルテキストを有するコンテナを作成するために使用される。   (2) Text container tool button 404: used to create a container having static or variable text.

(3)イメージコンテナツールボタン404:スタティックあるいはバリアブルイメージを有するコンテナを作成するために使用される。   (3) Image container tool button 404: used to create a container having a static or variable image.

(4)リンクツールボタン406:コンテナ間に関連付けを行うリンクを作成するために使われ、リンクの距離をコントロールするためにも使用される。   (4) Link tool button 406: used to create a link for associating containers, and also used to control the distance of the link.

尚、これらのボタンは、周知の技術で知られているように、操作状況に合わせて変化するアイコンのツールチップとして実装される。   These buttons are mounted as icon tool tips that change according to the operation status, as is well known in the art.

また、アプリケーションウインドウ301は、ページ内に各コンテナやリンクをレイアウトすることで、基本レイアウトを決定することができる。基本レイアウトとは、バリアブルデータプリントで基本となるレイアウトのことである。基本レイアウト内の各コンテナが固定コンテナである場合は、すべてのレコードの印刷結果のレイアウトは同じになる。   The application window 301 can determine a basic layout by laying out containers and links in a page. The basic layout is a basic layout for variable data printing. If each container in the basic layout is a fixed container, the layout of the print results of all records is the same.

また、基本レイアウト内の各コンテナが後述する可変コンテナである場合は、レコード単位に読み込まれるデータの量やサイズにより各コンテナのサイズや位置が、後述する制約の範囲内で変動することになる。よって、レイアウト編集アプリケーション121で作成されるドキュメントテンプレートは、あくまで基本レイアウトを決定するものであり、可変コンテナが含まれる場合は、最終的な印刷物のレイアウトは読み込まれるデータによりレイアウト調整されることになる。   In addition, when each container in the basic layout is a variable container described later, the size and position of each container varies within the constraints described later depending on the amount and size of data read in units of records. Therefore, the document template created by the layout editing application 121 determines the basic layout to the last, and when a variable container is included, the layout of the final printed matter is adjusted by the read data. .

[ドキュメントテンプレート]
図3において、ワークエリア306は、ドキュメントテンプレート(180:基本レイアウト)のデザインを表示・編集するために使われる。これは、ユーザがドキュメントテンプレートの概観をデザインする過程において、印刷されるドキュメントの基本の概観をユーザに提示することを可能とする。ここで作成されるドキュメントテンプレートは、ユーザが希望するレイアウトであるが、本バリアブルプリントシステムでは、コンテンツデータの量・サイズにより動的にレイアウトを決定するため、計算後のレイアウトは各レコードにおいて異なるものとなる。
[Document Template]
In FIG. 3, a work area 306 is used for displaying and editing a design of a document template (180: basic layout). This allows the user to present a basic overview of the document to be printed in the process of designing the overview of the document template. The document template created here is the layout desired by the user, but in this variable print system, the layout is dynamically determined according to the amount and size of the content data, so the calculated layout differs for each record. It becomes.

よって、ユーザは、このドキュメントテンプレートと動的レイアウトの計算後のプレビューとを見比べることにより、データソース(190)とマージされたドキュメントが、バリアブルデータの量・サイズに基づいてどのように変化するかを容易に理解することができる。   Therefore, the user compares the document template with the preview after calculation of the dynamic layout, and how the document merged with the data source (190) changes based on the amount / size of the variable data. Can be easily understood.

また、データソースがドキュメントテンプレートに関連付けられていた場合は、現在のドキュメントのプレビューができるように、対応するバリアブルテキストやイメージがレイアウトされた各コンテナに表示される。   When the data source is associated with the document template, the corresponding variable text or image is displayed in each laid out container so that the current document can be previewed.

ドキュメントテンプレートにおけるドキュメント構造とコンテナを描写する視覚的な手がかり(コンテナの枠線、アンカー、スライダー、リンク等)は、ドキュメントテンプレート作成時には常に表示される。また、バリアブルデータを流し込むプレビュー時には、視覚的な手がかりは、カーソルをコンテナ上に移動させたときや、コンテナを選択したときに表示される。   Visual cues (container borders, anchors, sliders, links, etc.) describing the document structure and containers in the document template are always displayed when the document template is created. Further, at the time of previewing the variable data, visual cues are displayed when the cursor is moved over the container or when a container is selected.

ワークエリア306は、スクロールバー307と、オプションのルーラー308と、ドキュメントテンプレート309を含む。ドキュメントテンプレート309は、ページが複数あることを示すことができる。また、ドキュメントテンプレート309は、図2のドキュメントテンプレート180に相当するものである
与えられたドキュメントテンプレートのページサイズは、周知の技術を用いて、ユーザによって指定される。例えば、メニューの「ファイル」から「ページ設定」を選択することでページサイズを設定するダイアログを表示し、そこでユーザが指定したページサイズが反映されることになる。
The work area 306 includes a scroll bar 307, an optional ruler 308, and a document template 309. The document template 309 can indicate that there are a plurality of pages. The document template 309 corresponds to the document template 180 of FIG. 2. The page size of the given document template is designated by the user using a well-known technique. For example, by selecting “Page Setup” from “File” in the menu, a dialog for setting the page size is displayed, and the page size specified by the user is reflected there.

それぞれのドキュメントでの実際のページ数は、関連付けられたデータソース内のバリアブルデータによって変化する可能性がある。これは、ドキュメントテンプレート内に可変表のようにバリアブルデータの量により大きさが変更されるフィールドが設定されている場合、1ページ内にバリアブルデータをフィットできないバリアブルデータが読み込まれると、追加のページが自動的に作成されるからである。   The actual number of pages in each document can vary depending on the variable data in the associated data source. This is because when a variable size is set in the document template, such as a variable table, when the variable data that cannot fit the variable data is read in one page, an additional page is added. Is created automatically.

それぞれのページ内に示される境界線310は、ページ上の印刷可能なオブジェクトの最大幅を示す、任意のページマージンである。   The border 310 shown in each page is an arbitrary page margin that indicates the maximum width of a printable object on the page.

また、図4では、1ページのドキュメントテンプレート309上に表示され得るオブジェクトの例を示している。   FIG. 4 shows an example of objects that can be displayed on the document template 309 of one page.

このようなオブジェクトとしては、コンテナ407、408と、任意に適用するアンカーアイコン409、固定されている辺411、414、固定されていない辺410、リンク412、そしてスライダー413がある。   Examples of such objects include containers 407 and 408, an anchor icon 409 to be arbitrarily applied, fixed sides 411 and 414, non-fixed sides 410, links 412, and a slider 413.

アンカーアイコン409は、コンテナの矩形の角、辺、またはコンテナの中央に設定することが可能である。アンカーアイコン409が設定されると、設定された個所の位置が固定となる。つまり、図4の例では、アンカーアイコン409は、コンテナ407の左上の角に設定されているため、コンテナ407はバリアブルデータが流し込まれ、バリアブルデータの画像サイズもしくはテキスト量が多い場合には、右方向及び下方向に拡大可能であることを示している。   The anchor icon 409 can be set at a corner of the container rectangle, a side, or the center of the container. When the anchor icon 409 is set, the position of the set location is fixed. That is, in the example of FIG. 4, since the anchor icon 409 is set at the upper left corner of the container 407, when the variable data is poured into the container 407 and the variable data has a large image size or text amount, It shows that it can expand in the direction and the downward direction.

一方、アンカーアイコン409が辺に設定されている場合は、その辺が固定となり、その他の3辺の各方向に拡大可能である。また、アンカーアイコン409がコンテナの中央に設定されている場合は、コンテナの中央位置が固定となり、コンテナ矩形の中央位置が変わらないように、4方向に拡大可能である。   On the other hand, when the anchor icon 409 is set to a side, the side is fixed and can be enlarged in each of the other three sides. When the anchor icon 409 is set at the center of the container, the center position of the container is fixed and can be expanded in four directions so that the center position of the container rectangle does not change.

リンク412についての詳細は後述するが、これは、コンテナ407とコンテナ408が関連付けられていることを示しており、このリンク412に設定されている長さ(範囲指定可能)を保ちつつ、コンテナ408が右方向に移動可能であることを示している。スライダー413は、設定されている辺と水平方向に移動可能であることを示している。   Although details regarding the link 412 will be described later, this indicates that the container 407 and the container 408 are associated with each other, and the container 408 is maintained while maintaining the length (range can be specified) set in the link 412. Indicates that it can move rightward. The slider 413 indicates that it can move in the horizontal direction with respect to the set side.

[コンテナ]
次に、データベース中の各レコードに含まれる複数種類のデータフィールドのデータを差し込むためのフィールド領域であるコンテナについて説明する。
[container]
Next, a description will be given of a container that is a field area for inserting data of a plurality of types of data fields included in each record in the database.

コンテナは、ドキュメントテンプレート内にバリアブルデータファイルから固定あるいは可変のテキスト/イメージ(複数種類のデータフィールドのデータ)が流し込まれ、描画されるフィールド領域(これを部分領域と呼ぶ)であり、図4に示されるように他のコンテナやオブジェクトと共にレイアウトされる。ユーザインタフェースを介して、ユーザからの操作指示により、コンテナは、マウス133の操作により移動、サイズ調整、再作成される。   A container is a field area (called a partial area) in which a fixed or variable text / image (data of a plurality of types of data fields) is poured from a variable data file into a document template and is drawn. Layout with other containers and objects as shown. The container is moved, adjusted in size, and recreated by operating the mouse 133 in accordance with an operation instruction from the user via the user interface.

より正確には、コンテナは、位置、最大/最小/デザイン時サイズ、マージされるコンテンツの最大/最小フォントサイズ、各辺が固定/可変であることなどを示すコンテナ属性を有している。以下、実施形態1におけるコンテナ属性の定義を示す。   More precisely, the container has container attributes indicating the position, the maximum / minimum / design size, the maximum / minimum font size of the merged content, each side being fixed / variable, and the like. Hereinafter, the definition of the container attribute in Embodiment 1 is shown.

(1)コンテナは、固定あるいは可変のコンテンツを持つ。可変コンテンツ(バリアブルデータ)は、データソースから取得したデータがドキュメント毎、つまり、レコード毎に異なる可能性があるという意味でダイナミック(動的)であるということができる。但し、実施形態1の可変コンテンツは、アニメーション化されたもの、あるいは他の方法で時間的に変化するコンテンツは印刷には適していないため、ここでは、意図していない。   (1) A container has fixed or variable content. Variable content (variable data) can be said to be dynamic in the sense that data acquired from a data source may vary from document to document, that is, from record to record. However, the variable content of the first embodiment is not intended here because it is animated or content that changes in time by other methods is not suitable for printing.

同様に、固定コンテンツは、コンテナを使って生成される全てのドキュメントで、同じように表示される。しかしながら、可変コンテンツとリンクが設定されている場合、可変コンテンツの影響を受けて、固定コンテンツはそれぞれのドキュメントで位置が異なる可能性がある。また、コンテナにマージされるコンテンツは各レコードで異なるため、表示内容は当然異なる。   Similarly, fixed content is displayed in the same way in all documents generated using the container. However, when the variable content and the link are set, the position of the fixed content may be different in each document due to the influence of the variable content. Moreover, since the contents merged into the container are different for each record, the display contents are naturally different.

(2)コンテナは、コンテンツに適用される背景色、ボーダー、フォント・スタイルのようなテキスト設定と同様の装飾機能を持っている。このような設定を、コンテナ属性と呼ぶ。コンテナ属性は、各コンテナごとに設定可能であるが、あるコンテナと同じコンテナ属性であるという設定を行うことも可能である。   (2) The container has a decoration function similar to the text setting such as the background color, border, font style applied to the content. Such a setting is called a container attribute. The container attribute can be set for each container, but it is also possible to set the same container attribute as a certain container.

(3)コンテナは、ドキュメントを生成する際にデータソースからのデータとマージされる。装飾機能は、どんな固定コンテンツでもそうであるように、印刷された出力物において可視である。可変コンテンツは、データソースからの特定のデータの表示を提供する。コンテナのこの表現は、例えば、印刷されるか、ディスプレイ装置144のスクリーン上に表示されるか、その両方が可能である。   (3) The container is merged with data from the data source when generating the document. The decoration function is visible in the printed output, as is any fixed content. Variable content provides an indication of specific data from a data source. This representation of the container can be printed or displayed on the screen of the display device 144, for example.

(4)コンテナは、図4に示されるように視覚的な手がかりとしてのユーザインタフェースを有している。例えば、コンテナの編集そして表示設定のためのインタラクティブなグラフィカルユーザインタフェース(GUI)を有する。GUIコンポーネントは、ディスプレイ装置144のスクリーン上に表示されるが、ドキュメントとしては印刷されない。レイアウト編集アプリケーション121のユーザインタフェース103は、背景色やフォントのようなコンテナの装飾機能のいくつかを表示し、さらにコンテナの設定の編集や表示を可能にするための機能を有している。   (4) The container has a user interface as a visual clue as shown in FIG. For example, it has an interactive graphical user interface (GUI) for container editing and display settings. The GUI component is displayed on the screen of the display device 144 but is not printed as a document. The user interface 103 of the layout editing application 121 displays some of the container decoration functions such as the background color and font, and further has a function for enabling editing and display of container settings.

ユーザインタフェースの機能の特別な目的の例としては、ボーダー、あるいは、コンテナのサイズや位置を対話的に変更、表示するための角アイコン、あるいはコンテナがデータソースからデータをマージされたとき、コンテナの動作を示すための上塗りした数、線、アイコン、テキストがある。   Examples of special purposes for user interface functionality include borders, corner icons for interactively changing and displaying the size and position of a container, or when a container is merged with data from a data source. There are overpainted numbers, lines, icons, and text to show the action.

[コンテナの制約]
コンテナはそれぞれのドキュメントで表示されるコンテンツをどのように結びつけるかの制御に関する制約がある。これらの制約(固定/可変コンテンツをコンテナと結びつけることを含む)は、ユーザが一つのドキュメントテンプレートから多数のドキュメントの生成をコントロールする主要な方法である。
[Container constraints]
Containers have restrictions on controlling how the content displayed in each document is linked. These constraints (including linking fixed / variable content with containers) are the primary way for users to control the generation of multiple documents from a single document template.

制約の一つの例には、『このコンテナのコンテンツの高さは最大4インチです』がある。また、別の制約の例には、『コンテナのコンテンツの左エッジは、それぞれのドキュメントにおいて同じ水平位置で表示しなければならない』がある。ここに記述される内容は、GUIを使ってこのような制約を表示、編集するためのいろいろな方法である。   One example of a constraint is “the content height of this container is a maximum of 4 inches”. Another example of the constraint is “the left edge of the container contents must be displayed at the same horizontal position in each document”. The contents described here are various methods for displaying and editing such constraints using a GUI.

イメージがページ上に定義された場所を持っているように、固定コンテンツの配置を指定するコンテンツプレイスホルダーは、デジタル印刷技術でよく知られている。コンテナは、位置とサイズを持ち、それらは公知の技術で知られている手法で編集され、表示される。よって、以下の説明では、バリアブルデータプリントに特化した方法における表示・編集に焦点を合わせる。   Content placeholders that specify the placement of fixed content so that the image has a defined location on the page are well known in digital printing technology. A container has a position and a size, and they are edited and displayed by a method known in a known technique. Therefore, the following description focuses on display / editing in a method specialized for variable data printing.

コンテナを用いることにより、ユーザは、ドキュメントにおけるコンテンツのサイズ(描画サイズ)や位置を指定することが可能となる。いく種類ものドキュメントが一つのドキュメントテンプレートから生成されるので、コンテナに多数の可能性と制約を設定することになるが、これらの設定(指定)や表示のために所定のユーザインタフェースが利用される。   By using the container, the user can specify the size (drawing size) and position of the content in the document. Since many types of documents are generated from a single document template, many possibilities and restrictions are set in the container, and a predetermined user interface is used for setting (designating) and displaying these. .

1つのコンテナの辺は、関連付けられたコンテンツがドキュメント内で表示される仮想の境界線を定義する。従って、コンテナの左辺を論じることは、関連付けられたコンテンツが、各ドキュメントにおいて、表示可能であるエリア内の最も左の辺を論じることと同じである。同様に、コンテナの高さを論じることは、生成されたドキュメントで関連付けられたコンテンツの高さの制約を論じることとして理解される。本明細書では、ユーザインタフェース103を参照して、コンテナの辺あるいは大きさを論じるところで、この区別は明らかにされるであろう。   An edge of one container defines a virtual border where the associated content is displayed in the document. Thus, discussing the left side of the container is the same as discussing the leftmost side in the area where the associated content is displayable in each document. Similarly, discussing container height is understood as discussing content height constraints associated with the generated document. In the present specification, this distinction will be clarified when discussing the side or size of the container with reference to the user interface 103.

以下の記載において、コンテンツの表示を制限するために使われるある値を定義している用語『固定』は、全てのドキュメントで同じである。   In the following description, the term “fixed” that defines a value used to limit the display of content is the same for all documents.

(1)コンテナの幅が固定である場合、関連付けられたコンテンツに割り当てられる幅は、全てのドキュメントで同じになる。   (1) When the width of the container is fixed, the width assigned to the associated content is the same for all documents.

(2)コンテナの高さが固定である場合、関連付けられたコンテンツに割り当てられる高さは、全てのドキュメントで同じになる。   (2) If the height of the container is fixed, the height assigned to the associated content is the same for all documents.

(3)距離(リンクの長さ)が固定である場合、指定された距離は全てのドキュメントにおける制約となる。   (3) When the distance (link length) is fixed, the specified distance becomes a constraint in all documents.

(4)コンテナの左右辺が固定の場合、ページに関する辺の水平位置は全てのドキュメントで同じであることを意味している。但し、コンテナの高さあるいは垂直方向の位置は、変化する可能性がある。例えば、コンテナの左辺が固定である場合、関連付けられたコンテンツの表示位置は、全てのドキュメントでその左辺の位置は同じ水平位置となるが、あるドキュメントではページの上の方に表示され、他のドキュメントではページの下の方に表示される可能性がある。   (4) When the left and right sides of the container are fixed, it means that the horizontal position of the side regarding the page is the same in all documents. However, the height or vertical position of the container may change. For example, if the left side of a container is fixed, the display position of the associated content is the same horizontal position in all documents, but in some documents it is displayed at the top of the page, In the document, it may appear at the bottom of the page.

(5)コンテナの上下辺が固定の場合、ページにおける辺の垂直位置は全てのドキュメントで同じとなることを意味している。但し、コンテナの幅あるいは水平位置はドキュメントによって変わる可能性がある。   (5) When the upper and lower sides of the container are fixed, it means that the vertical position of the side on the page is the same for all documents. However, the width or horizontal position of the container may change depending on the document.

(6)コンテナの垂直軸は、コンテナの右辺と左辺に平行で、それらの中間に位置される仮想の垂直線である。もしコンテナの垂直軸が固定なら、当該コンテナの左右辺の水平位置の平均(即ち、左右の中央位置)は、すべてのドキュメントで同じとなる。この制約において、コンテナの幅は変化する可能性がある。しかしながら、左右辺が垂直軸にもっとも遠いものからもっともものまで、垂直軸は全てのドキュメントで同じ水平位置となる。尚、コンテナの高さと垂直位置はこの制約によって影響されない。   (6) The vertical axis of the container is a virtual vertical line that is parallel to the right side and the left side of the container and located between them. If the vertical axis of the container is fixed, the average of horizontal positions of the left and right sides of the container (that is, the center position of the left and right) is the same for all documents. Under this constraint, the width of the container can change. However, the vertical axis is the same horizontal position in all documents, with the left and right sides being the furthest to the most on the vertical axis. Note that the height and vertical position of the container are not affected by this restriction.

(7)同様に、もし水平軸が固定なら、コンテナの上辺と下辺の平均が同一の垂直方向位置に配置される。但し、コンテナの幅と水平位置はこの制約によって影響されることはない。   (7) Similarly, if the horizontal axis is fixed, the average of the upper and lower sides of the container is placed at the same vertical position. However, the width and horizontal position of the container are not affected by this restriction.

(8)水平軸と垂直軸の両方が固定である場合、コンテナの中心位置が固定されていることを意味する。但し、コンテナの幅・高さは、この制約によって影響されない。   (8) When both the horizontal axis and the vertical axis are fixed, it means that the center position of the container is fixed. However, the width and height of the container are not affected by this restriction.

(9)コンテナの角位置、コンテナの辺の中間位置、あるいはコンテナの中心位置が固定である場合、それぞれの位置はすべてのドキュメントで同じ場所となる。例えば、もしコンテナの左上角が固定なら、配置されたコンテナの左上位置が全てのドキュメントで同じになることを意味している。   (9) When the corner position of the container, the intermediate position of the container side, or the center position of the container is fixed, the respective positions are the same in all documents. For example, if the upper left corner of the container is fixed, it means that the upper left position of the arranged container is the same for all documents.

(10)垂直辺あるいは垂直軸は、ページの左辺もしくは右辺、あるいは左ページマージンもしくは右ページマージン、あるいは他の水平位置に関連付けされて固定することができる。同様に、水平辺あるいは水平軸はページの上辺もしくは下辺、あるいは上下ページマージン、あるいは他の垂直位置に関連付けされて固定することができる。   (10) The vertical side or the vertical axis can be fixed in association with the left or right side of the page, the left page margin or the right page margin, or another horizontal position. Similarly, the horizontal side or horizontal axis can be fixed in association with the top or bottom side of the page, the top and bottom page margins, or other vertical positions.

『固定』の反対は、コンテナの辺、軸、角、中間位置、あるいはドキュメント制約がドキュメント間(レコード間)で変化するかもしれないことを意味する『可変』である。例えば、ページ内では、バリアブルデータのサイズや量により、動的にレイアウトが変更されることを期待するが、特定のコンテナについては、大きさや位置を固定にしたり、また、ページの角のコンテナの四隅は固定にしたいということを所望する場合がある。   The opposite of “Fixed” is “Variable” which means that the sides, axes, corners, intermediate positions of the container, or document constraints may change between documents (between records). For example, in a page, it is expected that the layout will be changed dynamically depending on the size and amount of variable data, but for specific containers, the size and position may be fixed, or the corner of the page It may be desired that the four corners be fixed.

そのため、レイアウト編集アプリケーション121では、各コンテナ(部分領域)について、辺、軸、角、中間位置等を固定にするか、可変にするかを適宜設定できるようにしている。これにより、ユーザはドキュメントテンプレート180の基本レイアウトを決定する場合に、ユーザが所望とするように基本レイアウトを作成することができる。   For this reason, the layout editing application 121 can appropriately set whether to fix or change the sides, axes, corners, intermediate positions, and the like for each container (partial region). Thereby, when determining the basic layout of the document template 180, the user can create the basic layout as desired by the user.

[コンテナ表示・編集]
−−新規コンテナの作成方法−−
コンテナは、テキストコンテナとイメージコンテナの2種類で記述される。テキストコンテナはテキストおよび埋め込みのイメージを有する。イメージコンテナは、イメージだけを有する。
[Container display / edit]
-How to create a new container-
Containers are described in two types: text containers and image containers. A text container has text and an embedded image. An image container has only images.

図4で示されるように、新規のテキストコンテナあるいはイメージコンテナは、テキストコンテナツール404あるいはイメージコンテナツール405をマウス133でクリックし、ドキュメントテンプレート309上に四角形をドラッグすることによって、当該ドキュメントテンプレート309上に作成される。   As shown in FIG. 4, a new text container or image container is displayed on the document template 309 by clicking the text container tool 404 or the image container tool 405 with the mouse 133 and dragging a rectangle onto the document template 309. To be created.

あるいは、コンテナは、所望のテキストコンテナツール404あるいはイメージコンテナツール405をアクティブにした後に、ドキュメントテンプレート309上で単にクリックすることによって作成されるようにしてもよい。この場合、マウス133のクリック操作に応じてデフォルトサイズのコンテナがテンプレート上に挿入されるとともに、当該新規コンテナの寸法等を設定するためのダイアログボックスあるいは他のプロンプトが提供される。   Alternatively, the container may be created by simply clicking on the document template 309 after activating the desired text container tool 404 or image container tool 405. In this case, a default size container is inserted on the template in response to a click operation of the mouse 133, and a dialog box or other prompt for setting the dimensions of the new container is provided.

尚、コンテナサイズは、自動的に前もって定義されるようにしてもよいし、あるいは、計算されたスキーマによって作成・配置される等、種々の方法が考えられる。ここで、生成されたコンテナをマウス等の入力装置により選択し、右クリックでプロパティを指示する等の操作を行うことにより、コンテナのプロパティダイアログが表示され、コンテナの制約を設定することができる。   It should be noted that the container size may be automatically defined in advance, or various methods such as creation / arrangement based on a calculated schema are conceivable. Here, by selecting the generated container with an input device such as a mouse and performing an operation such as specifying a property by right-clicking, the container property dialog is displayed, and the constraints of the container can be set.

[コンテナの表示方法]
図5の(A)から(D)は、コンテナの辺に関する表示ルールを例示している。
[Container display method]
(A) to (D) of FIG. 5 exemplify display rules related to the sides of the container.

レイアウト編集アプリケーション121は、コンテナの辺の状態を表現するために、実線503(アイテム)あるいは点線504を用いて辺を表すとともに、アンカー506、507、509(コンテナの辺の近くに描画される線、形状、アイコン)、ハンドル502(移動、修正するために領域の辺上あるいは近傍に描画されるコントロール点)、スライダー413(辺の両側に描画される短い並行線、図4参照)、拡縮アイコン505、色を用いる。   In order to express the state of the side of the container, the layout editing application 121 represents the side using a solid line 503 (item) or a dotted line 504, and anchors 506, 507, and 509 (lines drawn near the side of the container) , Shape, icon), handle 502 (control points drawn on or near the side of the area for movement or correction), slider 413 (short parallel lines drawn on both sides of the side, see FIG. 4), scaling icon 505, using color.

図5の(A)〜(D)に示されるコンテナ表示方法のルールは、以下の通りである。   The rules for the container display method shown in FIGS. 5A to 5D are as follows.

(1)それぞれの辺を固定するために、実線で描画する。   (1) Draw with solid lines to fix each side.

(2)幅が固定の場合は、左と右の辺を実線で描画する。   (2) When the width is fixed, the left and right sides are drawn with solid lines.

(3)高さが固定の場合は、上と下の辺を実線で描画する。   (3) When the height is fixed, the upper and lower sides are drawn with solid lines.

(4)軸は描画しない。   (4) The axes are not drawn.

(5)(1)〜(3)によって描画されていないそれぞれの辺の近くには、拡縮アイコンが描画され、それらの辺を点線で描画する。   (5) An enlargement / reduction icon is drawn near each side not drawn by (1) to (3), and these sides are drawn by dotted lines.

(6)垂直辺と水平辺、あるいは垂直軸と水平軸のそれぞれのペアで、もし両者が固定なら、それらの交差点にアンカーが描画される。   (6) For each pair of vertical side and horizontal side, or vertical axis and horizontal axis, if both are fixed, an anchor is drawn at the intersection.

(7)それぞれの固定辺で、もし辺のどこにもアンカーが描画されていなければ、エッジの中央にスライダーが描画される。   (7) For each fixed side, if no anchor is drawn anywhere on the side, a slider is drawn at the center of the edge.

(8)垂直及び水平辺、あるいは垂直及び水平軸のそれぞれのペアで、アンカーやスライダーが描画されていない場合、それらの交差点にハンドルが描画される。   (8) If anchors and sliders are not drawn on each pair of vertical and horizontal sides or vertical and horizontal axes, a handle is drawn at the intersection of them.

ルール(1)、(2)、(3)で定義された線は、前述したように固定あるいは制限されているため実線で描画される。ルール(5)のように、可変の辺は、点線で描画される。ルール(6)、(7)、(8)で定義された固定された点は、アンカーを表示し、いくつかの固定された辺は、スライダーを表示し、他はハンドルを表示する。   The lines defined by the rules (1), (2), and (3) are drawn as solid lines because they are fixed or restricted as described above. As in rule (5), the variable side is drawn with a dotted line. Fixed points defined in rules (6), (7), (8) display anchors, some fixed edges display sliders, others display handles.

上記のルールは、ユーザにより後で設定された制約が優先される。つまり、後で別の制約が設定された場合、上記のルールが描画されるべき辺に影響すれば、実線や点線の描画内容が変更されることになる。例えば、もしコンテナがとても小さくアイコンがお互い重なるか、あるいは他の表示機能を不明瞭にするならば、アイコンは異なって、あるいは省略されて描画される可能性がある。   The above rules are given priority over constraints set later by the user. That is, when another constraint is set later, if the above rule affects the side to be drawn, the drawn content of the solid line or the dotted line is changed. For example, if the container is very small and the icons overlap each other or obscure other display functions, the icons may be drawn differently or omitted.

可変の辺が描画される場所は、コンテナのコンテンツに依存する。後に説明するように、ドキュメントテンプレートにコンテンツがマージされて、ユーザインタフェースで可視になることを意味する、『動的な校正処理』が使われる。代わりの実行は、すべてのドキュメントで平均化されるコンテナのコンテンツエリアで、あるいは、可変の辺がユーザインタフェースで、どこにレイアウトされるべきか決定するほかの手段で使われることができる。   The location where the variable side is drawn depends on the content of the container. As will be described later, “dynamic proofing” is used, which means that content is merged into a document template and made visible on the user interface. Alternative implementations can be used in the content area of a container that is averaged over all documents, or in other means of determining where variable edges should be laid out in the user interface.

これらのコンテンツ表現は、コンテナの各辺の状態を表示するグラフィック機能を提供する。その表現の解釈は、下記の通りである。   These content representations provide a graphic function that displays the state of each side of the container. The interpretation of the expression is as follows.

(1)図4の辺410のように、点線は、コンテナのコンテンツに依存してドキュメント内の辺の位置が変化することを意味する。   (1) Like the side 410 in FIG. 4, the dotted line means that the position of the side in the document changes depending on the contents of the container.

(2)実線の辺414は固定されている、あるいはコンテナの幅・高さが固定されている(コンテナ408では、4辺が実線であり、両方が固定されている)ために制限された辺であることを意味する。   (2) Sides that are limited because the side 414 of the solid line is fixed or the width and height of the container are fixed (in the container 408, four sides are solid lines and both are fixed) It means that.

(3)アンカーは、辺および軸が交差した場所が固定されていることを意味する。それゆえ、アンカー点は、すべてのドキュメントの水平、垂直位置で現れることになる。アンカーは当然固定される。図4のアイコン409は、辺414の交差する位置が固定されていることを意味しているアンカーアイコンの例である。   (3) An anchor means that a place where sides and axes intersect is fixed. Therefore, the anchor point appears at the horizontal and vertical positions of all documents. The anchor is naturally fixed. The icon 409 in FIG. 4 is an example of an anchor icon that means that the position where the sides 414 intersect is fixed.

(4)スライダーは、関係付けられた辺の長さが固定されているが、並行移動する可能性があることを意味する。例えば、図4で、スライダー413は、コンテナ408のコンテンツが、ドキュメント内で特定のダイアグラムで表される位置の、左あるいは右に表示されるかもしれない。   (4) The slider means that the associated side has a fixed length, but may move in parallel. For example, in FIG. 4, the slider 413 may be displayed to the left or right where the contents of the container 408 are at a position represented by a particular diagram in the document.

例えば、コンテナ408と関連付けられている(リンク設定されている)コンテナ407に流し込まれるデータの画像サイズもしくはテキスト量が少ない場合は、コンテナ407のサイズが小さくなるため、コンテナ408は、左方向にスライド(並行移動)してレイアウトされて表示されることになる。また、コンテナ407のサイズが大きくなる場合は、逆にコンテナ408は右方向にスライドしてレイアウトされることになる。   For example, when the image size or the amount of text of data to be flowed into the container 407 associated with the container 408 (linked) is small, the size of the container 407 is small, so the container 408 slides leftward. (Parallel movement) will be laid out and displayed. On the other hand, when the size of the container 407 increases, the container 408 is laid out by sliding in the right direction.

これらのアイコン・辺のいくつかあるいは全ては、どのツール、どのコンテナを、選択・ハイライトあるいはアクティブにするかによって、描画されたりされなかったりする。一般的に、コンテナの辺・アイコンはドキュメントテンプレートのデザインの手助けであるため、印刷物には描画されない。   Some or all of these icons / edges may or may not be drawn depending on which tool, which container is selected, highlighted or activated. In general, the sides and icons of a container are not drawn on a printed matter because they help to design a document template.

尚、前述したように、コンテナの幅・高さの基本値・最小値・最大値の基本パターンの設定は、副次的なダイアログウインドウに表示される。   As described above, the basic pattern settings of the basic value, minimum value, and maximum value of the width / height of the container are displayed in a secondary dialog window.

図5の(A)で、コンテナ501は、幅・高さの両方が固定されていない(可変である)。固定された辺503は実線で表現され、可変の辺504は点線で表現されている。拡縮アイコン505は、隣接する辺504が可変であることを示す。他の形態のインジケータを代わりにあるいは追加的に用いてもよい。   In FIG. 5A, the width and height of the container 501 are not fixed (variable). The fixed side 503 is represented by a solid line, and the variable side 504 is represented by a dotted line. The enlargement / reduction icon 505 indicates that the adjacent side 504 is variable. Other forms of indicators may be used instead or additionally.

図5の(B)において、コンテナ501は、幅・高さ両方が可変である。アンカーアイコン506が、交差している両方の辺503の角の位置が固定されていることを明示的に表すべく追加されている。   In FIG. 5B, the width and height of the container 501 are variable. An anchor icon 506 has been added to explicitly indicate that the corner positions of both intersecting sides 503 are fixed.

図5の(C)において、コンテナ501は、コンテナの幅及び高さの両方が可変であり、任意のアンカーアイコン507で示されるような中心点の周りを平等に広がるという状態を示している。即ち、コンテナ501は、アンカーアイコン507を中心に拡大あるいは縮小が可能である。ここでの拡大/縮小は、アンカーアイコン507の位置が常にコンテナ501の中心点となるようにレイアウト調整される。   In FIG. 5C, the container 501 shows a state in which both the width and height of the container are variable, and the container 501 spreads evenly around the center point as indicated by an arbitrary anchor icon 507. That is, the container 501 can be enlarged or reduced around the anchor icon 507. In this enlargement / reduction, the layout is adjusted so that the position of the anchor icon 507 always becomes the center point of the container 501.

図5の(D)において、コンテナ501は、上辺508が固定されているが、幅・高さの両方が可変である。上辺508の中心に位置付けられて示されるアンカーアイコン509は、固定されている。そしてコンテナ501の左辺・右辺(502)は、アンカーアイコン509を通って垂直な中心軸(垂直軸)の周りを、拡大・縮小する。   In FIG. 5D, the container 501 has a fixed upper side 508, but both width and height are variable. An anchor icon 509 positioned and shown at the center of the upper side 508 is fixed. The left and right sides (502) of the container 501 are enlarged / reduced around the vertical central axis (vertical axis) through the anchor icon 509.

[リンク]
リンクは、コンテナとコンテナの関連を示している。関連とは、コンテナ間の距離を示しており、リンクによって関連付けられたコンテナ同士は、互いのレイアウト変更の影響を受けてレイアウト計算を実行する。例えば、上述のように、図4のリンク412は、コンテナ407とコンテナ408とを関連づけている。リンクの設定方法および、リンクで関連付けられたコンテナのレイアウト計算方法については、後述する。
[Link]
The link indicates the relationship between containers. “Relation” indicates a distance between containers, and containers associated by a link are subjected to layout calculation under the influence of mutual layout changes. For example, as described above, the link 412 in FIG. 4 associates the container 407 and the container 408 with each other. A link setting method and a layout calculation method for containers associated with the link will be described later.

[リンクの設定方法]
次に、コンテナ同士を関連付けるためのリンクの設定について説明する。
[Link setting method]
Next, setting of a link for associating containers will be described.

図6は本発明の実施形態1のリンクの設定処理を示すフローチャートである。また、図7は本発明の実施形態1のリンク設定時のユーザインタフェースの遷移例を示す図である。以下、図6及び図7を用いてコンテナにリンクを設定する方法について説明する。

まず、ステップS601において、レイアウト編集アプリケーション121は、ユーザインタフェースのワークエリア306上に編集対象の選択されたドキュメントテンプレートを表示する。リンクを設定するためには、リンクを設定するためのコンテナ(最低2つ)がドキュメントテンプレート上に作成されている必要がある。図7の(A)〜(C)では、ステップS601で、2つのコンテナを作成してリンクを設定する場合のユーザインタフェースの遷移例を示している。
FIG. 6 is a flowchart showing link setting processing according to the first embodiment of the present invention. FIG. 7 is a diagram showing a transition example of the user interface at the time of link setting according to the first embodiment of the present invention. Hereinafter, a method for setting a link in a container will be described with reference to FIGS. 6 and 7.

First, in step S601, the layout editing application 121 displays the selected document template to be edited on the work area 306 of the user interface. In order to set a link, containers (at least two) for setting a link need to be created on the document template. 7A to 7C show examples of user interface transitions when two containers are created and links are set in step S601.

次に、ステップS602において、レイアウト編集アプリケーション121は、リンクツールを選択状態にする(図4のボタン406をクリックすることにより選択状態となる)。   Next, in step S602, the layout editing application 121 selects the link tool (by clicking the button 406 in FIG. 4, the selected state is selected).

図7の(A)において、コンテナ701と702はすべて固定されている辺で構成されているものとする。また、703と704は、図4の409と同じであり、アンカーを意味する。705は、マウスポインタを意味している。   In FIG. 7A, it is assumed that the containers 701 and 702 are all composed of fixed sides. 703 and 704 are the same as 409 in FIG. 4 and mean anchors. Reference numeral 705 denotes a mouse pointer.

さて、リンクツールが選択状態となっている間に、ユーザはリンクを設定する2つのコンテナのうちの一方(コンテナ701とする)をクリックして選択する。この操作に応じて、レイアウト編集アプリケーション121のユーザインタフェース103は、第1のコンテナが選択されたことを認識し(ステップS603)、選択されたコンテナを特定する情報を保持する。   Now, while the link tool is in the selected state, the user clicks and selects one of the two containers for setting a link (referred to as container 701). In response to this operation, the user interface 103 of the layout editing application 121 recognizes that the first container has been selected (step S603), and holds information for specifying the selected container.

また、以降のマウスカーソルの移動に応じた軌跡を画面に表示するようにする。例えば、図7の(B)における線分706は、(A)の状態におけるクリック位置と現在のマウスポインタ705の位置とを結んだ線を示しており、このUIによりどの位置にリンクが設定されるのかをユーザに明示することができる。   Further, the locus corresponding to the subsequent movement of the mouse cursor is displayed on the screen. For example, a line segment 706 in FIG. 7B indicates a line connecting the click position in the state of FIG. 7A and the current position of the mouse pointer 705, and a link is set at which position by this UI. Can be clearly indicated to the user.

次に、ユーザは、図7の(B)で示されるように、もう一方のコンテナ(コンテナ702)までマウスポインタ705を移動してクリックする。この操作に応じて、ユーザインタフェース103は第2のコンテナが選択されたことを認識し(ステップS604)、選択されたコンテナを特定する情報を保持する。   Next, as shown in FIG. 7B, the user moves the mouse pointer 705 to the other container (container 702) and clicks it. In response to this operation, the user interface 103 recognizes that the second container has been selected (step S604), and holds information for specifying the selected container.

レイアウト編集アプリケーション121は、ステップS603で選択された第1のコンテナと、ステップS604で選択された第2のコンテナとの間にリンクを設定する。   The layout editing application 121 sets a link between the first container selected in step S603 and the second container selected in step S604.

こうして、ユーザにより選択された2つのコンテナ701、702の間にリンクが設定されると、リンク707を表示する(ステップS605)。更に、このリンク設定を受けて、コンテナの表示状態は、図7の(C)の状態になる(ステップS606)。   Thus, when a link is set between the two containers 701 and 702 selected by the user, the link 707 is displayed (step S605). Further, in response to this link setting, the display state of the container becomes the state shown in FIG. 7C (step S606).

即ち、リンクが設定されたことにより、コンテナのUIが自動的に変更される。ここでは、リンクによって関連付けられた辺が可変となり、点線で示されている状態を示している。つまり、図7の(C)において、708は点線で示されている辺であり、前述した通り可変の辺を示すものである。   In other words, the container UI is automatically changed by setting the link. Here, the side associated by the link is variable and shows a state indicated by a dotted line. That is, in FIG. 7C, reference numeral 708 denotes a side indicated by a dotted line, which indicates a variable side as described above.

尚、図7の(C)のようなコンテナの辺の状態の変化は、リンクを設定したことによりコンテナの辺を可変にする必要が生じたことにより自動的に実行されたものであり、リンクを設定したにもかかわらず全ての辺が固定であるという矛盾の発生を防ぐことを目的としている。また、709は図5の505と同じで、リンクを設定したことにより、コンテナが変化できる方向をユーザに視覚的に示したマークである。また、図7の(C)の例では、左のコンテナの右辺と右のコンテナの左辺が可変な状態へ変化したが、これは一例であり、例えば、右コンテナが図4のスライダー413を持つ設定に変化してもかまわない。   It should be noted that the change in the state of the container side as shown in FIG. 7C is automatically executed because it is necessary to make the container side variable by setting the link. The purpose is to prevent the occurrence of contradiction that all sides are fixed despite the setting. 709 is the same as 505 in FIG. 5 and is a mark that visually indicates to the user the direction in which the container can be changed by setting a link. Further, in the example of FIG. 7C, the right side of the left container and the left side of the right container are changed to a variable state, but this is an example. For example, the right container has the slider 413 of FIG. It does not matter if the setting changes.

<レイアウトエンジンによるレイアウト計算処理>
[レイアウト計算方法(全体フロー)]
実施形態1のレイアウト編集アプリケーション121は、ユーザインタフェース103を用いてコンテナを作成し、そのコンテナ間に関連付け(リンク設定)を行ってレイアウトを作成するレイアウトモードと、レイアウトエンジン105により、作成したレイアウトにデータソースの各レコードを挿入して、実際にレコードが挿入された後のレイアウト結果をプレビューするプレビューモードに分けられる。
<Layout calculation processing by layout engine>
[Layout calculation method (overall flow)]
The layout editing application 121 according to the first embodiment creates a container by using the user interface 103, creates a layout by creating a layout by creating an association (link setting) between the containers, and the layout engine 105. Each record of the data source is inserted, and it is divided into a preview mode for previewing a layout result after the record is actually inserted.

このプレビューモードにおいて、実際のレコードが挿入され、レイアウトを計算する。但し、プレビューモードは、表示上でのレイアウト計算である。実際に印刷する場合においても、レイアウトエンジン105が各コンテナにデータを挿入してレイアウトを計算するが、その際の計算方法はプレビューモードと同じである。   In this preview mode, the actual record is inserted and the layout is calculated. However, the preview mode is a layout calculation on the display. Even in the actual printing, the layout engine 105 calculates the layout by inserting data into each container, and the calculation method at that time is the same as the preview mode.

図8は本発明の実施形態1のレイアウト編集アプリケーション121におけるレイアウト計算処理を示すフローチャートである。
尚、この制御フローは、ドキュメントテンプレートに対して、データベース119から各レコードのコンテンツを流し込み(マージ)、各コンテナ属性と、各コンテンツの量・サイズに応じて、動的にレイアウト計算を行う手法を説明するものである。また、このフローチャートは、レイアウト編集アプリケーション121のレイアウトエンジン105が、プロセッサ135及びメモリ136を用いて動作する制御となる。
FIG. 8 is a flowchart showing layout calculation processing in the layout editing application 121 according to the first embodiment of the present invention.
Note that this control flow is a method in which the content of each record is poured (merged) from the database 119 into the document template, and the layout calculation is dynamically performed according to each container attribute and the amount / size of each content. Explain. Also, this flowchart is a control in which the layout engine 105 of the layout editing application 121 operates using the processor 135 and the memory 136.

まず、レイアウト編集アプリケーション121は、プレビューモードが選択されると、本処理を開始する(ステップS801)。   First, when the preview mode is selected, the layout editing application 121 starts this processing (step S801).

尚、前述した図6の制御は、自動レイアウトシステムで、少なくとも2つのコンテナを作成して、それらのコンテナ間に関連付けを行うことでドキュメントテンプレートのレイアウトを作成するレイアウトモードにおける動作である。   Note that the control in FIG. 6 described above is an operation in a layout mode in which at least two containers are created in the automatic layout system, and a layout of the document template is created by associating these containers.

これに対し、図8の制御は、図6で作成したレイアウトにレコードを挿入して、実際にレコードが挿入された後のレイアウト結果をプレビューするプレビューモードが実行されることにより開始される。そこで、ステップS801では、まずプレビューモードを選択し、次いで、実際のレコードを挿入してレイアウトを計算する。但し、プレビューモードは、表示上でのレイアウト計算であって、実際に印刷する場合においても、レコードを挿入してレイアウトを再度計算する。その際の計算方法も同じである。   On the other hand, the control in FIG. 8 is started by executing a preview mode in which a record is inserted into the layout created in FIG. 6 and the layout result after the record is actually inserted is executed. In step S801, the preview mode is first selected, and then the actual record is inserted to calculate the layout. However, the preview mode is a layout calculation on the display, and even when printing is actually performed, a record is inserted and the layout is calculated again. The calculation method at that time is the same.

そして、プレビューモードになった後、レイアウト編集アプリケーション121は、プレビューするレコードを選択して、選択されたレコードの各フィールドデータを各コンテナに挿入する(ステップS802)。尚、プレビューするレコードは、ユーザから特定のレコードが指定された場合はその指定されたレコードとなり、指定がない場合は、1レコード目から順次計算が行なわれる。   After entering the preview mode, the layout editing application 121 selects a record to be previewed and inserts each field data of the selected record into each container (step S802). The record to be previewed is the designated record when a specific record is designated by the user, and when there is no designation, the calculation is sequentially performed from the first record.

各コンテナへフィールドデータを挿入すると、レイアウト編集アプリケーション121は、そのレコードをレイアウトするためのレイアウト計算を行う(ステップS803)。尚、ステップS803におけるレイアウト計算の詳細については、図9を用いて後述する。   When field data is inserted into each container, the layout editing application 121 performs layout calculation for laying out the record (step S803). Details of the layout calculation in step S803 will be described later with reference to FIG.

そして、レイアウト編集アプリケーション121は、ステップS803の処理で計算されたレイアウトを表示(プレビュー)する(ステップS804)。レイアウト編集アプリケーション121は、他のレコードについてもプレビューを行うかどうかをユーザの指示により判定する(ステップS805)。ステップS805で、他のレコードについてプレビューを行う必要がない場合(ステップS805でNO)、プレビューモードを終了する(ステップS807)。   The layout editing application 121 displays (previews) the layout calculated in step S803 (step S804). The layout editing application 121 determines whether or not to preview other records based on a user instruction (step S805). If it is not necessary to preview another record in step S805 (NO in step S805), the preview mode is terminated (step S807).

一方、他のレコードについてプレビューを行う場合(ステップS805でYES)、レイアウト編集アプリケーション121は、他のレコードを選択して再度レイアウト計算を行い、プレビューを行う(ステップS806)。   On the other hand, when previewing another record (YES in step S805), the layout editing application 121 selects another record, performs layout calculation again, and performs preview (step S806).

尚、プレビューモードでなく印刷モードにおいては、印刷するレコード全てについて順に、上述した手順と同様にレイアウトの計算を行う。従って、ステップS804は存在せず、ステップS805は印刷するレコードを全て処理したかの判断を行う。そして、ステップS807で、レイアウト計算された結果を、描画出力して出力し、プリンタドライバを用いて印刷データとして生成し、プリンタに印刷データが出力される。この場合、全てのレコード(印刷対象の指定された全レコード)について印刷データの出力が終了した時点で、本処理を終了することになる。   In the print mode, not the preview mode, the layout is calculated in the same manner as the above-described procedure in order for all the records to be printed. Therefore, step S804 does not exist, and step S805 determines whether all records to be printed have been processed. In step S807, the result of layout calculation is drawn out and output, generated as print data using a printer driver, and the print data is output to the printer. In this case, this process is terminated when the output of the print data is completed for all the records (all the records designated to be printed).

[レイアウト計算方法(詳細)]
次に、上記ステップS803のレイアウト計算の詳細について、図9を用いて説明する。
[Layout Calculation Method (Details)]
Next, details of the layout calculation in step S803 will be described with reference to FIG.

図9は本発明の実施形態1のレイアウト計算処理の詳細を示すフローチャートである。   FIG. 9 is a flowchart showing details of layout calculation processing according to the first embodiment of the present invention.

尚、図9は、レイアウト計算処理についてのみ説明するためのフローチャートであるため、バリアブルデータプリントの1レコードの印刷/プレビュー時のレイアウト計算処理に相当する。複数レコードの場合は、下記の処理が繰り返されることになる。   FIG. 9 is a flowchart for explaining only the layout calculation process, and corresponds to the layout calculation process at the time of printing / previewing one record of variable data printing. In the case of multiple records, the following processing is repeated.

まず、レイアウト編集アプリケーション121は、レイアウトを計算するコンテナの集合を設定する(ステップS901)。レイアウト計算は、関連付けられたコンテナを一つの集合として計算を行う。   First, the layout editing application 121 sets a set of containers for calculating a layout (step S901). In the layout calculation, the associated containers are calculated as one set.

例えば、図10を参照すると、ページ上に4つのコンテナがレイアウトされており、各コンテナに関連付けが設定されている。この場合、コンテナAとコンテナB、そしてコンテナCとコンテナDがリンクによって関連付けされている。   For example, referring to FIG. 10, four containers are laid out on the page, and an association is set for each container. In this case, container A and container B, and container C and container D are associated by a link.

従って、コンテナA、Bが集合1、コンテナC、Dが集合2となる。即ち、リンクによって接続されたコンテナ群を一つの集合として特定する。前述したように、1101はアンカー、1102は固定された辺、1103はコントローラ、1104は可変の辺の変化方向を示している矢印、1105は可変の辺、1106はリンク、そして、1107はスライダーを示している。   Therefore, containers A and B are set 1, and containers C and D are set 2. That is, the container group connected by the link is specified as one set. As described above, 1101 is an anchor, 1102 is a fixed side, 1103 is a controller, 1104 is an arrow indicating a change direction of a variable side, 1105 is a variable side, 1106 is a link, and 1107 is a slider. Show.

次に、レイアウト編集アプリケーション121は、ステップS901で設定したコンテナの集合から、レイアウトを計算するために一つを選択する(ステップS902)。そして、選択したコンテナの集合について、レイアウトの計算を行う。   Next, the layout editing application 121 selects one for calculating the layout from the set of containers set in step S901 (step S902). Then, the layout of the selected set of containers is calculated.

まず、選択したコンテナの集合に含まれる可変要素である2つのコンテナA、Bについて、流し込まれるデータの画像サイズもしくはテキスト量から各コンテナがなにも制約を受けない場合の大きさを計算する。   First, for the two containers A and B that are variable elements included in the set of selected containers, the size when each container is not subject to any restrictions is calculated from the image size or text amount of the data to be inserted.

具体的には、レイアウト編集アプリケーション121は、コンテナAが画像データ用コンテナであるか、テキスト用コンテナであるかを判定する。この判定は、前述したように、コンテナに対して設定されている属性により判定できる。   Specifically, the layout editing application 121 determines whether the container A is an image data container or a text container. This determination can be made based on the attribute set for the container as described above.

次に、レイアウト編集アプリケーション121は、コンテナAに流し込まれるデータを読み込み、コンテナAが画像データ用コンテナである場合は、その画像データのサイズ(幅、高さのピクセル数、および解像度)がコンテナAの制約を受けない場合の大きさになる。   Next, the layout editing application 121 reads the data to be poured into the container A. When the container A is an image data container, the size (number of pixels of width, height, and resolution) of the image data is the container A. This is the size when not subject to the restrictions.

また、コンテナAがテキスト用コンテナである場合は、そのテキストデータも文字数と、コンテナAのコンテナ属性で指定されているフォントタイプ、フォントサイズ、文字ピッチ、行ピッチなどの文字属性に基づいて、コンテナAに流し込まれるべきデータ量が計算できる。   When the container A is a text container, the text data is also stored on the basis of the number of characters and character attributes such as the font type, font size, character pitch, and line pitch specified in the container A container attribute. The amount of data to be fed into A can be calculated.

ここで、テキスト用コンテナの場合は、コンテナAの縦横比が制約を考えないと決定できないため、制約を当てはめる。図10の例では、コンテナAは、左上および左下の角にアンカーが設定されているため、高さ(縦方向)が固定となる。よって、レイアウト編集アプリケーション121は、コンテナAの基本パターンとして設定されている幅(横方向)のコンテナAに、計算したデータ量(テキスト量)の文字を流し込めるか否かを判定する。   Here, in the case of a text container, since the aspect ratio of the container A cannot be determined without considering the constraint, the constraint is applied. In the example of FIG. 10, since the container A has anchors set at the upper left and lower left corners, the height (vertical direction) is fixed. Therefore, the layout editing application 121 determines whether or not characters of the calculated data amount (text amount) can be poured into the container A having the width (horizontal direction) set as the basic pattern of the container A.

すべての文字を流し込めると判定された場合は、コンテナAは、基本パターンで設定されているサイズ(幅、高さ)に変更はない。また、すべての文字を流し込めないと判定された場合は、コンテナAは、アンカー設定により高さが固定であるため、横方向に伸びることになる。ここで、レイアウト編集アプリケーション121は、コンテナAの幅がどれだけになると、計算したデータ量の文字を流し込めるかを計算し、コンテナAのサイズを算出する。   If it is determined that all characters can be poured, the size of the container A set in the basic pattern (width and height) is not changed. If it is determined that all the characters cannot be poured, the container A is fixed in height due to the anchor setting, and thus extends in the horizontal direction. Here, the layout editing application 121 calculates the size of the container A by calculating how much the width of the container A can be filled with characters of the calculated data amount.

次に、レイアウト編集アプリケーション121は、レイアウトされるコンテナのサイズが、実際のコンテンツのサイズとできる限り差が少なくなるように、レイアウトの最適化を行う(ステップS903)。   Next, the layout editing application 121 optimizes the layout so that the size of the container to be laid out is as small as possible with the actual content size (step S903).

レイアウトの最適化は、動的にサイズを変化することが可能なように関連付けられたコンテナにおいて、それぞれに挿入されるコンテンツのサイズとレイアウトされるサイズとの差が、できる限り同じになるように行われる。   Layout optimization is such that the difference between the size of the inserted content and the size of the layout is the same as much as possible in the associated container so that it can be dynamically resized. Done.

レイアウト編集アプリケーション121は、ステップS902で算出したコンテナの集合のサイズ、つまり、コンテナAとコンテナBとリンク1106(ここでは固定リンク)の合計サイズを計算し、この合計サイズと、基本レイアウトにおける当該コンテナの集合のサイズ(図10の例ではコンテナAとコンテナBのそれぞれのアンカーアイコンの距離に相当する)との差を計算する。コンテナAやコンテナBの幅が大きくなると、前ステップで計算されている場合は、差分値が発生する。レイアウト編集アプリケーション121は、この差分値をコンテナの集合の各要素に均等に分配することでレイアウト調整を行う。   The layout editing application 121 calculates the size of the set of containers calculated in step S902, that is, the total size of the container A, the container B, and the link 1106 (here, a fixed link), and the total size and the container in the basic layout. Of the set (corresponding to the distance between the anchor icons of container A and container B in the example of FIG. 10). When the width of the container A or the container B is increased, a difference value is generated when the calculation is performed in the previous step. The layout editing application 121 adjusts the layout by equally distributing the difference value to each element of the set of containers.

次に、レイアウト編集アプリケーション121は、レイアウトの最適化を行い、そのレイアウトがルールに違反しているか否かを判定する(ステップS904)。ルールに違反していない場合(ステップS904でYES)、ステップS905に進む。一方、ルールに違反している場合(ステップS904でNO)、ステップS903に戻り、再度ルールを違反しないように計算をする。   Next, the layout editing application 121 optimizes the layout and determines whether the layout violates the rule (step S904). If the rule is not violated (YES in step S904), the process proceeds to step S905. On the other hand, if the rule is violated (NO in step S904), the process returns to step S903 to perform calculation so as not to violate the rule again.

ここでルールとは、レイアウト作成時にユーザによって設定される制限であり、コンテナのサイズの可変範囲や位置の制限、可変リンクの場合はリンクの長さの変化の制限などである。ルールを違反しないようにレイアウトが計算されたら、その集合のレイアウトは完成される。   Here, the rule is a restriction set by the user at the time of creating the layout, such as a variable range or position of the container size, and a restriction on a change in the link length in the case of a variable link. Once the layout is calculated so that it does not violate the rules, the set layout is completed.

そして、ステップS902〜ステップS904の処理をページ上のすべての集合について施し、レイアウト編集アプリケーション121は、ページ全体のレイアウトの計算が終了したか否かを判定する(ステップS905)。計算が終了していない場合(ステップS905でNO)、ステップS902に戻る。一方、計算が終了している場合(ステップS905でYES)、処理を終了する。   Then, the processes in steps S902 to S904 are performed on all the sets on the page, and the layout editing application 121 determines whether or not the calculation of the layout of the entire page has been completed (step S905). If the calculation has not ended (NO in step S905), the process returns to step S902. On the other hand, if the calculation has ended (YES in step S905), the process ends.

次に、上述のレイアウト計算時のUI例について、図11を用いて説明する。   Next, an example UI at the time of the layout calculation described above will be described with reference to FIG.

図11は本発明の実施形態1のレイアウト計算処理におけるユーザインタフェースの一例を示す図である。   FIG. 11 is a diagram showing an example of a user interface in the layout calculation process according to the first embodiment of the present invention.

図11の(A)は、あるレコードが挿入されレイアウトが決定されている状態を表している。1001と1002はアンカー、1003と1004は固定された辺、1005は可変の辺、1006は可変の辺の変化方向を示している矢印、1008はリンクをそれぞれ示している。この状態において、レコードを変更し、異なったサイズのコンテンツを挿入する。   FIG. 11A shows a state in which a certain record is inserted and a layout is determined. 1001 and 1002 are anchors, 1003 and 1004 are fixed sides, 1005 is a variable side, 1006 is an arrow indicating the change direction of the variable side, and 1008 is a link. In this state, the record is changed and contents of different sizes are inserted.

図11の(B)は、図11の(A)の状態に新しいコンテンツのサイズを重ねて示している。1009はそれぞれのコンテナに挿入されるコンテンツのサイズを表している。そして、レイアウト計算が行われる。   FIG. 11B shows the new content size superimposed on the state of FIG. Reference numeral 1009 denotes the size of content inserted in each container. Then, layout calculation is performed.

図11の(C)は、レイアウト計算された結果を示している。計算後の各コンテナのサイズは、実際に挿入されるコンテンツのサイズと同等に差異があるように計算され、且つ前述したルールを違反しないように計算される。図11の(C)で示されるように、図11の(B)で示した挿入されるコンテンツサイズ1009と計算後のコンテンツサイズ(010は、双方において同等な差異がある。   FIG. 11C shows the result of layout calculation. The size of each container after calculation is calculated so that there is a difference equivalent to the size of the content that is actually inserted, and is calculated so as not to violate the rules described above. As shown in FIG. 11C, the inserted content size 1009 shown in FIG. 11B and the calculated content size (010) are equivalent to each other.

[マルチレコード]
マルチレコードについて、概要を説明する。
[Multi-record]
An outline of multi-record will be described.

図12は本発明の実施形態1のマルチレコードとそのレイアウト方法の概要を示す図である。   FIG. 12 is a diagram showing an outline of the multi-record and its layout method according to the first embodiment of the present invention.

1201はドキュメント、1202はページ、1203はサブテンプレート、1204はデータベースを示している。データベース1204では、No1〜7のレコードが管理されている。1レコード1ドキュメントのバリアブルプリントでは、7つレコードがあるので、この場合、7ドキュメントが作成される。   Reference numeral 1201 denotes a document, 1202 denotes a page, 1203 denotes a sub template, and 1204 denotes a database. In the database 1204, records Nos. 1 to 7 are managed. In the variable print of one record and one document, there are seven records. In this case, seven documents are created.

一方、多レコード1ドキュメントのマルチレコードをサポートするバリアブルプリントでは、次のような処理を行う。   On the other hand, the following processing is performed in variable print that supports multiple records of multiple records and one document.

まず、マルチレコードを指定するカラムをユーザが任意に指定する、この例では、フィールド名「Name」が指定されたものとする。この場合、そのフィールド名が同じレコードは、1ドキュメントにレイアウトされるレコードであると認識する。この例では、No1〜4のレコードは「Name」が「Tom」であるため、これらのレコードのデータは、同じドキュメント上にレイアウトされる。また、No5〜7のレコードは「Name」がNancyであるため、これらのレコードのデータは、同じドキュメント上にレイアウトされる。   First, the user arbitrarily designates a column for designating a multi-record. In this example, it is assumed that a field name “Name” is designated. In this case, a record with the same field name is recognized as a record laid out in one document. In this example, since “No.” is “Tom” in the records No. 1 to No. 4, the data of these records are laid out on the same document. In addition, since the records of Nos. 5 to 7 have “Name” of “Nancy”, the data of these records are laid out on the same document.

次に、実施形態1の特徴的な処理について説明する。   Next, characteristic processing of the first embodiment will be described.

特に、実施形態1では、コンテナにコンテンツを流し込む場合に、そのコンテンツ中に存在する余白を、設定に基づいて、削除する余白削除処理を実行する。   In particular, in the first embodiment, when content is poured into a container, a margin deletion process is performed to delete a margin existing in the content based on the setting.

尚、余白とは、コンテンツを構成する主な対象物(被写体あるいは関心領域)以外の部分であり、通常は、その対象物の背景部分となる。あるいは、コンテンツ中において、それを配置するドキュメントの色と同一あるいは類似の色を有する部分である。   Note that the margin is a portion other than the main object (subject or region of interest) constituting the content, and is usually the background portion of the object. Alternatively, the content is a portion having the same or similar color as the color of the document in which the content is arranged.

以下、この余白削除処理を含む、実施形態1のバリアブルプリントシステムが実行する処理について、図13及び図14を用いて説明する。   Hereinafter, processing executed by the variable print system according to the first embodiment including the margin deletion processing will be described with reference to FIGS. 13 and 14.

図13は本発明の実施形態1のバリアブルプリントシステムが実行する処理を示すフローチャートである。図14は本発明の実施形態1のバリアブルプリントシステムが実行する処理の具体例を説明するための図である。   FIG. 13 is a flowchart showing processing executed by the variable print system according to the first embodiment of the present invention. FIG. 14 is a diagram for explaining a specific example of processing executed by the variable print system according to the first embodiment of the present invention.

まず、操作者は、コンテナをページ上に配置し、それらをリンクで結合する(ステップS1401)。図14の(1)の場合、ページ1300に対し、コンテナ1301及び1302を配置し、それらをリンク1310で結合する。   First, the operator arranges containers on a page and combines them with a link (step S1401). In the case of (1) in FIG. 14, containers 1301 and 1302 are arranged on the page 1300 and are connected by a link 1310.

次に、コンテナに対する「余白削除設定」操作の有無を判定する(ステップS1402)。「余白削除設定」操作がない場合(ステップS1402でNO)、ステップS1405に進む。一方、「余白削除設定」操作がある場合(ステップS1402でYES)、ステップS1403に進む。図14の(1)の場合、コンテナ1301及び1302それぞれに対し、「余白削除設定」操作をする。   Next, it is determined whether or not a “margin deletion setting” operation has been performed on the container (step S1402). If there is no “margin deletion setting” operation (NO in step S1402), the process advances to step S1405. On the other hand, if there is a “margin deletion setting” operation (YES in step S1402), the process proceeds to step S1403. In the case of (1) in FIG. 14, a “margin deletion setting” operation is performed on each of the containers 1301 and 1302.

尚、操作者は、例えば、マウス133の操作によって、「余白削除設定」対象のコンテナを選択し、「余白削除設定」を実行することが可能である。選択及び設定方法としては、例えば、マウス133の右クリックによって現れるコンテキストメニューで、「余白削除設定プロパティ」を選択し、設定する。   Note that the operator can select a “margin deletion setting” target container and execute “margin deletion setting” by operating the mouse 133, for example. As a selection and setting method, for example, “margin deletion setting property” is selected and set in the context menu that appears when the mouse 133 is right-clicked.

ステップS1402で、「余白削除設定」操作があると、レイアウト編集アプリケーション121は、余白削除設定プロパティダイアログを表示する(ステップS1403)。   If there is a “margin deletion setting” operation in step S1402, the layout editing application 121 displays a margin deletion setting property dialog (step S1403).

ここで、余白削除設定プロパティダイアログの一例について、図15を用いて説明する。   Here, an example of the margin deletion setting property dialog will be described with reference to FIG.

図15は本発明の実施形態1の余白削除設定プロパティダイアログの一例を示す図である。   FIG. 15 is a diagram showing an example of a margin deletion setting property dialog according to the first embodiment of the present invention.

図15に示すように、余白削除設定プロパティダイアログ1500では、余白削除処理の処理基準として、「コンテンツサイズで動的レイアウト」と「コンテンツ内の対象物の矩形サイズで動的レイアウト」のいずれかを選択するためのラジオボタンが構成されている。   As shown in FIG. 15, in the margin deletion setting property dialog 1500, either “dynamic layout with content size” or “dynamic layout with rectangular size of target object in content” is selected as the processing criterion for the margin deletion processing. Radio buttons for selection are configured.

そして、操作者が、例えば、余白削除設定プロパティダイアログ1500の「コンテンツ内の対象物の矩形サイズで動的レイアウト」ラジオボタンを選択し、余白削除設定プロパティダイアログ1500を閉じると、その選択された内容に基づいて、各種設定をページに反映する(この場合、処理対象のコンテナに対して余白削除属性をONとして保存する)(ステップS1404)。   Then, for example, when the operator selects the “dynamic layout with the rectangular size of the object in the content” radio button in the margin deletion setting property dialog 1500 and closes the margin deletion setting property dialog 1500, the selected content is displayed. Based on the above, various settings are reflected on the page (in this case, the margin deletion attribute is saved as ON for the container to be processed) (step S1404).

ここまでが、コンテナに対する余白削除設定処理となる。その後、操作者が他のコンテナにも余白削除設定することを望む可能性があるので、更なるコンテナに対する「余白削除設定」操作の有無を判定する(ステップS1405)。「余白削除設定」操作がある場合(ステップS1405でYES)、ステップS1403に戻り、同様の処理を実行する。一方、「余白削除設定」操作がない場合(ステップS1405でNO)、ステップS1406に進む。   Up to this point is the margin deletion setting process for the container. After that, since there is a possibility that the operator desires to set the margin deletion for another container, it is determined whether or not a “margin deletion setting” operation is performed for a further container (step S1405). If there is a “margin deletion setting” operation (YES in step S1405), the process returns to step S1403 and the same processing is executed. On the other hand, if there is no “margin deletion setting” operation (NO in step S1405), the process advances to step S1406.

次に、ドキュメントのプレビュー操作の有無を判定する(ステップS1406)。プレビュー操作がない場合(ステップS1406でNO)、処理を終了する。一方、プレビュー操作がある場合(ステップS1406でYES)、ステップS1407に進む。   Next, the presence / absence of a document preview operation is determined (step S1406). If there is no preview operation (NO in step S1406), the process ends. On the other hand, if there is a preview operation (YES in step S1406), the process advances to step S1407.

このステップS1407以降の処理がプレビュー処理となる。   The process after step S1407 is a preview process.

まず、レイアウト編集アプリケーション121は、データベースからコンテンツを取得する(ステップS1407)。図14の(2)の場合、コンテンツ1303及び1304を取得する。   First, the layout editing application 121 acquires content from the database (step S1407). In the case of (2) in FIG. 14, the contents 1303 and 1304 are acquired.

次に、レイアウト編集アプリケーション121は、各コンテナに取得したコンテンツを流し込む処理を実行する(ステップS1408)。図14の(2)の場合、コンテナ1301にコンテンツ1303、コンテンツ1302にコンテンツ1304を流し込む。   Next, the layout editing application 121 executes processing for pouring the acquired content into each container (step S1408). In the case of (2) in FIG. 14, the content 1303 is poured into the container 1301 and the content 1304 is poured into the content 1302.

次に、レイアウト編集アプリケーション121は、処理対象のコンテナに「余白削除設定」がなされているか否かを判定する(ステップS1409)。「余白削除設定」がなされていない場合(ステップS1409でNO)、ステップS1411に進む。一方、「余白削除設定」がなされている場合(ステップS1409でYES)、ステップS1410に進む。   Next, the layout editing application 121 determines whether or not “margin deletion setting” has been made for the processing target container (step S1409). If “margin deletion setting” has not been made (NO in step S1409), the process advances to step S1411. On the other hand, if “margin deletion setting” has been made (YES in step S1409), the process advances to step S1410.

「余白削除設定」がなされている場合、余白削除処理を実行する(ステップS1410)。これは、コンテンツの流し込み前後のどちらであっても良い。図14の(3)の場合、コンテナ1300及び1301はいずれも「余白削除設定」がなされているので、それぞれに流し込むコンテンツ1303及び1304の余白を削除する。   If “margin deletion setting” has been made, a margin deletion process is executed (step S1410). This may be before or after the content is poured. In the case of (3) in FIG. 14, since both the containers 1300 and 1301 have “margin deletion setting”, the margins of the contents 1303 and 1304 to be inserted into the containers 1300 and 1301 are deleted.

次に、レイアウト編集アプリケーション121は、レイアウト計算を実行して、コンテナの位置とサイズを確定する(ステップS1411)。例えば、図14の(4)及び(5)の場合、縦横比を保って、コンテンツ1303及び1304を拡縮して、それらが存在するコンテナ1301及び1302の固定長辺にフィットさせる。更に、コンテナ1301及び1302の可変長辺をコンテンツ1303及び1304にフィットさせて、関連するコンテナを移動する。   Next, the layout editing application 121 executes layout calculation to determine the position and size of the container (step S1411). For example, in the case of (4) and (5) in FIG. 14, the contents 1303 and 1304 are enlarged / reduced while maintaining the aspect ratio to fit the fixed long sides of the containers 1301 and 1302 in which the contents 1303 and 1304 exist. Further, the variable long sides of the containers 1301 and 1302 are fitted to the contents 1303 and 1304, and the related containers are moved.

その後、レイアウト結果を表示(プレビュー)する(ステップS1412、図14の(5))。   Thereafter, the layout result is displayed (preview) (step S1412, (5) in FIG. 14).

次に、ステップS1410の余白削除処理の詳細について、図16を用いて説明する。   Next, details of the margin deletion processing in step S1410 will be described with reference to FIG.

図16は本発明の実施形態1の余白削除処理の詳細を説明するための図である。   FIG. 16 is a diagram for explaining details of the margin deletion processing according to the first embodiment of the present invention.

まず、図16の(a)において、レイアウト編集アプリケーション121は、処理対処のコンテンツ(例えば、画像)を二値化する。   First, in FIG. 16A, the layout editing application 121 binarizes content (for example, an image) to be processed.

次に、図16の(b)において、レイアウト編集アプリケーション121は、例えば、矩形領域の背景(余白)を有するコンテンツの任意の辺から、その辺に垂直に画像を走査して、コンテンツ内の主な対象物を構成する対象物画素(有効画素(この場合、例えば、白黒画素の内の黒画素))を検出する。   Next, in (b) of FIG. 16, the layout editing application 121 scans an image perpendicularly to, for example, an arbitrary side of content having a rectangular area background (margin), Object pixels (effective pixels (in this case, for example, black pixels among black and white pixels)) that form a simple object are detected.

尚、ここでの検出は、コンテンツが配置されるドキュメント上の背景色に基づいて実行する。但し、ドキュメント上の背景色は、通常、白であることが多いため、図16の(b)では、上記のような、背景色と同一の色を有する領域(余白)の検出を実行する。一方、背景色が白以外の色である場合には、その色に基づいて、コンテンツ内の主な対象物を構成する対象物画素を検出することになるのは言うまでもない。   The detection here is executed based on the background color on the document on which the content is arranged. However, since the background color on the document is usually white in many cases, in FIG. 16B, detection of a region (margin) having the same color as the background color as described above is executed. On the other hand, when the background color is a color other than white, it goes without saying that the object pixels constituting the main object in the content are detected based on the color.

また、余白の検出は、背景色と同一の色を有する領域を余白として検出するだけでなく、その背景色を含む所定色範囲内の色を有する領域を余白として検出するようにしても良い。   Further, in the detection of the margin, not only an area having the same color as the background color is detected as a margin, but an area having a color within a predetermined color range including the background color may be detected as a margin.

次に、図16の(c)において、レイアウト編集アプリケーション121は、走査中に対象物画素を検出したら、その検出した対象物画素の座標までを、余白領域としてメモリ136に記憶する。   Next, in FIG. 16C, when the layout editing application 121 detects an object pixel during scanning, the layout editing application 121 stores the coordinates of the detected object pixel in the memory 136 as a blank area.

次に、図16の(d)において、レイアウト編集アプリケーション121は、その他の3辺についても、図16の(c)と同様の処理を実行する。   Next, in FIG. 16D, the layout editing application 121 executes the same processing as in FIG. 16C for the other three sides.

次に、図16の(e)において、レイアウト編集アプリケーション121は、図16の(c)及び(d)で余白領域としてメモリ136に記憶した領域を、コンテンツから削除し、残った領域(コンテンツ内の主な対象物の最外接矩形領域(関心領域))をコンテンツ画像として、コンテナに流し込む。   Next, in (e) of FIG. 16, the layout editing application 121 deletes the area stored in the memory 136 as the blank area in (c) and (d) of FIG. The outermost rectangular area (region of interest) of the main object is poured into the container as a content image.

つまり、図16で説明する処理は、別の見方をすれば、矩形領域からなるコンテンツ(データ)の各辺から対辺方向に垂直にコンテンツを走査して得られる、ドキュメントのページの背景色を含む所定色範囲内の色以外の色が最初に検出される画素を含む、走査を開始した辺に平行な線分を検出し、各辺の走査によって検出される線分によって囲まれる矩形領域を関心領域として検出する処理となる。また、関心領域以外の領域が余白領域となる。   In other words, the processing described in FIG. 16 includes the background color of the document page obtained by scanning the content vertically from each side of the content (data) made up of the rectangular area in the opposite direction. Detects a line segment parallel to the side where scanning started, including pixels where colors other than those within the specified color range are detected first, and is interested in the rectangular area surrounded by the line segments detected by scanning each side. This is a process of detecting as an area. Further, a region other than the region of interest is a blank region.

以上説明したように、実施形態1によれば、ページ上のコンテナに対して「余白削除設定」機能を実現することで、その「余白削除設定」されたコンテナに流し込まれるコンテンツのサイズを、ドキュメント上の背景色と同一あるいは類似色(例えば、濃度値や輝度値が、背景色の濃度値や輝度値の所定色範囲内にある色)の部分をコンテンツの周囲から取り除く。そして、その取り除かれて残る矩形からなるコンテンツを、コンテナに流し込む。   As described above, according to the first embodiment, by implementing the “margin deletion setting” function for the container on the page, the size of the content that is poured into the “margin deletion setting” container is changed to the document size. A portion having a color that is the same as or similar to the upper background color (for example, a color whose density value or luminance value is within a predetermined color range of the background color density value or luminance value) is removed from the periphery of the content. Then, the removed rectangular content is poured into the container.

これにより、コンテンツ中の主な対象物が、より適切にかつ視認し易いサイズでコンテナ上に配置することができる。また、操作者は、コンテンツ中の不要な余白部分を削除する手間から解放され、操作性をより向上することができる。更に、ドキュメント内の各コンテナ領域に流し込むコンテンツを有効的に使用することができるので、ドキュメント全体の情報密度を向上させることができる。   As a result, main objects in the content can be arranged on the container in a size that is more appropriate and easily visible. Further, the operator is freed from the trouble of deleting unnecessary blank portions in the content, and the operability can be further improved. Furthermore, since the content flowing into each container area in the document can be used effectively, the information density of the entire document can be improved.

<<実施形態2>>
実施形態2は、実施形態1の応用例である。実施形態1では、コンテンツ中の余白を削除することで、コンテナ内でコンテンツ中の主要部分をより好適に配置する構成について説明した。
<< Embodiment 2 >>
The second embodiment is an application example of the first embodiment. In the first embodiment, the configuration in which the main part in the content is more suitably arranged in the container by deleting the margin in the content has been described.

これに対し、実施形態2では、コンテナ同士を結合するリンクの両端側において、そのコンテナ同士の位置決め(レイアウト)をする際に、各コンテナ内のコンテンツのリンク側の余白を無視してコンテンツ間距離を最小化にして、コンテナ及びコンテンツをより好適に配置する構成について説明する。   On the other hand, in the second embodiment, when positioning (laying out) the containers at the both ends of the link connecting the containers, the distance between the contents is ignored ignoring the margin on the link side of the contents in each container. A configuration in which containers and contents are more suitably arranged will be described.

まず、実施形態2のバリアブルプリントシステムが実行する処理について、図17〜図19を用いて説明する。   First, processing executed by the variable print system according to the second embodiment will be described with reference to FIGS.

図17は本発明の実施形態2のバリアブルプリントシステムが実行する処理を示すフローチャートである。図18及び図19は本発明の実施形態2のバリアブルプリントシステムが実行する処理の具体例を説明するための図である。   FIG. 17 is a flowchart showing processing executed by the variable print system according to the second embodiment of the present invention. 18 and 19 are diagrams for explaining a specific example of processing executed by the variable print system according to the second embodiment of the present invention.

尚、図18は後述する「余白無視設定」がOFFの場合の具体例、図19は「余白無視設定」がONの場合の具体例を示している。   FIG. 18 shows a specific example when “margin ignore setting” described later is OFF, and FIG. 19 shows a specific example when “margin ignore setting” is ON.

まず、操作者は、コンテナをページ上に配置し、それらをリンクで結合する(ステップS1901)。図18の(1)の場合、ページ1800に対し、コンテナ1801及び1802を配置し、それらをリンク1810で結合する。   First, the operator arranges containers on a page and connects them with a link (step S1901). In the case of (1) in FIG. 18, containers 1801 and 1802 are arranged on a page 1800 and are connected by a link 1810.

次に、リンクに対する「余白無視設定」操作の有無を判定する(ステップS1902)。「余白無視設定」操作がない場合(ステップS1902でNO)、ステップS1905に進む。一方、「余白無視設定」操作がある場合(ステップS1902でYES)、ステップS1903に進む。図19の(1)の場合、リンク1810に対し、「余白無視設定」操作をする。   Next, it is determined whether or not there is a “ignore margin setting” operation for the link (step S1902). If there is no “blank margin setting” operation (NO in step S1902), the process advances to step S1905. On the other hand, if there is an “ignore margin setting” operation (YES in step S1902), the process advances to step S1903. In the case of (1) in FIG. 19, a “margin ignore setting” operation is performed on the link 1810.

尚、操作者は、例えば、マウス133の操作によって、「余白無視設定」対象のリンクを選択し、「余白無視設定」を実行することが可能である。選択及び設定方法としては、例えば、マウス133の右クリックによって現れるコンテキストメニューで、「余白無視設定プロパティ」を選択し、設定する。   For example, the operator can select the “margin ignore setting” target link by operating the mouse 133 and execute “margin ignore setting”. As a selection and setting method, for example, in the context menu that appears when the mouse 133 is right-clicked, “margin ignore setting property” is selected and set.

ステップS1902で、「余白無視設定」操作があると、レイアウト編集アプリケーション121は、余白無視設定プロパティダイアログを表示する(ステップS1903)。   In step S1902, if there is a “blank margin setting” operation, the layout editing application 121 displays a blank margin setting property dialog (step S1903).

ここで、余白無視設定プロパティダイアログの一例について、図20を用いて説明する。   Here, an example of the margin exclusion setting property dialog will be described with reference to FIG.

図20は本発明の実施形態2の余白無視設定プロパティダイアログの一例を示す図である。   FIG. 20 is a diagram showing an example of the margin ignoring setting property dialog according to the second embodiment of the present invention.

図20に示すように、余白削除設定プロパティダイアログ2000では、余白削除処理の処理基準として、「コンテナサイズでリンクする」と「コンテナ内の対象物に対してリンクする」のいずれかを選択するためのラジオボタンが構成されている。   As shown in FIG. 20, the margin deletion setting property dialog 2000 selects either “link with the container size” or “link with the object in the container” as the processing criterion for the margin deletion processing. The radio button is configured.

そして、操作者が、例えば、余白削除設定プロパティダイアログ2000の「コンテナ内の対象物に対してリンクする」ラジオボタンを選択し、余白削除設定プロパティダイアログ2000を閉じると、その選択された内容に基づいて、各種設定をページに反映する(この場合、処理対象のリンクに対して余白無視属性をONとして保存する)(ステップS1904)。   Then, for example, when the operator selects the “Link to an object in a container” radio button in the margin deletion setting property dialog 2000 and closes the margin deletion setting property dialog 2000, the operator selects the content based on the selected content. Then, various settings are reflected on the page (in this case, the margin ignore attribute is saved as ON for the link to be processed) (step S1904).

ここまでが、リンクに対する余白無視設定処理となる。その後、操作者が他のリンクにも余白無視設定することを望む可能性があるので、更なるコンテナに対する「余白無視設定」操作の有無を判定する(ステップS1905)。「余白無視設定」操作がある場合(ステップS1905でYES)、ステップS1903に戻り、同様の処理を実行する。一方、「余白無視設定」操作がない場合(ステップS1905でNO)、ステップS1906に進む。   The process up to this point is the margin ignore setting process for the link. Thereafter, since there is a possibility that the operator desires to ignore the margins for other links, it is determined whether or not there is a “ignore margin setting” operation for a further container (step S1905). If there is a “blank margin setting” operation (YES in step S1905), the process returns to step S1903 and the same processing is executed. On the other hand, if there is no “blank margin setting” operation (NO in step S1905), the process advances to step S1906.

次に、ドキュメントのプレビュー操作の有無を判定する(ステップS1906)。プレビュー操作がない場合(ステップS1906でNO)、処理を終了する。一方、プレビュー操作がある場合(ステップS1906でYES)、ステップS1907に進む。   Next, it is determined whether or not a document preview operation has been performed (step S1906). If there is no preview operation (NO in step S1906), the process ends. On the other hand, if there is a preview operation (YES in step S1906), the flow advances to step S1907.

このステップS1907以降の処理がプレビュー処理となる。   The processing after step S1907 is the preview processing.

まず、レイアウト編集アプリケーション121は、データベースからコンテンツを取得する(ステップS1907)。図18の(2)の場合、コンテンツ1803及び1804を取得する。   First, the layout editing application 121 acquires content from the database (step S1907). In the case of (2) in FIG. 18, contents 1803 and 1804 are acquired.

次に、レイアウト編集アプリケーション121は、各コンテナに取得したコンテンツを流し込む処理を実行する(ステップS1908)。図18の(2)の場合、コンテナ1801にコンテンツ1803、コンテンツ1802にコンテンツ1804を流し込む。   Next, the layout editing application 121 executes processing for pouring the acquired content into each container (step S1908). In the case of (2) in FIG. 18, the content 1803 is poured into the container 1801 and the content 1804 is poured into the content 1802.

次に、レイアウト編集アプリケーション121は、処理対象のリンクに「余白無視設定」がなされているか否かを判定する(ステップS1909)。「余白無視設定」がなされていない場合(ステップS1909でNO)、ステップS1913に進む。一方、「余白無視設定」がなされている場合(ステップS1909でYES)、ステップS1910に進む。   Next, the layout editing application 121 determines whether or not “margin ignore setting” has been made for the processing target link (step S1909). If “margin ignore setting” has not been made (NO in step S1909), the process advances to step S1913. On the other hand, if “ignore margin setting” is made (YES in step S1909), the process advances to step S1910.

ステップS1909において、「余白無視設定」がなされていない場合は、レイアウト編集アプリケーション121は、ステップS1913でレイアウト計算を実行し、ステップS1914でレイアウト結果を表示することになる。例えば、図18の(3)及び(4)の場合、縦横比を保って、コンテンツ1803及び1804を拡縮して、それらが存在するコンテナ1801及び1802の固定長辺にフィットさせる。更に、コンテナ1801及び1802の可変長辺をコンテンツ1803及び1804にフィットさせて、関連するコンテナを移動する。   If “ignore margin setting” is not performed in step S1909, the layout editing application 121 executes layout calculation in step S1913 and displays the layout result in step S1914. For example, in the cases of (3) and (4) in FIG. 18, the contents 1803 and 1804 are enlarged / reduced while maintaining the aspect ratio to fit the fixed long sides of the containers 1801 and 1802 in which the contents 1803 and 1804 exist. Furthermore, the variable long sides of the containers 1801 and 1802 are fitted to the contents 1803 and 1804, and the related containers are moved.

一方、ステップS1909において、「余白無視設定」がなされている場合は、レイアウト編集アプリケーション121は、まず、図18の(2)及び(3)までの処理(図19の(2)に対応)を実行後、余白無視設定処理として、リンク両端の余白削除処理を実行する(ステップS1910)。図19の(3)の場合、コンテンツ1803及び1804の余白の内、リンク1810側の余白を削除する。   On the other hand, if “ignore margin setting” is made in step S1909, the layout editing application 121 first performs the processes (2) and (3) in FIG. 18 (corresponding to (2) in FIG. 19). After the execution, the margin deletion processing at both ends of the link is executed as margin ignore setting processing (step S1910). In the case of (3) in FIG. 19, the margin on the link 1810 side is deleted from the margins of the contents 1803 and 1804.

尚、実施形態2の余白無視設定処理とは、リンク両端側のコンテナの位置を決定する際に、各コンテナ内のコンテンツの余白を無視してコンテンツ間距離を最小化するレイアウトを実行するものである。従って、コンテンツにとってみれば、リンク側に存在する余白が削除されることになる。   The margin ignoring setting process of the second embodiment executes a layout that minimizes the distance between contents by ignoring the margin of contents in each container when determining the positions of the containers on both ends of the link. is there. Therefore, from the viewpoint of the content, the margin that exists on the link side is deleted.

次に、レイアウト編集アプリケーション121は、コンテンツ間の距離が最小距離Lmin1になる位置を検索し、そこをリンク位置として設定する(ステップS1911、図19の(4))。   Next, the layout editing application 121 searches for a position where the distance between the contents becomes the minimum distance Lmin1, and sets it as a link position (step S1911, (4) in FIG. 19).

そして、レイアウト編集アプリケーション121は、設定したリンク位置へリンクを移動する(ステップS1912、図19の(5))。   Then, the layout editing application 121 moves the link to the set link position (step S1912, (5) in FIG. 19).

次に、レイアウト編集アプリケーション121は、レイアウト計算を実行して、コンテナの位置とサイズを確定する(ステップS1913)。その後、レイアウト結果を表示(プレビュー)する(ステップS1914、図19の(5))。   Next, the layout editing application 121 executes layout calculation to determine the position and size of the container (step S1913). Thereafter, the layout result is displayed (preview) (step S1914, (5) in FIG. 19).

次に、ステップS1910の余白削除処理の詳細について、図21を用いて説明する。   Next, details of the margin deletion processing in step S1910 will be described with reference to FIG.

図21は本発明の実施形態2の余白削除処理の詳細を説明するための図である。   FIG. 21 is a diagram for explaining details of the margin deletion processing according to the second embodiment of the present invention.

まず、図21の(a)において、レイアウト編集アプリケーション121は、処理対象のコンテンツ(例えば、画像)を二値化する。   First, in FIG. 21A, the layout editing application 121 binarizes the content to be processed (for example, an image).

次に、図21の(b)において、レイアウト編集アプリケーション121は、余白無視属性が「ON」に設定されているリンク(図19の場合、リンク1810)と結合しているコンテナ(図19の場合、例えば、コンテナ1801)の辺を所定単位の線分に分割し、その線分の単位で、その辺と垂直な方向に走査する。   Next, in FIG. 21B, the layout editing application 121 determines that the container (in the case of FIG. 19) combined with the link (in the case of FIG. 19, the link 1810) in which the margin ignore attribute is set to “ON”. For example, the side of the container 1801) is divided into line units of a predetermined unit, and scanning is performed in the direction perpendicular to the side of the line unit.

次に、図21の(c)において、レイアウト編集アプリケーション121は、走査中の線分に、コンテンツ内の主な対象物を構成する対象物画素(有効画素(この場合、白黒画素の内の黒画素))を検出したら、そこでその線分の走査は止めて、その位置をメモリ136に記憶し、次の線分の走査に移る。   Next, in (c) of FIG. 21, the layout editing application 121 applies object pixels (effective pixels (in this case, black / white pixels) constituting the main object in the content to the line segment being scanned. When the pixel)) is detected, scanning of the line is stopped, the position is stored in the memory 136, and the next line is scanned.

尚、ここでの検出は、実施形態1の図16の(b)で説明した検出原理と同様である。   Note that the detection here is the same as the detection principle described in FIG.

次に、図21の(d)において、レイアウト編集アプリケーション121は、図21の(c)の処理を繰り返して、処理対象辺の全体に渡り走査を行ない、処理対象辺に接するコンテンツ中の余白を削除する。つまり、メモリ136に記憶した位置と処理対象辺間の領域を、コンテンツから削除し、残った領域がコンテンツ画像として、コンテナに流し込まれることになる。   Next, in FIG. 21D, the layout editing application 121 repeats the process of FIG. 21C, scans the entire processing target side, and removes the margin in the content in contact with the processing target side. delete. That is, the region between the position stored in the memory 136 and the processing target side is deleted from the content, and the remaining region is poured into the container as a content image.

つまり、図21で説明する処理は、矩形領域からなるコンテンツの各辺の内、リンク側にある辺から対辺方向に所定線分単位で垂直に画像を走査し、各線分による走査によって、ページの背景色を含む所定色範囲内の色以外の色が最初に検出される画素までの線分領域を検出し、各走査によって検出された線分領域からなる領域を余白領域として検出し、その余白領域以外の領域を関心領域として検出することになる。   That is, the processing described in FIG. 21 scans an image vertically in units of a predetermined line segment from the side on the link side to the opposite side of each side of the content made up of a rectangular area, and by scanning with each line segment, A line segment area up to the first pixel where a color other than a color within the predetermined color range including the background color is detected is detected, and an area composed of the line segment areas detected by each scan is detected as a blank area. A region other than the region is detected as a region of interest.

以上説明したように、実施形態2によれば、コンテナ同士を結合するリンクの両端側において、そのコンテナ同士の位置決め(レイアウト)をする際に、各コンテナ内のコンテンツのリンク側の余白を無視してコンテンツ間距離を最小化することで、コンテンツ中のリンク側にある余白が削除されるとともに、かつその削除によってコンテナ(コンテンツ)間の位置を最小限にすることができる。   As described above, according to the second embodiment, the margins on the link side of the contents in each container are ignored when positioning (laying out) the containers at the both ends of the link connecting the containers. By minimizing the distance between the contents, the margin on the link side in the contents can be deleted, and the position between the containers (contents) can be minimized by the deletion.

これにより、実施形態1と同様の効果を得ることができる。   Thereby, the same effect as Embodiment 1 can be acquired.

<<実施形態3>>
実施形態3は、実施形態2の応用例である。実施形態2では、コンテナ内のコンテンツの余白の内、リンク側に存在する余白を無視(削除)した上で、コンテナ及びコンテンツをより好適に配置する構成について説明した。
<< Embodiment 3 >>
The third embodiment is an application example of the second embodiment. In the second embodiment, the configuration in which the container and the content are more preferably arranged after ignoring (deleting) the margin existing on the link side among the margins of the content in the container has been described.

これに対し、実施形態3では、更に、コンテンツの向きを左右反転して、その左右反転前後でのコンテンツ間距離に基づいて、コンテナ及びコンテンツをより好適に配置する構成について説明する。   On the other hand, in the third embodiment, a configuration will be described in which the direction of the content is reversed left and right, and the containers and the content are more preferably arranged based on the distance between the contents before and after the left and right reversal.

まず、実施形態3のバリアブルプリントシステムが実行する処理について、図22及び図23を用いて説明する。   First, processing executed by the variable print system according to the third embodiment will be described with reference to FIGS.

図22は本発明の実施形態3のバリアブルプリントシステムが実行する処理を示すフローチャートである。図23は本発明の実施形態3のバリアブルプリントシステムが実行する処理の具体例を説明するための図である。   FIG. 22 is a flowchart showing processing executed by the variable print system according to the third embodiment of the present invention. FIG. 23 is a diagram for explaining a specific example of processing executed by the variable print system according to the third embodiment of the present invention.

まず、操作者は、コンテナをページ上に配置し、それらをリンクで結合する(ステップS2201)。図23の(1)の場合、ページ2300に対し、コンテナ2301及び2302を配置し、それらをリンク2310で結合する。   First, the operator arranges containers on a page and combines them with a link (step S2201). In the case of (1) in FIG. 23, containers 2301 and 2302 are arranged on the page 2300 and are connected by a link 2310.

次に、リンクに対する「余白無視設定」操作の有無を判定する(ステップS2302)。「余白無視設定」操作がない場合(ステップS2302でNO)、ステップS2308に進む。一方、「余白無視設定」操作がある場合(ステップS2302でYES)、ステップS2303に進む。図23の(1)の場合、リンク1810に対し、「余白無視設定」操作をする。   Next, the presence / absence of a “ignore margin setting” operation for the link is determined (step S2302). If there is no “blank margin setting” operation (NO in step S2302), the process advances to step S2308. On the other hand, if there is an “ignore margin setting” operation (YES in step S2302), the process advances to step S2303. In the case of (1) in FIG. 23, the “margin ignore setting” operation is performed on the link 1810.

尚、「余白無視設定」対象のリンクの選択及び設定方法は、実施形態2と同様である。   Note that the method for selecting and setting the link for “ignore margin setting” is the same as in the second embodiment.

ステップS2302で、「余白無視設定」操作があると、レイアウト編集アプリケーション121は、余白無視設定プロパティダイアログを表示する(ステップS2303)。そして、操作者による余白削除設定プロパティダイアログに対する走査に基づいて、各種設定をページに反映する(ステップS2304)。   In step S2302, if there is a “ignore margin setting” operation, the layout editing application 121 displays a margin ignore setting property dialog (step S2303). Various settings are reflected on the page based on the scanning performed by the operator on the margin deletion setting property dialog (step S2304).

次に、リンクに結合しているコンテナに「左右反転許可設定」操作の有無を判定する(ステップS2305)。「左右反転許可設定」操作がない場合(ステップS2305でNO)、ステップS2308に進む。一方、「左右反転許可設定」操作がある場合(ステップS2305でYES)、ステップS2306に進む。図23の(1)の場合、コンテナ2302に対し、「左右反転許可設定」操作をする。   Next, it is determined whether or not a “horizontal inversion permission setting” operation is performed on the container coupled to the link (step S2305). If there is no “left / right reversal permission setting” operation (NO in step S2305), the process advances to step S2308. On the other hand, if there is a “left / right reversal permission setting” operation (YES in step S2305), the process advances to step S2306. In the case of (1) in FIG. 23, a “horizontal inversion permission setting” operation is performed on the container 2302.

尚、操作者は、例えば、マウス133の操作によって、「左右反転許可設定」対象のリンクを選択し、「左右反転許可設定」を実行することが可能である。選択及び設定方法としては、例えば、マウス133の右クリックによって現れるコンテキストメニューで、「左右反転許可設定プロパティ」を選択し、設定する。   For example, the operator can select a link for “right / left reversal permission setting” and execute “right / left reversal permission setting” by operating the mouse 133. As a selection and setting method, for example, in the context menu that appears when the mouse 133 is right-clicked, “right / left inversion permission setting property” is selected and set.

ステップS2305で、「左右反転許可設定」操作があると、レイアウト編集アプリケーション121は、左右反転許可設定プロパティダイアログを表示する(ステップS2306)。   In step S2305, if there is a “right / left reversal permission setting” operation, the layout editing application 121 displays a left / right reversal permission setting property dialog (step S2306).

ここで、左右反転許可設定プロパティダイアログの一例について、図24を用いて説明する。   Here, an example of the right / left inversion permission setting property dialog will be described with reference to FIG.

図24は本発明の実施形態3の左右反転許可設定プロパティダイアログの一例を示す図である。   FIG. 24 is a diagram showing an example of a left / right inversion permission setting property dialog according to the third embodiment of the present invention.

図24に示すように、左右反転許可設定プロパティダイアログ2400では、左右反転許可設定として、「コンテンツの左右反転を許可する」を選択するためのチェックボタンが構成されている。   As shown in FIG. 24, in the left / right reversal permission setting property dialog 2400, a check button for selecting “permit left / right reversal of content” is configured as a left / right reversal permission setting.

そして、操作者が、例えば、左右反転許可設定プロパティダイアログ2400の「コンテンツの左右反転を許可する」チェックボックスを選択し、左右反転許可設定プロパティダイアログ2400を閉じると、その選択された内容に基づいて、各種設定をページに反映する(この場合、処理対象のコンテナに対して左右反転許可属性をONとして保存する)(ステップS2307)。   Then, for example, when the operator selects the “allow right / left inversion of content” check box in the right / left inversion permission setting property dialog 2400 and closes the right / left inversion permission setting property dialog 2400, based on the selected content. Various settings are reflected on the page (in this case, the left / right inversion permission attribute is saved as ON for the container to be processed) (step S2307).

ここまでが、リンクに対する余白無視設定処理及びコンテナに対する左右反転許可設定処理となる。その後、操作者が、他のリンクにも余白無視設定、あるいは他のコンテナにも左右反転許可設定することを望む可能性があるので、更なるリンクあるいはコンテナに対する各種設定操作の有無を判定する(ステップS2308)。各種設定操作がある場合(ステップS2308でYES)、ステップS2302に戻り、同様の処理を実行する。一方、各種設定操作がない場合(ステップS2308でNO)、ステップS2309に進む。   Up to this point, the margin ignoring setting process for the link and the left / right reversal permission setting process for the container are performed. After that, the operator may desire to set to ignore other margins for other links, or to allow right / left reversal for other containers, so determine whether there are various setting operations for further links or containers ( Step S2308). If there are various setting operations (YES in step S2308), the process returns to step S2302, and the same processing is executed. On the other hand, if there are no various setting operations (NO in step S2308), the process advances to step S2309.

次に、ドキュメントのプレビュー操作の有無を判定する(ステップS2309)。プレビュー操作がない場合(ステップS2309でNO)、処理を終了する。一方、プレビュー操作がある場合(ステップS2309でYES)、ステップS2310に進む。   Next, the presence / absence of a document preview operation is determined (step S2309). If there is no preview operation (NO in step S2309), the process ends. On the other hand, if there is a preview operation (YES in step S2309), the flow advances to step S2310.

このステップS2309以降の処理がプレビュー処理となる。   The processing after step S2309 is the preview processing.

まず、レイアウト編集アプリケーション121は、データベースからコンテンツを取得する(ステップS2310)。図23の(2)の場合、コンテンツ2303及び2304を取得する(図19の(2)に対応)。   First, the layout editing application 121 acquires content from the database (step S2310). In the case of (2) in FIG. 23, contents 2303 and 2304 are acquired (corresponding to (2) in FIG. 19).

次に、レイアウト編集アプリケーション121は、各コンテナに取得したコンテンツを流し込む処理を実行する(ステップS2311)。図23の(2)の場合、コンテナ1801にコンテンツ1803、コンテンツ1802にコンテンツ1804を流し込む(図19の(2)に対応)。   Next, the layout editing application 121 executes processing for pouring the acquired content into each container (step S2311). In the case of (2) in FIG. 23, the content 1803 is poured into the container 1801, and the content 1804 is poured into the content 1802 (corresponding to (2) in FIG. 19).

次に、レイアウト編集アプリケーション121は、処理対象のリンクに「余白無視設定」がなされているか否かを判定する(ステップS2312)。「余白無視設定」がなされていない場合(ステップS2312でNO)、ステップS2319に進む。一方、「余白無視設定」がなされている場合(ステップS2312でYES)、ステップS2313に進む。   Next, the layout editing application 121 determines whether or not “ignore margin setting” is set for the processing target link (step S2312). If the “ignore margin setting” has not been made (NO in step S2312), the process advances to step S2319. On the other hand, when “ignore margin setting” is made (YES in step S2312), the process proceeds to step S2313.

一方、ステップS2312において、「余白無視設定」がなされている場合は、レイアウト編集アプリケーション121は、余白無視設定処理として、リンク両端の余白削除処理を実行する(ステップS1910、図23の(2)(図19の(3)))。   On the other hand, if “ignore margin setting” is performed in step S2312, the layout editing application 121 executes margin deletion processing at both ends of the link as margin ignore setting processing (step S1910, (2) in FIG. 23). (3) in FIG. 19).

次に、レイアウト編集アプリケーション121は、コンテンツ間の距離が最小距離Lmin1になる位置を検索する(ステップS2314、図23の(2)(図19の(4))。   Next, the layout editing application 121 searches for a position where the distance between the contents is the minimum distance Lmin1 (step S2314, (2) in FIG. 23 ((4) in FIG. 19)).

次に、レイアウト編集アップリケーションは、処理対象のコンテナに「左右反転許可設定」がなされているか否かを判定する(ステップS2315)。「左右反転許可設定」がなされていない場合(ステップS2315でNO)、ステップS2319に進む。一方、「左右反転許可設定」がなされている場合(ステップS2315でYES)、ステップS2316に進む。   Next, the layout editing application determines whether or not “left / right reversal permission setting” is set for the processing target container (step S2315). If “left / right reversal permission setting” has not been made (NO in step S2315), the flow advances to step S2319. On the other hand, if “right / left reversal permission setting” has been made (YES in step S2315), the flow advances to step S2316.

ステップS2315において、「左右反転許可設定」がなされている場合は、レイアウト編集アプリケーション121は、「余白無視設定」がONのリンクに結合している左右反転可能なコンテンツを反転し、反転後のコンテンツ間の距離が最小距離Lmin2になる位置を検索する(ステップS2316)。   In step S2315, when the “right / left inversion permission setting” is set, the layout editing application 121 inverts the horizontally invertible content coupled to the link whose “margin ignore setting” is ON, and the content after the inversion A position where the distance between them is the minimum distance Lmin2 is searched (step S2316).

そして、レイアウト編集アプリケーション121は、最小距離Lmin1と最小距離Lmin2を比較し、小さい方の値をとるコンテンツの方向を決定し、リンク位置を決定する(ステップS2317、図23の(3))。   Then, the layout editing application 121 compares the minimum distance Lmin1 and the minimum distance Lmin2, determines the direction of the content having the smaller value, and determines the link position (step S2317, (3) in FIG. 23).

そして、レイアウト編集アプリケーション121は、設定したリンク位置へリンクを移動する(ステップS2318、図23の(4))。   Then, the layout editing application 121 moves the link to the set link position (step S2318, (4) in FIG. 23).

次に、レイアウト編集アプリケーション121は、レイアウト計算を実行して、コンテナの位置とサイズを確定する(ステップS2319)。その後、レイアウト結果を表示(プレビュー)する(ステップS2320、図23の(4))。   Next, the layout editing application 121 executes layout calculation to determine the container position and size (step S2319). Thereafter, the layout result is displayed (preview) (step S2320, (4) in FIG. 23).

以上説明したように、実施形態3によれば、実施形態2で説明した効果に加えて、コンテンツの方向を左右反転前後における、各コンテンツ間の距離の内、最小となるコンテンツの方向で、コンテンツを配置する。   As described above, according to the third embodiment, in addition to the effects described in the second embodiment, the content direction is the smallest content direction among the distances between the contents before and after the horizontal reversal. Place.

これにより、よりコンテンツ間の距離が好適でかつ最小となる構成で、コンテナ及びコンテンツを配置することが可能となる。   As a result, it is possible to arrange the container and the content with a configuration in which the distance between the content is more suitable and minimum.

尚、実施形態3では、コンテンツの方向を左右反転する場合を例に挙げて説明したが、これに限定されず、上下反転、あるいは任意の角度に回転する構成とすることも可能である。   In the third embodiment, the case where the direction of the content is reversed left and right has been described as an example. However, the present invention is not limited to this, and the content can be reversed upside down or rotated to an arbitrary angle.

<<実施形態4>>
実施形態4は、実施形態1〜3に対する応用例である。実施形態4では、ドキュメント上に一旦配置したコンテナが、コンテンツが流し込まれることによって、そのサイズが拡縮された後のコンテナが、ドキュメント内で収まるか否かによって、各コンテナの表示を制御する構成について説明する。
<< Embodiment 4 >>
The fourth embodiment is an application example to the first to third embodiments. In the fourth embodiment, a configuration in which the display of each container is controlled depending on whether or not the container after the size of the container once arranged on the document fits in the document when the content is poured into the document. explain.

まず、実施形態4のバリアブルプリントシステムが実行する処理について、図25及び図26を用いて説明する。   First, processing executed by the variable print system according to the fourth embodiment will be described with reference to FIGS. 25 and 26.

図25は本発明の実施形態4のバリアブルプリントが実行する処理を示すフローチャートである。図26は本発明の実施形態4のバリアブルプリントシステムが実行する処理の具体例を説明するための図である。   FIG. 25 is a flowchart showing processing executed by variable printing according to the fourth embodiment of the present invention. FIG. 26 is a diagram for explaining a specific example of processing executed by the variable print system according to the fourth embodiment of the present invention.

まず、操作者は、コンテナをページ上に配置し、それらをリンクで結合する(ステップS2601)。図26の(1)の場合、ページ2600に対し、コンテナ2601〜2603を配置し、それぞれをリンク2610及び2620で結合する。   First, the operator arranges containers on a page and connects them with a link (step S2601). In the case of (1) in FIG. 26, containers 2601 to 2603 are arranged on the page 2600 and are connected by links 2610 and 2620, respectively.

次に、コンテナに対する「Optional設定」操作の有無を判定する(ステップS2602)。「Optional設定」操作がない場合(ステップS2602でNO)、ステップS2605に進む。一方、「Optional設定」操作がある場合(ステップS2602でYES)、ステップS2603に進む。図26の(1)の場合、コンテナ2603に対し、「Optional設定」操作をする。   Next, it is determined whether or not an “Optional setting” operation is performed on the container (step S2602). When there is no “Optional setting” operation (NO in step S2602), the process proceeds to step S2605. On the other hand, if there is an “Optional setting” operation (YES in step S2602), the process advances to step S2603. In the case of (1) in FIG. 26, an “Optional setting” operation is performed on the container 2603.

尚、操作者は、例えば、マウス133の操作によって、「Optional設定」対象のコンテナを選択し、「Optional設定」を実行することが可能である。選択及び設定方法としては、例えば、マウス133の右クリックによって現れるコンテキストメニューで、「Optionalプロパティ」を選択し、設定する。   Note that the operator can select a container for “Optional setting” and execute “Optional setting” by operating the mouse 133, for example. As a selection and setting method, for example, in the context menu that appears when the mouse 133 is right-clicked, “Optional Property” is selected and set.

ステップS2602で、「Optional設定」操作があると、レイアウト編集アプリケーション121は、Optionalプロパティダイアログを表示する(ステップS2603)。   If there is an “Optional setting” operation in step S2602, the layout editing application 121 displays an optional property dialog (step S2603).

ここで、Optionalプロパティダイアログの一例について、図27を用いて説明する。   Here, an example of the Optional property dialog will be described with reference to FIG.

図27は本発明の実施形態4のOptionalプロパティダイアログの一例を示す図である。   FIG. 27 is a diagram showing an example of an optional property dialog according to the fourth embodiment of the present invention.

図27に示すように、Optionalプロパティダイアログ2600では、Optional設定として、「Optional Cotainer設定する」を選択するためのチェックボックスが構成されている。   As shown in FIG. 27, in the optional property dialog 2600, a check box for selecting “Set Optional Coiner” as the optional setting is configured.

そして、操作者が、例えば、Optionalプロパティダイアログ2600の「Optional Cotainer設定する」チェックボックスを選択し、Optionalプロパティダイアログ2600を閉じると、その選択された内容に基づいて、各種設定をページに反映する(この場合、処理対象のコンテナに対してOptional属性をONとして保存する)(ステップS2604)。   Then, for example, when the operator selects the “Set Optional Coiner” checkbox in the Optional property dialog 2600 and closes the Optional property dialog 2600, various settings are reflected on the page based on the selected content ( In this case, the Optional attribute is saved as ON for the container to be processed) (step S2604).

ここまでが、コンテナに対するOptional設定処理となる。その後、操作者が他のコンテナにもOptional設定することを望む可能性があるので、更なるコンテナに対する「Optional設定」操作の有無を判定する(ステップS2605)。「Optional設定」操作がある場合(ステップS2605でYES)、ステップS2603に戻り、同様の処理を実行する。一方、「Optional設定」操作がない場合(ステップS2605でNO)、ステップS2606に進む。   Up to here is the optional setting process for the container. Thereafter, since there is a possibility that the operator wishes to set the optional setting for another container, the presence / absence of an “optional setting” operation for a further container is determined (step S2605). If there is an “Optional setting” operation (YES in step S2605), the process returns to step S2603 to execute the same processing. On the other hand, if there is no “Optional setting” operation (NO in step S2605), the process proceeds to step S2606.

次に、ドキュメントのプレビュー操作の有無を判定する(ステップS2606)。プレビュー操作がない場合(ステップS2606でNO)、処理を終了する。一方、プレビュー操作がある場合(ステップS2606でYES)、ステップS2607に進む。   Next, it is determined whether or not a document preview operation has been performed (step S2606). If there is no preview operation (NO in step S2606), the process ends. On the other hand, if there is a preview operation (YES in step S2606), the process advances to step S2607.

このステップS2607以降の処理がプレビュー処理となる。   The process after step S2607 is a preview process.

まず、レイアウト編集アプリケーション121は、データベースからコンテンツを取得する(ステップS2607)。   First, the layout editing application 121 acquires content from the database (step S2607).

次に、レイアウト編集アプリケーション121は、各コンテナに取得したコンテンツを流し込む処理を実行する(ステップS2608)。次に、レイアウト編集アプリケーション121は、レイアウト計算を実行して、コンテナの位置とサイズを一旦確定する(ステップS2609)。   Next, the layout editing application 121 executes processing for pouring the acquired content into each container (step S2608). Next, the layout editing application 121 executes layout calculation, and once determines the position and size of the container (step S2609).

次に、レイアウト編集アプリケーション121は、処理対象のコンテナに「Optional設定」がなされているか否かを判定する(ステップS2610)。「Optional設定」がなされていない場合(ステップS2610でNO)、ステップS2613に進む。一方、「Optional設定」がなされている場合(ステップS2610でYES)、ステップS2611に進む。   Next, the layout editing application 121 determines whether or not “Optional setting” has been set for the container to be processed (step S2610). If “Optional setting” has not been made (NO in step S2610), the flow advances to step S2613. On the other hand, if “Optional setting” has been made (YES in step S2610), the flow advances to step S2611.

「Optional設定」がなされている場合、処理対象のコンテナがページ内に収まっているか否かを判定する(ステップS2611)。   If “Optional setting” is set, it is determined whether or not the processing target container fits in the page (step S2611).

コンテナがページ内に収まっている場合(ステップS2611でYES)、ステップS2609で得られるレイアウト結果に基づいて、ページ内の各コンテナ及びそのコンテナ内のコンテンツを表示する(ステップS2613、図26の(2))。   If the container is within the page (YES in step S2611), each container in the page and the contents in the container are displayed based on the layout result obtained in step S2609 (step S2613, (2) in FIG. )).

一方、コンテナがページ内に収まっていない場合(ステップS2611でNO)、該当するコンテナ及びそのコンテナ内のコンテンツをページ上で非表示にするための非表示化を実行する(ステップS2612)。そして、この場合は、ステップS2609で得られるレイアウト結果と、非表示化されたコンテナ及びそのコンテナ内のコンテンツに基づいて、ページ内の各コンテナ及びそのコンテナ内のコンテンツを表示する(ステップS2613、図26の(2)’)。   On the other hand, if the container does not fit in the page (NO in step S2611), the corresponding container and the contents in the container are hidden so as not to be displayed on the page (step S2612). In this case, each container in the page and the content in the container are displayed based on the layout result obtained in step S2609, the hidden container and the content in the container (step S2613, FIG. 26 (2) ').

以上説明したように、実施形態4によれば、ページ上のコンテナにコンテンツを流し込んだ後、そのコンテンツがページ内に収まらない場合には、そのコンテンツを非表示にする。   As described above, according to the fourth embodiment, after content is poured into a container on the page, if the content does not fit in the page, the content is hidden.

つまり、コンテンツの一部のみしか表示できないような場合には、そのコンテンツの表示を禁止することで、操作者にとって、違和感のない好適なページ出力を可能にすることができる。   In other words, when only a part of the content can be displayed, the display of the content is prohibited, so that it is possible for the operator to output a suitable page without a sense of incongruity.

尚、上記実施形態1〜4は、用途や目的に応じて、任意に組み合わせ実現しても良いことは言うまでもない。例えば、実施形態1と、実施形態2あるいは3を組み合わせることで、コンテンツ中の余白を削除しつつ、コンテンツ間の距離を最小にするレイアウト制御を実現することが可能である。   Needless to say, the first to fourth embodiments may be arbitrarily combined depending on applications and purposes. For example, by combining the first embodiment with the second or third embodiment, it is possible to realize layout control that minimizes the distance between contents while deleting margins in the contents.

また、上記実施形態1〜4において、コンテンツ中の余白領域の検出(換言すれば、コンテンツ中の関心領域の検出)は、ドキュメントの背景色に基づいて検出する構成としているが、これに限定されない。   In the first to fourth embodiments, the detection of the blank area in the content (in other words, the detection of the region of interest in the content) is performed based on the background color of the document. However, the present invention is not limited to this. .

例えば、周知のブロックセレクション処理や、関心領域(ROI)検出処理を用いて、コンテンツ中の関心領域を検出したり、コンテンツ中の余白領域を検出するようにしても良い。   For example, a region of interest in the content or a blank region in the content may be detected using a known block selection process or a region of interest (ROI) detection process.

ここで、ブロックセレクション処理とは、例えば、処理対象のコンテンツを、意味のある各オブジェクト毎の塊として認識し、該ブロック各々の属性(文字(TEXT)/図画(PICTURE)/写真(PHOTO)/線(LINE)/表(TABLE)等)を判定し、異なる属性を持つブロックに分割する処理である。   Here, the block selection process is, for example, recognizing the content to be processed as a meaningful block for each object, and attribute (character (TEXT) / drawing (PICTURE) / photograph (PHOTO) / Line (LINE) / table (TABLE), etc.), and is divided into blocks having different attributes.

ブロックセレクション処理の実施形態としては、例えば、以下のようのものがある。   Examples of the block selection process include the following.

まず、処理対象コンテンツ(画像)を白黒に二値化し、輪郭線追跡を行って黒画素輪郭で囲まれる画素の塊を抽出する。面積の大きい黒画素の塊については、内部にある白画素に対しても輪郭線追跡を行って白画素の塊を抽出、さらに一定面積以上の白画素の塊の内部からは再帰的に黒画素の塊を抽出する。   First, the processing target content (image) is binarized into black and white, and contour tracking is performed to extract a block of pixels surrounded by a black pixel contour. For a black pixel block with a large area, the white pixel block is extracted by tracing the outline of the white pixel inside, and a black pixel is recursively extracted from the white pixel block with a certain area or more. Extract the lump.

このようにして得られた黒画素の塊を、大きさ及び形状で分類し、異なる属性を持つブロックへ分類していく。例えば、縦横比が1に近く、大きさが一定の範囲のブロックは文字相当の画素塊とし、さらに近接する文字が整列良くグループ化可能な部分を文字ブロック、扁平な画素塊を線ブロック、一定大きさ以上でかつ矩形の白画素塊を整列よく内包する黒画素塊の占める範囲を表ブロック、不定形の画素塊が散在している領域を写真ブロック、それ以外の任意形状の画素塊を図画ブロックとする。   The blocks of black pixels obtained in this way are classified by size and shape, and are classified into blocks having different attributes. For example, a block in a range where the aspect ratio is close to 1 and the size is constant is a pixel block corresponding to a character, a portion where adjacent characters can be grouped in an aligned manner is a character block, and a flat pixel block is a line block. The area occupied by the black pixel block that is larger than the size and contains the rectangular white pixel block well aligned is a table block, the area where the irregular pixel block is scattered is a photo block, and the pixel block of any other shape is drawn. Let it be a block.

そして、本発の上記各実施形態における余白領域の検出を、ブロックセレクション処理を利用する場合には、特に、ブロックセレクション処理によってコンテンツから得られる写真ブロックや図画ブロックを関心領域として検出し、残りの部分を余白領域として検出することで、上述の各実施形態を実現することができる。   Then, when using the block selection process for the detection of the blank area in each of the above embodiments of the present invention, in particular, a photo block or a graphic block obtained from the content by the block selection process is detected as a region of interest, and the remaining areas are detected. By detecting the portion as a blank area, the above-described embodiments can be realized.

もちろん、写真ブロックや図画ブロック以外の文字ブロックや表ブロックを関心領域として検出し、残りの部分を余白領域として検出するようにしても良い。   Of course, character blocks and table blocks other than photo blocks and graphic blocks may be detected as regions of interest, and the remaining portions may be detected as blank regions.

以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。   Although the embodiments have been described in detail above, the present invention can take an embodiment as, for example, a system, an apparatus, a method, a program, or a storage medium, and specifically includes a plurality of devices. The present invention may be applied to a system that is configured, or may be applied to an apparatus that includes a single device.

尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図に示すフローチャートに対応したプログラム)を、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。   In the present invention, a software program (in the embodiment, a program corresponding to the flowchart shown in the figure) that realizes the functions of the above-described embodiment is directly or remotely supplied to the system or apparatus, and the computer of the system or apparatus Is also achieved by reading and executing the supplied program code.

従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。   Accordingly, since the functions of the present invention are implemented by computer, the program code installed in the computer also implements the present invention. In other words, the present invention includes a computer program itself for realizing the functional processing of the present invention.

その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。   In that case, as long as it has the function of a program, it may be in the form of object code, a program executed by an interpreter, script data supplied to the OS, or the like.

プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などがある。   As a recording medium for supplying the program, for example, floppy (registered trademark) disk, hard disk, optical disk, magneto-optical disk, MO, CD-ROM, CD-R, CD-RW, magnetic tape, nonvolatile memory card ROM, DVD (DVD-ROM, DVD-R) and the like.

その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。   As another program supply method, a client computer browser is used to connect to an Internet homepage, and the computer program of the present invention itself or a compressed file including an automatic installation function is downloaded from the homepage to a recording medium such as a hard disk. Can also be supplied. It can also be realized by dividing the program code constituting the program of the present invention into a plurality of files and downloading each file from a different homepage. That is, a WWW server that allows a plurality of users to download a program file for realizing the functional processing of the present invention on a computer is also included in the present invention.

また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。   In addition, the program of the present invention is encrypted, stored in a storage medium such as a CD-ROM, distributed to users, and key information for decryption is downloaded from a homepage via the Internet to users who have cleared predetermined conditions. It is also possible to execute the encrypted program by using the key information and install the program on a computer.

また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。   In addition to the functions of the above-described embodiments being realized by the computer executing the read program, the OS running on the computer based on an instruction of the program is a part of the actual processing. Alternatively, the functions of the above-described embodiment can be realized by performing all of them and performing the processing.

さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。   Furthermore, after the program read from the recording medium is written in a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, the function expansion board or The CPU or the like provided in the function expansion unit performs part or all of the actual processing, and the functions of the above-described embodiments are realized by the processing.

本発明の実施形態1の情報処理システムの構成例を示す図である。It is a figure which shows the structural example of the information processing system of Embodiment 1 of this invention. 本発明の実施形態1の情報処理システムの一構成要素であるホストコンピュータのハードウェア構成を示す図である。It is a figure which shows the hardware constitutions of the host computer which is one component of the information processing system of Embodiment 1 of this invention. 本発明の実施形態1の情報処理システムの別構成例を示す図である。It is a figure which shows another structural example of the information processing system of Embodiment 1 of this invention. 本発明の実施形態1のバリアブルデータプリントの概略を説明するための図である。It is a figure for demonstrating the outline of the variable data printing of Embodiment 1 of this invention. 本発明の実施形態1のユーザインタフェースの一例を示す図である。It is a figure which shows an example of the user interface of Embodiment 1 of this invention. 本発明の実施形態1のユーザインタフェースにおけるコンテナの表示例を示す図である。It is a figure which shows the example of a display of the container in the user interface of Embodiment 1 of this invention. 本発明の実施形態1のコンテナの表示ルールを説明するための図である。It is a figure for demonstrating the display rule of the container of Embodiment 1 of this invention. 本発明の実施形態1のリンクの設定処理を示すフローチャートである。It is a flowchart which shows the setting process of the link of Embodiment 1 of this invention. 本発明の実施形態1のリンク設定時のユーザインタフェースの遷移例を示す図である。It is a figure which shows the example of a transition of the user interface at the time of the link setting of Embodiment 1 of this invention. 本発明の実施形態1のレイアウト計算処理を示すフローチャートである。It is a flowchart which shows the layout calculation process of Embodiment 1 of this invention. 本発明の実施形態1のレイアウト計算処理の詳細を示すフローチャートである。It is a flowchart which shows the detail of the layout calculation process of Embodiment 1 of this invention. 本発明の実施形態1のレイアウト計算処理時におけるコンテナの集合を説明するための図である。It is a figure for demonstrating the collection of the containers at the time of the layout calculation process of Embodiment 1 of this invention. 本発明の実施形態1のレイアウト計算処理におけるユーザインタフェースの一例を示す図である。It is a figure which shows an example of the user interface in the layout calculation process of Embodiment 1 of this invention. 本発明の実施形態1のマルチレコードとそのレイアウト方法の概要を示す図である。It is a figure which shows the outline | summary of the multi-record of Embodiment 1 of this invention, and its layout method. 本発明の実施形態1のバリアブルプリントシステムが実行する処理を示すフローチャートである。It is a flowchart which shows the process which the variable print system of Embodiment 1 of this invention performs. 本発明の実施形態1のバリアブルプリントシステムが実行する処理の具体例を説明するための図である。It is a figure for demonstrating the specific example of the process which the variable print system of Embodiment 1 of this invention performs. 本発明の実施形態1の余白削除設定プロパティダイアログの一例を示す図である。It is a figure which shows an example of the margin deletion setting property dialog of Embodiment 1 of this invention. 本発明の実施形態1の余白削除処理の詳細を説明するための図である。It is a figure for demonstrating the detail of the margin deletion process of Embodiment 1 of this invention. 本発明の実施形態2のバリアブルプリントシステムが実行する処理を示すフローチャートである。It is a flowchart which shows the process which the variable print system of Embodiment 2 of this invention performs. 本発明の実施形態2のバリアブルプリントシステムが実行する処理の具体例を説明するための図である。It is a figure for demonstrating the specific example of the process which the variable print system of Embodiment 2 of this invention performs. 本発明の実施形態2のバリアブルプリントシステムが実行する処理の具体例を説明するための図である。It is a figure for demonstrating the specific example of the process which the variable print system of Embodiment 2 of this invention performs. 本発明の実施形態2の余白無視設定プロパティダイアログの一例を示す図である。It is a figure which shows an example of the margin ignoring setting property dialog of Embodiment 2 of this invention. 本発明の実施形態2の余白削除処理の詳細を説明するための図である。It is a figure for demonstrating the detail of the margin deletion process of Embodiment 2 of this invention. 本発明の実施形態3のバリアブルプリントシステムが実行する処理を示すフローチャートである。It is a flowchart which shows the process which the variable print system of Embodiment 3 of this invention performs. 本発明の実施形態3のバリアブルプリントシステムが実行する処理の具体例を説明するための図である。It is a figure for demonstrating the specific example of the process which the variable print system of Embodiment 3 of this invention performs. 本発明の実施形態3の左右反転許可設定プロパティダイアログの一例を示す図である。It is a figure which shows an example of the left-right inversion permission setting property dialog of Embodiment 3 of this invention. 本発明の実施形態4のバリアブルプリントが実行する処理を示すフローチャートである。It is a flowchart which shows the process which the variable printing of Embodiment 4 of this invention performs. 本発明の実施形態4のバリアブルプリントシステムが実行する処理の具体例を説明するための図である。It is a figure for demonstrating the specific example of the process which the variable print system of Embodiment 4 of this invention performs. 本発明の実施形態4のOptionalプロパティダイアログの一例を示す図である。It is a figure which shows an example of the Optional property dialog of Embodiment 4 of this invention.

符号の説明Explanation of symbols

101 ホストコンピュータ
103 ユーザインタフェース
105 レイアウトエンジン
107 ネットワーク
109 プリントサーバ
113 プリンタ
115 ファイルサーバ
117 データベースサーバ
119 データベース
121 レイアウト編集アプリケーション
123 通信チャネル
225 レイアウトエンジン
227 エンジンサーバ
101 host computer 103 user interface 105 layout engine 107 network 109 print server 113 printer 115 file server 117 database server 119 database 121 layout editing application 123 communication channel 225 layout engine 227 engine server

Claims (12)

複数種類のデータフィールドからなるレコードから、選択されたデータフィールドのデータを差し込むためのフィールド領域を、ページ内にレイアウトする情報処理装置であって、
前記ページ中のフィールド領域に差し込むデータから関心領域を検出するための設定を行う設定手段と、
前記設定手段による設定がなされたフィールド領域に、差込対象のデータを差し込む場合、前記データ中の関心領域を検出する検出手段と、
前記検出手段で検出した関心領域を差込先のフィールド領域に差し込み、その関心領域及びその差込先のフィールド領域のサイズに基づいて、両者のサイズを変更制御して、前記ページ内にレイアウトするレイアウト手段と
を備えることを特徴とする情報処理装置。
An information processing apparatus that lays out in a page a field area for inserting data of a selected data field from a record composed of a plurality of types of data fields,
Setting means for performing settings for detecting a region of interest from data inserted into a field region in the page;
Detecting means for detecting a region of interest in the data when inserting data to be inserted into the field area set by the setting means;
The region of interest detected by the detection means is inserted into the field field of the insertion destination, and the size of both is changed and controlled based on the size of the region of interest and the field region of the insertion destination, and is laid out in the page. An information processing apparatus comprising: a layout unit.
前記検出手段は、前記ページの背景色に基づいて決定される、処理対象のデータ中の余白領域を検出することで、前記データ中の関心領域を検出する
ことを特徴とする請求項1に記載の情報処理装置。
The detection unit detects a region of interest in the data by detecting a blank region in the data to be processed, which is determined based on a background color of the page. Information processing device.
前記設定手段による設定は、前記ページの背景色に基づいて決定される、処理対象のデータ中の余白領域を検出することで、前記データ中の関心領域を検出するための設定である
ことを特徴とする請求項2に記載の情報処理装置。
The setting by the setting means is a setting for detecting a region of interest in the data by detecting a blank area in the data to be processed, which is determined based on the background color of the page. The information processing apparatus according to claim 2.
前記検出手段は、矩形領域からなるデータの各辺から対辺方向に垂直に画像を走査して得られる、前記ページの背景色を含む所定色範囲内の色以外の色が最初に検出される画素を含む、走査を開始した辺に平行な線分を検出し、各辺からの走査によって検出される線分によって囲まれる矩形領域を関心領域として検出し、
前記余白領域は、前記矩形領域からなるデータから検出された前記関心領域以外の領域である
ことを特徴とする請求項3に記載の情報処理装置。
The detection means is a pixel in which a color other than a color within a predetermined color range including a background color of the page, which is obtained by scanning an image perpendicularly in the opposite direction from each side of data consisting of a rectangular area, is detected first. Including a line segment that is parallel to the side where scanning started, and a rectangular region surrounded by the line segment detected by scanning from each side is detected as a region of interest,
The information processing apparatus according to claim 3, wherein the blank area is an area other than the area of interest detected from data including the rectangular area.
前記ページ中のフィールド領域間の関連付けを行うリンクを作成する作成手段を更に備え、
前記設定手段による設定は、前記リンクで結合されたフィールド領域それぞれに差し込むデータから、前記リンク側に存在する余白領域を検出することで、前記フィールド領域それぞれに差し込むデータ中の関心領域を検出するための設定である
ことを特徴とする請求項1に記載の情報処理装置。
A creation means for creating a link for associating field areas in the page;
The setting by the setting means is to detect a region of interest in data to be inserted into each field area by detecting a blank area existing on the link side from data to be inserted into each field area connected by the link. The information processing apparatus according to claim 1, wherein the information processing apparatus is configured as follows.
前記検出手段は、矩形領域からなるデータの各辺の内、前記リンク側にある辺から対辺方向に所定線分単位で垂直に画像を走査し、各線分による走査によって、前記ページの背景色を含む所定色範囲内の色以外の色が最初に検出される画素までの線分領域を検出し、各走査によって検出された線分領域からなる領域を余白領域として検出し、その余白領域以外の領域を関心領域として検出する
ことを特徴とする請求項5に記載の情報処理装置。
The detecting means scans an image vertically in units of a predetermined line segment from the side on the link side to the opposite side of each side of data consisting of a rectangular area, and the background color of the page is determined by scanning each line segment. The line segment area up to the first pixel where a color other than the color within the predetermined color range is detected is detected, the area composed of the line segment areas detected by each scan is detected as a blank area, and the area other than the blank area is detected. The information processing apparatus according to claim 5, wherein the area is detected as a region of interest.
前記レイアウト手段は、更に、前記リンクで結合されているフィールド領域内それぞれに差し込まれた前記関心領域間が最小となる最小距離を検索し、その最小距離に基づいて、前記リンクで結合されているフィールド領域の位置を変更する
ことを特徴とする請求項6に記載の情報処理装置。
The layout means further searches for a minimum distance between the regions of interest inserted in each of the field regions connected by the link, and is connected by the link based on the minimum distance. The information processing apparatus according to claim 6, wherein the position of the field area is changed.
前記設定手段による設定は、更に、前記関心領域を、差込先の前記フィールド領域内で任意の角度に回転するための設定である
ことを特徴とする請求項7に記載の情報処理装置。
The information processing apparatus according to claim 7, wherein the setting by the setting unit is a setting for rotating the region of interest at an arbitrary angle within the field region of the insertion destination.
前記リンクで結合されているフィールド領域内のどちらかに前記任意の角度に回転するための設定がなされている場合、前記レイアウト手段は、その回転するための設定がなされている前記フィールド領域に差し込む前記関心領域の回転前後における、該リンクで結合されているフィールド領域内それぞれに差し込まれた前記関心領域間が最小となる第1及び第2最小距離を検索し、その内のより小さいほうの最小距離に基づいて、前記リンクで結合されているフィールド領域の位置を変更する
ことを特徴とする請求項7に記載の情報処理装置。
If the setting is made to rotate to the arbitrary angle in either of the field areas connected by the link, the layout means inserts into the field area set for the rotation. Before and after the rotation of the region of interest, the first and second minimum distances that minimize the distance between the regions of interest inserted in the field regions connected by the link are searched, and the smaller minimum of them is searched The information processing apparatus according to claim 7, wherein the position of the field area connected by the link is changed based on a distance.
前記設定手段による設定は、更に、前記レイアウト手段によるレイアウト対象の前記フィールド領域及びそれに差し込まれるデータの表示を制御するための設定であり、
前記表示を制御するための設定がなされている場合、前記レイアウト手段は、前記ページ内に収まらない前記フィールド領域及びそれに差し込まれるデータの表示を禁止する
ことを特徴とする請求項1に記載の情報処理装置。
The setting by the setting unit is a setting for controlling display of the field area to be laid out by the layout unit and data inserted therein,
2. The information according to claim 1, wherein when the setting for controlling the display is made, the layout unit prohibits display of the field area that does not fit in the page and data inserted therein. 3. Processing equipment.
複数種類のデータフィールドからなるレコードから、選択されたデータフィールドのデータを差し込むためのフィールド領域を、ページ内にレイアウトする情報処理装置の制御方法であって、
前記ページ中のフィールド領域に差し込むデータから関心領域を検出するための設定を行う設定工程と、
前記設定工程による設定がなされたフィールド領域に、差込対象のデータを差し込む場合、前記データ中の関心領域を検出する検出工程と、
前記検出工程で検出した関心領域を差込先のフィールド領域に差し込み、その関心領域及びその差込先のフィールド領域のサイズに基づいて、両者のサイズを変更制御して、前記ページ内にレイアウトするレイアウト工程と
を備えることを特徴とする情報処理装置の制御方法。
A method for controlling an information processing apparatus that lays out a field area for inserting data of a selected data field from a record including a plurality of types of data fields in a page,
A setting step for performing settings for detecting a region of interest from data inserted into a field region in the page;
A detection step of detecting a region of interest in the data when inserting data to be inserted into the field region set by the setting step;
The region of interest detected in the detection step is inserted into the field area of the insertion destination, and the size of both is changed and controlled based on the size of the region of interest and the field area of the insertion destination, and is laid out in the page. A method for controlling an information processing apparatus, comprising: a layout step.
複数種類のデータフィールドからなるレコードから、選択されたデータフィールドのデータを差し込むためのフィールド領域を、ページ内にレイアウトする情報処理装置の制御を実現するためのプログラムであって、
前記ページ中のフィールド領域に差し込むデータから関心領域を検出するための設定を行う設定工程のプログラムコードと、
前記設定工程による設定がなされたフィールド領域に、差込対象のデータを差し込む場合、前記データ中の関心領域を検出する検出工程のプログラムコードと、
前記検出工程で検出した関心領域を差込先のフィールド領域に差し込み、その関心領域及びその差込先のフィールド領域のサイズに基づいて、両者のサイズを変更制御して、前記ページ内にレイアウトするレイアウト工程のプログラムコードと
を備えることを特徴とするプログラム。
A program for realizing control of an information processing apparatus that lays out a field area for inserting data of a selected data field from a record including a plurality of types of data fields in a page,
A program code of a setting step for performing setting for detecting a region of interest from data to be inserted into a field region in the page;
When inserting the data to be inserted into the field region set by the setting step, the program code of the detection step for detecting the region of interest in the data,
The region of interest detected in the detection step is inserted into the field area of the insertion destination, and based on the size of the region of interest and the field area of the insertion destination, the size of both is controlled to be laid out in the page. A program comprising: a program code for a layout process.
JP2005029831A 2005-02-04 2005-02-04 Information processing apparatus, control method therefor, and program Expired - Fee Related JP4522280B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005029831A JP4522280B2 (en) 2005-02-04 2005-02-04 Information processing apparatus, control method therefor, and program
US11/346,178 US7861160B2 (en) 2005-02-04 2006-02-03 Laying out images in fields, linking the fields, and calculating distance before and after image rotation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005029831A JP4522280B2 (en) 2005-02-04 2005-02-04 Information processing apparatus, control method therefor, and program

Publications (3)

Publication Number Publication Date
JP2006215925A true JP2006215925A (en) 2006-08-17
JP2006215925A5 JP2006215925A5 (en) 2008-03-21
JP4522280B2 JP4522280B2 (en) 2010-08-11

Family

ID=36914273

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005029831A Expired - Fee Related JP4522280B2 (en) 2005-02-04 2005-02-04 Information processing apparatus, control method therefor, and program

Country Status (2)

Country Link
US (1) US7861160B2 (en)
JP (1) JP4522280B2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010098450A (en) * 2008-10-15 2010-04-30 Canon Inc Image-processing apparatus, server apparatus, and control method
JP2013541068A (en) * 2010-08-11 2013-11-07 ナイキ インターナショナル リミテッド Method, computer readable medium and apparatus for intelligent display of information in a user interface
JP2014071754A (en) * 2012-09-28 2014-04-21 Sharp Corp Editing device and method for controlling editing device
JP2016197397A (en) * 2015-04-02 2016-11-24 ネイバー コーポレーションNAVER Corporation Content providing system and content providing method
US10255711B2 (en) 2015-04-03 2019-04-09 Naver Corporation System and method for providing contents by merging layers of page to which motion effect is set
WO2021049473A1 (en) * 2019-09-09 2021-03-18 パナソニックIpマネジメント株式会社 Video display system and video display method

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003026277A1 (en) * 2001-09-12 2003-03-27 Seiko Epson Corporation Composite printer and scan image copying method
US7742198B2 (en) * 2001-09-12 2010-06-22 Seiko Epson Corporation Image processing apparatus and method
JP4298642B2 (en) * 2004-12-14 2009-07-22 キヤノン株式会社 Layout processing method, layout processing apparatus, and layout processing program
US7489324B2 (en) * 2005-03-07 2009-02-10 Vistaprint Technologies Limited Automated image processing
US20070234232A1 (en) * 2006-03-29 2007-10-04 Gheorghe Adrian Citu Dynamic image display
GB2430060A (en) * 2005-09-08 2007-03-14 Hewlett Packard Development Co Flows for variable data printing
JP4743154B2 (en) * 2006-07-05 2011-08-10 セイコーエプソン株式会社 Document editing apparatus, program, and storage medium
AR067297A1 (en) * 2007-03-28 2009-10-07 Avery Dennison Corp TAPE TYPE USER INTERFACE FOR AN APPLICATION PROGRAM
US8386923B2 (en) 2007-05-08 2013-02-26 Canon Kabushiki Kaisha Document generation apparatus, method, and storage medium
US8042039B2 (en) * 2008-05-25 2011-10-18 Hewlett-Packard Development Company, L.P. Populating a dynamic page template with digital content objects according to constraints specified in the dynamic page template
US8171156B2 (en) * 2008-07-25 2012-05-01 JumpTime, Inc. Method and system for determining overall content values for content elements in a web network and for optimizing internet traffic flow through the web network
US9058140B2 (en) * 2009-03-10 2015-06-16 Canon Kabushiki Kaisha Print control apparatus and method utilizing a paper saving print setting
CN101635058B (en) * 2009-06-30 2011-06-01 方正国际软件(北京)有限公司 Method and a device for detecting margin
US10789412B2 (en) * 2012-02-20 2020-09-29 Wix.Com Ltd. System and method for extended dynamic layout
US10185703B2 (en) * 2012-02-20 2019-01-22 Wix.Com Ltd. Web site design system integrating dynamic layout and dynamic content
JP5733342B2 (en) * 2013-06-19 2015-06-10 富士ゼロックス株式会社 Display control apparatus and program
EP3400526A1 (en) * 2016-05-17 2018-11-14 Google LLC Constraints-based layout system for efficient layout and control of user interface elements
JP6833189B1 (en) * 2020-04-17 2021-02-24 株式会社セルシス E-book content generation methods and programs

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08320916A (en) * 1995-05-26 1996-12-03 Oki Electric Ind Co Ltd Method for detecting inclination of document image
JPH10257296A (en) * 1997-03-06 1998-09-25 Brother Ind Ltd Image forming device
JPH11250271A (en) * 1998-03-04 1999-09-17 Dainippon Screen Mfg Co Ltd Layout editing method, device therefor and record medium recorded with program for executing the processing
JP2000048216A (en) * 1998-07-24 2000-02-18 Dainippon Screen Mfg Co Ltd Method and device for picture parts block layout processing and computer readable storage medium
JP2000200270A (en) * 1998-10-27 2000-07-18 Canon Inc Method and device for document processing
JP2000222493A (en) * 1999-01-29 2000-08-11 Canon Inc Device and method for editing object, and storage medium storing computer readable program
JP2002158861A (en) * 2000-11-22 2002-05-31 Dainippon Screen Mfg Co Ltd Image layout system and recording medium
JP2003264783A (en) * 2001-12-25 2003-09-19 Matsushita Electric Ind Co Ltd Reproducing device, computer readable program and reproducing method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6879943B1 (en) * 1998-10-27 2005-04-12 Canon Kabushiki Kaisha Document processing apparatus and method
US7028258B1 (en) * 1999-10-01 2006-04-11 Microsoft Corporation Dynamic pagination of text and resizing of image to fit in a document
KR20040073511A (en) * 2001-12-25 2004-08-19 마츠시타 덴끼 산교 가부시키가이샤 Apparatus, method, and computer-readable program for playing back content

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08320916A (en) * 1995-05-26 1996-12-03 Oki Electric Ind Co Ltd Method for detecting inclination of document image
JPH10257296A (en) * 1997-03-06 1998-09-25 Brother Ind Ltd Image forming device
JPH11250271A (en) * 1998-03-04 1999-09-17 Dainippon Screen Mfg Co Ltd Layout editing method, device therefor and record medium recorded with program for executing the processing
JP2000048216A (en) * 1998-07-24 2000-02-18 Dainippon Screen Mfg Co Ltd Method and device for picture parts block layout processing and computer readable storage medium
JP2000200270A (en) * 1998-10-27 2000-07-18 Canon Inc Method and device for document processing
JP2000222493A (en) * 1999-01-29 2000-08-11 Canon Inc Device and method for editing object, and storage medium storing computer readable program
JP2002158861A (en) * 2000-11-22 2002-05-31 Dainippon Screen Mfg Co Ltd Image layout system and recording medium
JP2003264783A (en) * 2001-12-25 2003-09-19 Matsushita Electric Ind Co Ltd Reproducing device, computer readable program and reproducing method

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010098450A (en) * 2008-10-15 2010-04-30 Canon Inc Image-processing apparatus, server apparatus, and control method
JP2013541068A (en) * 2010-08-11 2013-11-07 ナイキ インターナショナル リミテッド Method, computer readable medium and apparatus for intelligent display of information in a user interface
US8769434B2 (en) 2010-08-11 2014-07-01 Nike, Inc. Intelligent display of information in a user interface
US9936043B2 (en) 2010-08-11 2018-04-03 Nike, Inc. Intelligent display of information in a user interface
US11272032B2 (en) 2010-08-11 2022-03-08 Nike, Inc. Intelligent display of information in a user interface
JP2014071754A (en) * 2012-09-28 2014-04-21 Sharp Corp Editing device and method for controlling editing device
JP2016197397A (en) * 2015-04-02 2016-11-24 ネイバー コーポレーションNAVER Corporation Content providing system and content providing method
US10755446B2 (en) 2015-04-02 2020-08-25 Naver Corporation System and method for providing contents using automatic margin creation
US10255711B2 (en) 2015-04-03 2019-04-09 Naver Corporation System and method for providing contents by merging layers of page to which motion effect is set
WO2021049473A1 (en) * 2019-09-09 2021-03-18 パナソニックIpマネジメント株式会社 Video display system and video display method
US11785192B2 (en) 2019-09-09 2023-10-10 Panasonic Intellectual Property Management Co., Ltd. Video display system and video display method

Also Published As

Publication number Publication date
JP4522280B2 (en) 2010-08-11
US7861160B2 (en) 2010-12-28
US20060190811A1 (en) 2006-08-24

Similar Documents

Publication Publication Date Title
JP4522280B2 (en) Information processing apparatus, control method therefor, and program
JP4332480B2 (en) Layout adjusting method, apparatus and program
JP4144883B2 (en) Information processing apparatus, control method therefor, and program
JP4700940B2 (en) Information processing apparatus, control method therefor, and program
US7831909B2 (en) Information processing apparatus, control method therefor, and program with display based on change amount of field areas
US7707494B2 (en) Information processing apparatus, control method therefor, and program
JP4047308B2 (en) Layout processing method, information processing apparatus, and computer program
US8464151B2 (en) Layout of field area where merchandise and advertising information are inserted or determining position and size of area where merchandise and advertising information flow
JP4332477B2 (en) Layout adjusting method, apparatus and program
JP4250540B2 (en) Layout adjustment method and apparatus, and layout adjustment program
JP4241410B2 (en) Layout adjustment method and apparatus, and layout adjustment program
JP4912139B2 (en) Information processing device
JP2006277727A (en) Layout processing method, information processing apparatus, and computer program
JP2005216179A (en) Document processor, document processing method, and document processing program
JP2005216180A (en) Apparatus, method and program for document processing
US7853872B2 (en) Laying out field regions in a page for insertion of data
JP4111519B2 (en) Layout processing method, information processing apparatus, and computer program
JP2007066304A (en) Information processor apparatus, its control method, and program
JP2005216181A (en) Document processing method, document processor, and document processing program
JP2007249431A (en) Information processor, its control method, and program
JP2008102869A (en) Layout processing method and device
JP2009070405A (en) Information processing method, device, and computer program

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080131

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080131

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100205

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100405

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100510

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100525

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130604

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees