[ Полезный рекламный блок ]
Попробуйте свои силы в игре, где ваши навыки программирования на C# станут решающим фактором. Переходите по ссылке 🔰.
Для экспорта HTML в PDF в ASP.NET Core можно использовать сторонние библиотеки, такие как iTextSharp или Rotativa. Вот краткий обзор того, как использовать каждую из них:
iTextSharp
- Установите пакет iTextSharp NuGet.
- Создайте новый метод Action в вашем контроллере, который возвращает FileResult.
- Используйте iTextSharp для создания PDF из HTML и сохранения его в MemoryStream.
- Верните MemoryStream как FileResult с типом содержимого «application/pdf».
Пример кода:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
using iTextSharp.text; using iTextSharp.text.pdf; using System.IO; public IActionResult ExportToPdf() { var htmlContent = "<h1>Hello, world!</h1>"; var memoryStream = new MemoryStream(); var document = new Document(); var writer = PdfWriter.GetInstance(document, memoryStream); document.Open(); var htmlWorker = new HTMLWorker(document); htmlWorker.Parse(new StringReader(htmlContent)); document.Close(); memoryStream.Position = 0; return File(memoryStream, "application/pdf", "Export.pdf"); } |
Rotativa
- Установите пакет Rotativa NuGet.
- Создайте новый метод Action в вашем контроллере, который возвращает ViewAsPdfResult.
- Передайте HTML-контент в конструктор ViewAsPdfResult.
- Установите любые дополнительные параметры, такие как PageSize или PageOrientation.
- Верните результат ViewAsPdfResult.
Пример кода:
1 2 3 4 5 6 7 8 9 10 11 12 |
using Rotativa.AspNetCore; public IActionResult ExportToPdf() { var htmlContent = "<h1>Hello, world!</h1>"; var pdf = new ViewAsPdf("Export", htmlContent) { PageSize = Rotativa.AspNetCore.Options.Size.A4, PageOrientation = Rotativa.AspNetCore.Options.Orientation.Landscape }; return pdf; } |
Обратите внимание, что в Rotativa вам необходимо создать соответствующее представление под названием «Export.cshtml«, содержащее HTML-контент, который вы хотите экспортировать.
Я надеюсь, что вам понравилось читать эту статью, и она оказалась легкой для понимания. Пожалуйста, дайте мне знать, если у вас есть какие-либо комментарии или исправления.
Так же вам может быть интересна предыдущая статья — Как прочитать Request Body в Asp.net Core.
Вы хотите научится писать код на языке программирования C#?
Создавать различные информационные системы, состоящие из сайтов, мобильных клиентов, десктопных приложений, телеграмм-ботов и т.д.
Переходите к нам на страницу Dijix и ознакомьтесь с условиями обучения, мы специализируемся только на индивидуальных занятиях, как для начинающих, так и для более продвинутых программистов. Вы можете взять как одно занятие для проработки интересующего Вас вопроса, так и несколько, для более плотной работы. Благодаря личному кабинету, каждый студент повысит качество своего обучения, в вашем распоряжении:
- Доступ к пройденному материалу
- Тематические статьи
- Библиотека книг
- Онлайн тестирование
- Общение в закрытых группах
Живи в своем мире, программируй в нашем.