Provided by: cups_2.2.7-1ubuntu2.10_amd64 

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 by Apple Inc.
19 octobre 2015 CUPS filter(7)