public static void ExportComponent(IPrintable printableControl, ExportType exportType, ExportOptions exportOptions) { ExportComponent(new List <IPrintable> { printableControl }, exportType, exportOptions); }
public static void ExportComponent(IList <IPrintable> controlsToExport, ExportType exportType, ExportOptions exportOptions) { new ControlExporter { ControlsToExport = controlsToExport, ExportType = exportType, ExportOptions = exportOptions }.Export(); }
public static void PrintComponent(IPrintable printableComponent, bool landscape) { var exporter = new PrintExporter(); var options = new ExportOptions { Landscape = landscape, PaperKind = PaperKind.A4, Margins = new Margins(40, 40, 40, 40) }; exporter.Export(printableComponent, string.Empty, options); }
private static void CreateReportHeaderArea(CreateAreaEventArgs e, ExportOptions options) { var top = 0; // Print DateTime if (options.ShowDateAndUsername) { var dateTime = string.Format("{0:G}", DateTime.Now); var brick = e.Graph.DrawString(dateTime, Color.Black, new RectangleF(e.Graph.ClientPageSize.Width - 200, 0, 200, 20), BorderSide.None); brick.Font = DateFont; brick.StringFormat = new BrickStringFormat(StringAlignment.Far); var sizeF = GetSizeOfText(dateTime, DateFont); top = (int)sizeF.Height; } if (string.IsNullOrEmpty(options.Title)) { var header2Rect = new RectangleF { Location = new Point(0, top) }; var sizeF = GetSizeOfText(options.Title, HeaderFont); header2Rect.Size = new Size((int)sizeF.Width, (int)sizeF.Height); var brick = e.Graph.DrawString(options.Title, Color.Black, header2Rect, BorderSide.None); brick.Font = HeaderFont; top += (int)sizeF.Height; } if (options.Parameters.Count > 0) { top += PrintData(" ", " ", e, top); top = options.Parameters.Aggregate(top, (current, parameter) => WriteParameterValues(parameter.Key, parameter.Value, e, current)); PrintData(" ", " ", e, top); } }
private int CalculateHeightOfParamterSpace(ExportOptions options, double widthOfFirstTable) { var widthOfParameterShape = (int) GetSizeOfText( options.Parameters.FirstOrDefault(x => x.Key.Length == options.Parameters.Max(m => m.Key.Length)) .Key, _parameterFontBold).Width; var numberOfOverLengthParameters = options.Parameters.Where( x => GetSizeOfText(x.Value, _parameterFontNormal).Width > widthOfFirstTable - widthOfParameterShape) .Sum( x => Math.Ceiling(GetSizeOfText(x.Value, _parameterFontNormal).Width / (widthOfFirstTable - widthOfParameterShape)) - 1); // Calculate the height for parameter shape. DefaultLineSpacing is dynamic value base on default line-spacing of application. var fullHeightInPixels = _parameterFontNormal.Height + DefaultLineSpacingInPixels; var paramsHeightInPixels = (fullHeightInPixels * (options.Parameters.Count + (int)numberOfOverLengthParameters)); return(paramsHeightInPixels); }
protected virtual void BeforeCreatingPage(PrintableComponentLink link, ExportOptions options) { }
protected abstract bool Export(CompositeLink link, string path, ExportOptions options);
public bool Export(IPrintable component, string path, ExportOptions options) { return(Export(new List <IPrintable> { component }, path, options)); }
protected override bool Export(CompositeLink link, string path, ExportOptions options) { link.ExportToPdf(path, new PdfExportOptions()); return(true); }
protected override void BeforeCreatingPage(PrintableComponentLink link, ExportOptions options) { link.CreateReportHeaderArea += (sender, e) => CreateReportHeaderArea(e, options); }
protected override bool Export(CompositeLink link, string path, ExportOptions options) { link.ShowPreview(); return(true); }