public static byte[] StampaEmailAttoITEXT(List <MailHeaderExtended> dt, string account, string cartella, string datai, string dataf, string parentFolder, string accountid) { // step 1: creation of a document-object Document document = new Document(PageSize.A4.Rotate(), 10, 10, 70, 15); MemoryStream ms = new MemoryStream(); // step 2: we create a writer that listens to the document PdfWriter writer = PdfWriter.GetInstance(document, ms); iTextSharp.text.Image imageHeader = iTextSharp.text.Image.GetInstance(ConfigurationManager.AppSettings["Logo"]); imageHeader.ScaleToFit(400, 80); MyPageEventHandler e = new MyPageEventHandler() { ImageHeader = imageHeader, Titolo = "N. righe : " + dt.Count.ToString() + " - Email: " + account + " Cartella: " + cartella + " intervallo date : " + datai + " - " + dataf }; writer.PageEvent = e; //set some header stuff document.AddTitle("Elenco Email"); document.AddSubject("Elenco Email"); document.AddCreator("Roma Capitale"); document.AddAuthor("n.r."); // step 3: we open the document document.Open(); // step 4: we add content to the document CollectionToPDFTableAtti(ref document, dt, parentFolder, accountid); // step 5: we close the document document.Close(); return(ms.ToArray()); }
public static byte[] StampaStatisticaITEXT(List <UserResultItem> list, string account, string datai, string dataf) { // step 1: creation of a document-object Document document = new Document(PageSize.A4.Rotate(), 10, 10, 70, 15); MemoryStream ms = new MemoryStream(); // step 2: we create a writer that listens to the document PdfWriter writer = PdfWriter.GetInstance(document, ms); iTextSharp.text.Image imageHeader = iTextSharp.text.Image.GetInstance(ConfigurationManager.AppSettings["Image"]); MyPageEventHandler e = new MyPageEventHandler() { ImageHeader = imageHeader, Titolo = "N. righe : " + list.Count.ToString() + " - Email: " + account + " intervallo date : " + datai + " - " + dataf }; writer.PageEvent = e; //set some header stuff document.AddTitle("Statistica Lavorazioni"); document.AddSubject("Statistica Lavorazioni"); document.AddCreator("Roma Capitale"); document.AddAuthor("n.r."); // step 3: we open the document document.Open(); // step 4: we add content to the document CollectionToPDFStat(ref document, list); // step 5: we close the document document.Close(); return(ms.ToArray()); }
// Function to exoprt the given client's simulation list in to format pdf public static void writePdf(Client clt, UIMainForm form) { // Print PDF table string pdfname = string.Empty; SaveFileDialog dlg = new SaveFileDialog(); dlg.FileName = "Okinvestir Simulation liste"; dlg.DefaultExt = ".pdf"; dlg.Filter = "Text documents (.pdf)|*.pdf"; var logo = System.Drawing.Image.FromHbitmap(Properties.Resources.logo.GetHbitmap()); Image imageHeader = Image.GetInstance(logo, System.Drawing.Imaging.ImageFormat.Png); if (dlg.ShowDialog() == DialogResult.OK) { pdfname = dlg.FileName; List <Simulation> simus = clt.getSimulationList(); try { FileStream fs = new FileStream(pdfname, FileMode.Create); // Create file stream Document document = new Document(PageSize.A4.Rotate()); // Create file PageSize.A7.Rotate() PdfWriter pdfWriter = PdfWriter.GetInstance(document, fs); // Create objet MyPageEventHandler e = new MyPageEventHandler() { ImageHeader = imageHeader }; pdfWriter.PageEvent = e; document.Open(); // Open file document.Add(PDFTable1(clt)); //add table document.SetPageSize(PageSize.A4); // A4 print in lanscape orientation document.NewPage(); // Open a new page document.Close(); // Close file fs.Close(); } catch { form.genMsgBox("Fail to export pdf file, maybe de file is already openned", "error", MessageBoxButtons.RetryCancel, MessageBoxIcon.Error); } } }
private static void PrintDebtHistory() { System.Drawing.Image imageHeader = (System.Drawing.Image)CCMM.Properties.Resources.logo; var logo = iTextSharp.text.Image.GetInstance(imageHeader, System.Drawing.Imaging.ImageFormat.Png); MyPageEventHandler e = new MyPageEventHandler() { ImageHeader = logo }; // Create a Document object var document = new Document(PageSize.A4, 50, 50, 180, 25); //ID, NAME, CONCEPT, LIMIT DATE, AMOUNT string file = "HistorialDeudas-" + _reportData[0][0] + ".pdf"; // Create a new PdfWriter object, specifying the output stream var output = new MemoryStream(); //var writer = PdfWriter.GetInstance(document, output); var writer = PdfWriter.GetInstance(document, new FileStream(file, FileMode.Create)); writer.PageEvent = e; // Open the Document for writing document.Open(); var fontLevelTitle = FontFactory.GetFont("Arial", 12, Font.BOLD); var subTitleFont = FontFactory.GetFont("Arial", 16); var boldTableFont = FontFactory.GetFont("Arial", 13); var cellTitle = FontFactory.GetFont("Arial", 11, Font.BOLD); var bodyFont = FontFactory.GetFont("Arial", 10); //Check if there's at least one payment if (_reportData.Count > 0) { //ID, NAME, CONCEPT, LIMIT DATE, AMOUNT infoStudent selectedStudent = DAL.getStudentDetails(Int32.Parse(_reportData[0][0])); //Create base table and level table var levelTable = new PdfPTable(3); levelTable.TotalWidth = 475f; levelTable.LockedWidth = true; levelTable.SpacingBefore = 45f; float[] widths = new float[] { 197f, 177f, 101f }; levelTable.SetWidths(widths); string levelTitle = "Deudas por: " + _reportData[0][1]; PdfPCell cellLevelName = new PdfPCell(new Phrase(levelTitle, fontLevelTitle)); cellLevelName.Border = PdfPCell.NO_BORDER; cellLevelName.Colspan = 3; cellLevelName.PaddingBottom = 3; levelTable.AddCell(cellLevelName); string studentInfo = "Cuenta #" + _reportData[0][0] + " || Nivel: " + getLevelName(selectedStudent.studentLevel).ToUpper(); PdfPCell cellStudentAccount = new PdfPCell(new Phrase(studentInfo, fontLevelTitle)); cellStudentAccount.Border = PdfPCell.NO_BORDER; cellStudentAccount.Colspan = 3; cellStudentAccount.PaddingBottom = 3; levelTable.AddCell(cellStudentAccount); string studentInfo2 = "Grado: " + BAL.getGradeLevel(selectedStudent.studentLevel, selectedStudent.studentGroup).ToString() + " Grupo: A"; PdfPCell cellStudentAccount2 = new PdfPCell(new Phrase(studentInfo2, fontLevelTitle)); cellStudentAccount2.Border = PdfPCell.NO_BORDER; cellStudentAccount2.Colspan = 3; cellStudentAccount2.PaddingBottom = 10; levelTable.AddCell(cellStudentAccount2); //Column names PdfPCell cellConcept = new PdfPCell(new Phrase("Concepto", cellTitle)); cellConcept.Border = PdfPCell.NO_BORDER; PdfPCell cellPayDate = new PdfPCell(new Phrase("Fecha Limite", cellTitle)); cellPayDate.Border = PdfPCell.NO_BORDER; PdfPCell cellCharge = new PdfPCell(new Phrase("Importe", cellTitle)); cellCharge.Border = PdfPCell.NO_BORDER; cellCharge.HorizontalAlignment = PdfPCell.ALIGN_RIGHT; levelTable.AddCell(cellConcept); levelTable.AddCell(cellPayDate); levelTable.AddCell(cellCharge); double totalAmount = 0.0; //Go trough each payment that fits the level and print it. foreach (var payment in _reportData) { //ID, NAME, CONCEPT, LIMIT DATE, AMOUNT totalAmount += double.Parse(payment[4]); cellPayDate = new PdfPCell(new Phrase(DateTime.Parse(payment[3]).ToShortDateString(), bodyFont)); cellPayDate.Border = PdfPCell.BOTTOM_BORDER; cellConcept = new PdfPCell(new Phrase(payment[2], bodyFont)); cellConcept.Border = PdfPCell.BOTTOM_BORDER; double tempPayment = double.Parse(payment[4]); cellCharge = new PdfPCell(new Phrase(tempPayment.ToString(BAL.MoneyFormat), bodyFont)); cellCharge.Border = PdfPCell.BOTTOM_BORDER; cellCharge.HorizontalAlignment = PdfPCell.ALIGN_RIGHT; levelTable.AddCell(cellConcept); levelTable.AddCell(cellPayDate); levelTable.AddCell(cellCharge); } document.Add(levelTable); //Print totals string txtTotalEarings = "Total de DEUDAS por " + _reportData[0][1]; PdfPCell cellTotalEarnings = new PdfPCell(new Phrase(txtTotalEarings)); cellTotalEarnings.Border = PdfPCell.NO_BORDER; cellTotalEarnings.HorizontalAlignment = PdfPCell.ALIGN_RIGHT; PdfPCell cellnumEarnings = new PdfPCell(new Phrase(totalAmount.ToString(BAL.MoneyFormat))); cellnumEarnings.Border = PdfPCell.NO_BORDER; cellnumEarnings.HorizontalAlignment = PdfPCell.ALIGN_RIGHT; var totalsTable = new PdfPTable(2); totalsTable.TotalWidth = 475f; totalsTable.LockedWidth = true; totalsTable.SpacingBefore = 45f; float[] totalsWidth = new float[] { 325f, 150f }; totalsTable.SetWidths(totalsWidth); totalsTable.AddCell(cellTotalEarnings); totalsTable.AddCell(cellnumEarnings); document.Add(totalsTable); document.Close(); System.Diagnostics.Process.Start(file); } }
private static void PrintEarningsReport() { System.Drawing.Image imageHeader = (System.Drawing.Image)CCMM.Properties.Resources.logo; var logo = iTextSharp.text.Image.GetInstance(imageHeader, System.Drawing.Imaging.ImageFormat.Png); double totalEarningsComplete = 0; MyPageEventHandler e = new MyPageEventHandler() { ImageHeader = logo }; // Create a Document object var document = new Document(PageSize.A4, 50, 50, 180, 25); string file = "ReporteIngresos" + _checkedDate.ToString("MM-dd-yy") + ".pdf"; // Create a new PdfWriter object, specifying the output stream var output = new MemoryStream(); //var writer = PdfWriter.GetInstance(document, output); var writer = PdfWriter.GetInstance(document, new FileStream(file, FileMode.Create)); writer.PageEvent = e; // Open the Document for writing document.Open(); var fontLevelTitle = FontFactory.GetFont("Arial", 12, Font.BOLD); var subTitleFont = FontFactory.GetFont("Arial", 16); var boldTableFont = FontFactory.GetFont("Arial", 13); var cellTitle = FontFactory.GetFont("Arial", 11, Font.BOLD); var bodyFont = FontFactory.GetFont("Arial", 10); //Table //Go trough each level for (int j = 5; j >= 1; j--) { bool foundPayment = false; //Check if there's at least one payment for X level foreach (var payment in _reportData) { if (int.Parse(payment[0]) == j) foundPayment = true; } //If no payment was found, just skip to next one if (!foundPayment) continue; //Create base table and level table var levelTable = new PdfPTable(7); levelTable.TotalWidth = 475f; levelTable.LockedWidth = true; levelTable.SpacingBefore = 45f; float[] widths = new float[] { 40f, 40f, 50f, 137f, 47f, 94f, 67f }; levelTable.SetWidths(widths); string levelTitle = "Nivel Escolar: " + getLevelName(j).ToUpper(); PdfPCell cellLevelName = new PdfPCell(new Phrase(levelTitle, fontLevelTitle)); cellLevelName.Border = PdfPCell.NO_BORDER; cellLevelName.Colspan = 7; cellLevelName.PaddingBottom = 10; levelTable.AddCell(cellLevelName); //Column names PdfPCell cellGrade = new PdfPCell(new Phrase("Grado", cellTitle)); cellGrade.Border = PdfPCell.NO_BORDER; PdfPCell cellGroup = new PdfPCell(new Phrase("Grupo", cellTitle)); cellGroup.Border = PdfPCell.NO_BORDER; PdfPCell cellCuenta = new PdfPCell(new Phrase("Cuenta", cellTitle)); cellCuenta.Border = PdfPCell.NO_BORDER; cellCuenta.PaddingLeft = 5f; PdfPCell cellStudent = new PdfPCell(new Phrase("Alumno", cellTitle)); cellStudent.Border = PdfPCell.NO_BORDER; PdfPCell cellFolio = new PdfPCell(new Phrase("Folio", cellTitle)); cellFolio.Border = PdfPCell.NO_BORDER; PdfPCell cellConcept = new PdfPCell(new Phrase("Concepto", cellTitle)); cellConcept.Border = PdfPCell.NO_BORDER; PdfPCell cellCharge = new PdfPCell(new Phrase("Importe", cellTitle)); cellCharge.Border = PdfPCell.NO_BORDER; cellCharge.HorizontalAlignment = PdfPCell.ALIGN_RIGHT; levelTable.AddCell(cellGrade); levelTable.AddCell(cellGroup); levelTable.AddCell(cellCuenta); levelTable.AddCell(cellStudent); levelTable.AddCell(cellFolio); levelTable.AddCell(cellConcept); levelTable.AddCell(cellCharge); double totalAmount = 0.0; //Go trough each payment that fits the level and print it. foreach (var payment in _reportData) { ////Nivel, Grado, Grupo, SID, Nombre, Folio, Conceptop, Importe if (int.Parse(payment[0]) == j) { totalAmount += double.Parse(payment[7]); cellGrade = new PdfPCell(new Phrase(payment[1], bodyFont)); cellGrade.Border = PdfPCell.BOTTOM_BORDER; cellGroup = new PdfPCell(new Phrase(payment[2], bodyFont)); cellGroup.Border = PdfPCell.BOTTOM_BORDER; cellCuenta = new PdfPCell(new Phrase(payment[3], bodyFont)); cellCuenta.Border = PdfPCell.BOTTOM_BORDER; cellCuenta.PaddingLeft = 5f; cellStudent = new PdfPCell(new Phrase(payment[4], bodyFont)); cellStudent.Border = PdfPCell.BOTTOM_BORDER; cellFolio = new PdfPCell(new Phrase(payment[5], bodyFont)); cellFolio.Border = PdfPCell.BOTTOM_BORDER; cellConcept = new PdfPCell(new Phrase(payment[6], bodyFont)); cellConcept.Border = PdfPCell.BOTTOM_BORDER; double tempPayment = double.Parse(payment[7]); cellCharge = new PdfPCell(new Phrase(tempPayment.ToString(BAL.MoneyFormat), bodyFont)); cellCharge.Border = PdfPCell.BOTTOM_BORDER; cellCharge.HorizontalAlignment = PdfPCell.ALIGN_RIGHT; levelTable.AddCell(cellGrade); levelTable.AddCell(cellGroup); levelTable.AddCell(cellCuenta); levelTable.AddCell(cellStudent); levelTable.AddCell(cellFolio); levelTable.AddCell(cellConcept); levelTable.AddCell(cellCharge); } } string levelFooterText = "Total Ingresado en " + getLevelName(j); PdfPCell celllevelTotalText = new PdfPCell(new Phrase(levelFooterText)); celllevelTotalText.Border = PdfPCell.TOP_BORDER; PdfPCell celllevelTotalAmount = new PdfPCell(new Phrase(totalAmount.ToString(BAL.MoneyFormat))); celllevelTotalAmount.Border = PdfPCell.TOP_BORDER; celllevelTotalText.Colspan = 6; celllevelTotalText.HorizontalAlignment = 2; celllevelTotalText.PaddingRight = 30f; celllevelTotalText.Border = 0; celllevelTotalAmount.Border = 0; celllevelTotalAmount.Colspan = 1; celllevelTotalAmount.HorizontalAlignment = 2; levelTable.AddCell(celllevelTotalText); levelTable.AddCell(celllevelTotalAmount); document.Add(levelTable); totalEarningsComplete += totalAmount; } //Print totals string txtTotalEarings = "Total Ingresado en " + _reportLevel; PdfPCell cellTotalEarnings = new PdfPCell(new Phrase(txtTotalEarings)); cellTotalEarnings.Border = PdfPCell.NO_BORDER; PdfPCell cellnumEarnings = new PdfPCell(new Phrase(totalEarningsComplete.ToString(BAL.MoneyFormat))); cellnumEarnings.Border = PdfPCell.NO_BORDER; var totalsTable = new PdfPTable(2); totalsTable.TotalWidth = 475f; totalsTable.LockedWidth = true; totalsTable.SpacingBefore = 45f; float[] totalsWidth = new float[] { 200f, 275f }; totalsTable.SetWidths(totalsWidth); totalsTable.AddCell(cellTotalEarnings); totalsTable.AddCell(cellnumEarnings); document.Add(totalsTable); document.Close(); System.Diagnostics.Process.Start(file); }
private void GenerateFile() { Rectangle rectangle = new Rectangle(PageSize.LETTER); using (MemoryStream ms = new MemoryStream()) using (Document document = new Document(rectangle)) using (PdfWriter writer = PdfWriter.GetInstance(document, ms)) { //Configuración y propiedades el archivo document.AddTitle("EVALUACIÓN PSICOLABORAL"); document.AddSubject("EVALUACIÓN PSICOLABORAL"); document.AddKeywords("Evaluación, Althus, Partners"); document.AddCreator("Plataforma de Evaluación"); document.AddAuthor("Plataforma de Evaluación"); document.SetMargins(document.LeftMargin + 20, document.RightMargin + 20, document.TopMargin + 65, document.BottomMargin + 20); //Header // the image we're using for the page header if (_imageEmpresa != null) { Image imageHeader = Image.GetInstance(_imageEmpresa); MyPageEventHandler e = new MyPageEventHandler() { ImageHeader = imageHeader }; writer.PageEvent = e; } document.Open(); //Generación del contenido // Título Paragraph titulo = new Paragraph("IDENTIFICACION DEL CANDIDATO:", Title1Font); document.Add(titulo); // EVALUACIÓN PSICOLABORAL // Confidencial PdfPTable firstTable = GetPdfTable(new float[] { 1, 2 }); firstTable.AddCell(GetHeaderCell("Nombre")); firstTable.AddCell(GetNormalCell(_Evaluacion.Evaluado.NombreCompleto)); firstTable.AddCell(GetHeaderCell("Cargo al cual postula")); firstTable.AddCell(GetNormalCell(_Evaluacion.Cargo.Cargo1)); firstTable.AddCell(GetHeaderCell("Empresa")); firstTable.AddCell(GetNormalCell(_Evaluacion.Cargo.Empresa.Empresa1)); firstTable.AddCell(GetHeaderCell("Profesión")); firstTable.AddCell(GetNormalCell(_Evaluacion.Evaluado.Profesion)); DateTime today = DateTime.Today; int age = today.Year - _Evaluacion.Evaluado.FechaNacimiento.Year; if (_Evaluacion.Evaluado.FechaNacimiento > today.AddYears(-age)) { age--; } firstTable.AddCell(GetHeaderCell("Edad")); firstTable.AddCell(GetNormalCell(age.ToString())); firstTable.AddCell(GetHeaderCell("Rut")); firstTable.AddCell(GetNormalCell(new Rut(_Evaluacion.Evaluado.Rut).ToStringConGuion())); firstTable.AddCell(GetHeaderCell("Teléfonos")); firstTable.AddCell(GetNormalCell(_Evaluacion.Evaluado.Celular.ToString())); firstTable.AddCell(GetHeaderCell("E-mail")); firstTable.AddCell(GetNormalCell(_Evaluacion.Evaluado.Correo)); firstTable.AddCell(GetHeaderCell("Fecha de Evaluación")); firstTable.AddCell(GetNormalCell(_Evaluacion.FechaEvaluacion.ToString("dd-MM-yyyy"))); document.Add(firstTable); //Resumen Estudios y Trayectoria Laboral PdfPTable secondTable = GetPdfTable(new float[] { 1 }); secondTable.AddCell(GetHeaderCell("Resumen Estudios y Trayectoria Laboral")); PdfPCell celdaContenido = GetNormalCellRA(_Evaluacion.EvaluacionAbiertas .FirstOrDefault(x => x.IdTipoEvaluacionAbierta == TipoEvaluacionAbierta.ResumenEstudiosTrayectoriaLaboral) .EvaluacionAbierta1); //celdaContenido.PaddingTop = 10f; //celdaContenido.PaddingBottom = 10f; secondTable.AddCell(celdaContenido); document.Add(secondTable); //Motivación PdfPTable thirdTable = GetPdfTable(new float[] { 1 }); thirdTable.AddCell(GetHeaderCell("Motivación Por Cargo")); celdaContenido = GetNormalCellRA(_Evaluacion.EvaluacionAbiertas .FirstOrDefault(x => x.IdTipoEvaluacionAbierta == TipoEvaluacionAbierta.MotivacionCargo) .EvaluacionAbierta1); thirdTable.AddCell(celdaContenido); document.Add(thirdTable); //GRÁFICO DE COMPETENCIAS: document.NewPage(); Paragraph titulo2 = new Paragraph("GRÁFICO DE COMPETENCIAS:", Title1Font); document.Add(titulo2); PdfPTable chartTable = GetPdfTable(1); //chartTable.AddCell(GetHeaderCell("GRÁFICO DE COMPETENCIAS")); GeneraGraficoEvaluacion graficEvaluacion = new GeneraGraficoEvaluacion(); Image grafico = Image.GetInstance(graficEvaluacion.GenerarGrafico(_Evaluacion)); grafico.WidthPercentage = 100; chartTable.AddCell(grafico); chartTable.SpacingBefore = 20f; chartTable.SpacingAfter = 20f; document.Add(chartTable); // Competencias PdfPTable fourthTable = GetPdfTable(new float[] { 3, 12, 2, 2 }); fourthTable.AddCell(GetHeaderCellCenter("Competencia")); fourthTable.AddCell(GetHeaderCellCenter("Observaciones")); fourthTable.AddCell(GetHeaderCellCenter("Valor Esperado")); fourthTable.AddCell(GetHeaderCellCenter("Valor Obtenido")); foreach (var competencia in _Evaluacion.Cargo.Competencias.OrderByDescending(x => x.IdCompetencia)) { EvaluacionCompetencia evaluacion = _Evaluacion.EvaluacionCompetencias.SingleOrDefault(x => x.IdCompetencia == competencia.IdCompetencia); fourthTable.AddCell(GetHeaderLeftCellCenter(competencia.Competencia1)); fourthTable.AddCell(GetNormalCell(evaluacion != null ? evaluacion.Observacion : String.Empty)); fourthTable.AddCell(GetNormalCellCenter(competencia.ValorEsperado.ToString())); fourthTable.AddCell(GetNormalCellCenter(evaluacion != null ? evaluacion.ValorObtenido.ToString() : String.Empty)); } document.Add(fourthTable); // Conclusiones PdfPTable fifthTable = GetPdfTable(new float[] { 1 }); fifthTable.AddCell(GetHeaderCell("Conclusión y Sugerencias")); fifthTable.KeepTogether = true; fifthTable.AddCell(GetNormalCellRA(_Evaluacion.EvaluacionAbiertas .FirstOrDefault(x => x.IdTipoEvaluacionAbierta == TipoEvaluacionAbierta.ConclusionSugerencias) .EvaluacionAbierta1)); document.Add(fifthTable); // Diagnóstico PdfPTable sixthTable = GetPdfTable(new float[] { 1 }); sixthTable.KeepTogether = true; sixthTable.AddCell(GetHeaderCell("Diagnóstico Psicolaboral")); sixthTable.AddCell(GetDiagnosticoCell(_Evaluacion.TipoDiagnostico.TipoDiagnostico1)); document.Add(sixthTable); //GLosario document.NewPage(); document.Add(new Paragraph("CATEGORÍAS DE EVALUACIÓN PARA SELECCIÓN", Title1FontUnderline) { Alignment = Rectangle.ALIGN_CENTER, SpacingBefore = 10f, SpacingAfter = 10f }); document.Add(new Paragraph("RECOMENDABLE:", Title2Font) { SpacingBefore = 10f }); document.Add(new Paragraph("El postulante cumple cabalmente todas las exigencias y presenta un potencial de nivel sobresaliente.", normalFont) { Alignment = Rectangle.ALIGN_JUSTIFIED }); document.Add(new Paragraph("ADECUADO:", Title2Font) { SpacingBefore = 10f }); document.Add(new Paragraph("Satisface las condiciones exigidas presentando un nivel de potencial adecuado.", normalFont) { Alignment = Rectangle.ALIGN_JUSTIFIED }); document.Add(new Paragraph("ADECUADO CON OBSERVACIONES:", Title2Font) { SpacingBefore = 10f }); document.Add(new Paragraph("Cumple con condiciones básicas para el cargo, presentando debilidades específicas que pueden evolucionar positivamente.", normalFont) { Alignment = Rectangle.ALIGN_JUSTIFIED }); document.Add(new Paragraph("NO RECOMENDABLE:", Title2Font) { SpacingBefore = 10f }); document.Add(new Paragraph("Satisface algunas condiciones, pero presenta debilidades significativas, características intelectuales, de personalidad o motivacionales que limitarían su nivel de desempeño.", normalFont) { Alignment = Rectangle.ALIGN_JUSTIFIED }); //Exportar archivo document.Close(); writer.Close(); ms.Close(); _File = ms.GetBuffer(); } }