IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement Web en Java Discussion :

Génération PDF avec Java EE


Sujet :

Développement Web en Java

  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2012
    Messages : 8
    Par défaut Génération PDF avec Java EE
    Bonjour tout le monde,
    j'aimerais avoir une aide sur la création de fichier pdf avec javaEE en utilisant itex.Au fait,j'ai créer une servlet pour generer un fichier pdf et l'afficher dans le browser mais il m'affiche des erreurs.j'aimerais avoir votre aide.
    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
     
    public class maservlet extends HttpServlet{
     
     
    	public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
    		  Document document = new Document();
    	        // step 2
    	        try {
    				PdfWriter.getInstance(document,new FileOutputStream("WEB-INF/ficPDF.pdf"));
    				 // step 3
    		        document.open();
    		        PdfPTable table = new PdfPTable(2);
    		        table.setWidthPercentage(550 / 5.23f);//la largeur du tableau
    		        table.setWidths(new int[]{5,1});
    		        PdfPCell cell1;
    		        cell1=new PdfPCell();
    		        Paragraph preg = new Paragraph();
    		        preg.setAlignment(Element.ALIGN_CENTER);
    		        preg.setSpacingBefore(5);
    		        preg.setSpacingAfter(15);
    		        Chunk cktitre=new Chunk("blablablabla \n", new Font(FontFamily.TIMES_ROMAN, 16, Font.BOLD));
    		        preg.add(cktitre);
    		        cell1.addElement(preg);
    		        table.addCell(cell1);
    		        document.add(table);
     
    			} catch (DocumentException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
     
    	        document.close();
    	}
    Erreur signalé
    Etat HTTP 500 - WEB-INF\ficPDF.pdf (Le chemin d’accès spécifié est introuvable)

    type Rapport d''exception

    message WEB-INF\ficPDF.pdf (Le chemin d’accès spécifié est introuvable)

    description Le serveur a rencontré une erreur interne qui l''a empêché de satisfaire la requête.

    exception

    java.io.FileNotFoundException: WEB-INF\ficPDF.pdf (Le chemin d’accès spécifié est introuvable)
    java.io.FileOutputStream.open(Native Method)
    java.io.FileOutputStream.<init>(Unknown Source)
    java.io.FileOutputStream.<init>(Unknown Source)
    pack.servlets.EtablirExtraitNaissance.doGet(EtablirExtraitNaissance.java:36)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

    note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/7.0.30.
    Apache Tomcat/7.0.30

  2. #2
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Par défaut
    Bonjour,
    ton erreur est assez explicite, il ne trouve pas le chemin vers le fichier, il faudrait que tu descendes d'abord jusqu'à la racine de ton contexte, c'est à partie de cette racine que tu indiques le chemin vers ton fichier.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    FacesContext context = FacesContext.getCurrentInstance();
    ServletContext sc = (ServletContext) context.getExternalContext().getContext();
     
    String fileName= sc.getRealPath("/WEB-INF/ficPDF.pdf");
    Fais des essais avec ça.

  3. #3
    Membre expérimenté
    Homme Profil pro
    Développeur Java / JEE
    Inscrit en
    Février 2008
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java / JEE

    Informations forums :
    Inscription : Février 2008
    Messages : 185
    Par défaut
    Bonjour,

    J'ai l'impression que tu n'écris pas ton PDF dans le flux de sortie de la Servlet. Du coup quand tu auras lu ton PDF, il ne s'affichera pas dans ta page web. Il te faut utiliser le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    response.getOutputStream();
    Mathieu

Discussions similaires

  1. Convertir .doc en pdf avec java
    Par Dikokm dans le forum Général Java
    Réponses: 5
    Dernier message: 10/03/2010, 17h48
  2. Problème de génération PDF via JAVA
    Par sa_38 dans le forum Jasper
    Réponses: 4
    Dernier message: 16/11/2009, 10h39
  3. Réponses: 4
    Dernier message: 15/05/2008, 17h28
  4. [CR XI] Génération PDF avec Java => Trés trés lent
    Par vincent.delhommois dans le forum SDK
    Réponses: 0
    Dernier message: 09/03/2008, 00h17
  5. Génération pdf avec iTextSharp
    Par kiwi645 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 24/01/2008, 21h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo