Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2728 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Problème API itext

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème API itext

n°1815968
figosat
Posté le 24-11-2008 à 17:04:15  profilanswer
 

bonjour,
je suis entrain de développer une application web en utilisant le framework Struts. J'ai un formulaire avec un bouton editer qui permet d'editer la page courante en pdf. Le problème c'est que mon programme s'execute bien comme il faut mais le fichier (pdf) ne s'ouvre pas.
 
Programme :
public class HelloWorld {
 
 private final static String out = "contents2.pdf";
 
 public static void main(String[] args) {
 
 // etape 1
 Document document = new Document(PageSize.A4);
         
 try {
            // etape 2:
            // creation du writer -> PDF ou HTML  
            PdfWriter.getInstance(document, new FileOutputStream(out));
                       
            // etape 3: Ouverture du document
            document.open();
           
            // etape 4: Ajout du contenu au document
            document.add(new Phrase("Hello World" ));
           
        }
        catch(DocumentException de) {
            System.err.println(de.getMessage());
        }
        catch(IOException ioe) {
            System.err.println(ioe.getMessage());
        }
        // etape 5: Fermeture du document
        document.close();
        System.out.println("Document '"+out+"' generated" );
 }
}
 
 
NB: à la fin j'ai bien "Document 'contents2.pdf' generated", mais le fichier n'est pas ouvert.
 
Savez vous l'origine du pb ?

mood
Publicité
Posté le 24-11-2008 à 17:04:15  profilanswer
 

n°1815989
figosat
Posté le 24-11-2008 à 17:30:56  profilanswer
 

help please !!!!

n°1816026
Bidem
Posté le 24-11-2008 à 18:09:46  profilanswer
 

Ce que tu nous montres là n'a rien à voir avec une appli web et Struts.
Ton programme HelloWorld écrit le résultat dans un fichier sur le disque.
 

n°1816148
figosat
Posté le 24-11-2008 à 22:22:54  profilanswer
 

oué je c bien, mais c t juste un exemple. En fait dans mon action j'ai mis la partie suivante :
 
 String out = "contents2.pdf";
 // etape 1
 Document document = new Document(PageSize.A4);
         
 try {
            // etape 2:
            // creation du writer -> PDF ou HTML  
            PdfWriter.getInstance(document, new FileOutputStream(out));
                       
            // etape 3: Ouverture du document
            document.open();
           
            // etape 4: Ajout du contenu au document
            document.add(new Phrase("Hello World" ));
           
        }
        catch(DocumentException de) {
            System.err.println(de.getMessage());
        }
        catch(IOException ioe) {
            System.err.println(ioe.getMessage());
        }
        // etape 5: Fermeture du document
        document.close();
        System.out.println("Document '"+out+"' generated" );
 }

n°1816176
figosat
Posté le 24-11-2008 à 23:05:48  profilanswer
 

En fait je souhaite avoir un exemple de code qui permet de générer un pdf à partir d'une JSP.


Message édité par figosat le 24-11-2008 à 23:05:56
n°1816267
Bidem
Posté le 25-11-2008 à 10:15:34  profilanswer
 

Donc dans ton exemple, tu écris aussi ton PDF dans un fichier sur le disque.
 
Ce que tu veux, c'est renvoyer le Pdf dans l'OutputStream de la réponse Http :

Code :
  1. // en supposant que la méthode définisse un param HttpServletResponse response
  2. response.getOutputStream()


 
Il faut aussi spécifier le content type qui va bien :

Code :
  1. response.setContentType("application/pdf" );


 
Cf. Tutorial pour plus d'infos
 

n°1816290
figosat
Posté le 25-11-2008 à 11:09:16  profilanswer
 

Merci pour ton aide, ça marche

n°1816294
figosat
Posté le 25-11-2008 à 11:31:27  profilanswer
 

Un petit détail encore svp  ;) , comment faire pour laisser le choix à l'utilisateur entre ouvrir le document ou le sauvegarder sur le disque ?  

n°1816357
Bidem
Posté le 25-11-2008 à 13:53:32  profilanswer
 

Ça dépend de la configuration du navigateur.

 

Tu peux tester en positionnant le header suivant :

 
Code :
  1. String fileName = "toto.pdf";
  2. response.addHeader("Content-disposition", "attachment; filename=\"" + fileName +"\"" );
  


Message édité par Bidem le 25-11-2008 à 13:53:52
n°1816571
figosat
Posté le 25-11-2008 à 17:49:53  profilanswer
 

Merci bcp bidem.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Problème API itext

 

Sujets relatifs
Problème avec la fonction Vlookup [VBA Excel]OpenGL - Problème avec lissage
Problème pour une mise en forme grâce à VBproblème de positionnement avec float [RESOLU]
Problème java.util.HashMap$KeyIterator@157f0dcProblème url rewriting
Problème connexion base de donnéesProblème très curieux sur une page web
comment scroller dans une pile de texte (alignée en bas)?Problème avec Internet Explorer IE6 et IE7: Afficher Derouler - cacher
Plus de sujets relatifs à : Problème API itext


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR