Rapport crystal reports dans une page php

Bonjour a tous

j'ai conçu un état sous crystal report , j'utilise comme langage le PHP et Apache comme serveur web, j'arrive à exporter le document pour l'ouverture ou l'enregistrement sur disque dur, avec la méthode : $rpt_obj->Export(True/False);
j'arrive à le sortir directement sur imprimante, avec la fonction : $rpt_obj->PrintOut();
mais le probleme est que je n'arrive pas à l'afficher directement sur ma page php

voila , j'espère trouver une solution dans ce forum. merci et bonne journnée a tous.
Configuration: Windows 2003
Firefox 2.0.0.13

1 réponse

  1. a l'aide SVP !!!
    1. 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

      $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

      $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

      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.
    2. slt j'ai ce meme probleme que vous .pouvez vous m'aider SVP !!!
      je dois creer un etat en php et je n'ai aucune idee sur ca
      merci d'avance