# US 8,543,915 B2 · “Proof print” for job settings

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,543,915 B2
- Document ID: US8543915B2
- Status: Granted
- Kind: B2
- Application number: 11/879,391
- Filed: 2007-07-16
- Published: 2009-01-22
- Granted: 2013-09-24
- Earliest claimed: 2007-07-16
- Assignees: Ricoh Company, Ltd.
- Applicants: Yue Liu; Kurt Knodt
- Inventors: Yue Liu; Kurt Knodt
- Web page: https://patentgrep.com/patent/US8543915B2

## CPC

- G06F 3/1259: {Print job monitoring, e.g. job status}
- G06F 3/1207: {resulting in the user being informed about print result after a job submission}
- G06F 3/121: {Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted}
- G06F 3/1244: {Job translation or job parsing, e.g. page banding}
- G06F 3/1255: {Settings incompatibility, e.g. constraints, user requirements vs. device capabilities}
- G06F 3/1285: {Remote printer device, e.g. being remote from client or server}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

According to techniques described herein, print job attributes are checked to identify potential conflicts and potential invalid settings. According to one embodiment of the invention, a job setting manager process executing on a printing device is configured to examine and store print job attributes as detected by print interpreter modules. According to an embodiment of the invention, the job setting manager maintains a data structure comprising print job attributes, their values, and other information. As each interpreter module detects a job setting in the print data, the job setting manager receives this setting and its value and checks the data structure to identify conflicts between previously-set job attributes and whether the requested job attribute is supported by the destination printing device. According to an embodiment of the invention, if a conflict is identified, a notification is produced.

## Claims

### Claim 1

An apparatus comprising:
one or more processors; and
a memory storing instructions which, when processed by the one more processors, cause:
receiving a print data stream that includes a plurality of print attributes;
performing a simulation for printing of a print job, wherein the print job is represented by the print data stream;
determining, from the simulation, two or more print attribute values from the plurality of print attribute values included in the print data stream that conflict by identifying, in the print data stream, at least a first print attribute value for a print attribute that is specified in a header portion of the print data stream, and a second print attribute value for the print attribute that both conflicts with the first print attribute value and is specified in a body portion of the print data stream, wherein the header portion of the print data stream is separate from the body portion of the print data stream; and
in response to determining the two or more print attribute values that conflict, generating a notification that identifies the two or more print attribute values that conflict.

### Claim 2 (depends on 1)

An apparatus of claim 1, wherein generating the notification comprises printing data that identifies the two or more print attribute values that conflict.

### Claim 3 (depends on 1)

An apparatus of claim 1, further comprising additional instructions which, when processed by the one or more processors, cause printing data that identifies the plurality of print attribute values that are included in the print data stream.

### Claim 4 (depends on 1)

An apparatus of claim 1, wherein the first print attribute value is specified in a first printer description language, and the second print attribute value is specified in a second printer description language that differs from the first printer description language.

### Claim 5 (depends on 1)

An apparatus of claim 1, wherein either the first print attribute value for the print attribute or the second print attribute value for the print attribute is a default value.

### Claim 6 (depends on 1)

An apparatus of claim 1, wherein the first print attribute value is specified in PJL, and the second print attribute value is specified in either PCL or PCL-XL.

### Claim 7 (depends on 1)

An apparatus of claim 1, further comprising additional instructions which, when processed by the one or more processors, cause generating the notification in response to receiving an instruction to execute the simulation without printing the print job.

### Claim 8 (depends on 1)

An apparatus of claim 1, further comprising additional instructions which, when processed by the one or more processors, cause generating the notification to a user by one or more of displaying the notification on a screen, or emailing the notification to a specified email address.

### Claim 9 (depends on 1)

An apparatus of claim 1, further comprising additional instructions which, when processed by the one or processors, cause identifying one or more print attribute values in the print stream or simulation, and storing the one or more print attribute values in a data structure.

### Claim 10

One or more non-transitory computer-readable media storing instructions which, when processed by one or more processors, cause performance of:
receiving a print data stream that includes a plurality of print attributes;
performing a simulation for printing of a print job, wherein the print job is represented by the print data stream;
determining, from the simulation, two or more print attributes from the plurality of print attributes included in the print data stream that conflict by identifying, in the print data stream, at least a first print attribute value for a print attribute that is specified in a header portion of the print data stream, and a second print attribute value for the print attribute that both conflicts with the first print attribute value and is specified in a body portion of the print data stream, wherein the header portion of the print data stream is separate from the body portion of the print data stream; and
in response to determining that two or more print attributes that conflict, generating a notification that identifies the two or more print attributes that conflict.

### Claim 11 (depends on 10)

The one or more non-transitory computer-readable media as recited in claim 10, wherein generating the notification comprises printing data that identifies the two or more print attribute values that conflict.

### Claim 12 (depends on 10)

The one or more non-transitory computer-readable media as recited in claim 10, further comprising additional instructions which, when processed by the one or more processors, causes performance of printing data that identifies the plurality of print attribute values that are included in the print data stream.

### Claim 13 (depends on 10)

The one or more non-transitory computer-readable media as recited in claim 10, wherein the first print attribute value is specified in a first printer description language, and the second print attribute value is specified in a second printer description language that differs from the first printer description language.

### Claim 14 (depends on 10)

The one or more non-transitory computer-readable media as recited in claim 10, wherein either the first print attribute value for the print attribute or the second print attribute value for the print attribute is a default value.

### Claim 15 (depends on 10)

The one or more non-transitory computer-readable media as recited in claim 10, wherein the first print attribute value is specified in PJL, and the second print attribute value is specified in either PCL or PCL-XL.

### Claim 16 (depends on 10)

The one or more non-transitory computer-readable media as recited in claim 10, wherein generating the notification in response to receiving an instruction to execute the simulation without printing the print job.

### Claim 17 (depends on 10)

The one or more non-transitory computer-readable media as recited in claim 10, further comprising additional instructions which, when processed by the one or more processors, causes performance of generating the notification to a user by displaying one or more of the notification on a screen, or emailing the notification to a specified email address.

### Claim 18 (depends on 10)

The one or more non-transitory computer-readable media as recited in claim 10, further comprising additional instructions which, when processed by the one or more processors, causes performance of identifying one or more print attribute values in the print stream or simulation, and storing the one or more print attribute values in a data structure.

### Claim 19

A method comprising:
receiving a print data stream that includes a plurality of print attributes;
performing a simulation for printing of a print job, wherein the print job is represented by the print data stream;
determining, from the simulation, two or more print attributes from the plurality of print attributes included in the print data stream that conflict by identifying, in the print data stream, at least a first print attribute value for a print attribute that is specified in a header portion of the print data stream, and a second print attribute value for the print attribute that both conflicts with the first print attribute value and is specified in a body portion of the print data stream, wherein the header portion of the print data stream is separate from the body portion of the print data stream; and
in response to determining that two or more print attributes that conflict, generating a notification that identifies the two or more print attributes that conflict.

### Claim 20 (depends on 19)

The method as recited in claim 19, wherein generating the notification is performed in response to receiving an instruction to execute the simulation without printing the print job.
