Php et pdf

Bonjour,
J'ai un problème bizarre,
Lorsque je passe en deuxième ligne
session_start();
et en dernière
$pdf->output('fichier.pdf');
le fichier est bien créé
mais si je souhaite l'affichage direct à l'écran du pdf en mettant
$pdf->output();
je reçois un message d'erreur d'Acrobat reader.
Auriez-vous une idée ?
Merci

9 réponses

  1. Voilà le code complet :
    <?php
    session_start(); 
      require('fpdf.php');
     $pdf=new FPDF('P','cm','A4');
    
    //Titres des colonnes
    $header=$entete;
    $pdf->SetFont('Arial','B',10);
    $pdf->AddPage();
    $pdf->SetFillColor(96,96,96);
    $pdf->SetTextColor(192,192,192);
    $pdf->Cell(6,0.9,'Etat de Détention DYnamique',0);
    $pdf->Cell(7,0.9,$unite,0);
    
    $ss = array();
    	foreach($segt as $s)
    $ss[] = "$s";
    $segt = $ss; 
    $segtSelect = implode(',',$segt);
    $user="";
     $password="";
     $database="eddypart";
    $conn=odbc_connect($database,$user,$password,"SQL_CUR_USE_IF_NEEDED");
    $sqlDateData="select * from eddypart where agcepo='$unite' and segt IN ($segtSelect)";
    $resultat=odbc_exec($conn, $sqlDateData);
     
    $pdf->SetXY(3,3);
     
        $pdf->cell(1.5,1,$header[0],1,0,'C',1);
        $pdf->cell(1,1,$header[1],1,0,'C',1);
        $pdf->cell(2.6,1,$header[2],1,0,'C',1);
        $pdf->cell(2,1,$header[3],1,0,'C',1);
        $pdf->cell(1,1,$header[4],1,0,'C',1);
        $pdf->cell(1.7,1,$header[5],1,0,'C',1);
        if (isset($entete[6])) $pdf->cell(1.3,1,$header[6],1,0,'C',1);
        if (isset($entete[7])) $pdf->cell(1.3,1,$header[7],1,0,'C',1);
        if (isset($entete[8])) $pdf->cell(1.7,1,$header[8],1,0,'C',1);
        
    $pdf->SetFillColor(0xdd,0xdd,0xdd);
    $pdf->SetTextColor(0,0,0);
    $pdf->SetFont('Arial','',8);
    $pdf->SetXY(3,$pdf->GetY()+1);
    $fond=0;
    while($row=odbc_fetch_array($resultat))
      {
       $pdf->cell(1.5,0.7,$row['agcepo'],1,0,'C',$fond);
       $pdf->cell(1,0.7,$row['segt'],1,0,'C',$fond);
       $pdf->cell(2.6,0.7,$row['Nom_Usuel'],1,0,'L',$fond);
       $pdf->cell(2,0.7,$row['Prénom'],1,0,'L',$fond);
       $pdf->cell(1,0.7,$row['Age'],1,0,'C',$fond);
       $pdf->cell(1.7,0.7,$row['teldom'],1,0,'L',$fond);
       if (isset($entete[6])) $pdf->cell(1.3,0.7,$row['PNB net année A-1'],1,0,'L',$fond);
       if (isset($entete[7])) $pdf->cell(1.3,0.7,$row['PNB net année A-2'],1,0,'L',$fond);
       if (isset($entete[8])) $pdf->cell(1.3,0.7,$row['convention'],1,0,'L',$fond);
    $pdf->SetXY(3,$pdf->GetY()+0.7);
       
       $fond=!$fond;
      }
      
    $pdf->output('fichier.pdf');
    ?>
    1. normalement il y a un autre paramètre à ajouter à la fonction output();

      essai ça :

      $pdf->output("fichier.pdf", "I");

      1. Merci,
        Mais j'ai hélàs toujours le même message d'erreur d'Acrobat reader "une erreur est survenue lors de l'ouverture de ce document. Fichier introuvable".
        1. Contributeur
          vérifie que le fichier PDF est bien un fichier PDF en l'ouvrant avec un éditeur hexa
          1. C'est fait, mais quand je passe cette instruction $pdf->output('fichier.pdf');
            le fichier est bien créé et bien lisible. C'est lorsque je ne mets rien que Acrobat reader ne veut pas l'ouvrir. Je précise que ça marche sur une autre machine, bizarre.
            1. il faut s'assurer que tu n'envoies aucun caractère au navigateur même pas un espace !! par conséquent pas d' " echo " ni de " print " et en plus assure toi que la balise <?php est tout à fait au début de ta page (pas de saut de ligne ni d'espace !!) .
              1. Merci pour les réponses, mais j'ai dû m'absenter quelques temps.
                Le code est au dessus.