Bonjour,
Il y a quelques mois, j'avais utilisé cette librairie fpdf dans MkFramework, tout c'était toujours bien passé en local.
Mais un jour, j'ai voulu faire fonctionner mon application chez mon hébergeur, et je me suis rendu compte que je n'arrivais plus à générer des pdf en ligne.
Je charge ma librairie depuis public/index.php ainsi :
Et lorsque j'appelle la classe ainsi, (toujours en ligne) tout va bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 // *** debut de mes librairies *** include($tIni['path']['lib'].'/../fpdf/fpdf.php');
Cependant, quand je veux surcharger cette classe dans myClasses, en local tout va bien mais lorsque je suis en ligne, j'ai le message erreur survenue.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 public function _monfpdf() { _root::setConfigVar('site.mode','prod'); // desactive la barre Debug $iFiche_id =_root::getParam("fiche_id",null) ; $iMachine_id =_root::getParam("machine_id",null) ; $pdf = new FPDF(); $pdf->AddPage(); $pdf->SetFont('Arial','B',16); $pdf->Cell(40,10,'Hello World !'.'fiche : '.$iFiche_id.' machine : '.$iMachine_id); $pdf->Output(); }
Voici ma classe
Dans mon module de chargement je procède ainsi
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
57
58
59
60
61
62
63 <?php /* **************************************************************************** * cette classe est utilisée pour generer une liste de tableau en pdf * les donnees proviennent d'une base de donnees mysql * Toute les classes métier qui se trouve dans ce repertoire doit commencer par * my_ ******************************************************************************/ class my_MaPagePdf extends FPDF { var $titre ; function setTitreEnTete($titre) { $this->titre = $titre ; } // Pied de page function Footer() { // Positionnement à 1,5 cm du bas $this->SetY(-15); // Police Arial italique 8 $this->SetFont('Arial','I',8); // Numéro de page $this->Cell(0,10,utf8_decode($this->titre).' - Page '.$this->PageNo().'/{nb}',0,0,'R'); } // Tableau coloré function FancyTable($header, $tData) { // Couleurs, épaisseur du trait et police grasse $this->SetFillColor(255,0,0); $this->SetTextColor(255); $this->SetDrawColor(128,0,0); $this->SetLineWidth(.3); $this->SetFont('','B'); // En-tête $w = array(40, 65, 35, 35, 35); for($i=0;$i<count($header);$i++) $this->Cell($w[$i],7,$header[$i],1,0,'C',true); $this->Ln(); // Restauration des couleurs et de la police $this->SetFillColor(224,235,255); $this->SetTextColor(0); $this->SetFont(''); // Données $fill = false; foreach($tData as $oRow) { $this->Cell($w[0],6,$oRow[0],'LR',0,'L',$fill); $this->Cell($w[1],6,$oRow[1],'LR',0,'L',$fill); $this->Cell($w[2],6,$oRow[2],'LR',0,'C',$fill); $this->Cell($w[3],6,number_format($oRow[3],0,',',' '),'LR',0,'C',$fill); $this->Cell($w[2],6,$oRow[4],'LR',0,'R',$fill); $this->Ln(); $fill = !$fill;// changement de couleur } // Trait de terminaison $this->Cell(array_sum($w),0,'','T'); } }
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 public function _listeStockVoiture() { _root::setConfigVar('site.mode','prod'); // desactive la barre Debug $iFiche_id =_root::getParam("fiche_id",null) ; $iMachine_id =_root::getParam("machine_id",null) ; $pdf = new my_MaPagePdf('L','mm','A4') ; // cette classe se trouve dans myClasses $pdf->AddPage(); $pdf->SetFont('Arial','B',16); $pdf->Cell(40,10,'Hello World !'.'fiche : '.$iFiche_id.' machine : '.$iMachine_id); $pdf->Output(); }
Partager