2011-12-07 13 views
2

J'utilise la version GWT2.4 dans mon application. Dans cette application, j'ai créé un formulaire en utilisant le contrôle GWT (comme textbox, textaera).GWT: Comment générer un fichier PDF enregistrer/ouvrir une fenêtre?

J'ai également créé un aperçu de la forme. Dans cet aperçu, j'ai un bouton de génération pdf. Maintenant, je veux créer un comportement pour traiter le lien pdf même que les navigateurs (Mozilla/chrome). Par exemple dans Mozilla sur le clic du lien pdf il demande soit enregistrer ou ouvrir dans une fenêtre pop-up. Pendant le débogage, j'ai trouvé un nom de fichier iText qui peut être utilisé pour créer un pdf, je veux aussi implémenter le comportement des navigateurs. S'il vous plaît aidez-moi. Merci d'avance.

Répondre

2

Lire le contenu d'un fichier dans un tableau d'octets.

Puis faire la demande de servlet ou service, par exemple. de cette façon:

Window.Location.replace("rest/downloadPdf"); 

Ce service doit retourner Réponse avec le type de contenu à droite:

@Path("downloadPdf") 
@GET 
@Produces({"application/pdf"}) 
@Consumes(MediaType.TEXT_PLAIN) 
public Response downloadPdf() throws Exception {  
    byte[] bytes = getYourPDFContents();  
    return Response 
      .ok(bytes, MediaType.APPLICATION_OCTET_STREAM) 
      .header("Content-Disposition", "attachment; filename=\"yourFile.pdf\"") 
      .build(); 
} 

navigateur affichera alors enregistrer en tant que boîte de dialogue.

C'est un exemple de Service, vous devez inclure la bibliothèque Jersey dans votre projet pour pouvoir utiliser la méthode comme je l'ai écrit ci-dessus.

Questions connexes