CUPS raster files are device-dependent raster image files that contain a PostScript page device dictionary and device-dependent raster imagery for each page in the document. These files are used to transfer raster data from the PostScript and image file RIPs to device-dependent filters that convert the raster data to a printable format.
CUPS 1.0 and 1.1 used a version 1 raster format. CUPS 1.2 introduces version 2 (compressed) and version 3 (uncompressed) formats that are a superset of the version 1 format. Applications using the CUPS Imaging API (the cupsRaster* functions) can read all formats without code changes.
The registered MIME media type for CUPS raster files is
application/vnd.cups-raster.
A version 1 raster file begins with a 32-bit synchronization word: 0x52615374 ("RaSt") for big-endian architectures and 0x74536152 ("tSaR") for little-endian architectures. The writer of the raster file will use the native word order, and the reader is responsible for detecting a reversed word order file and swapping bytes as needed. The CUPS Imaging API raster functions perform this function automatically.
Following the synchronization word are a series of raster pages. Each page starts with a page device dictionary header and is followed immediately by the (uncompressed, raw) raster data for that page.
| Bytes | Type | Description | Values |
|---|---|---|---|
| 0-63 | C String | MediaClass | Media class string |
| 64-127 | C String | MediaColor | Media color string |
| 128-191 | C String | MediaType | Media type string |
| 192-255 | C String | OutputType | Output type string |
| 256-259 | Unsigned Integer | AdvanceDistance | 0 to 232 - 1 points |
| 260-263 | Unsigned Integer | AdvanceMedia | 0 = Never advance roll 1 = Advance roll after file 2 = Advance roll after job 3 = Advance roll after set 4 = Advance roll after page |
| 264-267 | Unsigned Integer | Collate | 0 = do not collate copies 1 = collate copies |
| 268-271 | Unsigned Integer | CutMedia | 0 = Never cut media 1 = Cut roll after file 2 = Cut roll after job 3 = Cut roll after set 4 = Cut roll after page |
| 272-275 | Unsigned Integer | Duplex | 0 = Print single-sided 1 = Print double-sided |
| 276-283 | Unsigned Integers (2) | HWResolution | Horizontal and vertical resolution in dots-per-inch. |
| 284-299 | Unsigned Integers (4) | ImagingBoundingBox | Four integers giving the left, bottom, right, and top positions of the page bounding box in points |
| 300-303 | Unsigned Integer | InsertSheet | 0 = Do not insert separator sheets 1 = Insert separator sheets |
| 304-307 | Unsigned Integer | Jog | 0 = Do no jog pages 1 = Jog pages after file 2 = Jog pages after job 3 = Jog pages after set |
| 308-311 | Unsigned Integer | LeadingEdge | 0 = Top edge is first 1 = Right edge is first 2 = Bottom edge is first 3 = Left edge is first |
| 312-319 | Unsigned Integers (2) | Margins | Left and bottom origin of image in points |
| 320-323 | Unsigned Integer | ManualFeed | 0 = Do not manually feed media 1 = Manually feed media |
| 324-327 | Unsigned Integer | MediaPosition | Input slot position from 0 to N |
| 328-331 | Unsigned Integer | MediaWeight | Media weight in grams per meter squared |
| 332-335 | Unsigned Integer | MirrorPrint | 0 = Do not mirror prints 1 = Mirror prints |
| 336-339 | Unsigned Integer | NegativePrint | 0 = Do not invert prints 1 = Invert prints |
| 340-343 | Unsigned Integer | NumCopies | 1 to 232 - 1 |
| 344-347 | Unsigned Integer | Orientation | 0 = Do not rotate page 1 = Rotate page counter-clockwise 2 = Turn page upside down 3 = Rotate page clockwise |
| 348-351 | Unsigned Integer | OutputFaceUp | 0 = Output face down 1 = Output face up |
| 352-359 | Unsigned Integers (2) | PageSize | Width and length in points |
| 360-363 | Unsigned Integer | Separations | 0 = Print |
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print | ||
| Separations | 0 = Print |