2009-04-14 98 views
31

Estoy buscando algo que funciona en PHP y es similar a los informes de cristal. Básicamente, necesito tener una configuración de diseño que signifique que puedo imprimir facturas simplemente insertando los datos, y luego enviarlos a una impresora.¿Algo como Crystal Reports para PHP?

Lo más parecido que he encontrado hasta ahora es PDFB, pero es un poco molesto ya que necesita tener un posicionamiento preciso.

Me gustaría tener algo que podría generar una factura basada en una plantilla (preferiblemente basado en XML) y luego la salida a una forma fácil para nosotros para impresión (PostScript sería agradable!)

Se necesita tener soporte para códigos de barras también (aunque éstos se pueden generar una imagen de GD como)

Otro requisito es que esto debe ser software libre

+11

¿Quiere decir que quiere un software caro que requiere una gran granja de servidores y tiene la fragilidad del diseño de los espaguetis sin procesar? : D –

+0

Lo siento, se olvidó de mencionar. Lo quería FLOSS – Mez

Respuesta

1

hm .. tuve el mismo problema en mi proyecto actual y que terminé usando informes de cristal y llamar el informe con un servicio web asp.net escrito en C#. el servicio web no es nada complicado y aún puede usar todas las características de los informes de Crystal. no creo que encuentre ningún motor de informes completamente basado en php que pueda ser comparado con informes cristalinos ... aún no he podido encontrar uno ...

5

Si tiene acceso al servidor también puede le gusta ir por XSL Formatting Objects hasta Apache FOP. XSL-FO es basado en XML y es compatible con una gran cantidad de output formats incluyendo PostScript y PDF

+0

Me encantaría saber por qué mi respuesta fue downvoted. –

1

Me encontré con el mismo problema hace un año. Después de buscar una solución existente, no encontré ninguna, así que escribí informes de cristal reducidos usando la biblioteca de generación de PDF de Zend Framework. Tuve que adaptar en gran medida su biblioteca para admitir objetos agrupados, secciones repetitivas y plantillas. Funcionó, pero era realmente torpe, y si tuviera que hacerlo de nuevo, encontraría una forma de vincular php a los informes de cristal, ya sea a través de un servicio web como dijo Gushiken, o llamando a una aplicación de línea de comandos. CPAN tiene una interfaz Perl para C.R .: Win32::OLE::CrystalRuntime::Application.

Si se lanzó una solución de PHP el año pasado, dudo que esté lo suficientemente madura como para compararla con C.R. No pierda el tiempo tirando de los pelos: vaya con lo que funciona. El tiempo es caro El software no es

4

Si logras llamar a una aplicación Java en su php-medio ambiente (que en general debería ser posible) JasperReports quizás lo que busca:

+0

Sí, esto es lo que estamos usando ahora, ya que usamos Jasper en otros lugares. – Mez

7

He usado Spreadsheet_Excel_Writer en PHP, y es lo suficientemente bueno . No WYSIWYG, pero sí genera archivos XSL, y estoy contento con eso. Luego, puede use OpenOffice macro para convertir el documento a PDF. Funciona desde línea de comandos, ergo, también funciona desde scripts PHP.

O aquí hay una manera aún mejor.

Use OpenOffice para convertir una plantilla Smarty. Smarty es un genial motor de plantillas para PHP, lo recomiendo para este propósito. Luego genere HTML puro usando PHP con Smarty. Finalmente, simplemente convierta el HTML generado en PDF utilizando el método mencionado anteriormente.

Reporting Revolutionized (tm).

EDITAR Jun6 2009 Modded down? Ah no importa.

De todos modos, este método funciona en un servidor sin cabeza sin ejecutar X11. Tomé el script del mentioned link (excepto que lo puse en una colección preexistente "Estándar" en lugar de "DannysLibrary") y luego ejecuté este comando desde la máquina de Windows usando PuTTY, y X se cerró en la máquina remota, y La variable DISPLAY no se configuró, y ... bueno, en cualquier caso, no hay forma de que OOo encuentre X11 para conectarse.

$ openoffice.org -invisible -headless "macro:///Standard.Conversion.ConvertWordToPDF(`pwd`/logaritamska.doc)" 

Esto funciona y estoy seguro de que esto sería un gran trabajo para cualquier persona que había necesidad de conversión de otro formato a PDF, incluyendo la producción de informes imprimibles de HTML. Al editar la macro, quizás incluso podría obtener OOo para leer directamente de stdin o de su URL de servicio temporal, y salir a un archivo predefinido. La secuencia de comandos en el link es bastante simple una vez que tiene el código elemental para expandir.

Resumen:

  • generar informes como XLS o HTML
  • los convierten
  • aunque es OOo, funciona en máquinas sin cabeza

EDITAR Jun 9 2009 I He intentado implementar un convertidor en línea de esta manera. Debe hacer que PHP se ejecute bajo el mismo usuario bajo el cual creó las macros. Este usuario aparentemente no puede ser www-data. Intenté utilizar suphp, pero por alguna razón no cambió el usuario correctamente (posix_getuid() siguió devolviendo 33, que es www-data). Voy a editar esto una vez que soluciono esto.

EDITAR 26 de junio de 2009 Supongo que me tomó un tiempo para informar de nuevo. Sí, esto funciona con suphp. Sin embargo, no estoy en posición de mostrarlo en vivo, ya que el único servidor que tengo ejecuta una aplicación web relativamente crítica que no tenía una auditoría de seguridad profesional. Esto significa que una de las cosas de las que dependemos para proteger el backend es que el usuario bajo el que se ejecuta el frontend es un usuario muy poco privilegiado (como www-data). No preguntes :-)

Espero que esto ayude a alguien: sí, la conversión a PDF con OO.o es bastante realista. Incluso hay soporte para llamadas remotas en OO.o pero no estudié eso solo para escribir esto.

+2

Esto tiene que ser automatizado en un servidor gui-less. Esta no es realmente una solución apropiada. – Mez

+0

¡INCORRECTO! Esto funciona en un servidor sin cabeza. He agregado el comando exacto a mi comentario. –

-1

Eche un vistazo a siwapp.org, es una aplicación de facturación de código abierto basada en Symphony Framework, está en beta temprana pero es muy prometedora.

6

He utilizado el eclpse en php: "Proyecto BIRT"

http://www.eclipse.org/birt/phoenix/

diseño del informe en Eclipse. Luego cárgalo a tu servidor (debe estar ejecutando Tomcat) Lo sé. A continuación, puede llamar a ese informe de su aplicación PHP puede enviar los parámetros al informe a través de la cadena de consulta:

/myreport.birt?param=var & param2 = var2

Tenemos un año 4 aplicación que funciona así hasta el momento. Alrededor de 100 informes y funciona realmente bien.

Por supuesto, es de código abierto.

Buena suerte

+0

Acepto que BIRT es el camino a seguir. Vea este artículo developerWorks que muestra cómo integrar BIRT con PHP utilizando WebSphere sMash: http://www.ibm.com/developerworks/websphere/techjournal/0903_phillips – rewbs

+0

BIRT todo el camino! – FastTrack

0

Trate Tufat

Lo que pasa es ver que ..may ser que le ayudará. Sin embargo, hay una versión gratuita disponible para que la pruebe.

Te gustará. Comparte tu copia.

0

he utilizado phpreports, y tengo que admitir que no es malo para la presentación de informes basados ​​en la web, ya que tiene soporte para encabezados, pies de página, grupos, subtotales, etc.

1

La herramienta adecuada para esta necesidad es XSL-FO , ya que es perfecto para medios imprimibles. XSL-FO es también una Recomendación W3C, con XSLT. He creado una herramienta php que usa XSL-FO como lenguaje intermedio para informes, este XLS-FO es el resultado de combinar (procesar) la plantilla XSLT de informe con sus datos XML.

Crea la plantilla automágicamente utilizando MS Word y exportando como se muestra en el manual del usuario. Luego, alimenta el motor de informes con la plantilla y en tiempo de ejecución con el XML de datos.

también en tiempo de ejecución, el informe XSL-FO resultante se hace a:

a) el mismo XSL-FO (si desea depurar o simplemente quiere un XSL-FO)

b) Un PDF perfecto, (ApacheFOP representa el XSL-FO)

c) HTML con una transformación XSLFO2HTML.

Aquí tienes el proyecto, es un plugin de Symfony 1.4: https://github.com/juanmf/sfPlugins/tree/master/reportPlugin

planeo desligarlo de sf. No dude en preguntar cualquier cosa. Aquí está el HowTo: https://github.com/juanmf/sfPlugins/blob/master/reportPlugin/doc/HowToReport.pdf?raw=true

Este mensaje puede también darle un poco de ayuda: https://stackoverflow.com/questions/5519024/report-engine-solution-for-lamp-application/13042656

Saludos!

4

Reportico

En mi opinión es uno de los mejores, detallado y rico en funciones PHP Report Designer.

Cuestiones relacionadas