précédent | suivant | table des matières

Impressions en Java : les attributs

Sommaire
  1. Catégorie, valeur
  2. Rôles des attributs
  3. Ensemble d'attributs

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 :

1Caté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.

2Rô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 : 

Lancer l'application et voir son code.

3Ensemble 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 :

hiérarchie des interfaces et classes Attribute

haut de la page