We are pleased to announce the release of a new version of Delphi and Lazarus products. In this update, we paid special attention to ergonomic design and component performance. With 2023.3 version, we have added a new NextCloud transport, changed the operation of the report engine, added support for new electronic signatures, and much more.
Changes (different for each product) are available for the following products:
FastReport VCL,
FastScript,
FastConverter .FP3,
FastQueryBuilder,
FastReport FMX,
FastReport Viewer,
FastCube VCL,
FastCube FMX.
New demo reporting center
For convenience, we have combined all demos into a single demo center. It is available with the new FastReport product installer.
Changed the operating mode of the report engine
The new mode allows you to automatically select the font size to match the size of the “Text” object and its content (ContentScaleOptions property).
Selecting the size to match the static dimensions of the object allows you to reduce the text if there are physical limitations when printing. You can find an example of use in the article at the following link.
Dynamic font sizing allows you to control the font scale that is applied to dynamically resizing or stretching objects. The report engine reduces the contents of such objects to fit the band on the current page.
New resource localization editor
With this update, you can edit language resources to suit your needs directly from the IDE. Thanks to the new editor, this has become as fast, simple, and convenient as possible.
Full language switching at run-time. Now all language resources are updated immediately without the need to restart the report designer.
Added new NextCloud transport
You can save and load reports from your corporate storage directly from the designer, as well as from code. Read in the article how to set up a connection.
New types of electronic signatures
When exporting to PDF format or working with random files, you can sign documents using the following electronic signatures: CADES_T and CADES_X_LONG_TYPE_1.
We have also added partial font embedding in PDF export. It allows you to reduce the size of the PDF export.
FastCube for Lazarus has added support for integration with the Chart component for the FastReport integration package.
Full list of 2023.3 changes
---------------
[Designer]- Fixed drop-down InPlace editor in the DPIAware application.
[Engine]+ Added the ability to automatically select the font size to match the size of the “Text” object and its content (ContentScaleOptions property);+ Added language resource editor;+ Added frThreadSynchronizeProc variable to override the default synchronization procedure in FastReport;+ Added implementation for UP/DOWN/MOVE mouse events for report script objects;+ Added support for signatures CADES_T and CADES_X_LONG_TYPE_1;+ Added TfrxHtmlView.LoadFromString method to RTTI.+ Added compatibility of old behavior in TfrWideStrins;+ Added correction of the height of the last line of text to the tmDescent value (required for some fonts);* Improved language switching in the report designer;* Changed the TfsScript.OnSetVarValue event;* Changed the order of finalizing datasets;- Fixed work of TfrLocalizationController in FastReport FMX;- Fixed printer font scaling in FastReport FMX for RAD 11.3;- Fixed a bug where the frxIBO package did not compile in some IDEs;- Fixed a bug when the dclfqbFIB package was not compiled;- Fixed the name of the groups in the component palette;- Fixed a problem with data when editing a chart in a report for integration with FastCube;- Fixed behavior of HideIfSingleDataRecord with delayed expressions;- Fixed chart rendering in Lazarus;- Fixed TfsCustomHelper in debug mode;- Fixed out-of-range issue in FastCube;- Fixed a bug with case-insensitive keys in resources;- Fixed post-processing of expressions for paReportFinished/paGroupFinished when the ReportSummary/GroupFooter band is visible or invisible;- Fixed Job method TfrLocalizationController.ShowLocalizationEditor;- Fixed a problem with a blank page when duplex printing is forced in the printer settings, and single-sided printing is set for the report page;- Fixed inability to compile the project for FMX versions below Tokyo;- Fixed FastCube compilation for C++ Builder FMX;- Fixed behavior of the TfrxHTMLView.DefBackground method when the value is clNone;- Fixed a bug in FastScript when adding nested components via AddComponent;- Fixed an error in determining the SVG format with a BOM header;- Fixed several GDI descriptor leaks;- Fixed TeeChart package names in FastCube package templates;- Fixed inheritance of styles in the report template.
[Exports]+ Added the ability to partially embed fonts;+ Added LineSpacing support for PPTX export;- Fixed PDF export with CJK fonts;- Fixed a bug with multi-page HTML export when the image cache was cleared for each page;- Fixed work of PDF form fields with owner password;- Fixed substitution of font names;- Fixed application closing with PDF export;- Fixed export of time format in XLSX export;- Fixed SMTP in TfrxMailExport.
[Lazarus]+ Added a new integration package with LazChart;- Fixed PDF export dialog for Lazarus;- Fixed visual errors in the report designer for Lazarus;- Fixed the designer reopening with TfrxLazSqliteQuery;- Fixed Unicode output from the database for Lazarus;- Fixed barcodes in Linux.
[Other]+ Added support for FibPlus, IB Objects, and BDE in the installer;- Fixed description of the FastCube FPC package;- Fixed a bug with using an OLE object in FastScript code;- Fixed FastCube FMX packages;- Fixed chart templates for FastReport Demo for compatibility with TeeChart 2023.38.
[Preview]+ Added TfrxPreviewTabs.CurrentTab property;- Fixed the HighlightRuleEditor form in FastCube;- Added the “Search” item to the preview context menu.
[Report object]+ Added TTeeFont and TteeShadow classes to RTTI for diagrams;* Changed the DefaultDatabase class from TFDConnection to TFDCustomconnection;- Fixed rotation of 2D barcodes;- Fixed list of modules in FireDAC;
[Resources]* Updated Serbian resources;* Updated Arabic resources;* Updated Bulgarian resources;- Fixed string resource numbers.
[Transport]+ Added NextCloud transport.
Our stand-alone Low-code solution will help you to automate the generation and transmission of reports from multiple databases (and even several at the same time). Set up export of reports and send them to databases in a couple of clicks!
Buying this product you’ll get:
Visual designer for creating and editing reports.
Builder in the form of a console utility for building and processing reports.
GUI configurator for creating builder tasks.
A convenient scheduler for completing tasks on a schedule.
Viewer for displaying and printing ready-made reports.
In the Standard edition, these utilities have to be manually connected to your project.
In the Professional edition, we did it for you. A common interface of utilities and a report manager will help you set up business processes much faster.
FastReport Desktop will be an excellent replacement for the previous FastReport for DBA solution. Existing FastReport for DBA license will be changed to FastReport Desktop Professional Single at no additional cost. All clients will retain their remaining days on previously purchased licenses.
If you have any further questions, please, email us at support@fast-report.com.
We are pleased to present you with the long-awaited update, in which we have given special attention to user experience and the software code quality. In this release, we tried to listen to the requests of our users. Starting from version 2023.3, we added the following: a new object—RFID tag, support for WebP images, asynchronous report viewing, the toolbar in the context menu, and much more. The changes are available for the following products:
- FastReport .NET,- FastReport WPF,- FastReport Mono,- FastReport Desktop,- FastCube .NET.
New features
New RFIDLabel object
The new version includes a new object—an RFID tag. It enables the identification of goods and closely resembles a barcode, but unlike the barcode, it uses radio signals. This allows for scanning a large number of items in short time intervals.
The tag contains 4 data banks: a reserved bank for storing access and destruction passwords, an electronic product code bank, a tag identifier bank, and a user data bank. In the FastReport .NET product lineup, the RFID tag is represented as a report object. The tag can be customized using a user-friendly editor, accessed by double-clicking.
RFID tags can be created by some Zebra printers, therefore, in addition to the tag object itself, we implemented their export to ZPL. For correct export, the RFID tag must be in a single copy on the page.
Read more in the article.
Support for WebP images
There is now a plug-in that supports images in the WebP format. Now you can upload them into a PictureObject using the editor in the report designer and from code. FastReport.Skia supports WebP images without a plugin, but they are converted to PNG format when uploaded.
You can find details about the format and instructions for using the plugin in this article.
Preview in the designer window and asynchronous report viewing
Now, you can launch a report preview in the designer window when using the designer in your application. Previously, the preview always started in a separate window. To do this, add the following line in your code:
Config.DesignerSettings.EmbeddedPreview = true;
It will look like this:
In some cases, such a mode can be more convenient.
We have also introduced asynchronous methods for report preparation and viewing: Report.PrepareAsync() and Report.ShowAsync(). They can be used when handling large reports. In that case, you can use the preview window while the report is being prepared. This way, the user will not have the impression that the application is frozen or unresponsive.
The toolbar in the context menu
The context menu has been improved when right-clicking on an object. A toolbar appeared at the top, which contains frequently used items, such as edit, cut, copy, paste, etc.
The menu used to look like this:
The new menu has become more compact and ergonomic:
Export to S3
We have added the ability to upload prepared and exported reports to the Simple Storage Service (S3 for short). The new export is located in the "Storage" tab of the prepared report saving menu.
During the first export, you will need to enter registration data in the authorization window.
You can get the necessary keys in your S3 account settings. You can find more details in the service documentation.
After successful authorization, you will see an export window.
Here you can select the bucket to save, type, and file name. If you select a file type other than "Ready Report", then the settings for the corresponding export will become available.
Read more in the article.
Ability to customize barcode font settings
The "Font" property is now available for "Barcode" objects. It allows you to set the font parameters used when displaying barcode texts. The default font is Arial, the same font used in previous versions. Now you can choose a different font, change its size, style, etc. As a result, you can create, for example, such barcodes:
However, you should be careful with font settings. Not all scanners may be able to read such barcodes.
"Convert general format to text" option when exporting to Excel 2007
Excel 2007 has several data formats, including two that are very similar: general and text.
General is the default. In most cases, numbers in this format appear as entered. But if the cell width is not enough to display the entire number, then it is rounded.The text format always displays data as entered.
FastReport .NET also has several formats, for example, general, numeric, date, and many others. The appropriate format is selected during export, the numeric is converted to numeric, and the date remains a date.
The general format in FastReport .NET is also used by default. It displays the data exactly as it was entered. The general format is System.String. In turn, there is no separate text format in FastReport .NET.
Excel 2007 export has a new option that allows you to convert the FastReport .NET general format to Excel text format (general is exported as general by default).
Reports created in previous FastReport .NET versions will be exported in the same way in the new version since this option is disabled by default.
Support for partial report compilation
FastReport.Core, FastReport.Core.Skia and FastReport.CoreWin now enable partial compilation of a report to speed up its preparation if the report script has not been changed in the report and there are no objects that do not support partial compilation. You can enable it with the following command:
FastReport.Utils.Config.CompilerSettings.ReflectionEmitCompiler = true;
Enabling Reflection.Emit Compiler does not cause any performance degradation. If the new compiler cannot be used in the new report, it will simply use the standard procedure without harming the report.
New WebReport features
Improvements in WASM
Previously, you could only view reports opened in the browser using our FastReport.Blazor.Wasm library. This update added support for exports. Now users can export the resulting reports to various formats, just as is in regular WebReport.
Also, Reflection.Emit compilation accelerated the loading and preparation of reports without a script in WebAssembly.
Toolbar personalization
Now you can create elements, such as buttons, dropdowns, and input fields, and add them to the toolbar. These elements can have various options, including images, titles, and styles. You can also implement logic using JavaScript and C#.
An example of adding custom elements to the toolbar:
var button = new ToolbarButton()
{
Title = "MyCustomButton",
OnClickAction = new ElementClickAction()
{
OnClickAction = async (webreport) =>
{
webreport.LocalizationFile = "MyLocalizationFile";
}
},
};
var select = new ToolbarSelect()
{
Title = "MyCustomSelect",
Items = new List<ToolbarSelectItem>
{
new ToolbarSelectItem()
{
Title = "MySelectItem",
OnClickAction = new ElementScript()
{
Script = "console.log('My item is working')"
}
}
}
};
var input = new ToolbarInput()
{
InputType = "number",
OnChangeAction = new ElementChangeAction()
{
OnChangeAction = async (webreport, inputValue) =>
{
webreport.Report.Prepare();
webReport.Toolbar.Height = int.Parse(inputValue);
}
}
};
webReport.Toolbar.InsertToolbarElement(button);
webReport.Toolbar.InsertToolbarElement(select);
webReport.Toolbar.InsertToolbarElement(input);
As a result, these customized elements will appear in your toolbar after changes:
Full changelog
[Engine]
+ added new RFIDLabel object;
+ added GS1 automatic formatting for GS1-128 barcode;
+ added loading tables in cells of other tables when converting RDL templates;
+ added Config.CompilerSettings.ReflectionEmitCompiler property, which, when enabled, speeds up report preparation if the script has not been changed (works only in .NET Core/.NET);
+ added the ability to configure barcode font using the new "Font" property;
* improved work with private font collections;
* demo version—5-page limit removed; the text is randomly replaced with "Demo version";
- fixed an infinite loop when calculating a parameter expression equal to this parameter;
- fixed the problem of reading the DataMatrix barcode by a mobile scanner;
- fixed a bug when line strikethroughs were incorrectly displayed during manual transfers;
- fixed the calculation of the shift of translated RichObject objects;
- fixed conversion of empty Variant to other types;
- fixed deletion of a column after which the column data remained in the report;
- fixed the work of the VisibleExpression property for matrix and table rows and columns;
- fixed deletion of fonts that are no longer present from the font_hash dictionary;
- fixed a bug with unsorted tab stops in RichObject;
- fixed a bug with parsing GSUB table leading to exception;
- fixed loss of stream stop when exporting to PDF with the "Text in curves" option, resulting in System.StackOverflowException;
- fixed a bug with loading object borders when converting RDL templates;
- fixed deletion of the first three characters in the GS1-128 barcode;
- fixed coding table for Code93 Extended barcode;
- fixed text encoding in DataMatrix barcode;
- fixed text rendering bug during word break due to lack of space;
- fixed RightToLeft text conversion when the ConvertRichText option is enabled;
- fixed line break in HtmlTextRenderer;
- fixed a bug when page columns were printed over band columns;
- fixed white highlighting of empty lines between text paragraphs and some paragraphs in RichObject when using fill;
- fixed selection of text parts with white color in RichObject with ConvertRichText = true;
- fixed ignoring ConnectionString if ConnectionStringExpression returned null;
- fixed indents of translated text objects from RichObject;
- fixed positioning of objects when translating RichObject;
- fixed import of tables from JasperReports;
- fixed System.NullReferenceException when clearing TableObject;
- fixed horizontal image alignment in RichObject when ConvertRichText = true;
- fixed System.NotImplementedException when the TextObject tab stop is negative;
- fixed null conversion if the expression contains a function;
- fixed System.ArgumentException when JSON data source host has an empty CharacterSet;
- fixed positioning of TableObject when translating RichObject;
[Designer]
+ added ability to take column names from the first row in Excel connection;
+ added categories for "Barcode" objects;
+ added Config.DesignerSettings.EmbeddedPreview property for report preview in the designer window;
+ added the "Other" category for dialog controls in the "Objects" panel;
+ added the ability to display the translated object in the Online Designer;
+ added the procedure selection page in the form of the data connection wizard;
+ added the toolbar to the context menu;
+ added the ability to use expressions in the "Payment amount" field in the SberbankQr editor;
+ added parsing of parameters from SQL query;
+ added a warning when the names of the request parameters match;
+ added a check for the existence of a file when it is changed in a CSV connection via the CsvFile property;
* changes in the "Query Builder" interface;
* updated "Data Connection Wizard." Improved interface, fixed bugs, and increased speed;
* change in the rendering of tooltips with coordinates/sizes in the designer;
- fixed the problem of connecting to CSV via URL;
- fixed a bug in the "Save as ..." operation for a file opened from the cloud;
- fixed the "Map" object in NET 6.0 (empty polygon labels);
- fixed error with reading values from the designer configuration file;
- fixed a bug when a new report page was created after double right-clicking on the "Code" tab;
- fixed an error after closing the preview window with empty values of numerical parameters;
- fixed a bug when the designer did not respond during the authorization process;
- fixed bugs in the Gauge object editors;
- fixed System.NullReferenceException when merging dictionaries that include parameter connections;
- fixed text highlighting in RichObject when using property ConvertRichText = true;
- fixed a bug with the order of formats when there are several expressions in a text object;
- fixed a scaling error in the designer settings window on the "Plugins" tab;
- fixed incorrect scaling of the data source selection form in Visual Studio;
- fixed incomplete display of pages with infinite width in the preview page adding;
- fixed a bug with password-protected report loading;
- fixed problems with scaling some controls;
- fixed a bug when fields are selected for unselected tables during connection editing;
- fixed a bug when all tables were selected during connection editing, even though only some of them were actually selected;
- fixed a System.IO.FileFormatException when using an incorrect XML report on the FRX page;
- fixed incorrect work of font settings in MSChartObject when the scale is more than 100%;
- fixed a bug when connecting a CSV database via URI;
- fixed a bug when running a report with MSChartObject and SparklineObject on a DataBand with the CanBreak property enabled;
- fixed problems with displaying SVG in the designer;
- fixed a bug with the font size in the "Report Tree" window;
- fixed the behavior of the "About" window when changing scaling;
- fixed ignored MSChartObject rendering if Title is missing;
[Preview]
- fixed text object horizontal alignment when AutoWidth = true;
- fixed problems with displaying SVG in preview;
[Exports]
+ added export to S3;
+ added export of page borders during image export;
+ added "Use page breaks" option in the form of HTML export;
+ added option to enable or disable adding bookmarks to each page when exporting to Word 2007;
+ added creating a new sheet when the number of lines approaches the maximum allowed on one Excel 2007 sheet;
+ added the "Convert general format to text" option in Excel 2007 export;
+ expansion of font names;
+ improved font packaging subsystem for PDF export;
* speeded up export to PDF;
* optimized export of interactive forms to PDF;
- fixed a bug when LineHeight was ignored when exporting using Skia;
- fixed multi-threaded export to PDF and private font collections;
- fixed loading of fonts with traditional Chinese characters;
- fixed kerning of right-to-left fonts when exporting to PDF;
- fixed a bug where fonts smaller than 10 were displayed incorrectly with the ConvertRichText property enabled when exporting to RTF;
- fixed kerning errors in PDF export;
- fixed a bug in PDF export in "Text in curves" mode at high monitor resolution;
- fixed a bug when a dark frame was drawn for some objects in PDF export;
- fixed export of font families registered in FastReport.Utils.FRPrivateFontCollection;
- fixed display of HTML <strike>, <sub> and <sup> tags when exporting to RTF;
- fixed a bug where the export of a report with pictures for Skia ended with an error;
- fixed export of footer objects to RTF and DOCX;
- now single-byte spaces do not disappear from the string after export to Excel 2007;
- added extra text breaks when exporting to CSV;
- fixed a bug with extra separators when exporting to CSV;
- fixed a bug when fonts were damaged during multi-threaded export to PDF;
- fixed a bug when hyphen characters were not processed when exporting to HTML;
- fixed incorrect work of hyperlinks in RichObject when exporting to PDF;
- fixed row height multiplier in RTF export;
- fixed double saving of report in Google Drive;
- fixed API call for saving reports in OneDrive;
- fixed problems with displaying SVG when exporting to PDF;
- fixed errors in the export tree;
- fixed export of text with HTML tags to Word 2007;
[WebReport]
+ added report shadow in WebReport;
+ added support for report export to Wasm;
* changed Toolbar behavior for one-page reports;
* changed the behavior of printing a report from a browser in WebReport. Now a print page closes automatically;
- fixed a bug when click events in WebReport did not work;
- fixed incorrect export to Word 2007 in web reports;
- fixed a bug where some report objects (for example, RichObject) might not be displayed in the Web designer;
- fixed a bug where a single-page report did not export if settings were used;
- fixed a bug when the report was not updated when the parameter was changed;
[.NET Core]
- fixed a bug when the InvariantGlobalization option was enabled;
[Demos]
* changed the script in the "Sort Group By Total" template for the correct work of the report and display of totals when using the "Can grow" and "Can shrink" properties of the "Group Footer" band;
[Extras]
+ added export of page borders when exporting with PDFSimpleExport;
+ added the ability to connect to MariaDB using the MySqlConnection plugin;
+ added .db format to the file filter for connecting SQLite;
+ added a plugin with support for images in WebP format;
* RPTImportPlugin updated to .NET Framework 4.7.2;
- fixed a bug resulting in System.IO.FileLoadException when connecting to ClickHouse and MongoDB;
- fixed the data source selection form, which did not open in the foreground.
Subscription to the .NET Ultimate Edition gets even better! The edition now includes a new high-performance reporting and document library for Windows Presentation Foundation (WPF). Moreover, the price remained the same.
FastReport Ultimate .NET contains products for projects integration developed using the ASP.NET, .NET Core, Blazor, WASM, WPF, WinForms, Mono platforms. Desktop and online designer is also included for comfortable work on any device. FastReport generators allow you to create different types of documents with many components for data visualisation and analytics, display options and export formats.
Owners of an active Ultimate subscription can test FastReport WPF for free at their client panel.
We are excited to announce the release of the first version of the report generator for Windows Presentation Foundation - FastReport WPF.
This high-performance library for creating reports and documents will assist you in developing business applications to meet various needs on the .NET Desktop and Web platforms. Create, view, and export detailed, visually appealing, interactive reports using a lightweight, versatile reporting tool.
The report generator includes a powerful core for building reports, a user-friendly designer with a familiar interface, and a fast viewer of reports. FastReport WPF uses the SkiaSharp graphics engine for comfortable work with Windows. The WPF report generator also has an advanced code editor with Roslyn-based intelligence support.
FastReport WPF is part of the unified FastReport ecosystem. Reports created in other products will seamlessly work in FastReport WPF and vice versa.
NuGet packages via NuGet Server will be available for download in September. Now you can get WPF packages for your project using the installer from cpanel.fast-report.com.