WIADOMOśCI Z BRANżY

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

Milan Jovanovic

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>
$vbLabelText   $csharpLabel

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")
$vbLabelText   $csharpLabel

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.

Przeczytaj pełny artykuł tutaj

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:

Rozpocznij 30-dniowy bezpłatny okres próbny