Provided by: cups_2.4.12-0ubuntu1_amd64 bug

NOM

       filter - Interface pour des filtres de conversion de fichiers pour CUPS

SYNOPSIS

       filter travail utilisateur titre nombre_copies options[ nom_fichier ]

       #include <cups/cups.h>

       ssize_t cupsBackChannelRead(char *tampon, size_t octets,
                                   double délai);

       cups_sc_status_t cupsSideChannelDoRequest(cups_sc_command_t commande,
                                                 char *données, int *taille_données,
                                                 double délai);

       #include <cups/ppd.h>

       const char *cupsGetOption(const char *nom, int nombre_options,
                        cups_option_t *options);

       int cupsMarkOptions(ppd_file_t *ppd, int nombre_options,
                           cups_option_t *options);

       int cupsParseOptions(const char *arg, int nombre_options,
                            cups_option_t **options);

       ppd_choice_t *ppdFindMarkedChoice(ppd_file_t *ppd, const char *mot_clef);

       void ppdMarkDefaults(ppd_file_t *ppd);

       ppd_file_t *ppdOpenFile(const char *fichier);

DESCRIPTION

       L’interface  de  filtres CUPS offre une méthode standard de prise en charge par CUPS de nouveaux types de
       documents ou d’imprimantes. Chaque filtre est capable de convertir des  fichiers  de  différents  formats
       dans  un  autre  format  qui est soit imprimable directement, soit envoyé dans un autre filtre afin de le
       rendre imprimable.

       Les filtres doivent être capables de lire depuis un nom de fichier fourni sur la ligne  de  commande,  ou
       depuis  l'entrée  standard  en copiant l'entrée standard vers un fichier temporaire si nécessaire pour ce
       format de fichier. Toutes les sorties doivent être envoyées  sur  la  sortie  standard.  Les  filtres  ne
       doivent  pas  essayer  de  communiquer  directement  avec  l’imprimante,  d’autres  processus ou d’autres
       services.

       Le nom de la commande (argv[0]) vaut le nom de l'imprimante de destination, mais est également disponible
       dans la variable d'environnement PRINTER.

OPTIONS

       Les options sont passées dans argv[5] et sont encodées à partir des attributs IPP correspondants utilisés
       lors de soumission du travail. Utilisez la fonction cupsParseOptions() pour charger les options  dans  le
       tableau  cups_option_t et la fonction cupsGetOption() pour obtenir la valeur d’un certain attribut. Soyez
       attentif à rechercher les alias courants des attributs IPP  tels  que  «  lansdscape  »  pour  l’attribut
       « orientation-requested ».

       Les  options  passées  sur  la  ligne  de  commande habituellement n’incluent pas les choix par défaut du
       fichier PPD de  l’imprimante.  Utilisez  les  fonctions  ppdMarkDefaults()  et  cupsMarkOptions()  de  la
       bibliothèque CUPS pour appliquer les options pour PPD par défaut et lier tout attribut IPP à l’option PPD
       correspondante.  Utilisez  la  fonction  ppdFindMarkedChoice()  pour  obtenir  le  choix de l’utilisateur
       sélectionné pour une option PPD. Par exemple, un filtre peut utiliser le code suivant pour déterminer  la
       valeur actuelle de l’option PPD Duplex :

           ppd_file_t *ppd = ppdOpenFile(getenv("PPD"));
           cups_option_t *options = NULL;
           int num_options = cupsParseOptions(argv[5], 0, &options);

           ppdMarkDefaults(ppd);
           cupsMarkOptions(ppd, num_options, options);

           ppd_choice_t *choice = ppdFindMarkedChoice(ppd, "Duplex");

       Les  filtres  matriciels  devraient  utiliser  le  choix  d’options  passées  par  l’en-tête  de  la page
       matricielle, puisque celles-ci renvoient les options utilisées sur une page donnée. Les  options  passées
       sur  la  ligne  de commande déterminent les valeurs par défaut pour le travail en entier, et peuvent être
       outrepassées en les définissant page par page.

MESSAGES JOURNALISÉS

       Les  messages  envoyés  à  la   sortie   d'erreur   sont   généralement   enregistrés   dans   l'attribut
       «  printer-state-message  »  et  dans  le  journal  ErrorLog actuel. Chaque ligne commence par un préfixe
       standard :

       ALERT: message
            Définir l'attribut « printer-state-message » et ajouter le message donné au journal ErrorLog  actuel
            en utilisant le niveau de journalisation « alert ».

       ATTR: attribut=valeur [ ... attribut=valeur]
            Définir  la  tâche  nommée  ou la(es) propriété(s) de l'imprimante. La propriété de travail suivante
            peut être paramétrée : « job-media-progress ». Les propriétés d'imprimante  suivantes  peuvent  être
            paramétrées  : « auth-info-required », « marker-colors », « marker-high-levels », « marker-levels »,
            « marker-low-levels », « marker-message », « marker-names », « marker-types », « printer-alert »  et
            « printer-alert-description ».

       CRIT: message
            Définir  l'attribut « printer-state-message » et ajouter le message donné au journal ErrorLog actuel
            en utilisant le niveau de journalisation « critical ».

       DEBUG: message
            Ajouter le message indiqué au fichier actuel ErrorLog  en  utilisant  le  niveau  de  journalisation
            « debug ». Les messages DEBUG ne sont jamais stockés dans l’attribut « printer-state-message ».

       DEBUG2: message
            Ajouter  le  message  indiqué  au  fichier  actuel ErrorLog en utilisant le niveau de journalisation
            « debug2 ». Les messages DEBUG2 ne sont jamais stockés dans l’attribut « printer-state-message ».

       EMERG: message
            Définir l'attribut « printer-state-message » et ajouter le message donné au journal ErrorLog  actuel
            en utilisant le niveau de journalisation « emergency ».

       ERROR: message
            Définir  l'attribut « printer-state-message » et ajouter le message donné au journal ErrorLog actuel
            en utilisant le niveau de journalisation « error ».

       INFO: message
            Définir l'attribut « printer-state-message ». Si LogLevel vaut « debug2 », le message est  également
            ajouté au journal actuel ErrorLog en utilisant le niveau de journalisation « info ».

       NOTICE: message
            Définir  l'attribut « printer-state-message » et ajouter le message donné au journal ErrorLog actuel
            en utilisant le niveau de journalisation « notice ».

       PAGE: numéro_page #-copies

       PAGE: total #-pages
            Ajouter une entrée au fichier PageLog actuel. La  première  forme  ajoute  le  nombre  de  copies  à
            l'attribut    «    job-media-sheets-completed    ».    La    seconde    forme   définit   l'attribut
            « job-media-sheets-completed » au nombre de pages.

       PPD: Mot_clef=Valeur [ ... Mot_clefN=Valeur ]
            Définir les mots-clefs dans le fichier PPD de  l'imprimante.  Cela  est  généralement  utilisé  pour
            mettre  à  jour  les  options  de mots-clefs par défaut telles que DefaultPageSize et les nombreuses
            options insérables dans le fichier PPD.

       STATE: raison-état-imprimante [ ... raison-état-imprimante]

       STATE: + raison-état-imprimante[ ... raison-état-imprimante ]

       STATE: - raison-état-imprimante[ ...raison-état-imprimante]
            Définir, ajouter ou retirer des mots-clefs « raison-état-imprimante » de la file d'attente en cours.
            C'est utilisé généralement pour indiquer l'état du média, de l'encre et de l'encre en poudre (toner)
            d'une imprimante.

       WARNING: message
            Définir l'attribut « printer-state-message » et ajouter le message donné au journal ErrorLog  actuel
            en utilisant le niveau de journalisation « warning ».

VARIABLES D'ENVIRONNEMENT

       Les variables d'environnement suivantes sont définies par le serveur CUPS pour l'exécution des filtres :

       CHARSET
            Définir le jeu de caractères par défaut à utiliser pour les textes, généralement « utf-8 ».

       CLASS
            Quand  un  travail  est  soumis  à  une  classe  d'imprimantes,  elle  contient  le nom de la classe
            d'imprimante concernée. Sinon, cette variable d'environnement n'est pas définie.

       CONTENT_TYPE
            Le type MIME de média associé au fichier de travail soumis, par exemple « application/postscript ».

       CUPS_CACHEDIR
            Le répertoire où peuvent se trouver et être stockés les fichiers cache semi-persistants.

       CUPS_DATADIR
            Le répertoire où se trouvent les fichiers de données.

       CUPS_FILETYPE
            Le type du fichier en cours d'impression : « job-sheet » pour une page avec bannière et « document »
            pour un fichier d’impression normal.

       CUPS_MAX_MESSAGE
            La taille maximale d'un message envoyé à la sortie d'erreur, incluant n'importe quel préfixe  et  le
            caractère de nouvelle ligne.

       CUPS_SERVERROOT
            Le répertoire racine du serveur.

       FINAL_CONTENT_TYPE
            Le   type   MIME   de   média   associé   à   la   sortie  prévue  pour  l'imprimante,  par  exemple
            « application/vnd.cups-postscript ».

       LANG La locale de langue par défaut (généralement C ou en).

       PATH Le chemin d'exécution standard pour les programmes externes qui peuvent être exécutés par le filtre.

       PPD  Le chemin complet du fichier PPD (« PostScript Printer Description ») de cette imprimante.

       PRINTER
            Le nom de l'imprimante.

       RIP_CACHE
            La quantité de mémoire recommandée pour les RIP (« Raster Image Processors »).

       SOFTWARE
            Le nom et le numéro de version du serveur (par exemple CUPS/majeur.mineur).

       TZ   Le fuseau horaire du serveur

       USER L'utilisateur qui exécute le filtre, généralement « lp  »  ou  «  root  »  ;  consultez  le  fichier
            cups-files.conf pour le paramétrage actuel.

CONFORMITÉ

       Alors que l’interface de filtre est compatible avec les scripts d’interface de System V, CUPS lui-même ne
       les gère pas.

NOTES

       Les pilotes et les programmes de transmission de CUPS sont devenus obsolètes et ne seront plus entretenus
       dans  une  prochaine  publication  de  CUPS. Les imprimantes qui ne gèrent pas IPP peuvent être gérées en
       utilisant des applications telles que ippeveprinter(1).

       Les filtres CUPS ne sont pas faits pour être lancés directement par l'utilisateur. À côté  des  problèmes
       liés  à l'ancienne interface System V (argv[0] est le nom de l'imprimante), les filtres de CUPS attendent
       également des variables d'environnement et descripteurs de fichiers  spécifiques,  et  sont  généralement
       lancés  dans  une  session  utilisateur  qui  (sous macOS) possèdent des restrictions supplémentaires qui
       affectent la façon dont ils fonctionnent. À moins que vous ne soyez un développeur ou que vous sachiez ce
       que vous faites, veuillez ne pas lancer  les  filtres  directement.  À  la  place  veuillez  utiliser  le
       programme  cupsfilter(8)  pour  utiliser les filtres adéquats pour effectuer la conversion dont vous avez
       besoin.

VOIR AUSSI

       backend(7), cups(1), cups-files.conf(5), cupsd(8), cupsfilter(8),
       Aide en ligne de CUPS : <URL:http://localhost:631/help>

COPYRIGHT

       Copyright © 2020-2024 by OpenPrinting.

28 février 2021                                       CUPS                                             filter(7)