Estoy personalizando el acta de Curso (PDF) e intento mostrar la fecha de impresión al pie con esta línea:
$this->instancia->ezStartPageNumbers((int) ($this->instancia->ez['pageWidth'] - ($this->instancia->ez['leftMargin'] + $this->instancia->ez['rightMargin'])),22,9,'left','SAN JUSTO, '.strftime('%e de %B de %Y'));
El tema es que inicialmente me muestra el mes en inglés (actualmente february).
Lo primero fué usar una llamada a setlocale simil a esta:
setlocale('LC_ALL','es_ES');
Pero ahí caí en que no había configurado mi Ubuntu Server con locales en español…
Una vez instalado el paquete de idioma español, configurado mi Ubuntu y reiniciado el servicio Apache procedo a re-ejecutar la generación de acta en pdf y el pdf queda en blanco (no muestra nada de nada) y termina normal (no sale por error).
Probé varios locales, todos con el mismo resultado:
es_ES - es_AR - es_ES.UTF-8 - es_AR.UTF-8 - es_ES.ISO-8859-1 - es_AR.ISO-8859-1
Nota: si debugueo veo que strftime(‘%e de %B de %Y’) si trae el mes en español; pareciera que ezpdf no soporta el cambio implícito de charset… pero honestamente no tengo idea de como solucionarlo.
La solución rápida fue reemplazar la instrucción inicial por:
$mes = [ 1=>"Enero", 2=>"Febrero", 3=>"Marzo", 4=>"Abril", 5=>"Mayo", 6=>"Junio", 7=>"Julio", 8=>"Agosto", 9=>"Septiembre", 10=>"Octubre", 11=>"Noviembre", 12=>"Diciembre" ];
$fecha_imp = 'SAN JUSTO, '.date('d').' de '.$mes[date('n')].' de '.date('Y');
$this->instancia->ezStartPageNumbers((int) ($this->instancia->ez['pageWidth'] - ($this->instancia->ez['leftMargin'] + $this->instancia->ez['rightMargin'])),22,9,'left', $fecha_imp);
Dejo este hilo como para ver si alguien resolvió algo similar al usar ezPDF…