示例#1
0
        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());
        }
示例#2
0
        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());
        }
示例#3
0
        // 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);
                }
            }
        }
示例#4
0
        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);
            }
        }
示例#5
0
        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);
        }
示例#6
0
        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();
                    }
        }