Read-order inference via content sorting
AssigneeAdobe Systems Incorporated
InventorPaton J. Lewis
Life of this patent
Estimating the term…
Abstract
The present disclosure includes a system for generating a presentation order from a document that has fixed presentation layout when rendered. Techniques include reconstructing structural information and logical ordering for fixed-layout documents. A document editor generates a presentation order, or a read order, for contents within a fixed-layout document. The document editor creates an initial sort order for areas of content within a document. The document editor then generates a presentation order based on graphical dimensions and graphical placement relationships among areas of content within a document. The resulting presentation order can be used to create a second document or second layout, or to add structural information to create reflowed or reflowable content.
Claims25
A method comprising:
- receiving data that defines a first layout specifying a fixed graphical placement for rendering of graphical content portions contained within the data;
- identifying graphical placement relationships between the graphical content portions in the first layout, and defining a sort order for the graphical content portions in the first layout based on the graphical placement relationships;
- generating an ordered tree structure for the graphical content portions based on the sort order, the ordered tree structure comprising a plurality of nodes, each node identifying one of the graphical content portions, the plurality of nodes arranged in the ordered tree structure such that an in-order traversal of each node of the ordered tree structure maintains a presentation order of the graphical content portions in the first layout, the ordered tree structure allowing graphical placement of the graphical content portions in a second layout in accordance with the presentation order based on the in-order traversal of each node of the ordered tree structure, the second layout different than the first layout;
- and
- providing the ordered tree structure to allow rendering of the graphical content portions in accordance with the second layout.
A method comprising:
- analyzing drawing commands that describe a presentation of content for a two-dimensional document, the presentation of content having a fixed, graphical layout in a rendering of the two-dimensional document;
- identifying graphical content portions from the drawing commands, each graphical content portion having graphical dimensions and a two-dimensional graphical location in the rendering of the two-dimensional document;
- sorting the graphical content portions to generate a sort order by comparing relative graphical locations and graphical dimensions of each graphical content portion with graphical locations and graphical dimensions of at least one other graphical content portion;
- and
- generating an ordered tree structure of the graphical content portions based on the sort order, the ordered tree structure comprising a plurality of nodes, each node identifying one of the graphical content portions, the plurality of nodes arranged in the ordered tree structure such that an in-order traversal of each node of the ordered tree structure maintains the presentation order between the graphical content portions, that enables rendering of the graphical content portions in a non-fixed graphical layout in accordance with the presentation order based on the in-order traversal of each node of the ordered tree structure.
A non-transitory computer program product including a computer-storage medium having instructions stored thereon for processing data information, such that the instructions, when carried out by a processing device, enable the processing device to perform the operations of:
- receiving data that defines a first layout specifying a fixed graphical placement for rendering of graphical content portions contained within the data;
- identifying graphical placement relationships between the graphical content portions in the first layout, and defining a sort order for the graphical content portions in the first layout based on the graphical placement relationships;
- generating an ordered tree structure for the graphical content portions, the ordered tree structure comprising a plurality of nodes, each node identifying one of the graphical content portions, the plurality of nodes arranged in the ordered tree structure such that an in-order traversal of each node of the ordered tree structure maintains a presentation order of the graphical content portions in the first layout, the ordered tree structure allowing graphical placement of the graphical content portions in a second layout in accordance with the presentation order based on the in-order traversal of each node of the ordered tree structure, the second layout different than the first layout;
- and
- providing ordered tree structure to allow rendering of the graphical content portions in accordance with the second layout.
A computer system comprising:
- a processor;
- a memory unit that stores instructions associated with an application executed by the processor;
- and
- an interconnect coupling the processor and the memory unit, enabling the computer system to execute the application and perform operations of:
- receiving data that defines a first layout specifying a fixed graphical placement for rendering of graphical content portions contained within the data;
- identifying graphical placement relationships between the graphical content portions in the first layout, and defining a sort order for the graphical content portions in the first layout based on the graphical placement relationships;
- generating an ordered tree structure for the graphical content portions, the ordered tree structure comprising a plurality of nodes associated with the graphical content portions, the plurality of nodes arranged in the ordered tree structure such that an in-order traversal of each node of the ordered tree structure maintains a presentation order relative spatial positions of the graphical content portions in the first layout, the ordered tree structure allowing graphical placement of the graphical content portions in a second layout in accordance with the presentation order based on the in-order traversal of each node of the ordered tree structure, the second layout different than the first layout;
- and
- providing the ordered tree structure to allow rendering of the graphical content portions in accordance with the second layout.
Dependencies are inferred from the claim text.