Printer Keys¶
The following keys are available in the Printer Configuration File. The keys and their values are stored in SEAL-specific MongoDB.
The printers are imported, exported and managed via easyPRIMA.
Hint - bos2gyros
With the bos2gyros
command line tool, the printer configuration provided by the Driver Database from SEAL Systems (DDB) is mapped to the configuration format known to PLOSSYS 5.
Units¶
Values with time specifications are specified in the following time units:
-
seconds
(s
,sec
) -
minutes
(m
,min
) -
hours
(h
,hr
) -
days
(d
) -
weeks
(w
,wk
) -
months
-
years
(y
,yr
)
Example - with time units
2 hours and 30 minutes: 2h30m
4 minutes and 2 seconds: 4m2s
Top Level Section¶
The top level section of a printer configuration file contains the following keys and sections:
printer
Keyconnection
Keyconfig
KeyjobMaxPostponedCount
lastPageSaveInterval
KeylprFilter
monitorConnection
KeymonitorMode
KeynativeQueue
KeypageFailover
Keypickup
KeyprinterPageResponseTimeout
KeyprinterResponseTimeout
Key- Printer Settings Keys
sapwinQueue
KeysocketCloseTimeout
Keytemplate
Sectiontype
SectionuseCopier
KeywebUrl
Key
printer
Key¶
printer
specifies the name of the output device in the PLOSSYS 5 system.
Caution - allowed characters
The printer name must not contain UTF-8 or apostrophes. Although the printer will be imported, jobs cannot be processed via this printer.
The key is mandatory.
Available values: String
Default: none
connection
Key¶
connection
specifies the URL of the printer connection. The URL includes the transfer protocol, the printer name and the port number. For a printer failover, more than one URL can be specified in connection
. The URLs has to be separated by blank. If the connection to a URL cannot be established, the next URL is tried.
The key is mandatory.
Available values: String
connection:<protocol>://<printer_name>:<port>/<queue_name>?<options>
Default: none
Available values for <protocol>
: String
command
http
https
ipp
ipps
lpr
pjl
socket
virtual
Available values for <port>
: Integer
Default: 515
for lpr, 9100
for socket and pjl
Available values for <queue_name>
: String
- specifies the name of the printer in the spooler (mandatory).
Available options - only for lpr
:
stream
specifies whether the data is streamed. Withstream=false
, jobs can be output via LPR to a Windows Print Server.
Available options - only for pjl
:
checklevel
specifies the level of the PJL protocol supported by the printer:checklevel=full
specifies full PJL support. This is the default if no check level has been specified.checklevel=sync
specifies restricted PJL support using the@PJL ECHO
message.checklevel=none
specifies no PJL support. This is equal to thesocket
protocol.
Available values: Boolean
Example - printer connection with socket
connection: socket://myprinter:9100
Example - printer connection with lpr
connection: lpr://myprinter:515?stream=true
Example - printer connection with pjl
and restricted PJL support
connection: pjl://myprinter:9100?checklevel=sync
Example - printer connection with failover
connection: lpr://myfirst.printerurl/myPrinter socket://myprinter:9100 lpr://mysecond.printerurl/myPrinter
Example - printer connection with command
- printer: printercmd
connection: 'command://'
server: spooler1
command:
cmd: /code/bin/testout.sh
args:
- -printer
- '{{printer.printer}}'
- -printeruri
- '{{printer.connection}}'
- -file
- '{{fileName}}'
- -copies
- '{{job.current.copies}}'
expectedExitCodes:
- 2
- 0
config
Key¶
config
specifies the name of the printer configuration.
The key is optional.
Available values: String
Default: none
jobMaxPostponedCount
Key¶
jobMaxPostponedCount
specifies how often a job for this printer will be postponed by the service in case the next service is not available for example. After exceeding the specified maximum of postponements, the job will be considered erroneous. This printer key overwrites the system-wide JOB_MAX_POSTPONED_COUNT
system key for the specific printer.
The key is optional.
Available values: Integer
Default: The system-wide JOB_MAX_POSTPONED_COUNT
service key
lastPageSaveInterval
Key¶
lastPageSaveInterval
specifies the number of pages after which the number of output pages is written to the database regularly. This key is only valid for PJL printers (pjl
protocol). This printer-specific key overwrites the LAST_PAGE_SAVE_INTERVAL
service key.
The key is optional.
Available values: Integer
<number_of_pages>
Default: 0
(= off)
lprFilter
Key¶
When transmitting an output job via LPR, lprFilter
specifies the filter to be used for processing the data by the receiver. For more information, refer to RFC 1179.
The key is optional.
Available values: String
-
f
Output the formatted file: RFC 1179 - 7.19
-
l
Output the file leaving control characters: RFC 1179 - 7.22
-
p
Output the file with
pr
formats: RFC 1179 - 7.25 -
r
Output the file with FORTRAN carriage control: RFC 1179 - 7.26
Default: l
monitorConnection
Key¶
monitorConnection
specifies the IPP URL of the printer for monitoring its status. The URL includes the transfer protocol, the printer name and the port number.
The key is optional.
Available values: String
monitorConnection:<protocol>://<printer_name>:<port>/<queue_name>?<options>
Available values for <protocol>
: String
ipp
http
https
Default: The value of connection
and various sensible modifications of it are used for state monitoring.
monitorMode
Key¶
monitorMode
specifies if and when the physical status of a printer is checked. The value overwrites the system-wide service key PRINTER_MONITOR_MODE
.
The key is optional.
Available values: String
-
AFTER_PRINT
Check the status after printing a job
-
NEVER
Never check the status
Default: NEVER
nativeQueue
Key¶
nativeQueue
specifies if all jobs for this printer are treated as native jobs.
The key is optional.
Available values: Boolean
Default: none
pageFailover
Key¶
pageFailover
specifies if an interrupted job is repeated at the page last printed or at the first page. This key is only valid for PJL printers (pjl
protocol). It overwrites the PAGE_FAILOVER
service key.
Hint - virtual printer
If printers within a virtual printer are configured differently, printers with page failover always start at the last printed page and printers without page failover always start at the first page.
The key is optional.
Available values: Boolean
-
true
The job is repeated starting at the page printed last.
-
false
The job is repeated starting at the first page.
Default: true
pickup
Key¶
pickup
specifies if the queue is a pickup queue.
The key is optional.
Available values: Boolean
Default: false
printerPageResponseTimeout
Key¶
printerPageResponseTimeout
specifies the time interval after which the connection to the printer is closed when the printer does not reply messages about the number of printed pages. The time interval has to be specified including the unit. The available units are listed at the top of the page. This printer-specific key overwrites the PRINTER_PAGE_RESPONSE_TIMEOUT
service key.
The key is optional.
Available values: String
<time_interval_and_unit>
Default: none
printerResponseTimeout
Key¶
printerResponseTimeout
specifies the time interval after which the connection to the printer is closed when the printer does not reply any message. The time interval has to be specified including the unit. The available units are listed at the top of the page. This printer-specific key overwrites the PRINTER_RESPONSE_TIMEOUT
service key.
The key is optional.
Available values: String
<time_interval_and_unit>
Default: 1m
Printer Settings Keys¶
The printer settings are key value pairs which describe printer settings. These printer settings can be used for further configuration.
Available values: String
<key>:<value>
Example - printer settings
adjustStapleType: true
adjustPunchType: true
rotateLandscapeA3: false
sapwinQueue
Key¶
sapwinQueue
specifies the name of the windows printer queue used for converting sapwin
documents.
The key is optional.
Available values: String
Default: none
socketCloseTimeout
Key¶
socketCloseTimeout
specifies the time interval after which the socket is closed after sending a spool file to the printer unless the printer closes the connection. The time interval has to be specified including the unit. The available units are listed at the top of the page.
The key is optional.
Available values: String
Default: Value of the SOCKET_CLOSE_TIMEOUT
service key
template
Section¶
The template
section contains the following keys and sections for the processing settings of the printer.
timeout
Key¶
timeout
specifies the time interval after which the conversion is aborted if the conversion does not provide any data. The time interval has to be specified including the unit. The available units are listed at the top of the page.
The key is optional.
Available values: String
Default: 120s
params
Section¶
The params
section contains the command line parameters for the conversion. For more information about the available command line parameters, refer to the documentation of the specific converter.
The key is mandatory.
Available values: Strings
Default: none
Example - conversion into PCL via Ghostscript
params:
'-dBATCH',
'-dNOPAUSE',
'-dQUIET',
'-dSAFER',
'-sstdout=%stderr',
'-sDEVICE=plspcl',
'-sOutputFile=-',
'-'
gyros
Section¶
The gyros
section contains objects with rule groups for an output device used in the rule management from SEAL Systems (Ghostscript YAML Rules Output System).
The key is optional.
Available values: String
Default: none
Example - Job Start UEL + Jobname + Username
object
- name: Job Start UEL + Jobname + Username
context: startJob
prefix: Init=
rules:
- condition: true
action: |
Init=\\033%-12345X@PJL JOB NAME="${job.JOBNAME}"\\n
Init=@PJL SET JOBNAME="${job.JOBNAME}"\\n
Init=@PJL SET USERNAME="${job.USERNAME}"\\n
name
Key (gyros
Section)¶
name
specifies the name of the rule group.
The key is mandatory.
Available values: String
Default: none
context
Key¶
context
specifies the context in which a role group is executed. The context depends on the current processing step of the output job.
The key is mandatory.
Available values: String
startJob
startSetup
endSetup
startPage
endJob
Default: none
prefix
Key¶
prefix
specifies the prefix inserted at the beginning of each line of the string specified in action.
The key is optional.
Available values: String
Default: empty string
rules
Section¶
The rules
section contains the implementation of the specific rule using condition
, action
, escape
.
The section is mandatory.
Default: none
virtual
Section¶
The virtual
section contains objects with the configuration of the virtual queues. The configuration settings depend on the type of the virtual queue.
The key is optional.
Available values: String
Default: none
use case description of virtual queues
For how to set up and configure virtual queues, refer to Use Virtual Queues.
type
Key (virtual
Section)¶
type
specifies the type of the virtual queue.
The key is mandatory.
Available values: String
-
failover
The virtual queue is a failover queue.
Example -
failover
queue- printer: myFailoverQueue connection: 'virtual://' template: virtual: type: 'failover' queues: - printer1 - printer2
-
loadbalancer
The virtual queue is a loadbalancer queue.
Example -
loadbalancer
queue- printer: myLoadbalancerQueue connection: 'virtual://' template: virtual: type: 'loadbalancer' queues: - printer3 - printer4
-
router
The virtual queue is a router queue.
For examples of the route configuration, refer to the
routes
key.
Default: none
queues
Key (virtual
Section)¶
queues
specifies a list of target queues for failover or loadbalancing.
The key is mandatory if the queue type is failover
or loadbalancer
.
Available values: List of strings
Refer to the example in the virtual
section.
Default: none
Caution - all queues
With a virtual failover queue, all queues involved have to be configured in PLOSSYS 5. Otherwise, the jobs for the virtual queue will terminate as erroneous.
routes
Key (virtual
Section)¶
routes
specifies a list of routes. Each route contains a condition
and a queue
.
condition
is a string which is interpreted as JavaScript code returning a Boolean value. Hereby, the job
object can be used for the job to be output and the origPrinter
variable contains the name of the original virtual printer. For a detailed description of the job
object, refer to job
object used in the route condition of a virtual queue.
queue
is the target queue to be taken if the condition
returns true
.
The key is mandatory if the queue type is router
.
Available values: List of objects containing a condition
and a queue
Default: none
Example - routing by size, color and duplex
- printer: myRouterQueue1
connection: 'virtual://'
template:
virtual:
type: 'router'
routes:
# Color jobs go to printer1
- condition: job.COLOR_MODEL[0] === 'COLOR'
queue: printer1
# Duplex b/w jobs go to printer2
- condition: job.DUPLEX === 'LONG_SIDE'
queue: printer2
# All other jobs go to printer3
- condition: true
queue: printer3
Example - routing by size and color
- printer: myRouterQueue2
connection: 'virtual://'
template:
virtual:
type: 'router'
routes:
# Color jobs with a size less or equal DIN A4 go to printer1
- condition: job.getMaxPage().le('a4') && job.COLOR_MODEL[0] === 'COLOR'
queue: printer1
# Gray-scaled jobs with a size less or equal DIN A4 go to printer2
- condition: job.getMaxPage().le('a4') && job.COLOR_MODEL[0] === 'GRAY'
queue: printer2
# Jobs with a size larger than DIN A4 go to printer3
- condition: true
queue: printer3
Hint - relevant order
The order of the specified routes is relevant due to the first match will be used. For example, with the following configuration, a DIN A4 color job will be output to printer1, although printer2 would make more sense.
- condition: job.COLOR_MODEL[0] === 'COLOR'
queue: printer1
- condition: job.COLOR_MODEL[0] === 'COLOR' && job.getMaxPage().le('a4')
queue: printer2
- condition: true
queue: printer3
After changing the order of the routes, the job will be output to printer2.
- condition: job.COLOR_MODEL[0] === 'COLOR' && job.getMaxPage().le('a4')
queue: printer1
- condition: job.COLOR_MODEL[0] === 'COLOR'
queue: printer2
- condition: true
queue: printer3
strict
Key (virtual
Section)¶
strict
specifies if the router will stop processing the list of conditions after having found the first match or process the whole list of conditions.
The key is optional.
Available values: Boolean
-
true
The router will stop after the first match and add only the found queue to the queue list.
-
false
The router will process the whole list of conditions and add all matching queues to the queue list.
Default: false
Example - strict
router queue
- printer: myRouterQueue3
connection: 'virtual://'
template:
virtual:
type: 'router'
strict: true
routes:
# Jobs with a size less or equal DIN A4 go to printer 1
- condition:job.getMaxPage().le('a4')
queue: printer1
# All other jobs go to printer2
- condition: true
queue: printer2
type
Section¶
The type
section contains the following keys and sections concerning the printer type.
name
Key (type
Section)¶
name
specifies the complete name of the printer model.
The key is mandatory.
Available values: String
Default: none
Example - complete printer name
HP Laserjet 4050
manufacturer
Key¶
manufacturer
specifies the name of the printer manufacturer.
The key is mandatory.
Available values: String
Default: none
Example - manufacturer
Hewlett-Packard
model
Key¶
model
specifies the name of the printer model.
The key is mandatory.
Available values: String
Default: none
Example - printer model
4050
pdl
Section¶
The pdl
section contains the following keys for the printer description languge.
name
Key (pdl
Section)¶
name
ìn the pdl
section specifies the printer language.
The key is mandatory.
Available values: String
-
postscript
-
pcl
-
pdf
Default: none
version
Key¶
version
specifies the version of the printer description language.
The key is mandatory.
Available values: String
Default: none
Example - printer description language
pdl: {
name: 'postscript',
version: '2.0'
}
pdl: {
name: 'pcl',
version: '5'
}
useCopier
Key¶
useCopier
specifies if the seal-copier
service is used for resolving the job copies by sending the document data multiple times to the printer. Normally, the job copies are resolved by the printer itself.
The key is optional.
Available values: String
-
Y
The
seal-copier
service resolves the job copies. -
N
The
seal-copier
service does not resolve the job copies.
Default: N
webURL
Key¶
webURL
specifies the URL under which the printer can be reached.
The key is optional.
Available values: String
Default: none