Ejemplo n.º 1
0
        /// <summary>
        /// Exportars the PDF planificacion.
        /// </summary>
        /// <param name="TituloInforme">The titulo informe.</param>
        /// <param name="objPlanificacion">The obj planificacion.</param>
        public static void ExportarPDFPlanificacion(string TituloInforme, PlanificacionAnual objPlanificacion)
        {
            itsEvents ev = new itsEvents();

            Document documento = new Document(PageSize.A4, 10, 10, 80, 50);
            PdfWriter writerPdf = PdfWriter.GetInstance(documento, HttpContext.Current.Response.OutputStream);
            writerPdf.PageEvent = ev;
            documento.Open();

            string strTitulo = "Asignatura: " + objPlanificacion.curricula.asignatura.nombre
                          + "\n " + objPlanificacion.cicloLectivo.nombre.Substring(0, 13) + ": "
                          + objPlanificacion.cicloLectivo.nombre.Substring(14);

            string strFileName = "Planificacion_" + objPlanificacion.curricula.asignatura.nombre
                          + "_" + objPlanificacion.curricula.nivel.nombre;

            string fecha = DateTime.Now.ToShortDateString() + " " + DateTime.Now.Hour.ToString().PadLeft(2, '0') + ":" + DateTime.Now.Minute.ToString().PadLeft(2, '0');

            Font font24B = FontFactory.GetFont(FontFactory.HELVETICA_BOLD, 24, Font.BOLD, BaseColor.GRAY);
            Phrase Titulo = new Phrase("EDU@R 2.0", font24B);

            Font font15B = FontFactory.GetFont(FontFactory.HELVETICA, 15, Font.BOLD);
            ev.tituloReporte = TituloInforme;
            ev.fechaReporte = fecha;

            Font font12 = FontFactory.GetFont(FontFactory.TIMES, 12, Font.NORMAL);

            Paragraph parrafo = new Paragraph(strTitulo, font15B);
            documento.Add(parrafo);

            if (objPlanificacion.listaCursos != null && objPlanificacion.listaCursos.Count > 0)
            {
                parrafo = new Paragraph("Cursos: ", font15B);
                documento.Add(parrafo);
                foreach (CursoCicloLectivo item in objPlanificacion.listaCursos)
                {
                    parrafo = new Paragraph("- " + objPlanificacion.curricula.nivel.nombre + " " + item.curso.nombre, font15B);
                    documento.Add(parrafo);
                }
            }

            string strFechas;
            if (objPlanificacion.fechaAprobada.HasValue)
            {
                strFechas = "Fecha Aprobación: " + Convert.ToDateTime(objPlanificacion.fechaAprobada).ToShortDateString();
                parrafo = new Paragraph(strFechas, font15B);
                documento.Add(parrafo);
            }
            else
            {
                Font font15R = FontFactory.GetFont(FontFactory.HELVETICA, 15, Font.BOLDITALIC, BaseColor.RED);
                strFechas = "Pendiente de Aprobación";
                parrafo = new Paragraph(strFechas, font15R);
                documento.Add(parrafo);
            }

            PdfPTable tabla = new PdfPTable(1);
            tabla.SpacingBefore = 10;
            tabla.SpacingAfter = 0;
            tabla.KeepTogether = true;
            tabla.WidthPercentage = 100;
            PdfPCell celdaTitulo = new PdfPCell(new Phrase("", font15B));
            celdaTitulo.Border = 0;
            celdaTitulo.BorderWidthBottom = 1;
            tabla.AddCell(celdaTitulo);
            tabla.CompleteRow();
            documento.Add(tabla);

            //parrafo = new Paragraph("\n", font15B);
            //documento.Add(parrafo);

            if (objPlanificacion.listaTemasPlanificacion.Count > 0)
            {
                int contador = 0;
                foreach (TemaPlanificacionAnual item in objPlanificacion.listaTemasPlanificacion)
                {
                    contador++;
                    parrafo = new Paragraph("Periodo: " + Convert.ToDateTime(item.fechaInicioEstimada).ToShortDateString() + " al " + Convert.ToDateTime(item.fechaFinEstimada).ToShortDateString(), font15B);
                    documento.Add(parrafo);

                    if (item.contenidosConceptuales.Trim().Length > 0)
                    {
                        parrafo = new Paragraph("Contenidos Conceptuales", font15B);
                        documento.Add(parrafo);

                        parrafo = new Paragraph(item.contenidosConceptuales, font12);
                        documento.Add(parrafo);

                        parrafo = new Paragraph("\n", font15B);
                        documento.Add(parrafo);
                    }

                    if (item.contenidosActitudinales.Trim().Length > 0)
                    {
                        parrafo = new Paragraph("Contenidos Actitudinales", font15B);
                        documento.Add(parrafo);

                        parrafo = new Paragraph(item.contenidosActitudinales, font12);
                        documento.Add(parrafo);

                        parrafo = new Paragraph("\n", font15B);
                        documento.Add(parrafo);
                    }

                    if (item.contenidosProcedimentales.Trim().Length > 0)
                    {
                        parrafo = new Paragraph("Contenidos Procedimentales", font15B);
                        documento.Add(parrafo);

                        parrafo = new Paragraph(item.contenidosProcedimentales, font12);
                        documento.Add(parrafo);

                        parrafo = new Paragraph("\n", font15B);
                        documento.Add(parrafo);
                    }

                    if (item.criteriosEvaluacion.Trim().Length > 0)
                    {
                        parrafo = new Paragraph("Criterios de Evaluación", font15B);
                        documento.Add(parrafo);

                        parrafo = new Paragraph(item.criteriosEvaluacion, font12);
                        documento.Add(parrafo);

                        parrafo = new Paragraph("\n", font15B);
                        documento.Add(parrafo);
                    }

                    if (item.estrategiasAprendizaje.Trim().Length > 0)
                    {
                        parrafo = new Paragraph("Estrategias de Aprendizaje", font15B);
                        documento.Add(parrafo);

                        parrafo = new Paragraph(item.estrategiasAprendizaje, font12);
                        documento.Add(parrafo);

                        parrafo = new Paragraph("\n", font15B);
                        documento.Add(parrafo);
                    }

                    if (item.instrumentosEvaluacion.Trim().Length > 0)
                    {
                        parrafo = new Paragraph("Instrumentos de Evaluación", font15B);
                        documento.Add(parrafo);

                        parrafo = new Paragraph(item.instrumentosEvaluacion, font12);
                        documento.Add(parrafo);

                        parrafo = new Paragraph("\n", font15B);
                        documento.Add(parrafo);
                    }

                    if (contador < objPlanificacion.listaTemasPlanificacion.Count)
                    {
                        tabla = new PdfPTable(1);
                        tabla.SpacingBefore = 10;
                        tabla.SpacingAfter = 0;
                        tabla.KeepTogether = true;
                        tabla.WidthPercentage = 100;
                        celdaTitulo = new PdfPCell(new Phrase("", font15B));
                        celdaTitulo.Border = 0;
                        celdaTitulo.BorderWidthBottom = 1;
                        tabla.AddCell(celdaTitulo);
                        tabla.CompleteRow();
                        documento.Add(tabla);

                        //parrafo = new Paragraph("\n", font15B);
                        //documento.Add(parrafo);
                    }
                }
            }

            documento.Close();
            strFileName = strFileName.Trim().Replace("\n", "_").Replace(" ", "_");
            HttpContext.Current.Response.ContentType = "application/pdf";
            HttpContext.Current.Response.AddHeader("content-disposition", "attachment; filename=" + strFileName + "-" + fecha.Replace(' ', '_').Trim() + ".pdf");
            HttpContext.Current.Response.Flush();//HttpContext.Current.Response.End();
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Exportars the grafico PDF.
        /// </summary>
        /// <param name="TituloInforme">The titulo informe.</param>
        /// <param name="username">The username.</param>
        /// <param name="filtros">The filtros.</param>
        /// <param name="nombrePNG">The nombre PNG.</param>
        /// <param name="tablaGrafico">The tabla grafico.</param>
        public static void ExportarGraficoPDF(string TituloInforme, string username, string filtros, string nombrePNG, List<string> tablaGrafico)
        {
            itsEvents ev = new itsEvents();

            Persona usuario = new Persona();
            usuario.username = username;
            BLPersona objBLPersona = new BLPersona(usuario);
            objBLPersona.GetPersonaByEntidad();
            usuario = objBLPersona.Data;

            Document documento = new Document(PageSize.A4, 10, 10, 80, 50);
            PdfWriter writerPdf = PdfWriter.GetInstance(documento, HttpContext.Current.Response.OutputStream);
            writerPdf.PageEvent = ev;
            documento.Open();

            string strTitulo = TituloInforme;
            string fecha = DateTime.Now.ToShortDateString() + " " + DateTime.Now.Hour.ToString().PadLeft(2, '0') + ":" + DateTime.Now.Minute.ToString().PadLeft(2, '0');

            Font font24B = FontFactory.GetFont(FontFactory.HELVETICA_BOLD, 24, Font.BOLD, BaseColor.GRAY);
            Phrase Titulo = new Phrase("EDU@R 2.0", font24B);

            Font font15B = FontFactory.GetFont(FontFactory.HELVETICA, 15, Font.BOLDITALIC);
            ev.tituloReporte = strTitulo;
            ev.fechaReporte = fecha;

            Font font12B = FontFactory.GetFont(FontFactory.HELVETICA_BOLD, 12, Font.NORMAL);
            Font font10N = FontFactory.GetFont(FontFactory.HELVETICA, 10, Font.NORMAL);
            PdfPTable grdTableEncabezado = new PdfPTable(1);
            grdTableEncabezado.WidthPercentage = 90;
            grdTableEncabezado.AddCell(new PdfPCell(new Phrase("- Usuario: " + usuario.apellido + " " + usuario.nombre, font12B)));
            grdTableEncabezado.CompleteRow();
            grdTableEncabezado.AddCell(new PdfPCell(new Phrase(filtros, font12B)));
            grdTableEncabezado.CompleteRow();
            documento.Add(grdTableEncabezado);

            //valido si mando el nombre de un gráfico
            if (!string.IsNullOrEmpty(nombrePNG))
            {
                //Verifica si existe el archivo
                if (System.IO.File.Exists(nombrePNG))
                {
                    documento.Add(new Paragraph(""));
                    Image grafico = Image.GetInstance(nombrePNG);
                    grafico.ScalePercent(50, 50);
                    grafico.Alignment = Element.ALIGN_CENTER;
                    if (grafico != null)
                        documento.Add(grafico);
                    documento.Add(new Paragraph(""));
                }
            }

            // Recorremos la variable tablaGrafico para agregar información adicional a la exportación del gráfico
            foreach (var item in tablaGrafico)
            {
                if (item.Substring(0, 1).Equals("-"))
                    documento.Add(new iTextSharp.text.Paragraph(item, font12B));
                else
                    documento.Add(new iTextSharp.text.Paragraph(item, font10N));
            }

            //Cerramos el Documento
            documento.Close();
            strTitulo = strTitulo.Replace(" ", string.Empty);
            HttpContext.Current.Response.ContentType = "application/pdf";
            HttpContext.Current.Response.AddHeader("content-disposition", "attachment; filename=" + strTitulo.Trim().Replace(" ", string.Empty) + "-" + fecha.Replace(' ', '_').Trim() + ".pdf");
            HttpContext.Current.Response.Flush();
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Exportars the PDF.
        /// </summary>
        /// <param name="TituloPagina">The titulo pagina.</param>
        /// <param name="dtReporte">The dt reporte.</param>
        /// <param name="username">The username.</param>
        /// <param name="filtros">The filtros.</param>
        /// <param name="nombrePNG">The nombre PNG.</param>
        public static void ExportarPDF(string TituloInforme, DataTable dtReporte, string username, string filtros, string nombrePNG)
        {
            itsEvents ev = new itsEvents();

            Persona usuario = new Persona();
            usuario.username = username;
            BLPersona objBLPersona = new BLPersona(usuario);
            objBLPersona.GetPersonaByEntidad();
            usuario = objBLPersona.Data;

            int columnCount = dtReporte.Columns.Count;
            int rowCount = dtReporte.Rows.Count;

            Document documento = new Document(PageSize.A4, 10, 10, 80, 50);
            PdfWriter writerPdf = PdfWriter.GetInstance(documento, HttpContext.Current.Response.OutputStream);
            writerPdf.PageEvent = ev;
            documento.Open();

            string strTitulo = TituloInforme;
            string fecha = DateTime.Now.ToShortDateString() + " " + DateTime.Now.Hour.ToString().PadLeft(2, '0') + ":" + DateTime.Now.Minute.ToString().PadLeft(2, '0');

            Font font24B = FontFactory.GetFont(FontFactory.HELVETICA_BOLD, 24, Font.BOLD, BaseColor.GRAY);
            Phrase Titulo = new Phrase("EDU@R 2.0", font24B);

            Font font15B = FontFactory.GetFont(FontFactory.HELVETICA, 15, Font.BOLDITALIC);
            ev.tituloReporte = strTitulo;
            ev.fechaReporte = fecha;

            Font font12B = FontFactory.GetFont(FontFactory.HELVETICA_BOLD, 12, Font.NORMAL);
            PdfPTable grdTableEncabezado = new PdfPTable(1);
            grdTableEncabezado.WidthPercentage = 90;
            grdTableEncabezado.AddCell(new PdfPCell(new Phrase("- Usuario: " + usuario.apellido + " " + usuario.nombre, font12B)));
            grdTableEncabezado.CompleteRow();
            grdTableEncabezado.AddCell(new PdfPCell(new Phrase(filtros, font12B)));
            grdTableEncabezado.CompleteRow();
            documento.Add(grdTableEncabezado);

            //valido si mando el nombre de un gráfico
            if (!string.IsNullOrEmpty(nombrePNG))
            {
                //Verifica si existe el archivo
                if (System.IO.File.Exists(nombrePNG))
                {
                    string TmpPath = System.Configuration.ConfigurationManager.AppSettings["oTmpPath"];

                    documento.Add(new Paragraph(""));
                    Image grafico = Image.GetInstance(nombrePNG);
                    grafico.ScalePercent(50, 50);
                    grafico.Alignment = Element.ALIGN_CENTER;
                    if (grafico != null)
                        documento.Add(grafico);
                    documento.Add(new Paragraph(""));
                }
            }

            PdfPTable grdTable = new PdfPTable(columnCount);
            Font LetraTituloTabla = FontFactory.GetFont(FontFactory.HELVETICA, 9, Font.BOLDITALIC, BaseColor.BLUE);
            float[] espacios = new float[columnCount];
            for (int i = 0; i < columnCount; i++)
            {
                espacios[i] = 80 / columnCount;
            }

            grdTable.SetWidths(espacios);
            grdTable.WidthPercentage = 90;

            //Creamos las cabeceras de la tabla
            //Adicionamos las cabeceras a la tabla
            foreach (DataColumn columna in dtReporte.Columns)
            {
                grdTable.AddCell(new PdfPCell(new Phrase(columna.ColumnName.ToUpperInvariant(), LetraTituloTabla)));
            }

            Font LetraDefecto = FontFactory.GetFont(FontFactory.HELVETICA, 8, Font.NORMAL);

            grdTable.CompleteRow();

            grdTable.HeaderRows = 1;

            foreach (DataRow fila in dtReporte.Rows)
            {
                for (int i = 0; i < columnCount; i++)
                {
                    string dato = fila[i].ToString();
                    if (fila[i].GetType().Name == "DateTime")
                        dato = Convert.ToDateTime(fila[i].ToString()).ToShortDateString();
                    grdTable.AddCell(new Phrase(HttpUtility.HtmlDecode(dato), LetraDefecto));
                }
                grdTable.CompleteRow();
            }

            //Cerramos el Documento
            documento.Add(grdTable);
            documento.Close();

            HttpContext.Current.Response.ContentType = "application/pdf";
            HttpContext.Current.Response.AddHeader("content-disposition", "attachment; filename=" + strTitulo.Trim().Replace(" ", string.Empty) + "-" + fecha.Replace(' ', '_').Trim() + ".pdf");
            HttpContext.Current.Response.Flush();//HttpContext.Current.Response.End();
        }
        //Se genera el PDF
        public void VariasPaginas(string OT, string NombreOT, string FI, string FT, string Check)
        {            //inicio variables
            int    CantGuias   = 0;
            string tirajeTotal = "";
            int    totalDesp   = 0;

            //fin variables
            List <DespachoPDF> lista = ListDespacho(OT, NombreOT, FI, FT, Check);


            MemoryStream MStream  = new MemoryStream();
            Document     document = new Document(PageSize.A4.Rotate(), 30, 30, 60, 30);
            PdfWriter    writer   = PdfWriter.GetInstance(document, MStream);

            writer.CloseStream = false;

            itsEvents ev = new itsEvents();

            writer.PageEvent = ev;
            BaseFont bftime = BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.CP1252, false);
            Font     time   = new Font(bftime, 16, Font.BOLD, Color.BLACK);

            if (FI == "01/01/1900" || FT == ":01/01/1900")
            {
                info = "INFORME DIARIO \nFecha : " + DateTime.Now.ToString("dd/MM/yyyy") + " ";// Nombre : " + NombreOT + "
            }
            else
            {
                if (FI == FT)
                {
                    info = "INFORME DIARIO \nFecha : " + FI + " ";
                }
                else
                {
                    info = "INFORME DIARIO \nFecha Inicio:" + FI + "  Fecha Termino: " + FT;
                }
            }



            Paragraph    para   = new Paragraph("  ", time);//"      Informe Despachos por OT \n", time
            HeaderFooter header = new HeaderFooter(para, false);

            header.Alignment = Element.ALIGN_CENTER;
            header.Border    = 0;

            document.Header = header;
            document.Open();


            int columnCount = 7;
            int rowCount    = lista.Count;
            int tableRows   = rowCount + 3;

            iTextSharp.text.Table grdTable = new iTextSharp.text.Table(columnCount, tableRows);
            //
            grdTable.Width = 100;
            //int[] w = new int[] { 12, 13, 35, 60, 25, 15, 20, 2 };
            //int[] w = new int[] { 8, 18, 36, 68, 15, 10, 8 }; ORIGNAL
            int[] w = new int[] { 12, 13, 35, 60, 25, 15, 20 };
            grdTable.SetWidths(w);
            grdTable.BorderColor = new iTextSharp.text.Color(0);
            grdTable.BorderWidth = 1;//1
            grdTable.Cellpadding = 15;
            grdTable.Cellspacing = -15;

            int[] widths   = new int[lista.Count];
            int   contador = 0;

            foreach (DespachoPDF des in lista)
            {
                if ((contador % 2) == 0)
                {
                    grdTable.DefaultCell.BackgroundColor = new iTextSharp.text.Color(255, 255, 255);
                    grdTable.Cellpadding = 1;
                    grdTable.Cellspacing = 0;
                    //grdTable.DefaultCell.BorderColor = new iTextSharp.text.Color(255, 255, 255);
                }
                else
                {
                    grdTable.DefaultCell.BackgroundColor = new iTextSharp.text.Color(210, 210, 210);
                    grdTable.Cellpadding = 1;
                    grdTable.Cellspacing = 0;
                    //grdTable.DefaultCell.BorderColor = new iTextSharp.text.Color(255, 255, 255);
                }
                bftime = BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.CP1252, false);
                time   = new Font(bftime, 9, Font.NORMAL, Color.BLACK);

                grdTable.DefaultCell.HorizontalAlignment = Element.ALIGN_LEFT;

                grdTable.AddCell(new Paragraph(des.OT, time));
                grdTable.DefaultCell.HorizontalAlignment = Element.ALIGN_RIGHT;

                grdTable.AddCell(new Paragraph(des.guia.ToString(), time));
                grdTable.DefaultCell.HorizontalAlignment = Element.ALIGN_LEFT;

                grdTable.AddCell(new Paragraph(des.NombreOT, time));
                grdTable.AddCell(new Paragraph(des.Cliente, time));
                grdTable.DefaultCell.HorizontalAlignment = Element.ALIGN_CENTER;
                grdTable.AddCell(new Paragraph(des.FechaImpresion.ToString(), time));

                grdTable.DefaultCell.HorizontalAlignment = Element.ALIGN_RIGHT;

                grdTable.AddCell(new Paragraph(des.TirajeTotal, time));
                grdTable.AddCell(new Paragraph(des.Despachado, time));
                contador++;

                totalDesp   = totalDesp + des.Rut;
                CantGuias   = CantGuias + 1;
                tirajeTotal = des.TirajeTotal;
            }

            ////
            //iTextSharp.text.Table grdTable2 = new iTextSharp.text.Table(3, 3);
            ////
            //grdTable2.Width = 100;

            //int[] w2 = new int[] { 100, 15, 10 };
            //grdTable2.SetWidths(w2);
            //grdTable2.BorderColor = new iTextSharp.text.Color(0);
            //grdTable2.BorderWidth = 0;
            //grdTable2.Cellpadding = 1;//15
            ////grdTable2.Cellspacing = -15;
            //grdTable2.DefaultCell.Border = 0;
            //grdTable2.AddCell(new Paragraph("", time));//1
            //grdTable2.DefaultCell.BackgroundColor = new iTextSharp.text.Color(210, 210, 210);
            //grdTable2.DefaultCell.HorizontalAlignment = Element.ALIGN_LEFT;
            //grdTable2.DefaultCell.Border = 1;
            //grdTable2.DefaultCell.BorderWidthLeft = 1;
            //grdTable2.DefaultCell.BorderWidthRight = 1;
            //grdTable2.AddCell(new Paragraph("Cantidad Guías: ", time));

            //grdTable2.DefaultCell.BackgroundColor = new iTextSharp.text.Color(255, 255, 255);
            //grdTable2.DefaultCell.HorizontalAlignment = Element.ALIGN_RIGHT;
            //grdTable2.AddCell(new Paragraph(" " + CantGuias.ToString("N0"), time));

            //grdTable2.DefaultCell.Border = 0;
            //grdTable2.AddCell(new Paragraph("", time));//2
            //grdTable2.DefaultCell.BackgroundColor = new iTextSharp.text.Color(210, 210, 210);
            //grdTable2.DefaultCell.HorizontalAlignment = Element.ALIGN_LEFT;
            //grdTable2.DefaultCell.Border = 1;
            //grdTable2.DefaultCell.BorderWidthLeft = 1;
            //grdTable2.DefaultCell.BorderWidthRight = 1;
            //grdTable2.AddCell(new Paragraph("Tiraje Total: ", time));

            //grdTable2.DefaultCell.BackgroundColor = new iTextSharp.text.Color(255, 255, 255);
            //grdTable2.DefaultCell.HorizontalAlignment = Element.ALIGN_RIGHT;
            //grdTable2.AddCell(new Paragraph(" " + tirajeTotal, time));

            //grdTable2.DefaultCell.Border = 0;
            //grdTable2.AddCell(new Paragraph("", time));//3
            //grdTable2.DefaultCell.BackgroundColor = new iTextSharp.text.Color(210, 210, 210);
            //grdTable2.DefaultCell.HorizontalAlignment = Element.ALIGN_LEFT;
            //grdTable2.DefaultCell.Border = 1;
            //grdTable2.DefaultCell.BorderWidthLeft = 1;
            //grdTable2.DefaultCell.BorderWidthRight = 1;
            //grdTable2.DefaultCell.BorderWidthBottom = 1;
            //grdTable2.AddCell(new Paragraph("Total Despachado: ", time));

            //grdTable2.DefaultCell.BackgroundColor = new iTextSharp.text.Color(255, 255, 255);
            //grdTable2.DefaultCell.HorizontalAlignment = Element.ALIGN_RIGHT;
            //grdTable2.AddCell(new Paragraph(" " + totalDesp.ToString("N0"), time));



            document.Add(grdTable);

            //document.Add(new Paragraph("\n"));
            //document.Add(grdTable2);

            document.Close();

            //var context = HttpContext.Current;
            Response.ContentType = "application/pdf";
            Response.Buffer      = true;
            Response.ClearContent();
            Response.ClearHeaders();

            string fecha = "";

            if (FI == "01/01/1900" || FI == "")
            {
                fecha = DateTime.Now.ToString("dd/MM/yyyy");
            }
            else
            {
                fecha = FI;
            }
            Response.AddHeader("Content-Disposition", "attachment;filename=InformeDiario_" + fecha.ToString() + ".pdf");
            Response.BinaryWrite(MStream.GetBuffer());
            Response.End();
        }
        //Se genera el PDF
        public void VariasPaginas(string OT, string NombreOT, string Cliente, string FeInicio, string FeTermino)
        {
            info = "";
            List <DespachoFuturosExcel> lista = ListDespachoFuturos(OT, NombreOT, Cliente, FeInicio, FeTermino);
            MemoryStream MStream  = new MemoryStream();
            Document     document = new Document(PageSize.A4.Rotate(), 30, 30, 60, 30);
            PdfWriter    writer   = PdfWriter.GetInstance(document, MStream);

            writer.CloseStream = false;

            itsEvents ev = new itsEvents();

            writer.PageEvent = ev;
            BaseFont bftime = BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.CP1252, false);
            Font     time   = new Font(bftime, 16, Font.BOLD, Color.BLACK);

            if (OT != "" || NombreOT != "" || Cliente != "" || (FeInicio != "" && FeTermino != ""))
            {
                if (OT != "")
                {
                    info = info + "OT : " + OT;
                }
                if (NombreOT != "")
                {
                    info = info + " Nombre OT : " + NombreOT;
                }
                if (Cliente != "")
                {
                    info = info + " Cliente :" + Cliente;
                }
                if (FeInicio != "")
                {
                    info = info + " Fecha Inicio : " + FeInicio;
                }
                if (FeTermino != "")
                {
                    info = info + " Fecha Termino " + FeTermino;
                }
            }
            else
            {
                string   f           = DateTime.Now.ToShortDateString();
                string[] str3        = f.Split('/');
                string   nowFecha    = str3[1] + "/" + str3[0] + "/" + str3[2].Substring(0, 4) + " 0:00:00 AM";
                string   f2          = DateTime.Now.ToString();
                string[] str4        = f2.Split('/');
                string   mañanaFecha = str4[1] + "/" + str4[0] + "/" + str4[2].Substring(0, 4);
                info = "Fecha Inicio : " + nowFecha + " Fecha Termino : " + mañanaFecha + " 23:59:59 PM";
            }
            Paragraph    para   = new Paragraph("      Informe Despachos Futuros \n", time);
            HeaderFooter header = new HeaderFooter(para, false);

            header.Alignment = Element.ALIGN_CENTER;
            header.Border    = 0;

            document.Header = header;
            document.Open();


            int columnCount = 6;
            int rowCount    = lista.Count;
            int tableRows   = rowCount + 3;

            iTextSharp.text.Table grdTable = new iTextSharp.text.Table(columnCount, tableRows);
            //
            grdTable.Width = 100;
            int[] w = new int[] { 8, 36, 36, 15, 15, 10 };
            grdTable.SetWidths(w);
            grdTable.BorderColor = new iTextSharp.text.Color(0);
            grdTable.BorderWidth = 1;
            grdTable.Cellpadding = 15;
            grdTable.Cellspacing = -15;

            int[] widths   = new int[lista.Count];
            int   contador = 0;

            foreach (DespachoFuturosExcel des in lista)
            {
                if ((contador % 2) == 0)
                {
                    grdTable.DefaultCell.BackgroundColor = new iTextSharp.text.Color(255, 255, 255);
                    grdTable.Cellpadding = 1;
                    grdTable.Cellspacing = 0;
                    //grdTable.DefaultCell.BorderColor = new iTextSharp.text.Color(255, 255, 255);
                }
                else
                {
                    grdTable.DefaultCell.BackgroundColor = new iTextSharp.text.Color(210, 210, 210);
                    grdTable.Cellpadding = 1;
                    grdTable.Cellspacing = 0;
                    //grdTable.DefaultCell.BorderColor = new iTextSharp.text.Color(255, 255, 255);
                }
                bftime = BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.CP1252, false);
                time   = new Font(bftime, 9, Font.NORMAL, Color.BLACK);
                grdTable.DefaultCell.HorizontalAlignment = Element.ALIGN_LEFT;
                grdTable.AddCell(new Paragraph(des.OT, time));
                grdTable.AddCell(new Paragraph(des.NombreOT, time));
                grdTable.AddCell(new Paragraph(des.Cliente, time));
                grdTable.DefaultCell.HorizontalAlignment = Element.ALIGN_RIGHT;
                grdTable.AddCell(new Paragraph(des.Cant, time));
                DateTime de    = Convert.ToDateTime(des.FechaDes);
                string   fecha = de.ToString("dd/MM/yyyy HH:mm:ss");//des.fechades.tostring(...)
                grdTable.AddCell(new Paragraph(fecha, time));
                try
                {
                    string[] str        = des.Despachado.Split('>');
                    string   porcentaje = str[1];
                    grdTable.AddCell(new Paragraph(porcentaje, time));
                }
                catch
                {
                    grdTable.AddCell(new Paragraph(des.Despachado, time));
                }
                contador++;
            }


            document.Add(grdTable);
            document.Close();

            //var context = HttpContext.Current;
            Response.ContentType = "application/pdf";
            Response.Buffer      = true;
            Response.ClearContent();
            Response.ClearHeaders();

            Response.AddHeader("Content-Disposition", "attachment;filename=Reporte_Despacho.pdf");
            Response.BinaryWrite(MStream.GetBuffer());
            Response.End();
        }
Ejemplo n.º 6
0
        //Se genera el PDF
        public void VariasPaginas(string OT, string NombreOT)
        {
            List <Despacho> lista    = ListDespacho(OT);
            MemoryStream    MStream  = new MemoryStream();
            Document        document = new Document(PageSize.A4.Rotate(), 30, 30, 60, 30);
            PdfWriter       writer   = PdfWriter.GetInstance(document, MStream);

            writer.CloseStream = false;

            itsEvents ev = new itsEvents();

            writer.PageEvent = ev;
            BaseFont bftime = BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.CP1252, false);
            Font     time   = new Font(bftime, 16, Font.BOLD, Color.BLACK);

            info = "OT : " + OT + "  Nombre : " + NombreOT;
            Paragraph    para   = new Paragraph("      Informe Despachos por OT \n", time);
            HeaderFooter header = new HeaderFooter(para, false);

            header.Alignment = Element.ALIGN_CENTER;
            header.Border    = 0;

            document.Header = header;
            document.Open();


            int columnCount = 7;
            int rowCount    = lista.Count;
            int tableRows   = rowCount + 3;

            iTextSharp.text.Table grdTable = new iTextSharp.text.Table(columnCount, tableRows);
            //
            grdTable.Width = 100;
            int[] w = new int[] { 8, 18, 36, 68, 15, 10, 8 };
            grdTable.SetWidths(w);
            grdTable.BorderColor = new iTextSharp.text.Color(0);
            grdTable.BorderWidth = 1;
            grdTable.Cellpadding = 15;
            grdTable.Cellspacing = -15;

            int[] widths   = new int[lista.Count];
            int   contador = 0;

            foreach (Despacho des in lista)
            {
                if ((contador % 2) == 0)
                {
                    grdTable.DefaultCell.BackgroundColor = new iTextSharp.text.Color(255, 255, 255);
                    grdTable.Cellpadding = 1;
                    grdTable.Cellspacing = 0;
                    //grdTable.DefaultCell.BorderColor = new iTextSharp.text.Color(255, 255, 255);
                }
                else
                {
                    grdTable.DefaultCell.BackgroundColor = new iTextSharp.text.Color(210, 210, 210);
                    grdTable.Cellpadding = 1;
                    grdTable.Cellspacing = 0;
                    //grdTable.DefaultCell.BorderColor = new iTextSharp.text.Color(255, 255, 255);
                }
                bftime = BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.CP1252, false);
                time   = new Font(bftime, 9, Font.NORMAL, Color.BLACK);
                grdTable.AddCell(new Paragraph(des.NumeroFolio, time));
                grdTable.AddCell(new Paragraph(des.FechaImpresion.ToString(), time));
                grdTable.AddCell(new Paragraph(des.Destinatario, time));
                grdTable.AddCell(new Paragraph(des.Sucursal, time));
                grdTable.AddCell(new Paragraph(des.Comuna, time));
                grdTable.AddCell(new Paragraph(des.StatusDes, time));
                grdTable.AddCell(new Paragraph(des.Despachado, time));
                contador++;
            }


            document.Add(grdTable);
            document.Close();

            //var context = HttpContext.Current;
            Response.ContentType = "application/pdf";
            Response.Buffer      = true;
            Response.ClearContent();
            Response.ClearHeaders();

            Response.AddHeader("Content-Disposition", "attachment;filename=Reporte_Despacho.pdf");
            Response.BinaryWrite(MStream.GetBuffer());
            Response.End();
        }