rendre la carte personalisable par societeuser // Fond blanc $pdf->SetFillColor(255, 255, 255); $pdf->Rect(0, 0, 85.6, 54, 'F'); // LOGO SOCIÉTÉ en haut à gauche if (file_exists($logoSocietePath)) { $pdf->Image($logoSocietePath, 3, 3, 15); } $logoGarantPath = (!is_null($assure["logo_garant"])) ? $_SESSION['dossierSociete'] . '/Tarifs/Img/garants/'.$assure["logo_garant"] : $_SESSION['dossierSociete'] . '/Tarifs/Img/garants/logo_garant.png'; if (!is_file($logoGarantPath)) { $logoGarantPath = $_SESSION['dossierSociete'] . '/Tarifs/Img/garants/logo_garant.png'; } // LOGO GARANT en haut à droite if (is_file($logoGarantPath)) { $pdf->Image($logoGarantPath, 67, 1, 15); } // EN-TÊTE : "CARTE D'ASSURANCE" $pdf->SetFont('Arial', 'B', 8); $pdf->SetTextColor(33, 46, 83); $pdf->SetXY(0, 5); $pdf->Cell(85.6, 4, mb_convert_encoding(_('CARTE SANTÉ'), "ISO-8859-1", "UTF-8"), 0, 1, 'C'); $pdf->SetTextColor(0); // Informations de contact de la société $pdf->SetFont('Arial', '', 5); $pdf->SetXY(0, 9); $pdf->MultiCell(85.6, 3, mb_convert_encoding(_('Siège social').': '. $assure['adresseGeoSociete'].' ', "ISO-8859-1", "UTF-8"), 0, 'C'); $pdf->SetXY(0, 12); $pdf->Cell(85.6, 3, mb_convert_encoding(_('Tél.').': '.$assure['telephoneSociete'], "ISO-8859-1", "UTF-8"), 0, 1, 'C'); // Ligne séparatrice $pdf->Line(5, 15, 80, 15); // Section "Bénéficiaire" $pdf->SetFont('Arial', 'BUI', 7); //$pdf->SetXY(5, 17); $pdf->SetXY(13, 16); $pdf->SetTextColor(33, 46, 83); $pdf->Cell(30, 4, mb_convert_encoding(_('Bénéficiaire'), "ISO-8859-1", "UTF-8"), 0, 1); $pdf->SetTextColor(0); // Matricule - en gras et rouge $pdf->SetFont('Arial', '', 6); // $pdf->SetXY(5, 21); $pdf->SetXY(5, 19); $pdf->Cell($colonneAlignement - 5, 3, mb_convert_encoding(_('Matricule'), "ISO-8859-1", "UTF-8"), 0, 0); $pdf->SetFont('Arial', 'B', 6); $pdf->SetTextColor(255, 0, 0); $pdf->Cell(25, 3, ' : '.$assure['numeroBeneficiaire'], 0, 1); $pdf->SetTextColor(0); // Nom $pdf->SetFont('Arial', '', 6); $pdf->SetXY(5, 22); $pdf->Cell($colonneAlignement - 5, 3, mb_convert_encoding(_('Nom'), "ISO-8859-1", "UTF-8"), 0, 0); $pdf->SetFont('Arial', 'B', 6); $pdf->Cell(30, 3, ' : '.substr(mb_convert_encoding($assure['nomBeneficiaire'], "ISO-8859-1", "UTF-8"), 0, 20), 0, 1); // Prénoms $pdf->SetFont('Arial', '', 6); $pdf->SetXY(5, 25); $pdf->Cell($colonneAlignement - 5, 3, mb_convert_encoding(_('Prénoms'), "ISO-8859-1", "UTF-8"), 0, 0); $pdf->SetFont('Arial', 'B', 6); $pdf->Cell(25, 3, ' : '.substr(mb_convert_encoding($assure['prenomsBeneficiaire'], "ISO-8859-1", "UTF-8"), 0, 20), 0, 1); // Né(e) le - si disponible if (!empty($assure['dateNaissance'])) { $pdf->SetFont('Arial', '', 6); $pdf->SetXY(5, 28); $pdf->Cell($colonneAlignement - 5, 3, mb_convert_encoding(_('Né(e) le'), "ISO-8859-1", "UTF-8"), 0, 0); $pdf->SetFont('Arial', 'B', 6); $pdf->Cell(25, 3, ' : '.dateLang($assure['dateNaissance'], $_SESSION['lang']), 0, 1); } $pdf->SetFont('Arial', '', 6); $pdf->SetXY(5, 31); $pdf->Cell($colonneAlignement - 5, 3, mb_convert_encoding(_('Statut'), "ISO-8859-1", "UTF-8"), 0, 0); $pdf->SetFont('Arial', 'B', 6); $pdf->Cell(28, 3, ' : '.substr(mb_convert_encoding($assure['lienparente'], "ISO-8859-1", "UTF-8"), 0, 20), 0, 1); /* kane 17/02/2026 à 06h => recherche meilleure place QR code*/ // ============ AJOUT DU QR CODE ============ if (file_exists($qrCodePath)) { $qrX = 5; // Position X (à droite) $qrY = 34; // Position Y (en bas) $qrSize = 18; // Taille du QR code (10mm) $pdf->Image($qrCodePath, $qrX, $qrY, $qrSize, $qrSize); $this->carte->enregistrerqrcodeath($assure['idBeneficiaire'], $qrFile); } // ========================================== // Section "Assuré Principal" $pdf->SetFont('Arial', 'BUI', 7); $pdf->SetXY(28, 37); $pdf->SetTextColor(33, 46, 83); $pdf->Cell(30, 4, mb_convert_encoding(_('Assuré Principal'), "ISO-8859-1", "UTF-8"), 0, 1); $pdf->SetTextColor(0); // Numéro assuré - en gras et rouge $pdf->SetFont('Arial', '', 6); $pdf->SetXY(25, 41); $pdf->Cell(10, 3, mb_convert_encoding(_('Matricule'), "ISO-8859-1", "UTF-8"), 0, 0); $pdf->SetFont('Arial', 'B', 6); $pdf->SetTextColor(255, 0, 0); $pdf->Cell(0, 3, ' : '.$assure['numeroAdherent'], 0, 1); $pdf->SetTextColor(0); // Nom et Prénoms assuré $pdf->SetFont('Arial', '', 6); $pdf->SetXY(25, 44); $pdf->SetFont('Arial', 'B', 6); $pdf->Cell(0, 3, substr(mb_convert_encoding($assure['adherent'], "ISO-8859-1", "UTF-8"), 0, 15), 0, 1); // Photo de l'assuré (positionnée à droite) - taille réduite $photo=$assure['lienPhoto']; $faceRegistered=$assure['faceRegistered']; $photoPath = ""; $photoX = 57; $photoY = 17; // Vérifier si l'URL est accessible $headers = null; $temp = ""; if($photo>" " && $faceRegistered=="1") { $photoPath = $_SESSION['dossierPhoto_C'].$_SESSION['dossierSociete'].'/Photos/'.$assure['lienPhoto']; $headers = @get_headers($photoPath); } if ($headers) { $data = decryptImage($photoPath); $data = base64_decode($data); $temp = $_SESSION['lienPhotoFace'].'tmp_'.uniqid().'.jpg'; file_put_contents($temp, $data); $pdf->Image($temp, $photoX, $photoY, 25, 25); // Réduction de 30x30 à 25x25 unlink($temp); } else { // Cadre pour la photo si non disponible $pdf->Rect($photoX, $photoY, 25, 25); $pdf->SetFont('Arial', '', 4); $pdf->SetXY($photoX, $photoY + 12); $pdf->Cell(25, 3, mb_convert_encoding(_('Photo non disponible'), "ISO-8859-1", "UTF-8"), 0, 1, 'C'); } /* var_dump( array( "faceRegistered" => $faceRegistered, "photoPath" => $photoPath, "temp" => $temp, ) ); echo "

"; */ // Nom du souscripteur en bas $pdf->SetFont('Arial', 'B', 6); $pdf->SetXY(0, 49); $pdf->Cell(85.6, 3, mb_convert_encoding($assure['souscripteur'], "ISO-8859-1", "UTF-8"), 0, 1, 'C'); ?>