Patent ID: 8762832

Claim:
A computer-implemented method for laying out one or more content objects on a canvas comprising one or more pages, the method comprising: defining, by a computer executing a desktop publishing application, one or more constraints and one or more rules for each of the content objects; using, by the computer, the constraints to lay out the content objects on a first page of the canvas; using, by the computer, the constraints and the rules to attempt to fit content to the content objects on the first page; detecting, by the computer, that the content could not be fit to one or more of the content objects on the first page; and in response to detecting that the content could not be fit to one or more of the content objects on the first page, adding, by the computer, one or more additional pages to the canvas, the one or more additional pages having one or more additional content objects laid out thereupon, and using, by the computer, the constraints and rules to fit the content to the content objects on the first page and the one or more additional pages, wherein a content object on the first page is associated with a content object on one of the additional pages, and wherein fitting the content to the content objects on the first page and the one or more additional pages comprises flowing content between the associated content objects, and wherein using the constraints and the rules to fit the content to the content objects on the first page and the one or more additional pages comprises moving a content object from the first page to one of the one or more additional pages.