我有一个 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
方法来获取纸张大小。
这将起作用,但它似乎有点迂回。有没有更有效的方法来获得我需要的东西?