11 апреля 2024

Обновление .NET продуктов до версии 2024.2

 

Рады представить вам долгожданное обновление для всей линейки компонентов FastReport .NET. В этом релизе вас ждёт новый генератор отчетов с поддержкой Avalonia UI, улучшения в экспортах данных, поддержка HTML Plugin для FastReport.Core.Skia и конечно же прекращение поддержки .NET Standard 2.0 - 3.1 и .NET 5.

Новый компонент FastReport Avalonia

В линейке компонентов FastReport .NET появился новый - FastReport Avalonia. Это универсальная библиотека, которая позволяет создавать отчеты при разработке кроссплатформенных приложений с помощью Avalonia UI. Этот компонент позволяет разрабатывать приложения с единым пользовательским интерфейсом для macOS, Linux и Windows. FastReport Avalonia совместим с архитектурами процессоров x64, x86 и arm64. Поддерживает Avalonia UI, .NET 6 и выше.

FastReport Avalonia является частью единой экосистемы FastReport на C#. Отчёты, созданные в других продуктах, будут работать в FastReport Avalonia и наоборот.

В состав продукта входят: ядро разработки отчета, дизайнер и вьювер с привычным интерфейсом.

Дизайнер отчетов выглядит так:

Обновление .NET продуктов до версии 2024.2

А так выглядит вьювер:

Обновление .NET продуктов до версии 2024.2

Подробнее о новом компоненте читайте в статьях.

 

Новые возможности

Событие PageCreate объекта ReportPage

У ReportPage есть событие StartPage, которое вызывается перед формированием страницы. Это событие вызывается один раз для каждой страницы шаблона отчета. Теперь есть новое событие PageCreate, оно в свою очередь вызывается при создании страницы в подготовленном отчете. И в отличие от StartPage, вызывается чаще, при создании каждой из подготовленных страниц, соответствующих странице шаблона. На оба события можно назначить свои обработчики и выполнять в них необходимые действия, которые будут срабатывать в дополнение к стандартным.

Подробнее о PageCreate читайте в статье.

Улучшения экспорта в Word 2007

Экспорт в Word претерпел значительные изменения. Увеличена скорость его работы. Добавлены новые опции "Сохранить высоту строки", а также "Использовать верхние и нижние колонтитулы страниц Word". Помимо этого, были исправлены баги, сильно влияющие на работоспособность экспорта.

Экспорт гиперссылок и закладок в SVG

С этим обновлением гиперссылки и закладки объектов отчета также экспортируются в изображения SVG-формата.

Поддержка функций и представлений PostgreSQL

При подключении к базам данных Postgres вам доступна возможность использовать в отчетах данные функций и представлений. Для этого используйте плагин FastReport.Data.Postgres.

Поддержка HTML Plugin для FastReport.Core.Skia

В FastReport.Core.Skia добавлена поддержка HTML Plugin. Теперь вы можете легко встраивать HTML-контент в свои отчеты, улучшая их создание и представление.

Чтобы воспользоваться этой функциональностью, установите пакет FastReport.Plugins.HtmlObject с помощью NuGet.

 

Изменения в Blazor WebAssembly

Поддержка Webcil для .NET 8

Начиная с .NET 8 по умолчанию все необходимые для работы библиотеки упаковываются в формат Webcil (.wasm) вместо привычного .dll. Это более безопасный и подходящий для веб окружения формат (подробности).

Однако для компиляции скрипта отчёта мы должны использовать эти библиотеки. Ранее мы советовали нашим пользователям отключать упаковку в формат .wasm. Начиная с текущей версии FastReport.Blazor.Wasm умеет работать с ресурсами Webcil, и использовать их для компиляции скрипта отчёта без предварительных настроек, всё происходит автоматически.

Автоматическое добавление необходимых ресурсов SkiaSharp

Ранее, одним из требований для использования FastReport.Blazor.Wasm было то, что пользователь в своём Blazor WebAssembly проекте должен был вручную добавлять необходимые ресурсы SkiaSharp и HarfBuzzSharp. Основная проблема заключалась в том, что в зависимости от версии .NET и от использования многопоточности в WASM - эти ресурсы были разные. Пользователь должен был вручную выбирать какие именно библиотеки ему нужны, что доставляло много сложностей.

Начиная с текущей версии FastReport.Blazor.Wasm умеет определять необходимые в зависимости от окружения ресурсы, и прикладывать их в ваше приложение автоматически. Однако, если вам всё-таки необходимо выбрать необходимый ресурс вручную, то вы можете отключить автоматическое поведение, добавив в ваш .csproj проект следующий код:

<PropertyGroup>
 <ShouldIncludeNativeSkiaSharp>False</ShouldIncludeNativeSkiaSharp>
 </PropertyGroup>

Отказ от поддержки .NET Core 2.0, 2.1, 2.2, 3.0, 3.1, .NET 5

Для охвата всё большего количества технологий, которые постоянно добавляются в мир .NET, мы решили отказаться от устаревшего слоя совместимости .NET Standard 2.0 - 3.1 и .NET 5 в наших библиотеках. Теперь минимально поддерживаемая версия .NET - .NET 6. И минимально поддерживаемый фреймворк - .NET Framework 4.6.2.

Подробнее о изменениях читайте в новости.

 

Полный список изменений

[Engine]
+ добавлено событие OnCreatePage для объекта ReportPage;
* теперь, при конвертации RTF, отбрасываются незначащие пробелы после табуляции;
- добавлена обработка исключения если содержимое RichObject некорректно;
- удалены верхний и нижний отступы при разбиении TextObject между страницами;
- исправлены вертикальные отступы в RichObject;
- исправлено отображение строки, следующей за строкой с объединением столбцов;
- исправлено исключение при подготовке отчета с TableObject, содержащей MSChartObject;
- исправлена потеря пробелов в RTF парсере;
- исправлено отображение нижней линии границы при использовании GrowToBottom;
- исправлена поддержка португальского языка в RTF парсере;
- исправлена ошибка, из-за которой параметр Report.IsPrepared возвращал неверное значение при асинхронной подготовке отчёта;
- исправлена трансляция RichObject в TableObject;
- исправлена ошибка при печати с выбором разных страниц;
- исправлено исключение IndexOutOfRangeException при выполнении Graphics.Path.AddBeziers;
- исправлена уязвимость с возможностью вызова JS-кода из гиперссылки;
- исправлена установка табуляции по умолчанию при конвертации RTF;

[Designer]
+ добавлено взаимодействие с МоиОтчеты Облако в редакции Community;
+ добавлена функция Contains(string, string), которая определяет содержится ли в строке подстрока;
* изменен текст предупреждающего сообщения о повторяющихся именах параметров в мастере запросов;
* заменена форма ошибки на форму предупреждения о параметрах с одинаковыми именами в SQL запросе;
* изменения в SwissQR: изменена обработка поля "Сумма"; поле "Валюта" теперь текстовое; добавлена обработка данных из БД в полях сведений о Получателе, Плательщике и в поле "Ссылка";
- исправлен цвет кисти Datamatrix;
- исправлены ошибки в редакторе PictureObject;
- исправлена ошибка в редакторе формата;
- исправлена ошибка при изменении размера диалоговой формы;
- исправлена отрисовка повернутого штрих-кода ITF14;
- исправлена ошибка с работой сочетания клавиш "выбрать все";
- исправлена ошибка сброса формата при изменении выражения;
- исправлены ошибки разделения исходных данных на строки, теперь поддерживаются оба варианта разделителей (\r\n и \n);
- теперь в процессе формирования QR-кода удаляются лишние символы \r\n в конце строки;
- исправлено исключение NullRreferenceException при редактировании SelectCommand таблицы источника данных;
- исправлено прокручивание текста у AdvMatrix;
- исправлено контекстное меню объекта RFIDLabel;
- исправлен заголовок у бэнда в режиме классического отображения бэндов;
- исправлена проблема при использовании формата времени hh:mm;
- исправлена ошибка, приводящая к System.NullReferenceException при подключении к JSON;
- исправлена ошибка при изменении размера объектов с зажатой клавишей Shift;
- исправлено исключение, возникающее при использовании DontEditCode;
- исправлено некорректное поведение линий при изменении свойства Height для горизонтальной или Width для вертикальной линии если свойство Diagonal установлено в False;

[Preview]
- исправлена ошибка с диалогом поиска в превью;
- исправлена отрисовка объектов отчета за пределами страницы;
- исправлено некорректное отображение надстрочного или подстрочного текста для RichObject, если такой текст находится в начале строки;
- исправлено отображение вертикальных отступов в предварительном просмотре при использовании свойства LineHeight;

[Exports]
+ добавлена опция "Использовать верхние и нижние колонтитулы страниц Word" при экспорте Word;
+ увеличена скорость экспорта в docx;
+ в экспорт в Word 2007 добавлена опция "Сохранить высоту строки";
+ добавлен экспорт гиперссылок и закладок в SVG;
- исправлена ошибка экспорта повернутой картинки svg в pdf;
- исправлена ошибка, из-за которой изображения с прозрачным фоном неверно экспортировались в PDF стандарта PdfA_1a в FastReport.Skia;
- исправлен сброс шрифта в пустой ячейке после экспорта отчета в Word;
- исправлена ошибка некорректного экспорта в файл JSON;
- исправлена проблема экспорта в Word 2007 при использовании водного знака и бенда "Заголовок страницы" с системной переменной;
- исправлена ошибка в svg экспорте (зависание, если текст содержит неправильные последовательности cr/lf);
- исправлен некорректный расчет высоты строки в таблице при экспорте в Excel;
- исправлена ошибка экспорта векторной графики в PDF;
- исправлена ошибка в экспорте SVG (таблица с объединенными ячейками);
- исправлено открытие экспортированных отчетов в Word 2007;
- исправлен некорректный черный фон при экспорте RichObject с изображением в послойный HTML-export;
- исправлено значение переменной paddingNonSeparatePages в ImageExport (OpenSource) для устранения лишних отступов;

[WebReport]
+ добавлена поддержка формата Webcil в FastReport.Blazor.Wasm;
+ добавлен заголовок диалоговой формы в WebReport;
+ добавлено подробное описание ошибки компиляции отчёта в предпросмотре WebReport;
* переработана логика работы стандартных изображений в WebReport. Теперь изображения загружаются сразу в отчёт, а не подгружается большим количеством запросов с сервера;
- исправлена проблема с редактированием таблиц в документе при экспорте отчёта в Word 2007 через WebReport;

[Extras]
+ добавлена поддержка FastReport.Plugins.HtmlObject для FastReport.Core.Skia
+ добавлена поддержка views и functions в коннекторе PostgreSQL (Extras/Core/FastReport.Data/FastReport.Data.Postgres);
+ добавлен новый фильтр для выбора расширений файлов при подключении к SQLite, объединяющий .db и .db3, с первым фильтром выбранным по умолчанию;
- исправлен импорт плагинов для FastReport .NET при TargetFramework net6.0 и выше;
- исправлено смещение объектов в отчете содержащем объект плагина HTMLObject;

[Mono]
* изменен текст подсказки в RichObject в Mono;
- исправлена максимальная длина текста на страницах кода в дизайнере.