
Jak używać ChatGPT z IronPDF Dla dewelopera C#
Raporty są niezbędne do prezentacji danych w uporządkowanym i atrakcyjnym wizualnie formacie. Niezależnie od tego, czy chodzi o dane sprzedażowe, analityczne czy podsumowania finansowe, generowanie raportów jest powszechnym wymaganiem w aplikacjach internetowych. Firma Microsoft udostępnia usługi raportowania RDLC, które można zintegrować z aplikacjami internetowymi za pomocą kontrolki Web Forms Report Viewer Control. Jednak proces ten często bywa złożony i czasochłonny.
W tym miejscu do akcji wkracza IronPDF. IronPDF to wszechstronna biblioteka, która upraszcza generowanie raportów PDF w ASP.NET i innych frameworkach internetowych, oferując zaawansowane funkcje i łatwość użytkowania. W tym artykułe omówimy, jak utworzyć raport w ASP.NET przy użyciu IronPDF.
Jak utworzyć raport w ASP.NET
- Utwórz aplikację internetową ASP.NET przy użyciu programu Visual Studio
- Zainstaluj IronPDF i IronPdf.Extensions.MVC.Core
- Utwórz instancję obiektu ChromePdfRenderer sender
- Wywołaj metodę RenderRazorViewToPdf, aby przekonwertować widok do formatu PDF
- Dodaj "Content-Disposition" za pomocą Response.Headers.Append
- Utwórz raport przy użyciu metody File z PDF.BinaryData
Wprowadzenie do IronPDF
IronPDF to wszechstronna biblioteka, która upraszcza generowanie dokumentów PDF w ASP.NET i innych frameworkach internetowych. Bogaty zestaw funkcji i intuicyjne interfejsy API sprawiają, że jest to idealny wybór dla programistów, którzy chcą generować dynamiczne raporty, faktury, pokwitowania i inne dokumenty bezpośrednio z poziomu swoich aplikacji internetowych. Dzięki IronPDF programiści mogą bez wysiłku konwertować widoki HTML, CSS, a nawet Razor na wysokiej jakości dokumenty PDF, co umożliwia płynną integrację funkcji raportowania z ich projektami ASP.NET.
Funkcje IronPDF
- Konwersja HTML do PDF: Łatwo konwertuj treści HTML, w tym style CSS, na wysokiej jakości dokumenty PDF.
- Edycja plików PDF: Modyfikuj istniejące dokumenty PDF, dodając lub usuwając tekst, obrazy i adnotacje.
- Wypełnianie formularzy PDF: Dynamiczne wypełnianie formularzy PDF danymi z aplikacji internetowej.
- Generowanie kodów kreskowych: Generuj kody kreskowe i kody QR w dokumentach PDF do etykiet produktów lub śledzenia zapasów.
- Znak wodny: Dodawaj znaki wodne do stron PDF, aby chronić poufne informacje lub dokumenty firmowe.
- Szyfrowanie i bezpieczeństwo: Zabezpieczaj dokumenty PDF za pomocą szyfrowania, haseł i ustawień uprawnień.
Wymagania wstępne
Zanim zaczniemy, upewnij się, że spełniasz następujące wymagania wstępne:
- Podstawowa wiedza na temat programowania w ASP.NET.
- Visual Studio jest zainstalowane na Twoim komputerze.
- IronPDF i IronPdf.Extensions.Mvc.Core
Kroki tworzenia projektu ASP.NET w Visual Studio
-
Otwórz Visual Studio i utwórz nowy projekt ASP.NET Core.
-
Wybierz żądany szablon projektu (np. MVC lub Razor Pages).

-
Skonfiguruj ustawienia projektu, takie jak nazwa projektu, lokalizacja i wersja frameworka.

-
Kliknij "Utwórz", aby wygenerować strukturę projektu.
Instalacja IronPDF i IronPdf.Extensions.Mvc.Core
Następnie zainstalujmy IronPDF i jego pakiet rozszerzeń MVC za pomocą menedżera pakietów NuGet:
-
Otwórz menedżera pakietów NuGet dla rozwiązań, klikając prawym przyciskiem myszy Eksplorator rozwiązań.
-
Wyszukaj "IronPDF" i "IronPdf.Extensions.Mvc.Core".

-
Zainstaluj oba pakiety w swoim rozwiązaniu.
Kroki tworzenia przeglądarki raportów w aplikacji internetowej ASP.NET
Przejdźmy teraz do omówienia kroków tworzenia raportu PDF przy użyciu IronPDF w naszym projekcie ASP.NET. Przed przekształceniem widoku w raport potrzebujemy modelu, widoku i kontrolera, aby utworzyć źródło danych do tworzenia i pobierania nowego raportu w formacie PDF.
Krok 1: Zdefiniuj klasę modelu
Najpierw utwórz klasę modelu (SalesModel.cs) reprezentującą dane dotyczące sprzedaży. Ta przykładowa klasa SalesModel będzie zawierała takie właściwości, jak Date, ProductName, Quantity, UnitPrice i TotalAmount. Jest to przydatne podczas pobierania informacji ze źródeł danych, takich jak Microsoft SQL Server lub MySQL Server.
namespace ReportGenerator.Models
{
public class SalesModel
{
public DateTime Date { get; set; }
public string ProductName { get; set; }
public int Quantity { get; set; }
public decimal UnitPrice { get; set; }
public decimal TotalAmount => Quantity * UnitPrice;
}
}Namespace ReportGenerator.Models
Public Class SalesModel
Public Property [Date]() As DateTime
Public Property ProductName() As String
Public Property Quantity() As Integer
Public Property UnitPrice() As Decimal
Public ReadOnly Property TotalAmount() As Decimal
Get
Return Quantity * UnitPrice
End Get
End Property
End Class
End NamespaceKrok 2: Utwórz nowy widok formularza internetowego
Następnie utwórz widok Razor (Sales.cshtml) w celu wyświetlenia danych dotyczących sprzedaży w formacie tabelarycznym oraz dodaj przycisk do generowania raportu w formacie PDF.
<!-- Sales.cshtml -->
@model List<SalesModel>
<!DOCTYPE html>
<html>
<head>
<title>Sales Report</title>
<style>
table {
border-collapse: collapse;
width: 100%;
}
th, td {
border: 1px solid #dddddd;
text-align: left;
padding: 8px;
}
th {
background-color: #f2f2f2;
}
</style>
</head>
<body>
<h2>Sales Report</h2>
<table>
<tr>
<th>Date</th>
<th>Product Name</th>
<th>Quantity</th>
<th>Unit Price</th>
<th>Total Amount</th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>@item.Date.ToShortDateString()</td>
<td>@item.ProductName</td>
<td>@item.Quantity</td>
<td>@item.UnitPrice.ToString("C")</td>
<td>@item.TotalAmount.ToString("C")</td>
</tr>
}
</table>
<br />
@using (Html.BeginForm("GeneratePdf", "Sales", FormMethod.Post))
{
<button type="submit">Generate PDF Report</button>
}
</body>
</html>
Teraz dodaj pozycję menu "Sprzedaż" w pliku _Layout.cshtml znajdującym się w folderze Views->Shared, aby utworzyć widok kreatora raportów:
<!-- Layout.cshtml -->
<li class="nav-item">
<a class="nav-link text-dark" asp-area="" asp-controller="Sales" asp-action="Sales">Sales</a>
</li>

Krok 3: Rejestracja usługi renderowania widoku
Dodanie rejestracji usługi renderowania widoku w pliku Program.cs jest kluczowe dla prawidłowego działania wstrzykiwania zależności. Dodaj następujący kod do pliku Program.cs, aby zarejestrować usługę IRazorViewRenderer:
// Register the IRazorViewRenderer service
builder.Services.AddSingleton<IRazorViewRenderer, RazorViewRenderer>();' Register the IRazorViewRenderer service
builder.Services.AddSingleton(Of IRazorViewRenderer, RazorViewRenderer)()Krok 4: Zaimplementuj klasę kontrolera Web API
Zaimplementuj kontroler (SalesController.cs) z akcjami służącymi do renderowania widoku sprzedaży i generowania raportu PDF. Wprowadź usługę IRazorViewRenderer dostarczaną przez IronPDF do konstruktóra kontrolera.
using ReportGenerator.Models;
namespace ReportGenerator.Controllers
{
public class SalesController : Controller
{
private readonly IRazorViewRenderer _viewRenderService;
private readonly List<SalesModel> salesData;
public SalesController(IRazorViewRenderer viewRenderService)
{
_viewRenderService = viewRenderService;
// Example data with sales information
salesData = new List<SalesModel>
{
new SalesModel { Date = DateTime.Parse("2024-03-01"), ProductName = "Product A", Quantity = 10, UnitPrice = 50.00m },
new SalesModel { Date = DateTime.Parse("2024-03-02"), ProductName = "Product B", Quantity = 15, UnitPrice = 40.00m },
new SalesModel { Date = DateTime.Parse("2024-03-03"), ProductName = "Product C", Quantity = 20, UnitPrice = 30.00m }
// Add more data as needed
};
}
public IActionResult Sales()
{
// Renders the sales view with the sales data
return View(salesData);
}
}
}Imports ReportGenerator.Models
Namespace ReportGenerator.Controllers
Public Class SalesController
Inherits Controller
Private ReadOnly _viewRenderService As IRazorViewRenderer
Private ReadOnly salesData As List(Of SalesModel)
Public Sub New(viewRenderService As IRazorViewRenderer)
_viewRenderService = viewRenderService
' Example data with sales information
salesData = New List(Of SalesModel) From {
New SalesModel With {.Date = DateTime.Parse("2024-03-01"), .ProductName = "Product A", .Quantity = 10, .UnitPrice = 50.0D},
New SalesModel With {.Date = DateTime.Parse("2024-03-02"), .ProductName = "Product B", .Quantity = 15, .UnitPrice = 40.0D},
New SalesModel With {.Date = DateTime.Parse("2024-03-03"), .ProductName = "Product C", .Quantity = 20, .UnitPrice = 30.0D}
' Add more data as needed
}
End Sub
Public Function Sales() As IActionResult
' Renders the sales view with the sales data
Return View(salesData)
End Function
End Class
End NamespaceW powyższym kodzie, wewnątrz konstruktóra, usługa IRazorViewRenderer jest przypisana do pola prywatnego _viewRenderService. Dodatkowo kontroler inicjuje listę o nazwie salesData zawierającą instancje klasy SalesModel, reprezentujące informacje o sprzedaży do celów demonstracyjnych.
Metoda akcji Sales() zwraca widok o nazwie "Sales", przekazując listę salesData jako model. Ta akcja odpowiada za renderowanie danych dotyczących sprzedaży w powiązanym widoku, umożliwiając użytkownikom wizualizację informacji o sprzedaży w formacie tabelarycznym lub dowolnym innym pożądanym układzie.

Krok 5: Wygeneruj raport PDF
W akcji GeneratePdf kontrolera użyj ChromePdfRenderer biblioteki IronPDF do renderowania widoku Razor do dokumentu PDF Report. Ustaw odpowiednie nagłówki odpowiedzi i zwróć plik PDF do klienta.
public FileContentResult GeneratePdf()
{
// Set license key for IronPDF
License.LicenseKey = "YOUR-LICENSE-KEY-HERE";
// Initialize the ChromePdfRenderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render the Sales Razor view to a PDF document
PdfDocument pdf = renderer.RenderRazorViewToPdf(_viewRenderService, "Views/Sales/Sales.cshtml", salesData);
// Set HTTP response header to display the PDF inline
Response.Headers.Append("Content-Disposition", "inline");
// Return the PDF document as a FileContentResult
return File(pdf.BinaryData, "application/pdf", "SalesReport.pdf");
}Public Function GeneratePdf() As FileContentResult
' Set license key for IronPDF
License.LicenseKey = "YOUR-LICENSE-KEY-HERE"
' Initialize the ChromePdfRenderer
Dim renderer As New ChromePdfRenderer()
' Render the Sales Razor view to a PDF document
Dim pdf As PdfDocument = renderer.RenderRazorViewToPdf(_viewRenderService, "Views/Sales/Sales.cshtml", salesData)
' Set HTTP response header to display the PDF inline
Response.Headers.Append("Content-Disposition", "inline")
' Return the PDF document as a FileContentResult
Return File(pdf.BinaryData, "application/pdf", "SalesReport.pdf")
End FunctionPrzyjrzyjmy się szczegółowo działaniu powyższego kodu:
- Konfiguracja klucza licencyjnego:
- License.LicenseKey = "TWÓJ-KLUCZ-LICENCJI-TUTAJ";
- Ta linia określa klucz licencyjny wymagany dla IronPDF. Jest to niezbędne do korzystania z funkcji IronPDF w aplikacji.
- Inicjalizacja renderera:
- ChromePdfRenderer renderer = new ChromePdfRenderer();
- Tworzony jest egzemplarz klasy ChromePdfRenderer. Ten renderer odpowiada za konwersję widoków Razor do formatu PDF przy użyciu silnika przeglądarki Chromium.
- Renderowanie widoku do formatu PDF:
- PdfDocument PDF = renderer.RenderRazorViewToPdf(_viewRenderService, "Views/Sales/Sales.cshtml", salesData);
- Metoda
RenderRazorViewToPdf()klasy ChromePdfRenderer jest wywoływana w celu renderowania określonego widoku Razor (Views/Sales/Sales.cshtml) do dokumentu PDF. Zmienna salesData służy jako model dla widoku.
- Nagłówek Content-Disposition:
Response.Headers.Append("Content-Disposition", "inline");- Nagłówek odpowiedzi HTTP Content-Disposition jest ustawiony na "inline". Polecenie to nakazuje przeglądarce wyświetlenie zawartości pliku PDF bezpośrednio w oknie lub karcie przeglądarki po jego otwarciu.
- Zwrot pliku PDF:
- return File(pdf.BinaryData, "application/pdf", "SalesReport.pdf");
- Treść dokumentu PDF jest zwracana jako FileContentResult. Zawiera dane binarne pliku PDF (pdf.BinaryData), określa typ MIME jako "application/pdf" i sugeruje nazwę pliku jako "SalesReport.pdf".
Ogólnie rzecz biorąc, metoda ta skutecznie koordynuje proces generowania raportu PDF z widoku Razor, dzięki czemu nadaje się do integracji z aplikacją ASP.NET w celu rozszerzenia możliwości raportowania.

Aby uzyskać szczegółowe informacje na temat tego, w jaki sposób IronPDF ułatwia proces generowania raportów PDF i innych zadań związanych z plikami PDF, odwiedź stronę dokumentacji.
Wnioski
W tym artykułe omówiliśmy, w jaki sposób IronPDF upraszcza proces generowania raportów PDF w aplikacjach ASP.NET. Postępując zgodnie z powyższym przewodnikiem krok po kroku, można szybko zintegrować IronPDF z projektami ASP.NET i z łatwością generować dynamiczne raporty PDF.
Dzięki bogatemu zestawowi funkcji i płynnej integracji IronPDF umożliwia programistom tworzenie profesjonalnych raportów, które spełniają potrzeby użytkowników i firm.
IronPDF oferuje bezpłatną wersję próbną. Pobierz bibliotekę stąd i wypróbuj ją.

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.
Powiązane artykuły


