Как из приложения 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
8 апреля 2025

Как настроить подключение к Apache Ignite в FastReport .NET

В этой статье мы рассмотрим, как настроить подключение к Apache Ignite в FastReport .NET. Вы узнаете, какие шаги необходимо выполнить для подключения плагина через код и дизайнер отчетов.
8 апреля 2025

Конвертер из формата Microsoft Word (.docx) в файл для FastReport .NET (.frx)

Конвертер из формата Microsoft Word (.docx) в файл для FastReport .NET (.frx): описание и инструкция по использованию инструмента.
25 марта 2025

Как объединить несколько отчетов в один из FastReport .NET

FastReport .NET — это мощный инструмент для создания и управления отчётами. В данной статье мы рассмотрим, как объединить несколько отчётов в один в FastReport .NET.