Php et pdf

Fermé
tapi13 Messages postés 3 Date d'inscription jeudi 16 août 2007 Statut Membre Dernière intervention 14 septembre 2010 - 26 août 2010 à 11:04
tapi13 Messages postés 3 Date d'inscription jeudi 16 août 2007 Statut Membre Dernière intervention 14 septembre 2010 - 14 sept. 2010 à 16:24
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

A voir également:

9 réponses

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
dsy73 Messages postés 9252 Date d'inscription dimanche 22 août 2010 Statut Contributeur Dernière intervention 23 octobre 2020 2 482
26 août 2010 à 11:15
Je crois que tu devrais mettre le code complet
0
watou Messages postés 199 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 19 avril 2013 28
1 sept. 2010 à 16:48
normalement il y a un autre paramètre à ajouter à la fonction output();

essai ça :

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

0
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".
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dsy73 Messages postés 9252 Date d'inscription dimanche 22 août 2010 Statut Contributeur Dernière intervention 23 octobre 2020 2 482
2 sept. 2010 à 12:01
vérifie que le fichier PDF est bien un fichier PDF en l'ouvrant avec un éditeur hexa
0
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.
0
watou Messages postés 199 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 19 avril 2013 28
3 sept. 2010 à 15:48
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 !!) .
0
Floteldevelopement Messages postés 1 Date d'inscription vendredi 3 septembre 2010 Statut Membre Dernière intervention 3 septembre 2010
3 sept. 2010 à 15:54
Mais c'est quoi ton code aussi
0
tapi13 Messages postés 3 Date d'inscription jeudi 16 août 2007 Statut Membre Dernière intervention 14 septembre 2010
14 sept. 2010 à 16:24
Merci pour les réponses, mais j'ai dû m'absenter quelques temps.
Le code est au dessus.
0