У меня есть файл управления заданиями CUPS (их можно найти в/var/spool/cups/cnnnnn). Мне нужно получить фактические размеры печати, которая была сделана.Это лучший способ получить размер бумаги через CUPS?
Это путь я понял, чтобы сделать это:
- Получить имя бумаги с помощью атрибута
media
. (например,Letter
) - Получите принтер uri из атрибута
printer-uri
. (например,ipp://localhost/printers/MyPrinter
) - Получите имя принтера, передав принтер uri на операцию
IPP_GET_PRINTER_ATTRIBUTES
и получив атрибутprinter-name
. (например,MyPrinter
) - Получить путь к PPD, передав имя принтера методу
cupsGetPPD
. - Откройте PPD, пройдя путь до PPD до
ppdOpenFile
. - Получите размер бумаги, передав PPD и название бумаги методу
ppdPageSize
.
Это будет работать, но это немного крутизно. Есть ли более эффективный способ получить то, что мне нужно?