Altbilgi içeriğine atla
IRONPDF KULLANARAK

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

  1. 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ı

  1. Visual Studio'yu açın ve yeni bir ASP.NET Core projesi oluşturun.
  2. İstenen proje şablonunu seçin (örneğin, MVC veya Razor Pages).

ASP .NET'te Rapor Oluşturma: Şekil 1

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

ASP .NET'te Rapor Oluşturma: Şekil 2

  1. 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:

  1. Çözüm Gezgini'ne sağ tıklayarak Çözümler için NuGet Paket Yöneticisini açın.
  2. "IronPDF" ve "IronPdf.Extensions.Mvc.Core" arayın.

ASP .NET'te Rapor Oluşturma: Şekil 3

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

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>
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>
HTML

ASP .NET'te Rapor Oluşturma: Şekil 4

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

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

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.

ASP .NET'te Rapor Oluşturma: Şekil 5

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

Yukarıdaki kodun işleyişini ayrıntılı olarak inceleyelim:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.

ASP .NET'te Rapor Oluşturma: Şekil 6

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.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında lisans derecesine sahiptir (Carleton Üniversitesi) ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirme üzerine uzmanlaşmıştır. Kullanıcı dostu ve estetik açıdan hoş arayüzler tasarlamaya tutkuyla bağlı olan Curtis, modern çerç...

Daha Fazlasını Oku

Iron Destek Ekibi

Haftanın 5 günü, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara