Provided by: cups_2.2.12-2ubuntu1_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  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 2007-2017 par Apple Inc.