$longueur_max_matiere = 0; $chaine_longueur_max_matiere = ""; for ($i = 2; $i <= count($ligne1_csv); $i++) { // Texte à mettre à la verticale: $texte = $ligne1_csv[$i]; $longueur_courante = $pdf->GetStringWidth($texte); if ($longueur_courante > $longueur_max_matiere) { $longueur_max_matiere = $longueur_courante; $chaine_longueur_max_matiere = $texte; } } $taille_police_matiere = ajuste_FontSize(" " . $chaine_longueur_max_matiere . " ", $h_ligne_titre_tableau, 12, 'B', 3); //==================================================== //$texte_titre=$current_group['profs']['proflist_string']." - ".$current_group['description']." en ".$current_group['classlist_string']; $texte_titre = $chaine_titre; $pdf->SetXY($x0, $y0); $texte = $texte_titre; $largeur_dispo = $largeur_page - $marge_gauche - $marge_droite; $hauteur_caractere = 12; $h_ligne = $h_ligne_titre_page; $graisse = 'B'; $alignement = 'C'; $bordure = ''; cell_ajustee_une_ligne($texte, $pdf->GetX(), $pdf->GetY(), $largeur_dispo, $h_ligne, $hauteur_caractere, $fonte, $graisse, $alignement, $bordure); $y2 = $y0 + $h_ligne_titre_page; //=========================== // Ligne d'entête du tableau //$pdf->SetXY($x0,$y0); $pdf->SetXY($x0, $y2); $largeur_dispo = $largeur_col_nom_ele; $texte = $ligne1_csv[1];
$classe_id = $id_classe_selection; // quand on change d'élève on vide les variables suivantes $categorie_passe = ''; $total_moyenne_classe_en_calcul = 0; $total_moyenne_min_en_calcul = 0; $total_moyenne_max_en_calcul = 0; $total_coef_en_calcul = 0; //boucle pour chaque période d'un élève while (!empty($periode_classe[$id_classe_selection][$cpt_info_periode])) { $pdf->AddPage(); //ajout d'une page au document $pdf->SetFont('DejaVu'); //================================ // On insère le footer dès que la page est créée: //Positionnement à 1 cm du bas et 0,5cm + 0,5cm du coté gauche $pdf->SetXY(5, -10); //Police DejaVu Gras 6 $pdf->SetFont('DejaVu', 'B', 8); // $fomule = 'Bulletin à conserver précieusement. Aucun duplicata ne sera délivré. - GEPI : solution libre de gestion et de suivi des résultats scolaires.' $pdf->Cell(0, 4.5, $bull_formule_bas, 0, 0, 'C'); //================================ // ==================== DEBUT ENTETE BULLETIN ==================== //Affiche le filigrame //if($affiche_filigrame[$classe_id]==='1'){ if ($tab_modele_pdf["affiche_filigrame"][$classe_id] === '1') { $pdf->SetFont('DejaVu', 'B', 50); $pdf->SetTextColor(255, 192, 203); //$pdf->TextWithRotation(40,190,$texte_filigrame[$classe_id],45); $pdf->TextWithRotation(40, 190, $tab_modele_pdf["texte_filigrame"][$classe_id], 45); $pdf->SetTextColor(0, 0, 0); }
n.login=e.login AND net.login=n.login AND net.type_brevet='$type_brevet' ORDER BY e.login;"; $res1=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res1)>0) { // Boucle sur la liste des élèves while($lig1=mysqli_fetch_object($res1)) { $pdf->AddPage('L'); //ajout d'une page au document //================================================ // ENTETE DE PAGE //$pdf->SetFont('DejaVu'); $pdf->SetFont('DejaVu','',$fs_titre); $pdf->SetXY($marge,$marge); $texte="NOMS et PRENOMS : ".mb_strtoupper($lig1->nom)." ".ucfirst(mb_strtolower($lig1->prenom)); $pdf->Cell($pdf->GetStringWidth($texte),$pdf->FontSize*$sc_interligne, $texte,0,0,'L'); $texte1="FICHE SCOLAIRE BREVET - "; $l1=$pdf->GetStringWidth($texte1); $texte3=" SESSION : ".$fb_session; $l3=$pdf->GetStringWidth($texte3); $pdf->SetFont('DejaVu','B',$fs_titre); $texte2="SERIE ".$tab_type_brevet[$type_brevet]; $l2=$pdf->GetStringWidth($texte2); $x=$pdf->GetX()+($l_page-$pdf->GetX()-($l1+$l2+$l3))/2; $pdf->SetFont('DejaVu','',$fs_titre);
$pdf->SetAuthor($gepiSchoolName); $pdf->SetKeywords(''); $pdf->SetSubject('Mes_moyennes'); $pdf->SetTitle('Mes_moyennes'); $pdf->SetDisplayMode('fullwidth', 'single'); $pdf->SetCompression(TRUE); $pdf->SetAutoPageBreak(TRUE, 5); $pdf->AddPage(); $fonte='DejaVu'; $pdf->SetFont($fonte,'B',8); $texte_titre=$current_group['profs']['proflist_string']." - ".$current_group['description']." en ".$current_group['classlist_string']; $pdf->SetXY($x0,$y0); $texte=$texte_titre; $largeur_dispo=$largeur_page-$marge_gauche-$marge_droite; $hauteur_caractere=12; $h_ligne=$h_ligne_titre_tableau; $graisse='B'; $alignement='C'; $bordure=''; cell_ajustee_une_ligne(($texte),$pdf->GetX(),$pdf->GetY(),$largeur_dispo,$h_ligne,$hauteur_caractere,$fonte,$graisse,$alignement,$bordure); $y2=$y0+$h_ligne_titre_tableau; //=========================== // Ligne d'entête du tableau //$pdf->SetXY($x0,$y0);
if ($mode_bulletin == "html") { $motif = "Duree_totale"; //decompte_debug($motif,"$motif après"); decompte_debug($motif, "{$motif}"); flush(); } //============================== if (!isset($mode_bulletin) || $mode_bulletin != "pdf") { echo "<div id='remarques_bas_de_page' style='display:none;'>\n<p><br /></p>\n<p>A REVOIR:</p>\n<ul>\n<li>Les bulletins HTML utilisent les infos display_rang, display_coef,... de la table 'classes'.<br />\nLes bulletins PDF utilisent plutôt les infos de la table 'modele_bulletin' il me semble.<br />\nIl faudrait peut-être revoir le dispositif pour adopter la même stratégie.<br />\nOn a aussi ajouté des champs dans la table 'classes' pour les relevés de notes,... faut-il envisager une autre structure?</li>\n</ul>\n</div>\n"; require "../lib/footer.inc.php"; } elseif (isset($mode_bulletin) && $mode_bulletin == "pdf") { if ($compteur_bulletins == 0) { $pdf->AddPage(); //ajout d'une page au document $pdf->SetFont('DejaVu'); $pdf->SetXY(20, 20); $pdf->SetFontSize(14); $pdf->Cell(90, 7, "Anomalie", 0, 2, ''); $pdf->SetXY(20, 40); $pdf->SetFontSize(10); $pdf->Cell(150, 7, "Aucun bulletin ne semble avoir été édité.", 0, 2, ''); $pdf->SetXY(20, 45); $pdf->Cell(150, 7, "C'est un problème qui peut apparaître si vous avez demandé à afficher les catégories de matières", 0, 2, ''); $pdf->SetXY(20, 50); $pdf->Cell(150, 7, "alors que les catégories sont mal paramétrées.", 0, 2, ''); $pdf->SetXY(20, 60); $pdf->Cell(150, 7, "Effectuez un Nettoyage des tables :", 0, 2, ''); $pdf->SetXY(20, 65); $pdf->Cell(150, 7, " Gestion générale/Nettoyage des tables/Vérifier les catégories de matières", 0, 2, ''); $pdf->SetXY(20, 75); $pdf->Cell(150, 7, "Et contrôlez par ailleurs l'ordre des catégories dans ", 0, 2, '');
n.login=e.login AND net.login=n.login AND net.type_brevet='$type_brevet' ORDER BY e.login;"; $res1=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res1)>0) { // Boucle sur la liste des élèves while($lig1=mysqli_fetch_object($res1)) { $pdf->AddPage(); //ajout d'une page au document //================================================ // ENTETE DE PAGE //$pdf->SetFont('DejaVu'); $pdf->SetFont('DejaVu','B',$fs_txt); $pdf->SetXY($marge,$marge); //$pdf->SetFontSize($fs_txt); //$pdf->Cell($larg_acad,fs_pt2mm($pdf->FontSize)*$sc_interligne, "ACADÉMIE DE ".strtoupper($fb_academie),0,1,''); $pdf->Cell($larg_acad,fs_pt2mm($pdf->FontSize)*$sc_interligne, "ACADÉMIE DE ".casse_mot($fb_academie),0,1,''); //$pdf->SetXY($marge,15); $pdf->SetXY($marge,$pdf->GetY()+$pdf->FontSize*$r_interligne); //$pdf->Cell($larg_acad,fs_pt2mm($pdf->FontSize)*$sc_interligne, "Département: $fb_departement ".$pdf->GetY(),0,2,''); $pdf->Cell($larg_acad,$pdf->FontSize*$sc_interligne, "Département: $fb_departement",0,2,''); // Cadre avec alignement à droite $pdf->SetXY(210-$marge-$larg_session,$marge); $pdf->Cell($larg_session,$pdf->FontSize*$sc_interligne, "Session: $fb_session",'',1,'R'); // LRBT: Left Right Bottom Top
n.login=e.login AND net.login=n.login AND net.type_brevet='$type_brevet' ORDER BY e.login;"; $res1=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res1)>0) { // Boucle sur la liste des élèves while($lig1=mysqli_fetch_object($res1)) { $pdf->AddPage('L'); //ajout d'une page au document //================================================ // ENTETE DE PAGE //$pdf->SetFont('DejaVu'); $pdf->SetFont('DejaVu','B',$fs_txt); $pdf->SetXY($marge,$marge); //$pdf->SetFontSize($fs_txt); //$pdf->Cell($larg_acad,fs_pt2mm($pdf->FontSize)*$sc_interligne, "ACADÉMIE DE ".strtoupper($fb_academie),0,0,'L'); //$texte="ACADÉMIE DE ".strtoupper($fb_academie); $texte="ACADÉMIE DE ".casse_mot($fb_academie); $pdf->Cell($pdf->GetStringWidth($texte),$pdf->FontSize*$sc_interligne, $texte,$bord_debug,0,'L'); $x_tmp=$pdf->GetX(); //$l_tmp=$pdf->GetStringWidth("FICHE SCOLAIRE DU BREVET - Série ".$tab_type_brevet[$type_brevet]); $pdf->Cell($l_page-2*$marge-$x_tmp,$pdf->FontSize*$sc_interligne, "FICHE SCOLAIRE DU BREVET - Série ".$tab_type_brevet[$type_brevet] ,$bord_debug,1,'C'); $pdf->SetFont('DejaVu','',$fs_txt); //$pdf->SetXY($marge,$pdf->GetY()+$pdf->FontSize*$r_interligne); $pdf->SetXY($marge,$pdf->GetY()); //$pdf->Cell($pdf->GetStringWidth("Département : "),$pdf->FontSize*$sc_interligne, "Département : $fb_departement",0,0,'L');
n.login=e.login AND net.login=n.login AND net.type_brevet='$type_brevet' ORDER BY e.login;"; $res1=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res1)>0) { // Boucle sur la liste des élèves while($lig1=mysqli_fetch_object($res1)) { $pdf->AddPage(); //ajout d'une page au document //================================================ // ENTETE DE PAGE // Cadre avec alignement à droite $pdf->SetFont('DejaVu','B',$fs_txt); $pdf->SetXY(210-$marge-$larg_session,$marge); $pdf->Cell($larg_session,$pdf->FontSize*$sc_interligne, "SESSION $fb_session",'',1,'R'); $pdf->SetFont('DejaVu','B',$fs_titre); $pdf->SetXY($marge,$y_fsb); $pdf->Cell(210-2*$marge,10, "FICHE SCOLAIRE DU BREVET",$bord_debug,1,'C'); //$pdf->SetXY($marge,$pdf->GetY()+$pdf->FontSize*$sc_interligne); //$pdf->SetXY($marge,$pdf->GetY()); $pdf->Cell(210-2*$marge,10, "Série ".$tab_type_brevet[$type_brevet],$bord_debug,1,'C'); //$pdf->SetFont('DejaVu'); $pdf->SetFont('DejaVu','B',$fs_txt); $pdf->SetXY($marge,$pdf->GetY()); //$pdf->SetFontSize($fs_txt); $pdf->Cell($pdf->GetStringWidth("ACADÉMIE : "),fs_pt2mm($pdf->FontSize)*$sc_interligne, "ACADÉMIE : ",0,0,'L'); $pdf->SetFont('DejaVu','',$fs_txt);