Skip to content

Instantly share code, notes, and snippets.

@HenrikBengtsson
Last active January 6, 2022 19:39
Show Gist options
  • Save HenrikBengtsson/2719eff1e4b9ecd8a446696062d12c19 to your computer and use it in GitHub Desktop.
Save HenrikBengtsson/2719eff1e4b9ecd8a446696062d12c19 to your computer and use it in GitHub Desktop.
Linux: Pass Accounting information to Xerox Printer via Postscript Printer Description (PPD)
*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
*% GENERAL ACCOUNTING
*%
*% Instructions:
*%
*% 1. Identify the accounting option or options used by the printer.
*%
*% 2. Replace the '{{...}}' placeholders with corresponding information
*% (without curly brackets). For example, '<22>XRX_USERID,{{userid}}<22>'
*% should become '<22>XRX_USERID,12345<22>'.
*%
*% 3. (optional) Comment out the options not used (add '*%' in front of line).
*%
*% FYI, when using this PPD file in Printer's Properties on Ubuntu 16.04,
*% the (below) options will show up as a pull-down menu labelled 'Accounting'
*% in the 'JCL' section of the 'Printer Options' panel.
*%
*% Also, even if there are remaining menu options with '{{...}}' placeholders,
*% the PPD will still be imported. Then only thing that will happen is that
*% those '@PJL COMMENT' commands will send invalid accounting information to
*% the printer.
*%
*%
*% Comments on the syntax used below:
*%
*% 1. '*JCLOpenUI *JCLAccounting/<label>: PickOne'
*% - specifies the label for the pull down menu in the UI.
*%
*% 2. '*JCLAccounting <menu_id>/<menu_label>: "<added Postscript code>"'
*% - specifies the internal id and the label for the pull down menu item
*% and the Postscript accounting code to be injected to the print job.
*% - it's critical to get the Postscript code correct.
*% - must be a single line of maximum 255 characters.
*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
*% 'PickOne' means user can select option in Printer's Settings
*JCLOpenUI *JCLAccounting/Accounting: PickOne
*OrderDependency: 10.1 JCLSetup *JCLAccounting
*% Default option (among the below ones)
*DefaultJCLAccounting: XSAUser
*% Menu Option #1: 'Disabled' (no account information sent):
*JCLAccounting XSADisabled/Disabled: ""
*% Menu Option #2: 'Generic Acct (account + user)':
*JCLAccounting True/Generic Acct (account + user): "@PJL COMMENT OID_ATT_ACCOUNTING_INFORMATION <22>__{{generic_account}}|042__{{generic_user}}<22><0A>"
*% Menu Option #3: 'XSA User Acct (user id)':
*JCLAccounting XSAUser/XSA User Acct (user id): "@PJL COMMENT OID_ATT_ACCOUNTING_INFORMATION_AVP <22>XRX_USERID,{{userid}}<22>;<0A>"
*% Menu Option #4: 'XSA General Acct (user id + general account)':
*JCLAccounting XSAGeneral/XSA General Acct (user id + general account): "@PJL COMMENT OID_ATT_ACCOUNTING_INFORMATION_AVP <22>XRX_USERID,{{userid}}<22>;<0A>@PJL COMMENT OID_ATT_ACCOUNTING_INFORMATION_AVP <22>XRX_GENERALACCT,{{genacct}}<22>;<0A>"
*% Menu Option #5: 'XSA Group Acct (user id + group account)':
*JCLAccounting XSAGroup/XSA Group Acct (user id + group account): "@PJL COMMENT OID_ATT_ACCOUNTING_INFORMATION_AVP <22>XRX_USERID,{{userid}}<22>;<0A>@PJL COMMENT OID_ATT_ACCOUNTING_INFORMATION_AVP <22>XRX_GROUPACCT,{{groupacct}}<22>;<0A>"
*% Menu Option #6: 'XNA Group Acct (user id + account id)':
*JCLAccounting XNAGroup/XNA Group Acct (user id + account id): "@PJL COMMENT OID_ATT_ACCOUNTING_INFORMATION_AVP <22>XRX_USERID,{{userid}}<22>;<0A>@PJL COMMENT OID_ATT_ACCOUNTING_INFORMATION_AVP <22>XRX_ACCTID,{{acctid}}<22>;<0A>"
*JCLCloseUI: *JCLAccounting
@malisbad
Copy link

Did you ever have to send a passcode? I'm assuming that this was in relation to error code 016-757

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment