private PdfPTable Add_Content_To_PDF(PdfPTable tableLayout, InputGenerateCarta inputGenerateCarta)
        {
            float[] headers = { 20, 20, 30, 30 };
            tableLayout.SetWidths(headers);
            tableLayout.WidthPercentage = 80;

            tableLayout.AddCell(new PdfPCell(new Phrase("Creating PDF", new Font(Font.HELVETICA, 13, 1, new iTextSharp.text.BaseColor(153, 51, 0))))
            {
                Colspan             = 4,
                Border              = 0,
                PaddingBottom       = 20,
                HorizontalAlignment = Element.ALIGN_CENTER
            });
            //Add header
            AddCellToHeader(tableLayout, inputGenerateCarta.Nombre);
            AddCellToHeader(tableLayout, inputGenerateCarta.Apellido);
            AddCellToHeader(tableLayout, inputGenerateCarta.Titulo);
            AddCellToHeader(tableLayout, inputGenerateCarta.Cargo);
            AddCellToHeader(tableLayout, inputGenerateCarta.Organizacion);
            //Add body
            AddCellToBody(tableLayout, "Los ingenieros de software de ordenador se encargan de analizar, diseñar, crear y probar los sistemas informáticos y de ");
            AddCellToBody(tableLayout, "software. Además, escriben programas de software para satisfacer las necesidades de un cliente o para resolver un");
            AddCellToBody(tableLayout, "problema particular.");
            AddCellToBody(tableLayout, "");
            AddCellToBody(tableLayout, "Los ingenieros de software están involucrados en todas las etapas del desarrollo de un producto de");
            AddCellToBody(tableLayout, "software. Aplican la tecnología de software para satisfacer una necesidad específica o para resolver un");
            AddCellToBody(tableLayout, "problema particular.");
            AddCellToBody(tableLayout, inputGenerateCarta.Pais);
            AddCellToBody(tableLayout, inputGenerateCarta.Ciudad);
            AddCellToBody(tableLayout, inputGenerateCarta.Direccion);
            AddCellToBody(tableLayout, "Saroj Kohli, Prem Kohli");
            return(tableLayout);
        }
        private void GeneratePDFFile_Click(InputGenerateCarta inputGenerateCarta)
        {
            //var webRoot = _env.WebRootPath;
            var path = @"C:\DocsPDF";

            //var pathRoot = Path.GetPathRoot();
            namePdf = inputGenerateCarta.NamePdf + ".pdf";
            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }

            file = Path.Combine(path, namePdf);

            Document  doc         = new Document();
            PdfPTable tableLayout = new PdfPTable(4);

            PdfWriter.GetInstance(doc, new FileStream(file, FileMode.Create));
            doc.Open();
            doc.Add(Add_Content_To_PDF(tableLayout, inputGenerateCarta));
            doc.Close();
        }
        private void insertGeneratePdf(InputGenerateCarta inputGenerateCarta)
        {
            var idiomas = _context.Idioma.FirstOrDefault(i => i.Id == inputGenerateCarta.IdIdiomas);
            var usuario = _context.Usuario.FirstOrDefault(i => i.Id == inputGenerateCarta.IdUsuarios);

            var cartaGenerada = new CartaGenerada()
            {
                Nombre       = inputGenerateCarta.Nombre,
                Apellido     = inputGenerateCarta.Apellido,
                Titulo       = inputGenerateCarta.Titulo,
                Cargo        = inputGenerateCarta.Cargo,
                Organizacion = inputGenerateCarta.Organizacion,
                Direccion    = inputGenerateCarta.Direccion,
                Ciudad       = inputGenerateCarta.Ciudad,
                Idiomas      = idiomas,
                Usuarios     = usuario,
                Pais         = inputGenerateCarta.Pais,
                namePdf      = namePdf,
                urlPdf       = file
            };

            _context.CartaGenerada.Add(cartaGenerada);
            _context.SaveChanges();
        }