Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > PDF > FPDF
FPDF Forum d'entraide pour la bibliothèque FPDF permettant de générer des documents PDF en PHP. Avant de poster -> tutoriels FPDF
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/10/2007, 10h41   #1
Invité de passage
 
Inscription : mars 2004
Messages : 3
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 3
Points : 0
Points : 0
Par défaut [FPDF] Fonction WriteTable() dans PDF

Bonjour,

J'ai récupéré une fonction sur le site www.fpdf.org qui pemet de générer un tableau HTML dans un PDF

Le problème est que si j'ai 2 colonnes, la 2ième colonne déborde sur la page du PDF (marge de droite) et mes colonnes ne sont pas de dimensions égales.

Par contre si j'ai plus de 2 colonnes, cela fonctionne à merveille.

Pouvez vous me dire où se situe l'erreur . N'hésitez pas à commenter mon code pour son bon fonctionnement.

Merci

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
// Fonctions pour les tableaux
 
function WriteTable($data,$w)
{
 
 
    $this->SetLineWidth(.3);
    $this->SetFillColor(255,255,255);
    $this->SetTextColor(0);
    $this->SetFont('');   
 
    foreach($data as $row)
    {
        //print_r ($row);
 
        $nb=0;
        for($i=0;$i<count($row);$i++)
            $nb=max($nb,$this->NbLines($w[$i],trim($row[$i])));
        $h=5*$nb;
        $this->CheckPageBreak($h);
 
        $nb_cols = count($row);
 
        for($i=0;$i<count($row);$i++)
        {       
 
           $x=$this->GetX();
           $y=$this->GetY();
 
           // Nombre de colonnes
 
           if ($nb_cols == 2)
 
           {
 
              $this->Rect($x,$y,$w[$i],$h); 
              $this->MultiCell($w[$i],5,trim($row[$i]),0,'J');
              $this->SetXY($x+$w[$i],$y);      
 
            }  
 
            elseif ($nb_cols > 2)
 
            {  
 
              $this->Rect($x,$y,$w[$i],$h);
              $this->MultiCell($w[$i],5,trim($row[$i]),0,'J');
              $this->SetXY($x+$w[$i],$y);
 
            }    
        }
 
        $this->Ln($h);
 
    }
}
brida est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/10/2007, 21h10   #2
Membre expérimenté
 
Avatar de jc_cornic
 
Inscription : octobre 2006
Messages : 624
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : octobre 2006
Messages : 624
Points : 588
Points : 588
Envoyer un message via MSN à jc_cornic
Bonsoir, tu dis que tu as un problème quand nbCol==2 mais dans ton code, tu fait la meme chose quand nbCol==2 et quand nbCol>2

Citation:
if ($nb_cols == 2)

{

$this->Rect($x,$y,$w[$i],$h);
$this->MultiCell($w[$i],5,trim($row[$i]),0,'J');
$this->SetXY($x+$w[$i],$y);

}

elseif ($nb_cols > 2)

{

$this->Rect($x,$y,$w[$i],$h);
$this->MultiCell($w[$i],5,trim($row[$i]),0,'J');
$this->SetXY($x+$w[$i],$y);

}
Est-ce normal ??

Sinon, pourrais-tu envoyer plus de code (comme par exemple l'appel de ta fonction) ainsi qu'un fichier pdf résultat pour voir ou est le bug?

++
JC
__________________
VELOMASTER, idée cadeau ? un jeu de plateau

Hummmmm, des donuts !!!!

Merci de penser à , et et aussi
jc_cornic est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h50.


 
 
 
 
Partenaires

Hébergement Web