j'ai pu lire le fichier et determiner le nbr de paragraphe et le nbr de caracteres dans le paragraphe maintenant reste à extraire les données et les placer:king:
Version imprimable
j'ai pu lire le fichier et determiner le nbr de paragraphe et le nbr de caracteres dans le paragraphe maintenant reste à extraire les données et les placer:king:
Super :)
Hésites pas à placer ta méthode générique qui détectera la zone nom / prénom. Ça pourra peut être servir :D
Bon code
Salut
est-ce que je peux passer les infos extraites à ma JSP sans passer par une servlet???
Oui bien sur via des scriptlets / taglibs tu peux récupérer les informations via un Helper qui analyserait un fichier word. Par contre scriplets à éviter, je suis pas fan :P
comment je dois proceder :lol: je suis un debutant coté JSP :aie:
je dois declarer un bean ou je dois mettre ma classe qui analyse le word et renvoyer le resultat???
comme ca?
Code:
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
37
38
39
40
41 public class ReadDoc { private String[] paragraphs ; public ReadDoc(String[] paragraphs){ this.paragraphs=paragraphs; } public String[] gets() { String filesname = "C:/Users/Slim/Desktop/CV_Slim_MAKNI.doc"; POIFSFileSystem fs = null; try { fs = new POIFSFileSystem(new FileInputStream(filesname)); HWPFDocument doc = new HWPFDocument(fs); WordExtractor we = new WordExtractor(doc); String[] paragraphs = we.getParagraphText(); System.out.println( "Word Document has " + paragraphs.length + " paragraphs" ); for( int i=0; i<paragraphs .length; i++ ) { paragraphs[i] = paragraphs[i].replaceAll("\\cM?\r?\n",""); System.out.println("Le paragraphe "+i+" est : "+paragraphs[i]+" : "); System.out.println( "Length:"+paragraphs[ i ].length()); } } catch(Exception e) { e.printStackTrace(); } return paragraphs; } public void setAdresse(String[] paragraphs) { this.paragraphs = paragraphs; } }
Bonsoir slimak,
J'arrrive un peu tard, mais j'ai l'impression que ce que tu souhaites faire, c'est ce que j'avais commence a faire avec GestCV. C'est une application de gestion de CV qui permet de saisir un CV et de l'imprimer. Ca date maintenant et a l'epoque j'avais fait c eprojet en mettant tout ce que j'adorais (Struts, AJAX, Spring...).
Pour la partie impression, GestCV utilise un autre projet que j'ai developpe appele RTFTemplate.
Je pense que RTFTemplate pourra t'etre util. Ca permet de creer ses modele RTF avec word et tu as aussi une macro qui te propose tous les champs disponibles http://rtftemplate.sourceforge.net/f...el/msword.html
Bon courage
Angelo
Merci je vais jeter un coup d'oeil ;)
salut voici ou jen suis
index.jsp
voici l'erreur genereeCode:
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105 <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Chemin</title> </head> <body> <center> <h2>Chemin</h2> <hr> <form action="ServletExtract" method="post"> <table> <tr> <td>Chemin</td> <td><input name="chemin" value="" type="text" size="20"></td> </tr> </table> <table> <tr> <td><input type="submit" value="Envoyer"></td> <td><input type="reset" value="Retablir"></td> <td><input type="button" value="Effacer"></td> </tr> </table> </form> </center> </body> </html><%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <% // on récupère les valeurs nécessaire à l'affichage String chemin = (String)request.getAttribute("chemin"); //String age=(String)request.getAttribute("age"); %> <html> <head> <title>Personne - formulaire</title> </head> <body> <center> <h2>Personne - formulaire</h2> <hr> <form action="" method="post"> <table> <tr> <td>Chemin</td> <td><input name="chemin" value="<%= chemin %>" type="text" size="20"></td> </tr> <tr> <td>Age</td> </tr> </table> <table> <tr> <td><input type="submit" value="Envoyer"></td> <td><input type="reset" value="Rétablir"></td> <td><input type="button" value="Effacer"></td> </tr> </table> </form> </center> </body> </html>Code:
1234567891011121314151617181920212223242526272829303132333435 la servlet ou j'ai associé mon code dextractionformulaire2.jspCode:
123456789101112131415161718192021222324252627282930 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String chemin = request.getParameter("chemin"); String filesname = chemin; POIFSFileSystem fs = null; try { fs = new POIFSFileSystem(new FileInputStream(filesname)); HWPFDocument doc = new HWPFDocument(fs); WordExtractor we = new WordExtractor(doc); paragraphs = we.getParagraphText(); System.out.println( "Word Document has " + paragraphs.length + " paragraphs" ); for( int i=0; i<paragraphs .length; i++ ) { paragraphs[i] = paragraphs[i].replaceAll("\\cM?\r?\n",""); System.out.println("Le paragraphe "+i+" est : "+paragraphs[i]+" : "); System.out.println( "Length:"+paragraphs[ i ].length()); } } catch(Exception e) { e.printStackTrace(); } request.setAttribute("chemin",paragraphs); getServletContext().getRequestDispatcher("/formulaire2.jsp").forward(request,response); }
javax.servlet.ServletException: L'exécution de la servlet a lancé une exception
cause mère
java.lang.NoClassDefFoundError: org/apache/poi/poifs/filesystem/POIFSFileSystem
ServletExtract.doPost(ServletExtract.java:48)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
cause mère
java.lang.ClassNotFoundException: org.apache.poi.poifs.filesystem.POIFSFileSystem
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
java.lang.ClassLoader.loadClassInternal(Unknown Source)
ServletExtract.doPost(ServletExtract.java:48)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
Bonjour,
Il te manque la librairie POI d'installée.
Elle doit se trouver dans le classpath de l'application WEB (WEB-INF/lib)
Si tu veux connaitre le JAR manquant, je te propose d'aller voir la page suivante.
Bon code
j'ai placé les jars dans le dossier lib voici la nlle erreur
description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.
exception
java.lang.NullPointerException
javax.servlet.GenericServlet.getServletContext(GenericServlet.java:160)
ServletExtract.doPost(ServletExtract.java:67)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
Tu peux faire voir la trace complète de l'exception?
log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
log4j:WARN Please initialize the log4j system properly.
java.util.logging.ErrorManager: 1
java.lang.NullPointerException
at org.apache.juli.FileHandler.publish(FileHandler.java:136)
at java.util.logging.Logger.log(Unknown Source)
at java.util.logging.Logger.doLog(Unknown Source)
at java.util.logging.Logger.logp(Unknown Source)
at org.apache.juli.logging.DirectJDKLog.log(DirectJDKLog.java:165)
at org.apache.juli.logging.DirectJDKLog.info(DirectJDKLog.java:115)
at org.apache.coyote.http11.Http11Protocol.pause(Http11Protocol.java:221)
at org.apache.catalina.connector.Connector.pause(Connector.java:1074)
at org.apache.catalina.core.StandardService.stop(StandardService.java:563)
at org.apache.catalina.core.StandardServer.stop(StandardServer.java:744)
at org.apache.catalina.startup.Catalina.stop(Catalina.java:616)
at org.apache.catalina.startup.Catalina$CatalinaShutdownHook.run(Catalina.java:659)
C'est lorsque tu accèdes à ta servlet que ça plante? Les autres Servlet fonctionnent bien?
Si c'est ta Servlet, tu as essayé de la debugger pour voir d'où vient ton java.lang.NullPointerException ?
Parce que visiblement, il plante sur des méthodes de logs :?
oui c'est au niveau de la servlet que ça plante et je n'est qu'une seule
j'utilise tomcat 6 et windows vista est ce que le probleme ne serai pas un conflit de tomcat avec vista??
Bonjour ça marche à merveille :yaisse2:
Merci pour l'aide :king: