Error al descargar Constancia de Alumno Regular desde g3w3

Hola, como están?
Estamos en la version 3.13.0 del Guaraní y tenemos un problema con los alumnos que quieren descargar el certificado de alumno regular desde el sistema, personalizamos este certificado y ellos pueden descargar el certificado apenas se lo genera, pero si después quieren usar el botón “PDF” no les descarga el archivo, vimos el log de error de apache y figuran unos errores con htmlspecialchars

[Tue Aug 01 12:54:22.009161 2017] [:error] [pid 23614] [client 170.210.224.110:52409] PHP Warning:  htmlspecialchars(): charset `LATIN1' not supported, assuming utf-8 in /usr/local/proyectos/autogestion/vendor/siu/chulupi-framework/JavaBridge/java/Java.inc on line 1317, referer: http://autogestion.guarani.unse.edu.ar/unse/solicitudes/descargar_comprobante/ee00117093aeb5414f7b72a2f5278ef3d4a73ee0
[Tue Aug 01 12:54:22.009455 2017] [:error] [pid 23614] [client 170.210.224.110:52409] PHP Warning:  htmlspecialchars(): charset `LATIN1' not supported, assuming utf-8 in /usr/local/proyectos/autogestion/vendor/siu/chulupi-framework/JavaBridge/java/Java.inc on line 1317, referer: http://autogestion.guarani.unse.edu.ar/unse/solicitudes/descargar_comprobante/ee00117093aeb5414f7b72a2f5278ef3d4a73ee0

Estuvimos viendo el proceso, y pareciera que cuando va a generar el archivo PDF se corta en la mitad, creemos que es problemas de encoding, pero no sabemos como cambiarlos.
Alcaro que desde gestión se pueden descargar si problemas, y de hecho, los chicos pueden descargar el archivo apenas lo generan…
Saludos!

Hola Ricardo, bien, vos?

en el archivo instalacion/config.php como tenes configurados los parámetros solicita_constancias_en_gestion y url_gestion? se solicitan las constancias desde Gestión o 3W?

Por otro lado, los logs que veo en pantalla son solo Warnings, no deberían romper la descarga del PDF (igual después te digo una forma en la cual podemos evitar dichos Warnings).

Lo que si te voy a pedir son los logs de 3W (carpeta instalacion/log) y Apache (sudo tail -f /var/log/apache2/error.log) generados al momento de descargar el PDF.

En cuanto a los Warnings esos, se deben a que el Guaraní necesita que PHP este configurado con el encoding iso-8859-1 (esto se configura en el php.ini directiva default_charset). Y la función htmlspecialchars() como no se le esta pasando un encoding toma default_charset por defecto (esto es en /usr/local/proyectos/autogestion/vendor/siu/chulupi-framework/JavaBridge/java/Java.inc linea 1317). Podes probar con lo siguiente para que no de mas dicho Warning:

$this->write(sprintf($format, htmlspecialchars($name, ENT_COMPAT, 'UTF-8')));

Se la agrega ‘UTF-8’ como tercer parámetro, con eso debería dejar de dar el Warning segun los siguientes posts:
https://github.com/joomla/joomla-cms/issues/10399
https://issues.joomla.org/tracker/joomla-cms/10399
https://stackoverflow.com/questions/30875491/how-to-resolve-charset-utf8-in-php

otra pregunta, los datos pasados al PDF tiene algún carácter especial?

saludos.

Hola, ya esta solucionado lo del error, el problema era que estaba buscando el default_charset y este estaba mal configurado en el php.ini, ya esta corregido eso, pero todavía no se puede descargar el PDF desde el dichoso boton “PDF”, en el log de apache no pasa nada y en el log del sistema tampoco, todo esta perfecto, pero no se descarga el archivo…

Muchas gracias desde ya, saludos!

Hola leonel, perdón, justo enviaste el mensaje cuando lo había enviado yo. Si están configurados esos parámetros, los alumnos si pueden descargar el archivo la primera vez, pero cuando van a usar el botón PDF de un certificado creado previamente no se puede descargar… te paso el log que me pides. el log de apache no muestra nada, ya esta corregido!

Saludos, muchas gracias por contestar!


log.txt (23.6 KB)

Hola, ya se solucionó el problema, faltaba ejecutar apt-get install --reinstall ttf-mscorefonts-installer, se hizo eso y comenzó a funcionar, saludos! muchísimas gracias leonel!

Hola Ricardo, me alegro que lo hayan podido solucionar!!!

Claro, les faltaban las fuentes del Jasper:


sudo apt-get install --reinstall ttf-mscorefonts-installer

gracias por el aporte, a algún otro le va a servir!!!

saludos.