prepare(" SELECT a.nombre AS alumno_nombre, c.nombre AS curso_nombre, c.tipo, c.horas_trabajadas, c.competencias, 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) { ob_end_clean(); die("Diploma no encontrado"); } $alumno = $diploma['alumno_nombre']; $curso = $diploma['curso_nombre']; $tipo = $diploma['tipo']; $horas = $diploma['horas_trabajadas']; $competencias = $diploma['competencias'] ?? ''; $fecha = new DateTime($diploma['fecha_emision']); $dia = str_pad($fecha->format('d'), 2, '0', STR_PAD_LEFT); $mes = $fecha->format('m'); $anio = $fecha->format('Y'); $pdf = new Fpdi(); $pdf->AddPage(); $pdf->setSourceFile(__DIR__ . '/fpdf/formatodiploma.pdf'); $template = $pdf->importPage(1); $pdf->useTemplate($template); $pdf->SetTextColor(33, 37, 41); // Tratamiento if ($tipo === 'tratamiento') { $pdf->SetFont('Helvetica', '', 16); $pdf->SetXY(0, 80); $pdf->Cell(210, 10, t("Otorga el presente reconocimiento"), 0, 1, 'C'); $pdf->SetFont('Helvetica', '', 14); $pdf->SetXY(0, 92); $pdf->Cell(210, 10, t("a:"), 0, 1, 'C'); $pdf->SetFont('Helvetica', 'I', 22); $pdf->SetXY(0, 102); $pdf->Cell(210, 10, t($alumno), 0, 1, 'C'); $y = 120; $pdf->SetFont('Helvetica', '', 12); $textoBase = "Por haber acreditado en el curso “{$curso}”"; if ($horas) $textoBase .= " ({$horas} horas de trabajo)"; $pdf->SetXY(20, $y); $pdf->MultiCell(170, 7, t($textoBase . ",\nla evaluación de las competencias:"), 0, 'L'); $y = $pdf->GetY() + 2; $pdf->SetFont('Helvetica', '', 11); $lineas = explode("\n", $competencias); foreach ($lineas as $linea) { $pdf->SetXY(25, $y); $pdf->MultiCell(160, 6, t("• " . trim($linea)), 0, 'L'); $y = $pdf->GetY(); } // Inyección } elseif ($tipo === 'inyeccion') { $pdf->SetFont('Helvetica', '', 16); $pdf->SetXY(0, 82); $pdf->Cell(210, 10, t("Otorga la presente"), 0, 1, 'C'); $pdf->SetFont('Helvetica', 'B', 18); $pdf->SetXY(0, 95); $pdf->Cell(210, 10, t("CONSTANCIA"), 0, 1, 'C'); $pdf->SetFont('Helvetica', 'I', 14); $pdf->SetXY(0, 106); $pdf->Cell(210, 10, t("a:"), 0, 1, 'C'); $pdf->SetFont('Helvetica', '', 22); $pdf->SetXY(0, 116); $pdf->Cell(210, 10, t($alumno), 0, 1, 'C'); $pdf->SetFont('Helvetica', '', 13); $pdf->SetXY(20, 135); $pdf->MultiCell(170, 8, t("Por su participación en la Inyección Educativa"), 0, 'C'); $pdf->SetFont('Helvetica', 'B', 14); $pdf->MultiCell(170, 8, t("“{$curso}”,"), 0, 'C'); if ($horas) { $pdf->SetFont('Helvetica', '', 12); $pdf->MultiCell(170, 8, t("con duración de {$horas} horas."), 0, 'C'); } // Píldoras } elseif ($tipo === 'pildora') { $pdf->SetFont('Helvetica', '', 16); $pdf->SetXY(0, 82); $pdf->Cell(210, 10, t("Otorga la presente"), 0, 1, 'C'); $pdf->SetFont('Helvetica', 'B', 18); $pdf->SetXY(0, 95); $pdf->Cell(210, 10, t("CONSTANCIA"), 0, 1, 'C'); $pdf->SetFont('Helvetica', 'I', 14); $pdf->SetXY(0, 106); $pdf->Cell(210, 10, t("a:"), 0, 1, 'C'); $pdf->SetFont('Helvetica', '', 22); $pdf->SetXY(0, 116); $pdf->Cell(210, 10, t($alumno), 0, 1, 'C'); $pdf->SetFont('Helvetica', '', 13); $pdf->SetXY(20, 135); $pdf->MultiCell(170, 8, t("Por su asistencia a la píldora educativa"), 0, 'C'); $pdf->SetFont('Helvetica', 'B', 14); $pdf->MultiCell(170, 8, t("“{$curso}”"), 0, 'C'); if ($horas) { $pdf->SetFont('Helvetica', '', 12); $pdf->MultiCell(170, 8, t("con duración de {$horas} horas."), 0, 'C'); } } $pdf->SetFont('Helvetica', 'B', 12); $pdf->SetXY(0, 245); $pdf->Cell(210, 10, t("Dr. Juan Manuel Gutiérrez Méndez"), 0, 1, 'C'); $pdf->SetFont('Helvetica', '', 11); $pdf->Cell(210, 6, t("Director de Proyectos"), 0, 1, 'C'); $pdf->SetFont('Helvetica', 'I', 10); $pdf->SetXY(0, 268); $pdf->Cell(210, 6, t("Se expide en la ciudad de Xalapa, Ver., a los {$dia} días de {$mes} de {$anio}"), 0, 1, 'C'); ob_end_clean(); $pdf->Output();