ASP .NET içinde Rapor nasıl oluşturulur.
Raporlar, verileri yapılandırılmış ve görsel olarak çekici bir formatta sunmak için esastır. İster satış verileri, analitik veya finansal özetler olsun, rapor oluşturmak web uygulamalarında yaygın bir gerekliliktir. Microsoft Web Forms Rapor Görüntüleyici Kontrolü kullanarak web uygulamalarına entegre edilebilecek RDLC rapor hizmetleri sağlar. Ancak, süreç genellikle karmaşık ve zaman alıcı olabilir.
İşte burada IronPDF devreye giriyor. IronPDF, ASP.NET ve diğer web çerçevelerinde PDF raporları oluşturmayı basitleştiren çok yönlü bir kütüphanedir, güçlü özellikler ve kullanım kolaylığı sunar. Bu makalede, IronPDF kullanarak ASP.NET'te nasıl rapor oluşturulacağını inceleyeceğiz.
ASP.NET'te Nasıl Rapor Oluşturulur
- Visual Studio kullanarak bir ASP.NET Web Uygulaması oluşturun IronPDF ve IronPdf.Extensions.MVC.Core yükleyin ChromePdfRenderer nesnesi oluşturun Görünümü PDF'ye dönüştürmek için RenderRazorViewToPdf yöntemini çağırın Response.Headers.Append kullanarak "Content-Disposition" ekleyin File yöntemi ile PDF.BinaryData 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, dinamik raporlar, faturalar, makbuzlar ve daha fazlasını web uygulamalarından doğrudan oluşturmak isteyen geliştiriciler için ideal bir seçim yapar. 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'nin Özellikleri
- HTML'den PDF'ye Dönüştürme: CSS stilleri de dahil olmak üzere HTML içeriğini kolayca yüksek kaliteli PDF belgelerine dönüştürün.
- PDF Düzenleme: Mevcut PDF belgelerini metin, resim ve açıklama ekleyip çıkararak değiştirin.
- PDF Form Doldurma: PDF formlarını web uygulamanızdan gelen verilerle dinamik olarak doldurun.
- Barkod Üretimi: Ürün etiketleri veya envanter takibi için PDF belgelerine barkodlar ve QR kodlar oluşturun.
- Filigran: Hassas bilgileri veya marka belgelerini korumak için PDF sayfalarına filigranlar ekleyin.
- Şifreleme ve Güvenlik: PDF belgelerini şifreleme, şifre ve izin ayarları ile güvenli hale getirin.
Ön Koşullar
Başlamadan önce şu ön koşullara sahip olduğunuzdan emin olun:
- ASP.NET geliştirme konusunda temel bilgi. Visual Studio makinenize kurulu. 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.
- İstenen proje şablonunu seçin (örneğin, MVC veya Razor Pages).

- Proje ayarlarını yapılandırın: proje adı, konum, çerçeve sürümü.

- Proje yapısını oluşturmak için "Oluştur"a tıklayın.
IronPDF ve IronPdf.Extensions.Mvc.Core Yükleme
Şimdi, NuGet Paket Yöneticisi'ni kullanarak IronPDF ve MVC uzantı paketini yükleyelim:
- Çözüm Gezgini'ne sağ tıklayarak Çözümler için NuGet Paket Yöneticisini açın.
- "IronPDF" ve "IronPdf.Extensions.Mvc.Core" arayın.

- Her iki paketi çö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şturma adımlarına dalalım. Bir görünümü rapora dönüştürmeden önce, yeni bir raporu PDF formatında oluşturmak ve indirmek için bir veri kaynağı oluşturmak üzere Bir Model, Görünüm ve Kontrolcü'ye ihtiyaçımız vardır.
Adım 1: Model Sınıfını 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 alırken 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 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 Namespace
Adım 2: Yeni Bir Web Form Görünümü Oluşturun
Sıradaki adımda, satış verilerini tablosal formatta görüntülemek ve PDF raporu oluşturmak için bir düğme sağlamak için bir Razor görünümü (Sales.cshtml) oluşturun.
@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>
@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>
_Layout.cshtml dosyasında, Görünümler->Paylaşılan klasöründe bulunan Satışları bir menü öğesi olarak ekleyin ve 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>
<!— 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 Yorumlama Hizmetini Kayıt Etme
Program.cs dosyasında görünüm yorumlama hizmetinin kaydının yapılması, bağımlılık enjeksiyonunun düzgün çalışması için çok önemlidir. IRazorViewRenderer hizmetini kaydetmek için Program.cs dosyasına aşağıdaki kodu ekleyin:
// Register the IRazorViewRenderer service
builder.Services.AddSingleton<IRazorViewRenderer, RazorViewRenderer>();
// 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
Satış görünümünü yorumlamak ve PDF raporu oluşturmak için eylemlerle bir denetleyici (SalesController.cs) uygulayın. Denetleyici yapıcısına IronPDF tarafından sağlanan IRazorViewRenderer hizmetini 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);
}
}
}
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(ByVal 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.00D
},
New SalesModel With {
.Date = DateTime.Parse("2024-03-02"),
.ProductName = "Product B",
.Quantity = 15,
.UnitPrice = 40.00D
},
New SalesModel With {
.Date = DateTime.Parse("2024-03-03"),
.ProductName = "Product C",
.Quantity = 20,
.UnitPrice = 30.00D
}
}
End Sub
Public Function Sales() As IActionResult
' Renders the sales view with the sales data
Return View(salesData)
End Function
End Class
End Namespace
Yukarıdaki kodda, yapıcı içinde, IRazorViewRenderer servisi özel alan _viewRenderService'e atanır. Ek olarak, kontrolör, gösterim amaçlı satış bilgilerini temsil eden SalesModel sınıfı örneklerini içeren salesData adlı bir listeyi başlatır.
Sales() eylem yöntemi, model olarak salesData listesini geçerek "Sales" adlı bir görünümü döndürür. Bu eylem, ilişkili görünümdeki satış verilerini biçimlendirmekten sorumludur ve kullanıcıların satış bilgilerini tablo formatında ya da istenilen başka bir düzenle görselleştirmelerine olanak tanır.

Adım 5: PDF Raporu Oluştur
Kontrolörün GeneratePdf eyleminde, IronPDF'nin ChromePdfRenderer aracını kullanarak Razor görünümünü bir PDF adlı Rapor dokümanına dönüştürün. Uygun yanıt üst bilgilerini belirleyin 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 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 Function
Yukarıdaki kodun işleyişini ayrıntılı olarak inceleyelim:
- Lisans Anahtarı Ayarlama:
- License.LicenseKey = "YOUR-LICENSE-KEY-HERE";
- Bu satır, IronPDF için gereken lisans anahtarını ayarlar. IronPDF işlevselliklerini uygulama içinde kullanabilmek için esastır.
- Renderer Başlatma:
- ChromePdfRenderer renderer = new ChromePdfRenderer();
- ChromePdfRenderer dan bir örnek oluşturulur. Bu oluşturucu, Razor görünümlerini Chromium tarayıcı motoru kullanarak PDF formatına dönüştürmekten sorumludur.
- Görünümü PDF'ye Dönüştürme:
- PdfDocument PDF = renderer.RenderRazorViewToPdf(_viewRenderService, "Views/Sales/Sales.cshtml", salesData);
- Belirtilen Razor görünümünü (Views/Sales/Sales.cshtml) bir PDF dokümanı olarak oluşturmak için ChromePdfRenderer'ın RenderRazorViewToPdf() yöntemi çağrılır. salesData değişkeni görünüm için model olarak hizmet verir.
- Content-Disposition Başlığı:
- Response.Headers.Append("Content-Disposition", "inline");
- HTTP yanıt başlığı Content-Disposition "inline" olarak ayarlanır. Bu, PDF içeriğinin tarayıcıda raporları görüntülemesi ya da yeni bir tarayıcı penceresinde veya sekmesinde açılması için talimat verir.
- PDF Dosyasını Döndürme:
- return File(pdf.BinaryData, "application/pdf", "SalesReport.pdf");
- PDF doküman içeriği FileContentResult olarak döndürülür. İkili veri içeriği PDF'nin (pdf.BinaryData) belirtir, MIME türünü "application/pdf" olarak ayarlar ve dosya adını "SalesReport.pdf" olarak önerir.
Genel olarak, bu yöntem bir Razor görünümünden bir PDF raporu üretme sürecini etkin bir şekilde düzenleyerek ASP.NET uygulamaları içinde raporlama yeteneklerini artırmak için entegrasyon için uygundur.

IronPDF'nin PDF rapor üretim sürecini ve diğer PDF ile ilgili görevleri kolaylaştırma hakkındaki ayrıntılı bilgi için belgeleme sayfasını ziyaret edin.
Sonuç
Bu makalede, IronPDF'nin ASP.NET uygulamalarında PDF raporlarının üretilmesini nasıl kolaylaştırdığını inceledik. Yukarıda verilen adım adım kılavuzu izleyerek, IronPDF'i ASP.NET projelerinize hızla entegre edebilir ve dinamik PDF raporlarını kolaylıkla üretebilirsiniz.
Zengin özellik seti ve sorunsuz entegrasyonu ile IronPDF, geliştiricilere kullanıcılarının ve işletmelerinin ihtiyaçlarını karşılayan profesyonel kalitede raporlar oluşturmalarını sağlar.
IronPDF, ücretsiz deneme sunar. Kütüphaneyi buradan indirip deneyin.
Sıkça Sorulan Sorular
ASP.NET icinde PDF raporu nasıl oluşturabilirim?
ASP.NET icinde IronPDF kullanarak PDF raporu oluşturabilirsiniz. Visual Studio'da bir ASP.NET web uygulamasi kurarak başlayin, sonra IronPDF ve MVC uzantisini yükleyin. Razor gorunumlerini PDF'ye cevrimek için ChromePdfRenderer sınıfini kullanin ve raporu oluşturmak için File metodunu kullanin.
ASP.NET için bir PDF kütüphanesi kullanmanin avantajlari nelerdir?
IronPDF gibi bir PDF kütüphanesi kullanmak, ASP.NET için PDF raporlarini oluşturma ve yönetme süreçini basitlestirir. HTML'den PDF'ye dönüşümu, PDF düzenleme, form doldurma, barkod oluşturma ve doküman güvenligini destekler, bu da onu çeşitli web uygulama ihtiyaçlari için çok yonlu yapar.
Razor gorunumleri PDF'ye ASP.NET icinde nasıl dönüştürurum?
Razor gorunumlerini PDF'ye ASP.NET icinde dönüştürmak için IronPDF'in ChromePdfRenderer.RenderRazorViewToPdf metodunu kullanabilirsiniz. Bu, PDF oluşturmayi ASP.NET uygulamalariniz icinde kesintisiz entegre etmenizi saglar.
IronPDF PDF raporu oluşturma için hangi özellikleri sunar?
IronPDF, HTML'den PDF'ye dönüşüm, PDF düzenleme, form doldurma, barkod oluşturma, watermark ve doküman şifreleme ve güvenligi gibi özellikler sunar. Bu özellikler dinamik ve güvenli PDF raporlari oluşturmayi kolaylastirir.
ASP.NET icinde PDF dokümanlarini nasıl güvenli hale getirebilirim?
IronPDF, geliştiricilerin PDF dokümanlarini şifreleme, parolalar ve izin ayarları ile güvenlikle ilgili özellikler saglar. Bu, hassas bilgilerin ASP.NET uygulamalarinizda korundugunu temin eder.
IronPDF için ücretsiz bir deneme sürümü mevcut mu?
Evet, IronPDF ücretsiz deneme sunuyor. Kütüphaneyi IronPDF web sitesinden indirebilir ve uygulamalarinizda profesyonel kalitede PDF raporlari oluşturmak için özelliklerini kesfedebilirsiniz.
ASP.NET uygulamasinda bir PDF'ye watermark (damga) nasıl eklerim?
IronPDF kullanarak bir ASP.NET uygulamasinda bir PDF'ye watermark ekleyebilirsiniz. Kütüphane, PDF dokümanlarinin uzerine watermark eklemek için API'ler saglar, bu da hassas bilgileri korumak veya dokümanlarinizi etkili bir şekilde markalamak için kullanilabilir.
ASP.NET projemde IronPDF'i kullanmak için gerekli olanlar nelerdir?
IronPDF'i kullanmadan önce, ASP.NET gelisimi hakkinda temel bir anlayisa sahip oldugunuzdan ve Visual Studio'yu kurdugunuzdan emin olun. Ayrica, projenizdeki özellikleri kullanmak için IronPDF ve MVC uzantisini kurmaniz gerekir.
IronPDF hakkinda daha fazla bilgiyi nerede bulabilirim?
IronPDF ve yetenekleri hakkinda daha ayrintili bilgi için IronPDF web sitesindeki belgeler sayfasini ziyaret edebilirsiniz. Belgeleme, kurulum, özellikler ve örnek kod konularinda bilgiler sunar.
IronPDF, .NET 10 ile uyumlu mu ve hangi avantajlari sunar?
Evet, IronPDF, Web, Masaustu ve Konsol proje tipleri dahil olmak uzere .NET 10'u tamamen destekler. Bu, .NET 10 çalışma zamani performans iyilestirmeleri (ornegin daha az heap ayirma ve daha hizli JIT), C# dil geliştirmeleri ve modern API'ler gibi avantajlardan faydalanir. Geliştiriciler, RenderHtmlAsPdf ve RenderHtmlAsPdfAsync gibi metotlari .NET 10 uygulamalarinda sorunsuz bir şekilde kullanabilir, cikti hizi, platformlar arasi dağıtim ve daha temiz kod gibi avantajlar elde eder.




