Как из приложения ASP.NET Core сформировать отчет с использованием FastReport.Core.Skia

04.10.2023

Как из приложения ASP.NET Core сформировать отчет с использованием FastReport.Core.Skia

Ранее мы рассказывали, как сформировать отчет из приложения ASP.NET Core, но не все пользователи используют ОС Windows или графический движок GDI+ (в связи с нестабильной работой). Специально для этих пользователей мы разработали специальную версию FastReport.Core, которая использует в качестве графического движка Skia и его обертку для .NET - SkiaSharp. Полное название пакета - FastReport.Core.Skia. Пакеты FastReport.Core.Skia и FastReport.Web.Skia доступны на нашем приватном NuGet сервере.

Из основных преимуществ FastReport.Core.Skia можно выделить:

  • Корректный PDF экспорт RTL-текста на Linux;
  • Корректный PDF экспорт некоторых восточных языков на Linux;
  • Корректный HTML экспорт на Linux.

Вы также можете подробнее ознакомиться с преимуществами FastReport.Skia в этой статье.

Создание отчета и приложения на Windows

Процесс создания отчета будет простым. Нам необходимо создать отчет в дизайнере и запустить его в приложении ASP.NET Core. В качестве примера используем стандартный и привычный шаблон “Simple List”.

Выбор стандартного шаблона отчета

На этом этапе у нас есть готовый шаблон, и теперь его необходимо отобразить в Web Preview через ASP.NET Core приложении. Давайте приступим к созданию приложения.

Создание ASP.NET Core приложения

 

Выбор дополнительных параметров

По итогу мы успешно создали проект. Следующим шагом будет добавление необходимых nuget пакетов, а именно FastReport.Core.Skia и FastReport.Web.Skia. В этой статье использован способ подключения пакетов с приватного NuGet сервера.

Подключение пакетов с приватного NuGet сервера

Необходимые пакеты были установлены. Теперь в файле Program.cs подключим FastReport.

var builder = WebApplication.CreateBuilder(args);

app.UseFastReport();

app.Run();

Следующим шагом редактируем метод Index() в HomeController.cs.

public IActionResult Index()
 {
 var report = new WebReport();
 var data = new DataSet();
 data.ReadXml($"C:/Users/User/Documents/nwind.xml"); 
 report.Report.RegisterData(data);
 report.Report.Load($"C:/Users/User/Documents/Simple List.frx");
 ViewBag.WebReport = report;
 return View();
 }

Теперь нам необходимо просто настроить представление. Для этого нужно только оставить следующий код в файле index.cshtml.

@await ViewBag.WebReport.Render()

Наше приложение готово! Можем его запустить и посмотреть на результат.

Готовый отчет

Как вы могли заметить процесс создания проекта почти не отличается по сравнению с пакетом FastReport.Core. Вам достаточно лишь загрузить другой NuGet пакет.

 

Создание отчета и приложения на Linux

Давайте теперь создадим ASP проект на Linux и в нем отобразим отчет.

Внимание! Убедитесь, что для работы .NET проектов вы загрузили необходимые пакеты и установили, как минимум VSCode. Также сам VSCode необходимо настроить, а именно установить расширение для C# и подключить приватный NuGet сервер.

После загрузки .NET и установки VSCode мы создаем проект. Следующим шагом будет подключение NuGet пакетов FastReport.CoreSkia и FastReport.Web.Skia. В отличии от Windows нам также понадобятся 2 других пакета Skia: SkiaSharp.NativeAssets.Linux и HarfBuzzSharp.NativeAssets.Linux. Вот так должен выглядеть список установленных пакетов NuGet.

Список установленных NuGet пакетов

Пакеты были установлены, теперь запустим проект. Для начала введите команду:

dotnet build

Затем впишите следующую команду:

dotnet run

Запуск команд для работы с проектом

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

Готовый отчет в браузере

Процесс создания проекта с использованием FastReport.Core.Skia на самом деле довольно прост и в какой-то степени “традиционен”. Нам всего-то необходимо подключить дополнительные пакеты для Linux. Взамен вы получаете улучшенное отображение некоторых текстов, символов восточных языков в экспортах, с которыми, возможно сталкивались при использовании GDI+. Также, если вы пользователь Linux систем, мы вам рекомендуем использовать движок Skia для отрисовки.

28 октября 2024

Как настроить WSL 2 для работы с FastReport и FastCube

В этой статье попробуем вместе разобраться, как настроить WSL 2 для работы с компонентами FastReport и FastCube в Lazarus для Linux.
2 сентября 2024

Обзор облачного решения для создания и управления отчетами

МоиОтчеты Облако — это мощное облачное решение для создания и управления отчетами, обеспечивающее широкий спектр возможностей, от создания документов в различных форматах до интеграции с корпоративными системами.
12 августа 2024

Как собрать и установить плагин Postgres в FastReport .NET

В этой статье описывается подключение к базе посредством плагина FastReport .NET для дизайнера отчетов из Visual Studio через NuGet-сервер.