Milan Jovanović, ASP .NET Core'da PDF Belgeleri Oluşturuyor - Ve IronPDF Onun Tercih Ettiği Kütüphane

Milan, bir yazılım mimarı, Microsoft MVP ve .NET ekosisteminin en saygın seslerinden biri olarak, .NET Core'da PDF oluşturma konusuna derinlemesine bir inceleme yayınladı. Gerçek dünya örüntüleri arasında dinamik belge oluşturma, PDF birleştirme ve API uç noktalarından dosya sunma konularını yürütmüştür.
Onun tercihi olan kütüphane? IronPDF. Kendi sözleriyle: "IronPDF en sık ticari projelerde kullandığım kütüphane."
Onu tam olarak nasıl kullandığını inceleyelim.
Yaklaşım: Razor Görünümleriyle HTML Şablonları
PDF dosyaları oluşturmada daha yaygın yöntem HTML şablonları kullanmaktır.
ASP.NET Core MVC Razor görünümleri ile IronPDF'nin render motorunun bir kombinasyonudur. Güçlü tipli görünümler kullanarak, çalışma zamanında şablona doğrudan C# nesneleri geçirebilir ve dinamik, veri odaklı belgeler üretebilir.
Bu deseni eylemde görelim. Öncelikle, 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>Ardından, IronPDF'nin ChromePdfRenderer, oluşturulan HTML'i 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ır C# kod. Razor görünümü tüm yerleşim 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 Neden Alternatifler Yerine Bunu Seçiyor
Milan, birden fazla ticari projede PDF kütüphaneleri ile çalışmıştır ve IronPDF tercihinin bazı önemli faktörlere dayandığını makalesinde vurgulamaktadır.
Chromium render motoru tutarlı sonuçlar verir. IronPDF, HTML'yi Chrome'a güç veren aynı motoru kullanarak işler, bu da PDF çıktınızın tarayıcıda gördüğünüzle tam olarak eşleşeceği anlamına gelir.
CSS, biçimlendirme üzerinde size tam kontrol sağlar. Özelleşmiş bir yerleşim API'si öğ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şluklar, hepsi doğrudan PDF çıktısına çevrilir.
Gerçek Dünya Deseni: Birden Fazla PDF'yi Birleştirme
Milan, birden çok PDF dosyasını tek bir belgeye birleştirme gibi ortak bir iş gereksinimini açıklıyor. Aylık hesap ekstralarının muhasebe için gruplandırılması veya rapor bölümlerinin son teslim edilecek dosya olarak birleştirilmesi gerektiğini düşünün.
Gerçek Dünya Deseni: Bir API'den PDF Sunma
Milan ayrıca IronPDF'in ASP.NET Core'un Minimal API desenine nasıl doğal bir şekilde uyduğunu gösteriyor. Bir uç noktasından dinamik olarak üretilen bir PDF döndürme.
Milan'ın Tam Makalesini Oku
Milan'ın kapsamlı dökümü, .NET projeleriniz için PDF oluşturma yaklaşımlarını değerlendiriyorsanız keşfetmeye değer ek uygulama detaylarını ve kod örneklerini kapsar.
Kendiniz Deneyin
IronPDF geliştirme kullanımı için ücretsizdir, böylece Milan'ın kalıplarını kendi projelerinizde herhangi bir taahhüt altına girmeden test edebilirsiniz. NuGet ile yükleyin:
