../../_images/savapage-logo-no-text-100px.png

12. IPP Extensions

Internet Printing Protocol (IPP) attributes and values are registered by IANA. See the IANA site or the PWG site for a full list.

SavaPage uses two types of extensions:

  • Internal extensions, which are intrinsic to SavaPage.

  • External extensions, as defined in implementation specific configuration files.

12.1. Internal IPP Extensions

Internal IPP Extension attributes are intrinsicto SavaPage. To distinguish them from IANA registrations, their names have a org.savapage- prefix. Attribute value extensions with “type2 keyword” syntax are int. prefixed.

Attributes and values are summarized in the sections below. Attribute values are IANA registered, and the semantics can be found in the Reference documents. Attribute value int. extensions are described separately.

12.1.1. Internal IPP - PPD Mapping Extensions

These Internal IPP extensions are used to map vendor specific PPD options to an independent common denominator. They are never send to CUPS as print job descriptor as such.

12.1.1.1. org.savapage-finishings-staple

Staple positions are specified with respect to portrait media orientation. See RFC3806.

Internal IPP Attribute: org.savapage-finishings-staple

Value

Name

Syntax

Reference

3

none

1setOf type2 enum

RFC8011

20

staple-top-left

1setOf type2 enum

RFC8011

21

staple-bottom-left

1setOf type2 enum

RFC8011

22

staple-top-right

1setOf type2 enum

RFC8011

23

staple-bottom-right

1setOf type2 enum

RFC8011

24

edge-stitch-left

1setOf type2 enum

RFC8011

25

edge-stitch-top

1setOf type2 enum

RFC8011

26

edge-stitch-right

1setOf type2 enum

RFC8011

27

edge-stitch-left-bottom

1setOf type2 enum

RFC8011

28

staple-dual-left

1setOf type2 enum

RFC8011

29

staple-dual-top

1setOf type2 enum

RFC8011

30

staple-dual-right

1setOf type2 enum

RFC8011

31

staple-dual-bottom

1setOf type2 enum

RFC8011

32

staple-triple-left

1setOf type2 enum

PWG5100.1

33

staple-triple-top

1setOf type2 enum

PWG5100.1

34

staple-triple-right

1setOf type2 enum

PWG5100.1

35

staple-triple-bottom

1setOf type2 enum

PWG5100.1

12.1.1.2. org.savapage-finishings-punch

Punch positions are specified with respect to portrait media orientation. See RFC3806.

Internal IPP Attribute: org.savapage-finishings-punch

Value

Name

Syntax

Reference

3

none

1setOf type2 enum

RFC8011

70

punch-top-left

1setOf type2 enum

PWG5100.1

71

punch-bottom-left

1setOf type2 enum

PWG5100.1

72

punch-top-right

1setOf type2 enum

PWG5100.1

73

punch-bottom-right

1setOf type2 enum

PWG5100.1

74

punch-dual-left

1setOf type2 enum

PWG5100.1

75

punch-dual-top

1setOf type2 enum

PWG5100.1

76

punch-dual-right

1setOf type2 enum

PWG5100.1

77

punch-dual-bottom

1setOf type2 enum

PWG5100.1

78

punch-triple-left

1setOf type2 enum

PWG5100.1

79

punch-triple-top

1setOf type2 enum

PWG5100.1

80

punch-triple-right

1setOf type2 enum

PWG5100.1

81

punch-triple-bottom

1setOf type2 enum

PWG5100.1

82

punch-quad-left

1setOf type2 enum

PWG5100.1

83

punch-quad-top

1setOf type2 enum

PWG5100.1

84

punch-quad-right

1setOf type2 enum

PWG5100.1

85

punch-quad-bottom

1setOf type2 enum

PWG5100.1

12.1.1.3. org.savapage-finishings-fold

Internal IPP Attribute: org.savapage-finishings-fold

Value

Name

Syntax

Reference

3

none

1setOf type2 enum

RFC8011

90

fold-accordion

1setOf type2 enum

PWG5100.1

91

fold-double-gate

1setOf type2 enum

PWG5100.1

92

fold-gate

1setOf type2 enum

PWG5100.1

93

fold-half

1setOf type2 enum

PWG5100.1

94

fold-half-z

1setOf type2 enum

PWG5100.1

95

fold-left-gate

1setOf type2 enum

PWG5100.1

96

fold-letter

1setOf type2 enum

PWG5100.1

97

fold-parallel

1setOf type2 enum

PWG5100.1

98

fold-poster

1setOf type2 enum

PWG5100.1

99

fold-right-gate

1setOf type2 enum

PWG5100.1

100

fold-z

1setOf type2 enum

PWG5100.1

12.1.1.4. org.savapage-finishings-booklet

Internal IPP Attribute: org.savapage-finishings-booklet

Keyword Value

Syntax

Reference

none

type2 keyword

RFC8011

toleft-totop

type2 keyword

PWG5100.3

toright-tobottom

type2 keyword

PWG5100.3

Also see Booklet Imposition

Important

For the right booklet cost calculation, make sure to activate the Booklet SPConstraint Set.

12.1.1.5. org.savapage-finishings-jog-offset

A finishing that shifts Each Set in the output-bin from the previous one by a small amount which is device dependent (PWG5100.1).

Internal IPP Attribute: org.savapage-finishings-jog-offset

Value

Name

Syntax

Reference

3

none

1setOf type2 enum

RFC8011

14

EachSet

1setOf type2 enum

PWG5100.1

12.1.1.6. org.savapage-requesting-user-name

The internal IPP extension org.savapage-requesting-user-name is the equivalent of IPP PRINT_JOB operation attribute requesting-user-name. In the example below it is mapped to PPD Option VENRequestingUserName.

*VENRequestingUserName org.savapage-requesting-user-name

Tip

org.savapage-requesting-user-name can be used to pass the value of requesting-user-name as option in a *JCLOpenUI section of a PPD file.

12.1.2. Internal IPP Job Extensions

These options specify actions performed on a single printed copy. Each option is prefixed with *SPJob/Copy:

See Job Copy Options.

12.1.2.1. org.savapage-cover-front-type

This attribute indicates whether front covers are wanted for a printed copy and which sides of the cover must contain print-stream pages.

Internal IPP Attribute: org.savapage-cover-front-type

Keyword Value

Syntax

Reference

no-cover

type2 keyword

PWG5100.3

print-none

type2 keyword

PWG5100.3

print-front

type2 keyword

PWG5100.3

print-back

type2 keyword

PWG5100.3

print-both

type2 keyword

PWG5100.3

For example:

*SPJob/Copy: org.savapage-cover-front-type \
  *no-cover print-none print-front print-back print-both ①
1:

Option to select no-cover as default and four other keyword values.

12.1.2.2. org.savapage-cover-front-media-source

The IPP media-source the cover is printed from.

For example:

*SPJob/Copy: org.savapage-cover-front-media-source \
  *tray-3 tray-4 ①
1:

Option to select tray-3 as default media source for the cover.

12.1.2.3. org.savapage-back-front-type

This attribute indicates whether back covers are wanted for a printed copy and which sides of the cover must contain print-stream pages.

Internal IPP Attribute: org.savapage-cover-back-type

Keyword Value

Syntax

Reference

no-cover

type2 keyword

PWG5100.3

print-none

type2 keyword

PWG5100.3

print-front

type2 keyword

PWG5100.3

print-back

type2 keyword

PWG5100.3

print-both

type2 keyword

PWG5100.3

Also see org.savapage-cover-front-type.

12.1.2.4. org.savapage-cover-back-media-source

The IPP media-source the cover is printed from. Also see org.savapage-cover-front-media-source.

12.1.2.5. Mapping Internal IPP Job Options to PPD

Internal IPP Job Copy options can be mapped to PPD with SPExtra rules as illustrated in the example below.

*SPExtra/org.savapage-cover-front-media-source/tray-3: cover-front-tray-3 \
    org.savapage-cover-front-type/!no-cover \
    *FrontCover/Yes \
    *FrontCoverPrintTray/TRAY3

*SPExtra/org.savapage-cover-front-media-source/tray-4: cover-front-tray-4 \
    org.savapage-cover-front-type/!no-cover \
    *FrontCover/Yes \
    *FrontCoverPrintTray/TRAY4

12.1.2.6. IPP Job Copy Costs

Copy Cost is charged per job copy, and specified for a combination of SPJob/Copy and other (media*) attribute values. Each cost rule is prefixed with *SPJob/Copy/Cost: and formatted like this:

*SPJob/Copy/Cost: <cost> <mnemonic> \ ①
   <copy>/[!]<value> ... \ ②
   <attr>/[!]<value> ... \ ③
1:

Decimal point <cost> and identifying <mnemonic>.

2:

One or more IPP <copy>/<value> pairs of type SPJob/Copy. An optional ! before a value negates it, and selects all other attribute values.

3:

Optionally one or more other IPP <attr>/<value> pairs.

For example:

*SPJob/Copy/Cost: 0.0200 cost-cover-front-A4 \
    org.savapage-cover-front-type/!no-cover \
    media/iso_a4_210x297mm

*SPJob/Copy/Cost: 0.0400 cost-cover-front-A3 \
    org.savapage-cover-front-type/!no-cover \
    media/iso_a3_297x420mm

12.1.3. Internal IPP Job Ticket Extensions

These Internal IPP extensions are used in Job Ticketing Cost Rules. See Job Ticket Extensions.

12.1.3.1. org.savapage-finishings-ext

This attribute represents a finishing action, on a set of pages (a copy), executed externally by an operator, on the printed output.

Internal IPP Attribute: org.savapage-finishings-ext

Keyword Value

Syntax

Reference

none

type2 keyword

RFC8011

laminate

type2 keyword

PWG5100.1

bind

type2 keyword

PWG5100.1

adhesive

type2 keyword

Candidate Standard PWG 5100.1-2014: “sheets are bound using glue or adhesive.”

12.1.3.2. org.savapage-cover-type

Caution

This attribute is intended for externally printed Job Tickets only.

The same PDF document must be printed twice with different page ranges:

  1. The first page(s) are printed on a single cover page. The cost for this action is calculated according to the Job Ticket Copy Cost Rules.

  2. The rest of the pages are printed on selected media. The cost for this action is calculated according to the Job Ticket Media Cost Rules.

Internal IPP Attribute: org.savapage-cover-type

Keyword Value

Syntax

Reference

no-cover

type2 keyword

PWG5100.3

int.printfront

type2 keyword

SavaPage Extension: a single-sided printed cover page.

int.printboth

type2 keyword

SavaPage Extension: a double-sided printed cover page.

For example:

*SPJobTicket/Copy: org.savapage-cover-type \
  *no-cover int.printfront int.printboth ①
1:

Option to select no-cover as default and two internal values.

The color of the cover can be specified with org.savapage-cover-type-color

12.1.3.3. org.savapage-cover-type-color

This attribute specifies the color of the org.savapage-cover-type. For example:

*SPJobTicket/Copy: org.savapage-cover-type-color \
  *white yellow orange red pink blue green ①
1:

Option to select white as default and several other IANA defined media-color values.

12.1.3.4. org.savapage-job-sheets

This attribute determines which Job start/end sheet(s), if any, must be printed with a Job. Contrary to the IPP job-sheets definition, where sheets are part of the job, org.savapage-job-sheets are printed as a separate job. In this way sheets can be printed from a different media-source with distinctive org.savapage-job-sheets-media and media-color.

A job sheet is a single monochrome page with job detail information.

Internal IPP Attribute: org.savapage-job-sheets

Keyword Value

Syntax

Reference

none

type2 keyword

RFC8011

job-start-sheet

type2 keyword

PWG5100.3: “A job sheet MUST be printed to indicate the start of the job”.

job-end-sheet

type2 keyword

PWG5100.3: “A job sheet MUST be printed to indicate the end of the job”.

12.1.3.5. org.savapage-job-sheets-media

The IPP media for org.savapage-job-sheets. Multiple keyword values are allowed, like iso_a4_210x297mm, iso_a3_297x420mm, etc.

12.1.4. Internal IPP Marker

These Internal IPP extensions are used to add a special marker to a print job. They are never send to CUPS as such, but translated by SavaPage to “real” IPP or CUPS options. IPP marker names have a org.savapage.int- prefix.

12.1.4.1. org.savapage.int-page-rotate180

SavaPage creates IPP print jobs that are printed according to LandscapeOrientation Minus90. This is convenient most of the time. For example, when a landscape oriented PDF is 4-up printed, and staple-top-right and punch-dual-right are available as finishing. But, what if staple-top-left and punch-dual-left are the only options available? In that case a 180 degrees rotation of the “Finished-Page” is needed. This is where the org.savapage.int-page-rotate180 boolean option comes in. This marker is added to each proxy printer as option to make the printed result “Rotate by 180 degrees”, and translated by SavaPage to the proper CUPS orientation-requested and number-up-layout values.

Internal IPP Marker Attribute: org.savapage.int-page-rotate180

Keyword Value

Syntax

Description

0

boolean

Do not rotate.

1

boolean

Rotate by 180 degrees.

Note

org.savapage.int-page-rotate180 can be used in SPConstraint rules.