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

GWT et Vaadin Java Discussion :

Ouvrir un fichier pdf


Sujet :

GWT et Vaadin Java

  1. #1
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 242
    Par défaut Ouvrir un fichier pdf
    Bonjour,

    j'aimerais pouvoir ouvrir un fichier pdf lorsque je clique sur mon bouton.

    J'ai utilisé la classe Desktop pour faire ça...lorsque je lance sous eclipse tout fonctionne mais lorsque je mets sous tomcat sous windows il me dit que la classe Desktop est introuvable. Sous mon serveur linux il me dit que la variable X11 n'est pas déclarée...

    J'ai cru lire sur d'autre post que la classe Desktop est réservé pour les applis locales, est ce vrai ? comment puis je faire autrement ?

    J'ai pensé à faire un simple lien HTML <a href='monPdf'....> mais avant d'ouvrir le fichier pdf il faut que je fasse un traitement...je pense donc faire un onclick='maMethode()' mais comment je peux faire dans maMethode() pour ouvrir le fichier pdf ?

    Merci

  2. #2
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 242
    Par défaut
    En faite je dois utiliser un servlet externe pour afficher le fichier pdf. Pour utiliser une servlet, je dois utiliser en gwt
    Frame fr = new Frame(monUrl) avec monUrl = "monServeur/maServlet" par exemple

    Comment je fais en gwt pour avoir le lien de monServeur car j'aimerais éviter de mettre en dur dans mon code url ="monServeur"

    merci

  3. #3
    Membre éprouvé Avatar de Caroline76
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 94
    Par défaut
    Citation Envoyé par mikees Voir le message
    Comment je fais en gwt pour avoir le lien de monServeur car j'aimerais éviter de mettre en dur dans mon code url ="monServeur"
    Essayes quelque chose comme ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GWT.getModuleBaseURL() + monServlet
    C'est ce que j'utilise pour mes servlets.

  4. #4
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 242
    Par défaut
    ouaip merci , j'avais trouvé en faite

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2008
    Messages : 48
    Par défaut
    Bonjour,
    tu peut maitre la solution à dispo de tous le monde stp

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 213
    Par défaut
    oui s'il te plait, ca serait sympa

  7. #7
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 242
    Par défaut
    j'avais mis la réponse

    Frame fr = new Frame(monUrl) avec monUrl = "monServeur/maServlet"
    et pour récupérer monServeur,tu fais GWT.getModuleBaseURL()

    Dans ta servlet tu fais

    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
    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
    public class VisualiserPdf extends HttpServlet
    {
    
    	/**
    	 * 
    	 */
    	private static final long serialVersionUID = 1L;
    	
    	@Override
    	public void init() throws ServletException
    	{
    		// TODO Auto-generated method stub
    		super.init();
    	}
    	@Override
    	protected void doGet(HttpServletRequest req, HttpServletResponse response)
    			throws ServletException, IOException
    	{
    		
    		
    		File fic = new File(TonRep, TonFichier);
    
    		response.setContentType("application/pdf");
    		response.setHeader("Content-Disposition", "attachment;filename="+tonNomFic);
    
    		try
    		{
    			ServletOutputStream out = response.getOutputStream();
    			BufferedInputStream from = null;
    			try
    			{
    				response.setContentLength((int) fic.length());
    				int bufferSize = 64 * 1024;
    
    				try
    				{
    					from =
    						new BufferedInputStream(new FileInputStream(fic),
    								bufferSize * 2);
    					byte[] bufferFile = new byte[bufferSize];
    					for (int i = 0;; i++)
    					{
    						int len = from.read(bufferFile);
    						if (len < 0)
    							break;
    						out.write(bufferFile, 0, len);
    					}
    					out.flush();
    				}
    				catch (Throwable ex)
    				{
    					ex.printStackTrace();
    				}
    				finally
    				{
    					try
    					{
    						from.close();
    					}
    					catch (Exception e)
    					{
    						e.printStackTrace();
    					}
    					try
    					{
    						out.close();
    					}
    					catch (Exception e)
    					{
    						e.printStackTrace();
    					}
    				}
    			}
    			catch (Throwable ex)
    			{
    				ex.printStackTrace();
    			}
    		}
    		catch (IOException e)
    		{
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		catch (Throwable ex)
    		{
    			ex.printStackTrace();
    		}
    	}

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 213
    Par défaut
    merci

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 213
    Par défaut
    euuuuh quitte a passer pour un boulet!

    j'ai tout fait mais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Button btn = new Button("fichier", new ButtonListenerAdapter() {  
    public void onClick(Button button, EventObject e) {  
    Frame fr = new Frame(GWT.getModuleBaseURL()+"FichierServlet");
    }  
    });
    mon Servlet marche mais ensuite je fait quoi?

    Edit : moyen detourné, comme j'utilise gwt-ext, je mais la frame dans une Window.
    mais j'amerais que l'ouverture ou l'enregistrement se fasse seul, sans ouverture de Window, Panel, Frame....

  10. #10
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 45
    Par défaut
    Si quelqu'un a une réponse, ça m'intéresse... (comment ouvrir ou enregistrer un fichier sans passer par une Window ou autre ?)

    Edit : problème résolu dans ce post

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [JDBC]ouvrir un fichier pdf à partir d'un blob
    Par souletis dans le forum JDBC
    Réponses: 5
    Dernier message: 25/01/2007, 21h03
  2. [C#] Ouvrir un fichier PDF dans une autre fenetre
    Par ZePostman dans le forum ASP.NET
    Réponses: 3
    Dernier message: 15/03/2006, 13h41
  3. [CGI] Ouvrir un fichier pdf
    Par Luffy Duck dans le forum Autres langages pour le Web
    Réponses: 2
    Dernier message: 09/12/2005, 09h21
  4. [FLASH MX2004] Ouvrir un fichier PDF
    Par james west dans le forum Flash
    Réponses: 1
    Dernier message: 28/09/2005, 10h42
  5. Réponses: 9
    Dernier message: 20/06/2005, 16h47

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