CAPS Universe documentation  1.0.4
All you need to know to be successful
Supported Printing Parameter

Detailed printing control via parameters.

A printing parameter line example:

 orientation-requested=3 copies=2 ColorModel=Mono Duplex=DuplexNoTumble

You will find here a list of supported printing parameters and how libcapsraster deals with it. Listed are the well known IPP printing parameters. Additional parameters are based on the content of your PPD and will also be processed.

If a keyword isn't found in the IPP keyword list, nor in the PPD keword list, it will be ignored (with a warning in the log).

Note
If you need access to the printing parameters (to add support for your own parameters for example), you need to process the keyword/value string by your own.

When a print starts the following defaults are valid:

Note
Some parameters interfere in their function. For example auto-fit sets up some behaviour, a crop-to-fit may (partially) re-defines. Thus, the order of these parameters is important.

Fidelity

Note
This parameter is of type boolean. It doesn't require a value and is always treated as true if present. But: a ipp-attribute-fidelity=false gets skipped!

Page Range to print

By default the whole document will be printed. In order to limit the print to a set of pages, the parameter page-ranges=<list> can be used.

<list> can be:

String Range
number prints a single page
number- print begins with page number up to the last page
-number prints from the first page up to page number
number1-number2 print begins with page number1 up to page number2

And all combinations of the above, separated by a comma. Example: 1-4,7,9-12.

Note
If no page range is defined, all pages from the document are printed.
If all selected page-ranges are outside the amount of available pages in the document, the whole print job will be skipped.
If one of the selected page-ranges is outside the amount of available pages in the document, it will be skipped with a warning.

Media Selection

The parameter media is ignored, yet. Used are the settings from the PPD.

Print Orientation

The parameter orientation-requested=<value> defines the print orientation of the document.
<value> can be:

The results are:

The rotation directions depend on printer settings on demand. The defaults are:

This parameter disables the default automatic rotation and the rotate-to-fit parameter and interferes with all parameters with the word fit in their names, like scale-to-fit for example.

Copies

The parameter copies=<value> defines the copies to be printed of each medium. It interferes with the collate parameter how the document pages get printed (regarding their order).

Note
If this parameter isn't given, it defaults to '1' copy.

multiple-document-handling

Collate

The parameter collate enables collating.

Note
This parameter is of type boolean. It doesn't require a value and is always treated as true if present. But: a collate=false gets skipped!
This parameter has precedence over "multiple-document-handling" and overwrites its setting, refer ipp_get_document_value() for details

Print Quality

The parameter print-quality is ignored yet.

Print Resolution

The given option is of the form printer-resolution=<resolution>. (or resolution=<resolution>)

Value for <resolution> is of up to three values:

Example:

Note
Do not insert spaces between the three components of the resolution entry.

Print Sides

The given option is of the form sides=<setting> and only used by printers which support duplex print.

Values for <setting> are

Scale the page to the imageable area

fitplot and fit-to-page

PDFtoPDF: "Scale to fit printable area"

Note
fitplot is a depricated keyword

Do not scale the page to the imageable area

nofitplot and nofit-to-page

Automatic Fit

Use the full imageable area of the medium, by scaling the page or by cropping it.

auto-fit

If the ipp-attribute-fidelity parameter is given or the document's page is larger than the printing paper it acts like a fitplot or fit-to-page parameter ("Scale to fit printable area").

If not, it runs like a crop-to-fit parameter ("Do not scale, center, crop if needed").

Note
auto-fit=false negates the effect

Crop Content to fit

Use the full imageable area of the medium, by cropping the page.

crop-to-fit

PDFtoPDF "Do not scale, center, crop if needed"

scale-to-fit

rotate-to-fit

Same as auto-fit?

Alignment

This printing parameter makes sense only, if the document's size is smaller than the print medium is. If you don't want to scale-up the document to fit into the medium, you can align it to an edge you want.

Todo:
It makes sense as well if the document is larger and should be printed differently than centered!

The default alignment for a smaller document on a larger medium is to be centered.

From left to right: align-left, align-right, align-top, align-bottom
Note
These parameters are of type boolean. They don't require a value and always treated as true if present. But: a align-left=false gets skipped!
If more than one of these parameters at the same axis are given, the last one will define the final alignment.
Alignment happens relative to medium's corresponding imageable edges, e.g. its margins (not to medium's edges)

Define the leading edge of an inserted medium

The parameter LeadingEdge=<value> defines the medium orientation the printer will print to.

Print medium leading edges: short (left) and long (right)

Most of the time this orientation is fixed due to the printer's mechanical restrictions when using the largest supported medium format. But for the case a smaller medium should be printed (like an envelope for example) and a manual paper feed is used it might be possible to insert the medium with its short or long edge first.

<value> can be:

This parameter is used in conjunction with the PageSize printing parameter which defines the medium's format/size but not its orientation.

For example:

You printer supports DIN A4 or Letter and if you use one of these formats due to mechanical restriction, you always need to print to these formats whith their short edge first. Thus, it defaults to:

PageSize=A4 LeadingEdge=Short

But your printer has a manual paper feed as well and you want to print to an envelope. In this case you need to tell your printer how you want to insert the envelop medium. Two ways are possible:

PageSize=DL LeadingEdge=Short
One way to insert an envelope into the manual feed
PageSize=DL LeadingEdge=Long
Another way to insert an envelope into the manual feed
Note
This parameter is independent from the orientation-requested parameter. LeadingEdge is regarding the real physical medium, while orientation-requested is regarding the document's content and how to print it to the physical medium.