De tema para este artículo ha servido una de las preguntas de los usuarios del generador de informes List & Label en el foro de servicio técnico.
Como ha entendido de la pregunta, el usuario quiere obtener un archivo PDF a base de varios informes.
Por desgracia, no hay ninguna solución reglamentaria a este caso.
Tradicionalmente, la distribución de iinformes se realiza en los formatos de datos más pupulares. Se trata, por ejemplo, de los formatos PDF, DOC o XLS. Y si tiene que distribuir varios informes en una partida, hay que exportar cada uno en el formato deseado. Por otro lado, los que reciben estos archivos, tienen que abrir cada uno y impimirlo. Sería mucho más cómodo colocar todos los informes en un solo archivo. Así es más fácil tanto distribuir, como mprimir.
Vamos a echar un vistazo a cómo se puede realizar esta funcionalidad en FastReport.Net. Formatear informes hay que desde el código de la aplicación de cliente.
1 2 3 4 5 6 7 8 9 10 11 |
Report report = new Report(); DataSet data = new DataSet(); data.ReadXml("K:/My documents/nwind.xml"); report.RegisterData(data); report.Load("K:/My documents/Master-Detail.frx"); report.Prepare(); report.Load("K:/My documents/Box.frx"); report.Prepare(true); //report.ShowPrepared(); FastReport.Export.Pdf.PDFExport exp = new FastReport.Export.Pdf.PDFExport(); report.Export(exp, "K:/My documents/exp.pdf"); |
La idea es muy simple. En un objeto del informe cargamos y complicamos sucesivamente varios informes. Como resultado, los informes preparados se acumulan en un solo objeto y, cuando necesitamos, los mostramos (ShowPrepared) o exportamos de repente (Export).
Al final, obtenemos la visualización sucesiva de los informes en un archivo PDF:
De esta manera, podemos, por ejemplo, formatear todos los informes de una carpeta determinada en un ciclo.