libcups: проверьте, доступна ли опция

Используя библиотеку CUPS, я хочу проверить, доступна ли конкретная опция для принтера.

Я делал следующее:

ppd_file_t *ppdFile = ppdOpenFile(cupsGetPPD(dest->name));
bool can_duplex = ppdFindOption(ppdFile, "Duplex");
ppdClose(ppdFile);

Пока это работает правильно. Но: API PPD помечен как устаревший. Насколько я понимаю документы, следующий «правильный» способ сделать это:

cups_dinfo_t *info = cupsCopyDestInfo(CUPS_HTTP_DEFAULT, dest);
bool can_duplex = cupsCheckDestSupported(CUPS_HTTP_DEFAULT,
dest, info, "Duplex", NULL);
cupsFreeDestInfo(info);

Но это не работает, результат всегда 0, хотя принтер поддерживает двустороннюю печать.

Что мне не хватает? Спасибо за любые ответы!

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]