Я хотел бы поделиться тем, что я реализовал, на случай, если это может пригодиться кому-то еще.
Возможности устройства и некоторая другая информация включены в связанные файлы ppd (etc / cups / ppd / DEVICE_NAME.ppd).
Файл Ppd содержит строку типа "* cupsFilter: IN_MIME OUT_MIME FILTER_NAME".Эта строка указывает, какой фильтр должен быть вызван перед бэкендом.Строка может быть отредактирована, например, IN_MIME становится CUSTOM_IN_MIME, которая должна быть объявлена в связанных файлах описания mime чашек.Тогда пользовательский фильтр с, скажем, нулевой стоимостью может быть объявлен как IN_MIME CUSTOM_IN_MIME.
Тогда это единственный фильтр, который понимает CUSTOM_IN_MIME и, следовательно, должен вызываться (на самом деле CUSTOM_IN_MIME идентичен IN_MIME и вводится только для принудительного использования настраиваемого фильтра).
В CUSTOM_FILTER мы можем реализовать все, что захотим.Это очень мощный и общий подход для внедрения в CUPS.
Надеюсь, это кому-нибудь поможет.