En realidad en el instructivo de instalación de diaguita, hay una sección que habla de la configuración del fop. Fop es una aplicación java que permite, entre otras cosas, generar archivos pdf.
Por lo que veo, tenes el software necesario para que corra bien. Lo único que me parece que te falta es la configuración, para eso hay que modificar el archivo “instalacion.ini” para indicarle al sistema en donde esta el Fop:
El SIU-Diaguita utiliza la tecnología XSL-FO para permitir personalizar la
impresión de todos los documentos/comprobantes emitidos por el sistema.
Para realizar la correcta configuración de XSL-FO en su servidor se deberá
realizar lo siguiente:
1. Agregar al final del archivo path_a_diaguita/diaguita/instalacion/instalacion.ini, las dos
siguientes líneas:
[xslfo]
fop = path_a_toba/toba/proyectos/diaguita/php/3ros/fop
2. Dar permiso de ejecución al archivo
path_a_toba/toba/proyectos/diaguita/php/3ros/fop
Después de eso, reinicia el Apache, relogueate y proba nuevamente.
Esta receta que me estas pasando ya la habia visto en el foro. No la tuve en cuenta, porque la ubicacion de la carpeta “fop” no coincide con lo que yo tengo en el servidor y como era en relación a otras versiones del sistema pense que lo habian cambiado.
El problema persiste…
Por defecto en instalacion.ini para fop aparece:
[xslfo]
fop = /usr/local/siu/diaguita/aplicacion/php/3ros/fop/fop (esta es la ubicacion de fot que tengo en el servidor)
Efectivamente las carpetas cambiaron con las versiones, pero lo que hay que hacer es exactamente lo mismo. Si con esto no se arregla, podes probar de instalar el fop usando apt o aptitude.
Yo la verdad es que lo tengo probado en la versión 1.6 de java, pero el tema es que si el fop no tira error, que es en definitiva el programa que esta escrito en java, no creo que la versión del runtime sea el problema. Me podrías confirmar la versiond e fop que instalaste? Si pudieras subir los logs de la aplicación y el de errores de php y apache sería buenisimo!
En los logs de Apache no encontre nada, lo cual es bastante raro ya que todos los errores del fop, aparecen ahí. Revisa bien, que alguna pista tiene que haber. Yo probaría con un editor de texto que te permita buscar en los archivos (tipo notepad++) usando la palabra “fop”.
Sigo con el inconveniente de no poder visualizar una solicitud. Hoy tengo instalada la versión 1.8.0.
Alejandro Corsaro me guío para realizar algunas prueba mas y la conclusión fue, que si ejecuto por linea de comando el mensaje de error se genera correctamente el archivo pdf y luego haciendo un doble clik sobre el archivo lo visualizo. Pero del sistema no se puede.
El comando que ejecute fue “/usr/local/siu/diaguita/aplicacion/php/3ros/fop/fop -xml /usr/local/siu/diaguita/toba/temp/xmlPd0hrs -xsl /usr/local/siu/diaguita/aplicacion/www/temp/ci_ficha_solicitud_suministro.xsl -pdf /usr/local/siu/diaguita/toba/temp/Ficha_de_solicitud_de_bienes_y_servicios_1346948173.pdf”.
Te adjunto unos archivos instalacion.ini, ci_ficha_solicitud_suministro.xsl, el log del sistema y xmlPd0hrs.
Si podes ejecutar el comando a mano (como root supongo), puede que sea un problema de permisos. Verificaste que el usuario “www-data” tenga permisos de lectura/escritura sobre los directorios necesarios (serian todos los temp)?
De no ser así, con los comandos “chmod” y “chown” podes solucionarlo.
Le di permisos a todas las carpetas temp que tiene la aplicación. Igualmente sigue apareciendo el error, desde el sistema no puedo visualizar una solicitud.
No se genera el archivo … toba/temp/Ficha_de_solicitud_de_bienes_y_servicios_(nro) .pdf"
En la imagen adjunta, te mando el error y los distintos permisos que di. Por ahí viéndolo te das cuenta si falta dar algo mas.
Esteban:
Buenos días, añado a la especificación de servidor de Marcela que es un debian lenny de 64 bits a modo de comentario solamente.
Te cuento que se solucionó el problema. Lo que hicimos fue instalar fop nuevamente pero del repositorio de squeeze, por lo que instaló la versión 1.0.95, esto lo hicimos con:
apt-get install -t squeeze fop
Por otro lado unas unas excepciones que salían ejecutando el comando que daba problema en una terminal decían como warning que no encontraba la fuente times new roman, esto nos hizo investigar en internet e inferimos que faltaban unas fuentes en el servidor para armar el pdf y encontramos que se debía instalar el siguiente paquete.
apt-get install -t squeeze ttf-mscorefonts-installer
Luego de esto ya se pudo visualizar correctamente el archivo .pdf
La duda que nos queda sobre la operación de visualización de solicitud de bienes es que se deja almacenado en el servidor cada archivo que se genera. Esto se debe dejar así o se tendría que chequear periódicamente para eliminar los archivos cada tanto?