# US 2013/0155464 A1 · Print application

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

- Number: US 2013/0155464 A1
- Document ID: US20130155464A1
- Status: Published application
- Kind: A1
- Application number: 13/817,504
- Filed: 2011-08-19
- Published: 2013-06-20
- Earliest claimed: 2010-08-19
- Inventors: Christopher Alan Bearchell
- Web page: https://patentgrep.com/patent/US20130155464A1

## CPC

- G06K 15/181: {Receiving print data characterized by its formatting, e.g. particular page description languages}
- G06F 3/1206: {resulting in increased flexibility in input data format or job format or job type}
- G06F 3/1226: {Discovery of devices having required properties}
- G06F 3/1228: {Printing driverless or using generic drivers}
- G06F 3/1247: {by conversion to printer ready format}
- G06F 3/1285: {Remote printer device, e.g. being remote from client or server}
- G06F 3/1292: {Mobile client, e.g. wireless printing}
- G06K: GRAPHICAL DATA READING (image or video recognition or understanding G06V); PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A print engine is disclosed comprising a discovery module and a number of content formatters. When a document is to be printed a content formatter is selected based on the format of the document. The document is then analysed together with capabilities data obtained by the discovery module to determine whether the document is in a format compatible with the capabilities of the printer to be used to print the document. If this is the case the unprocessed document is passed to the printer. If the document is not in a format compatible with the capabilities of the printer, the print engine determines whether the document can be modified to remove incompatibilities between the format of the document and a format compatible with the capabilities of the printer without removing content from the document and if so modifies the document and passes the processed document to the printer.

## Claims

### Claim 1

A method of generating a print job for a printer, the method comprising:
determining the capabilities of the printer for which a print job is to be generated, wherein said capabilities define file and instruction formats which can be printed by the printer; and
pre-processing a document defining data for which a print job is to be generated by:
analyzing the document to determine whether the document is in a format compatible with the capabilities of the printer and if so passing the unprocessed document to the printer;
if the document is not in a format compatible with the capabilities of the printer, determining whether the document can be modified to remove incompatibilities between the format of the document and a format compatible with the capabilities of the printer without removing content from the document and if so making the determined modifications and passing the processed document to the printer; and
if a document is not in a format compatible with the capabilities of the printer and cannot be modified without changing the content of the document to become compatible with the capabilities of the printer, processing the document to generate print instructions compatible with the printer for representing the document and passing the generated instructions to the printer.

### Claim 2 (depends on 1)

The method of claim 1 wherein determining the capabilities of the printer for which a print job is to be generated comprises:
performing a discovery operation to identify one or more available printers; and
obtaining capability data defining the capabilities of the printers discovered to be available.

### Claim 3 (depends on 2)

The method of claim 2 wherein obtaining capability data comprises utilizing data obtained during the discovery operation to identify the type of printers available; and
accessing a database associating printer types with capability data.

### Claim 4 (depends on 2)

The method of claim 2 wherein said capability data comprises data defining any of: printer languages understood by the printer; document formats understandable by a printer; document format versions understandable by a printer; duplex capabilities;
collation capabilities, supported paper sizes, printer output media supported, media path information, input trays, output trays and font data installed on a printer.

### Claim 5 (depends on 4)

The method of claim 4 wherein said printer languages comprise any language selected from the group comprising: PostScript, Printer Command Language, Epson Standard Code for Printers, Refined Printing Command Stream; Ricoh Printer driver language, XML Paper Specification, ZJ stream, Canon Printing System Language, Xerox Escape Sequences, and XHTML-Print.

### Claim 6 (depends on 4)

The method of claim 4 wherein said document formats comprise one or more document formats selected from the group comprising: Word Document format, Open Office word processing format, Excel format, Open Office spreadsheet format, Power point format, Open Office presentation format, jpeg format, png format, tiff format, gif format, e-mail message format, v-card contact format, android contact format, calendar entry format, pdf format, html format and text format.

### Claim 7 (depends on 2)

The method of claim 2 wherein analyzing a document to determine whether the data is in a format compatible with the capabilities of the printer comprises:
identifying a file extension associated with a document to printed to determine the format of the document and comparing the identified format with capability data for the printer identifying file formats compatible with the printer.

### Claim 8 (depends on 7)

The method of claim 7 wherein analyzing a document to determine whether the data is in a format compatible with the capabilities of the printer comprises:
utilizing the file extension associated with a document to determine the structure and syntax of document to be processed;
using the determined structure and syntax to analyze the document to determine whether the document is compatible with a format version identified by capability data as compatible with a printer to be utilized to print the document; and
if a document is not compatible with a format version identified by capability data, analyzing the portions of the document which are not compatible with the identified format version and replacing the incompatible portions of the document with data compatible with the format version identified by the compatibility data where the replacement of data does not change the content of the document as printed by the printer.

### Claim 9 (depends on 8)

The method of claim 8 further comprising:
if a document is not compatible with capability data for a printer, using the determined structure and syntax to analyze the document to determine portions of the document which are compatible with the capability data for a printer and passing data corresponding to the portions of a document identified as compatible with the capabilities of a printer without additional processing.

### Claim 10 (depends on 8)

The method of claim 8 further comprising:
if a document is not compatible with capability data for a printer, using the determined structure and syntax to analyze the document to determine portions of the document which correspond to images in a format identified as compatible with the capability data for a printer and passing data corresponding to the portions of a document identified as compatible with the capabilities of a printer without additional processing.

### Claim 11 (depends on 8)

The method of claim 8 further comprising:
if a document is not compatible with capability data for a printer, using the determined structure and syntax to analyze the document to determine portions of the document which correspond to text in a format identified as compatible with the capability data for a printer and passing data corresponding to the portions of a document identified as compatible with the capabilities of a printer without additional processing.

### Claim 12 (depends on 11)

The method of claim 11 further comprising:
selecting a font for printing portions of a document identified as being text on the basis of capability data indicating fonts installed on the printer to be utilized to print the document.

### Claim 13 (depends on 1)

The method of claim 1, further comprising:
if a document is not in a format identified as being compatible with a printer and if the document cannot be processed to become compatible with the printer:
identifying a printer language compatible with the printer;
selecting a printer driver to convert the pre-processed document into print instructions on the basis of the identified printer language;
converting the pre-processed document using the selected printer driver to generate print instructions in the selected printer language; and
outputting the generated print instructions.

### Claim 14 (depends on 1)

The method of claim 1 wherein processing the document to generate print instructions compatible with the printer for representing the document comprises determining whether print instructions compatible with the determined capabilities for a printer can be generated locally and if not sending the document for processing on a remote server.

### Claim 15

A print engine comprising:
a discovery module operable to determine the capabilities of a printer for which a print job is to be generated, wherein said capabilities define file and instruction formats which can be printed by the printer; and
a content formatter operable to process a document defining data for which a print job is to be generated by:
analyzing the document to determine whether the document is in a format compatible with the capabilities of the printer and if so passing the unprocessed document to the printer;
if the document is not in a format compatible with the capabilities of the printer, determining whether the document can be modified to remove incompatibilities between the format of the document and a format compatible with the capabilities of the printer without removing content from the document and if so making the determined modifications and passing the processed document to the printer; and
if a document is not in a format compatible with the capabilities of the printer and cannot be modified without changing the content of the document to become compatible with the capabilities of the printer, processing the document to generate print instructions compatible with the printer for representing the document and passing the generated instructions to the printer.

### Claim 16 (depends on 15)

A print engine in accordance with claim 15 further comprising a content identifier operable to identify a file extension associated with a document to printed wherein the content formatter comprises a plurality of content formatters each associated with a different file type wherein the print engine is operable to select a content formatter for processing a document to be processed on the basis of the file type identified by the content identifier.

### Claim 17 (depends on 15)

A print engine in accordance with claim 15 wherein each of the plurality of content formatters are configured to process documents having the file type associated with that content formatter and analyze the document to determine whether the document is compatible with a format version identified by capability data as compatible with a printer to be utilized to print the document; and if a document is not compatible with a format version identified by capability data, analyze the portions of the document which are not compatible with the identified format version and replace the incompatible portions of the document with data compatible with the format version identified by the compatibility data where the replacement of data does not change the content of the document as printed by the printer.

### Claim 18 (depends on 17)

A print engine in accordance with claim 17 wherein each of the plurality of content analyzers is operable if a document is not compatible with capability data for a printer, to analyze a document of the file type associated with the content formatter to determine portions of the document which are compatible with the capability data for a printer and pass data corresponding to the portions of a document identified as compatible with the capabilities of a printer without additional processing.

### Claim 19 (depends on 18)

A print engine in accordance with claim 18 wherein each of the plurality of content analyzers is operable if a document is not compatible with capability data for a printer to determine portions of the document which correspond to images in a format identified as compatible with the capability data for a printer and pass data corresponding to the portions of a document identified as compatible with the capabilities of a printer without additional processing.

### Claim 20 (depends on 18)

A print engine in accordance with claim 18 wherein each of the plurality of content analyzers is operable if a document is not compatible with capability data for a printer, document to determine portions of the document which correspond to text in a format identified as compatible with the capability data for a printer and pass data corresponding to the portions of a document identified as compatible with the capabilities of a printer without additional processing.

### Claim 21 (depends on 15)

A print engine in accordance with claim 15 wherein the content formatter is operable to selecting a font for printing portions of a document identified as being text on the basis of capability data indicating fonts installed on the printer to be utilized to print the document.

### Claim 22 (depends on 15)

A print engine in accordance with claim 15 further comprising a plurality of printer drivers operable to convert processed documents into print instructions in specific printer languages.

### Claim 23 (depends on 22)

A print engine in accordance with claim 22 wherein the print engine is operable to determine on the basis of capabilities of a printer identified by the discovery module whether any of the plurality of printer drivers is operable to generate print instructions compatible with the printer and select a printer driver to generate print instructions on the basis of said determination wherein if the print engine determines that print instructions compatible with the determined capabilities for a printer cannot be generated by the print engine, the print engine is operable to send a document for processing on a remote server.

### Claim 24

A computer readable medium storing computer interpretable instructions which when interpreted by a programmable computer cause the computer to :
determine the capabilities of a printer for which a print job is to be generated, wherein said capabilities define file and instruction formats which can be printed by the printer; and
pre-processing a document defining data for which a print job is to be generated by:
analyzing the document to determine whether the document is in a format compatible with the capabilities of the printer and if so passing the unprocessed document to the printer;
if the document is not in a format compatible with the capabilities of the printer, determining whether the document can be modified to remove incompatibilities between the format of the document and a format compatible with the capabilities of the printer without removing content from the document and if so making the determined modifications and passing the processed document to the printer; and
if a document is not in a format compatible with the capabilities of the printer and cannot be modified without changing the content of the document to become compatible with the capabilities of the printer, processing the document to generate print instructions compatible with the printer for representing the document and passing the generated instructions to the printer.
