Altbilgi içeriğine atla
GEçIş KıLAVUZLARı

C#'ta Telerik Reporting'den IronPDF'ye Nasıl Geçilir

Telerik Reporting, görsel tasarımcılar ve detaylandırma yetenekleri ile etkileşimli raporlar oluşturmak için .NET geliştiricileri için iyi hizmet veren güçlü bir kurumsal raporlama platformudur. Ancak, öncelikli ihtiyaçı PDF oluşturma olan ekipler için geniş kapsamlı raporlama altyapısı yerine, Telerik Raporlama genellikle lisanslama maliyetlerinde önemli bir yük, dağıtım karmaşıklığı ve çalışma zamanındaki ayak izi oluşturur.

Bu kılavuz, bu geçişi değerlendiren profesyonel .NET geliştiricileri için, gerçek geçiş senaryolarından adım adım talimatlar, kod karşılaştırmaları ve pratik örneklerle, Telerik Reporting'den IronPDF'e tam bir geçiş yolu sunar.

Telerik Reporting'den Neden Geçiş Yapılır

Telerik Reporting'den geçiş yapma kararı genellikle araçlarınızı gerçek gereksinimlerinize uyarlama etrafında şekillenir. Geliştirme ekiplerinin geçişi değerlendirme nedenleri şunları içerir:

Pahalı Paket Lisansı: Telerik Reporting, ya DevCraft paketi (geliştirici başına 1.000+$) ya da bağımsız bir lisans gerektirir. Yalnızca PDF oluşturma ihtiyaçı olan ekipler için bu, önemli derecede kullanılmayan bir yetenek temsil eder.

Rapor Tasarımcısı Bağımlılığı: Telerik Reporting, Visual Studio uzantılarını ve çalışma zamanı bileşenlerini kurmayı gerektirir. Bu, geliştirme ortamlarına ve CI/CD hatlarına karmaşıklık katar.

Karmaşık Altyapı: Üretim dağıtımları, rapor servis barındırma, bağlantı dizeleri ve veri kaynağı yapılandırması gibi, basit PDF oluşturma görevleri için bakım yükü ekleyen altyapıya ihtiyaç duyabilir.

Özel Format: .trdp ve .trdx dosya formatları sizi Telerik ekosistemine kilitler. Şablonları geçirmek veya değiştirmek, Telerik araçlarını gerektirir.

Yüksek Çalışma Zamanı: Dağıtım boyutu, basit HTML'den PDF'ye dönüştürme gereksinimleri için önemli derecede yüksektir.

Yıllık Abonelik: Güncellemeler ve destek için devam eden maliyetler, toplam sahip olma maliyetine eklenir.

Telerik Raporlama Gereksiz Olduğunda

Verilerden PDF üretmek için esasen Telerik Raporlama kullanıyorsanız, kullanılmayan özellikler için ödeme yapıyorsunuzdur:

İhtiyacınız Olan Telerik Sağlar (Kullanılmayanlar)
HTML'den PDF Görsel tasarımcı, detay açılımı
Basit raporlar Etkileşimli görüntüleyici, dışa aktarımlar
Sunucu tarafı PDF'ler Masaüstü kontrolleri, grafik motoru

IronPDF, kurumsal raporlama yükü olmadan odaklanmış PDF oluşturma sağlar.

IronPDF ve Telerik Reporting: Özellik Karşılaştırması

Mimari farklılıkları anlamak, teknik karar vericilerin geçiş yatırımını değerlendirmesine yardımcı olur:

Özellik Telerik Raporlama IronPDF
Odak Rapor oluşturma ve PDF dışa aktarma seçeneği HTML'den kapsamlı PDF oluşturma
Entegrasyon ASP.NET Core uygulamaları ile sorunsuz Herhangi bir .NET uygulamasına entegre edilebilir
Kurulum Karmaşıklığı Bir rapor tasarımcısının yüklenmesini gerektirir Basit NuGet kurulumu
Fiyatlandırma DevCraft ticari paketinin bir parçası Ayrı lisanslama, bağımsız PDF oluşturma için daha maliyet-etkin
PDF Oluşturma Yalnızca rapor dışa aktarımları ile sınırlı Gelişmiş PDF manipülasyonu ile tam özellikli
Hedef Kitlesi Rapor merkezli çözümler arayan geliştiriciler Esnek PDF oluşturma çözümleri arayan geliştiriciler
Şablon Formatı .trdp / .trdx HTML/CSS/Razor
Öğrenme Eğrisi Telerik'e özgü Standart web teknolojileri
HTML to PDF Sınırlı Tam Chromium render
URL'den PDF'ye Hayır Evet
CSS Desteği Sınırlı Tam CSS3
JavaScript Hayır Tam ES2024
Dijital İmzalar Hayır Evet
PDF/A Hayır Evet
Çalışma Zamanı Boyutu Büyük Daha küçük

Hızlı Başlangıç: Telerik Reporting'den IronPDF'ye Geçiş

Geçiş hemen bu temel adımlar ile başlatılabilir.

1. Adım: NuGet Paketlerini Değiştir

Tüm Telerik Raporlama paketlerini kaldırın:

# Remove Telerik Raporlama packages
dotnet remove package Telerik.Reporting
dotnet remove package Telerik.Reporting.Services.AspNetCore
dotnet remove package Telerik.ReportViewer.Mvc
# Remove Telerik Raporlama packages
dotnet remove package Telerik.Reporting
dotnet remove package Telerik.Reporting.Services.AspNetCore
dotnet remove package Telerik.ReportViewer.Mvc
SHELL

IronPDF'i yükleyin:

# Install IronPDF
dotnet add package IronPdf
# Install IronPDF
dotnet add package IronPdf
SHELL

Adım 2: Alan Adlarını Güncelle

Telerik ad alanlarını IronPdf ad alanı ile değiştirin:

// Before (Telerik Reporting)
using Telerik.Reporting;
using Telerik.Reporting.Processing;
using Telerik.Reporting.Drawing;

// After (IronPDF)
using IronPdf;
// Before (Telerik Reporting)
using Telerik.Reporting;
using Telerik.Reporting.Processing;
using Telerik.Reporting.Drawing;

// After (IronPDF)
using IronPdf;
Imports Telerik.Reporting
Imports Telerik.Reporting.Processing
Imports Telerik.Reporting.Drawing

' After (IronPDF)
Imports IronPdf
$vbLabelText   $csharpLabel

Adım 3: Lisansı Başlat

Uygulama başlangıcında lisans başlatmasını ekleyin:

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
$vbLabelText   $csharpLabel

Kod Geçiş Örnekleri

HTML'i PDF'ye Dönüştürme

En yaygın kullanım durumu, bu .NET PDF kütüphaneleri arasındaki mimari farkı gösterir.

Telerik Reporting Yaklaşımı:

// NuGet: Install-Package Telerik.Reporting
using Telerik.Reporting;
using Telerik.Reporting.Processing;
using System.Collections.Specialized;

class TelerikExample
{
    static void Main()
    {
        var reportSource = new Telerik.Reporting.TypeReportSource();
        var instanceReportSource = new Telerik.Reporting.InstanceReportSource();
        instanceReportSource.ReportDocument = new Telerik.Reporting.Report()
        {
            Items = { new Telerik.Reporting.HtmlTextBox() { Value = "<h1>Hello World</h1><p>Sample HTML content</p>" } }
        };

        var reportProcessor = new ReportProcessor();
        var result = reportProcessor.RenderReport("PDF", instanceReportSource, null);

        using (var fs = new System.IO.FileStream("output.pdf", System.IO.FileMode.Create))
        {
            fs.Write(result.DocumentBytes, 0, result.DocumentBytes.Length);
        }
    }
}
// NuGet: Install-Package Telerik.Reporting
using Telerik.Reporting;
using Telerik.Reporting.Processing;
using System.Collections.Specialized;

class TelerikExample
{
    static void Main()
    {
        var reportSource = new Telerik.Reporting.TypeReportSource();
        var instanceReportSource = new Telerik.Reporting.InstanceReportSource();
        instanceReportSource.ReportDocument = new Telerik.Reporting.Report()
        {
            Items = { new Telerik.Reporting.HtmlTextBox() { Value = "<h1>Hello World</h1><p>Sample HTML content</p>" } }
        };

        var reportProcessor = new ReportProcessor();
        var result = reportProcessor.RenderReport("PDF", instanceReportSource, null);

        using (var fs = new System.IO.FileStream("output.pdf", System.IO.FileMode.Create))
        {
            fs.Write(result.DocumentBytes, 0, result.DocumentBytes.Length);
        }
    }
}
Imports Telerik.Reporting
Imports Telerik.Reporting.Processing
Imports System.Collections.Specialized
Imports System.IO

Class TelerikExample
    Shared Sub Main()
        Dim reportSource As New Telerik.Reporting.TypeReportSource()
        Dim instanceReportSource As New Telerik.Reporting.InstanceReportSource()
        instanceReportSource.ReportDocument = New Telerik.Reporting.Report() With {
            .Items = {New Telerik.Reporting.HtmlTextBox() With {.Value = "<h1>Hello World</h1><p>Sample HTML content</p>"}}
        }

        Dim reportProcessor As New ReportProcessor()
        Dim result = reportProcessor.RenderReport("PDF", instanceReportSource, Nothing)

        Using fs As New FileStream("output.pdf", FileMode.Create)
            fs.Write(result.DocumentBytes, 0, result.DocumentBytes.Length)
        End Using
    End Sub
End Class
$vbLabelText   $csharpLabel

IronPDF Yaklaşımı:

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class IronPdfExample
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>Sample HTML content</p>");
        pdf.SaveAs("output.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class IronPdfExample
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>Sample HTML content</p>");
        pdf.SaveAs("output.pdf");
    }
}
Imports IronPdf
Imports System

Class IronPdfExample
    Shared Sub Main()
        Dim renderer = New ChromePdfRenderer()
        Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>Sample HTML content</p>")
        pdf.SaveAs("output.pdf")
    End Sub
End Class
$vbLabelText   $csharpLabel

Telerik sürümü, bir TypeReportSource oluşturmayı, bir InstanceReportSource, bir Report nesnesi ve bir HtmlTextBox, bir ReportProcessor ile birlikte manuel dosya akışı yönetimini gerektirir. IronPDF'nin ChromePdfRenderer işlemi üç satır kodla tamamlar.

Gelişmiş HTML-PDF senaryoları için HTML'den PDF'e dönüştürme kılavuzuna bakın.

URL'leri PDF'ye Dönüştürme

URL'den PDF'ye dönüştürme, Telerik Reporting'de önemli bir yetenek boşluğunu ortaya koyar.

Telerik Reporting Yaklaşımı:

// NuGet: Install-Package Telerik.Reporting
using Telerik.Reporting;
using Telerik.Reporting.Processing;
using System.Net;

class TelerikExample
{
    static void Main()
    {
        string htmlContent;
        using (var client = new WebClient())
        {
            htmlContent = client.DownloadString("https://example.com");
        }

        var report = new Telerik.Reporting.Report();
        var htmlTextBox = new Telerik.Reporting.HtmlTextBox()
        {
            Value = htmlContent
        };
        report.Items.Add(htmlTextBox);

        var instanceReportSource = new Telerik.Reporting.InstanceReportSource();
        instanceReportSource.ReportDocument = report;

        var reportProcessor = new ReportProcessor();
        var result = reportProcessor.RenderReport("PDF", instanceReportSource, null);

        using (var fs = new System.IO.FileStream("webpage.pdf", System.IO.FileMode.Create))
        {
            fs.Write(result.DocumentBytes, 0, result.DocumentBytes.Length);
        }
    }
}
// NuGet: Install-Package Telerik.Reporting
using Telerik.Reporting;
using Telerik.Reporting.Processing;
using System.Net;

class TelerikExample
{
    static void Main()
    {
        string htmlContent;
        using (var client = new WebClient())
        {
            htmlContent = client.DownloadString("https://example.com");
        }

        var report = new Telerik.Reporting.Report();
        var htmlTextBox = new Telerik.Reporting.HtmlTextBox()
        {
            Value = htmlContent
        };
        report.Items.Add(htmlTextBox);

        var instanceReportSource = new Telerik.Reporting.InstanceReportSource();
        instanceReportSource.ReportDocument = report;

        var reportProcessor = new ReportProcessor();
        var result = reportProcessor.RenderReport("PDF", instanceReportSource, null);

        using (var fs = new System.IO.FileStream("webpage.pdf", System.IO.FileMode.Create))
        {
            fs.Write(result.DocumentBytes, 0, result.DocumentBytes.Length);
        }
    }
}
Imports Telerik.Reporting
Imports Telerik.Reporting.Processing
Imports System.Net
Imports System.IO

Class TelerikExample
    Shared Sub Main()
        Dim htmlContent As String
        Using client As New WebClient()
            htmlContent = client.DownloadString("https://example.com")
        End Using

        Dim report As New Telerik.Reporting.Report()
        Dim htmlTextBox As New Telerik.Reporting.HtmlTextBox() With {
            .Value = htmlContent
        }
        report.Items.Add(htmlTextBox)

        Dim instanceReportSource As New Telerik.Reporting.InstanceReportSource()
        instanceReportSource.ReportDocument = report

        Dim reportProcessor As New ReportProcessor()
        Dim result = reportProcessor.RenderReport("PDF", instanceReportSource, Nothing)

        Using fs As New FileStream("webpage.pdf", FileMode.Create)
            fs.Write(result.DocumentBytes, 0, result.DocumentBytes.Length)
        End Using
    End Sub
End Class
$vbLabelText   $csharpLabel

IronPDF Yaklaşımı:

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class IronPdfExample
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderUrlAsPdf("https://example.com");
        pdf.SaveAs("webpage.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class IronPdfExample
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderUrlAsPdf("https://example.com");
        pdf.SaveAs("webpage.pdf");
    }
}
Imports IronPdf
Imports System

Class IronPdfExample
    Shared Sub Main()
        Dim renderer = New ChromePdfRenderer()
        Dim pdf = renderer.RenderUrlAsPdf("https://example.com")
        pdf.SaveAs("webpage.pdf")
    End Sub
End Class
$vbLabelText   $csharpLabel

Telerik Reporting'in doğal URL'den PDF'ye yeteneği yoktur. WebClient kullanarak HTML içeriğini manuel olarak çekmelisiniz, bu süreçte dış CSS, JavaScript çalıştırma ve dinamik içeriği kaybedersiniz. IronPDF'nin RenderUrlAsPdf metodu, tarayıcıda göründüğü gibi tam olarak render edilen sayfayı yakalar.

Kimlik doğrulama ve ozellestirilmis baslik seçenekleri icin URL'den PDF'ye dokümantasyonu kesfedin.

Sayfa Numaraları ile Başlık ve Altlık Uygulaması

Dinamik sayfa numaraları içeren başlık ve altlıklar, profesyonel belgeler için gereklidir. Uygulama yaklaşımları önemli ölçüde farklıdır.

Telerik Reporting Yaklaşımı:

// NuGet: Install-Package Telerik.Reporting
using Telerik.Reporting;
using Telerik.Reporting.Processing;
using Telerik.Reporting.Drawing;

class TelerikExample
{
    static void Main()
    {
        var report = new Telerik.Reporting.Report();

        // Add page header
        var pageHeader = new Telerik.Reporting.PageHeaderSection();
        pageHeader.Height = new Unit(0.5, UnitType.Inch);
        pageHeader.Items.Add(new Telerik.Reporting.TextBox()
        {
            Value = "Document Header",
            Location = new PointU(0, 0),
            Size = new SizeU(new Unit(6, UnitType.Inch), new Unit(0.3, UnitType.Inch))
        });
        report.PageHeaderSection = pageHeader;

        // Add page footer
        var pageFooter = new Telerik.Reporting.PageFooterSection();
        pageFooter.Height = new Unit(0.5, UnitType.Inch);
        pageFooter.Items.Add(new Telerik.Reporting.TextBox()
        {
            Value = "Page {PageNumber} of {PageCount}",
            Location = new PointU(0, 0),
            Size = new SizeU(new Unit(6, UnitType.Inch), new Unit(0.3, UnitType.Inch))
        });
        report.PageFooterSection = pageFooter;

        // Add content
        var htmlTextBox = new Telerik.Reporting.HtmlTextBox()
        {
            Value = "<h1>Report Content</h1><p>This is the main content.</p>"
        };
        report.Items.Add(htmlTextBox);

        var instanceReportSource = new Telerik.Reporting.InstanceReportSource();
        instanceReportSource.ReportDocument = report;

        var reportProcessor = new ReportProcessor();
        var result = reportProcessor.RenderReport("PDF", instanceReportSource, null);

        using (var fs = new System.IO.FileStream("report_with_headers.pdf", System.IO.FileMode.Create))
        {
            fs.Write(result.DocumentBytes, 0, result.DocumentBytes.Length);
        }
    }
}
// NuGet: Install-Package Telerik.Reporting
using Telerik.Reporting;
using Telerik.Reporting.Processing;
using Telerik.Reporting.Drawing;

class TelerikExample
{
    static void Main()
    {
        var report = new Telerik.Reporting.Report();

        // Add page header
        var pageHeader = new Telerik.Reporting.PageHeaderSection();
        pageHeader.Height = new Unit(0.5, UnitType.Inch);
        pageHeader.Items.Add(new Telerik.Reporting.TextBox()
        {
            Value = "Document Header",
            Location = new PointU(0, 0),
            Size = new SizeU(new Unit(6, UnitType.Inch), new Unit(0.3, UnitType.Inch))
        });
        report.PageHeaderSection = pageHeader;

        // Add page footer
        var pageFooter = new Telerik.Reporting.PageFooterSection();
        pageFooter.Height = new Unit(0.5, UnitType.Inch);
        pageFooter.Items.Add(new Telerik.Reporting.TextBox()
        {
            Value = "Page {PageNumber} of {PageCount}",
            Location = new PointU(0, 0),
            Size = new SizeU(new Unit(6, UnitType.Inch), new Unit(0.3, UnitType.Inch))
        });
        report.PageFooterSection = pageFooter;

        // Add content
        var htmlTextBox = new Telerik.Reporting.HtmlTextBox()
        {
            Value = "<h1>Report Content</h1><p>This is the main content.</p>"
        };
        report.Items.Add(htmlTextBox);

        var instanceReportSource = new Telerik.Reporting.InstanceReportSource();
        instanceReportSource.ReportDocument = report;

        var reportProcessor = new ReportProcessor();
        var result = reportProcessor.RenderReport("PDF", instanceReportSource, null);

        using (var fs = new System.IO.FileStream("report_with_headers.pdf", System.IO.FileMode.Create))
        {
            fs.Write(result.DocumentBytes, 0, result.DocumentBytes.Length);
        }
    }
}
Imports Telerik.Reporting
Imports Telerik.Reporting.Processing
Imports Telerik.Reporting.Drawing
Imports System.IO

Class TelerikExample
    Shared Sub Main()
        Dim report As New Telerik.Reporting.Report()

        ' Add page header
        Dim pageHeader As New Telerik.Reporting.PageHeaderSection()
        pageHeader.Height = New Unit(0.5, UnitType.Inch)
        pageHeader.Items.Add(New Telerik.Reporting.TextBox() With {
            .Value = "Document Header",
            .Location = New PointU(0, 0),
            .Size = New SizeU(New Unit(6, UnitType.Inch), New Unit(0.3, UnitType.Inch))
        })
        report.PageHeaderSection = pageHeader

        ' Add page footer
        Dim pageFooter As New Telerik.Reporting.PageFooterSection()
        pageFooter.Height = New Unit(0.5, UnitType.Inch)
        pageFooter.Items.Add(New Telerik.Reporting.TextBox() With {
            .Value = "Page {PageNumber} of {PageCount}",
            .Location = New PointU(0, 0),
            .Size = New SizeU(New Unit(6, UnitType.Inch), New Unit(0.3, UnitType.Inch))
        })
        report.PageFooterSection = pageFooter

        ' Add content
        Dim htmlTextBox As New Telerik.Reporting.HtmlTextBox() With {
            .Value = "<h1>Report Content</h1><p>This is the main content.</p>"
        }
        report.Items.Add(htmlTextBox)

        Dim instanceReportSource As New Telerik.Reporting.InstanceReportSource()
        instanceReportSource.ReportDocument = report

        Dim reportProcessor As New ReportProcessor()
        Dim result = reportProcessor.RenderReport("PDF", instanceReportSource, Nothing)

        Using fs As New FileStream("report_with_headers.pdf", FileMode.Create)
            fs.Write(result.DocumentBytes, 0, result.DocumentBytes.Length)
        End Using
    End Sub
End Class
$vbLabelText   $csharpLabel

IronPDF Yaklaşımı:

// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;
using System;

class IronPdfExample
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();

        // Configure header and footer
        renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
        {
            HtmlFragment = "<div style='text-align:center'>Document Header</div>"
        };

        renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
        {
            HtmlFragment = "<div style='text-align:center'>Page {page} of {total-pages}</div>"
        };

        var pdf = renderer.RenderHtmlAsPdf("<h1>Report Content</h1><p>This is the main content.</p>");
        pdf.SaveAs("report_with_headers.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;
using System;

class IronPdfExample
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();

        // Configure header and footer
        renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
        {
            HtmlFragment = "<div style='text-align:center'>Document Header</div>"
        };

        renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
        {
            HtmlFragment = "<div style='text-align:center'>Page {page} of {total-pages}</div>"
        };

        var pdf = renderer.RenderHtmlAsPdf("<h1>Report Content</h1><p>This is the main content.</p>");
        pdf.SaveAs("report_with_headers.pdf");
    }
}
Imports IronPdf
Imports IronPdf.Rendering
Imports System

Class IronPdfExample
    Shared Sub Main()
        Dim renderer As New ChromePdfRenderer()

        ' Configure header and footer
        renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {
            .HtmlFragment = "<div style='text-align:center'>Document Header</div>"
        }

        renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter() With {
            .HtmlFragment = "<div style='text-align:center'>Page {page} of {total-pages}</div>"
        }

        Dim pdf = renderer.RenderHtmlAsPdf("<h1>Report Content</h1><p>This is the main content.</p>")
        pdf.SaveAs("report_with_headers.pdf")
    End Sub
End Class
$vbLabelText   $csharpLabel

Telerik Reporting, PageHeaderSection ve PageFooterSection nesneleri yaratmayı, Unit ölçümlerini yapılandırmayı, Location ve Size özelliklerini ayarlamayı ve belirli koordinatlarla TextBox öğelerini yönetmeyi gerektirir. IronPDF'nin HTML tabanlı yaklaşımı, tanıdık CSS stilini ve {page} ve {total-pages} gibi basit yer tutucuları kullanır.

Başlık ve altlık seçenekleri hakkında daha fazla bilgi için başlık ve altlıklar belgelerine göz atın.

Telerik Raporlama API'den IronPDF'ye Harita Referansı

Bu eşleme, doğrudan API eşdeğerlerini göstererek geçişi hızlandırır.

Telerik Raporlama IronPDF
Report sınıfı ChromePdfRenderer
ReportProcessor renderer.RenderHtmlAsPdf()
ReportSource HTML string veya dosya
.trdp / .trdx dosyaları HTML/CSS şablonları
ReportParameter String interpolasyonu / Razor
ReportDataSource C# veri bağlama
RenderReport("PDF") RenderHtmlAsPdf()
Export() pdf.SaveAs()
TextBox rapor öğesi HTML <span>, <p>, <div>
Table rapor öğesi HTML <table>
PictureBox HTML <img>
PageSettings RenderingOptions

Yaygın Taşınma Sorunları ve Çözümleri

Başlık 1: Rapor Tanımları (.trdp/.trdx dosyaları)

Telerik Reporting, doğrudan dönüştürülemeyen tescilli XML rapor tanımları kullanır.

Çözüm: Raporu tasarımcıda açarak, düzeni, veri bağlamalarını ve biçimlendirmeyi belgeler, ardından HTML/CSS şablonları olarak yeniden oluşturur. Karmaşık senaryolarda veri bağlama için Razor'u kullanın.

Başlık 2: Veri Kaynağı Bağlama

Telerik Reporting ifade bağlaması ve nesne veri kaynakları kullanır.

Çözüm: Verileri C# ile alın ve HTML'ye bağlayın:

var data = await dbContext.Orders.ToListAsync();
var html = $"<table>{string.Join("", data.Select(d => $"<tr><td>{d.Name}</td></tr>"))}</table>";
var data = await dbContext.Orders.ToListAsync();
var html = $"<table>{string.Join("", data.Select(d => $"<tr><td>{d.Name}</td></tr>"))}</table>";
Dim data = Await dbContext.Orders.ToListAsync()
Dim html = $"<table>{String.Join("", data.Select(Function(d) $"<tr><td>{d.Name}</td></tr>"))}</table>"
$vbLabelText   $csharpLabel

Başlık 3: Rapor Parametreleri

Telerik Reporting yerleşik parametre UI ile ReportParameter kullanır.

Çözüm: Parametreleri doğrudan HTML üretimine iletin:

public string GenerateReport(string customerId, DateTime fromDate)
{
    return $"<h1>Report for {customerId}</h1><p>From: {fromDate:d}</p>";
}
public string GenerateReport(string customerId, DateTime fromDate)
{
    return $"<h1>Report for {customerId}</h1><p>From: {fromDate:d}</p>";
}
Public Function GenerateReport(customerId As String, fromDate As DateTime) As String
    Return $"<h1>Report for {customerId}</h1><p>From: {fromDate:d}</p>"
End Function
$vbLabelText   $csharpLabel

Başlık 4: Etkileşimli Özellikler

Telerik Reporting, görüntüleyicide detay açılımı, sıralama ve filtreleme sağlar.

Çözüm:IronPDFstatik PDF'ler üretir. Etkileşimlilik için, verileri web UI'nizde tutun ve kullanıcı "Dışa Aktar"a tıkladığında PDF üretin. Bu, etkileşimli veri keşfi ile belge üretimini birbirinden ayırır.

Telerik Raporlama Geçiş Kontrol Listesi

Ön Taşınma Görevleri

Tüm Telerik Raporlama kullanımını belirlemek için kod tabanınızı denetleyin:

grep -r "using Telerik.Reporting" --include="*.cs" .
grep -r "Report\|ReportProcessor" --include="*.cs" .
grep -r "using Telerik.Reporting" --include="*.cs" .
grep -r "Report\|ReportProcessor" --include="*.cs" .
SHELL

Veri kaynaklarını ve parametreleri belgeleyin, mevcut rapor düzenlerinin görsel referansı için ekran görüntülerini alın ve yeniden kullanılabilir HTML şablonlarına dönüştürülebilecek ortak rapor bileşenlerini belirleyin.

Kod Güncelleme Görevleri

  1. Telerik NuGet paketlerini kaldırın
  2. IronPdf NuGet paketini kurun
  3. .trdx dosyalarını HTML şablonlarına dönüştürün
  4. ReportProcessor yerine ChromePdfRenderer değiştirin
  5. Veri bağlamasını string interpolasyonu veya Razor olarak güncelleyin
  6. Başlık ve alt bilgileri, HtmlHeaderFooter kullanarak HTML'ye dönüştürün
  7. Başlangıçta lisans başlangıcını ekleyin

Taşınım Sonrası Test

Geçiş sonrasında aşağıdaki yönleri doğrulayın:

  • PDF çıktısını orijinal raporlarla görsel olarak karşılaştırın
  • Üretilen PDF'lerde veri doğruluğunu doğrulayın
  • Çok sayfalı belgeler için sayfalandırmayı test edin
  • Tüm sayfalarda başlıkların/altlıkların doğru göründüğünü kontrol edin
  • Yüksek hacimli senaryolar için performans testi yapın

IronPDF'e Geçişin Temel Avantajları

Telerik Reporting'den IronPDF'ye geçiş, PDF oluşturma odaklı ekipler için birkaç avantaj sağlar:

Modern Chromium İşleme Motoru: IronPDF, Google Chrome ile aynı işleme motorunu kullanarak, PDF'lerin modern tarayıcılarda içerik göründüğü gibi işlenmesini sağlar. Tam CSS3 ve JavaScript desteği, web tasarımlarınızın doğrudan PDF'ye aktarabileceği anlamına gelir.

Basitleştirilmiş Lisanslama: IronPDF, kapsamlı bir paket satın almayı gerektirmeyen geliştirici başına lisanslama sunar. Yalnızca PDF oluşturma ihtiyaçı olan ekipler için bu, önemli bir maliyet tasarrufu sağlar.

Standart Web Teknolojileri: HTML, CSS ve JavaScript her web geliştiricisinin sahip olduğu becerilerdir. Özgün şablon formatları veya öğrenilmesi gereken özel tasarımcı araçları yok.

Daha Küçük Dağıtım Ayak İzi: Rapor servis altyapısı ve tasarımcı bileşenleri olmadan, dağıtımlar daha basit ve hızlıdır.

Aktif Geliştirme: 2026 boyunca .NET 10 ve C# 14 benimsenmesi arttıkça, IronPDF'in düzenli güncellemeleri mevcut ve gelecekteki .NET sürümleriyle uyumluluğu sağlar.

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