Bonjour, j'ai établi le code suivant pour générer un rapport au format html:
le Rapport est bien généré, dans le répertoire spécifié.
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 public static int createHtmlOutput(ReportDetails rd, ServletContext sc){ IReportEngine re = getReportEngine(sc); IReportDocument rptdoc; String[] s = rd.getName().split("\\."); String docPath = getRptdocument_folder(sc)+File.separator+s[0]+".rptdocument"; String outputPath = getRptoutput_folder(sc)+File.separator+s[0]; int nbPage = 0; try { rptdoc = re.openReportDocument(docPath); HTMLRenderOption htmlOption = new HTMLRenderOption(); htmlOption.setOutputFormat(IRenderOption.OUTPUT_FORMAT_HTML); htmlOption.setEmbeddable(false); htmlOption.setImageDirectory(getRptimage_folder(sc)); htmlOption.setSupportedImageFormats("PNG;GIF;JPG;BMP"); htmlOption.setOutputFileName(outputPath+".html"); htmlOption.setHtmlPagination(true); htmlOption.setMasterPageContent(true); IRenderTask renderTask = reportEngine.createRenderTask(rptdoc); viewTaskParamValue(renderTask); renderTask.setRenderOption(htmlOption); nbPage = (int) renderTask.getTotalPage(); for(int i = 1; i <= nbPage; i++){ htmlOption.setOutputFileName(outputPath+i+".html"); renderTask.setRenderOption(htmlOption); renderTask.setPageNumber(i); renderTask.render(); } } catch (EngineException e) { e.printStackTrace(); } return nbPage; }
Les soucis apparaissent lorsque j'essaie de l'afficher dans un frame et là je me rend compte que les images/charts qui sont généré ne s'affiche pas dans le frame, mais apparaissent lorsque j'ouvre le fichier généré avec un navigateur. Après de multiple recherche, je constate que dans mon application, les images/charts générées sont lié dans la page web avec une balise <img> dont l'attribut src a pour valeur un texte de la forme : file://d:/.../.../custom1.png alors dans le page html généré par le birt viewer, cet attribut a pour valeur une url avec des attribut qui fait appel à une servlet.
comment réaliser la même opération afin de pouvoir ouvrir mes page html a différent endroits
Merci d'avance de votre aide.
Partager