trifly | Bonjour à tous !
J'ai un tableau que j'affiche en PDF via la libraie FPDF que j'alimente via une requête SQL.
Ce que je cherche à faire c'est d'afficher celui-ci en 2 parties par pages, c'est-à-dire avoir 2 fois plus d'infos du tableau affiché par page.
J'essaie de détecter en vain la fin de la page pour replacer le curseur en haut de la page mais comme la création du tableau se fait simplement avec la fonction DrawTableau je ne vois pas ou placer la détection de fin de page...
Je ne sais pas si je me suis bien fais comprendre mais n'hésitez pas à me demander plus d'infos !
Je vous mets mon code pour être plus clair :
Code :
- <?php
- try {
- $bdd = new PDO('mysql:host=localhost;dbname=inventaire', 'inventaire', 'Inv4*');
- } catch(Exception $e) {
- die('Erreur : '.$e->getMessage());
- }
- $inventaire = $bdd->query("SELECT * FROM inventaire" )or die(print_r($bdd->errorInfo()));
- include("phpToPDF.php" );
- $PDF = new phpToPDF('P','mm','A4');
- $PDF->AddPage();
- $PDF->SetAutoPageBreak(true,5);
- $PDF->setXY(0,40);
- // Définition des propriétés du tableau.
- $proprietesTableau = array(
- 'TB_ALIGN' => 'C',
- // 'L_MARGIN' => 0,
- // 'T_MARGIN' => 100,
- 'BRD_COLOR' => array(0,92,177),
- 'BRD_SIZE' => '0.3',
- );
- // Définition des propriétés du header du tableau.
- $proprieteHeader = array(
- 'T_COLOR' => array(150,10,10),
- 'T_SIZE' => 8,
- 'T_FONT' => 'Arial',
- 'T_ALIGN' => 'C',
- 'V_ALIGN' => 'T',
- 'T_TYPE' => 'B',
- 'LN_SIZE' => 7,
- 'BG_COLOR_COL0' => array(170, 240, 230),
- 'BG_COLOR' => array(170, 240, 230),
- 'BRD_COLOR' => array(0,92,177),
- 'BRD_SIZE' => 0.2,
- 'BRD_TYPE' => '1',
- 'BRD_TYPE_NEW_PAGE' => '',
- );
- // Contenu du header du tableau.
- $contenuHeader = array(
- 30, 30, 30,
- "ÉCROU", "NOM", "CELLULE",
- );
- // Définition des propriétés du reste du contenu du tableau.
- $proprieteContenu = array(
- 'T_COLOR' => array(0,0,0),
- 'T_SIZE' => 10,
- 'T_FONT' => 'Arial',
- 'T_ALIGN' => 'C',
- 'V_ALIGN' => 'M',
- 'T_TYPE' => '',
- 'LN_SIZE' => 6,
- 'BG_COLOR_COL0' => array(245, 245, 150),
- 'BG_COLOR' => array(255,255,255),
- 'BRD_COLOR' => array(0,92,177),
- 'BRD_SIZE' => 0.1,
- 'BRD_TYPE' => '1',
- 'BRD_TYPE_NEW_PAGE' => '',
- );
- // Contenu du tableau.
- $contenuTableau = array();
- while ($tab = $inventaire->fetch()) {
- array_push($contenuTableau, $tab['ARTICLE'], $tab['STOCK'], $tab['PRIX']);
- }
- $inventaire->closeCursor();
- $PDF->drawTableau($PDF, $proprietesTableau, $proprieteHeader, $contenuHeader, $proprieteContenu, $contenuTableau);
- $PDF->Output();
- ?>
|
Quelqu'un aurait déjà été confronté à ce problème ?
Merci d'avance pour votre aide ! |