Comment changer params d'impression lors de l'utilisation nouvelle java 1.6 impression JTextComponent ()

StackOverflow https://stackoverflow.com/questions/4353306

Question

J'ai un JTextComponent (JTextArea). Je suis en train d'imprimer son contenu avec l'aide de la nouvelle fonctionnalité 1,6 .print (). Cela fonctionne bien. Je fais aussi cela dans un mode sans tête / non-interactif en utilisant la signature de la méthode suivante:

boolean print(MessageFormat headerFormat, MessageFormat footerFormat, boolean showPrintDialog, PrintService service, PrintRequestAttributeSet attributes, boolean interactive);

Encore une fois ce imprime mon contenu.

CEPENDANT ... Je voudrais mettre mes propres paramètres d'impression (à savoir la taille marge et la taille du papier) .. Les miens sont sur mesure / non-standard comme cela est pour une imprimante de reçus -

Y at-il moyen de définir / configurer ces informations lors de l'utilisation de cette forme d'impression?

Le problème que j'ai essaye maintenant d'obtenir mon contenu pour adapter la zone imprimable - et j'aimerais avoir plus de contrôle - Je suppose que utilise PrintJob et document ce serait disponible à travers l'objet PageFormat - Mais je ne savoir comment faire même en utilisant la méthode d'impression convience ci-dessus.

Merci d'avance -A -

Était-ce utile?

La solution

Vous devez utiliser les attributs PrintRequestAttributeSet pour spécifier les attributs de la tâche d'impression.

Vous créez une nouvelle instance de la PrintRequestAttributeSet

PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();

Vous devez ensuite ajouter les attributs de votre demande à cet ensemble. Jetez un coup d'oeil ici pour tous les différents attributs que vous pouvez utiliser.

Je pense que vous aurez besoin MediaSize et MediaPrintableArea

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top