//$x2=$pdf->GetX(); $y2=$pdf->GetY(); $pdf->SetFont('DejaVu','B',12); $texte="Salle $salle[$i]"; $larg_tmp=$sc_interligne*($pdf->GetStringWidth($texte)); $pdf->SetXY($largeur_page-$larg_tmp-$MargeDroite,$y1+($y2-$y1)/4); $pdf->Cell($larg_tmp,$pdf->FontSize*$sc_interligne,$texte,'LRBT',1,'C'); */ $x1=10; $y1=30; $y2=41; $pdf->SetXY($x1,$y2); /* $x=$pdf->GetX(); $y=$pdf->GetY(); $pdf->Cell($largeur_page-$MargeDroite-$MargeGauche,10,'','LRBT',0,'L'); $pdf->SetXY($x,$y); */ $pdf->SetFont('DejaVu','B',10); $tab_nom=array(); $tab_n_anonymat=array(); $cpt=0; $larg_max=0; while($lig=mysqli_fetch_object($res)) { $tab_nom[$cpt]=casse_mot($lig->nom)." ".casse_mot($lig->prenom,'majf2');
$f=fopen("/tmp/debug_avis_pdf.txt","a+"); fwrite($f, "\$y_tmp+\$h_cell=$y_tmp+$h_cell=".(strtr($y_tmp,",",".")+strtr($h_cell,",","."))."\n"); fwrite($f, "297-\$MargeBas-\$MargeHaut-5=".(297-$MargeBas-$MargeHaut-5)."\n"); fclose($f); */ // Haut du tableau pour la deuxieme, troisieme,... page de la classe // Pour la deuxieme, troisieme,... page d'une classe, on n'a pas d'entete: $y_top_tableau = $MargeHaut; $pdf->AddPage("P"); $pdf->Setxy($X_tableau, $y_top_tableau); $compteur_eleves_page = 0; } // Ordonnee courante pour l'eleve n°$compteur_eleves_page de la page: $y_tmp = $y_top_tableau + $compteur_eleves_page * $h_cell; // Colonne Nom_Prenom $pdf->SetXY($X_nom_prenom, $y_tmp); $pdf->SetFont('DejaVu', 'B', 9); $texte = my_strtoupper($donnees_eleves[$nb_eleves_i]['nom']) . " " . casse_mot($donnees_eleves[$nb_eleves_i]['prenom'], 'majf2'); $taille_max_police = 9; $taille_min_police = ceil($taille_max_police / 3); $largeur_dispo = $l_cell_nom; //$info_debug=$y_tmp; $info_debug = ""; //cell_ajustee("<b>".$texte."</b>".$info_debug,$pdf->GetX(),$y_tmp,$largeur_dispo,$h_cell,$taille_max_police,$taille_min_police,'LRBT'); cell_ajustee("<b>" . $texte . "</b>" . $info_debug, $X_nom_prenom, $y_tmp, $largeur_dispo, $h_cell, $taille_max_police, $taille_min_police, 'LRBT'); //================================ // Colonne Avis du conseil de classe: // On reforce l'ordonnee pour la colonne Avis du conseil de classe $y_tmp = $y_top_tableau + $compteur_eleves_page * $h_cell; $pdf->Setxy($X_avis_conseil, $y_tmp); if ($nb_periodes == 1) {
$id_classe = $id_liste_classes[$i_pdf]; } /* echo "\$i_pdf=$i_pdf<br /> \$donnees_eleves <pre>"; print_r($donnees_eleves); echo "</pre>"; */ //echo "count(\$donnees_eleves)=".count($donnees_eleves)."<br />"; if (count($donnees_eleves) == 0) { $pdf->AddPage("P"); //ajout d'une page au document $pdf->SetDrawColor(0, 0, 0); $pdf->SetFont('DejaVu'); $pdf->SetXY(20, 20); $pdf->SetFontSize(14); $pdf->Cell(90, 7, "ERREUR", 0, 2, ''); $pdf->SetXY(20, 40); $pdf->SetFontSize(10); $pdf->Cell(150, 7, "Aucun élève n'est affecté dans cette classe ou enseignement.", 0, 2, ''); $nom_releve = date("Ymd_Hi"); $nom_releve = 'Liste_' . $nom_releve . '.pdf'; //header('Content-Type: application/pdf'); send_file_download_headers('application/pdf', $nom_releve); $pdf->Output($nom_releve, 'I'); die; } // CALCUL de VARIABLES //Calcul de la hauteur de la ligne dans le cas de l'option tout sur une ligne if ($une_seule_page == 1) {
while($lig=mysqli_fetch_object($res)) { $tab_nom[$cpt]=casse_mot($lig->nom)." ".casse_mot($lig->prenom,'majf2'); $tab_n_anonymat[$cpt]=$lig->n_anonymat; $tab_naissance[$cpt]=formate_date($lig->naissance); $tab_classe[$cpt]=$lig->classe; $tab_salle[$cpt]=isset($salle[$lig->id]) ? $salle[$lig->id] : "???"; $larg_tmp=$pdf->GetStringWidth($tab_nom[$cpt]); if($larg_tmp>$larg_max) {$larg_max=$larg_tmp;} $cpt++; } $larg_col=array(); $pdf->SetXY($x1,$y2); $larg_col[$cpt_col]=0; $texte='Num.'; $larg_col[$cpt_col]=$pdf->GetStringWidth($texte)+4; $pdf->Cell($larg_col[$cpt_col],10,$texte,'LRBT',0,'C'); $cpt_col++; $larg_col[$cpt_col]=0; if($avec_num_anonymat=='y') { $texte='Numéro copie'; $larg_col[$cpt_col]=$pdf->GetStringWidth($texte)+4; $pdf->Cell($larg_col[$cpt_col],10,$texte,'LRBT',0,'C'); } $cpt_col++;
$Y_cadre_note = '75'; $Y_cadre_eleve = '5'; $Y_entete_etab = '5'; } if ($nb_releve_par_page == '2' and $passage_i == '1') { $Y_cadre_note = '32'; $Y_cadre_eleve = '5'; $Y_entete_etab = '5'; } if ($nb_releve_par_page == '2' and $passage_i == '2') { $Y_cadre_note = $Y_cadre_note + 145; $Y_cadre_eleve = $Y_cadre_eleve + 145; $Y_entete_etab = $Y_entete_etab + 145; } //BLOC IDENTITE ELEVE $pdf->SetXY($X_cadre_eleve, $Y_cadre_eleve); $pdf->SetFont('DejaVu', 'B', 14); $pdf->Cell(90, 7, my_strtoupper($nom[$nb_eleves_i]) . " " . casse_mot($prenom[$nb_eleves_i], 'majf2'), 0, 2, ''); $pdf->SetFont('DejaVu', '', 10); //$pdf->Cell(90,5,'Né le '.affiche_date_naissance($naissance[$nb_eleves_i]).', demi-pensionnaire',0,2,''); if ($sexe[$nb_eleves_i] == "M") { $e_au_feminin = ""; } else { $e_au_feminin = "e"; } $pdf->Cell(90, 5, 'Né' . $e_au_feminin . ' le ' . affiche_date_naissance($naissance[$nb_eleves_i]) . ', ' . $regime[$nb_eleves_i], 0, 2, ''); $pdf->Cell(90, 5, '', 0, 2, ''); if ($aff_classe_nom === '1' or $aff_classe_nom === '3') { $classe_aff = $pdf->WriteHTML('Classe de <B>' . unhtmlentities($classe[$nb_eleves_i]) . '<B>'); } if ($aff_classe_nom === '2') {
$pdf->AddPage("P"); $salle_courante=$salle[$i]; //Entête du PDF //$pdf->SetLineWidth(0.7); /* $pdf->SetFont('DejaVu','B',14); $pdf->Setxy(10,10); $pdf->Cell($largeur_page-$MargeDroite-$MargeGauche,20,getSettingValue('gepiSchoolName').' - Année scolaire '.getSettingValue('gepiYear'),'LRBT',1,'C'); $x1=$pdf->GetX(); $y1=$pdf->GetY(); */ $pdf->SetFont('DejaVu','',10); $pdf->SetXY($x0,$y0); // Paramètres pour cell_ajustee() $largeur_dispo=$larg_etq/2; $h_cell=$haut_etq/2; $hauteur_max_font=10; $hauteur_min_font=4; $bordure='R'; $v_align='C'; $align='L'; $cpt=0; while($lig=mysqli_fetch_object($res)) { $y=$y0+floor($cpt/2)*($haut_etq+$dy);
//$y1=30; $y1 = 25; //$y2=41; $y2 = 30; $Espace_dx = 5; $Espace_dy = 5; $largeur_tab = floor(($largeur_page - $MargeDroite - $MargeGauche - 1 * $Espace_dx) / 2); $h_cell = 8; $hauteur_par_eleve = (6 + count($tab_eval)) * $h_cell; $x2 = $x1 + $largeur_tab + $Espace_dx; $num_page = 0; $compteur = 0; $num_page++; $pdf->AddPage("P"); $pdf->EnteteCC(); $pdf->SetXY($x1, $y2); //echo "plop"; foreach ($tab_ele as $ele_login => $tmp_tab) { $total = 0; $total_sur = 0; // Nombre de vraies notes (pas absent, disp, ou -) $nb_note = 0; //if($pdf->GetY()+$h_cell+$hauteur_par_eleve>$hauteur_page-$MargeBas) { if ($pdf->GetY() + $h_cell + $hauteur_par_eleve + $Espace_dx > $hauteur_page - $MargeBas) { $num_page++; $pdf->AddPage("P"); $pdf->EnteteCC(); $pdf->SetXY($x1, $y2); } $y_reserve = $pdf->GetY(); if ($compteur % 2 == 0) {
$pdf->SetFont('DejaVu','B',12); $texte='Date : '; $pdf->Cell($largeur_tmp,$pdf->FontSize*$sc_interligne,$texte,'',0,'L'); $pdf->SetFont('DejaVu','',12); $texte=$date_epreuve; $pdf->Cell($pdf->GetStringWidth($texte),$pdf->FontSize*$sc_interligne,$texte,'',1,'L'); //$x2=$pdf->GetX(); $y2=$pdf->GetY(); $pdf->SetFont('DejaVu','B',12); //$texte="Salle $salle[$i]"; $texte=$current_group; $larg_tmp=$sc_interligne*($pdf->GetStringWidth($texte)); $pdf->SetXY($largeur_page-$larg_tmp-$MargeDroite,$y1+($y2-$y1)/4); $pdf->Cell($larg_tmp,$pdf->FontSize*$sc_interligne,$texte,'LRBT',1,'C'); $pdf->SetXY($x1,$y2); /* $x=$pdf->GetX(); $y=$pdf->GetY(); $pdf->Cell($largeur_page-$MargeDroite-$MargeGauche,10,'','LRBT',0,'L'); $pdf->SetXY($x,$y); */ $pdf->SetFont('DejaVu','B',10); $tab_nom=array(); $tab_n_anonymat=array(); $tab_note=array();