/// <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(); }
/// <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(); }
/// <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(); }
//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(); }