A print controller in a printing system includes a reprogrammable page description language (PDL) processor that defines a page-break function. The print controller also includes a job ticket interpreter. The print controller receives a printable file in the page description language that contains logical pages indicated by page-break indicators. The job ticket interpreter receives a job ticket associated with the printable file and containing layout parameters for the logical pages. The job ticket interpreter re-defines the page-break function in the PDL processor so that the print controller prints a plurality of the logical pages without referencing the job ticket for each page. In some embodiments, the PDL processor is a PostScript processor and the job ticket interpreter is a JDF interpreter encoded as a PostScript program interpreted by the PostScript interpreter.

BACKGROUND

1. Field of the Invention

The invention relates to the field of printing systems, and in particular, to processing JDF job tickets in a printing system to re-define printing commands in a printing file.

2. Discussion of Related Art

Printing systems generally include a localized print controller that connects to one or more host systems. The print controller controls the overall operation of the printing system including, for example, host interfacing, interpretation or rendering, and lower level process control or interface features of the print engines of the printing system. Host interaction may include appropriate adapters for coupling the printing system to one or more host systems that transmit printable files to the printing system. The printable files (also referred to as print data files or content files, among other designations) are generally encoded in the form of a page description language (PDL), such as PostScript (PS), Portable Document Format (PDF), Printer Command Language (PCL), etc.

In whatever form the printable files may be encoded or formatted, the print controller within the printing system interprets or renders the file to generate sheetside bitmaps of the file. For example, the printable file may include page descriptions for each logical page of the file that are written in a particular PDL. The print controller may then interpret the page descriptions for each page to generate the sheetside bitmaps for the file. The sheetside bitmaps represent the images to be printed on one side of a sheet of paper by a print engine. The print controller stores or buffers the sheetside bitmaps in accordance with storage capabilities of the particular print controller. The print controller then forwards the sheetside bitmaps to one or more print engines (also referred to as an imaging engine or as a marking engine) for printing.

In conventional printing systems, when the host system is instructed to print a particular file comprised of textual and graphical content, the host system converts the file into a printable file in one of a variety of PDLs. The host system also includes printing parameters (also referred to as device control commands or instructions) with the printable file.

One way of describing the printing parameters for a print job is through creation of a job ticket. A job ticket defines a print job and associates one or more printable files with information that defines various printing parameters for actual physical printing of the printable files. Among other things, a job ticket may include layout parameters indicative of where each logical page defined by the PDL of the printable files is to be placed on a sheet side of the printable medium. One common standard for defining a job ticket is the Job Definition Format (JDF). The JDF job ticket, as presently defined for JDF by the CIP4 Organization, which is known to those skilled in the art, is written in Extensible Markup Language (XML) format. In conventional printing systems, processing of JDF job tickets is performed in the host system. In response to receiving or identifying a JDF job ticket, the host system processes the JDF job ticket to identify the printing parameters for a print job. The host system then generates a printable file in the appropriate PDL that includes the content intended for printing and also includes the printing parameters defined in the job ticket to modify or adjust the actual printed output. This can cause problems as it may overload the host system in processing the JDF job ticket and generating the printable files, as the printable files with the included printing parameters can get quite large. Also, if a network connection is used between the host system and the printing system, then the large printable files may congest the network or unnecessarily use up network resources.

To alleviate such problems, co-owned and co-pending U.S. patent application Ser. No. 12/118,191, filed May 9, 2008 (hereinafter U.S. application Ser. No. 12/118,191), teaches a printing system that processes job tickets in the printing system instead of a host system. Thus, the host system may transmit a job ticket and a printable file to the printing system for processing, instead of processing the job ticket locally on the host system. The print controller in the printing system then processes the job ticket to identify the printing parameters defined in the job ticket, and controls printing of the printable file based on the identified printing parameters. The processing of job tickets is advantageously moved from the host system to the printing system, which relieves the processing responsibility from the host system and avoids transmitting large files over a network.

In the field of production printing, print jobs often consist of a printable file and a job ticket, as described above. In particular, the layout and imposition parameters of the job ticket may define a new placement, size and orientation for the printed pages that is different from what is described in the PDL printable file. On the other hand, the layout parameters for each logical page of the printable file may be substantially identical. In a printing system as in U.S. application Ser. No. 12/118,191, in which a print controller process both the printable file and the job ticket, the printing system may open the original printable file, seek to the first logical page, execute its instructions, then switch to the job ticket to execute printing instructions in accordance with the new layout parameters, then return to the printable file, seek to the second page, execute its instructions, switch again to the job ticket file to execute substantially identical layout instructions, and so on. Use of a printing system in which the printer receives and parses a job ticket reduces the burden on the host system, but the repeated processing of the layout parameters within the job ticket for each logical page of the printable file is time-consuming. Thus, improved techniques are needed to efficiently process a job ticket as regards layout parameters when processing a job ticket within a printing system.

SUMMARY OF THE INVENTION

Embodiments of the present invention help to solve some of the problems described above by providing systems and methods in which a job ticket interpreter in a printing system re-defines the processing of page-break indicators of multiple logical pages in a printable file in accordance with layout parameters from a job ticket such that the re-defined page-break indicators perform the appropriate layout function for the page following the page-break indicator that is normally performed by the job ticket interpreter.

An exemplary embodiment in accordance with the invention of a print controller in a printing system comprises: a reprogrammable page description language processor (PDL) that defines a function of a page-break indicator; and a job ticket interpreter. The print controller is operable to receive a printable file that contains a plurality of page-break indicators, each indicating a logical page. The print controller is also operable to receive a job ticket that is associated with the printable file and that contains layout parameters. The job ticket interpreter is operable to re-define the function of the page-break indicator of the reprogrammable PDL processor in accordance with the layout parameters in the job ticket. The print controller is operable to print a plurality of the logical pages of the printable file after the job ticket interpreter re-defines the function of the page-break indicator. Thus, preferably the print controller is operable to print a plurality of the logical pages of the printable file after the job ticket interpreter re-defines the function of the page-break indicator and before any further reference to the job ticket. In some embodiments, the print controller is operable to print all of the logical pages of the printable file after the job ticket interpreter re-defines the function of the page-break indicator and without further reference to the job ticket. In some embodiments, the reprogrammable PDL processor comprises a PostScript interpreter that defines a function of a PostScript “showpage” operator. Thus, in some embodiments, the print controller is operable to print a plurality of the logical pages of a PostScript printable file after the job ticket interpreter re-defines the function of the showpage operator and before any further reference to the job ticket. In some embodiments, the job ticket interpreter comprises a JDF (Job Definition Format) job ticket interpreter.

An exemplary embodiment of a method in accordance with the invention of processing job tickets in a printing system comprises: receiving a printable file from a host system and receiving a job ticket associated with the printable file. The printable file contains a plurality of page-break indicators, each page-break indicator indicating a logical page. The job ticket contains layout parameters for printing the pages. The exemplary method further comprises re-defining in a reprogrammable page description language (PDL) processor a function of a page-break indicator in accordance with the layout parameters; and printing a plurality of the logical pages of the printable file after the job ticket interpreter re-defines the function of the page-break indicator. Some embodiments further comprise printing a plurality of the logical pages of the printable file after the job ticket interpreter re-defines the function of the page-break indicator and before any further reference to the job ticket. Accordingly, some embodiments comprise printing all of the logical pages of the printable file after the job ticket interpreter re-defines the function of the page-break indicator and without further reference to the job ticket. Some embodiments comprise receiving a PostScript printable file containing a PostScript showpage operator and re-defining the function of the PostScript showpage operator in a PostScript interpreter. Some embodiments further comprise printing a plurality of the logical pages of the PostScript printable file after the job ticket interpreter re-defines the function of the PostScript showpage operator and before any further reference to the job ticket. Accordingly, some embodiments comprise printing all of the logical pages of the PostScript printable file after the job ticket interpreter re-defines the function of the PostScript showpage operator and without further reference to the job ticket. In some embodiments, receiving the job ticket comprises receiving a JDF job ticket.

The invention may include other exemplary embodiments described below.

DETAILED DESCRIPTION OF THE DRAWINGS

FIGS. 1 and 4through7and the following description disclose specific exemplary embodiments of the present invention to teach those skilled in the art how to make and use the invention. For the purpose of this teaching, some conventional aspects of the invention have been simplified or omitted. Those skilled in the art will appreciate variations from these embodiments that fall within the scope of the present invention. Those skilled in the art will appreciate that the features described below can be combined in various ways to form multiple variations of the present invention. As a result, the invention is not limited to the specific embodiments described below, but only by the claims and their equivalents.

FIG. 1depicts schematically an exemplary printing environment100in accordance with the invention comprising a job ticket interpreter110that is operable to receive a job ticket112having layout parameters113that is associated with a printable file114having a plurality of logical pages115. Typically, each of logical pages115has a page-break indicator116. Job ticket interpreter110is operable to re-define the function of the page-break indicators116of each a plurality of logical pages115in accordance with the layout parameters113of job ticket112; that is, job ticket interpreter110is operable to re-define the function of the page-break indicator116of the plurality of logical pages115such that re-defined page-break indicator116.n−1 of page n−1 performs the appropriate layout function of page n following page-break indicator116.n−1 that is normally performed by a job ticket interpreter. Interpreter110stores its redefinition of the page-break function in element109(e.g., a dictionary or other suitable memory element that stores the function to be performed when a page-break is encountered in the processing of printable file114). As a result, the print controller of a printing system that job ticket interpreter110is serving need not reference job ticket112each time the print controller formats a logical page115of printable file114. Instead, the print controller encounters the redefinition of page-break indicator116as it processes each logical page115, which redefinition of page-break indicator provides the layout parameters needed by the print controller for printing of each logical page. More specifically, for example, the print controller processes page1115.1of printable file114and then encounters page1break116.1. The re-defined function of page-break processing (109) is then used to perform the page-break function for break116.1. In like manner, page2115.2is processed up to the page2break116.2and the re-defined page-break processing is again invoked and so on through page n115.nand page n break116.n. Embodiments in accordance with the invention function efficiently when logical pages in a printable file are printed sequentially corresponding to their sequential ordering in a printable file and also when the layout parameters for each logical page are either identical or similar. Nevertheless, embodiments in accordance with the invention are also useful when logical pages are printed in a different order from their order in the printable file, as well as when the layout parameters for each logical page are not identical. In such cases, a single job ticket may include specific layout parameters for one or more logical pages that are different from layout parameters included in the same job ticket for one or more other logical pages.

By way of contrast,FIG. 2depicts schematically an exemplary printing environment200as presently known that includes a job ticket interpreter that is not in accordance with the invention. The job ticket interpreter202ofFIG. 2as presently known does not include the improvements of the invention to redefine the page break processing. A job ticket interpreter202of a printing system is operable to process a job ticket204associated with a printable file206containing a plurality of logical pages208(e.g., pages208.1through208.n) that contain page break indicators209(e.g.,209.1through209.n). Job ticket204includes layout parameters210used for printing logical pages208. As depicted inFIG. 2, during processing of printable file206for printing, each time a logical page208is processed and a page-break indicator209is encountered, the printing system must switch processing back to job ticket interpreter202, which then processes job ticket204again in order to communicate layout parameters210for each logical page. Processing of the interpreter202then switches back, again, to processing of the file206starting at the beginning of the next page208. The switching of processing between the printable file206and the job ticket file204is shown by the numerous arrows directed to and from the printable file206and the interpreter and between the interpreter and the job ticket file204.

FIG. 3depicts schematically exemplary sequential operations of a print controller232of a printing system as presently known that includes a job ticket interpreter not in accordance with the invention, but instead processes a job ticket repeatedly for each logical page, as described above with reference toFIG. 2. Print controller232includes storage system234in which printable file236is stored. Printable file236comprises a plurality of page descriptions corresponding to a plurality of logical pages238. Where the job ticket interpreter is implemented as a PostScript program in a printer, significant processing time may be consumed by switching processing between information in a printable file and a file that stores the job ticket. As the interpreter202processes a page208of the printable file206it encounters a page break209. Processing of the interpret switches at each page break209from the printable file236back to the layout parameters210in the job ticket file204. After processing the layout parameters210to effectuate the page break, processing again switches back to the printable file206to process a next page208. As depicted inFIG. 3, the farther a given page238is sequentially located from the start (“Page 1”) of the file, the more time it takes to seek to a given page description, execute job ticket instructions, then switch again to the job ticket for new instructions, and so forth. This processing of switching back and forth between the job ticket file204and the printable file206consumes significant processing time in the interpreter202and thus degrades overall performance of the printing system. Such processing overhead is particularly onerous in a PostScript interpreter but may also be present in other interpreters.

FIG. 4illustrates a printing environment300in an exemplary embodiment of the invention. Printing environment300includes one or more host systems310in communication with a printing system320. Host system310comprises any computer, server, or other device operable to execute an application312to generate or provide printable files. A printable file comprises any digital file having text, images, or other content to be printed on printing system320. The printable files may be formatted in any reprogrammable page description language, such as PostScript (PS). Host system310may also generate or receive a job ticket that is associated with a printable file. A job ticket comprises any data that defines a print job regarding how a printable file is to be processed for printing, such as the type of input media to be used in printing a file, the size of pages in the file, alignment of graphics or text on the pages, the type of finishing for the pages, etc. When host system310submits a print job to printing system320, host system310transmits the printable file and the job ticket to printing system320. Alternatively, the job ticket may include an address or an indicator of the location of a printable file, and printing system320may retrieve the printable file.

Printing system320comprises any system used to put marks on media. Printing system320may comprise any printing system including ink-jet and electrophotographic and price/performance ranges from personal/home use through large production printing systems (e.g., a continuous forms printer or a cut sheet page printer). Printing system320includes a print controller322. Print controller322comprises any system, server, or components operable to control the printing of files on printing system320.

Print controller322is operable to receive a printable file324(e.g., from host system310) that contains a plurality of page-break indicators, each page break indicator indicating a logical page in the printable file. Print controller322is further operable to receive a job ticket325that is associated with printable file324and that contains layout parameters. Print controller322, in this embodiment, comprises a reprogrammable PDL processor326and a job ticket interpreter328. Reprogrammable PDL processor326is operable to define a function of a page break indicator. Job ticket interpreter328is operable to re-define the function of the page break indicator of reprogrammable PDL processor326in accordance with layout parameters in job ticket325; that is, job ticket interpreter328is operable to re-define the function of the page-break indicator of the plurality of logical pages such that the re-defined page-break indicator performs the appropriate layout function of the page following a page-break indicator that is normally performed by a job ticket interpreter. Job ticket interpreter328comprises any system, server, or components operable to receive and process a job ticket to determine how a printable file is to be processed on printing system320. Print controller322is further operable to print a plurality of logical pages of printable file324after job ticket interpreter328re-defines the function of the page break indicator in reprogrammable PDL processor326. In accordance with the invention, print controller322is operable to print a plurality of logical pages after job ticket interpreter328re-defines the function of the page break indicator before any further reference to job ticket325by job ticket interpreter328. Although not shown, print controller322may include other components for processing raw data for a file, components for rendering or interpreting the raw data to generate bitmaps, and components for queuing or buffering the bitmaps for subsequent transfer to a print engine.

FIG. 5is a flow chart illustrating a method400of processing job tickets in printing system320in an exemplary embodiment of the invention. The steps of method400will be described with reference to printing system320inFIG. 4, although method400may be performed by other systems. The steps of the flow chart inFIG. 5are not all inclusive and may include other steps not shown.

In step402, print controller322receives one or more printable files324. The printable files may be received from host system310as illustrated inFIG. 4, or may be received from another system or server. Printable file324contains a plurality of page-break indicators, each page-break indicator indicating a logical page. In step404, print controller322receives a job ticket from host system310or another system. The job ticket is associated with one or more printable files324. In step406, job ticket interpreter328re-defines a function of a page-break indicator in reprogrammable PDL processor326in accordance with the layout parameters contained in job ticket325; that is, job ticket interpreter328re-defines the function of the page-break indicator in reprogrammable PDL processor326such that the re-defined page-break indicator performs the appropriate layout function of the page following a page-break indicator that is normally performed by a job ticket interpreter. Thereafter, in step408, print controller322prints a plurality of the logical pages of printable file324before any further reference to job ticket325.

In some printing applications, a preamble of a printable file contains printing parameters, for example, layout parameters, of the type typically included in a job ticket. In some cases, the preamble of a printable file may practically re-define a page-break indicator in a manner inconsistent with the redefinition of a page break indicator in a job ticket in accordance with the invention. In such cases, if a job ticket were processed in accordance with the invention to re-define a page-break indicator and then the preamble of the printable file were processed, resulting in a second, undesired redefinition of the page break indicator, a benefit of the present invention could be frustrated. Therefore, in printing applications in which the beginning (preamble) of a printable file would practically re-define the definition of a page break indicator in the printing system, the beginning (e.g., the first logical page) of the printable file is processed initially, followed by processing of the job ticket by the job ticket interpreter. In some exemplary embodiments, this is accomplished by processing the beginning of the printable file until the page-break indicator of the first logical page is reached, and thereafter processing the job ticket to re-define the page break indicator. For example, in some embodiments, a PostScript interpreter processes the beginning of a PostScript printable file until it reaches the showpage operator of the first logical page, then the JDF interpreter processes the JDF job ticket and re-defines the showpage operator in accordance with the layout parameters contained in the job ticket.

Many print controllers include PostScript interpreters that are operable to interpret files and programs coded according to the PostScript language. The following illustrates a specific embodiment of implementing the JDF interpreter as a PostScript program. Although PostScript will be described in the following embodiment, other languages may be used to implement the JDF interpreter in other embodiments.

FIG. 6illustrates another printing environment500in an exemplary embodiment of the invention in which the job ticket interpreter is the JDF interpreter and the reprogrammable PDL processor is a PostScript interpreter. Printing environment500includes one or more host systems510in communication with a printing system520. Host system510is able to execute an application512to generate or provide one or more PostScript files522to printing system520. Printing system520includes a print controller524, an input device552, one or more print engines554, one or more finishing devices556, and an output device558. As in other embodiments, print controller524is operable to process a JDF job ticket523received from host system510or another system. To provide such functionality, print controller524includes a storage system532and a PostScript interpreter534. A PostScript interpreter comprises any system, server, or components operable to translate or decode PostScript statements into executable form and execute the statements. In accordance with the invention, a job ticket interpreter in print controller524is operable to re-define the function of the showpage operator in PostScript interpreter534in accordance with the layout parameters in JDF job ticket523. PostScript interpreter534may be implemented as one or more processors executing instructions to perform the functionalities of an interpreter.

In this embodiment, storage system532, or another memory in print controller524, stores a JDF interpreter program536. JDF interpreter program536is written in the PostScript language. Because JDF interpreter program536is written in PostScript language, PostScript interpreter534is able to interpret JDF interpreter program536as it would other PostScript programs or files. PostScript interpreter534is illustrated inFIG. 6as including JDF interpreter544and PostScript file interpreter542. JDF interpreter544represents the functions or actions performed by PostScript interpreter534when interpreting JDF interpreter program536. PostScript file interpreter542represents the functions or actions performed by PostScript interpreter534when interpreting PostScript files to be printed as stored in storage system532. In accordance with the invention, JDF interpreter544is operable to re-define the function in PostScript file interpreter542of the PostScript showpage operator in accordance with the layout parameters of JDF job ticket523; that is, JDF interpreter544re-defines the processing of page-break indicators of multiple logical pages in printable file522in accordance with layout parameters from job ticket523such that the re-defined page-break indicators perform the appropriate layout function for the page following the page-break indicator that is normally performed by a job ticket interpreter.

Generally, JDF interpreter544issues the PostScript commands for the printing parameters. To issue the PostScript commands, JDF interpreter544transmits the PostScript commands to the PostScript file interpreter542, which is able to interpret the PostScript commands to perform the desired functions. PostScript file interpreter542then interprets the PostScript file and the PostScript commands from JDF interpreter544to print the PostScript printable file. By re-defining the definition of the showpage operator in PostScript file interpreter542, time-consuming and resource-consuming communications between PostScript file interpreter542and JDF interpreter544are avoided.

FIG. 7is a flow chart illustrating a method600of processing JDF job tickets in printing system520in an exemplary embodiment of the invention. The steps of method600will be described with reference to printing system520inFIG. 6, although method600may be performed by other systems. The steps of the flow chart inFIG. 7are not all inclusive and may include other steps not shown.

In step602, print controller524receives a PostScript printable file522containing PostScript showpage operators associated with logical pages in printable file522. The PostScript file may be received from host system510as illustrated inFIG. 7, or may be received from another system or server. At some point, one or more of the PostScript files are retrieved from storage system532, and are sent to PostScript interpreter534for processing.

In step604, print controller524receives a JDF job ticket523containing layout parameters for PostScript printable file522. Print controller524receives a JDF job ticket from host system510or another system. A JDF job ticket is written in XML format. In step606, JDF interpreter544re-defines in PostScript interpreter534the function of the PostScript showpage operator in accordance with the layout parameters contained in JDF job ticket523; that is, JDF interpreter544re-defines the function of the page-break indicator of the plurality of logical pages such that the re-defined page-break indicator performs the appropriate layout function of the page following a page-break indicator that is normally performed by a job ticket interpreter. In step608, after redefinition of the showpage operator, print controller524prints a plurality of logical pages of PostScript printable file522before any further reference to the job ticket. Accordingly, some or all of the logical pages contained in printable file522can be printed by print controller524without re-referencing a job ticket to receive instructions for the layout parameters for each logical page.

The medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium. Examples of a computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk. Current examples of optical disks include compact disk-read only memory (CD-ROM), compact disk-read/write (CD-R/W) and DVD. For example, U.S. application Ser. No. 12/118,191 describes a computer system suitable for storing and/or executing program code that may be adapted for utilization in accordance with the invention.