Provided by: cups_2.1.3-4ubuntu0.11_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

       Options  are  passed in argv[5] and are encoded from the corresponding IPP attributes used
       when the job was submitted. Use the cupsParseOptions() function to load the options into a
       cups_option_t  array  and  the  cupsGetOption()   function  to get the value of a specific
       attribute. Be careful to look for common aliases of IPP attributes such as "landscape" for
       the IPP "orientation-requested" attribute.

       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 des filtres est compatible avec les scripts d'interface Système V,
       elle ne fonctionnera avec  le  script  d'interface  Système V  que  comme  filtre  unique.
       Normalement,  le  script  d'interface  sera fourni par la commande lpadmin(8) en utilisant
       l'option -i.

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
       OS X)  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-2015 par Apple Inc.