2010-05-04 4 views
3

Je crée un document pdf en utilisant le rapport jasper et j'ai besoin de diffuser ce document pdf à partir de servlet.Can n'importe qui m'aider où j'ai fait erreur.Ceci est l'extrait de code que j'utilise dans mon application.Comment diffuser un document pdf à partir d'une servlet?

ServletOutputStream servletOutputStream = response.getOutputStream(); 

String fileName="test.pdf"; 

response.setContentType("application/pdf"); 
response.setHeader("Content-Disposition","attachment; filename=\"" + fileName + "\""); 
response.setHeader("Cache-Control", "no-cache"); 
try 
{ 
     Map parameters = new HashMap(); 
     parameters.put("SUBREPORT_DIR", JasperReportFilepath); 
     parameters.put("TestId", testID); 

     JasperPrint jprint=JasperFillManager.fillReport(filePath, parameters, conn); 

     byte[] output=JasperExportManager.exportReportToPdf(jprint);    
     System.out.println("Size====>"+output.length); 

     servletOutputStream.write(output); 
     servletOutputStream.flush(); 
     servletOutputStream.close(); 

     System.out.println("===============>Streaming perfectly"); 


} 
catch(Exception e) 
{ 
     System.out.println("===============>+JasperException"+e.getMessage()); 
} 

et je n'ai pas pu obtenir de message d'erreur aussi. Tout fonctionne correctement mais le document n'est pas en streaming. S'il vous plaît, aidez-moi à régler le problème.

+0

La taille est-elle correctement imprimée? Notez aussi: 'fileName'! =' FilePath'. Je ne sais pas si c'est juste une autre copie imbécile et coller erreur;) – BalusC

Répondre

2

Vous feriez mieux d'utiliser:

JasperExportManager.exportReportToPdfStream(jprint, servletOutputStream); 
+0

Salut Bozho, Merci pour votre réponse, j'ai essayé cette méthode aussi..Mais je ne pouvais pas voir de document de streaming.Can vous s'il vous plaît me fournir un extrait de code pour diffuser un document en utilisant cette logique – Kumar

+0

que comprenez-vous sous "streamed". Le fichier devrait juste commencer à télécharger. – Bozho

+0

ya..file besoin de télécharger mais je ne pouvais pas voir de téléchargement .. – Kumar

0

Heh, jour de retard et un dollar à court, mais que quelqu'un demande s'il avait une étiquette <OBJECT> dans son HTML?

+0

Je ne vois pas pourquoi on afficherait un fichier PDF en tant qu'image. – BalusC

+0

Ouais, les dangers de poster lors de la recherche de la même solution. La réponse est améliorée. –

Questions connexes