2010-10-07 27 views

Répondre

0

On dirait que c'est ce que vous cherchez (notez que je ne l'ai pas testé l'exemple moi-même)

http://docs.oracle.com/javase/7/docs/api/javax/print/CancelablePrintJob.html

+0

Merci pour trouver cela. Cela semble fonctionner pour arrêter un travail d'impression qui affiche la mise en file d'attente dans la file d'attente de documents, mais existe-t-il un moyen d'annuler le travail une fois qu'il est entièrement dans la file d'attente d'impression? Si j'appuie sur le bouton Annuler dans cet exemple de code que vous avez posté, j'obtiens: javax.print.PrintException: Le travail n'a pas pu être annulé. – user469650

+0

Je suppose que ce que je peux regarder est un moyen de contrôler le spouleur d'impression Windows plutôt que le travail d'impression car le travail d'impression est déjà terminé. Ou existe-t-il un moyen de définir un délai automatique pour détacher le document de la file d'attente d'impression avec un paramètre Windows ou avec du code Java? – user469650

+0

Je ne suis pas sûr s'il existe un moyen facile d'arrêter un travail spécifique. Cela impliquera probablement l'utilisation de JNI, mais je n'ai pas codé assez de choses spécifiques à Windows pour vous dire exactement comment. Cependant, si tout ce que vous avez besoin est de * clair * la file d'attente d'impression, vous pouvez éventuellement exécuter ce en utilisant Runtime.getRuntime() exec() de net stop spooler del C:. \ WINDOWS \ system32 \ spool \ Printers \ *. */q net start spooler – kskjon