Andrea, estuve viendo el código y te recomiendo lo siguiente:
1) Tamaño del encabezado
Para encabezados ‘grandes’, creamos una función que se llama ‘tiene_encabezado_long’… es decir, cuando seteás ‘tiene_encabezado’ en true, también le seteás ‘tiene_encabezado_long’, esto hace que deje un mayor espacio para el encabezado y no se te superponga en las siguientes hojas.
$pdf->set_tiene_encabezado(true);
$pdf->set_tiene_encabezado_long(true);
El ‘espacio’ que deja en ‘tiene_encabezado’ y ‘tiene_encabezado_long’ lo podés ver en el archivo: src/siu/operaciones/_comun/operaciones/reporte/generador_pdf.php
Función preparar_pdf, a partir de la línea 163. Podés personalizarlos, pero teniendo en cuenta que si tocás esta clase va a impactar en todos los pdfs que se generen en el sistema.
Sino, podes armarte otra función, por ejemplo ‘tiene_encabezado_XL’ y allí indicar el espacio a dejar para el encabezado en cuestión.
2) Sobre los estilos.
Hay unas funciones que se llaman: ‘set_encabezado_tabla’… esto sirve para los reportes que utilizan varios campos ‘encolumnados’ en su encabezado. Lo bueno de esto es que vos indicás cuantas columnas querés que tenga y en base a los datos que le pases por parámetro, te ordena solo el encabezado en forma de tabla… En tu caso vas a setear cant_columnas = 1. Cada ítem del array que vos pases como parámetro a esta función, será un renglón y se imprimirá en el orden que aparece en el array…
Si vos por ejemplo querés que la cantidad de columnas de tu encabezado sea 2 y tu array de datos tiene 6 ítems, la función acomodará esos 6 ítems en dos columnas y tres filas.
Entonces en tu función yo haría algo así (no lo probé porque nosé como acceder a la operación desde el perfil alumno)
....
$logo = kernel::localizador()->encontrar_img('www/img','logo.png');
$universidad = guarani::ua()->get_nombre_institucion()."\n".guarani::ua()->get_nombre()."\n";
//Intento de encabezado se repita en todas las hojas
$this->pdf_encabezado = array(
$universidad,
"<b>DECLARACIÓN JURADA DE MATERIAS RENDIDAS</b>", ------> ACÁ TU TÍTULO QUE SALDRÁ CENTRADO.
110);
$this->pdf_encabezado_img = array('img'=>$logo['path'],'width' => '100');
$pdf->set_encabezado($this->pdf_encabezado[0], $this->pdf_encabezado[1], $this->pdf_encabezado[2]);
....
// ACÁ AGREGARÍA UNA 'TABLA' CON EL RESTO DE LOS DATOS QUE QUIERO QUE SE REPITAN EN TODOS LOS ENCABEZADOS
$datos_encabezado = array(
'cant_columnas' => 1,
'datos' => array( 0 =>$encabezado['carreras_nombre'],
1 => "<b>Título:</b>" . $encabezado['titulo'] . " " . $encabezado['nombre_titulo'] ,
2 => $genero . "que suscribe " . $alumno . ", " . $encabezado['desc_abreviada']. ": " . $encabezado['nro_documento'] . ", Legajo: " . $encabezado['legajo'] . " " . $alum . " de la carrera " . $encabezado['carreras_nombre'] . ", manifiesta que los exámenes descriptos corresponden a los rendidos durante su actuación como " . $alum . "de esta facultad" ));
$pdf->set_encabezado_tabla($datos_encabezado);
Esto te agregará en el encabezado 3 renglones abajo del título, justificados a la izquierda.
Te recomiendo que veas la operación del perfil docente ‘Actas de Examen’, el código del pdf que emite está en: siu/operaciones/acta_examenes/controlador.php, función accion__generar_pdf_acta.
Allí se utiliza el encabezado long y la tabla dentro del encabezado (recordá que tu tabla tendría una sola columna y tantos renglones como ‘/n’ pusiste en el título)
Es medio complejo, pero una vez que le agarrás la mano sale fácil.
No dudes en consultar cualquier duda que tengas!!!