Skip to main content Skip to footer

ActiveReports v15.1 is Here!

GrapeCity is excited to announce the release of ActiveReports v15.1. This is the first service pack for ActiveReports 15. In addition to the normal bug fixes, the first release of 2021 brings several high-value new features:

  • Section Report deployment to Linux with .NET Core and .NET 5
  • Custom Font Resolving
  • JSViewer Performance Improvement
  • PDF/UA Enhancements
  • Charts Enhancements:
    • Support Expressions
    • Radar Chart template
  • Extended Page Break properties
  • Dynamic Table Column Width

We know some of you have been looking forward to these features, so let's get right into it.

Section Reports on Linux

We have supported Page and RDL report deployment to Linux since ActiveReports 14. Section Report, however, was supported on .NET Core/.NET 5, but they required a Windows host due to reliance on GDI rendering. With this release, we've made several enhancements to the Section Reports rendering engine that would allow you to deploy your application to a Linux server.

The most important change was using a new "GcDoc" rendering. This allows you to deploy your ASP.NET Core or ASP.NET 5 applications to Linux environments. All of the common features and controls are supported. You can either display your reports in the ActiveReports' lightweight JSViewer component, or export them to PDF, TXT, or TIFF formats.

A few notes to keep in mind:

  • Compile in Cross-Platform Compatibility mode as GDI Compatibility is not supported
  • libgdiplus installation is required on the host
  • WinForms and WPF viewers and designers are currently not supported
  • Direct printing and printer settings are currently not supported
  • Custom Controls, OLE objects, OLEDB data sources, and metafile images are not supported
  • RichTextBox supports HTML rendering
  • Excel and RTF exports are currently not supported

Custom Font Resolving

As you know, with fundamental differences between them, Windows and Linux operating systems have limitations and features that are not supported by the other. The use of custom fonts is one such example. Continuing our dedication to WYSIWYG reporting, in this release we give you the ability to pass custom fonts via an API so your Page, RDL, and Section Reports display with the right fonts on Linux:

custom font resolving

This code uses a CustomFontResolver.cs class to register a custom font and pass it to the section report via the FontResolver API.

JSViewer Performance Improvement

We've drastically improved the rendering speed in HTML export. By building the layout and exporting each report page in parallel, we are able to achieve impressive results, with load times at almost 50%.

  StreaminEnabled = Previous (in ms) StreaminEnabled = Now (in ms)
35,714 records (1,824 pages) 10863.55 6450.81 -40.62%
10,581 records (918 pages) 7156.45 4058.1 -43.29%
832 Pages of Invoices 4880.54 2478.18 -49.22%
Complex Layout (447 pages) 9689.37 5994.43 -38.13%

PDF/UA Enhancements

Previously, when using the Read Aloud feature of PDF Readers like Adobe Acrobat, images in accessible PDFs were read as the name the control, such as "Picture 1". In an effort to make PDF documents more accessible, we've added a new 'Title' property to the Image control:

pdf ua enhancements

Now, when the PDF reader reads your PDF/UA outputs, it will read the Title then control type. In this case, it will say, "Company Logo, picture."

Charts Enhancements

In this release of ActiveReports, we have added a couple of valuable features to our chart library.

Conditional Formatting in Charts

You can now use expressions in charts to conditionally change the text or appearance of Chart labels, tooltips, and data points. For example, imagine you want to conditionally format a chart to show any data points below a certain threshold in red:

conditional formatting charts

You can do this by opening the RuleDesigner Editor from the Charts Plot > Configuration > Rules property. For the Condition, enter an expression, such as =Chart!CurrentData<15. Then click the Rule ellipses to open the RulePropertyDesigner dialog box. Here you can set any number of rules for the various properties of the plot.

background color red

For our purposes, we will set the BackgroundColor to red. However, you can add more rules to the same condition to change the series label, tooltip, or other properties.

conditional formatting charts

Radar Chart Template

radar chart template

In this release, we've added the Radar Chart template. Radar charts, also known as Spider charts, are a great way to display multivariate data in a two-dimensional visualization. Typically, Radar charts would have three or more qualitative variables.

In our case, they are Number Gold Medals, Country, and Year. When creating a Radar chart, you can select one of four plot types: Area, Bubble, Scatter, Line.


Extended Page Break Properties

With Page and RDL reports, you have more page break options when grouping in a data region such as a Table.

extended page breaks

These options give you advanced control over the rendering of each group on the page. For example, if you have a table grouped on a Region and you need to print each region on an odd page, set the BreakLocation option to StartAndEnd.

Dynamic Table Column Widths

This is a customer-requested feature. Imagine that you have a Table in your report and you want to hide one or more columns based on a condition. While this has always been possible to do with ActiveReports using expressions, table width would shrink when columns were hidden. To address this, we added a new property, AutoWidth, to the Table control's column property.

Setting this property to Proportional renders a much cleaner table that maintains its original size by automatically expanding the column's width to account for the empty space left by the hidden column.

dyanmic table column widths

Mateen Firoz

Mateen Firoz

comments powered by Disqus