IP Library Granted Patent US 9,383,957
Granted Patent B2
US 9,383,957 · App. 14/071,238 · Granted Jul 5, 2016

Dynamic variable-content publishing

Inventors: Mark A. Uhlig (Leawood, KS); Kristina M. Hayes (Kansas City, MO); Justin B. Hansen (Olathe, KS); Arthur S. French, II (Kansas City, MO); Lauretta Jo Schultz (Shawnee, KS); Amy J. Geisler (Olathe, KS)
Assignee: Uhlig LLC
G06F3/1297G06F17/212G06F17/227G06F17/2247G06F17/248G06F17/30011G06K15/181
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,383,957
App. No.
14/071,238
Granted
Jul 5, 2016
Kind
B2
Abstract

A product creator system includes a business application and a distribution utility. The business application enables a user to specify and/or edit (via a user client) a document. The business application generates a packet that is transmitted to the distribution utility. The packet describes the document, such as a document of a particular type (where the document is based on variable content and/or variable layout), and a distribution method for the document. Distribution methods include print, ship, mail, fax, email, and save. The distribution utility generates and distributes the document (via an output device) based on the packet. The business application, which can be used with a variety of distribution utilities, includes a web front-end and a packet generator. The distribution utility, which can be used with a variety of business applications, includes control logic and a document processor. The document processor helps generate the document.

Claims (63)

1. A method for modifying eXtensible Markup Language (XML) code that represents a document to be printed as a bound book, comprising:

accessing the XML code, wherein the XML code comprises:

a Cover XML element that represents a cover of the bound book and that includes a Front XML element that represents a front of the bound book, a Spine XML element that represents a spine of the bound book, and a Back XML element that represents a back of the bound book; and

a Pages XML element that represents pages of the bound book and that includes multiple Page XML elements, each Page XML element representing a logical page of the bound book;

identifying a physical page size that represents a physical sheet of material that will be used to print logical pages of the bound book;

modifying the XML code by changing a position of a Page XML element within the XML code, such that each Page XML element in the modified XML code represents a physical page on which multiple logical pages will be printed

identifying a maximum number of pages that are able to fit within one volume of the bound book;

determining whether a number of Page XML elements in the XML code exceeds the maximum number; and

responsive to the number of Page XML elements exceeding the maximum number, modifying the XML code by specifying an additional volume of the bound book.

2. The method of claim 1 , wherein modifying the XML code implements the physical page size by specifying one or more physical pages.

3. The method of claim 1 , further comprising determining a size of the spine of the bound book based on a number of Page XML elements in the XML code.

4. The method of claim 1 , further comprising modifying the modified XML code by specifying a “cut” mark that indicates where to cut the physical sheet of material.

5. The method of claim 1 , further comprising generating, based on the modified XML code, page description language content that represents the document to be printed as the bound book.

6. The method of claim 5 , wherein the page description language content comprises PostScript.

7. The method of claim 5 , wherein the page description language content comprises Portable Document Format.

8. The method of claim 5 , wherein generating, based on the modified XML code, page description language content that represents the document to be printed as the bound book comprises:

identifying, within the modified XML code, a portion that represents a piece of content to include in the bound book; and

determining a height and a width of the piece of content.

9. The method of claim 5 , wherein generating, based on the modified XML code, page description language content that represents the document to be printed as the bound book comprises:

identifying, within the modified XML code, a portion that represents an image to include in the bound book; and

determining a resolution of the image.

10. The method of claim 1 , further comprising prior to modifying the XML code:

identifying, within the XML code, a conditional logic portion that comprises an expression and data;

determining a Boolean value of the expression;

responsive to the determined value being “true”, modifying the XML code by replacing the conditional logic portion with the data; and

responsive to the determined value being “false”, modifying the XML code by removing the conditional logic portion.

11. The method of claim 1 , further comprising prior to modifying the XML code:

identifying, within the XML code, a variable;

determining a value of the variable; and

modifying the XML code by replacing the variable with the determined value.

12. The method of claim 11 , wherein the determined value comprises one element of a group containing document content information, XML code, an image, document layout information, and a template.

13. The method of claim 1 , further comprising prior to modifying the XML code:

identifying, within the XML code, content that is to be flowed;

identifying, within the XML code, a template through which the identified content is to be flowed;

determining whether the identified content fits within one instance of the identified template; and

responsive to the identified content not fitting within one instance of the identified template, modifying the XML code by specifying an additional instance of the identified template.

14. The method of claim 13 , further comprising responsive to the identified content not fitting within one instance of the identified template, modifying the XML code by specifying that the identified content will be placed within the additional instance of the identified template.

15. The method of claim 13 , further comprising:

identifying, within the XML code, a second set of content that is to be repeated when a flow occurs; and

responsive to the identified content not fitting within one instance of the identified template, modifying the XML code by adding the identified second set of content.

16. A method for modifying eXtensible Markup Language (XML) code that represents a document to be printed as a bound book, comprising:

accessing the XML code, wherein the XML code comprises:

a Cover XML element that represents a cover of the bound book and that includes a Front XML element that represents a front of the bound book, a Spine XML element that represents a spine of the bound book, and a Back XML element that represents a back of the bound book; and

a Pages XML element that represents pages of the bound book and that includes multiple Page XML elements, each Page XML element representing a logical page of the bound book;

identifying, within the XML code, content that is to be flowed;

identifying, within the XML code, a template through which the identified content is to be flowed;

determining whether the identified content fits within one instance of the identified template;

responsive to the identified content not fitting within one instance of the identified template, modifying the XML code by specifying an additional instance of the identified template;

identifying a physical page size that represents a physical sheet of material that will be used to print logical pages of the bound book; and

modifying the XML code by changing a position of a Page XML element within the XML code, such that each Page XML element in the modified XML code represents a physical page on which multiple logical pages will be printed.

17. The method of claim 16 , wherein modifying the XML code implements the physical page size by specifying one or more physical pages.

18. The method of claim 16 , wherein the steps further comprise modifying the modified XML code by specifying a “cut” mark that indicates where to cut the physical sheet of material.

19. A computer system for modifying eXtensible Markup Language (XML) code that represents a document to be printed as a bound book, the system comprising:

a non-transitory computer-readable storage medium storing computer program modules executable to perform steps comprising:

accessing the XML, code, wherein the XML, code comprises:

a Cover XML element that represents a cover of the bound book and that includes a Front XML element that represents a front of the bound book, a Spine XML element that represents a spine of the bound book, and a Back XML element that represents a back of the bound book; and

a Pages XML element that represents pages of the bound book and that includes multiple Page XML elements, each Page XML element representing a logical page of the bound book;

identifying a physical page size that represents a physical sheet of material that will be used to print logical pages of the bound book; and

modifying the XML code by changing a position of a Page XML element within the XML code, such that each Page XML element in the modified XML code represents a physical page on which multiple logical pages will be printed;

identifying a maximum number of pages that are able to fit within one volume of the bound book;

determining whether a number of Page XML elements in the XML code exceeds the maximum number; and

responsive to the number of Page XML elements exceeding the maximum number, modifying the XML, code by specifying an additional volume of the bound book; and

a computer processor for executing the computer program modules.

Continuity (4)
Continuation 13866934 · Apr 19, 2013
Continuation 11581870 · Oct 16, 2006
Provisional Application 60727217 · Oct 14, 2005
Related Publication 20140055803A1 · Feb 27, 2014