Example #1
0
        public IActionResult AsInfo(AsInfoViewModel asInfoViewModel, string Command)
        {
            ViewBag.Command = Command;

            if (Command == "Download")
            {
                var stream = GeneratePDF(asInfoViewModel);
                return(File(stream.ToArray(), "application/pdf", "A/S 신청안내.pdf"));
            }

            return(View(asInfoViewModel));
        }
Example #2
0
        public MemoryStream GeneratePDF(AsInfoViewModel asInfoViewModel)
        {
            System.IO.MemoryStream fs = new MemoryStream();
            Document document         = new Document();

            document.SetPageSize(iTextSharp.text.PageSize.A4);
            PdfWriter writer = PdfWriter.GetInstance(document, fs);

            document.Open();

            var rootPath = _hostingEnvironment.WebRootPath;
            //Korean Font
            var gulim = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Fonts), "ARIALUNI.TTF");

            //Report Header
            iTextSharp.text.pdf.BaseFont bfntHead = iTextSharp.text.pdf.BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
            //iTextSharp.text.Font fntHead = new iTextSharp.text.Font(bfntHead, 16, 1, iTextSharp.text.BaseColor.GRAY);
            BaseFont  fntHead    = BaseFont.CreateFont(gulim, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
            Font      f          = new Font(fntHead, 12, Font.NORMAL);
            Paragraph prgHeading = new Paragraph();

            prgHeading.Alignment = Element.ALIGN_CENTER;
            prgHeading.Add(new Chunk("A/S 신청안내", f));
            document.Add(prgHeading);


            //Add a line seperation
            Paragraph p = new Paragraph(new Chunk(new iTextSharp.text.pdf.draw.LineSeparator(0.0F, 100.0F, iTextSharp.text.BaseColor.BLACK, Element.ALIGN_LEFT, 1)));

            document.Add(p);

            //Add line break
            document.Add(new Chunk("\n", f));

            //Write the table
            PdfPTable table = new PdfPTable(2);

            ////Table header
            //BaseFont btnColumnHeader = BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
            //Font fntColumnHeader = new Font(btnColumnHeader, 10, 1, iTextSharp.text.BaseColor.WHITE);
            //for (int i = 0; i < dtblTable.Columns.Count; i++)
            //{
            //    PdfPCell cell = new PdfPCell();
            //    cell.BackgroundColor = Color.GRAY;
            //    cell.AddElement(new Chunk(dtblTable.Columns[i].ColumnName.ToUpper(), fntColumnHeader));
            //    table.AddCell(cell);
            //}
            //table Data

            table.AddCell(new Phrase("업체명", f));
            table.AddCell(new Phrase(asInfoViewModel.CompanyName, f));

            table.AddCell(new Phrase("담당자", f));
            table.AddCell(new Phrase(asInfoViewModel.Manager, f));

            table.AddCell(new Phrase("연락처", f));
            table.AddCell(new Phrase(asInfoViewModel.Contact, f));

            table.AddCell(new Phrase("FAX", f));
            table.AddCell(new Phrase(asInfoViewModel.Fax, f));

            table.AddCell(new Phrase("휴대전화", f));
            table.AddCell(new Phrase(asInfoViewModel.CellPhone, f));

            table.AddCell(new Phrase("이메일", f));
            table.AddCell(new Phrase(asInfoViewModel.Email, f));

            table.AddCell(new Phrase("제품명", f));
            table.AddCell(new Phrase(asInfoViewModel.ProductName, f));

            table.AddCell(new Phrase("Serial No.", f));
            table.AddCell(new Phrase(asInfoViewModel.SerialNumber, f));

            table.AddCell(new Phrase("증상", f));
            table.AddCell(new Phrase(asInfoViewModel.Symptom, f));

            table.AddCell(new Phrase("내용", f));
            table.AddCell(new Phrase(asInfoViewModel.Content, f));

            document.Add(table);
            document.Close();
            //writer.Close();
            //fs.Close();

            return(fs);
        }