format($numero); } $codigo = $_GET['codigo'] ?? null; if (!$codigo) { die("Código no proporcionado"); } $stmt = $pdo->prepare(" SELECT a.nombre AS alumno_nombre, c.nombre AS curso_nombre, c.tipo, c.horas_trabajadas, d.fecha_emision FROM diplomas d JOIN alumnos_cursos ac ON d.alumno_curso_id = ac.id JOIN alumnos a ON ac.alumno_id = a.id JOIN cursos c ON ac.curso_id = c.id WHERE d.codigo_unico = ? "); $stmt->execute([$codigo]); $diploma = $stmt->fetch(PDO::FETCH_ASSOC); if (!$diploma) { die("Diploma no encontrado"); } // Crear PDF $pdf = new Fpdi(); $pdf->AddPage(); $pdf->setSourceFile('fpdf/formatodiploma.pdf'); $template = $pdf->importPage(1); $pdf->useTemplate($template); // Configuración $pdf->SetFont('Helvetica', '', 16); $pdf->SetTextColor(33, 37, 41); // Nombre del alumno (centrado) $pdf->SetXY(0, 80); $pdf->SetFont('Helvetica', 'B', 22); $pdf->Cell(210, 10, utf8_decode($diploma['alumno_nombre']), 0, 1, 'C'); // Nombre del curso $pdf->SetFont('Helvetica', '', 16); $pdf->SetXY(0, 100); $pdf->Cell(210, 10, utf8_decode('Por haber acreditado el curso "' . $diploma['curso_nombre'] . '"'), 0, 1, 'C'); // Horas trabajadas (si aplica) if ($diploma['horas_trabajadas']) { $pdf->SetXY(0, 110); $pdf->Cell(210, 10, utf8_decode('con una duración de ' . $diploma['horas_trabajadas'] . ' horas.'), 0, 1, 'C'); } // Fecha formateada $fecha = new DateTime($diploma['fecha_emision']); $dia = $fecha->format('j'); $mes = $fecha->format('F'); $anio = $fecha->format('Y'); $diaLetras = numeroEnLetras($dia); $mesTraducido = strtr(strtolower($mes), [ 'january' => 'enero', 'february' => 'febrero', 'march' => 'marzo', 'april' => 'abril', 'may' => 'mayo', 'june' => 'junio', 'july' => 'julio', 'august' => 'agosto', 'september' => 'septiembre', 'october' => 'octubre', 'november' => 'noviembre', 'december' => 'diciembre' ]); $pdf->SetXY(0, 190); $pdf->SetFont('Helvetica', '', 14); $pdf->Cell(210, 10, utf8_decode("Xalapa, Ver. a los {$diaLetras} días de {$mesTraducido} de {$anio}"), 0, 1, 'C'); // Salida del PDF $pdf->Output();