Bonjour;
j'ai pu remonter les info suivent (piece jointe).
mais lors de l'appelle de jrxml j'ai l'erreur suivent:
Code :
Warning: java_require() not supported anymore. Please use
le code est (c:/wamp/www/test/jesper/test3.php):
Code :
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 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
| <?php
require_once("C:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/JavaBridge/java/Java.inc");
$reportPath = "lib/";
$reportFileName = "test_etat";
$jasperReportsLib = "lib";
$handle = @opendir($jasperReportsLib);
while(($new_item = readdir($handle))!==false) {
$java_library_path = 'file:'.$jasperReportsLib.'/'.$new_item.';';
//echo ' file ===>'.$java_library_path.'<BR>';
}
try {
// chargement des librairies au classpath
java_require($java_library_path);
// création de la connexion JDBC
$Conn = new Java("org.altic.jasperReports.JdbcConnection");
// driver
$Conn->setDriver("com.mysql.jdbc.Driver");
// url de connexion
$Conn->setConnectString("jdbc:mysql://localhost/gestion_missions","root","");
// utilisateur
$Conn->setUser("root");
// mot de passe
$Conn->setPassword("");
// Compilation du fichier JRXML en fichier Jasper
$sJcm = new JavaClass("net.sf.jasperreports.engine.JasperCompileManager");
$report = $sJcm->compileReport($reportsPath ."test_etat.jrxml");
// Remplir le modèle avec les données
$sJfm = new JavaClass("net.sf.jasperreports.engine.JasperFillManager");
$print = $sJfm->fillReport(
$report,
new Java("java.util.HashMap"),
$Conn->getConnection()
);
// Export du fichier au format pdf
$sJem = new JavaClass("net.sf.jasperreports.engine.JasperExportManager");
$sJem->exportReportToPdfFile($print, $reportsPath .$reportFileName.".pdf");
if (file_exists($reportsPath .$reportFileName.".pdf")){
header('Content-disposition: attachment; filename="'.$reportFileName.'.pdf"');
header('Content-Type: application/pdf');
header('Content-Transfer-Encoding: binary');
header('Content-Length: '. @filesize($reportsPath . $reportFileName.".pdf"));
header('Pragma: no-cache');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Expires: 0');
set_time_limit(0);
@readfile($reportsPath .$reportFileName.".pdf") or die("problem occurs.");
}
} catch (JavaException $ex) {
$trace = new Java("java.io.ByteArrayOutputStream");
$ex->printStackTrace(new Java("java.io.PrintStream", $trace));
print "java stack trace: $trace\n";
}
?> |
NB : les libraire de jasper+connecteur+atlitic et dans le dossier lib.
merci d'avance.