我有一個CUPS作業控制文件(這些可以在/ var/spool/cups/cnnnnn找到)。我需要獲得所製作的印刷品的實際尺寸。這是通過CUPS獲取紙張大小的最佳方式嗎?
這是我想通了,做的方式:
- 使用
media
屬性獲取的文件名。 (例如Letter
) - 從
printer-uri
屬性中獲取打印機URI。 (例如ipp://localhost/printers/MyPrinter
) - 通過將打印機uri傳遞給
IPP_GET_PRINTER_ATTRIBUTES
操作並獲取printer-name
屬性來獲取打印機名稱。 (例如MyPrinter
) - 獲取傳遞打印機名稱到
cupsGetPPD
方法的PPD的路徑。 - 打開將PPD路徑傳遞到
ppdOpenFile
方法的PPD。 - 通過將PPD和紙張名稱傳遞給
ppdPageSize
方法來獲取紙張大小。
這將工作,但它似乎有點迂迴。有沒有更有效的方式來獲得我需要的東西?