Example #1
0
 public static void ExportComponent(IPrintable printableControl, ExportType exportType,
                                    ExportOptions exportOptions)
 {
     ExportComponent(new List <IPrintable> {
         printableControl
     }, exportType, exportOptions);
 }
Example #2
0
 public static void ExportComponent(IList <IPrintable> controlsToExport, ExportType exportType,
                                    ExportOptions exportOptions)
 {
     new ControlExporter
     {
         ControlsToExport = controlsToExport,
         ExportType       = exportType,
         ExportOptions    = exportOptions
     }.Export();
 }
Example #3
0
        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);
        }
Example #4
0
        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);
            }
        }
Example #5
0
        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);
        }
Example #6
0
 protected virtual void BeforeCreatingPage(PrintableComponentLink link, ExportOptions options)
 {
 }
Example #7
0
 protected abstract bool Export(CompositeLink link, string path, ExportOptions options);
Example #8
0
 public bool Export(IPrintable component, string path, ExportOptions options)
 {
     return(Export(new List <IPrintable> {
         component
     }, path, options));
 }
Example #9
0
 protected override bool Export(CompositeLink link, string path, ExportOptions options)
 {
     link.ExportToPdf(path, new PdfExportOptions());
     return(true);
 }
Example #10
0
 protected override void BeforeCreatingPage(PrintableComponentLink link, ExportOptions options)
 {
     link.CreateReportHeaderArea += (sender, e) => CreateReportHeaderArea(e, options);
 }
Example #11
0
 protected override bool Export(CompositeLink link, string path, ExportOptions options)
 {
     link.ShowPreview();
     return(true);
 }