我有一个 CUPS 作业控制文件(可以在 /var/spool/cups/cnnnnn 找到这些文件)。我需要得到打印的实际尺寸。
这是我想出的方法:
media使用属性获取纸张名称。(例如Letter)- 从
printer-uri属性中获取打印机 uri。(例如ipp://localhost/printers/MyPrinter) - 通过将打印机 uri 传递给
IPP_GET_PRINTER_ATTRIBUTES操作并获取printer-name属性来获取打印机名称。(例如MyPrinter) - 获取将打印机名称传递给
cupsGetPPD方法的 PPD 的路径。 - 打开 PPD,将 PPD 的路径传递给
ppdOpenFile方法。 - 通过将 PPD 和纸张名称传递给
ppdPageSize方法来获取纸张大小。
这将起作用,但它似乎有点迂回。有没有更有效的方法来获得我需要的东西?