Milan Jovanović ASP .NET Core'da PDF Belgeleri Oluşturuyor - Ve IronPDF Onun Kütüphanesi Seçimi

Milan, bir yazılım mimarı, Microsoft MVP'si ve .NET ekosisteminde en saygın seslerden biri olarak, .NET Core'da PDF oluşturma üzerine derinlemesine bir makale yayınladı. O, dinamik belge oluşturma, PDF birleştirme ve API uç noktalarından dosya sunma gibi gerçek dünya senaryolarından çeşitli örneklerle geçiş yaptı.
Tüm bunlar için tercih ettiği kütüphane hangisiydi? IronPDF. Kendi sözleriyle: "IronPDF, ticari projelerde en sık kullandığım kütüphanedir."
Onu tam olarak nasıl kullandığını adım adım inceleyelim.
Yaklaşım: Razor Görünümleri ile HTML Şablonları
PDF dosyaları oluşturmak için daha yaygın bir yaklaşım, bir HTML şablonu kullanmaktır.
ASP.NET Core MVC Razor görünümleri ile IronPDF'in işleme motorunun kombinasyonudur. Güçlü tipli görünümler kullanarak C# nesnelerini doğrudan çalıştırma zamanında şablona geçirerek dinamik, veri odaklı belgeler oluşturabilir.
İşte bu desenin eylemdeki hali. Önce, bir Razor görünümü belge düzenini tanımlar:
@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>Daha sonra, IronPDF'nin ChromePdfRenderer bu işlenmiş HTML'yi cilalı bir PDF'ye dönüştürür:
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")Üç satırlık C# kodu. Razor görünümü tüm düzen mantığını yönetir, CSS stil vermeyi yönetir ve IronPDF dönüşümü yönetir. Milan'ın belirttiği gibi, "Gerçekten bu kadar basit."
Milan'ın Diğer Alternatiflere Üstün Tutmasının Sebebi
Milan, birçok ticari projede PDF kütüphaneleriyle çalıştı ve IronPDF tercihinin nedeni olarak makalesinde vurguladığı birkaç önemli faktöre dayanıyor.
Chromium işleme motoru tutarlı sonuçlar verir. IronPDF, HTML'i Chrome'u güçlendiren aynı motoru kullanarak işler, yani PDF çıktınız, tarayıcıda gördüğünüzle tam olarak eşleşir.
CSS formatlama üzerinde tam kontrol sağlar. Özel bir düzen API'sini öğrenmek yerine, herhangi bir web sayfası için yazacağınız aynı CSS'i kullanırsınız. Flexbox, grid, özel yazı tipleri, duyarlı boşluk, hepsi PDF çıktılarına doğrudan çevrilir.
Gerçek Dünya Deseni: Birden Çok PDF'yi Birleştirme
Milan, birden çok PDF dosyasını tek bir belgede birleştirmek gibi yaygın bir iş gereksinimini inceliyor. Muhasebeleme için bir araya getirilmesi gereken aylık fişler veya nihai bir teslimat için birleştirilmesi gereken rapor bölümlerini düşünün.
Gerçek Dünya Deseni: Bir API'den PDF Sunma
Milan, IronPDF'in ASP.NET Core'un Minimal API deseni ile nasıl doğal bir şekilde uyum sağladığını da gösteriyor. Bir uç noktadan dinamik olarak oluşturulan bir PDF'i geri döndürme.
Milan'ın Tam Makalesini Okuyun
Milan'ın tam çözümlemesi, ek uygulama detaylarını ve .NET projeleriniz için PDF oluşturma yaklaşımlarını değerlendiriyorsanız keşfetmeye değer kod örneklerini kapsar.
Kendiniz Deneyin
IronPDF geliştirme kullanımı için ücretsizdir, böylece Milan'ın desenlerini kendi projelerinizde taahhüt olmaksızın test edebilirsiniz. NuGet ile kurun:
