J'essaie d'utiliser l'information PageFormat pour modifier mon impression basée sur javax.swing avant de l'imprimer. Je suis perplexe quant à la façon dont je peux obtenir le PageFormat de PrintJob (qui est obtenu en utilisant getPrinterJob() et printDialog()). Je sais qu'il existe la méthode getPageFormat, mais je n'arrive pas à comprendre comment obtenir le PrintRequestAttributeSet (qui n'est pas le printJob.getPrintService(). GetPrintAttributes()). Honnêtement, tout ce que je veux vraiment savoir, c'est la largeur et la hauteur de la page. Des idées sur comment je peux faire ça? Merci.comment obtenir le PageFormat à partir d'un Java.awt.print.PrinterJob
Répondre
Si vous avez juste besoin Je pense que la largeur de la page et la hauteur, PageFormat.getImageableWidth() et PageFormat.getImageableHeight() sont ce que vous cherchez.
Désolé, ce n'est pas ce que vous vouliez. Que diriez-vous cela pour un hack:
printable.setFakeJob(true);
job.print();
printable.setFakeJob(false);
job.print();
et dans votre imprimable,
public int print(Graphics graphics, PageFormat pf, int pageIndex) {
if (isFakeJob()) {
/* use passed-in PageFormat to set up whatever you need to set up */
return NO_SUCH_PAGE;
} else {
/* do your actual printing */
}
}
Pas assez, il est vrai.
c'est le problème, je ne peux pas obtenir le PageFormat pour le travail d'impression. –
Désolé, réussi à tromper votre question! Je comprends maintenant, je pense: vous voulez obtenir la taille de la page * avant * votre méthode Printable.print (Graphics, PageFormat, int) est rappelé. Malheureusement, je ne vois pas non plus un moyen de le faire: PrinterJob ne semble pas vous laisser accéder aux choix que l'utilisateur fait dans la boîte de dialogue d'impression sans appeler PrinterJob.print(). J'ai une idée pour un hack que je posterai comme une autre réponse. –
c'est moche, mais ça marche. –
L'approche de l'exécution d'un travail d'impression «faux» ne fonctionne pas, au moins à long terme. Je l'ai essayé. Au début, cela a bien fonctionné ... puis certains clients ont commencé à signaler des comportements étranges.
Il s'avère, avec quelques imprimantes et certaines configurations, même les «faux» travaux provoquent une activité sur l'imprimante. Aucune page de document imprimée, mais l'activité de la file d'attente, les pages d'en-tête du travail, et parfois un peu de sortie de la poubelle (si je me souviens bien). Les entrées de file d'attente bidon étaient suffisantes pour interférer avec l'impression normale, dans certains cas, et déroutant pour l'utilisateur. Oui, obtenir le PageFormat à l'avance était une douleur.
- 1. Comment obtenir le temps en ligne à partir d'actionscript?
- 2. Comment obtenir html retourné à partir d'ActionResult dans le contrôleur
- 3. Comment obtenir le texte sélectionné à partir d'une autre application?
- 4. Comment obtenir User.Identity.Name à partir d'un contrôleur?
- 5. Comment obtenir SelectableChannel à partir d'un InputStream?
- 6. Obtenir le code IL à partir du fichier binaire DLL
- 7. Obtenir le nom d'une DLL à partir de la DLL
- 8. Obtenir le chemin d'origine à partir de django filefield
- 9. Comment puis-je obtenir le fichier le plus récent à partir d'un serveur FTP?
- 10. Comment obtenir le GUID de l'utilisateur à partir d'Active Directory en utilisant le protocole WinNT?
- 11. Obtenir un élément à partir d'un iFrame
- 12. comment puis-je obtenir le min à partir d'un ensemble de données à LINQ requête
- 13. Obtenir SelectedItem à partir de TreeView?
- 14. Comment obtenir X509Certificate à partir d'une URL HTTPS arbitraire?
- 15. Comment obtenir l'élément enum à partir de l'index
- 16. Comment puis-je obtenir un NameTable à partir d'un XDocument?
- 17. Comment obtenir des données à partir d'un formulaire Web?
- 18. Comment obtenir un nom de fichier à partir d'un chemin?
- 19. comment obtenir l'adresse MAC d'un client à partir de HttpServlet?
- 20. Comment obtenir des définitions proxy à partir d'un activeX
- 21. Comment obtenir de la valeur à partir du haricot Struts?
- 22. Comment obtenir des variables d'environnement à partir de gvim
- 23. Comment obtenir l'objet Window à partir de l'objet Document?
- 24. Comment obtenir des données Facebook à partir de l'application?
- 25. Comment obtenir UIColor à partir d'un UIImage sur iPhone
- 26. Comment obtenir un xpathContext à partir d'un xmlNode en python
- 27. Comment obtenir une icône à partir d'une image png?
- 28. Comment obtenir une valeur à partir d'un objet OracleParameter
- 29. Comment obtenir dynamiquement les modules imbriqués à partir d'un objet?
- 30. Comment obtenir une colonne à partir d'un tableau Java 2D?
c'est le problème, je ne peux pas obtenir le PageFormat pour le travail d'impression. –