public void publishReportForWeb(Siberix.Report.Report Report) { try { System.Web.HttpContext context = System.Web.HttpContext.Current; System.Web.HttpResponse response = context.Response; response.Clear(); //PDF response.ContentType = "application/pdf"; response.AddHeader("content-disposition", "attachment; filename=report-" + string.Format("{0}.pdf", DateTime.Now.ToString("MMddyy"))); Report.Publish(response.OutputStream, Siberix.Report.FileFormat.PDF); HttpContext.Current.ApplicationInstance.CompleteRequest(); response.Close(); } catch (Exception ex) { } }
private string createPDF(string[] rows, string fileName) { try { var firstRow = rows[0]; //if (!useSiberix) //{ // var document = new Document(PageSize.A4.Rotate(), 10, 10, 10, 10); // var memStream = new MemoryStream(); // PdfWriter.GetInstance(document, memStream); // document.Open(); // var p1 = new Paragraph(new Chunk(firstRow, // FontFactory.GetFont(FontFactory.HELVETICA, 20))) { SpacingAfter = 20 }; // document.Add(p1); // var headerRow = rows[1]; // var columns = headerRow.Split('|'); // var dataTable = new PdfPTable(columns.Length); // dataTable.DefaultCell.Padding = 3; // dataTable.DefaultCell.BorderWidth = 1; // dataTable.WidthPercentage = 100; // dataTable.DefaultCell.HorizontalAlignment = Element.ALIGN_LEFT; // foreach (var s in columns) // { // dataTable.DefaultCell.GrayFill = 0.7f; // dataTable.DefaultCell.Padding = 5; // dataTable.AddCell(s.Replace("\"", "")); // dataTable.DefaultCell.HorizontalAlignment = Element.ALIGN_CENTER; // } // dataTable.HeaderRows = 1; // this is the end of the table header // dataTable.DefaultCell.BorderWidth = 1; // for (var i = 2; i < rows.Length; i++) // { // dataTable.DefaultCell.GrayFill = i % 2 == 1 ? 0.9f : 1f; // var values = rows[i].Split('|'); // for (var x = 0; x < columns.Length; x++) // { // dataTable.DefaultCell.HorizontalAlignment = x == 0 // ? Element.ALIGN_LEFT // : Element.ALIGN_CENTER; // var value = values[x] ?? ""; // dataTable.AddCell(value.Replace("\"", "")); // } // } // document.Add(dataTable); // document.Close(); // var idFile = TempFileManagerProvider.TempFileManager.SaveFile(memStream.ToArray()); // return String.Format("{{ \"fileId\" : \"{0}\", \"fileName\": \"{1}\" }}", idFile, fileName); //} //else //{ var report = new Siberix.Report.Report(); report.Info.Title = "Ranking Monitor Report"; report.Info.Author = "SEOToolSet"; report.Info.Creator = "SEOToolSet"; report.Info.Copyright = "© SEOToolSet, USA"; var section = report.AddSection(); section.Size = Siberix.Report.PageSize.A4; section.Orientation = Siberix.Report.Orientation.Landscape; section.Spacings.All = 35; var titleStyle = new Siberix.Report.Text.Style(new Siberix.Graphics.Fonts.ArialBold(16), Siberix.Graphics.Brushes.Black); var headerStyle = new Siberix.Report.Text.Style(new Siberix.Graphics.Fonts.ArialBold(12), Siberix.Graphics.Brushes.Black); var rowStyle = new Siberix.Report.Text.Style(new Siberix.Graphics.Fonts.Arial(10), Siberix.Graphics.Brushes.Black); var text = section.AddText(); text.Style = titleStyle; text.AddContent(firstRow); var headerRow = rows[1]; var columns = headerRow.Split('|'); var grid = section.AddGrid(); grid.Borders = new Siberix.Report.Borders(Siberix.Graphics.Pens.Black); grid.Spacings.All = 5; grid.Background = new Siberix.Report.Background(new Siberix.Graphics.Color(240, 240, 220)); // columns foreach (var s in columns) { var column = grid.AddColumn(); column.Width = new Siberix.Report.RelativeWidth((float)(100.0 / columns.Length)); } // Header var header = grid.AddHeader(); header.Repeat = true; var row = header.AddRow(); foreach (var s in columns) { var cell = row.AddCell(); cell.Alignment.Horizontal = Siberix.Report.HorizontalAlignment.Center; cell.Borders = new Siberix.Report.Borders(Siberix.Graphics.Pens.Black); cell.Paddings.All = 5; cell.Background = new Siberix.Report.Background { Brush = new Siberix.Graphics.LinearGradientBrush(Siberix.Graphics.Colors.LightSteelBlue, Siberix.Graphics.Colors. WhiteSmoke, (float)90.0) }; text = cell.AddText(); text.Style = headerStyle; text.AddContent(s); } for (var i = 2; i < rows.Length; i++) { row = grid.AddRow(); var alternateBackground = i % 2 == 0; var values = rows[i].Split('|'); for (var x = 0; x < columns.Length; x++) { var value = values[x] ?? ""; var cell = row.AddCell(); cell.Alignment.Horizontal = x == 0 ? Siberix.Report.HorizontalAlignment.Left : Siberix.Report.HorizontalAlignment.Center; cell.Borders = new Siberix.Report.Borders(Siberix.Graphics.Pens.Black); cell.Paddings.All = 5; text = cell.AddText(); text.Style = rowStyle; text.AddContent(value); if (alternateBackground) cell.Background = new Siberix.Report.Background(new Siberix.Graphics.Color(255, 255, 255)); } } var memStream = new MemoryStream(); report.Publish(memStream, Siberix.Report.FileFormat.PDF); var idFile = TempFileManagerProvider.TempFileManager.SaveFile(memStream.ToArray()); return String.Format("{{ \"fileId\" : \"{0}\", \"fileName\": \"{1}\" }}", idFile, fileName); //} } catch (Exception ex) { LoggerFacade.Log.LogException(GetType(), ex); } // return -1 to indicate no file was created return "{ \"fileId\" : \"-1\" }"; }