Мы пытаемся собрать стек бесплатного программного обеспечения, чтобы получить подробную информацию об учете заданий печати, что-то похожее на то, что делает Papercut Printlogger для очередей необработанной печати. Мы тестировали общую систему печати Apple Unix (чашки) в Debian GNU не является Unix (GNU) / Linux с Pykota Тройник для чашек (Tea4Cups).
В чашках, Hewlett-Packard (HP) Язык управления принтером (PCL) файлы заданий печати включают HP Заголовок языка задания принтера (PJL) с информацией о задании, такой как количество копий, двусторонняя или односторонняя, цветная или черно-белая и т. Д. HP даже определяет как PCL, так и PJL в одном документе.
В Microsoft (MS) Windows каждое задание на печать ставится в очередь как два файла: Spool ] (SPL) тот, который содержит сам файл печати, на любом языке: Adobe Postscript (PS), HP PCL, Epson Стандартный код для принтеров (Esc / P) или любой другой; и файл Shadow (SHD) с информацией PJL.
Насколько нам удалось определить, задания печати Postscript в Cups не содержат ничего, эквивалентного PJL или SHD, ни в PS сам файл или отдельный файл.
Итак, возможно ли получить такую информацию о задании печати в чашках?
CUPS также (временно) сохраняет задания на печать (как минимум) в двух разных файлах. Для заданного ID задания 123456, состоящего из задания с одним документом, это будет:
/var/spool/cups/d123456-001
/var/spool/cups/c123456
Для заданного ID задания 123457, состоящего из нескольких документов, это будет:
/var/spool/cups/d123457-001
/var/spool/cups/d123457-002
/var/spool/cups/d123457-003
/var/spool/cups/c123457
Здесь d .. ..
файл представляет собой фактический файл данных, содержащий документ задания в точности в том виде, в каком он был отправлен клиентом CUPS (и перед цепочкой фильтрации CUPS для преобразования файла задания в желаемый формат целевого принтера).
c ... .
Файл представляет собой файл управления задания , который содержит всю соответствующую метаинформацию о задании (возможно, наиболее важно: параметры печати, которые хотел пользователь, например «двусторонняя, сшитая, с бумагой из лотка 3»).
Сегодня для меня проблема заключалась в том, как препарировать c ....
файл и извлеките из него все кровавые подробности, потому что он не является открытым текстом. Выполнение строк
против него выявило некоторые, но не все.
Я начал искать ответ почти во всем StackExchange ... именно тогда я заметил здесь этот связанный вопрос. Затем я использовал поисковую систему для получения дополнительной информации, но все еще не получил полезного результата.
Наконец, я даже сам задал вопрос об этом на StackOverflow:
Затем я продолжил поиск в исходном коде CUPS на Github подсказок. Через несколько часов я нашел ответ:
testipp
. См. Мой собственный ответ на связанный выше вопрос StackOverflow здесь:
К сожалению, эти полезные утилиты не упакованы ни одним дистрибутивом! Если вы знакомы с упаковщиком дистрибутивов, укажите им на эту проблему и попросите его / ее взглянуть!