bonjour
voila j ai un fichier PDF et je voudrai l imprimer a partir dun code java
j ai essayé le code suivant
tel que le fName et le chemin de mon pdf.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 final String PATH_ADOBE_READER = "C:\\Program Files\\Adobe\\Reader 9.0\\Reader\\AcroRd32.exe"; final String ADOBE_READER_PRINT_COMMAND = "/t"; final String SLASH = "/"; final String QUOTE = "\""; final String SPACE = " "; PrintService service = PrintServiceLookup.lookupDefaultPrintService();//localisation de l'imprimante par défaut // Commande à exécuter String lCommand = QUOTE + PATH_ADOBE_READER + QUOTE + SPACE + ADOBE_READER_PRINT_COMMAND + SPACE + QUOTE + fName + QUOTE + SPACE + QUOTE + service.getName() + QUOTE;//service.getName() c'est l'imprimante par defaut // System.out.println("[printPDF] Command to be executed : " + lCommand); Process lAdobeProcess = null; // Execute Adobe Reader command "/t" (imprime et ferme) lAdobeProcess = Runtime.getRuntime().exec(lCommand); Thread.sleep(24000); lAdobeProcess.destroy(); if (lAdobeProcess != null) { //destruction de l'instance de Acrobat Reader lAdobeProcess.destroy(); lAdobeProcess = null; File MyFile = new File(fName); MyFile.delete(); }
1-pour cette methode ca marche mais le problem que je veut pas faire dormire le processus "Thread.sleep(24000);" et je veut fermer acrobat automatiquement
2- si c est possible d'imprimé le pDF sans préciser le chemin d l'acrobat cad
"C:\\Program Files\\Adobe\\Reader 9.0\\Reader\\AcroRd32.exe";
3-j ai utilisé d'autre librairie comme le PDFone et bfopdf mais le probleme que ils sont pas gratuites donc jai pas pu les utilisées (ou mement de l'impression ils affichent "DEMO" dans le document a imprimé)
merci beaucoup
Partager