Bonjour a tous,
voila je voulez vous transmettre ce qui a été trouvé pour régler mon problème.
le principe est de créer un etat en crystal reports , on l'enregistre puis on fait un passage de paramètre du php a crystal. enfin on creer le fichier pdf a partie de cet etat et on l'ouvre dans la page web.
1. Ouverture du rapport
1 2 3
| $app_obj = new COM("CrystalRuntime.Application") or Die ("Did not open");
$etat="C:\...\nomEtat.rpt"; // donner le chemain du rapport
$rpt_obj=$app_obj->OpenReport($etat); |
2. passage des paramètres
$rpt_obj->RecordSelectionFormula = "{nom_table.nom_du_champ1} =$varnum and {nom_table.nom_du_champ2}="."'". $var_string."'"....;
3. Generer le fichier en pdf
1 2 3 4 5 6
| $rpt_obj->ExportOptions->DiskFileName="C:\...\nomFichier.pdf"; // chemain ou mettre le fichier pdf
$rpt_obj->ExportOptions->PDFExportAllPages=true;
$rpt_obj->ExportOptions->DestinationType=1; // Export to File
$rpt_obj->ExportOptions->FormatType=31; // Type: PDF
$rpt_obj->Export(false);
$my_pdf="C:\...\nomFichier.pdf"; |
3. ouverture du fichier pdf
1 2 3 4 5 6 7 8 9 10 11 12
| header('Content-type: application/pdf');
header('Content-Length: $len');
//header('Content-Disposition: inline; filename="'.$my_pdf.'"');
header('Last-Modified: '.gmdate('D, d M Y H:i:s') . ' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: pre-check=0, post-check=0, max-age=0');
header('Pragma: anytextexeptno-cache', true);
header('Cache-control: private');
header('Expires: 0');
header('Content-Disposition: inline; filename="'.$my_pdf.'"');
readfile($my_pdf); |
ce code marche tres bien sur fire fox(je l'est testé) mais il y a un problème sur internet explorer. le ficher pdf ne s'affiche pas sur la page internet explorer ???!!! c'est comme si il n'arrive pas a lancer acrobat redaer .
j'ai essayer de voir si dans acrobat reader l'option "display pdf in browser" elle est cochée ??!!!
alors si une personne a une explication sur ça j'aimerai bien la connaitre .
autre chose j'aimerai savoir comment faire un data grid en php ?
bonne journée a tous.
Partager