Text reflow in a structured document
First Claim
Patent Images
1. A method for reflowing a page, comprising:
- receiving, in a processor, a page represented in a page description language, the page including a plurality of page objects that include one or more textual elements and one or more graphical elements;
changing at least one of i) a size of the page and ii) a size of the page objects;
creating one or more new pages;
creating a map containing positions of the page objects in the page, and adding to the map updated positions of the page objects in the one or more new pages to produce a relationship for each page object between the position of the page object in the page and the updated position of the page object in the one or more new pages;
adding the page objects to the one or more new pages according to the updated positions in the map, including adding a particular graphical element to the one or more new pages based on updated positions of one or more particular textual elements in the one or more new pages as listed in the map, the particular graphical element being anchored to the one or more particular textual elements; and
scaling the particular graphical element based on a difference between a distance between two particular textual elements in the page and a corresponding distance between the particular two textual elements in the one or more new pages.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and computer program product for reflowing a PDL page without using the original application used to create the PDL page. The method and computer program product include receiving a page represented in a page description language, the page including a plurality of page objects, and changing one or both of a size of the page and a size of one or more of the page objects, while maintaining spatial relationships between the page objects.
-
Citations
20 Claims
-
1. A method for reflowing a page, comprising:
-
receiving, in a processor, a page represented in a page description language, the page including a plurality of page objects that include one or more textual elements and one or more graphical elements; changing at least one of i) a size of the page and ii) a size of the page objects; creating one or more new pages; creating a map containing positions of the page objects in the page, and adding to the map updated positions of the page objects in the one or more new pages to produce a relationship for each page object between the position of the page object in the page and the updated position of the page object in the one or more new pages; adding the page objects to the one or more new pages according to the updated positions in the map, including adding a particular graphical element to the one or more new pages based on updated positions of one or more particular textual elements in the one or more new pages as listed in the map, the particular graphical element being anchored to the one or more particular textual elements; and
scaling the particular graphical element based on a difference between a distance between two particular textual elements in the page and a corresponding distance between the particular two textual elements in the one or more new pages. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer program product, tangibly stored on a non-transitory computer-readable storage device, for reflowing a page, comprising instructions operable to cause a programmable processor to:
-
receive a page represented in a page description language, the page including a plurality of page objects that include one or more textual elements and one or more graphical elements; and change at least one of i) a size of the page and ii) a size of the page objects, wherein changing includes; creating one or more new pages, creating a map containing positions of the page objects in the page, and adding to the map updated positions of the page objects in the one or more new pages to produce a relationship for each page object between the position of the page object in the page and the updated position of the page object in the one or more new pages, adding the page objects to the one or more new pages according to the updated positions in the map, including adding a particular graphical element to the one or more new pages based on updated positions of one or more particular textual elements in the one or more new pages as listed in the map, the particular graphical element being anchored to the one or more particular textual elements; and
scaling the particular graphical element based on a difference between a distance between two particular textual elements in the page and a corresponding distance between the particular two textual elements in the one or more new pages. - View Dependent Claims (8, 9, 10)
-
-
11. A computer system comprising:
-
a memory for storing instructions; and a processor for executing the stored instructions to; receive a page represented in a page description language, the page including a plurality of page objects that include one or more textual elements and one or more graphical elements; and change at least one of i) a size of the page and ii) a size of the page objects, wherein changing includes; creating one or more new pages, creating a map containing positions of the page objects in the page, and adding to the map updated positions of the page objects in the one or more new pages to produce a relationship for each page object between the position of the page object in the page and the updated position of the page object in the one or more new pages, adding the page objects to the one or more new pages according to the updated positions in the map, including adding a particular graphical element to the one or more new pages based on updated positions of one or more particular textual elements in the one or more new pages as listed in the map, the particular graphical element being anchored to the one or more particular textual elements; and
scaling the particular graphical element based on a difference between a distance between two particular textual elements in the page and a corresponding distance between the particular two textual elements in the one or more new pages. - View Dependent Claims (12, 13, 14)
-
-
15. A method for reflowing a page, comprising:
-
receiving, in a processor, a page represented in a page description language, the page including a plurality of page objects; changing at least one of i) a size of the page and ii) a size of the page objects; creating one or more new pages; creating a map containing positions of the page objects in the page, and adding to the map updated positions of the page objects in the one or more new pages to produce a relationship for each page object between the position of the page object in the page and the updated position of the page object in the one or more new pages; scaling the page objects to produce scaled page objects that include one or more scaled textual elements and one or more scaled graphical elements; adding a particular scaled graphical element to the one or more new pages based on updated positions of one or more particular scaled textual elements in the one or more new pages as listed in the map, wherein the particular scaled graphical element is anchored to the one or more particular scaled textual elements; and
scaling the particular graphical element based on a difference between a distance between two particular textual elements in the page and a corresponding distance between the particular two textual elements in the one or more new pages. - View Dependent Claims (16, 17)
-
-
18. A computer program product, tangibly stored on a non-transitory computer-readable storage device, for reflowing a page, comprising instructions operable to cause a programmable processor to:
-
receive a page represented in a page description language, the page including a plurality of page objects; and change at least one of i) a size of the page and ii) a size of the page objects, wherein changing includes; creating one or more new pages, creating a map containing positions of the page objects in the page, and adding to the map updated positions of the page objects in the one or more new pages to produce a relationship for each page object between the position of the page object in the page and the updated position of the page object in the one or more new pages, scaling the page objects to produce scaled page objects that include one or more scaled textual elements and one or more scaled graphical elements, adding a particular scaled graphical element to the one or more new pages based on updated positions of one or more particular scaled textual elements in the one or more new pages as listed in the map, wherein the particular scaled graphical element is anchored to the one or more particular scaled textual elements, and scaling the particular graphical element based on a difference between a distance between two particular textual elements in the page and a corresponding distance between the particular two textual elements in the one or more new pages. - View Dependent Claims (19, 20)
-
Specification