précédent | suivant | table des matières
|
Lors de l'impression sur une imprimante, ou lors de la configuration d'un travail d'impression, l'utilisateur peut spécifier comment se fait cette impression ou cette configuration à l'aide d'ensembles d'attributs.
L'API Java Print Service contient deux paquetages :
Catégorie, valeur
Chaque imprimante a des fonctionnalités, telles que l'impression sur différents format de page, l'impression de plusieurs copies, l'impression en couleur, l'orientation de l'impression, etc...
Chaque fonctionnalité a un ensembles de valeurs possibles :
L'API Java Print Service nomme catégorie une fonctionnalité d'imprimante, et valeur, la valeur de la fonctionnalité.
L'interface Attribute définit deux méthodes :
String getName() |
Retourne le nom de la catégorie. |
Class getCategory() |
Retourne la classe qui implémente cette catégorie. |
Rôles des attributs
5 rôle différents sont définis pour les attributs, à l'aide de 5 sous-interfaces de l'interface Attribute :
De nombreux attributs peuvent jouer plusieurs rôles : par exemple, l'attribut Media a trois rôles différents DocAttribute, PrintJobAttribute et PrintRequestAttribute.
L'interface ci-dessous visualise les attributs d'une imprimante. Les rôles de chaque attribut sont spécifiés dans la colonne de gauche, dans l'ordre suivant :
Ensemble d'attributs
On crée un ensemble d'attributs en utilisant l'une des quatre interfaces
Exemple :
HashPrintRequestAttributeSet prs = new HashPrintRequestAttributeSet(); prs.add(DialogTypeSelection.COMMON); // COMMON pour le dialogue Java // NATIVE pour le dialogue Système prs.add(OrientationRequested.LANDSCAPE); // LANDSCAPE orientation paysage // PORTRAIT orientation portrait // REVERSE_LANDSCAPE ou REVERSE_PORTRAIT prs.add(new PageRanges(1,15)); // Pour sélectionner les pages de 1 à 15 // On peut également sélectionner des groupes de pages. prs.add(new copies(3)); // Pour avoir 3 copies prs.add(Chromaticity.MONOCHROME); // en noir et blanc ou COLOR prs.add(Sides.ONE_SIDED); // mode normal // TWO_SIDED_LONG_EDGE, ou DUPLEX : deux pages dans la largeur // TWO_SIDED_LSHORT_EDGE, ou TUMBLE : deux pages dans la hauteur prs.add(PrintQuality.NORMAL); // HIGH, DRAFT ou NORMAL prs.add(new JobPriority(5)); // priorité du job d'impression try { // Pour sélectionner un fichier de destination prs.add(new Destination(new URI("xxx"))); } catch (URISyntaxException e) {} ...
La hiérarchie des classes et interfaces concernées par les attributs est la suivante :