Example #1
0
        private byte[] CreatePDF(string html)
        {
            Document document = new Document();

            document.SetPageSize(iTextSharp.text.PageSize.A4.Rotate());
            document.SetMargins(50, 50, 10, 40);
            var output = new MemoryStream();
            var writer = PdfWriter.GetInstance(document, output);

            writer.PageEvent = new ImpactAnalysisHeaderHandler();
            document.Open();

            PdfPTable frontPage = CreateFrontPage();

            document.Add(frontPage);

            iTextSharp.text.html.simpleparser.StyleSheet styles = new iTextSharp.text.html.simpleparser.StyleSheet();
            var elem = HTMLWorker.ParseToList(new StringReader(html), styles);

            foreach (IElement item in elem)
            {
                if (item is PdfPTable)
                {
                    PdfPTable t = item as PdfPTable;
                    if (t != null)
                    {
                        t.SplitLate    = false;
                        t.KeepTogether = true;
                        PdfPHelper.FixTables(t);
                        PdfPHelper.FixMainRowsPadding(t);
                        document.Add(t);
                    }
                }
            }
            document.Close();

            return(output.ToArray());
        }