Фреймворк ASP.NET Core - это кроссплатформенное решение для создания веб приложений. Это означает, что разработку вы можете вести в различных операционных системах, и созданные приложения также будут работать в них. Это и другие преимущества сделали ASP .NET Core очень популярным. Многие десктоп разработчики, которые писали на языке программирования C# занялись веб программированием благодаря новому фреймворку. Да, ранее Microsoft уже продвигала веб фреймворк ASP.NET на основе .NET Framework. Но это платный продукт с закрытыми исходными кодами, предназначенный исключительно для работы под Windows, и доступен не каждому, в отличии от .NET Core.
Ввиду популярности ASP.NET Core многие люди создают совсем не тривиальные веб приложения. Например, вам может понадобиться выводить на печать визитки. Да-да, те самые визитные карточки, которые нужны для обмена контактными данным между деловыми людьми.
Не стоить преуменьшать роль визитных карточек в современной жизни. Даже тотальная электронизация не смогла вытеснить маленькие картонные карточки. Теперь они все больше походят на рекламу. Дорогой дизайн и красивая фактурная бумага призваны произвести впечатление на человека. А это - залог успеха в бизнесе.
В разных странах устоялись собственные размеры визиток, например:
Чтобы сформировать визитки из пользовательского приложения ASP.NET Core, воспользуемся генератором отчетов FastReport.NET. В дизайнере отчетов создать шаблон визитки быстрее, чем в графическом редакторе.
Приветственное окно дизайнера отчетов предлагает нам создать отчет с помощью двух мастеров: Standard Report и Label:
Выбираем мастер Label:
В мастере создания этикетки мы можем выбрать производителя. Для каждого производителя доступен набор шаблонов документов определенных размеров, таких как: письмо, этикетка, ценник, бейдж, визитка и др.
Нас интересует шаблон визитки. У разных производителей разные размеры визитки, выберите нужный. После этого вам останется лишь добавить несколько текстовых полей и на страницу отчета с нужным текстом и параметрами оформления:
Чтобы сделать рамку используйте текстовый объект и задайте ему границы с прерывистой линией. На текущий момент на странице размера А4 у нас будет только одна визитка. Чтобы размножить ее настроим свойство RowCount бэнда Данные:
На этом создание шаблона отчета завершено, сохраним его. Например, в каталоге wwwroot создайте папку App_Data и сохраните отчет туда.
Добавим в проект библиотеки FastReport.NET с помощью Nuget:
В Startup.cs подключим библиотеки FastReport:
1 2 3 4 5 6 |
public void Configure(IApplicationBuilder app, IHostingEnvironment env) { … app.UseFastReport(); … } |
Теперь можно добавить в контроллер формирование отчета:
1 2 3 4 5 6 |
private IHostingEnvironment _env; public HomeController(IHostingEnvironment env) { _env = env; } |
Инжектируем в класс интерфейс окружения для получения пути к каталогу wwwroot, в который мы сохранили отчет. В нужном методе создаем объект отчета, загружаем в него данные и шаблон отчета:
1 2 3 4 5 6 7 8 9 |
public IActionResult Index() { var rootpath = _env.WebRootPath; var report = new WebReport(); report.Report.Load(rootpath + "/App_Data/Business Card.frx"); report.Report.RegisterData(data); ViewBag.WebReport = report; return View(); } |
А в представление Index добавим вывод отчета:
1 |
@await ViewBag.WebReport.Render()
|
Теперь, запустим приложение:
Из верхнего меню объекта отчета можно распечатать отчет, или экспортировать в один из форматов:
Теперь вы можете выводить визитки на просмотр, печатать их и экспортировать в любой из популярных форматов документов! И заметьте, как мало времени у вас заняла реализация этого функционала!