В моей компании много настольных компьютеров с Ubuntu 12.04 и новый сетевой принтер Xerox ColorQube 8900S.
Используя файл .ppd от Xerox, я могу нормально печатать на принтере, если не включен учет XSA. В этот момент никакие задания не принимаются, выводится сообщение об ошибке «задание было удалено из-за неверных учетных идентификаторов».
Я попытался изменить ppd, чтобы включить учетные данные, но безуспешно.
Я не очень разбираюсь в постскриптумах или создании .ppd, поэтому я копаюсь в темноте обрывками информации с сайта Xerox и других форумов.
Я добавил это
*% Generic Accounting
*JCLOpenUI *JCLAccounting/Accounting: PickOne
*OrderDependency: 10.1 JCLSetup *JCLAccounting
*DefaultJCLAccounting: XSAGroup
*JCLAccounting False/Off: ""
*JCLAccounting try1/Try 1: "@PJL COMMENT OID_ATT_ACCOUNTING_INFORMATION <22>0301|0421000<22>;<0A>"
*JCLAccounting XSAGroup/XSA Group Based Accounting: "@PJL COMMENT OID_ATT_ACCOUNTING_INFORMATION_AVP <22>XRX_USERID,0301<22>;<0A>@PJL COMMENT OID_ATT_ACCOUNTING_INFORMATION_AVP <22>XRX_GROUPACCT,1000<22>;<0A>"
*JCLCloseUI: *JCLAccounting
И установка его в CUPS дает мне новую вкладку JCL в бите «Set Printing Defaults». Строка «Попробовать 1» должна работать - я взял ее прямо у Xerox для этой машины. Линия "XSAGroup" взята из рекомендаций по старым принтерам. 0301 - это моя учетная запись пользователя (PIN), а 1000 - это групповая учетная запись. | 042 - обязательный разделитель.
Я пробовал ipp: //1.2.3.4/ipp и socket: //1.2.3.4: 9100 - я думаю, что оба «работают» с точки зрения разговора с устройством, но оба приводят к одной и той же ошибке.
Может ли кто-нибудь, имеющий опыт работы с файлами .ppd или принтерами Xerox, помочь мне выяснить, как успешно отправить идентификатор пользователя / идентификатор учетной записи на принтер?
В соответствии с этим PDF-файлом под названием: Постоянный учет Xerox: отслеживание использования по совету клиента службы поддержки это невозможно.
Операционная система Linux PPD В драйвере печати Linux в настоящее время нет возможности запрашивать идентификатор пользователя для определенных служб.
Заявленная процедура Linux использует существующую функциональность.
Для тех клиентов, которые хотят включить учет для заданий печати и копирования, но не хотят требовать от пользователя ввода кода учета для их заданий печати, в следующем разделе описывается, как изменить Linux PPD.
Вот раздел, который я добавил в файл PPD:
*JCLBegin:"<1B>%-12345X@PJL JOB<0A>"
*% nb. I think the XeroxHavePoorLinuxSupport should be JCLXeroxHavePoorLinuxSupport
*% but if so, the options are not available to applications to select.
*OpenUI *XeroxHavePoorLinuxSupport/Grey or Colour: PickOne
*OrderDependency: 46.0 JCLSetup *XeroxHavePoorLinuxSupport
*DefaultXeroxHavePoorLinuxSupport: monochrome
*XeroxHavePoorLinuxSupport monochrome/Greyscale: "@PJL XCPT <?xml version=<22>1.0<22> encoding=<22>UTF-8<22>?>
@PJL XCPT <!DOCTYPE xpif SYSTEM <22>xpif-v02074.dtd<22><3E>
@PJL XCPT <xpif version=<22>1.0<22> cpss-version=<22>2.07<22> xml:lang=<22>en-US<22><3E>
@PJL XCPT <job-template-attributes>
@PJL XCPT <09><09><3C>color-effects-type syntax<3D><22>keyword<22><3E>monochrome-grayscale</color-effects-type>
@PJL XCPT <09><09><3C>job-accounting-user-id syntax=<22>name<22> xml:space=<22>preserve<22><3E>0301<3C>/job-accounting-user-id>
@PJL XCPT </job-template-attributes>
@PJL XCPT </xpif>"
*XeroxHavePoorLinuxSupport color/Colour: "@PJL XCPT <?xml version=<22>1.0<22> encoding=<22>UTF-8<22>?>
@PJL XCPT <!DOCTYPE xpif SYSTEM <22>xpif-v02074.dtd<22><3E>
@PJL XCPT <xpif version=<22>1.0<22> cpss-version=<22>2.07<22> xml:lang=<22>en-US<22><3E>
@PJL XCPT <job-template-attributes>
@PJL XCPT <09><09><3C>color-effects-type syntax<3D><22>keyword<22><3E>color</color-effects-type>
@PJL XCPT <09><09><3C>job-accounting-user-id syntax=<22>name<22> xml:space=<22>preserve<22><3E>0301<3C>/job-accounting-user-id>
@PJL XCPT </job-template-attributes>
@PJL XCPT </xpif>"
*CloseUI: *XeroxHavePoorLinuxSupport
*JCLToPSInterpreter:"@PJL ENTER LANGUAGE = POSTSCRIPT<0A>"
*JCLEnd:"<1B>%-12345X@PJL EOJ<0A><1B>%-12345X<0A>"
Nb. 0301 - наш бухгалтерский код. Тебе придется положить туда свой.