System and method for creating an online table from a layout of objects
First Claim
1. A method for creating a table from a layout of a plurality of objects, comprising the steps of:
- identifying each of the objects relative to their location on a page;
creating at least one overlap group of the objects from the layout of the objects, each overlap group containing at least one object and any other object that overlaps the at least one of the objects, each overlap group being bound by one of a plurality of perimeters, wherein if a first object and a second object overlap each other, an overlap group containing the first object and the second object is created;
creating a framework of cells defining the table from the perimeters bounding each overlap group, the framework defined by rows and columns, each row defined by the top boundary of each perimeter and the bottom boundary of each perimeter, each of the columns defined by the left boundary of each perimeter and the right boundary of each perimeter, the intersection of each row and each column defining the location of each cell within the table; and
populating each cell that corresponds to the location of each overlap group with at least one element representing the objects within each overlap group as laid out on the page, thereby creating the table from the layout of objects.
2 Assignments
0 Petitions
Accused Products
Abstract
The objects are arranged into overlap groups. Each overlap group is bound by a rectangle (perimeter) and contains objects that, as a group, overlap each other while each overlap group does not overlap any other overlap group. Thus, the page is divided into distinct regions within each non-overlapping rectangle that contain the objects as laid out on the page. The boundaries of each rectangle provides the location for horizontal and vertical lines. These lines define rows and columns of a framework. The intersection of each row and column is a cell, used as a cell in the table representing the page. HTML elements are emitted into an HTML stream in order to define the layout of cells in the table and to populate each cell as either empty or with HTML elements representing the overlap group corresponding to the location of the cell. The HTML elements representing non-empty cells are either native text elements (if possible) or image elements (if native text does not preserve the layout of the overlap group corresponding to the non-empty cell). Therefore, the HTML elements represent and preserve the layout of objects within each overlap group in a memory efficient manner. Additional HTML elements can be added to a cell to preserve existing hyperlinks. Furthermore, nested tables can be created within a single cell of a larger table in order to provide text adornments associated with objects on the page in an efficient manner
-
Citations
44 Claims
-
1. A method for creating a table from a layout of a plurality of objects, comprising the steps of:
-
identifying each of the objects relative to their location on a page; creating at least one overlap group of the objects from the layout of the objects, each overlap group containing at least one object and any other object that overlaps the at least one of the objects, each overlap group being bound by one of a plurality of perimeters, wherein if a first object and a second object overlap each other, an overlap group containing the first object and the second object is created; creating a framework of cells defining the table from the perimeters bounding each overlap group, the framework defined by rows and columns, each row defined by the top boundary of each perimeter and the bottom boundary of each perimeter, each of the columns defined by the left boundary of each perimeter and the right boundary of each perimeter, the intersection of each row and each column defining the location of each cell within the table; and populating each cell that corresponds to the location of each overlap group with at least one element representing the objects within each overlap group as laid out on the page, thereby creating the table from the layout of objects. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method for creating a table from a layout of a plurality of objects, comprising the steps of:
-
(a) identifying each of the objects relative to their location on a page; (b) creating at least one overlap group of the objects based upon the location of the objects, each overlap group containing at least one object and any other object that overlaps the at least one object, wherein if a first object and a second object overlap each other, an overlap group containing the first object and the second object is created; (c) bounding each of the overlap groups within one of a plurality of non-overlapping rectangles, each non-overlapping rectangle defined by its bounding coordinates, each non-overlapping rectangle bounding an area of the page called an overlap region containing one or more of the objects; (d) storing the bounding coordinates of each non-overlapping rectangle within a table data structure as a plurality of x-coordinates and a plurality of y-coordinates; (e) creating a framework of cells defining the table from the coordinates, the framework defined by rows and columns, each row defined by the y-coordinates, each column defined by the x-coordinates, the intersection of each row and each column defining the location of each cell within the table; and (f) if one of the cells of the table corresponds to a designated part of the overlap region associated with one of the overlap groups, then merging all of the cells containing parts of the overlap region into a new cell within the framework of the table before populating the new cell with at least one element representing the objects within the overlap region as the objects are laid out on the page, thereby creating the table from the layout of objects. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A computer-readable medium on which is stored a computer program for creating a hypertext markup language (HTML) table from a layout of a plurality of objects, the computer program comprising instructions, which when executed by a computer, perform the steps of:
-
(a) identifying each of the objects relative to their location on a page; (b) creating at least one overlap group of the objects based upon the location each object, each overlap group containing at least one object and any other object that overlaps the at least one object, wherein if a first object and a second object overlap each other, an overlap group containing the first object and the second object is created; (c) bounding each of the overlap groups within one of a plurality of non-overlapping rectangles, each non-overlapping rectangle defined by its bounding coordinates, each non-overlapping rectangle bounding an area of the page called an overlap region containing at least one of the objects; (d) storing the bounding coordinates of each non-overlapping rectangle within an HTML table data structure as a plurality of x-coordinates and plurality of y-coordinates; (e) creating a framework of cells defining the HTML table from the coordinates, the framework defined by rows and columns, each row defined by the y-coordinates, each column defined by the x-coordinates, the intersection of each row and each column defining the location of each cell within the HTML table; (f) if one of the cells corresponds to a designated part of the overlap region associated with one of the overlap groups, then merging all of the cells containing parts of the overlap region into a new cell within the framework of the HTML table; (g) if the overlap group associated with the overlap region contains only one object having a predefined rendering characteristic, then emitting an HTML native text element for the new cell into an HTML stream, the HTML native text element corresponding to the one of the objects; and (h) if the overlap group associated with the overlap region does not contain only one object having the predefined rendering characteristic, then emitting an HTML image element into the HTML stream for the new cell corresponding to the area of the page defined by the overlap region, the HTML stream defining the HTML table, thereby creating the HTML table from the layout of the objects. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34)
-
-
35. A computer system for creating a table from a layout of a plurality of objects, comprising:
-
a processor; an input device coupled to the processor; a pixel-based display device coupled to the processor; a memory storage device coupled to the processor for maintaining the table data structure; and the processor being operative to; (a) identify each of the objects relative to their location on a pagedisplayed on the pixel-based display device, (b) create at least one overlap group of the objects based upon the location of the objects, each overlap group containing at least one object and any other object that overlaps the at least one object, wherein if a first object and a second object overlap each other, an overlap group containing the first object and the second object is created, (c) bound each overlap group within one of a plurality of non-overlapping rectangles, each non-overlapping rectangle defined by its bounding coordinates, each non-overlapping rectangle bounding an area of the page called an overlap region containing at least one object, (d) store the bounding coordinates of each non-overlapping rectangle within the table data structure as a plurality of x-coordinates and a plurality of y-coordinates, (e) sort the x-coordinates into ascending order and delete duplicate x-coordinates from the table data structure maintained on the memory storage device, (g) sort the y-coordinates into ascending order and delete duplicate y-coordinates from the table data structure maintained on the memory storage device, (h) create a framework of cells defining the table from the coordinates, the framework defined by rows and columns, each row defined by the y-coordinates, each column defined by the x-coordinates, the intersection of each row and each column defining the location of each cell within the table, (i) if one of the cells corresponds to a designated part of the overlap region associated with one of the overlap groups, then the processor is operative to merge all of the cells containing parts of the overlap region into a new cell within the framework of the table, and (j) populate the new cell with at least one element representing the objects within the overlap region as the objects are displayed on the page in the layout of the objects. - View Dependent Claims (36, 37, 38, 39, 40, 41, 42, 43, 44)
-
Specification