bonjour à tous,

Je veux lancer un "report" BIRT à partir de PHP :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
$param["fact_id"] = $id;
new runReport("facture_livraison_client.rptdesign", $param, "facture_livraison_client");
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
<?php
 
require_once("java/Java.inc");
 
class runReport {
 
	function runReport($report, $param, $output) {
 
		header("Content-type: application/pdf;");
		header("Content-Disposition: attachment; filename=".$output.".pdf");
 
		$report_name = RP_REPORT . $report;
		$ctx = java_context()->getServletContext();
		$birtReportEngine = java("org.eclipse.birt.php.birtengine.BirtEngine")->getBirtEngine($ctx);
		java_context()->onShutdown(java("org.eclipse.birt.php.birtengine.BirtEngine")->getShutdownHook());
 
		try{
 
			$connect = new Java("connectDb");
 
			$report = $birtReportEngine->openReportDesign($report_name);
			$task = $birtReportEngine->createRunAndRenderTask($report);
 
			foreach ($param as $key => $value) {
				$task->setParameterValue($key, new java("java.lang.String",$value));
			}
 
			$taskOptions = new java("org.eclipse.birt.report.engine.api.PDFRenderOption");
			$outputStream = new java("java.io.ByteArrayOutputStream");
			$taskOptions->setOutputStream($outputStream);
			$taskOptions->setOutputFormat("pdf");
 
			$task->setRenderOption( $taskOptions );
			$task->getAppContext()->put("OdaJDBCDriverPassInConnection", $connect->getConnection(SERVEUR, BDD_PORT, BDD, LOGIN_DB, PWS_DB));
			$task->run();
			$task->close();
 
 
		} catch (JavaException $e) {
 
			echo $e; //"Error Calling BIRT";
		}
 
		echo java_values($outputStream->toByteArray());
 
	}
}
?>
Comment faire alors pour que le pdf s'ouvre à 100% après avoir cliqué le bouton OK de la boite de dialogue d'ouverture de fichier ?