
C# Geliştiriciler İçin IronPDF ile ChatGPT Nasıl Kullanılır.
Raporlar, verileri yapılandırılmış ve görsel olarak çekici bir formatta sunmak için gereklidir. Bu, satış verileri, analizler veya finansal özetler olsun, web uygulamalarında rapor oluşturma yaygındır. Microsoft, Web Forms Report Viewer Control kullanarak web uygulamalarına entegre edilebilen RDLC rapor hizmetleri sağlar. Ancak, süreç genellikle karmaşık ve zaman alıcı olabilir.
IronPDF'in burada devreye girdiği yer burasıdır. IronPDF, ASP.NET ve diğer web çerçevelerinde PDF raporları oluşturmayı basitleştiren, güçlü özellikler sunan ve kullanımı kolay bir çok yönlü kütüphanedir. Bu makalede, IronPDF kullanarak ASP.NET'de bir rapor oluşturmanın nasıl olacağını inceleyeceğiz.
ASP.NET İçin Rapor Nasıl Oluşturulur
- Visual Studio kullanarak bir ASP.NET Web Uygulaması oluşturun
- IronPDF ve IronPdf.Extensions.MVC.Core yükleyin
- Genç görev göndericisini oluşturmak için ChromePdfRenderer nesnesini oluşturun
- Görünümden PDF'ye dönüştürmek için RenderRazorViewToPdf yöntemini çağırın
- Response.Headers.Append kullanarak "Content-Disposition" ekleyin
- Bir PDF.BinaryData methodu ile Dosya kullanarak bir Rapor oluşturun
IronPDF'ye Giriş
IronPDF, ASP.NET ve diğer web çerçevelerinde PDF belgeleri oluşturmayı basitleştiren çok yönlü bir kütüphanedir. Zengin özellik seti ve sezgisel API'leri sayesinde, dinamik raporlar, faturalar, makbuzlar ve daha fazlasını doğrudan web uygulamalarından oluşturmak isteyen geliştiriciler için ideal bir seçimdir. IronPDF ile, geliştiriciler HTML, CSS ve hatta Razor görünümlerini yüksek kaliteli PDF belgelerine zahmetsizce dönüştürebilir, bu da raporlama işlevselliğinin ASP.NET projelerine sorunsuz bir şekilde entegrasyonunu sağlar.
IronPDF Özellikleri
- HTML'den PDF'ye Dönüştürme: CSS stiller de dahil olmak üzere HTML içeriğini kolayca yüksek kaliteli PDF belgelerine dönüştürün.
- PDF Düzenleme: Metin ekleyerek veya kaldırarak, resimler ve açıklamalar yaparak mevcut PDF belgelerini değiştirin.
- PDF Formu Doldurma: PDF formlarını, web uygulamanızdan alınan verilerle dinamik olarak doldurun.
- Barkod Oluşturma: PDF belgelerinde ürün etiketleri veya envanter takibi için barkodlar ve QR kodlar oluşturun.
- Filigran Ekleme: Gizli bilgileri korumak veya belgeleri markalamak için PDF sayfalarına filigranlar ekleyin.
- Şifreleme ve Güvenlik: PDF belgelerini şifreleme, parolalar ve izin ayarları ile güvence altına alın.
Gereksinimler
Başlamadan önce, aşağıdaki ön koşullara sahip olduğunuzdan emin olun:
- ASP.NET geliştirme hakkında temel bilgi.
- Makinenize Visual Studio kurulu olmalıdır.
- IronPDF ve IronPdf.Extensions.Mvc.Core
Visual Studio'da ASP.NET Projesi Oluşturma Adımları
- Visual Studio'yu açın ve yeni bir ASP.NET Core projesi oluşturun.
- İstediğiniz proje şablonunu seçin (örneğin, MVC veya Razor Pages).

- Proje ayarlarını, örneğin proje adı, konumu ve çerçeve sürümünü yapılandırın.

- Proje yapısını oluşturmak için "Create"'ye tıklayın.
IronPDF ve IronPdf.Extensions.Mvc.Core'un Kurulumu
Şimdi, NuGet Paket Yöneticisi'ni kullanarak IronPDF ve MVC genişletme paketini yükleyelim:
- Çözüm Gezgini'ne sağ tıklayarak Çözümler için NuGet Paket Yöneticisi'ni açın.
- "IronPDF" ve "IronPdf.Extensions.Mvc.Core" tuşlarını arayın.

- Her iki paketi de çözümünüze yükleyin.
ASP.NET Web Uygulamasında Rapor Görüntüleyici Oluşturma Adımları
Şimdi, ASP.NET projemizde IronPDF kullanarak bir PDF raporu oluşturmak için adımlara geçelim. Görünümü bir rapora dönüştürmeden önce, yeni bir raporu PDF formatında oluşturup indirmek için bir Veri modeline, Görünüme ve Denetleyiciye gereksinimimiz var.
Adım 1: Bir Model Sınıfı Tanımlayın
İlk olarak, satış verilerini temsil etmek için bir model sınıfı (SalesModel.cs) oluşturun. Bu örnek SalesModel sınıfı, Tarih, Ürün Adı, Miktar, Birim Fiyat ve Toplam Tutar gibi özellikleri içerecektir. Bu, Microsoft SQL Server veya MySQL Server gibi bir veri kaynağından bilgi almak için kullanışlıdır.
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 NamespaceAdım 2: Yeni Bir Web Form Görünümü Oluşturun
Bir sonraki adım olarak, satış verilerini tablo formatında görüntülemek ve PDF raporu oluşturmak için bir düğme sağlamak amacıyla bir Razor görünümü (Sales.cshtml) oluşturun.
<!-- 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>
Şimdi, _Layout.cshtml dosyasında Görünümler->Paylaşılan klasöründe bulunan Satış'ı menü öğesi olarak ekleyerek bir rapor sihirbazı görünümü oluşturun:
<!— Layout.cshtml —>
<li class="nav-item">
<a class="nav-link text-dark" asp-area="" asp-controller="Sales" asp-action="Sales">Sales</a>
</li>

Adım 3: Görünüm Render Servisi Kaydını Yapma
Bağımlılık enjeksiyonunun düzgün çalışması için Program.cs dosyasına görünüm render servisinin kaydının eklenmesi önemlidir. Program.cs dosyasına IRazorViewRenderer servisinin kaydını yapmak için aşağıdaki kodu ekleyin:
// Register the IRazorViewRenderer service
builder.Services.AddSingleton<IRazorViewRenderer, RazorViewRenderer>();' Register the IRazorViewRenderer service
builder.Services.AddSingleton(Of IRazorViewRenderer, RazorViewRenderer)()Adım 4: Web API Denetleyici Sınıfını Uygulama
Denetleyiciye (SalesController.cs) eylemleri işleyen satış görünümünü uygulayın ve PDF raporunu oluşturun. Denetleyici oluşturucusuna IronPDF tarafından sağlanan IRazorViewRenderer servisini enjekte edin.
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 NamespaceYukarıdaki kodda, oluşturucu içindeki IRazorViewRenderer servisi özel _viewRenderService alanına atanır. Ayrıca, denetleyici, satış bilgilerinin gösterim amaçlı olduğu bir SalesModel sınıfı örneklerinden oluşan salesData adlı bir liste başlatır.
Sales() eylem metodu, modeli salesData listesini geçerek "Sales" adlı bir görünüm döndürür. Bu eylem, ilişkili görünümde satış verilerini işlemekten sorumludur, kullanıcılara satış bilgilerini tablo formatında veya istenen başka bir düzenle görselleştirme imkanı sağlar.

Adım 5: PDF Raporu Oluşturma
GeneratePdf eyleminde, IronPDF'nin ChromePdfRenderer kullanarak Razor görünümünü bir PDF Rapordakümanına dönüştürün. Uygun yanıt başlıklarını ayarlayın ve PDF dosyasını istemciye geri döndürün.
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 FunctionYukarıdaki kodun çalışma mantığını detaylı olarak inceleyelim:
- Lisans Anahtarı Kurulumu:
- License.LicenseKey = "LİSANS-ANAHTARINIZ-BURADA";
- Bu satır, IronPDF için gereken lisans anahtarını ayarlar. IronPDF işlevlerini uygulama içinde kullanmak için gereklidir.
- Renderer Başlatma:
- ChromePdfRenderer renderer = new ChromePdfRenderer();
- Bir ChromePdfRenderer örneği oluşturulmuştur. Bu renderer, Chromium tarayıcı motorunu kullanarak Razor görünümlerini PDF formatına dönüştürmekten sorumludur.
- Görünümü PDF'ye Render Etme:
- PdfDocument PDF = renderer.RenderRazorViewToPdf(_viewRenderService, "Views/Sales/Sales.cshtml", salesData);
- ChromePdfRenderer'in
RenderRazorViewToPdf()yöntemi, belirtilen Razor görünümünü (Views/Sales/Sales.cshtml) bir PDF belgesine render etmek için çağrılır. salesData değişkeni, görünüm için model olarak görev yapar.
- Content-Disposition Başlığı:
Response.Headers.Append("Content-Disposition", "inline");- HTTP yanıt başlığı Content-Disposition "inline" olarak ayarlanmıştır. Bu, tarayıcıyı PDF içeriğini doğrudan görüntüleyerek raporları tarayıcı penceresinde veya sekmesinde açıldığında görüntülenebilecek şekilde yönlendirir.
- PDF Dosyasını Geri Döndürme:
- return File(pdf.BinaryData, "application/pdf", "SalesReport.pdf");
- PDF belgesi içeriği bir FileContentResult olarak döndürülür. Bu, PDF'in ikili verilerini (pdf.BinaryData) içerir, MIME türünü "application/pdf" olarak belirtir ve "SalesReport.pdf" olarak dosya adını önerir.
Genel olarak, bu yöntem, Razor görünümünden bir PDF raporu oluşturma sürecini verimli bir şekilde organize eder, ASP.NET uygulaması içinde entegrasyonunu geliştirmek için uygun hale getirir.

IronPDF'nin PDF raporlama üretimi ve diğer PDF ile ilgili görevleri kolaylaştırdığı hakkında detaylı bilgi için, lütfen belgeler sayfasını ziyaret edin.
Sonuç
Bu makalede, IronPDF'nin ASP.NET uygulamalarında PDF raporları oluşturma sürecini nasıl basitleştirdiğini inceledik. Yukarıda sağlanan adım adım rehberi izleyerek ASP.NET projelerinize IronPDF'yi hızla entegre edebilir ve kolaylıkla dinamik PDF raporları oluşturabilirsiniz.
Zengin özellik seti ve sorunsuz entegrasyonu ile IronPDF, geliştiricilerin kullanıcılarının ve işlerinin ihtiyaçlarını karşılayan profesyonel kalitede raporlar oluşturmasını sağlar.
IronPDF, bir ücretsiz deneme sunuyor. Kütüphaneyi buradan indirin ve deneyin.

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.
İlgili Makaleler


