A system and method are provided for generating an expression definition file from which a creative expression may be printed. Briefly described, in one embodiment, the system includes a processing server having a processor electrically coupled to a local interface and a memory electrically coupled to the local interface. The processing server is configured to communicate with an affiliate server via a communications network. The system further comprises operating logic stored on the memory and executable by the processor. The operating logic includes logic to receive a logical creative expression that defines the creative expression from the affiliate server. The logical creative expression has one or more content elements and a template type. The operating logic further includes logic to identify a template stored in the memory that is associated with the template type, the template specifying one or more pages with associated regions, and logic to associate the content elements with the regions. Finally, the operating logic includes logic to generate the expression definition file embodying the creative expression, the expression definition file specifying the pages with their associated regions for printing.
|
20. A method for generating an expression definition file from which a creative expression may be printed, comprising the steps of:
generating a logical creative expression in a processing server based upon a selection input received from a client device via a communications network, the logical creative expression having a template type and at least one content element; identifying a template associated with the template type, the template specifying at least one page with at least one region; associating the at least one content element with the at least one region; and generating the expression definition file embodying the creative expression, the expression definition file specifying the at least one page with the at least one region for printing.
33. A system for generating an expression definition file from which a creative expression may be printed, comprising:
means for generating a logical creative expression based upon a selection input received from a client device via a communications network, the logical creative expression having a template type and at least one content element; means for identifying a template associated with the template type, the template specifying at least one page with at least one region; means for associating the at least one content element with the at least one region; and means for generating the expression definition file embodying the creative expression, the expression definition file specifying the at least one page with the at least one region for printing.
14. A system for generating an expression definition file from which a creative expression may be printed, comprising:
means within a processing device for receiving a logical creative expression defining the creative expression from an affiliate device, the logical creative expression having at least one content element and a template type; means for identifying a template stored in the memory associated with the template type, the template specifying at least one page with at least one region; means for associating the at least one content element with the at least one region; and means for generating the expression definition file embodying the creative expression, the expression definition file specifying the at least one page with the at least one region for printing.
1. A method for generating an expression definition file from which a creative expression may be printed, comprising the steps of:
receiving a logical creative expression in a processing server from an affiliate server, the logical creative expression having at least one content element and a template type; identifying a template associated with the template type within the processing server, the template specifying at least one page with at least one region; associating the at least one content element with the at least one region; and generating the expression definition file embodying the creative expression, the expression definition file specifying the at least one page with the at least one region and the at least one content element associated therewith for printing.
6. A system for generating an expression definition file from which a creative expression may be printed, comprising:
a processing server having a processor electrically coupled to a local interface and a memory electrically coupled to the local interface, the processing server being configured to communicate with an affiliate server via a communications network; and operating logic stored on the memory and executable by the processor, the operating logic comprising: logic to receive a logical creative expression defining the creative expression from the affiliate server, the logical creative expression having at least one content element and a template type; logic to identify a template stored in the memory associated with the template type, the template specifying at least one page with at least one region; logic to associate the at least one content element with the at least one region; and logic to generate the expression definition file embodying the creative expression, the expression definition file specifying the at least one page with the at least one region for printing. 25. A system for generating an expression definition file from which a creative expression may be printed, comprising:
a processing server having a processor electrically coupled to a local interface and a memory electrically coupled to the local interface, the processing server being configured to communicate with a client device via a communications network; and operating logic stored on the memory and executable by the processor, the operating logic comprising: logic to generate a logical creative expression based upon a selection input received from the client device via the communications network, the logical creative expression having a template type and at least one content element; logic to identify a template associated with the template type, the template specifying at least one page with at least one region; logic to associate the at least one content element with the at least one region; and logic to generate the expression definition file embodying the creative expression, the expression definition file specifying the at least one page with the at least one region for printing. 2. The method of
3. The method of
4. The method of
5. The method of
associating a first name with the at least one content element; associating a second name with the at least one region; and drawing an association between the first name and the second name.
9. The system of
10. The system of
11. The system of
12. The system of
13. The system of
logic to identify a first name associated with the at least one content element; logic to identify a second name associated with the at least one region; and logic to draw an association between the first name and the second name.
17. The system of
18. The system of
19. The system of
21. The method of
generating a number of graphical user interfaces that facilitate the generation of a selection input in the client device; transmitting the graphical user interfaces to the client device; and receiving the selection input comprising the template type and the at least one content element of the creative expression from the client device.
22. The method of
23. The method of
24. The method of
associating a first name with the at least one content element; associating a second name with the at least one region; and drawing an association between the first name and the second name.
28. The system of
29. The system of
logic to generate a number of graphical user interfaces that facilitate the generation of a selection input in the client device; logic to transmit the graphical user interfaces to the client device; and logic to receive the selection input from the client device comprising the template type and the at least one content element of the creative expression.
30. The system of
31. The system of
32. The system of
logic to identify a first name associated with the at least one content element; logic to identify a second name associated with the at least one region; and logic to draw an association between the first name and the second name.
34. The system of
means for generating a number of graphical user interfaces that facilitate the generation of a selection input in the client device; means for transmitting the graphical user interfaces to the client device; and means for receiving the selection input from the client device comprising the template type and the at least one content element of the creative expression.
35. The system of
|
This application is related to co-pending United States patent application entitled "System and Method for Printing a Creative Expression" filed on even date herewith and accorded Ser. No. 09/524,194, and to co-pending United States patent application entitled "System and Method to Configure a Creative Expression" filed on even date herewith and accorded Ser. No. 09/524,193, both of which are entirely incorporated herein by reference.
The present invention is generally related to the field of printing and, more particularly, is related to a system and method for creating and printing a creative expression.
The Internet, which started in the late 1960s, is a vast computer network consisting of many smaller networks that span the entire globe. The Internet has grown exponentially, and millions of users ranging from individuals to corporations now use permanent and dial-up connections to use the Internet on a daily basis worldwide. The computers or networks of computers connected within the Internet, known as "hosts", allow public access to databases featuring information in nearly every field of expertise and are supported by entities ranging from universities and government to many commercial organizations.
The information on the Internet is made available to the public through "servers". A server makes available files or documents that it contains to the public. An Internet server may distribute information to any computer that requests the files. The computer making such a request is known as the "client", which may be an Internet-connected workstation, bulletin board system or home personal computer (PC), etc.
TCP/IP (Transmission Control Protocol/Internet Protocol) is one networking protocol that permits full use of the Internet. All computers on a TCP/IP network include unique ID codes. Therefore, each computer on the Internet is identified by a unique number code, known as the IP (Internet Protocol) number or address, and corresponding network and computer names. In the past, an Internet user gained access to its resources only by identifying the host computer and a path through directories within the host's storage to locate a requested file.
The World Wide Web (Web) is a method of accessing information on the Internet that allows a user to navigate the Internet resources intuitively, without IP addresses or other technical knowledge. The Web dispenses with command-line utilities that typically require a user to transmit sets of commands to communicate with an Internet server. Instead, the Web is made up of billions of interconnected "pages", or documents, which can be displayed on a computer monitor. The Web pages are provided by special Web servers. Software that runs these Web servers is relatively simple and is available on a wide range of computer platforms including PC's. Equally available is a form of client software, known as a Web "browser", that is used to display Web pages as well as traditional non-Web files on the client system. Today, Web servers are increasing at a rate of thousands per month and have fast become the preferred method of Internet communication.
Created in 1991, the Web is based on the concept of "hypertext" and a transfer method known as "HTTP" (Hypertext Transfer Protocol). HTTP is designed to run primarily over TCP/IP and uses the standard Internet setup, where a server issues the data and a client displays or processes it. One format for information transfer is to create documents using Hypertext Markup Language (HTML). HTML pages are made up of standard text as well as formatting codes that indicate how the page should be displayed. The Web client, a browser, reads these codes in order to display the page.
Each Web page may contain pictures and sounds in addition to text. Hidden behind certain text, pictures or sounds are connections, known as "hypertext links" ("links"), to other pages within the same server or even on other computers within the Internet. For example, links may be visually displayed as words or phrases that may be underlined or displayed in a second color. Each link is directed to a web page by using a special name called a URL (Uniform Resource Locator). URLs enable a Web browser to go directly to any file held on any Web server. A user may also specify a known URL by writing it directly into the command line on a Web page to jump to another Web page.
The Web has become a very successful means of communication between central sites connected to the Internet and individual users on the Internet who wish to communicate with the site. The communications are controlled by two programs, a Web Browser that runs on the user's computer and a Web server that runs on the site's computer. A Web Browser sends a request to a Web Server using the HTTP protocol. A request results in a MIME ("Multipurpose Internet Mail Extensions"--see IETF RFC 1341, 1342, 1521) stream being sent back to the Web Browser. The MIME stream includes a Content Type header for the data that indicates how the Web Browser will treat the data being sent. For example, a "text/html" MIME type indicates that the data is in the hypertext markup language (HTML), and should be interpreted accordingly; an "image/gif" MIME type indicates that the data is a "gif" image file, and should be rendered as an image after unpacking the data in the file.
The Web server typically services a request either by sending back a file stored locally on the server or by running a program, the output of which is the MIME stream to be sent back to the browser. As noted above, the Web typically makes use of the hypertext format to display information to a user and receive input from the user. Hypertext allows a body of information to be organized into a hierarchical system in which the user can pursue increasing levels of specificity by following the various hypertext links from one document to the next.
A typical Web Browser or hypertext text display system displays a document in which selected words or phrases are highlighted. The highlighted phrase indicates that another document related to that phrase is in the system. If the person viewing the document selects one of these words or phrases by pointing and clicking using a pointing device, the second document related to that word or phrase is sent to the user's screen. The user may return to the original document at any time selecting a "back" option on the viewer screen.
This form of information display has found wide acceptance on the Internet because of its ease of use. A user located at a terminal on the network connects to a server on the network that has a "home page" in hypertext format. The home page is then displayed on the client by the browser. When the user selects a highlighted word, the browser communicates the user's choice to the server in a MIME data stream. The server then transfers the corresponding file to the client via the network. The browser on the client then displays this file to the user. Conventional browsers also allow the user to input text that is then transferred to the server when the user selects a graphical element such as a button, etc. Hence, the user can communicate information to the server beyond the predefined hypertext link information, provided the server is programmed to use this information.
Concurrent with the development of the Internet, printing technology has also advanced. Current printing technology allows the average user to print rather detailed images and texts of various fonts in black and white as well as in color. For example, ink jet printers provide significant capability to users to print detailed images in full color. An end user may download an HTML document from a server on the World Wide Web and then print the HTML document on a printer on the client device to obtain a hardcopy of the images and text contained therein.
However, the printing of HTML documents or other similar documents from a browser often provides limited flexibility with regard to the format of these documents, etc. In particular, HTML documents provide limited ability to print specialized creative expressions that include the image and text content contained therein in specialized formats. Often, to access the images and text content contained within an HTML document for a specific use such as creating a greeting card or poster, etc., an editing program is employed to manipulate the images and text in a desired manner. Unfortunately, editing programs are generally complicated and their use is often beyond the ability of the average user.
In light of the foregoing, the present invention provides a system and method for generating an expression definition file from which a creative expression may be printed. Briefly described, in one embodiment, the system includes a processing server having a processor electrically coupled to a local interface and a memory electrically coupled to the local interface. The processing server is configured to communicate with an affiliate server via a communications network.
The system further comprises operating logic stored on the memory and executable by the processor. The operating logic includes logic to receive a logical creative expression that defines the creative expression from the affiliate server. The logical creative expression has one or more content elements and a template type. The operating logic further includes logic to identify a template stored in the memory that is associated with the template type, the template specifying one or more pages with associated regions, and logic to associate the content elements with the regions. Finally, the operating logic includes logic to generate the expression definition file embodying the creative expression, the expression definition file specifying the pages with their associated regions for printing.
The present invention can also be viewed as providing a method for generating an expression definition file from which a creative expression may be printed. In this regard, the method can be broadly summarized by the following steps: receiving a logical creative expression in a processing server from an affiliate server, the logical creative expression having at least one content element and a template type; identifying a template associated with the template type within the processing server, the template specifying at least one page with at least one region; associating the at least one content element with the at least one region; and, generating the expression definition file embodying the creative expression, the expression definition file specifying the at least one page with the at least one region and the at least one content element associated therewith for printing.
In another embodiment, the present invention comprises another system for generating an expression definition file from which a creative expression may be printed. According to this embodiment, the system includes a processing server having a processor electrically coupled to a local interface and a memory electrically coupled to the local interface, the processing server being configured to communicate with a client device via a communications network. The system also includes operating logic stored on the memory and executable by the processor. The operating logic comprises logic to generate a logical creative expression based upon a selection input received from the client device via the communications network, the logical creative expression having a template type and at least one content element. The operating logic further includes logic to identify a template associated with the template type, the template specifying one or more pages, each page having one or more regions associated therewith. The operating logic also includes logic to associate the content element with the one of the regions. Finally, the operating logic includes logic to generate the expression definition file embodying the creative expression, the expression definition file specifying the pages with the regions contained therein for printing.
In addition, the present invention may be viewed as providing another method for generating an expression definition file from which a creative expression may be printed. In this regard, the method can be broadly summarized by the following steps: generating a logical creative expression in a processing server based upon a selection input received from a client device via a communications network, the logical creative expression having a template type and at least one content element; identifying a template associated with the template type, the template specifying at least one page with at least one region; associating the content element with the region; and generating the expression definition file embodying the creative expression, the expression definition file specifying the page with the region for printing.
The present invention provides distinct advantages, one of which is to allow a user to print out a creative expression in a desired form such as a greeting card or poster, etc., without requiring significant or complicated input from the end user.
Other features and advantages of the present invention will become apparent to one with skill in the art upon examination of the following drawings and detailed description. It is intended that all such additional features and advantages be included herein within the scope of the present invention.
The invention can be better understood with reference to the following drawings. The components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present invention. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the several views.
With reference to
Likewise, the affiliate server 106 preferably includes a processor 143 and a memory 146, both of which are electrically coupled to a local interface 149. The affiliate server 106 is also linked to the network 113 by way of a network interface 153. The affiliate server 106 also includes a number of input/output devices 156 each of which is electrically coupled to the local interface 149 by way of one or more input/output interfaces 159.
The creative expression system 100 also includes a client device 109 that preferably features a processor 163 and a memory 166 both of which are electrically coupled to a local interface 169. The client device 109 is also linked to the network 113 by way of a network interface 173 as shown. The client device 109 also includes a display device 176 that is electrically coupled to the local interface 169 via a display interface 179. The client device 109 may also feature a number of input/output devices 183 that are electrically coupled to the local interface 169 by way of the input/output interfaces 186. Note that the display device 176 actually falls within the realm of the input/output devices 183, however, it is shown separately for purposes of providing greater clarity in describing the present invention. In particular, displayed on the display device 176 is a browser 188 that, in turn, displays a graphical user interface 189 according to an embodiment of the present invention.
The application server 103 also includes create logic 193a and build logic 193b that are stored on the memory 126 and are executable by the processor 123 to perform the various functions of the application server 103 itself. Likewise, the affiliate server 106 also includes affiliate logic 196 that is stored on the memory 146 and is executable by the processor 143 in performing the various functions of the affiliate server 106. Finally, the client device 109 includes client print logic 199 that is stored in the memory 166 and is executable by the processor 163. Also, the application server 103, affiliate server 106, and the client device 109 may also include a suitable operating system stored on their respective memories 126, 146, and 166 as is known in the art.
The input/output devices 136, 156, and 183 of the creative expressions system 100 may comprise any one of several input/output devices, such as, for example, display devices, speakers, printers, keyboards, a mouse, microphones, networks, and/or other such devices. The display device 176 and display devices included in the input/output devices 135 and 156 may comprise, for example, a cathode ray tube (CRT), a liquid crystal display screen, a gas plasma-based flat panel display, indicator lights, light emitting diodes, and other suitable display devices.
The memories 126, 153, and 166 may comprise both volatile and nonvolatile memory components. Volatile components are those that do not retain data values upon loss of power. Conversely, nonvolatile components retain data upon a loss of power. In this manner, memories 126, 153, and 166 may include, for example, random access memory (RAM), read-only memory (ROM), hard disk drives, floppy disk drives, compact disk drives, tape drives, and other memory components. Also, the local interfaces 129, 149, and 169 may each comprise a data bus and an accompanying control bus that is controlled by the processors 123, 143, 163, respectively. The network interfaces 133, 153, and 173 may comprise an appropriate network interface card that are known in the art or other similar such device to interface with an appropriate network 113 that may comprise, for example, the Internet, wide area networks, or any other such networks.
Finally, the browser 188 is also included on the memory 166 and executable by the processor 163. The browser 188 provides a graphical user interface that allows the user to access information via, for example, the World Wide Web. The World Wide Web is comprised of the total set of interlinked hypertext documents located on servers in the world. Documents on the World Wide Web are typically written in Hypertext Markup Language (HTML) and are identified by Uniform Resource Locators (URLs). The URLs generally specify the machine and pathname by which a document or file can be accessed, and transmitted to the end user under Hypertext Transfer Protocol (HTTP).
Next, the operation of the creative expression system 100 is explained. In one embodiment, the creative expression system 100 may operate according to two different schemes. According to the first scheme, the user manipulates the client device 109 to interface with the application server 103 to create a specific creative expression such as a card, poster, label, or other expression pursuant to the create logic 193a. Ultimately, the build logic 193b is employed to create the creative expression that is embodied in a data file for transmission from the application server 103 to the client device 109 where it is printed on a printer attached thereto pursuant to the client print logic 199.
According to the second scheme, the user manipulates the client device 109 to interface with the affiliate server 106 to create or choose a predefined creative expression. In this manner, the affiliate server 106 may include logic to create the creative expression in a similar manner as the application server 103, or the user may simply choose from a ready made selection of predefined creative expressions. After the creative expression is chosen, a "jobspec" file that defines the content of the creative expression is transmitted from the affiliate server 106 to the application server 103 for further processing. The jobspec file defines the content of the creative expression in a predefined format as will be discussed with reference to later figures. The application server 103 then processes the jobspec file and generates a data file that specifically includes both the content and the form of the creative expression. The processing function of the application server 103 is performed by the build logic 193b.
The data file may then be transmitted to the client device 109 for printing pursuant to the client print logic 199. Alternatively, the client print logic 199 may reside on the affiliate server 106 or other computer associated with the affiliate entity and the data file may be transmitted thereto for printing in a similar manner. In this alternative, for example, the affiliate server 106 may be employed to take orders from the client device 109 to facilitate an "on-line" purchase of goods. The user may select a creative expression as discussed above that ultimately is printed at a location associated with the affiliate and is shipped with the goods ordered.
Turning then, to
With reference to
Turning then to
With reference to
The fifth graphical user interface also includes a custom button 233 that is depressed when the user wishes to enter their own greeting along with the particular logical creative expression 216 that is created.
Turning then to
With reference to
With reference then to
Referring back to
Turning to
The SPUI handler 363 generates the number of graphical user interfaces 189a-g (
The CPE session 369 interfaces with the UI controller 366 to cause a generation of a number of logical creative expressions 216 (
In addition, a number of image content objects 386 and text content objects 389 are generated and associated with respective logical creative expression objects 383. The number of logical creative expressions 383 generated by the LCE factory 376 are then supplied back to the CPE session 369 which in turn supplies the same to the UI controller object 366. The UI controller object 366 then can provide the same to the SPUI handler 363 that in turn transmits them in the graphical user interfaces 189a-g in conjunction with the creation function of said interfaces.
Turning then to
The first method is the "Add LCE to the LCE Collection Method 416". This method is called by the LCE factory 376 (
Turning then to
With reference to
Turning then, to
With reference to
Referring to
In block 526, a second loop is commenced for each text block in the results table associated with the current LCE. Thereafter, in block 529, a text content object 389 (
With reference to
Assuming that the LCE object 383 has been created in the UI controller 366, the UI controller 366 then executes the "create local creation API" method 433 (
Once the OET object 563 has been created, the local creation API 553 causes the instantiation of a page layout object 566 that translates the information relating to the creative expression contained in the OET object 563 into the form of an expression definition file 569. The expression definition file 569 comprises an extensible mark-up language file or other suitable file format to transport data across the network 113 (
The build logic 193b also includes a print job object 573 that is instantiated upon the receipt of ajobspec file 550. The print job object 573 processes the information from the jobspec file 550, thereby generating an appropriate LCE object 383. The print job object 573 then performs essentially similar functions of the local creation API 553 to ultimately cause the creation of an expression definition file 569 as will be discussed. Note that the build engine 193b ultimately creates an expression definition file from an LCE object 383 and a template, whether the LCE object 383 is created by the create logic 193a (
With reference then to
With reference to
Referring next to
Each region object 606 includes a number of variables, such as, a region name, X1 and Y1 coordinates, and X2 and Y2 coordinates. These coordinates are employed to locate the particular region object 606 in a predefined position on a respective page object 596. Other variables of the region object 606 include an ZOrder, rotation, resize to fit, maintain aspect ratio, transparent, and a content reference. The ZOrder variable indicates the particular order over which a region is placed above or below other region objects 606 on a particular page represented by a respective page object 596.
The rotation variable provides the orientation of the region object on the page and the resize to fit variable refers to whether the content assigned to the particular region object should be shrunk to fit the particular region itself. The maintain aspect ratio variable indicates whether the aspect ratio of a particular image/text block should be maintained so as to ensure no unwanted stretching in one or two dimensions occurs. The transparent regions variable refers to whether regions or white or other appropriate color in an image or block of text are to be solid white or transparent to allow an image or text to be superimposed on top of another image as background etc. The resize to fit, maintain aspect ratio, and transparent regions variables may be, for example, a Boolean variable that may be one of two values to indicate yes or no as is known in the art.
Each region object 606 also includes a content reference variable that refers to a particular position in the memory 126 (FIG. 1), preferably RAM memory, of an image or text content object 386 or 389 that is associated with the region object 606. The region methods 613 include methods to obtain the various coordinates and content from the memory 126 as well as other methods not shown herein.
Associated with each region object 606 is an image or text content object 386 or 389 as shown. As discussed before, each image and text content object 386/389 includes a region name of a region in template 253 (
With reference to
Turning then to
Turning to
Once the OET factory object 556 returns the OET object 563, thereby indicating that the creation of the OET object 563 is complete, the Do Print method 583 continues to block 663 where the populate method 616 (
With reference to
Thereafter, in block 689, a first loop is begun for each page of the OET object 563 instantiated in block 686 as indicated in the results table. Thereafter, in block 693, a page object 596 is instantiated for an identified page in the results table that is associated with the OET object 563. Next, in block 696, a second nested loop is begun for each region object 606 that is associated with the current page object 596 instantiated in block 693.
Thereafter, in block 699, a region object 606 is instantiated for an identified region in the results table that is associated with the current page object 596. Thereafter, in block 703, the new region object 606 is added to the current page object 596. In block 706, it is determined whether the last region object 606 associated with the current page object 596 has been instantiated as indicated by the results table. If such is the case, then the create OET method 586 progresses to block 709. If not, then the create OET method 586 moves to block 713 in which the next region in the current page is identified in the results table. Thereafter, the create OET method 586 reverts back to block 696 accordingly.
Assuming that the create OET method 586 progresses to block 709, then the current page object 596 is added to the current OET object 563. Next, in block 716, it is determined whether the last page of the OET object 563 identified in the results table has been created. If such is the case, then the create OET method 586 moves to block 719. Otherwise, the create OET method 586 moves to block 723 in which the next page is identified in the results table and then the create OET method 586 reverts back to block 689 as shown. Assuming that the create OET method 586 continues to block 719 from block 716, the newly created OET object 563 is returned to the OET factory object 719 which in turn informs the local creation API 563 that the OET object 563 has been created as was discussed in block 659 (
Turning next to
Beginning with block 733, the populate method 616 executes a first loop for each page object 596 (
If such is the case, then the populate method 616 progresses to block 749. If not, then the populate method 616 moves to block 753 in which the next region object 606 associated with the particular page object 596 is identified. Thereafter, the populate method 616 reverts back to block 736, thereby continuing the region loop. If, however, the populate method 616 progresses to block 749, then the populate method 616 determines whether the last page object 596 has been processed accordingly. If not, then the populate method 616 moves to block 756 in which the next page object 596 associated with the current OET object 563 is identified and, thereafter, the populate method 616 reverts to block 733. Otherwise, if the last page object 596 has been processed as determined in block 749, then the populate method 616 ends accordingly.
With reference to
In block 783, the "get coordinates" methods of the current region object 606 are called to obtain the particular location coordinates of the respective region on the current page. Then, in block 786, the "get content" method is called in the current region object 606 to obtain the HTTP address of the image or text content associated with the current region object 606. Alternatively, the actual image or text may be obtained in place of the HTTP addresses. In addition, other parameters are obtained from the region object 606 including the ZOrder, rotation, resize to fit, maintain aspect ratio, and transparent regions variables. Then, in block 789, necessary transformations of the content to be placed in the particular region of the page are performed such as rotation and scaling modifications.
Thereafter, in block 793, a content block is written to the expression definition file 569 that identifies the particular region and content associated therewith. In particular, the region is identified as either an image or a block of text as will be discussed with reference to a particular expression definition file 569. Thereafter, in block 796, it is determined whether the last region object 606 associated with the current page object 596 has been processed. If such is the case, then the create ED file method 623 progresses to block 799. If not, then the create ED file method 623 moves to block 803 in which the next region object 606 is identified in the current page object 596. Thereafter, the create ED file method 623 reverts back to block 779 accordingly. Otherwise, in block 799, the create ED file method 623 determines whether the last page object 596 associated with the current OET object 563 has been processed. If not, then the create ED file method 623 moves to block 806 in which the next page object 596 is identified in the OET object 563 and the create ED file method 623 then reverts back to block 776. Otherwise, the create ED file method 623 ends accordingly.
With reference to
Within the image content tags is the content 829 that defines the region on the particular page of the creative expression in question. In particular, the image is defined by x and y position coordinates, height, width, rotation angle, units of rotation, as well as the center of rotation. In addition, the content includes the HTTP address where the image may by found on the network 113 (FIG. 1). Note that this could also be the HTTP address for the text block in question or the content comprising a text block itself.
With reference to
Beginning with block 903, the process jobspec method 633 parses the jobspec file 903 to identify the various components contained therein. Thereafter, in block 906, the template name contained in the jobspec file 550 is identified. Then, in block 909, an LCE object 383 (
Next, in block 913, a first loop is initiated for each image contained in the jobspec file 550. In block 916, an image content object 386 (
In block 926, a second loop is commenced for each block of text contained in the jobspec file 550. Thereafter, in block 933, a text content object 389 (
In addition, once the current LCE object 626 (
With reference to
The jobspec file 550 also includes a number of pairs of image tags 969, each pair of image tags identifying the specifications for a particular image. Within the image tags 969 are region tags that identify a region name and a pair of remote tags that identify an HTTP address at which the image may be found. The jobspec file 550 includes essentially the content alone without any particular specification as to how and where the image or text block is to be printed on a particular page.
With reference to
Thus, the present invention provides a distinct advantage in that the actual images and text that are to be included in a particular creative expression are not downloaded across the network 113 until the last step in which the actual printing of the creative expression occurs thereby minimizing the amount of time it takes to transfer the bulk image and text data until the last steps are performed. The page builder object 986 also employs a font rendering module 1006 and an imaging library 1009 in order to create the images and text appropriately. In particular, the imaging library is used to convert various image file formats of images received from the network 113 into a file format that is recognizable by the operating system/printer 993.
Turning then to
If the downloaded content is an image, then the build method 986a moves to block 1036. Otherwise, the build method 986a progresses to block 1039. In block 1036, the downloaded image content is transformed into the DIB format. Otherwise, in block 1039, the downloaded text content is also transformed into DIB format. Thereafter, in block 1043, the newly created DIB file 989 is sent to the operating system 993 for printing. The operating system/printer 993 (
Thereafter, in block 1046, it is determined whether the last region has been printed. If not, then the build method 986a moves to block 1049 in which the next region is identified and thereafter, the build method 986a reverts back to block 1026. Otherwise, the build method 986a progresses to block 1053 in which it is determined whether the last page of the creative expression has been printed. If not, then the build method 986a moves to block 1056 in which the next page is identified for printing and thereafter the build method reverts back to block 1023. Otherwise, the build method 986a ends appropriately.
In addition to the forgoing, the logic 193a, 193b, 196, and 199 of the present invention can be implemented in hardware, software, firmware, or a combination thereof. In the preferred embodiment(s), the logic 193a, 193b, 196, and 199 is implemented in software or firmware that is stored in a memory and that is executed by a suitable instruction execution system. If implemented in hardware, as in an alternative embodiment, the logic 193a, 193b, 196, and 199 can implemented with any or a combination of the following technologies, which are all well known in the art: a discrete logic circuit(s) having logic gates for implementing logic functions upon data signals, an application specific integrated circuit having appropriate logic gates, a programmable gate array(s) (PGA), a fully programmable gate array (FPGA), etc.
Also, the flow chart of
The logic 193a, 193b, 196, and 199, which comprises executable instructions for implementing logical functions, can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. In the context of this document, a "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The computer readable medium can be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific examples (a nonexhaustive list) of the computer-readable medium would include the following: an electrical connection (electronic) having one or more wires, a portable computer diskette (magnetic), a random access memory (RAM) (magnetic), a read-only memory (ROM) (magnetic), an erasable programmable read-only memory (EPROM or Flash memory) (magnetic), an optical fiber (optical), and a portable compact disc read-only memory (CDROM) (optical). Note that the computer-readable medium could even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via for instance optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner if necessary, and then stored in a computer memory.
Many variations and modifications may be made to the above-described embodiment(s) of the invention without departing substantially from the spirit and principles of the invention. All such modifications and variations are intended to be included herein within the scope of the present invention.
Hall, David M., Anderson, Jeff M., Whitmarsh, Michael D.
Patent | Priority | Assignee | Title |
6914694, | Oct 12 2000 | Seiko Epson Corporation | Web print system with image enhancement |
7149363, | Oct 20 2000 | Canon Kabushiki Kaisha | Image processing method, apparatus therefor and storing medium |
7180617, | May 18 2001 | MBI BENEFITS, INC | Printing system and method |
7287229, | Apr 03 2002 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | Template-driven process system |
7385610, | Oct 18 2001 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | System and method for displaying graphics |
7394928, | Oct 20 2000 | Canon Kabushiki Kaisha | Selection of coefficients for quantization processing based on whether an original image is a still image or a moving image |
8707173, | May 31 2007 | ROCKETLIFE, INC | Systems and methods for rendering media |
8762889, | Sep 23 2009 | ROCKETLIFE, INC | Method and system for dynamically placing graphic elements into layouts |
Patent | Priority | Assignee | Title |
6317783, | Oct 28 1998 | YODLEE, INC | Apparatus and methods for automated aggregation and delivery of and transactions involving electronic personal information or data |
6601100, | Jan 27 1999 | Adobe Inc | System and method for collecting and analyzing information about content requested in a network (world wide web) environment |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Mar 13 2000 | Hewlett-Packard Development Company, L.P. | (assignment on the face of the patent) | / | |||
Mar 13 2000 | HALL, DAVID M | Hewlett-Packard Company | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 010748 | /0605 | |
Mar 13 2000 | ANDERSON, JEFF M | Hewlett-Packard Company | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 010748 | /0605 | |
Mar 13 2000 | WHITMARSH, MICHAEL D | Hewlett-Packard Company | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 010748 | /0605 | |
Sep 26 2003 | Hewlett-Packard Company | HEWLETT-PACKARD DEVELOPMENT COMPANY L P | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 014061 | /0492 |
Date | Maintenance Fee Events |
Jun 18 2007 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Jun 16 2011 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
May 29 2015 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Dec 16 2006 | 4 years fee payment window open |
Jun 16 2007 | 6 months grace period start (w surcharge) |
Dec 16 2007 | patent expiry (for year 4) |
Dec 16 2009 | 2 years to revive unintentionally abandoned end. (for year 4) |
Dec 16 2010 | 8 years fee payment window open |
Jun 16 2011 | 6 months grace period start (w surcharge) |
Dec 16 2011 | patent expiry (for year 8) |
Dec 16 2013 | 2 years to revive unintentionally abandoned end. (for year 8) |
Dec 16 2014 | 12 years fee payment window open |
Jun 16 2015 | 6 months grace period start (w surcharge) |
Dec 16 2015 | patent expiry (for year 12) |
Dec 16 2017 | 2 years to revive unintentionally abandoned end. (for year 12) |