Patent ID: 8370738

Claim:
An information processing apparatus configured to store a template having a flow area where extraction conditions to extract contents data from a database is set and determine a layout by using the flow area including sub-templates in which extracted content data can be located, the information processing apparatus comprising: at least one processor coupled via a bus to a memory, the processor being programmed to control one or more of: an acquiring unit configured to acquire content data satisfying the extraction conditions from the database; a first determination unit configured to determine an area size of each cell area constituting the flow area based on a vertical sub-template size in each row and a horizontal sub-template size in each column, wherein the content data acquired by the acquiring unit are inserted in a plurality of sub-templates, the vertical sub-template size in each row is selected from a plurality of sub-templates aligned in a row direction representing a horizontal direction, and the horizontal sub-template size in each column is selected from a plurality of sub-templates aligned in a column direction representing a vertical direction; a second determination unit configured to determine a first difference of a total value of a length in a vertical direction of a plurality of cell regions which are arranged in the column direction calculated based on the area size of each cell area determined by the first determination unit and a length in the vertical direction of the flow area and to determine a second difference of a total value of a length in a horizontal direction of a plurality of cell regions which are arranged in the row direction calculated based on the area size of each cell area determined by the first determination unit and a length in the horizontal direction of the flow area; a third determination unit configured to determine a first dividing value of the first difference and a second dividing value of the second difference such that a reducing value of the each cell area is same; a reducing unit configured to reduce the length in the vertical direction of the area size of the each cell area determined by the first determination unit by using the first dividing value and the length in the horizontal direction of the area size of the each cell area determined by the first determination unit by using the second dividing value; and a locating unit configured to determine a size of each sub-template so that the sub-templates are included in the plurality of cell areas reduced by the reducing unit, and insert the content data in the sub-templates.