filter
Section: Apple Inc. (7)
Updated: CUPS
Index
Return to Main Contents
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
CUPS printer drivers and backends are deprecated and will no longer be
supported in a future feature release of CUPS. Printers that do not support
IPP can be supported using applications such as 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 2007-2019 par Apple Inc.
Index
- NOM
-
- SYNOPSIS
-
- DESCRIPTION
-
- OPTIONS
-
- MESSAGES JOURNALISÉS
-
- VARIABLES D'ENVIRONNEMENT
-
- CONFORMITÉ
-
- NOTES
-
- VOIR AUSSI
-
- COPYRIGHT
-
This document was created by
man2html,
using the manual pages.
Time: 00:05:02 GMT, March 31, 2021