CA2210405C - Method of utilizing variable data fields with a page description language - Google Patents
Method of utilizing variable data fields with a page description language Download PDFInfo
- Publication number
- CA2210405C CA2210405C CA002210405A CA2210405A CA2210405C CA 2210405 C CA2210405 C CA 2210405C CA 002210405 A CA002210405 A CA 002210405A CA 2210405 A CA2210405 A CA 2210405A CA 2210405 C CA2210405 C CA 2210405C
- Authority
- CA
- Canada
- Prior art keywords
- variable data
- page description
- description code
- graphics state
- data area
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K2215/00—Arrangements for producing a permanent visual presentation of the output data
- G06K2215/0002—Handling the output data
- G06K2215/0005—Accepting output data; Preparing data for the controlling system
- G06K2215/0011—Accepting output data; Preparing data for the controlling system characterised by a particular command or data flow, e.g. Page Description Language, configuration commands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K2215/00—Arrangements for producing a permanent visual presentation of the output data
- G06K2215/0002—Handling the output data
- G06K2215/0062—Handling the output data combining generic and host data, e.g. filling a raster
- G06K2215/0065—Page or partial page composition
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Record Information Processing For Printing (AREA)
Abstract
A method for printing variable data (figure 2) with a page description language, which enables the graphics states for a page of variable data to be defined and stored (figure 1, item 26); and which enables the stored graphics states to be associated with items of variable data from a database, so that once defined, the graphics states can be used to print multiple pages of variable data. The method of the present invention is implemented by means of a control task, which executes in a printer in conjunction with a page description program, to identify variable data areas in the program (figure 1, item 20), and store the graphics states for the variable data areas as they are defined by the program. After the program has terminated, a merge task associates items of variable data from a data file with the graphics states, generates a bit map for each variable data area, merges the bit maps with the page template (figure 1, item 16), and outputs the page from the printer. Accordingly, in the method of the present invention, bit maps for multiple pages of variable data are generated from a single page description program (figure 1, item 29).
Description
WO 9612x573 PCT/US96l00277 METHOD OF UTILIZING VARIABLE DATA FIELDS
WITH A PAGE DESCRIPTION LANGUAGE
Background of the Invention The present invention relates to the high-speed printing industry, and more particularly, to a method for printing variable data using a page description language in a high-speed printing environment.
Application programs, such as Adobe Illustrator, typically include a program which generates a specification of a screen or page's contents in a page description language.
The specification, or page description code, provides instructions as to how to generate the image in a printer.
- The page description code is transferred from the application program to a printer, where it is executed to generate a bit map of the page. The most commonly used page description language is PostScript°, which is a machine independent language produced by Adobe Systems, Inc.
An application program page typically contains a number of data areas with either graphic or alphanumeric data.
The PostScript language includes commands which define or build ~~graphics states~~ for each of the data areas on the page. These graphics states are sets of default attributes such as angle, scale factor, type font etc., which define how data is to appear on the page. Often multiple graphics states are defined for a single page, with the different states corresponding to different data areas on the page. Examples of commands that are used in PostScript to build a graphics state are: 20 rotate, /Times-Roman findfont, 14 scalefont, and setfont. In addition to commands which build graphics states, PostScript programs also include the graphic or alphanumeric data which is displayed in the data areas, as well as a print command such as ~~SHOW~~, which causes a bit map to be generated for the data.
In the past, page description languages, including PostScript, have only been used to print static data pages, because they lack the functionality required for variable data printing. In variable data printing, each page shares a common background, and at least one data field in which the displayed data changes for each page. Up until now, it has not been possible to print pages of variable data with PostScript, because PostScript is unable to save page backgrounds and graphics states from a page specification, and reuse the same background and graphics states when printing subsequent pages. Thus, with PostScript, whether the entire page is changed, or only a single item of data on the page is changed, a new PostScript program is generated to print each separate page.
For example, if thousands of copies of a mass mailing advertisement were to be printed, each copy being identical except for the recipient's name and address, it would be necessary to generate a new PostScript program defining the page background, and the graphics states for the name and address fields, for each new name and address that is printed. Hence, to print 50 advertisements, it would be necessary to generate 50 PostScript programs which each define virtually the same image.
In general, PostScript programs are very complex and require extensive processing to generate and execute. Thus, generating a new PostScript program each time a page of variable data is printed consumes an immense amount of processing time. In high-speed printing systems, it is typically the processing time, not the printer hardware, which determines the speed at which pages can be printed.
Therefore, the processing required to repetitively redefine the same background and graphics states for each page of variable data significantly slows the entire printing system.
Due to the amount of processing time consumed in redefining the page template and graphics states for each new page of data that is printed, as well as the resultant effect on printing speed, it is desirable to have a method for processing variable data wherein once defined, the template and graphics states for a page can be stored and reused for printing subsequent pages. Further, it is desirable to have a -a-WO 96/22573 Pc~iusvslooz~7 method for printing variable date which is compatible with existing printing systems and page description languages, such as PostScript, and which is capable of processing variable data in a high-speed industrial printing system.
Summary of the Invention It is an object of the present invention to provide a method for utilizing variable data with a page description language, which enables the template and graphics states for a page of variable data to be defined and stored; and which enables the stored graphics states to be associated with items of variable data from a database, so that once defined the graphics states can be used to print multiple pages of variable data. Further, it is an object of the present invention to provide such a method which is compatible with existing page description languages, and which can be used in a high-speed industrial printing system.
The method of the present invention is implemented by means of a control task which executes in conjunction with a page interpretive program, such as a PostScript program, to identify variable data areas in the page description code, and reserve the graphics states for the variable data areas as they are defined by the program. After the interpreter program has executed, a merge task is initiated. The merge task associates items of variable data from a data file with the reserved graphics states, generates a bit map for each variable data area, merges the bit maps with the page template, and outputs a complete bit map for the page.
Accordingly, in the method of the present invention, bit maps for multiple pages of variable data are generated from a single page description program.
The present invention assumes the generation of a page specification in PostScript, or another similar page description language, by the application program, and the transfer of this specification to a printer. According to the present invention, a control task activates and monitors the PostScript interpreter program in the printer. As the interpreter executes, it defines graphics states for the data areas on the page. The PostScript attributes for a graphics state are stored in a stack as they are defined, so that at any given point in the code, the stack represents all of the PostScript attributes for the current graphics state.
When the control task identifies a print command in the code, the control task interrupts the interpreter to determine whether the data to be printed is variable data. If the data is variable, the current graphics state, consisting of the attributes then existing in the stack and job specific attributes which are defined in a job file, is linked to the data area and reserved in an internal database. Further, character bit maps are generated in accordance with the graphics state, and linked to and reserved with the graphics state. After the graphics state and character bit maps have been reserved, the PostScript interpreter is resumed at the line of code following the print command.
The interpreter continues executing until either the control task detects another print command, or the last line of code is reached. If a second print command is detected, the interpreter is interrupted again and the above steps repeated, to reserve the stack contents and job attributes for the second data area, and to generate and store a second set of character bit maps. The control task continues in this manner monitoring and interrupting the interpreter program, until all of the variable data areas on the page have been detected, and graphics states and possibly character bit maps for the variable data areas have been reserved in the database.
As the PostScript interpreter executes, a bit map of the non-variable background graphics and text, otherwise referred to as a "template", is generated for the page. At the last code command, which in PostScript is typically "SHOWPAGE," the control task terminates the PostScript interpreter, and reserves the template in the database.
WO 96I2~573 PCTIUS96100277 The merge task is then_,initiated to print variable data pages using the reserved page template, graphics states and character bit maps. The merge task begins by retrieving a merge file containing the variable data to be printed. After retrieving the merge file, the task identifies the correct template for the current page, and the names of the graphics a states related to that template, from data in the merge file.
Then, using the name of the first graphics state reserved for the template, the merge task retrieves the graphics state from the database and the character bit maps linked to that state.
The merge task then retrieves data corresponding to that graphics state from the appropriate field in the merge file, and generates a bit map of the data in accordance with the graphics state and character bit maps. The merge task then merges the data bit map into the template. After the bit map has been generated and merged, the merge task identifies retrieves another graphics state for the template and repeats the process. If there are no more graphics states which correspond to variable data areas on the page, the merge task outputs the finished bit map for the page.
After the first page of data has been printed, the merge task retrieves a "clean" template from the database, and again identifies the graphics states for the page. The merge task then retrieves the next record of variable data from the database, and generates variable data bit maps for each of the fields in the record, in accordance with the reserved graphics states and character bit maps which correspond to each of the fields. The merge task continues in this manner, identifying variable data areas and generating bit maps for the variable data in the merge file, until a page has been printed for each variable data record in the file.
The method of the present invention is advantageous in that once the graphics states and template have been defined for a variable data page, they can be reused to print multiple pages of variable data with only a minimal amount of ' additional processing.
Accordingly, it is an object of the present invention to provide a method for printing variable data with a page description language; a method which increases the speed at which variable data pages can be printed; a method which enables the printing attributes for a page to be saved and used for printing multiple pages of data; and a method which is compatible with existing page description languages and printing systems.
Other objects and advantages of the present invention will be apparent from the following description, the accompanying drawings and the appended claims.
Brief Description of the Drawings Fig. 1 is a data flow diagram illustrating the preferred embodiment of the method of the present invention;
Fig. 2 is an example of a variable data page generated in accordance with the method of the present invention.
Detailed Description The present invention provides a computer-implemented method for reserving graphics states, which enables a page description language to be used for variable data printing. In accordance with the present invention, graphics states describing variable data areas are generated by a page interpreter program and reserved in an internal database. The graphics states are later accessed from the database and used for printing variable data pages. The method of the present invention can be employed with a conventional page description language, such as Postscript, to enable variable data pages to be printed with a minimum amount of processing.
As shown in Fig. 1, an image containing text and/or graphics data is created at a workstation 10, using a graphics ' application program such as Adobe Illustrator . As the image WO 96/22573 PCTlUS96/o0277 is created, the application program displays the image on the workstation screen. When the image is complete and ready to be printed as a page, the application program generates a specification of the image in PostScript in a conventional manner.
After the Postscript file 11 is generated, it is transferred from the workstation 10 to a printer generally designated as 12. In the printer 12, a PostScript interpreter 14 is executed to generate a pagemap of the image. In the method of the present invention, a control task operates in the printer 12 to initiate the PostScript interpreter program 14 and a merge task 16. The control task is initiated upon power-on of the printer 12, and controls and coordinates the variable data printing.
As the PostScript interpreter 14 executes, it defines the Postscript graphics state attributes for the page.
These attributes can include the size, font, position, orientation, and location in which the graphic or text data is to appear on the page. The specifics of the attributes which are available in Postscript to define how data is to appear on a page would be well-known to one skilled in the art.
Therefore, further description of these PostScript attributes is not provided.
However, one of the Postscript attributes, namely the region, has been expanded in the present invention to allow for variable data printing. In the method of the present invention, the region attribute is used to define the boundaries or extent to which a variable data graphics state will be allowed to effect a page. The graphics state extent is an invisible boundary which acts as a clippath for the page, to prevent variable data for a particular graphics state from extending outside the intended boundaries of the graphics state. The region of the graphics state extent is defined without altering Postscript, by using an ordinary shape, which is created as part of the image, to define the region. In the present invention, the artist creates a shape representing the extent as part of the page image, and specifies a particular trigger color or gray scale for the shape. Thus, the artist could include a medium gray scale rectangle in the upper left-hand corner of the page, with the boundaries of the rectangle representing the extent which the artist has defined for the graphics state positioned at that corner of the page.
The medium gray scale will then represent the trigger color, and will be specified as the trigger for the region attribute in a job file 18 in the printer 12.
In addition, a second parameter in the job file 18 can be used to specify whether the rectangle should appear on the page, or whether it is being used only to define a graphics state extent. Thus, if the artist also wants the medium gray scale rectangle to appear on the printed page, this parameter enables the color to act as a trigger, yet not inhibit the artist's design. When the rectangle is interpreted during the method of this invention, the control task will detect the trigger color and will save an "invisible" boundary represented by the rectangular as part of the graphics state.
As the Postscript attributes are defined, they are placed in a stack. When a new attribute is defined, it is added to the top of the stack. When an attribute is deleted, it is removed from the stack. The combination of all of the attributes located in the stack at any point during the execution of the PostScript interpreter 14 constitutes the "current" graphics state for the page.
When the interpreter reaches a print command, such as "SHOW" in PostScript, the command triggers the control task to interrupt the interpreter program. During this interruption, the control task interprets data in the PostScript file 11 and reserves a graphics state if the data is variable. Normally in a PostScript file, data which is to appear on the printed document is enclosed within parentheses.
Thus, the control task identifies data in the file 11 by locating parentheses in the code.
After the control task identifies the data, it ' interprets the data to determine whether it is static data, _g_ WO 96/2x573 PCTlUS96100277 which is to be part of the page-template, or variable data.
To interpret the data, the control task first reads the data located in the parentheses and compares the data with a list of literal data strings stored in the job file 18. The job file 18 contains a list of data strings which are each associated with the name of a graphics state and its corresponding data field in a merge file 20. In the preferred embodiment, the graphics state name is the same as the field name in the merge file 20. The merge file 20 contains variable data arranged in records, with each record corresponding to a different page. Each record contains one or more data fields, which each correspond to separate variable data areas on the page. The list of data strings and associated graphics state names is entered in the job file 18 by the print operator prior to initiating the print job. If the data from the Postscript file 11 matches a data string in the job file 18, the control task replaces the data from the file 11 with the graphics state name associated with the matching data string.
In this manner, the control task transforms static data in the PostScript file into a variable data field, by substituting a graphics state field name for the static data in the file.
In a second embodiment, the graphics state name corresponding to the data area is defined directly within the PostScript file 11, by making the name part of the image that is created in the application program. In this embodiment, the name is enclosed within brackets in the file, such as " «
»", to enable the control task to identify the data as defining a graphics state rather than being an ordinary data string. Thus, to define the graphics state "ADDRESS" within the PostScript file 11, the following would appear before a show command in the code: "(«ADDRESS »)". This second embodiment is advantageous in that it does not require the control task to compare the file data with a data list in the job file 18; however, it does require coordinating the graphics state and field names between the merge file 20 and the application program.
_g_ If the control task determines that the data corresponds to a variable area, it reads the current contents of the graphics state stack to determine the attributes to be used for printing data in that area. In addition to the Postscript attributes specified in the stack, the graphics state can also include attributes which are specifically _ tailored to variable data printing. These additional attributes can either appear after the graphics state name inside a "show" command, if the graphics state is defined directly in the PostScript file, or can be specified in the job file 18 prior to execution of the print job. These additional attributes specify how the variable data is to be positioned within the graphics state. The following is a list of the variable data attributes which can be specified for a print job:
Name:
A label used to identify the data to which the graphics state applies. A single datum may be inserted into more than one graphics state so this attribute is not unique to a single state.
Glyphs:
A list of character glyphs, both attributes and images, which are available for use in the graphics state. (e. g. an alphabet of 72 point Times-Roman bold italic characters).
Static Data:
Data to be used in the event that variable data is not available.
Identification:
A number used to uniquely identify a graphics state.
Justification:
How to handle the text left to right - left border, right border, centered or justified.
Alignment:
How to place the text vertically in the graphics state. This could be top, bottom or centered.
Word Wrapping:
Selects a word wrapping algorithm.
Dynamic Registration:
Information on how to determine the registration from one page to the next.
Logic Mode:
The manner in which the bitmap merge takes place. This is one of seven binary combination techniques.
DP Procedure:
A procedure (or program? used to manipulate the variable data just before the graphics state is applied.
Data Selection:
Which portions of the variable data to use.
Underline:
Selects underlined text.
When the control task is triggered to reserve a graphics state, the above listed attributes, if specified, are combined with the Postscript attributes from the stack, and reserved as a single graphics state under the name obtained from the PostScript file 11 or the job file 18 such as shown at 22.
After the control task has compiled the attributes for the current graphics state, it may instruct PostScript to generate a font cache 26 for the graphics state. The font cache 26 consists of a character bit map for each of the alphanumeric characters A-Z and 0-9 generated in the font specified in the graphics state. After PostScript has generated all of the character bit maps, and placed the bit maps in the font cache 26, the font cache is linked to the graphics state 22, and reserved in the database. After the ' control task has reserved the current graphics state 22 and the font cache 26 in the database, it resumes execution of the PostScript interpreter 14 at the first line of code after the print or "SHOW" command, so that the print command is not executed.
After the interpreter is resumed, it continues defining graphics state attributes for the page, until the control task detects another print or "SHOW" command. Upon -detecting another print command, the control task again interrupts execution of the interpreter, and determines whether the data in the PostScript file 11 corresponds to a variable data area. If the data corresponds to a variable data area, the control task again substitutes a graphics state name from the job file 18 for the data in the PostScript file 11, and reads the graphics state attributes from the stack and job file. The control task also instructs PostScript to generate another font cache, if the attributes of the current graphics state differ from the attributes of previously reserved graphics states. The current graphics state and font cache are then linked, and reserved in the database under the second graphics state name from the job file 18, such as shown at 24. If the data does not correspond to a variable data area, the control task resumes execution of the interpreter at the print command, so that a bit map for the data can be generated and added to the template.
At the final line of code, the template is complete, and incorporates all of the static text and graphic data that is to appear on the printed document. At this point, the control task terminates the interpreter, and saves the template to the database such as shown at 28. In PostScript, the control task is triggered to save the template by the "SHOWPAGE" command.
Since the control task of the invention operates externally of the Postscript interpreter, the method of the present invention enables bit maps and graphics states to be generated by the interpreter in a conventional manner.
However, rather than printing a completed page map at the end of the interpreter program, the method of this invention reserves the page maps, character bit maps and graphics states WO 9612573 PCTIi7S96/00277 generated by the interpreter, in order that they may be subsequently accessed and used to print multiple pages of variable data.
After the interpreter has been terminated, the control task initiates the merge task 16. The merge task 16 interfaces between the merge file 20, which has been pre-programmed with items of variable data, and the database in which the templates, font caches and graphics states defined by the interpreter have been saved, in order to combine the variable data with a template on a single page map. The merge task 16 begins by accessing the merge file 20 to retrieve the name of the template for the page, and then retrieving the specified template from the database. In addition, the merge task 16 retrieves the names of the data fields and reserved graphics states which are associated with the selected template from the merge file 20.
Using the name corresponding to the first graphics state on the page, the merge task 16 accesses the merge file 20 and retrieves the data stored under that field name in the first data record. In the representative merge file 20 shown in Fig. 1, the field names are NAME and NUMBER.
After the merge task 16 has read the data corresponding to the designated field name, it retrieves the graphics state which was reserved under the same name, as well as the character bit maps which are linked to that graphics state. The merge task 16 then generates a bit map of the data in accordance with the graphics state attributes. After the bit map is generated, it is merged into the template at the region corresponding to the graphics state, by writing the data bit map over the existing template bit map.
After the data from the first field has been merged into the template, the merge task 16 reads the name corresponding to a second variable data area from the merge file 20, if a second variable area exists on the page. The merge task 16 then retrieves the graphics state and linked font cache having the same name as the second variable area.
Next, using this name, the merge task 16 again accesses the merge file 20, and reads the data from the field of the same name. The merge task 16 then generates a bit map for the data in accordance with the graphics state and font cache, and again merges the data bit map into the template 28.
The merge task 16 continues the steps of identifying variable data areas for the template, retrieving graphics states and character bit maps corresponding to the variable areas, accessing variable data from the merge file 20, and generating bit maps for the variable data, until bit maps have been generated and merged for all of the variable data to be included on the page. When a bit map has been generated for each variable data area, and merged with the template 28, the pagemap is output for printing as shown at 29.
The merge task 16 then proceeds with printing a second page using the same template and graphics states, but a different variable data record in the merge file 20. To print the second page, the merge task 16 retrieves a "clean"
template from the database. Next, the merge task 16 again identifies the name of the first variable data area for that template and retrieves the graphics state of the same name.
Then, the merge task 16 reads the data for that field from the second record of the merge file 20, and generates a bit map of the data using the retrieved graphics state attributes and character bit maps. Once the bit map is generated, the merge task 16 merges the bit map into the template by writing the bit map over the template at the location defined by the graphics state.
The merge task 16 then continues processing in this manner until bit maps have been generated and merged into the template for all of the graphics states reserved for the page.
After all of the bit maps for the second page have been merged into the template, the page is printed. The merge task 16 continues, repeating these steps for each record of data in the merge file 20, until all of the variable data records have been printed on a page.
Figure 2 shows a variable data page printed in accordance with the method of this invention. On this page, the data fields 30 and 32 are static fields which are part of the page template. The data field 34 containing the name "William" is a variable data field. Different names such as Mark or Sam, from the merge file 20, are printed in this field on subsequent pages. The font, angle and color contrast in which "William" is displayed are all aspects of the graphics state which were defined and stored during the steps of the present invention. Data field 36 which contains the number "00467727" is a second variable data area on the page. Again, the data displayed in this area varies on each page, depending upon the contents of the merge file 20.
While the method described constitutes a preferred embodiment of the invention, it is to be understood that the present invention is not limited to this precise form, and that variations may be made without departing from the scope of the invention.
WITH A PAGE DESCRIPTION LANGUAGE
Background of the Invention The present invention relates to the high-speed printing industry, and more particularly, to a method for printing variable data using a page description language in a high-speed printing environment.
Application programs, such as Adobe Illustrator, typically include a program which generates a specification of a screen or page's contents in a page description language.
The specification, or page description code, provides instructions as to how to generate the image in a printer.
- The page description code is transferred from the application program to a printer, where it is executed to generate a bit map of the page. The most commonly used page description language is PostScript°, which is a machine independent language produced by Adobe Systems, Inc.
An application program page typically contains a number of data areas with either graphic or alphanumeric data.
The PostScript language includes commands which define or build ~~graphics states~~ for each of the data areas on the page. These graphics states are sets of default attributes such as angle, scale factor, type font etc., which define how data is to appear on the page. Often multiple graphics states are defined for a single page, with the different states corresponding to different data areas on the page. Examples of commands that are used in PostScript to build a graphics state are: 20 rotate, /Times-Roman findfont, 14 scalefont, and setfont. In addition to commands which build graphics states, PostScript programs also include the graphic or alphanumeric data which is displayed in the data areas, as well as a print command such as ~~SHOW~~, which causes a bit map to be generated for the data.
In the past, page description languages, including PostScript, have only been used to print static data pages, because they lack the functionality required for variable data printing. In variable data printing, each page shares a common background, and at least one data field in which the displayed data changes for each page. Up until now, it has not been possible to print pages of variable data with PostScript, because PostScript is unable to save page backgrounds and graphics states from a page specification, and reuse the same background and graphics states when printing subsequent pages. Thus, with PostScript, whether the entire page is changed, or only a single item of data on the page is changed, a new PostScript program is generated to print each separate page.
For example, if thousands of copies of a mass mailing advertisement were to be printed, each copy being identical except for the recipient's name and address, it would be necessary to generate a new PostScript program defining the page background, and the graphics states for the name and address fields, for each new name and address that is printed. Hence, to print 50 advertisements, it would be necessary to generate 50 PostScript programs which each define virtually the same image.
In general, PostScript programs are very complex and require extensive processing to generate and execute. Thus, generating a new PostScript program each time a page of variable data is printed consumes an immense amount of processing time. In high-speed printing systems, it is typically the processing time, not the printer hardware, which determines the speed at which pages can be printed.
Therefore, the processing required to repetitively redefine the same background and graphics states for each page of variable data significantly slows the entire printing system.
Due to the amount of processing time consumed in redefining the page template and graphics states for each new page of data that is printed, as well as the resultant effect on printing speed, it is desirable to have a method for processing variable data wherein once defined, the template and graphics states for a page can be stored and reused for printing subsequent pages. Further, it is desirable to have a -a-WO 96/22573 Pc~iusvslooz~7 method for printing variable date which is compatible with existing printing systems and page description languages, such as PostScript, and which is capable of processing variable data in a high-speed industrial printing system.
Summary of the Invention It is an object of the present invention to provide a method for utilizing variable data with a page description language, which enables the template and graphics states for a page of variable data to be defined and stored; and which enables the stored graphics states to be associated with items of variable data from a database, so that once defined the graphics states can be used to print multiple pages of variable data. Further, it is an object of the present invention to provide such a method which is compatible with existing page description languages, and which can be used in a high-speed industrial printing system.
The method of the present invention is implemented by means of a control task which executes in conjunction with a page interpretive program, such as a PostScript program, to identify variable data areas in the page description code, and reserve the graphics states for the variable data areas as they are defined by the program. After the interpreter program has executed, a merge task is initiated. The merge task associates items of variable data from a data file with the reserved graphics states, generates a bit map for each variable data area, merges the bit maps with the page template, and outputs a complete bit map for the page.
Accordingly, in the method of the present invention, bit maps for multiple pages of variable data are generated from a single page description program.
The present invention assumes the generation of a page specification in PostScript, or another similar page description language, by the application program, and the transfer of this specification to a printer. According to the present invention, a control task activates and monitors the PostScript interpreter program in the printer. As the interpreter executes, it defines graphics states for the data areas on the page. The PostScript attributes for a graphics state are stored in a stack as they are defined, so that at any given point in the code, the stack represents all of the PostScript attributes for the current graphics state.
When the control task identifies a print command in the code, the control task interrupts the interpreter to determine whether the data to be printed is variable data. If the data is variable, the current graphics state, consisting of the attributes then existing in the stack and job specific attributes which are defined in a job file, is linked to the data area and reserved in an internal database. Further, character bit maps are generated in accordance with the graphics state, and linked to and reserved with the graphics state. After the graphics state and character bit maps have been reserved, the PostScript interpreter is resumed at the line of code following the print command.
The interpreter continues executing until either the control task detects another print command, or the last line of code is reached. If a second print command is detected, the interpreter is interrupted again and the above steps repeated, to reserve the stack contents and job attributes for the second data area, and to generate and store a second set of character bit maps. The control task continues in this manner monitoring and interrupting the interpreter program, until all of the variable data areas on the page have been detected, and graphics states and possibly character bit maps for the variable data areas have been reserved in the database.
As the PostScript interpreter executes, a bit map of the non-variable background graphics and text, otherwise referred to as a "template", is generated for the page. At the last code command, which in PostScript is typically "SHOWPAGE," the control task terminates the PostScript interpreter, and reserves the template in the database.
WO 96I2~573 PCTIUS96100277 The merge task is then_,initiated to print variable data pages using the reserved page template, graphics states and character bit maps. The merge task begins by retrieving a merge file containing the variable data to be printed. After retrieving the merge file, the task identifies the correct template for the current page, and the names of the graphics a states related to that template, from data in the merge file.
Then, using the name of the first graphics state reserved for the template, the merge task retrieves the graphics state from the database and the character bit maps linked to that state.
The merge task then retrieves data corresponding to that graphics state from the appropriate field in the merge file, and generates a bit map of the data in accordance with the graphics state and character bit maps. The merge task then merges the data bit map into the template. After the bit map has been generated and merged, the merge task identifies retrieves another graphics state for the template and repeats the process. If there are no more graphics states which correspond to variable data areas on the page, the merge task outputs the finished bit map for the page.
After the first page of data has been printed, the merge task retrieves a "clean" template from the database, and again identifies the graphics states for the page. The merge task then retrieves the next record of variable data from the database, and generates variable data bit maps for each of the fields in the record, in accordance with the reserved graphics states and character bit maps which correspond to each of the fields. The merge task continues in this manner, identifying variable data areas and generating bit maps for the variable data in the merge file, until a page has been printed for each variable data record in the file.
The method of the present invention is advantageous in that once the graphics states and template have been defined for a variable data page, they can be reused to print multiple pages of variable data with only a minimal amount of ' additional processing.
Accordingly, it is an object of the present invention to provide a method for printing variable data with a page description language; a method which increases the speed at which variable data pages can be printed; a method which enables the printing attributes for a page to be saved and used for printing multiple pages of data; and a method which is compatible with existing page description languages and printing systems.
Other objects and advantages of the present invention will be apparent from the following description, the accompanying drawings and the appended claims.
Brief Description of the Drawings Fig. 1 is a data flow diagram illustrating the preferred embodiment of the method of the present invention;
Fig. 2 is an example of a variable data page generated in accordance with the method of the present invention.
Detailed Description The present invention provides a computer-implemented method for reserving graphics states, which enables a page description language to be used for variable data printing. In accordance with the present invention, graphics states describing variable data areas are generated by a page interpreter program and reserved in an internal database. The graphics states are later accessed from the database and used for printing variable data pages. The method of the present invention can be employed with a conventional page description language, such as Postscript, to enable variable data pages to be printed with a minimum amount of processing.
As shown in Fig. 1, an image containing text and/or graphics data is created at a workstation 10, using a graphics ' application program such as Adobe Illustrator . As the image WO 96/22573 PCTlUS96/o0277 is created, the application program displays the image on the workstation screen. When the image is complete and ready to be printed as a page, the application program generates a specification of the image in PostScript in a conventional manner.
After the Postscript file 11 is generated, it is transferred from the workstation 10 to a printer generally designated as 12. In the printer 12, a PostScript interpreter 14 is executed to generate a pagemap of the image. In the method of the present invention, a control task operates in the printer 12 to initiate the PostScript interpreter program 14 and a merge task 16. The control task is initiated upon power-on of the printer 12, and controls and coordinates the variable data printing.
As the PostScript interpreter 14 executes, it defines the Postscript graphics state attributes for the page.
These attributes can include the size, font, position, orientation, and location in which the graphic or text data is to appear on the page. The specifics of the attributes which are available in Postscript to define how data is to appear on a page would be well-known to one skilled in the art.
Therefore, further description of these PostScript attributes is not provided.
However, one of the Postscript attributes, namely the region, has been expanded in the present invention to allow for variable data printing. In the method of the present invention, the region attribute is used to define the boundaries or extent to which a variable data graphics state will be allowed to effect a page. The graphics state extent is an invisible boundary which acts as a clippath for the page, to prevent variable data for a particular graphics state from extending outside the intended boundaries of the graphics state. The region of the graphics state extent is defined without altering Postscript, by using an ordinary shape, which is created as part of the image, to define the region. In the present invention, the artist creates a shape representing the extent as part of the page image, and specifies a particular trigger color or gray scale for the shape. Thus, the artist could include a medium gray scale rectangle in the upper left-hand corner of the page, with the boundaries of the rectangle representing the extent which the artist has defined for the graphics state positioned at that corner of the page.
The medium gray scale will then represent the trigger color, and will be specified as the trigger for the region attribute in a job file 18 in the printer 12.
In addition, a second parameter in the job file 18 can be used to specify whether the rectangle should appear on the page, or whether it is being used only to define a graphics state extent. Thus, if the artist also wants the medium gray scale rectangle to appear on the printed page, this parameter enables the color to act as a trigger, yet not inhibit the artist's design. When the rectangle is interpreted during the method of this invention, the control task will detect the trigger color and will save an "invisible" boundary represented by the rectangular as part of the graphics state.
As the Postscript attributes are defined, they are placed in a stack. When a new attribute is defined, it is added to the top of the stack. When an attribute is deleted, it is removed from the stack. The combination of all of the attributes located in the stack at any point during the execution of the PostScript interpreter 14 constitutes the "current" graphics state for the page.
When the interpreter reaches a print command, such as "SHOW" in PostScript, the command triggers the control task to interrupt the interpreter program. During this interruption, the control task interprets data in the PostScript file 11 and reserves a graphics state if the data is variable. Normally in a PostScript file, data which is to appear on the printed document is enclosed within parentheses.
Thus, the control task identifies data in the file 11 by locating parentheses in the code.
After the control task identifies the data, it ' interprets the data to determine whether it is static data, _g_ WO 96/2x573 PCTlUS96100277 which is to be part of the page-template, or variable data.
To interpret the data, the control task first reads the data located in the parentheses and compares the data with a list of literal data strings stored in the job file 18. The job file 18 contains a list of data strings which are each associated with the name of a graphics state and its corresponding data field in a merge file 20. In the preferred embodiment, the graphics state name is the same as the field name in the merge file 20. The merge file 20 contains variable data arranged in records, with each record corresponding to a different page. Each record contains one or more data fields, which each correspond to separate variable data areas on the page. The list of data strings and associated graphics state names is entered in the job file 18 by the print operator prior to initiating the print job. If the data from the Postscript file 11 matches a data string in the job file 18, the control task replaces the data from the file 11 with the graphics state name associated with the matching data string.
In this manner, the control task transforms static data in the PostScript file into a variable data field, by substituting a graphics state field name for the static data in the file.
In a second embodiment, the graphics state name corresponding to the data area is defined directly within the PostScript file 11, by making the name part of the image that is created in the application program. In this embodiment, the name is enclosed within brackets in the file, such as " «
»", to enable the control task to identify the data as defining a graphics state rather than being an ordinary data string. Thus, to define the graphics state "ADDRESS" within the PostScript file 11, the following would appear before a show command in the code: "(«ADDRESS »)". This second embodiment is advantageous in that it does not require the control task to compare the file data with a data list in the job file 18; however, it does require coordinating the graphics state and field names between the merge file 20 and the application program.
_g_ If the control task determines that the data corresponds to a variable area, it reads the current contents of the graphics state stack to determine the attributes to be used for printing data in that area. In addition to the Postscript attributes specified in the stack, the graphics state can also include attributes which are specifically _ tailored to variable data printing. These additional attributes can either appear after the graphics state name inside a "show" command, if the graphics state is defined directly in the PostScript file, or can be specified in the job file 18 prior to execution of the print job. These additional attributes specify how the variable data is to be positioned within the graphics state. The following is a list of the variable data attributes which can be specified for a print job:
Name:
A label used to identify the data to which the graphics state applies. A single datum may be inserted into more than one graphics state so this attribute is not unique to a single state.
Glyphs:
A list of character glyphs, both attributes and images, which are available for use in the graphics state. (e. g. an alphabet of 72 point Times-Roman bold italic characters).
Static Data:
Data to be used in the event that variable data is not available.
Identification:
A number used to uniquely identify a graphics state.
Justification:
How to handle the text left to right - left border, right border, centered or justified.
Alignment:
How to place the text vertically in the graphics state. This could be top, bottom or centered.
Word Wrapping:
Selects a word wrapping algorithm.
Dynamic Registration:
Information on how to determine the registration from one page to the next.
Logic Mode:
The manner in which the bitmap merge takes place. This is one of seven binary combination techniques.
DP Procedure:
A procedure (or program? used to manipulate the variable data just before the graphics state is applied.
Data Selection:
Which portions of the variable data to use.
Underline:
Selects underlined text.
When the control task is triggered to reserve a graphics state, the above listed attributes, if specified, are combined with the Postscript attributes from the stack, and reserved as a single graphics state under the name obtained from the PostScript file 11 or the job file 18 such as shown at 22.
After the control task has compiled the attributes for the current graphics state, it may instruct PostScript to generate a font cache 26 for the graphics state. The font cache 26 consists of a character bit map for each of the alphanumeric characters A-Z and 0-9 generated in the font specified in the graphics state. After PostScript has generated all of the character bit maps, and placed the bit maps in the font cache 26, the font cache is linked to the graphics state 22, and reserved in the database. After the ' control task has reserved the current graphics state 22 and the font cache 26 in the database, it resumes execution of the PostScript interpreter 14 at the first line of code after the print or "SHOW" command, so that the print command is not executed.
After the interpreter is resumed, it continues defining graphics state attributes for the page, until the control task detects another print or "SHOW" command. Upon -detecting another print command, the control task again interrupts execution of the interpreter, and determines whether the data in the PostScript file 11 corresponds to a variable data area. If the data corresponds to a variable data area, the control task again substitutes a graphics state name from the job file 18 for the data in the PostScript file 11, and reads the graphics state attributes from the stack and job file. The control task also instructs PostScript to generate another font cache, if the attributes of the current graphics state differ from the attributes of previously reserved graphics states. The current graphics state and font cache are then linked, and reserved in the database under the second graphics state name from the job file 18, such as shown at 24. If the data does not correspond to a variable data area, the control task resumes execution of the interpreter at the print command, so that a bit map for the data can be generated and added to the template.
At the final line of code, the template is complete, and incorporates all of the static text and graphic data that is to appear on the printed document. At this point, the control task terminates the interpreter, and saves the template to the database such as shown at 28. In PostScript, the control task is triggered to save the template by the "SHOWPAGE" command.
Since the control task of the invention operates externally of the Postscript interpreter, the method of the present invention enables bit maps and graphics states to be generated by the interpreter in a conventional manner.
However, rather than printing a completed page map at the end of the interpreter program, the method of this invention reserves the page maps, character bit maps and graphics states WO 9612573 PCTIi7S96/00277 generated by the interpreter, in order that they may be subsequently accessed and used to print multiple pages of variable data.
After the interpreter has been terminated, the control task initiates the merge task 16. The merge task 16 interfaces between the merge file 20, which has been pre-programmed with items of variable data, and the database in which the templates, font caches and graphics states defined by the interpreter have been saved, in order to combine the variable data with a template on a single page map. The merge task 16 begins by accessing the merge file 20 to retrieve the name of the template for the page, and then retrieving the specified template from the database. In addition, the merge task 16 retrieves the names of the data fields and reserved graphics states which are associated with the selected template from the merge file 20.
Using the name corresponding to the first graphics state on the page, the merge task 16 accesses the merge file 20 and retrieves the data stored under that field name in the first data record. In the representative merge file 20 shown in Fig. 1, the field names are NAME and NUMBER.
After the merge task 16 has read the data corresponding to the designated field name, it retrieves the graphics state which was reserved under the same name, as well as the character bit maps which are linked to that graphics state. The merge task 16 then generates a bit map of the data in accordance with the graphics state attributes. After the bit map is generated, it is merged into the template at the region corresponding to the graphics state, by writing the data bit map over the existing template bit map.
After the data from the first field has been merged into the template, the merge task 16 reads the name corresponding to a second variable data area from the merge file 20, if a second variable area exists on the page. The merge task 16 then retrieves the graphics state and linked font cache having the same name as the second variable area.
Next, using this name, the merge task 16 again accesses the merge file 20, and reads the data from the field of the same name. The merge task 16 then generates a bit map for the data in accordance with the graphics state and font cache, and again merges the data bit map into the template 28.
The merge task 16 continues the steps of identifying variable data areas for the template, retrieving graphics states and character bit maps corresponding to the variable areas, accessing variable data from the merge file 20, and generating bit maps for the variable data, until bit maps have been generated and merged for all of the variable data to be included on the page. When a bit map has been generated for each variable data area, and merged with the template 28, the pagemap is output for printing as shown at 29.
The merge task 16 then proceeds with printing a second page using the same template and graphics states, but a different variable data record in the merge file 20. To print the second page, the merge task 16 retrieves a "clean"
template from the database. Next, the merge task 16 again identifies the name of the first variable data area for that template and retrieves the graphics state of the same name.
Then, the merge task 16 reads the data for that field from the second record of the merge file 20, and generates a bit map of the data using the retrieved graphics state attributes and character bit maps. Once the bit map is generated, the merge task 16 merges the bit map into the template by writing the bit map over the template at the location defined by the graphics state.
The merge task 16 then continues processing in this manner until bit maps have been generated and merged into the template for all of the graphics states reserved for the page.
After all of the bit maps for the second page have been merged into the template, the page is printed. The merge task 16 continues, repeating these steps for each record of data in the merge file 20, until all of the variable data records have been printed on a page.
Figure 2 shows a variable data page printed in accordance with the method of this invention. On this page, the data fields 30 and 32 are static fields which are part of the page template. The data field 34 containing the name "William" is a variable data field. Different names such as Mark or Sam, from the merge file 20, are printed in this field on subsequent pages. The font, angle and color contrast in which "William" is displayed are all aspects of the graphics state which were defined and stored during the steps of the present invention. Data field 36 which contains the number "00467727" is a second variable data area on the page. Again, the data displayed in this area varies on each page, depending upon the contents of the merge file 20.
While the method described constitutes a preferred embodiment of the invention, it is to be understood that the present invention is not limited to this precise form, and that variations may be made without departing from the scope of the invention.
Claims (26)
1. A method for generating multiple bit maps suitable for high-speed printing or plate-making comprising the steps of:
(a) generating a page description code representing a template, said page description code defining at least one variable data area and said page description code further defining a graphics state corresponding to said variable data area, said graphics state including at least one attribute which controls the appearance of variable data in said variable data area;
(b) executing said page description code to generate a bit map of said template, and during said execution, identifying said variable data area defined by said page description code and reserving said graphics state corresponding to said variable data area upon said identification;
(c) retrieving variable data;
(d) associating said variable data with said graphics state corresponding to said variable data area;
(e) applying said graphics state corresponding to said variable data area to said variable data to generate a variable data bit map; and (f) merging said variable data bit map with said bit map of said template;
wherein said graphics state corresponding to said variable data area is applied repeatedly to variable data to generate a multitude of variable data bit maps without the need to repeat said executing step (b).
(a) generating a page description code representing a template, said page description code defining at least one variable data area and said page description code further defining a graphics state corresponding to said variable data area, said graphics state including at least one attribute which controls the appearance of variable data in said variable data area;
(b) executing said page description code to generate a bit map of said template, and during said execution, identifying said variable data area defined by said page description code and reserving said graphics state corresponding to said variable data area upon said identification;
(c) retrieving variable data;
(d) associating said variable data with said graphics state corresponding to said variable data area;
(e) applying said graphics state corresponding to said variable data area to said variable data to generate a variable data bit map; and (f) merging said variable data bit map with said bit map of said template;
wherein said graphics state corresponding to said variable data area is applied repeatedly to variable data to generate a multitude of variable data bit maps without the need to repeat said executing step (b).
2. The method of claim 1 wherein said step of reserving said graphics state includes the steps of:
linking said graphics state to said variable data area;
generating a font cache according to said graphics state; and linking said font cache to said graphics state.
linking said graphics state to said variable data area;
generating a font cache according to said graphics state; and linking said font cache to said graphics state.
3. The method of claim 2 wherein said step of reserving said graphics state further includes the step of reserving said linked graphics state and said linked font cache in a database.
4. The method of claim 3 wherein printing attributes are defined and stored in a stack during execution of said page description code, and wherein said stack represents said graphics state.
5. The method of claim 4 wherein said step of reserving said graphics state further includes, prior to said step of reserving said linked graphic state and said linked font cache in a database, a step of interrupting said page description code execution.
6. The method of claim 5 wherein said step of reserving said graphics state further includes, after said step of reserving said linked graphic state and said linked font cache in a database, a step of resuming said page description code execution.
7. The method of claim 6 wherein said step of generating character bit maps includes the steps of:
reading said printing attributes from said stack; and generating bit maps of alphanumeric characters in accordance with said attributes.
reading said printing attributes from said stack; and generating bit maps of alphanumeric characters in accordance with said attributes.
8. The method of claim 7 wherein the step of identifying said variable data area includes the steps of:
identifying text in said page description code ; and substituting a field name for said text in said code.
identifying text in said page description code ; and substituting a field name for said text in said code.
9. The method of claim 8 further including the steps of:
interrupting execution of said code upon identifying a print command;
comparing said text to a list of field names;
and substituting one of said field names for said text in said code.
interrupting execution of said code upon identifying a print command;
comparing said text to a list of field names;
and substituting one of said field names for said text in said code.
10. The method of claim 9 wherein the step of identifying said variable data area further includes the steps of:
storing a list of said field names in a job file;
accessing said job file upon interrupting said code execution;
comparing said text to said list, and upon matching one of said field names with said text, substituting said field name for said text in said code;
and resuming execution of said code.
storing a list of said field names in a job file;
accessing said job file upon interrupting said code execution;
comparing said text to said list, and upon matching one of said field names with said text, substituting said field name for said text in said code;
and resuming execution of said code.
11. The method of claim 2 wherein said steps of retrieving variable data and associating said variable data with said graphics state includes:
retrieving said graphics state and said font cache linked to said variable data area;
accessing a file containing said variable data;
reading said variable data from said file; and generating a bit map of said variable data utilizing said font cache and said graphics state.
retrieving said graphics state and said font cache linked to said variable data area;
accessing a file containing said variable data;
reading said variable data from said file; and generating a bit map of said variable data utilizing said font cache and said graphics state.
12. The method of claim 1 wherein said reserving, retrieving, associating, applying, and merging steps are repeated for each variable data area defined by said page description code.
13. The method of claim 12 wherein said reserving, retrieving, associating, applying and merging steps are activated by a control task running in a printer controller, and wherein said control task interrupts said page description code execution upon identifying a predetermined command in said page description code.
14. A method for generating a bit map suitable for high-speed printing or plate-making comprising the steps of (a) generating a page description code representing a template;
(b) identifying a variable data area of said template during execution of said page description code, said execution of said page description code generates a bit map of said template;
(c) interrupting execution of said page description code upon identifying a page description code print command;
(d) storing a graphics state corresponding to said variable data area;
(e) generating a font cache in accordance with said graphics state;
(f) linking said graphics state and said font cache with said variable data area;
(g) reserving said graphics state and said font cache in a database;
(h) resuming execution of said page description code beyond said print command;
(i) reiterating steps b-h until execution of said page description code is complete and said template bit map has been generated;
(j) accessing a variable data file;
(k) identifying a variable data area for said template from said variable data file;
(l) accessing said graphics state and said font cache linked to said variable data area;
(m) reading data from said variable data file;
(n) generating a variable data bit map of said data using said font cache and said graphics state;
(o) merging said variable data bit map into said template bit map; and (p) reiterating steps k-o for all variable data areas of said template;
whereby said graphics state and said font cache are used repeatedly to generate a plurality of variable data bit maps without the need to repeat said steps (b) through (i).
(b) identifying a variable data area of said template during execution of said page description code, said execution of said page description code generates a bit map of said template;
(c) interrupting execution of said page description code upon identifying a page description code print command;
(d) storing a graphics state corresponding to said variable data area;
(e) generating a font cache in accordance with said graphics state;
(f) linking said graphics state and said font cache with said variable data area;
(g) reserving said graphics state and said font cache in a database;
(h) resuming execution of said page description code beyond said print command;
(i) reiterating steps b-h until execution of said page description code is complete and said template bit map has been generated;
(j) accessing a variable data file;
(k) identifying a variable data area for said template from said variable data file;
(l) accessing said graphics state and said font cache linked to said variable data area;
(m) reading data from said variable data file;
(n) generating a variable data bit map of said data using said font cache and said graphics state;
(o) merging said variable data bit map into said template bit map; and (p) reiterating steps k-o for all variable data areas of said template;
whereby said graphics state and said font cache are used repeatedly to generate a plurality of variable data bit maps without the need to repeat said steps (b) through (i).
15. The method of claim 14 wherein said step of identifying variable data further comprises the steps of:
comparing page description code data to a list of data strings, each of said data strings being associated with a variable data name; and substituting one of said names from said list for said data string in said page description code.
comparing page description code data to a list of data strings, each of said data strings being associated with a variable data name; and substituting one of said names from said list for said data string in said page description code.
16. A method for generating a plurality of bit maps suitable for high-speed printing or plate-making comprising the steps of:
(a) generating a page description code representing a template;
(b) executing said page description code to create a template bit map, said executing step generates a graphics state for each data area defined by said page description code;
(c) during said executing step, identifying at least one variable data area defined by said page description code and saving in a database said graphics state corresponding to said identified variable data area;
(d) storing said bit map of said template;
(e) accessing a merge file containing a plurality of data records of at least one variable data field type;
(f) associating said variable data field type in said merge file with said saved graphics state;
(g) generating a variable data bit map of each said variable data records of said variable data field type by applying said saved graphics state to each of said variable data records;
(h) merging each of said variable data bit maps into said template bit map to create the plurality of bit maps suitable for high-speed printing or plate-making;
whereby said saved graphics state is applied repeatedly to said variable data records to generate a plurality of variable data bitmaps without the need to repeat said executing step (b).
(a) generating a page description code representing a template;
(b) executing said page description code to create a template bit map, said executing step generates a graphics state for each data area defined by said page description code;
(c) during said executing step, identifying at least one variable data area defined by said page description code and saving in a database said graphics state corresponding to said identified variable data area;
(d) storing said bit map of said template;
(e) accessing a merge file containing a plurality of data records of at least one variable data field type;
(f) associating said variable data field type in said merge file with said saved graphics state;
(g) generating a variable data bit map of each said variable data records of said variable data field type by applying said saved graphics state to each of said variable data records;
(h) merging each of said variable data bit maps into said template bit map to create the plurality of bit maps suitable for high-speed printing or plate-making;
whereby said saved graphics state is applied repeatedly to said variable data records to generate a plurality of variable data bitmaps without the need to repeat said executing step (b).
17. The method of claim 16, further comprising the steps of:
generating a font cache according to said graphics state; and storing said font cache;
wherein said font cache is utilized during said step of generating a variable data bit map of each of said variable data records.
generating a font cache according to said graphics state; and storing said font cache;
wherein said font cache is utilized during said step of generating a variable data bit map of each of said variable data records.
18. The method of claim 16, wherein said steps b-d are activated by a control task running in a printer controller, and wherein said control task interrupts said page description code execution upon identifying a predetermined command in said page description code.
19. The method of claim 16, wherein said variable data area is identified by detecting whether data corresponding to said variable data area in said variable data area in said page description code is bounded by identifying characters.
20. A method for generating a plurality of bit maps suitable for high-speed printing or plate-making from a page description code representing a template and defining at least one variable data area, and from a merge file containing a plurality of data records of at least one variable data field type, the method comprising the steps of:
executing a page description code interpretive program, said interpretive program generates graphics states for each data area defined by said page description code;
executing a control task in conjunction with said interpretive program, said control task identifies said variable data area defined by said page description code and reserves said graphics states generated by said interpretive program for said variable data area, said control task generates a template bit map defined by said page description code, and after the completion of said interpretive program, said control task saves said template bit map in memory; and executing a merge task upon completion of said interpretive program, said merge task generates variable data bit maps for said data records in said merge file by applying said reserved graphics states to said data records, and said merge task merges said variable data bit maps with a separate copy of said template bit map to create the plurality of bit maps suitable for high-speed printing or plate making;
whereby said reserved graphics states are applied repeatedly to said data records to generate said variable data bit maps for said data records without the need to repeat said steps of executing a page description code interpretive program and executing a control task in conjunction with said interpretive program.
executing a page description code interpretive program, said interpretive program generates graphics states for each data area defined by said page description code;
executing a control task in conjunction with said interpretive program, said control task identifies said variable data area defined by said page description code and reserves said graphics states generated by said interpretive program for said variable data area, said control task generates a template bit map defined by said page description code, and after the completion of said interpretive program, said control task saves said template bit map in memory; and executing a merge task upon completion of said interpretive program, said merge task generates variable data bit maps for said data records in said merge file by applying said reserved graphics states to said data records, and said merge task merges said variable data bit maps with a separate copy of said template bit map to create the plurality of bit maps suitable for high-speed printing or plate making;
whereby said reserved graphics states are applied repeatedly to said data records to generate said variable data bit maps for said data records without the need to repeat said steps of executing a page description code interpretive program and executing a control task in conjunction with said interpretive program.
21. A computer implemented method for generating a plurality of bit maps suitable for high-speed printing comprising the steps of:
(a) generating a page description code specification, the page description code specification defining at least one data area to become variable, and the page description code further defining a graphics state corresponding to the data area, the graphics state including at least one attribute which controls the appearance of data in the data area;
(b) interpreting the page description code specification, and during the interpretation, identifying the data area defined by the page description code specification;
(c) storing the graphics state corresponding to the data area upon the identification of the variable data area in step (b);
(d) retrieving a variable data item from a plurality of variable data items;
(e) applying the stored graphics state to the variable data item to generate a variable data bit map;
and (f) repeating steps (d) and (e) for remaining variable data items in the plurality of variable data items, whereby the stored graphics state is applied repeatedly to generate a plurality of variable data bit maps.
(a) generating a page description code specification, the page description code specification defining at least one data area to become variable, and the page description code further defining a graphics state corresponding to the data area, the graphics state including at least one attribute which controls the appearance of data in the data area;
(b) interpreting the page description code specification, and during the interpretation, identifying the data area defined by the page description code specification;
(c) storing the graphics state corresponding to the data area upon the identification of the variable data area in step (b);
(d) retrieving a variable data item from a plurality of variable data items;
(e) applying the stored graphics state to the variable data item to generate a variable data bit map;
and (f) repeating steps (d) and (e) for remaining variable data items in the plurality of variable data items, whereby the stored graphics state is applied repeatedly to generate a plurality of variable data bit maps.
22. The computer implemented method of claim 21, further comprising the steps of:
generating a set of character bit maps according to the graphics state corresponding to the data area; and linking the set of character bit maps to the graphics state corresponding to the data area.
generating a set of character bit maps according to the graphics state corresponding to the data area; and linking the set of character bit maps to the graphics state corresponding to the data area.
23. The computer implemented method of claim 1, wherein the page description code specification represents a template and includes a static data area;
and the computer implemented method further comprises the steps of:
executing portions of the page description code specification corresponding to the static data area to generate a template bit map;
storing the template bit map; and merging each of the plurality of the variable data bit maps into a clean copy of the template bit map to create a plurality of merged bit maps.
and the computer implemented method further comprises the steps of:
executing portions of the page description code specification corresponding to the static data area to generate a template bit map;
storing the template bit map; and merging each of the plurality of the variable data bit maps into a clean copy of the template bit map to create a plurality of merged bit maps.
24. The computer implemented method of claim 1, wherein the identifying step includes the step of detecting predefined characters within a text string defined in the page description code specification.
25. The computer implemented method of claim 1, wherein the attribute is a size attribute, a font attribute, a position attribute, an orientation attribute or a location attribute.
26. A computer implemented method for processing a page description code specification comprising the steps of:
interpreting the page description code specification, and during the interpretation, identifying a data area defined by the page description code specification;
upon the identification of the data area, storing a graphics state set forth in the page description code specification which defines an attribute of how data is to appear in the data area; and repeatedly retrieving data records from a plurality of data records and applying the stored graphics state to the data records to generate a plurality of bit maps of the data records so that the bitmaps of the data records include the attribute.
interpreting the page description code specification, and during the interpretation, identifying a data area defined by the page description code specification;
upon the identification of the data area, storing a graphics state set forth in the page description code specification which defines an attribute of how data is to appear in the data area; and repeatedly retrieving data records from a plurality of data records and applying the stored graphics state to the data records to generate a plurality of bit maps of the data records so that the bitmaps of the data records include the attribute.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/373,582 US5729665A (en) | 1995-01-18 | 1995-01-18 | Method of utilizing variable data fields with a page description language |
US08/373,582 | 1995-01-18 | ||
PCT/US1996/000277 WO1996022573A1 (en) | 1995-01-18 | 1996-01-16 | Method of utilizing variable data fields with a page description language |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2210405A1 CA2210405A1 (en) | 1996-07-25 |
CA2210405C true CA2210405C (en) | 2001-10-09 |
Family
ID=23473015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002210405A Expired - Lifetime CA2210405C (en) | 1995-01-18 | 1996-01-16 | Method of utilizing variable data fields with a page description language |
Country Status (5)
Country | Link |
---|---|
US (8) | US5729665A (en) |
EP (1) | EP0804766A4 (en) |
AU (1) | AU4749996A (en) |
CA (1) | CA2210405C (en) |
WO (1) | WO1996022573A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7949945B2 (en) | 2000-05-03 | 2011-05-24 | Rr Donnelley & Sons | Variable text processing for an electronic press |
Families Citing this family (161)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5729665A (en) * | 1995-01-18 | 1998-03-17 | Varis Corporation | Method of utilizing variable data fields with a page description language |
US6243172B1 (en) * | 1995-01-18 | 2001-06-05 | Varis Corporation | Method and system for merging variable text and images into bitmaps defined by a page description language |
US6327599B1 (en) * | 1995-06-07 | 2001-12-04 | R. R. Donnelley & Sons Company | Apparatus for controlling an electronic press to print fixed and variable information |
US6332149B1 (en) * | 1995-06-07 | 2001-12-18 | R. R. Donnelley & Sons | Imposition process and apparatus for variable imaging system |
US6952801B2 (en) * | 1995-06-07 | 2005-10-04 | R.R. Donnelley | Book assembly process and apparatus for variable imaging system |
US6078403A (en) * | 1996-10-21 | 2000-06-20 | International Business Machines Corporation | Method and system for specifying format parameters of a variable data area within a presentation document |
US6320667B1 (en) * | 1996-12-27 | 2001-11-20 | Canon Kabushiki Kaisha | Information processing apparatus and method for transmitting printing information, and recording medium readable by a computer storing a program for transmitting printing information |
US6487568B1 (en) * | 1997-07-18 | 2002-11-26 | Tesseron, Ltd. | Method and system for flowing data to an arbitrary path defined by a page description language |
US6094278A (en) * | 1997-09-24 | 2000-07-25 | Hewlett-Packard Company | Method and apparatus for reducing printer memory |
US6246993B1 (en) | 1997-10-29 | 2001-06-12 | R. R. Donnelly & Sons Company | Reorder system for use with an electronic printing press |
US6088710A (en) * | 1997-10-29 | 2000-07-11 | R.R. Donnelley & Sons Company | Apparatus and method for producing fulfillment pieces on demand in a variable imaging system |
US6205452B1 (en) | 1997-10-29 | 2001-03-20 | R. R. Donnelley & Sons Company | Method of reproducing variable graphics in a variable imaging system |
JPH11129568A (en) * | 1997-11-04 | 1999-05-18 | Fujitsu Ltd | Printer |
US6268927B1 (en) | 1997-11-17 | 2001-07-31 | Ricoh Company, Ltd. | Computer-related form overlay method and apparatus |
US6912311B2 (en) * | 1998-06-30 | 2005-06-28 | Flashpoint Technology, Inc. | Creation and use of complex image templates |
US6269341B1 (en) | 1998-07-01 | 2001-07-31 | Day-Timers, Inc. | Method and system for printing individualized calendars |
US6952275B2 (en) * | 1998-07-06 | 2005-10-04 | Creo Il. Ltd. | System and method for efficient printing of variable information documents |
WO2000002158A1 (en) | 1998-07-06 | 2000-01-13 | Scitex Corporation Ltd. | A system and method for efficient printing of variable information documents |
US6256108B1 (en) * | 1998-09-10 | 2001-07-03 | Electronics For Imaging, Inc. | Method and apparatus for label composition |
AU2003204222B2 (en) * | 1998-09-10 | 2006-09-14 | Electronics For Imaging, Inc. | Variable page composition with page elements cut in strips |
WO2000028435A2 (en) * | 1998-11-09 | 2000-05-18 | Varis Corporation | Method and system for dynamic flowing data to an arbitrary path defined by a page description language |
US7315979B1 (en) * | 1998-11-09 | 2008-01-01 | Tesseron Ltd. | Method and system for dynamic flowing data to an arbitrary path defined by a page description language |
US6498657B1 (en) * | 1999-03-17 | 2002-12-24 | Prout Ag | Programmable data extractor, data analyzer, and printer report generator |
US6822639B1 (en) * | 1999-05-25 | 2004-11-23 | Silverbrook Research Pty Ltd | System for data transfer |
US7562294B1 (en) * | 1999-12-30 | 2009-07-14 | Infoprint Solutions Company Llc | Formatting computer generated documents for output |
US6948115B2 (en) * | 2000-02-03 | 2005-09-20 | Xmpie Inc. | System and method for efficient production of dynamic documents |
AU2001236647A1 (en) * | 2000-02-03 | 2001-08-14 | Xmpie Inc. | A system and method for creating customized documents for cross media publishing |
CN1398378A (en) | 2000-02-09 | 2003-02-19 | 穆尔北美公司 | Imaging documents having static content and variable data |
US6762855B1 (en) * | 2000-07-07 | 2004-07-13 | Eastman Kodak Company | Variable speed printing system |
US7218420B1 (en) * | 2000-08-01 | 2007-05-15 | Eastman Kodak Company | Gray level halftone processing |
US7079281B1 (en) | 2000-08-01 | 2006-07-18 | Eastman Kodak Company | Edge enhancement processor and method with adjustable threshold setting |
JP2002057913A (en) * | 2000-08-01 | 2002-02-22 | Nexpress Solutions Llc | Image recording device and image recording method for bringing about color emphasis in response to personal preference |
US7079287B1 (en) | 2000-08-01 | 2006-07-18 | Eastman Kodak Company | Edge enhancement of gray level images |
US7197706B1 (en) * | 2000-08-30 | 2007-03-27 | Celartem Inc. | Method and system for ensuring accurate font matching in documents |
US7386790B2 (en) * | 2000-09-12 | 2008-06-10 | Canon Kabushiki Kaisha | Image processing apparatus, server apparatus, image processing method and memory medium |
US6943914B1 (en) | 2000-09-14 | 2005-09-13 | Sharp Laboratories Of America, Inc. | Computer, printer and software for changing control of printer marking device while printing on a single page |
US7225467B2 (en) * | 2000-11-15 | 2007-05-29 | Lockheed Martin Corporation | Active intrusion resistant environment of layered object and compartment keys (airelock) |
US7253919B2 (en) * | 2000-11-30 | 2007-08-07 | Ricoh Co., Ltd. | Printer with embedded retrieval and publishing interface |
AUPR264301A0 (en) * | 2001-01-19 | 2001-02-15 | Keyset Phototype Pty Ltd | System and method for editing computer files independently of the creator software application |
US20020167554A1 (en) * | 2001-05-10 | 2002-11-14 | Parry Travis J. | Methods and systems of using data fields to print dynamic data |
US7142326B2 (en) * | 2001-05-16 | 2006-11-28 | Xerox Corporation | Method and apparatus for variable data document printing |
US7415670B2 (en) * | 2001-11-19 | 2008-08-19 | Ricoh Co., Ltd. | Printer with audio/video localization |
US7747655B2 (en) * | 2001-11-19 | 2010-06-29 | Ricoh Co. Ltd. | Printable representations for time-based media |
US20040181815A1 (en) * | 2001-11-19 | 2004-09-16 | Hull Jonathan J. | Printer with radio or television program extraction and formating |
US7314994B2 (en) * | 2001-11-19 | 2008-01-01 | Ricoh Company, Ltd. | Music processing printer |
US7424129B2 (en) * | 2001-11-19 | 2008-09-09 | Ricoh Company, Ltd | Printing system with embedded audio/video content recognition and processing |
US7861169B2 (en) | 2001-11-19 | 2010-12-28 | Ricoh Co. Ltd. | Multimedia print driver dialog interfaces |
US20030189725A1 (en) * | 2002-04-09 | 2003-10-09 | Nexpress Solutions Llc | Variable data printing using family groupings |
US20030189727A1 (en) * | 2002-04-09 | 2003-10-09 | Nexpress Solutions Llc | Method and apparatus for using fields of data to organize variable data print jobs |
US20030189726A1 (en) * | 2002-04-09 | 2003-10-09 | Nexpress Solutions Llc | Variable data printing dynamic imposition template |
US7375842B2 (en) * | 2002-04-09 | 2008-05-20 | Eastman Kodak Company | Variable data printing using variants |
US20030237054A1 (en) * | 2002-06-21 | 2003-12-25 | Nexpress Solutions Llc | Concept for automated scatter proofing of content elements used in personalized print jobs |
WO2004021101A2 (en) * | 2002-08-28 | 2004-03-11 | Xmpie (Israel) Ltd. | Apparatus and method for processing variable print documents |
US8064090B2 (en) * | 2002-08-28 | 2011-11-22 | Xmpie (Israel) Ltd. | System and method for processing variable print documents |
US20040066527A1 (en) * | 2002-10-02 | 2004-04-08 | Nexpress Solutions Llc | Finish verification in printing |
DE10252797B4 (en) * | 2002-11-13 | 2007-07-26 | OCé PRINTING SYSTEMS GMBH | Method and system for creating document templates with resource management |
WO2004051506A2 (en) * | 2002-11-29 | 2004-06-17 | Publigroupe Sa | Method for supervising the publication of items in publisched media and for preparing automated proof of publications |
JP3654360B2 (en) | 2002-12-02 | 2005-06-02 | ソニー株式会社 | Control system and method, information processing apparatus and method, information processing terminal and method, recording medium, and program |
US7069269B2 (en) * | 2002-12-03 | 2006-06-27 | International Business Machines Corporation | Method, system and program product for mapping data fields between a data source and a data target |
US20040123247A1 (en) * | 2002-12-20 | 2004-06-24 | Optimost Llc | Method and apparatus for dynamically altering electronic content |
US7821666B2 (en) * | 2002-12-20 | 2010-10-26 | Hewlett-Packard Development Company, L.P. | Alternative to pre-printed special forms |
CN1329810C (en) * | 2002-12-25 | 2007-08-01 | 中兴通讯股份有限公司 | General method for printing and drawing graphics document, dynamic link-base |
US7069487B2 (en) * | 2003-02-10 | 2006-06-27 | International Business Machines Corporation | Pattern matching to validate and classify computer variables to one or more name ranges |
AU2003901723A0 (en) * | 2003-04-11 | 2003-05-01 | Ronald Wayne Anderson | System for printing variable data |
US7446895B2 (en) * | 2003-07-18 | 2008-11-04 | Sharp Laboratories Of America, Inc. | Print content system and method for providing document control |
EP1503570A3 (en) * | 2003-07-29 | 2005-07-27 | Ricoh Company, Ltd. | Image forming apparatus as client of a distributed file system, image processing method, image processing program and recording medium |
US7275159B2 (en) * | 2003-08-11 | 2007-09-25 | Ricoh Company, Ltd. | Multimedia output device having embedded encryption functionality |
US9098475B2 (en) * | 2003-08-20 | 2015-08-04 | Xerox Corporation | Apparatus and method for generating reusable composite components during dynamic document construction |
US20050071763A1 (en) * | 2003-09-25 | 2005-03-31 | Hart Peter E. | Stand alone multimedia printer capable of sharing media processing tasks |
US7440126B2 (en) * | 2003-09-25 | 2008-10-21 | Ricoh Co., Ltd | Printer with document-triggered processing |
US7864352B2 (en) | 2003-09-25 | 2011-01-04 | Ricoh Co. Ltd. | Printer with multimedia server |
US7570380B2 (en) * | 2003-09-25 | 2009-08-04 | Ricoh Company, Ltd. | Printer user interface |
US7528976B2 (en) * | 2003-09-25 | 2009-05-05 | Ricoh Co., Ltd. | Stand alone printer with hardware/software interfaces for sharing multimedia processing |
US20050068573A1 (en) * | 2003-09-25 | 2005-03-31 | Hart Peter E. | Networked printing system having embedded functionality for printing time-based media |
US7528977B2 (en) * | 2003-09-25 | 2009-05-05 | Ricoh Co., Ltd. | Printer with hardware and software interfaces for peripheral devices |
US7511846B2 (en) * | 2003-09-25 | 2009-03-31 | Ricoh Co., Ltd. | Printer having embedded functionality for printing time-based media |
US7573593B2 (en) * | 2003-09-25 | 2009-08-11 | Ricoh Company, Ltd. | Printer with hardware and software interfaces for media devices |
US7505163B2 (en) * | 2003-09-25 | 2009-03-17 | Ricoh Co., Ltd. | User interface for networked printer |
US8077341B2 (en) | 2003-09-25 | 2011-12-13 | Ricoh Co., Ltd. | Printer with audio or video receiver, recorder, and real-time content-based processing logic |
US20050071746A1 (en) * | 2003-09-25 | 2005-03-31 | Hart Peter E. | Networked printer with hardware and software interfaces for peripheral devices |
JP2005108230A (en) * | 2003-09-25 | 2005-04-21 | Ricoh Co Ltd | Printing system with embedded audio/video content recognition and processing function |
US7508535B2 (en) * | 2003-09-25 | 2009-03-24 | Ricoh Co., Ltd. | Stand alone multimedia printer with user interface for allocating processing |
US7546320B2 (en) * | 2003-10-09 | 2009-06-09 | International Business Machines Corporation | Computer implemented method, system and program product for reviewing a message associated with computer program code |
US20050120303A1 (en) * | 2003-10-10 | 2005-06-02 | Hassan Behbehani | Smart multiedition methodology |
US20050099442A1 (en) * | 2003-11-12 | 2005-05-12 | Transact Technologies Incorporated | Printer having a configurable template and methods for configuring a printer template |
US20050122542A1 (en) * | 2003-12-03 | 2005-06-09 | Galo Gimenez | Variable data print engine |
US7909241B2 (en) | 2004-03-09 | 2011-03-22 | Lowe's Companies, Inc. | Systems, methods and computer program products for implementing processes relating to retail sales |
US7603615B2 (en) | 2004-03-30 | 2009-10-13 | Ricoh Co., Ltd. | Multimedia projector-printer |
US8274666B2 (en) * | 2004-03-30 | 2012-09-25 | Ricoh Co., Ltd. | Projector/printer for displaying or printing of documents |
US7421521B2 (en) * | 2004-04-05 | 2008-09-02 | Intel Corporation | System, method and device for real time control of processor |
DK1744881T3 (en) * | 2004-04-30 | 2011-11-07 | Manroland Ag | Method of printing individualized printed materials with logistics printing elements |
WO2005122010A1 (en) * | 2004-06-10 | 2005-12-22 | Icon Biometrics Plc | Method and system for in-rip processing and printing of variable documents |
GB2421106A (en) * | 2004-12-07 | 2006-06-14 | Hewlett Packard Development Co | A method and apparatus for preparing variable-data documents for publishing |
US20060173901A1 (en) * | 2005-01-31 | 2006-08-03 | Mediatek Incorporation | Methods for merging files and related systems |
JP4756870B2 (en) * | 2005-02-03 | 2011-08-24 | キヤノン株式会社 | Document processing apparatus, document processing method, and program |
US7551312B1 (en) | 2005-03-17 | 2009-06-23 | Ricoh Co., Ltd. | Annotable document printer |
JP4429212B2 (en) * | 2005-06-03 | 2010-03-10 | キヤノン株式会社 | Image description data processing method, apparatus and program |
US20070234205A1 (en) * | 2006-03-29 | 2007-10-04 | Avery Dennison Corporation | Defining virtual shapes to position text and graphics |
US7564587B2 (en) * | 2006-05-24 | 2009-07-21 | Scan-0ptics LLC | Method of scoring a printed form having targets to be marked |
US20080165382A1 (en) * | 2007-01-05 | 2008-07-10 | Sharp Laboratories Of America, Inc. | Systems and methods for variable form printing using removable storage |
JP5127232B2 (en) * | 2007-01-05 | 2013-01-23 | キヤノン株式会社 | Data processing apparatus, data processing method, and computer program |
KR101385492B1 (en) * | 2007-01-23 | 2014-04-16 | 삼성전자주식회사 | Data transmitting device, image forming apparatus and methods thereof |
US7992078B2 (en) * | 2007-02-28 | 2011-08-02 | Business Objects Software Ltd | Apparatus and method for creating publications from static and dynamic content |
US8234569B2 (en) * | 2007-02-28 | 2012-07-31 | Business Objects Software Ltd. | Apparatus and method for defining and processing publication objects |
US8289538B2 (en) * | 2007-03-28 | 2012-10-16 | Moore Wallace North America, Inc. | Systems and methods for managing print jobs |
US7711718B2 (en) * | 2007-04-03 | 2010-05-04 | Nokia Corporation | System and method for using multiple meta boxes in the ISO base media file format |
US20080263071A1 (en) * | 2007-04-19 | 2008-10-23 | Sharp Laboratories Of America, Inc. | Systems and methods for driverless imaging of documents |
US20080266288A1 (en) * | 2007-04-27 | 2008-10-30 | Identitymine Inc. | ElementSnapshot Control |
US8035836B2 (en) * | 2007-07-25 | 2011-10-11 | Eastman Kodak Company | Fast job halt in a high speed press |
US7911636B2 (en) * | 2007-07-25 | 2011-03-22 | Eastman Kodak Company | Multi-head press data delivery rate control |
US20090027714A1 (en) * | 2007-07-25 | 2009-01-29 | Kuhn William C | Job startup control for job queuing |
JP4586057B2 (en) * | 2007-11-07 | 2010-11-24 | キヤノン株式会社 | Image processing apparatus, image processing method, and recording medium |
US8073256B2 (en) * | 2007-11-15 | 2011-12-06 | Canon Kabushiki Kaisha | Image processing apparatus and method therefor |
US8184304B2 (en) * | 2007-11-19 | 2012-05-22 | Moore Wallace North America, Inc. | System and method of operating a raster image processor |
JP5100354B2 (en) * | 2007-12-14 | 2012-12-19 | キヤノン株式会社 | Image processing apparatus, image processing method, and computer program |
US8564808B2 (en) * | 2007-12-18 | 2013-10-22 | R. R. Donnelley & Sons Company | Systems and methods for processing of variable documents |
EP2945019B1 (en) | 2008-01-24 | 2020-10-07 | Quad/Graphics, Inc. | Printing using color changeable material |
EP2093659B1 (en) * | 2008-02-19 | 2017-07-19 | Brother Kogyo Kabushiki Kaisha | Device, method and computer readable medium for page description language processing |
JP2009205266A (en) * | 2008-02-26 | 2009-09-10 | Nec Corp | Printing system, printing method, computer, and printer |
US7959080B2 (en) | 2008-03-11 | 2011-06-14 | Xpress Systems, Llc | System for printing hospital labels and wristbands |
US8130400B2 (en) * | 2008-03-20 | 2012-03-06 | Eastman Kodak Company | Multiple processor print driver |
US8915831B2 (en) * | 2008-05-15 | 2014-12-23 | Xerox Corporation | System and method for automating package assembly |
US8160992B2 (en) | 2008-05-15 | 2012-04-17 | Xerox Corporation | System and method for selecting a package structural design |
US8115956B2 (en) * | 2008-05-23 | 2012-02-14 | Xerox Corporation | Enhancements to VI record job ticketing and processing |
US9132599B2 (en) * | 2008-09-05 | 2015-09-15 | Xerox Corporation | System and method for image registration for packaging |
JP2010109967A (en) * | 2008-10-01 | 2010-05-13 | Canon Inc | Image processing apparatus, method, and, program |
US7983792B2 (en) * | 2008-10-22 | 2011-07-19 | Xerox Corporation | Method and system for the production of variable-dimensional printed substrates |
US20100110467A1 (en) * | 2008-11-06 | 2010-05-06 | Coniglio Paul A | System and Method of Rasterizing PDF Files using Multiple Processors |
US8174720B2 (en) * | 2008-11-06 | 2012-05-08 | Xerox Corporation | Packaging digital front end |
US9493024B2 (en) * | 2008-12-16 | 2016-11-15 | Xerox Corporation | System and method to derive structure from image |
US8355167B2 (en) * | 2009-02-25 | 2013-01-15 | Xerox Corporation | Method and apparatus for using pattern color space in print job processing |
US8170706B2 (en) | 2009-02-27 | 2012-05-01 | Xerox Corporation | Package generation system |
US8775130B2 (en) * | 2009-08-27 | 2014-07-08 | Xerox Corporation | System for automatically generating package designs and concepts |
US20110119570A1 (en) * | 2009-11-18 | 2011-05-19 | Xerox Corporation | Automated variable dimension digital document advisor |
US9082207B2 (en) * | 2009-11-18 | 2015-07-14 | Xerox Corporation | System and method for automatic layout of printed material on a three-dimensional structure |
US8328706B2 (en) * | 2009-12-17 | 2012-12-11 | Xerox Corporation | System and method for converting a printed substrate |
US8643874B2 (en) * | 2009-12-18 | 2014-02-04 | Xerox Corporation | Method and system for generating a workflow to produce a dimensional document |
US8478705B2 (en) | 2010-01-15 | 2013-07-02 | International Business Machines Corporation | Portable data management using rule definitions |
US8572496B2 (en) * | 2010-04-27 | 2013-10-29 | Go Daddy Operating Company, LLC | Embedding variable fields in individual email messages sent via a web-based graphical user interface |
US8666998B2 (en) | 2010-09-14 | 2014-03-04 | International Business Machines Corporation | Handling data sets |
US8953200B2 (en) | 2010-10-04 | 2015-02-10 | Transact Technologies Incorporated | Casino print system and corresponding methods |
US9158481B2 (en) | 2010-10-04 | 2015-10-13 | Transact Technologies Incorporated | Status monitor for casino print system and corresponding methods for status monitoring |
US8949166B2 (en) | 2010-12-16 | 2015-02-03 | International Business Machines Corporation | Creating and processing a data rule for data quality |
US8773428B2 (en) | 2011-06-08 | 2014-07-08 | Robert John Rolleston | Systems and methods for visually previewing variable information 3-D structural documents or packages |
CN102855234B (en) * | 2011-06-30 | 2015-02-25 | 北大方正集团有限公司 | Makeup method and makeup device used for variable data |
US8898104B2 (en) | 2011-07-26 | 2014-11-25 | International Business Machines Corporation | Auto-mapping between source and target models using statistical and ontology techniques |
US8994734B2 (en) | 2012-07-31 | 2015-03-31 | Xerox Corporation | Package definition system |
US8757479B2 (en) | 2012-07-31 | 2014-06-24 | Xerox Corporation | Method and system for creating personalized packaging |
US8830513B2 (en) * | 2012-10-12 | 2014-09-09 | Esko Software Bvba | Method and apparatus for optimizing a destination variable document from a source variable document having recurring and variable content |
US9314986B2 (en) | 2012-10-31 | 2016-04-19 | Xerox Corporation | Method and system for applying an adaptive perforation cut to a substrate |
US9245209B2 (en) | 2012-11-21 | 2016-01-26 | Xerox Corporation | Dynamic bleed area definition for printing of multi-dimensional substrates |
DE102013000503A1 (en) * | 2013-01-14 | 2014-07-17 | Heidelberger Druckmaschinen Ag | Method for controlling the printing speed |
JP6171562B2 (en) * | 2013-05-24 | 2017-08-02 | セイコーエプソン株式会社 | Printing apparatus, printing system, printing apparatus control method, and program |
CN104346107B (en) * | 2013-07-31 | 2017-04-26 | 北大方正集团有限公司 | Variable-data printing page processing method and variable-data printing page processing device |
US9760659B2 (en) | 2014-01-30 | 2017-09-12 | Xerox Corporation | Package definition system with non-symmetric functional elements as a function of package edge property |
JP6320146B2 (en) * | 2014-04-17 | 2018-05-09 | キヤノン株式会社 | Information processing system, information processing apparatus, information processing method, and program |
US9892212B2 (en) | 2014-05-19 | 2018-02-13 | Xerox Corporation | Creation of variable cut files for package design |
US9565147B2 (en) | 2014-06-30 | 2017-02-07 | Go Daddy Operating Company, LLC | System and methods for multiple email services having a common domain |
US9916402B2 (en) | 2015-05-18 | 2018-03-13 | Xerox Corporation | Creation of cut files to fit a large package flat on one or more substrates |
US9916401B2 (en) | 2015-05-18 | 2018-03-13 | Xerox Corporation | Creation of cut files for personalized package design using multiple substrates |
JP6645513B2 (en) * | 2015-12-08 | 2020-02-14 | 株式会社島津製作所 | Analytical instrument data processing system and analytical instrument data processing program |
Family Cites Families (178)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3576367A (en) | 1968-09-06 | 1971-04-27 | Ibm | Machine for preparing documents |
US3744899A (en) | 1968-09-06 | 1973-07-10 | Ibm | Method of preparing documents |
US4085445A (en) | 1976-06-07 | 1978-04-18 | International Business Machines Corporation | Text merge with copies and envelopes |
US4300206A (en) | 1977-06-30 | 1981-11-10 | International Business Machines Corporation | Flexible text and image generator for a raster printer |
US4203154A (en) | 1978-04-24 | 1980-05-13 | Xerox Corporation | Electronic image processing system |
JPS54153442A (en) | 1978-05-22 | 1979-12-03 | Nissan Motor Co Ltd | Steering lock apparatus |
JPS554073A (en) | 1978-06-26 | 1980-01-12 | Konishiroku Photo Ind Co Ltd | Original position assignment mechanism of information compound recorder |
JPS5588129A (en) | 1978-12-27 | 1980-07-03 | Fuji Photo Film Co Ltd | Form synthesizer-recorder |
JPS5636676A (en) | 1979-09-03 | 1981-04-09 | Ricoh Co Ltd | Copying machine |
US4454576A (en) | 1981-05-18 | 1984-06-12 | International Business Machines Corporation | Report preparation |
US4493049A (en) | 1981-06-05 | 1985-01-08 | Xerox Corporation | Shared resource clustered printing system |
US4417322A (en) | 1981-06-16 | 1983-11-22 | International Business Machines Corporation | Report generation control system for text processing machines |
US4441829A (en) | 1981-09-24 | 1984-04-10 | International Business Machines | Method for performing a multiple page get operation in a text processing system |
US4445795A (en) | 1981-09-24 | 1984-05-01 | International Business Machines | Method and apparatus for merge processing in a text processing system |
US4470129A (en) | 1982-01-29 | 1984-09-04 | International Business Machines Corporation | Page modification method in a printer subsystem of the partial page buffer composing type |
JPS5947627A (en) | 1982-09-10 | 1984-03-17 | Brother Ind Ltd | Text processor |
US4460975A (en) | 1982-09-17 | 1984-07-17 | Saga Data, Inc. | Easily accessible formating of computer printouts |
JPS59128666A (en) | 1983-01-14 | 1984-07-24 | Fuji Xerox Co Ltd | Issuing device of slip, form or the like |
US4539653A (en) | 1983-04-11 | 1985-09-03 | International Business Machines Corporation | Formatting text/graphics using plural independent formatting mechanisms |
US4509826A (en) | 1983-04-11 | 1985-04-09 | Xerox Corporation | Optical image staggering/destaggering arrangement for multiple array scanning system |
JPS6022234A (en) * | 1983-07-18 | 1985-02-04 | Kanzaki Paper Mfg Co Ltd | Form overlay type printer |
US4996662A (en) | 1983-10-03 | 1991-02-26 | Wang Laboratories, Inc. | Method for generating document using tables storing pointers and indexes |
US4959769A (en) | 1983-10-03 | 1990-09-25 | Wang Laboratories, Inc. | Structures and methods for representing and processing documents |
US4870611A (en) | 1983-11-15 | 1989-09-26 | International Business Machines Corporation | Apparatus and method for system printing mode control |
US4809220A (en) | 1984-03-30 | 1989-02-28 | Wang Laboratories, Inc. | Electronic processing system using printer and microprocessor to create forms template with pre-printed forms |
US4723210A (en) | 1984-08-30 | 1988-02-02 | International Business Machines Corp. | Superblock structure in a multiple in a data editor |
US4723211A (en) | 1984-08-30 | 1988-02-02 | International Business Machines Corp. | Editing of a superblock data structure |
US4739477A (en) | 1984-08-30 | 1988-04-19 | International Business Machines Corp. | Implicit creation of a superblock data structure |
US4723209A (en) | 1984-08-30 | 1988-02-02 | International Business Machines Corp. | Flow attribute for text objects |
US4839814A (en) | 1985-01-29 | 1989-06-13 | Moore Business Forms, Inc. | Size independent modular web processing line and modules |
US4651278A (en) | 1985-02-11 | 1987-03-17 | International Business Machines Corporation | Interface process for an all points addressable printer |
US5282269A (en) * | 1985-09-27 | 1994-01-25 | Oce-Nederland B.V. | Raster image memory |
US4745560A (en) | 1985-10-15 | 1988-05-17 | International Business Machines Corporation | Method of controlling a bit-image printer |
US5222211A (en) | 1986-01-24 | 1993-06-22 | Siemens Nixdorf Informationssysteme Ag | Form generating method and apparatus |
US4745415A (en) | 1986-03-07 | 1988-05-17 | Minolta Camera Kabushiki Kaisha | Thermal printer having thermal head for transferring ink of ink film onto transfer paper |
US4864516A (en) | 1986-03-10 | 1989-09-05 | International Business Machines Corporation | Method for implementing an on-line presentation in an information processing system |
US5157773A (en) | 1986-03-14 | 1992-10-20 | Canon Kabushiki Kaisha | Image data output apparatus |
NL8600888A (en) | 1986-04-09 | 1987-11-02 | Oce Nederland Bv | DEVICE AND METHOD FOR PRINTING INFORMATION. |
JPS6320622A (en) | 1986-07-15 | 1988-01-28 | Brother Ind Ltd | Document editing device |
JP2690075B2 (en) | 1986-08-21 | 1997-12-10 | 松下電送 株式会社 | Color image recording device |
US4718784A (en) | 1986-11-10 | 1988-01-12 | Electronic Programming Corporation | Rating plate printing apparatus and method |
US5218539A (en) | 1986-12-01 | 1993-06-08 | International Business Machines Corporation | Forms processor with controlled remote revision |
US5290109A (en) * | 1986-12-26 | 1994-03-01 | Seiko Epson Corporation | Electronic typewriter for printing of documents having a fixed format |
US4862386A (en) | 1987-03-13 | 1989-08-29 | Pitney Bowes Inc. | Apparatus for preparing a letter |
US4903229A (en) | 1987-03-13 | 1990-02-20 | Pitney Bowes Inc. | Forms generating and information retrieval system |
EP0478005B1 (en) | 1987-04-28 | 1995-06-28 | Canon Kabushiki Kaisha | Multiimage forming apparatus |
US4770972A (en) | 1987-05-19 | 1988-09-13 | The Mead Corporation | Imaging process involving hardening of imaging web border area photosensitive microcapsules and an apparatus useful therein |
US4825251A (en) | 1987-05-19 | 1989-04-25 | The Mead Corporation | Imaging process involving hardening of imaging web border area photosensitive microcapsules and an apparatus useful therein |
US4912491A (en) | 1987-05-30 | 1990-03-27 | Canon Kabushiki Kaisha | Apparatus for forming superimposed images |
US5206951A (en) * | 1987-08-21 | 1993-04-27 | Wang Laboratories, Inc. | Integration of data between typed objects by mutual, direct invocation between object managers corresponding to object types |
US5226161A (en) | 1987-08-21 | 1993-07-06 | Wang Laboratories, Inc. | Integration of data between typed data structures by mutual direct invocation between data managers corresponding to data types |
US4857955A (en) | 1987-09-28 | 1989-08-15 | Eastman Kodak Company | Electronic printer apparatus with intelligent accent color |
US4963459A (en) | 1987-10-08 | 1990-10-16 | The Mead Corporation | System for registering to a moving web |
US4992956A (en) | 1987-10-08 | 1991-02-12 | Advanced Micro Devices, Inc. | Apparatus for assembling data for supply to a scanning output device |
JP2633877B2 (en) | 1987-11-30 | 1997-07-23 | キヤノン株式会社 | Image forming device |
US5107423A (en) | 1988-03-26 | 1992-04-21 | Brother Kogyo Kabushiki Kaisha | Document processing device with merge function |
US4939674A (en) | 1988-04-22 | 1990-07-03 | Engineered Data Products, Inc. | Label generation apparatus |
US5222236A (en) * | 1988-04-29 | 1993-06-22 | Overdrive Systems, Inc. | Multiple integrated document assembly data processing system |
US4933880A (en) | 1988-06-15 | 1990-06-12 | International Business Machines Corp. | Method for dynamically processing non-text components in compound documents |
US5204946A (en) | 1988-06-17 | 1993-04-20 | Canon Kabushiki Kaisha | Mixed text and image data processing |
US4969093A (en) | 1988-06-30 | 1990-11-06 | International Business Machines Corporation | Method of data stream construct management utilizing format shells and shell fragments |
GB2220511B (en) | 1988-07-08 | 1992-04-15 | Canon Kk | Recording control apparatus |
JP2796628B2 (en) | 1988-11-29 | 1998-09-10 | カシオ計算機株式会社 | Printing device |
US5208906A (en) | 1988-12-30 | 1993-05-04 | Chipsoft Ca, Corp. | Method and apparatus for representing bordered areas of a generic form with records |
JPH02185475A (en) | 1989-01-13 | 1990-07-19 | Casio Electron Mfg Co Ltd | Printing apparatus |
JPH0628022B2 (en) | 1989-02-09 | 1994-04-13 | セイコー電子工業株式会社 | Character / graphic output device |
JP2855207B2 (en) | 1989-02-23 | 1999-02-10 | カシオ計算機株式会社 | Form output device |
US5304786A (en) * | 1990-01-05 | 1994-04-19 | Symbol Technologies, Inc. | High density two-dimensional bar code symbol |
US5033009A (en) * | 1989-03-03 | 1991-07-16 | Dubnoff Steven J | System for generating worksheet files for electronic spreadsheets |
US5025396A (en) | 1989-03-21 | 1991-06-18 | International Business Machines Corporation | Method and apparatus for merging a digitized image with an alphanumeric character string |
JPH0792796B2 (en) | 1989-03-30 | 1995-10-09 | ブラザー工業株式会社 | Document creation device |
US5280574A (en) * | 1989-05-26 | 1994-01-18 | Hitachi, Ltd. | Text document management method adapted for generating plural text documents derived from the same original text document |
US4965748A (en) | 1989-07-12 | 1990-10-23 | Ricoh Company, Ltd. | Laser printer controller flexible frame buffer architecture which allows offsetting different input/output data widths |
JPH0345076A (en) | 1989-07-12 | 1991-02-26 | Minolta Camera Co Ltd | Processing system for picture data |
US5287444A (en) * | 1989-08-14 | 1994-02-15 | International Business Machines Corporation | Message processing system |
JP2501355B2 (en) | 1989-09-07 | 1996-05-29 | 株式会社テック | Printer |
US5001653A (en) | 1989-09-08 | 1991-03-19 | International Business Machines Corporation | Merging plotter graphics within a text environment on a page printer |
US4963899A (en) | 1989-10-11 | 1990-10-16 | Eastman Kodak Company | Method and apparatus for image frame registration |
US5148366A (en) | 1989-10-16 | 1992-09-15 | Medical Documenting Systems, Inc. | Computer-assisted documentation system for enhancing or replacing the process of dictating and transcribing |
US5157765A (en) * | 1989-11-15 | 1992-10-20 | International Business Machines Corporation | Method and apparatus for pipelined parallel rasterization |
US5181162A (en) | 1989-12-06 | 1993-01-19 | Eastman Kodak Company | Document management and production system |
US5043749A (en) | 1989-12-29 | 1991-08-27 | Am International Inc. | Printing press and method |
US5136316A (en) | 1989-12-29 | 1992-08-04 | Am International Incorporated | Printing press and method |
US5222235A (en) | 1990-02-01 | 1993-06-22 | Bmc Software, Inc. | Databases system for permitting concurrent indexing and reloading of data by early simulating the reload process to determine final locations of the data |
DE4003907A1 (en) | 1990-02-09 | 1991-08-14 | Schwarzkopf Gmbh Hans | 5-Tri:fluoromethyl-1,3-di:aminobenzene(s) as hair colourant - have good stability to heat and light, and are compatible with other colourants for shade modification |
US5290685A (en) * | 1990-02-22 | 1994-03-01 | Meiji Milk Products Company Limited | Method for separation and concentration of phosphopeptides |
US5404294A (en) * | 1990-02-26 | 1995-04-04 | Karnik; Jayant D. | Tag method for moving information between computers & forms |
GB9005697D0 (en) | 1990-03-14 | 1990-05-09 | Digital Equipment Int | Data format conversion |
JPH0412874A (en) | 1990-05-01 | 1992-01-17 | Minolta Camera Co Ltd | Printer controlling apparatus |
US5459826A (en) * | 1990-05-25 | 1995-10-17 | Archibald; Delbert M. | System and method for preparing text and pictorial materials for printing using predetermined coding and merging regimen |
US5060980A (en) | 1990-05-30 | 1991-10-29 | Xerox Corporation | Form utilizing encoded indications for form field processing |
US5103490A (en) * | 1990-06-13 | 1992-04-07 | National Computer Systems, Inc. | Method and apparatus for storing and merging multiple optically scanned images |
US5134669A (en) * | 1990-06-13 | 1992-07-28 | National Computer Systems | Image processing system for documentary data |
JP2855797B2 (en) * | 1990-06-15 | 1999-02-10 | 富士ゼロックス株式会社 | Document processing device |
US5237655A (en) | 1990-07-05 | 1993-08-17 | Eastman Kodak Company | Raster image processor for all points addressable printer |
US5509115A (en) | 1990-08-08 | 1996-04-16 | Peerless Systems Corporation | Method and apparatus for displaying a page with graphics information on a continuous synchronous raster output device |
US5329616A (en) * | 1990-08-16 | 1994-07-12 | Canon Kabushiki Kaisha | Compressed image stores for high resolution computer graphics |
US5241464A (en) | 1990-08-17 | 1993-08-31 | Moore Business Forms, Inc. | Desktop forms order system |
JP2895184B2 (en) * | 1990-08-22 | 1999-05-24 | 株式会社日立製作所 | Document processing system and document processing method |
KR950000233B1 (en) | 1990-09-28 | 1995-01-12 | 미쓰비시덴키 가부시키가이샤 | Distributor assembly for internal combustion engine |
US5077795A (en) | 1990-09-28 | 1991-12-31 | Xerox Corporation | Security system for electronic printing systems |
US5142667A (en) | 1990-09-28 | 1992-08-25 | Xerox Corporation | Resource and memory management algorithms for electric printing and electronic reprographic systems |
US5191429A (en) | 1990-09-28 | 1993-03-02 | Xerox Corporation | Electronic printing system for printing multiple images with determination of the maximum number of reduced size images to be optimally printed on a sheet of detected size without interference |
JP2554395B2 (en) * | 1990-11-30 | 1996-11-13 | 株式会社日立製作所 | Print format management system |
US5490243A (en) * | 1990-12-13 | 1996-02-06 | F3 Software Corporation | Data processing system for multi-platform print control and electronic data fill |
US5542052A (en) | 1991-03-04 | 1996-07-30 | Adobe Systems Incorporated | Applying traps to a printed page specified in a page description language format |
US5239625A (en) | 1991-03-05 | 1993-08-24 | Rampage Systems, Inc. | Apparatus and method to merge images rasterized at different resolutions |
US5231698A (en) | 1991-03-20 | 1993-07-27 | Forcier Mitchell D | Script/binary-encoded-character processing method and system |
EP0506469B1 (en) * | 1991-03-29 | 1997-09-17 | Canon Kabushiki Kaisha | Image processing apparatus |
US5384886A (en) * | 1991-04-01 | 1995-01-24 | Xerox Corporation | Process for electronically printing envelopes |
US5243518A (en) | 1991-05-03 | 1993-09-07 | Xerox Corporation | Document services architecture |
US5467448A (en) | 1991-05-10 | 1995-11-14 | Claris Corporation | Text formatting by the direct selection of borders in an editing display |
US5143362A (en) | 1991-07-15 | 1992-09-01 | Moore Business Forms, Inc. | Publication personalization |
JP2964469B2 (en) * | 1991-07-20 | 1999-10-18 | ブラザー工業株式会社 | Printing device |
US5204916A (en) | 1991-08-06 | 1993-04-20 | Eastman Kodak Company | Tile-oriented technique for collectively performing image rotation, scaling and digital halftone screening |
US5257097A (en) | 1991-09-27 | 1993-10-26 | Eastman Kodak Company | Method and apparatus for selective interception of a graphics rendering operation for effecting image data modification |
US5202206A (en) * | 1991-10-04 | 1993-04-13 | Xerox Corporation | Process for simultaneous printing of fixed data and variable data |
US5504891A (en) * | 1991-10-17 | 1996-04-02 | Ricoh Company, Ltd. | Method and apparatus for format conversion of a hierarchically structured page description language document |
US5487165A (en) * | 1992-04-30 | 1996-01-23 | Ricoh Company, Ltd. | Standard page description language cleartext structure generator |
US5506985A (en) * | 1991-10-17 | 1996-04-09 | Ricoh Company, Ltd. | Method and apparatus for format conversion of a hierarchically structured page description language document |
DE69223735T2 (en) * | 1991-10-24 | 1998-04-23 | Canon Kk | printer |
US5276799A (en) * | 1991-10-29 | 1994-01-04 | Xerox Corporation | Expandable electronic subsystem for a printing machine |
US5303341A (en) * | 1991-10-29 | 1994-04-12 | Xerox Corporation | Video processor for a printing apparatus |
US5261047A (en) | 1991-10-29 | 1993-11-09 | Xerox Corporation | Bus arbitration scheme for facilitating operation of a printing apparatus |
US5307458A (en) * | 1991-12-23 | 1994-04-26 | Xerox Corporation | Input/output coprocessor for printing machine |
US5483624A (en) | 1992-03-27 | 1996-01-09 | Monarch Marking Systems, Inc. | Programmable hand held labeler |
US5235654A (en) | 1992-04-30 | 1993-08-10 | International Business Machines Corporation | Advanced data capture architecture data processing system and method for scanned images of document forms |
US5499329A (en) * | 1992-04-30 | 1996-03-12 | Ricoh Company, Ltd. | Method and system to handle context of interpretation in a document processing language |
US5483629A (en) * | 1992-04-30 | 1996-01-09 | Ricoh Company, Ltd. | Method and system to handle dictionaries in a document processing language |
US5493634A (en) * | 1992-06-12 | 1996-02-20 | Xerox Corporation | Apparatus and method for multi-stage/multi-process decomposing |
US5515481A (en) * | 1992-07-08 | 1996-05-07 | Canon Kabushiki Kaisha | Method and apparatus for printing according to a graphic language |
US5287128A (en) * | 1992-08-28 | 1994-02-15 | Moore Business Forms, Inc. | Method to manufacture multiple part imaged documents |
US5611024A (en) | 1992-08-28 | 1997-03-11 | Compaq Computer Corporation | Data compression of bit map images |
US6016380A (en) * | 1992-09-24 | 2000-01-18 | Avid Technology, Inc. | Template-based edit decision list management system |
US5611035A (en) * | 1992-10-16 | 1997-03-11 | International Business Machines Corporation | Relational data base system for conveniently constructing graphical images |
US5384901A (en) * | 1992-10-22 | 1995-01-24 | Xerox Corporation | Method of rendering a color image for an output medium from symbolic image data |
US5734915A (en) * | 1992-11-25 | 1998-03-31 | Eastman Kodak Company | Method and apparatus for composing digital medical imagery |
JP3360905B2 (en) * | 1993-01-04 | 2003-01-07 | ゼロックス・コーポレーション | Printing system |
US5291243A (en) * | 1993-02-05 | 1994-03-01 | Xerox Corporation | System for electronically printing plural-color tamper-resistant documents |
US5500928A (en) | 1993-03-01 | 1996-03-19 | Xionics Document Technologies, Inc. | Digital printing system and process using adaptive compression |
US5866286A (en) * | 1993-04-16 | 1999-02-02 | Moore Business Forms, Inc. | Color selection by mixing primary toners |
US5745910A (en) * | 1993-05-10 | 1998-04-28 | Apple Computer, Inc. | Frame structure which provides an interface between parts of a compound document |
US5544287A (en) | 1993-06-03 | 1996-08-06 | Monarch Marking Systems, Inc. | On-line barcode printer system with multi-level user printer commands |
US5632009A (en) * | 1993-09-17 | 1997-05-20 | Xerox Corporation | Method and system for producing a table image showing indirect data representations |
US5530793A (en) * | 1993-09-24 | 1996-06-25 | Eastman Kodak Company | System for custom imprinting a variety of articles with images obtained from a variety of different sources |
JPH07117284A (en) * | 1993-10-26 | 1995-05-09 | Canon Inc | Image processor and method thereof |
US5592683A (en) * | 1994-03-18 | 1997-01-07 | Ibm Corporation | System for selectively processing nested print commands and buffered post-print commands thereafter and resending selected portion of data stream upon error detection |
US5539529A (en) | 1994-04-04 | 1996-07-23 | Merchant; Zaffer S. | Facsimile communication with selective call receivers |
US5495565A (en) * | 1994-06-21 | 1996-02-27 | Wang Laboratories, Inc. | Integrated form document editor with form descriptor table, background bitmap, graphics editor and text editor, composite image generator and intelligent autofill |
EP0703524B1 (en) | 1994-09-13 | 1997-01-08 | Agfa-Gevaert N.V. | Variable data fields in a page description language |
US5896462A (en) * | 1994-10-04 | 1999-04-20 | Stern; Yonatan | Method for storing and retrieving images in/from a database |
US5729665A (en) * | 1995-01-18 | 1998-03-17 | Varis Corporation | Method of utilizing variable data fields with a page description language |
US5594860A (en) * | 1995-01-27 | 1997-01-14 | Varis Corporation | Method for banding and rasterizing an image in a multiprocessor printing system |
US5729674A (en) * | 1995-04-07 | 1998-03-17 | Computer Humor Systems, Inc. | Method and apparatus for producing personalized graphics and personalized text printed materials |
US5706365A (en) * | 1995-04-10 | 1998-01-06 | Rebus Technology, Inc. | System and method for portable document indexing using n-gram word decomposition |
US5671345A (en) | 1995-06-06 | 1997-09-23 | Apple Computer, Inc. | System and method for intercepting and reconstructing graphics management tool marking instructions |
US5600768A (en) | 1995-06-06 | 1997-02-04 | Apple Computer, Inc. | Image generation with dynamically consolidated list of image data |
US6332149B1 (en) * | 1995-06-07 | 2001-12-18 | R. R. Donnelley & Sons | Imposition process and apparatus for variable imaging system |
US5895455A (en) * | 1995-08-11 | 1999-04-20 | Wachovia Corporation | Document image display system and method |
US5841420A (en) | 1995-08-18 | 1998-11-24 | International Business Machines Corporation | Method and system in a data processing system windowing environment for displaying previously obscured information |
US5796930A (en) * | 1995-11-13 | 1998-08-18 | Varis Corporation | System architecture for processing and transporting page-map or bit-map data to a raster print engine |
US5727220A (en) * | 1995-11-29 | 1998-03-10 | International Business Machines Corporation | Method and system for caching and referencing cached document pages utilizing a presentation data stream |
US6684188B1 (en) * | 1996-02-02 | 2004-01-27 | Geoffrey C Mitchell | Method for production of medical records and other technical documents |
US5852673A (en) * | 1996-03-27 | 1998-12-22 | Chroma Graphics, Inc. | Method for general image manipulation and composition |
US5926185A (en) | 1996-05-03 | 1999-07-20 | Barco Graphics N.V. | Method for processing a set of page description language commands to reduce complexity |
EP0814425A3 (en) | 1996-06-18 | 1999-08-18 | SCITEX DIGITAL PRINTING, Inc. | Method for creating complex layouts with variable data for high speed printing systems |
US5621020A (en) * | 1996-06-19 | 1997-04-15 | Moore Business Forms, Inc. | Release composition for printable linerless labels |
US5960164A (en) * | 1996-07-30 | 1999-09-28 | Moore Business Forms, Inc. | Data interface for high performance |
NZ334700A (en) * | 1996-08-20 | 1999-07-29 | Moore Business Forms Inc | Proofing system utilizing dynamic pdf technology for the interface for templated printing |
CA2215094A1 (en) | 1996-10-16 | 1998-04-16 | Brian F. Hern | Method for creating complex layouts with variable data for multiple high speed printing systems |
US6027195A (en) * | 1996-11-12 | 2000-02-22 | Varis Corporation | System and method for synchronizing the piezoelectric clock sources of a plurality of ink jet printheads |
US6018774A (en) * | 1997-07-03 | 2000-01-25 | Yobaby Productions, Llc | Method and system for creating messages including image information |
US6487568B1 (en) * | 1997-07-18 | 2002-11-26 | Tesseron, Ltd. | Method and system for flowing data to an arbitrary path defined by a page description language |
US6209010B1 (en) * | 1997-07-18 | 2001-03-27 | Varis Corporation | Computer implemented method for wrapping data to an arbitrary path defined by a page description language |
US6707572B1 (en) * | 1997-09-12 | 2004-03-16 | Tesseron, Ltd. | Filtering method to reduce pixel density |
US6049390A (en) * | 1997-11-05 | 2000-04-11 | Barco Graphics Nv | Compressed merging of raster images for high speed digital printing |
US6557017B1 (en) * | 1998-02-06 | 2003-04-29 | Xerox Corporation | Image production system theme integration |
GB9903074D0 (en) * | 1999-02-12 | 1999-03-31 | Silver Fox Ltd | Computer system for producing series of sequential images for labelling |
-
1995
- 1995-01-18 US US08/373,582 patent/US5729665A/en not_active Expired - Lifetime
-
1996
- 1996-01-16 CA CA002210405A patent/CA2210405C/en not_active Expired - Lifetime
- 1996-01-16 AU AU47499/96A patent/AU4749996A/en not_active Abandoned
- 1996-01-16 EP EP96903396A patent/EP0804766A4/en not_active Withdrawn
- 1996-01-16 WO PCT/US1996/000277 patent/WO1996022573A1/en not_active Application Discontinuation
-
1997
- 1997-07-18 US US08/896,899 patent/US5937153A/en not_active Expired - Lifetime
-
1999
- 1999-04-26 US US09/299,502 patent/US6381028B1/en not_active Expired - Lifetime
-
2002
- 2002-03-01 US US10/090,074 patent/US6771387B2/en not_active Expired - Fee Related
- 2002-03-01 US US10/090,529 patent/US6687016B2/en not_active Expired - Fee Related
-
2004
- 2004-01-26 US US10/707,920 patent/US7333233B2/en not_active Expired - Fee Related
- 2004-01-28 US US10/707,955 patent/US7274479B2/en not_active Expired - Fee Related
-
2005
- 2005-01-31 US US11/047,463 patent/US7456990B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7949945B2 (en) | 2000-05-03 | 2011-05-24 | Rr Donnelley & Sons | Variable text processing for an electronic press |
Also Published As
Publication number | Publication date |
---|---|
US20040141197A1 (en) | 2004-07-22 |
AU4749996A (en) | 1996-08-07 |
US7333233B2 (en) | 2008-02-19 |
EP0804766A4 (en) | 1998-03-04 |
CA2210405A1 (en) | 1996-07-25 |
US7456990B2 (en) | 2008-11-25 |
EP0804766A1 (en) | 1997-11-05 |
US20040130752A1 (en) | 2004-07-08 |
US6381028B1 (en) | 2002-04-30 |
US6771387B2 (en) | 2004-08-03 |
US7274479B2 (en) | 2007-09-25 |
US20050185212A1 (en) | 2005-08-25 |
US6687016B2 (en) | 2004-02-03 |
WO1996022573A1 (en) | 1996-07-25 |
US5729665A (en) | 1998-03-17 |
US20020089681A1 (en) | 2002-07-11 |
US20020122205A1 (en) | 2002-09-05 |
US5937153A (en) | 1999-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2210405C (en) | Method of utilizing variable data fields with a page description language | |
US7532355B2 (en) | Method and system for merging variable text and images into bitmaps defined by a page description language | |
US5001653A (en) | Merging plotter graphics within a text environment on a page printer | |
US4594674A (en) | Generating and storing electronic fonts | |
US6209010B1 (en) | Computer implemented method for wrapping data to an arbitrary path defined by a page description language | |
US20030050934A1 (en) | Method and system for flowing data to an arbitrary path defined by a page description language | |
US5671341A (en) | Image processing apparatus and method therefor | |
US5416896A (en) | Command definition dictionary handling and context declaration in a document publishing page description language (PDL) | |
EP0571169B1 (en) | Font pattern generation apparatus and method | |
JPH0263763A (en) | Printing apparatus | |
EP0571145B1 (en) | Apparatus for printer command languages translation | |
EP0119396B1 (en) | Apparatus for and methods of presenting or displaying data represented as electric signals | |
JP2580965B2 (en) | Printer device | |
EP0325409A2 (en) | Character generation | |
AU2004216608B2 (en) | Method for generating a display list | |
JPH09146521A (en) | Device and method for output control | |
CN1155696A (en) | Using both host cache and printer cache to improve text printing preformance | |
JPH03112668A (en) | Printer | |
JP2000194350A (en) | High-definition character generating device, high- definition character generating method and storage medium | |
JPH06320801A (en) | Printer | |
JPH09147053A (en) | Character processor and its control method | |
JPH0999595A (en) | Character output system | |
JPH03240098A (en) | Font cache system for outline font |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKEX | Expiry |
Effective date: 20160118 |