Как из приложения 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 для отрисовки.

.NET Visual Studio FastReport Linux Core Отчет NuGet Windows
20 февраля 2025

Использование матричных принтеров для печати чеков

В этой статье мы рассмотрим, как интегрировать матричный принтер в процесс создания и вывода отчетов с использованием FastReport .NET.
10 февраля 2025

Как попробовать FastReport .NET WEB перед покупкой

Протестировав WEB пак перед покупкой, вы сможете сделать осознанный выбор: подходит ли вам FastReport .NET для ваших задач.
28 октября 2024

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

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