2010-11-24 4 views
3

J'essaie d'introduire une exportation HTML vers notre moteur de rapport basé sur JasperReports. Le document HTML est généré correctement, mais les problèmes commencent quand il contient des images. Les images ne font pas partie du HTML contrairement au PDF.Comment exporter un JasperReport en HTML, sans enregistrer les images sur un disque?

La solution que je trouve est jusqu'à présent les éléments suivants:

JRHtmlExporter exporter = new JRHtmlExporter(); 

exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); 
exporter.setParameter(JRHtmlExporterParameter.IS_OUTPUT_IMAGES_TO_DIR, Boolean.TRUE); 
exporter.setParameter(JRHtmlExporterParameter.IMAGES_DIR_NAME, "./images/"); 
exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI, "/images/"); 
exporter.setParameter(JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN, Boolean.FALSE); 
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, outputStream); 

exporter.exportReport(); 

De cette façon, toutes les images sont générées automatiquement par JasperReports et enregistrés dans ce dossier « images ». Ils sont également correctement référencés par le fichier HTML.

Le problème est que les images sont enregistrées trop tard dans le dossier et que l'utilisateur doit actualiser la page HTML déjà reçue afin de les voir. Ce n'est vraiment pas sympa et je ne vois pas pourquoi les images devraient être sauvegardées, puisqu'elles sont automatiquement générées par JasperReports de toute façon.

Comment puis-je dire à JasperReports de stocker les images en mémoire d'une manière ou d'une autre et comment l'utilisateur va y accéder dans ce cas?

Répondre

3

Vérifiez les exemples Jasper (partie de la distribution source), il a un exemple 'webapp' qui montre comment vous pouvez utiliser une servlet d'image pour cette fin.

Questions connexes