Configure Device Settings - PaperCutSoftware/PaperCutExamples GitHub Wiki
The get/set printer properties feature can also be used to manage the properties associated with multi function devices in PaperCut MF.
NOTE:
In that case instead of providing the print server name the text device
is used.
For example
server-command set-printer-property device dev-test-device advanced-config.ext-device.card-no-regex '^(?:;0)?(\d{8})'
IMPORTANT:
- Not all values are valid on every device type
- There is little validation when using these commands that correct values are supplied. Generally you are expected to only supply valid values.
IMPORTANT:
Currently, the set operation only updates the PaperCut MF database with the configuration changes. Therefore the device isn't aware of the changes until the device session is restarted.
This can be done with applyDeviceSettings()
API call (or server-command apply-device-settings <device-name>
).
server-command set-printer-property device <device-name> advanced-config.<key-name> <value>
You can get the key Advanced Config key name under the Advanced Config tab on the device page. Example:
server-command set-printer-property device LibraryCopier advanced-config.ext-device-msg.welcome-text “WELCOME”
You can set the device groups using the following command:
set-printer-groups device <device-name> <group_names>
The attributes can be grouped under the following headings:
Boolean indicating if username/password authentication is enabled. (Y/N)
advanced-config.ext-device.auth-mode.username-password
NOTE: You must set the value of ext-device.auth-mode.username-password
before you can
set the value of ext-device.auth-mode.card
or ext-device.auth-mode.identity-no
.
Boolean indicating if card authentication is enabled. (Y/N)
advanced-config.ext-device.auth-mode.card
The pin is required for card. (Y/N)
advanced-config.ext-device.auth.pin-required-for-card
NOTE: Set the value of ext-device.auth-mode.card
before setting the value of advanced-config.ext-device.auth.pin-required-for-card
Boolean indicating if identity number authentication is enabled. (Y/N)
advanced-config.ext-device.auth-mode.identity-no
The pin is required for ID. (Y/N)
advanced-config.ext-device.auth.pin-required-for-id
NOTE: Set the value of ext-device.auth-mode.identity-no
before setting the value of ext-device.auth.pin-required-for-id
The auto login username for the device.
advanced-config.ext-device.auth.auto-login-username
Determines if the device has self-registration enabled. (Y/N)
advanced-config.ext-device.self-registration-enabled
Determines if the device has self-association with card enabled. (Y/N)
advanced-config.ext-device.self-association-with-card-enabled
Determine if the card number should be used for the username (if no username is supplied). (Y/N)
advanced-config.ext-device.self-registration-use-card-as-username
* Determines whether we request the PIN for self-registration. NOTE: this pin is also used as the user's password.
* This is enabled by default. (Y/N)
ext-device.self-registration-request-pin
If defined, only cards matching this regex are allowed to be registered.(String with REGEX)
advanced-config.ext-device.self-registration-allowed-card-regex
If defined, only cards matching this regex are allowed to be associated with existing accounts. (String with REGEX)
advanced-config.ext-device.self-association-allowed-card-regex
Determine if card swipe logout is allowed. (Y/N)
advanced-config.ext-device.swipe-logout-allowed
Indicates if all jobs should be released on login (if in secure mode and the user has enough credit).
advanced-config.ext-device.release-all-on-login
Specifies the mode for releasing jobs to the device when its in error (ALLOW/DISALLOW)
advanced-config.ext-device.allow-release-on-error
Specifies the list of SNMP errors treated as release error when release on error is not allowed. More info here https://www.papercut.com/kb/Main/PreventJobReleasePrinterError
advanced-config.ext-device.block-release-on-error.snmp-error-list
Configure Account Confirmation on the device
advanced-config.ext-device.show-account-confirmation
Self-associate a card with the secondary ID field, as described here
advanced-config.ext-device.card-self-association.use-secondary-card-number
Determine if offline mode is allowed. (Y/N)
advanced-config.ext-device.offline-allowed
The delay (in seconds) between detecting a connection failure and starting offline. (integer)
advanced-config.ext-device.offline-delay-seconds
Determine if a code must be entered to unlock offline operation. (Y/N)
advanced-config.ext-device.offline-unlock-required
The code to unlock offline operation when required. (string)
advanced-config.ext-device.offline-unlock-code
You should also review the following global setting: ext-device.allow-new-pin-for-id-num
Indicates whether integrated scanning feature is enabled for the device (Y/N)
WARNING: Setting this prior to the device advertising it’s capabilities to the Application Server can result in a warning to be displayed on the screen.
advanced-config.ext-device.integrated-scanning.enabled
Note: Requires PaperCut MF 20.0.3 or above and the example code requires Python 3.6 or above
Please note this is advanced use of the PaperCut MF web services API and you should be an experienced administrator or consultant comfortable with the setup of Secure Print Release with Find-Me in PaperCut MF.
For customers who are using PaperCut MF the Secure Print Release with Find-Me printing is one of the most common workflows.
To summarise the user experience, a user will:
- Print to a virtual print queue from their workstation
- Authenticate at a convenient multi function device
- Select print jobs on the device screen
- Release print jobs
This provides
- Secure printing. Prints do not appear until the user is at the device and ready to collect them
- Follow-me Printing. Prints can be released from any convenient device.
More information at Configure Secure Print Release with Find-Me printing
Configuring Secure Print Release with Find-Me Printing takes approximately eight different steps in the PaperCut MF administration interface. This is OK on many sites as it's generally a once off activity for each device. However, when you have hundreds of printers and dozens of virtual queues it can be a long and arduous task. The information below will help you to automate this process via the PaperCut MF public web services API.
You can perform these commands using the server-command utility. However we will be using the API because it's a lot faster, and we can run the configuration from our primary configuration node, rather than on the PaperCut MF application server.
Step | Printer Attribute to be modified |
---|---|
Setup and test all physical print queue that print to MFD | N/A |
Create a print queue for virtual use | N/A |
Configure the virtual queue | set "virtual" to "True |
Add all the MFD printer queues to the virtual queue | Set "advanced-config.redirect.compatible-queues" to list of printer IDs of all MFD print queues |
Select user release mode | set "advanced-config.release-station" to "STANDARD" |
Step | Printer Attribute to be modified |
---|---|
Enable print release | Make sure the attribute "device-functions" contains the string "RELEASE_STATION" |
Associate the virtual print queue | Set the attribute "advanced-config.ext-device.assoc-printers" to ID (not the name) of the virtual print Q< |
Enable where released jobs will be redirected (to the device specific print queue(s)) | Set advanced-config.ext-device.releases-on to the list of printer IDs associated with this device (usually one, unless there are different queues on printer server with different OS' |
If multiple device queues are configured (for multiple print server OS support) then enable multiple queue supportFor more information see https://www.papercut.com/support/resources/manuals/ng-mf/applicationserver/topics/device-mf-copier-integration-release-multiple-operating-systems.html | Set "advanced-config.ext-device.find-me-release-mode" to MULTIPLE_QUEUES if more than queue in step above |
So in order to automate this process you will need to know
- The identity of the nominated virtual print queue (e.g. winpserver/FindMePrinting)
- A list of devices and the print queues that are associated with them. For example:
epson-wf-c20590,winpserver\\EPSON Universal Print Driver (WF-C20590)
epson-wf-c869r,winpserver\\EPSON WF-C869R
epson-wf-r8590,winpserver\\epson-wf-r8590 (WF-R8590 Series)
There is an example Python script that illustrates one potential approach using information formatted as above.