none
Existe alguna alternativa nativa de WPF para implementar informes en pantalla e impresión?

    Question

  • Hola a todos;

    Estoy estudiando e investigando WPF para desarrollar aplicaciones con acceso a datos y me han surgido varias interrogantes de cara a lo que son los informes de datos tanto en pantalla como impresos.

    En principio no quisiera usar los reportes .rdlc locales, ni tampoco usar los reportes .rpt de Crystal Reports, me gustaría poder implementar una solución nativa de WPF, o al menos que no requiera complementos ni instalaciones adicionales como los requiere Crystal Reports por ejemplo.

    En un principio pense en los reportes .rdl remotos de SQL Reporting Services, pero esto requiere configuración del servidor y demás, aunque quizás SQL Reporting Services es mejor solución que Crystal Reports, pero aún así, me gustaría implementar un sistema de reportes nativo de WPF.

    He buscado información y de acuerdo a lo que he encontrado logicamente WPF no tiene soporte nativo para informes ni reportes, pero...encontre que podrían hacerse una especie de reportes usando "Documentos Dinámicos" en WPF o documentos XPS.

    Mis preguntas son:

    1) Se podría hacer un sistema sencillo de reportes con "Documentos Dinámicos" o XPS, tanto para pantalla como impresión?

    2) Es esta la solución que nos brinda Microsoft para nuestros informes y reportes?

    3) Existe una solución que venga de la mano de una implementación nativa en WPF o hay que morir siempre en soluciones de terceros?

     

    Saludos y Gracias!

    Saturday, February 04, 2012 5:11 PM

All replies

  • Hola Sebastian.

    Antes que nada, comentarte que soluciones como SQL Reporting o cristal report son utiles para poder ser usadas por diversas tecnologias, ya que por ejemplo en aspnet no es tan facil implementar un reporte. Ademas de disponer de una infraestructura bastante completa de diversas indoles a la hora de generar reportes. 

    Pero en muchos casos es innecesario, ya que es posible que cueste mas la instalacion, configuracion, aprendizaje, etc del entorno y librerias que realizar un sistema de reporte a medida. Esto es algo que se debe evaluar antes de optar por una u otra opcion.

    1.- Justamente en WPF, la opcion de implementar un sistema propio de reportes es tremendamente sencilla, de echo, como comento en este post:

    http://social.msdn.microsoft.com/Forums/es-UY/wpfes/thread/e07f6df9-c5ea-4986-8b32-8f0444f9a075

    un archivo .xps es un paquete que contiene un archivo .xaml, con lo que puedes diseñar directamente el reporte con Expression Blend, designer o VS, tienes multitud de recursos para ello, luego microsoft, ofrece un namespace para trabajar con XPS:

    http://msdn.microsoft.com/es-es/library/system.windows.xps.aspx

    De modo que se puede crear un flowdocument y para imprimir un xps o imprimir el flowdocument directamente.

    En definitiva, como WPF es una tecnologia para la presentacion, se pueden personalizar los informes incluso mas que con cualquier libreria, ya que solo estas limitado por la imaginacion en la generacion de informes.

    2.- Microsoft brinda SQL reporting si se va a trabajar con SQL server, ya que se integra muy bien con el y se pueden realizar informes de muchos tipos sin tener que programar nada, ademas de que los informes sirven para una gran variedad de tecnologias y no solo para WPF.

    Pero si solo tienes pensado usar los informes en WPF sin depender de un servidor, WPF te suministra todo lo necesario con el FlowDocument.

    3.- Creo que ya esta contestado, pero yo no usaria una libreria de terceros para crear los informes si se va a programar en WPF, solo me decantaria por SQL reporting si se quiere un sistema de mayores prestaciones, distribuido y para varias tecnologias.

    En otras tecnologias como Winforms, era de gran ayuda, ya que si no tiras del GDI, no puedes crear grandes presentaciones, pero en WPF a cambiado la cosa.

    te dejo unos links que he encontrado para convertir xaml en xps y para imprimir:

    http://blogs.msdn.com/b/fyuan/archive/2007/03/10/convert-xaml-flow-document-to-xps-with-style-multiple-page-page-size-header-margin.aspx

    http://roecode.wordpress.com/2007/12/21/using-flowdocument-xaml-to-print-xps-documents/

    Hay mucho material al respecto en la web, pero si tienes alguna duda en concreto lo puedes comentar.



    Saludos
    David González
    MCP, MCTS
    Visita mi Blog en: http://www.dgzornoza.com/

    Thursday, February 09, 2012 4:06 PM
  • Hola David, la verdad que tu respuesta me ha ayudado muchisimo, has sido muy amable, muchas gracias!

    Saludos,

    Sebastián

    Monday, February 13, 2012 3:48 AM