如果打印机有特定选项,我想检查CUPS库。
我曾经做过以下事情:
ppd_file_t *ppdFile = ppdOpenFile(cupsGetPPD(dest->name));
bool can_duplex = ppdFindOption(ppdFile, "Duplex");
ppdClose(ppdFile);
到目前为止这确实有效。但是:PPD API被标记为已弃用。据我了解文档,以下应该是“正确”的方式:
cups_dinfo_t *info = cupsCopyDestInfo(CUPS_HTTP_DEFAULT, dest);
bool can_duplex = cupsCheckDestSupported(CUPS_HTTP_DEFAULT,
dest, info, "Duplex", NULL);
cupsFreeDestInfo(info);
但这不起作用,结果总是0
,尽管打印机确实支持双面打印。
我错过了什么?谢谢你的回答!