[ Полезный рекламный блок ]
Попробуйте свои силы в игре, где ваши навыки программирования на 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 і ознайомтеся з умовами навчання, ми спеціалізуємося тільки на індивідуальних заняттях, як для початківців, так і для просунутих програмістів. Ви можете взяти як одне заняття для опрацювання питання, що вас цікавить, так і кілька, для більш щільної роботи. Завдяки особистому кабінету, кожен студент підвищить якість свого навчання, у вашому розпорядженні:
- Доступ до пройденого матеріалу
- Тематичні статті
- Бібліотека книг
- Онлайн тестування
- Спілкування в закритих групах