Milan Jovanović tworzy dokumenty PDF w ASP .NET Core - a IronPDF jest jego preferowana biblioteka

Milan, architekt oprogramowania, Microsoft MVP i jeden z najbardziej szanowanych glosow w ekosystemie .NET, opublikowal glebokie zanurzenie w generowanie PDF w .NET Core. Przeszedl przez wiele realnych wzorcow, w tym dynamiczne tworzenie dokumentów, scałanie PDF i serwowanie plików z punktow koncowych API.
Jaka biblioteka wybral do wszystkich tych zadań? IronPDF. W jego własnych slowach: "IronPDF to biblioteka, której najczęściej używalem w projektach komercyjnych."
Przejdzmy dokladnie przez to, jak jej używa.
Metoda: Szablony HTML z Widokami Razor
Bardziej powszechnym podejściem do generowania plików PDF jest użycie szablonu HTML.
To kombinacja widokow ASP.NET Core MVC Razor z silnikiem renderujacym IronPDF. Korzystajac z silnie typowanych widokow, może przekazac obiekty C# bezpośrednio do szablonu w czasie wykonania, aby generować dynamiczne, oparte na danych dokumenty.
Oto wzorzec w działaniu. Najpierw widok Razor definiuje uklad dokumentu:
@model ViewModels.InoviceViewModel
<div>Invoice number: @Model.InvoiceNumber</div>
<div>Invoice date: @Model.InvoiceDate</div>
<br/>
<span>Line items:</span>
<ul>
@foreach(var lineItem in Model.LineItems)
{
<li>@lineItem.Name | @lineItem.Price</li>
}
</ul>
@model ViewModels.InoviceViewModel
<div>Invoice number: @Model.InvoiceNumber</div>
<div>Invoice date: @Model.InvoiceDate</div>
<br/>
<span>Line items:</span>
<ul>
@foreach(var lineItem in Model.LineItems)
{
<li>@lineItem.Name | @lineItem.Price</li>
}
</ul>
@ModelType ViewModels.InoviceViewModel
<div>Invoice number: @Model.InvoiceNumber</div>
<div>Invoice date: @Model.InvoiceDate</div>
<br/>
<span>Line items:</span>
<ul>
@For Each lineItem In Model.LineItems
<li>@lineItem.Name | @lineItem.Price</li>
Next
</ul>
Następnie, ChromePdfRenderer IronPDF konwertuje ten wyrenderowany HTML na dopracowany PDF:
var html = ConvertRazorViewToHtml(invoice);
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs($"invoice-{invoice.InvoiceNumber}.pdf");
var html = ConvertRazorViewToHtml(invoice);
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs($"invoice-{invoice.InvoiceNumber}.pdf");
Dim html = ConvertRazorViewToHtml(invoice)
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs($"invoice-{invoice.InvoiceNumber}.pdf")
Trzy linie kodu C#. Widok Razor obsługuje cała logike ukladu, CSS obsługuje stylizacje, a IronPDF obsługuje konwersje. Jak zauwaza Milan, "To naprawde takie proste."
Dłączego Milan Wybiera To Zamiast Alternatyw
Milan pracowal z bibliotekami PDF w wielu projektach komercyjnych, a jego preferencja do IronPDF polega na kilku kluczowych czynnikach, które podkreśla w swoim artykułe.
Silnik renderujacy Chromium dostarcza spójne wyniki. IronPDF renderuje HTML przy użyciu tego samego silnika, który napedza Chrome, co oznacza, ze wyjscie PDF odpowiada dokladnie temu, co widzialbys w przeglądarce.
CSS daje pełna kontrole nad formatowaniem. Zamiast uczyc sie proprietarnego API układu, używa sie tego samego CSS, który pisalbys dla kazdej strony internetowej. Flexbox, siatka, niestandardowe czcionki, responsywne odstepy - wszystko to przeklada sie bezpośrednio na wyjscie PDF.
Realny Wzorzec: Scałanie Wiele Plikow PDF
Milan przechodzi przez powszechne wymaganie biznesowe, łącząc wiele plików PDF w jeden dokument. Pomysl o miesięcznych paragonach, które musza być polaczone dla celow księgowych, lub o sekcjach raportow, które musza być złożone w ostateczny material.
Realny Wzorzec: Serwowanie Plikow PDF z API
Milan pokazuje również, jak naturalnie IronPDF wpasowuje sie w wzorzec Minimal API ASP.NET Core. Zwrocenie dynamicznie wygenerowanego PDF z punktu koncowego.
Przecztaj Pelny Artykul Milana
Kompletny opis Milana obejmuje dodatkowe szczegóły implementacji i przykłady kodu, które warto zbadac, jeśli oceniasz podejścia do generowania PDF dla swoich projektow .NET.
Wypróbuj sam
IronPDF jest bezpłatny do uzytku developerskiego, wiec możesz przetestowac wzorce Milana w swoich projektach bez zadnych zobowiazan. Zainstaluj poprzez NuGet: