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

FastReport'tan IronPDF'e C# ile Nasıl Geçilir

FastReport.NET, .NET ekosistemi için inşa edilmiş güçlü bir raporlama çözümüdür ve karmaşık veri odaklı raporlar oluşturmak için görsel bir rapor tasarımcısına ve bant tabanlı bir mimariye sahiptir. Ancak, FastReport, modern PDF üretim iş akışları için önemli zorluklar sunar: kod ilk geliştirme gereksinimini sınırlayan rapor tasarımcısı bağımlılığı, bant tabanlı kavramlar (DataBand, PageHeaderBand) etrafında dik bir öğrenme eğrisi, özel formatlar kullanarak CSS desteği kısıtlı, RegisterData() şablonları ile karmaşık veri bağlama, çoklu kurulumlar gerektiren parçalı NuGet paketleri. Bu kapsamlı kılavuz, FastReport'tan IronPDF'ye adım adım bir geçiş yolu sunar—HTML/CSS web teknolojilerini kullanan esnek, programatik belge üretimi için genel bir PDF kütüphanesi.

FastReport'tan IronPDF'ye Neden Geçilmeli?

FastReport.NET raporlamada uzmanlaşmıştır ve farklı PDF üretimine ihtiyaç duyan geliştirme ekipleri için sürtüşme yaratır. Bu mimari farkları anlamak, göç planlamanız için esastır.

FastReportZorlukları

  1. Rapor Tasarımcısı Bağımlılığı: Karmaşık düzenler oluşturmak, görsel tasarımcıyı ya da .frx dosya yapısının derin bilgisini gerektirir—kod ilk geliştirme yaklaşımları için uygun değildir.

  2. Dik Öğrenme Eğrisi: FastReport'un bant tabanlı mimarisi (DataBand, PageHeaderBand, PageFooterBand), diğer teknolojilere aktarılamayan rapor özelinde kavramları anlamayı gerektirir.

  3. Sınırlı CSS Desteği: Web-standart stilizasyon yerli olarak desteklenmez; stilizasyon, tanıdık CSS yerine FastReport'un özel formatı üzerinden yapılır.

  4. Karmaşık Veri Bağlama: RegisterData() ve DataSource bağlantıları, basit PDF üretim senaryoları için şablon ekler.

  5. Parçalı Paketler: Tam işlevsellik için birden fazla NuGet paketi gereklidir (FastReport.OpenSource, FastReport.OpenSource.Export.PdfSimple, vb.).

  6. Lisanslama Karmaşıklığı: Açık kaynak sürümü sınırlı özelliklere sahiptir; PDF şifreleme, dijital imzalama ve yazı tipi gömme için ticari sürüm gereklidir.

Mimari Karşılaştırma

Bağlam FastReport IronPDF
Tasarim Yaklasimi Gorsel tasarimci + .frx dosyalari HTML/CSS (web teknolojileri)
Öğrenme Eğrisi Dik (bant tabanli kavramlar) Yumuskak (HTML/CSS bilgisi)
Veri Baglama RegisterData(), DataBand String interpolasyonu, Razor, sablonlama
CSS Desteği Sınırlı Flexbox/Grid ile tam CSS3
Paket Modeli Birden fazla paket Tek paket (tüm özellikler)
Render Motoru Ozel En Son Chromium
PDF Manipulasyonu Ihracat odakli Tam (birlesme, bolme, guvenlik, formlar)
Modern .NET .NET Standard 2.0 .NET 6/7/8/9+ yerel

Ana Geçiş Avantajları

  1. Web Teknolojileri: Tanıdık HTML/CSS kullanın, özel bant tabanlı yerleşimler yerine
  2. Kod-Önce Geliştirme: Görsel tasarımcı bağımlılığı olmadan programatik PDF üretin
  3. Tek Paket: Tüm PDF özelliklerini içeren bir NuGet paketi
  4. Modern Rendering: Piksel-hassas CSS3 çıktısı için en son Chromium motoru
  5. Tam PDF Manipülasyonu: Birleştirme, ayırma, güvenlik, formlar—sadece dışa aktarma değil

Önceden Taşıma Hazırlığı

Önkoşullar

Ortamınızın bu gereksinimlere uygun olduğunu doğrulayın:

  • .NET Framework 4.6.2+ veya .NET Core 3.1 / .NET 5-9
  • Visual Studio 2019+ veya C# uzantılı VS Code
  • NuGet Paket Yöneticisi erişimi -IronPDFlisans anahtarı (ücretsiz deneme ironpdf.com adresinde mevcuttur)

FastReportKullanımı Denetlenmesi

FastReport referanslarını belirlemek için çözüm dizininizde bu komutları çalıştırın:

# Find allFastReportreferences
grep -r "FastReport\|\.frx\|PDFExport\|PDFSimpleExport\|DataBand\|RegisterData" --include="*.cs" --include="*.csproj" .

# Check NuGet packages
dotnet list package | grep FastReport
# Find allFastReportreferences
grep -r "FastReport\|\.frx\|PDFExport\|PDFSimpleExport\|DataBand\|RegisterData" --include="*.cs" --include="*.csproj" .

# Check NuGet packages
dotnet list package | grep FastReport
SHELL

Rapor Şablonlarınızı Dökümante Edin

Goc oncesi, tüm .frx dosyalarini ve amaclarini kataloglayin:

  • Rapor adı ve amacı
  • Kullanılan veri kaynakları
  • Başlık/altbilgi yapılandırması
  • Sayfa numaralandırma gereksinimleri
  • Özel formatlama veya stilizasyon

Paradigma Değişimini Anlamak

FastReport'tan IronPDF'ye geçişte en büyük değişiklik, temel tasarım yaklaşımıdır. FastReport, .frx sablon dosyalari ve DataBand, PageHeaderBand, RegisterData() gibi özgün kavramlarla bant tabanli gorunum tasarimi kullanir. IronPDF, çoğu geliştiricinin zaten bildiği web teknolojileri olan HTML/CSS kullanır.

Bu, FastReport'un bant yapılandırmalarını HTML şablonlarına dönüştürmek, RegisterData()'yı direkt veri bağlamasıyla değiştirmek ve PageHeaderBand/PageFooterBand'i HTML tabanlı başlık ve altbilgilere dönüştürmek anlamına gelir.

Adım Adım Geçiş Süreci

Adım 1: NuGet Paketlerini Güncelleyin

TümFastReportpaketlerini kaldırın ve IronPDF'yi yükleyin:

# Remove allFastReportpackages
dotnet remove package FastReport.OpenSource
dotnet remove package FastReport.OpenSource.Export.PdfSimple
dotnet remove package FastReport.OpenSource.Web
dotnet remove package FastReport.OpenSource.Data.MsSql

# InstallIronPDF(includes all features)
dotnet add package IronPdf
# Remove allFastReportpackages
dotnet remove package FastReport.OpenSource
dotnet remove package FastReport.OpenSource.Export.PdfSimple
dotnet remove package FastReport.OpenSource.Web
dotnet remove package FastReport.OpenSource.Data.MsSql

# InstallIronPDF(includes all features)
dotnet add package IronPdf
SHELL

2. Adım: Namespace Referanslarını Güncelleyin

FastReport ad alanlarınıIronPDFile değiştirin:

// Remove these
using FastReport;
using FastReport.Export.PdfSimple;
using System.IO;

// Add this
using IronPdf;
// Remove these
using FastReport;
using FastReport.Export.PdfSimple;
using System.IO;

// Add this
using IronPdf;
Imports IronPdf
$vbLabelText   $csharpLabel

3. Adım: Lisansı Yapılandır

// Add at application startup (Program.cs or Startup.cs)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
// Add at application startup (Program.cs or Startup.cs)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
' Add at application startup (Program.vb or Startup.vb)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
$vbLabelText   $csharpLabel

Tam API Geçiş Referansı

Çekirdek Sınıf Eşleştirmesi

FastReportSınıfı IronPDF Eşdeğeri
Report ChromePdfRenderer
PDFExport ChromePdfRenderer + SecuritySettings
PDFSimpleExport ChromePdfRenderer
ReportPage HTML <body> veya <div>
TextObject HTML <p>, <span>, <div>
HTMLObject Dogrudan HTML rendering
PageHeaderBand HtmlHeaderFooter
PageFooterBand HtmlHeaderFooter

Yöntem Eşleştirme

FastReportMetodu IronPDF Eşdeğeri
report.Load("template.frx") HTML şablon dosyası veya dize
report.RegisterData(data, "name") Dize interpolasyonu veya Razor
report.Prepare() N/A
report.Export(export, stream) pdf.SaveAs(path)

Sayfa Numarası Yer Tutucu Dönüşümü

FastReport veIronPDFfarklı sayfa numarası sözdizimi kullanır:

FastReport IronPDF
[Page] {page}
[TotalPages] {total-pages}

Kod Geçiş Örnekleri

HTML'den PDF'ye Dönüşüm

Bu örnek, FastReport'un HTMLObject yaklaşımı ile IronPDF'nin direkt renderi arasındaki temel farkı gösterir.

FastReport Uygulaması:

// NuGet: Install-Package FastReport.OpenSource
using FastReport;
using FastReport.Export.PdfSimple;
using System.IO;

class Program
{
    static void Main()
    {
        using (Report report = new Report())
        {
            // Create HTML object
            FastReport.HTMLObject htmlObject = new FastReport.HTMLObject();
            htmlObject.Width = 500;
            htmlObject.Height = 300;
            htmlObject.Text = "<html><body><h1>Hello World</h1><p>This is a test PDF</p></body></html>";

            // Prepare report
            report.Prepare();

            // Export to PDF
            PDFSimpleExport pdfExport = new PDFSimpleExport();
            using (FileStream fs = new FileStream("output.pdf", FileMode.Create))
            {
                report.Export(pdfExport, fs);
            }
        }
    }
}
// NuGet: Install-Package FastReport.OpenSource
using FastReport;
using FastReport.Export.PdfSimple;
using System.IO;

class Program
{
    static void Main()
    {
        using (Report report = new Report())
        {
            // Create HTML object
            FastReport.HTMLObject htmlObject = new FastReport.HTMLObject();
            htmlObject.Width = 500;
            htmlObject.Height = 300;
            htmlObject.Text = "<html><body><h1>Hello World</h1><p>This is a test PDF</p></body></html>";

            // Prepare report
            report.Prepare();

            // Export to PDF
            PDFSimpleExport pdfExport = new PDFSimpleExport();
            using (FileStream fs = new FileStream("output.pdf", FileMode.Create))
            {
                report.Export(pdfExport, fs);
            }
        }
    }
}
Imports FastReport
Imports FastReport.Export.PdfSimple
Imports System.IO

Class Program
    Shared Sub Main()
        Using report As New Report()
            ' Create HTML object
            Dim htmlObject As New FastReport.HTMLObject()
            htmlObject.Width = 500
            htmlObject.Height = 300
            htmlObject.Text = "<html><body><h1>Hello World</h1><p>This is a test PDF</p></body></html>"

            ' Prepare report
            report.Prepare()

            ' Export to PDF
            Dim pdfExport As New PDFSimpleExport()
            Using fs As New FileStream("output.pdf", FileMode.Create)
                report.Export(pdfExport, fs)
            End Using
        End Using
    End Sub
End Class
$vbLabelText   $csharpLabel

IronPDF Uygulaması:

// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<html><body><h1>Hello World</h1><p>This is a test PDF</p></body></html>");
        pdf.SaveAs("output.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<html><body><h1>Hello World</h1><p>This is a test PDF</p></body></html>");
        pdf.SaveAs("output.pdf");
    }
}
Imports IronPdf

Class Program
    Shared Sub Main()
        Dim renderer = New ChromePdfRenderer()
        Dim pdf = renderer.RenderHtmlAsPdf("<html><body><h1>Hello World</h1><p>This is a test PDF</p></body></html>")
        pdf.SaveAs("output.pdf")
    End Sub
End Class
$vbLabelText   $csharpLabel

FastReport, bir Rapor nesnesi, sabit boyutlu bir HTMLObject oluşturmaya, raporu hazırlamaya ve stream üzerinden dışa aktarmaya ihtiyaç duyar—kullanma ifadeleriyle yedi satır kod. IronPDF, aynı sonucu üç satırda doğrudan HTML renderi ile ulaştırır. Daha fazla seçenek icin HTML'den PDF'ye belgelerini gorun.

URL'den PDF'ye Dönüşüm

Bu örnek, FastReport'un manuel HTML indirme gerektirirken IronPDF'nin URL renderini yerel olarak nasıl yönettiğini vurgular.

FastReport Uygulaması:

// NuGet: Install-Package FastReport.OpenSource
using FastReport;
using FastReport.Export.PdfSimple;
using System.IO;
using System.Net;

class Program
{
    static void Main()
    {
        // Download HTML content from URL
        string htmlContent;
        using (WebClient client = new WebClient())
        {
            htmlContent = client.DownloadString("https://example.com");
        }

        using (Report report = new Report())
        {
            FastReport.HTMLObject htmlObject = new FastReport.HTMLObject();
            htmlObject.Width = 800;
            htmlObject.Height = 600;
            htmlObject.Text = htmlContent;

            report.Prepare();

            PDFSimpleExport pdfExport = new PDFSimpleExport();
            using (FileStream fs = new FileStream("webpage.pdf", FileMode.Create))
            {
                report.Export(pdfExport, fs);
            }
        }
    }
}
// NuGet: Install-Package FastReport.OpenSource
using FastReport;
using FastReport.Export.PdfSimple;
using System.IO;
using System.Net;

class Program
{
    static void Main()
    {
        // Download HTML content from URL
        string htmlContent;
        using (WebClient client = new WebClient())
        {
            htmlContent = client.DownloadString("https://example.com");
        }

        using (Report report = new Report())
        {
            FastReport.HTMLObject htmlObject = new FastReport.HTMLObject();
            htmlObject.Width = 800;
            htmlObject.Height = 600;
            htmlObject.Text = htmlContent;

            report.Prepare();

            PDFSimpleExport pdfExport = new PDFSimpleExport();
            using (FileStream fs = new FileStream("webpage.pdf", FileMode.Create))
            {
                report.Export(pdfExport, fs);
            }
        }
    }
}
Imports FastReport
Imports FastReport.Export.PdfSimple
Imports System.IO
Imports System.Net

Class Program
    Shared Sub Main()
        ' Download HTML content from URL
        Dim htmlContent As String
        Using client As New WebClient()
            htmlContent = client.DownloadString("https://example.com")
        End Using

        Using report As New Report()
            Dim htmlObject As New FastReport.HTMLObject()
            htmlObject.Width = 800
            htmlObject.Height = 600
            htmlObject.Text = htmlContent

            report.Prepare()

            Dim pdfExport As New PDFSimpleExport()
            Using fs As New FileStream("webpage.pdf", FileMode.Create)
                report.Export(pdfExport, fs)
            End Using
        End Using
    End Sub
End Class
$vbLabelText   $csharpLabel

IronPDF Uygulaması:

// NuGet: Install-Package IronPdf
using IronPdf;

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

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

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

FastReport, WebClient ile manuel olarak HTML içeriğini indirip, sabit boyutlu bir HTMLObject'e yerleştirmeyi gerektirir—bu, JavaScript çalıştırmayı veya göreli kaynak URL'lerini düzgün yönetemeyen bir geçici çözüm. IronPDF'nin RenderUrlAsPdf, Chromium motorunu kullanarak JavaScript'in tam calistirilmasiyla canli web sayfasini dogrudan gösterir. Daha fazla seçenek icin URL to PDF dokümantasyonuna bakin.

Sayfa Numaralı Başlıklar ve Alt Bilgiler

Bu örnek, FastReport'un bant tabanlı sistemi ile IronPDF'nin HTML tabanlı yaklaşımı arasındaki karmaşıklık farkını gösterir.

FastReport Uygulaması:

// NuGet: Install-Package FastReport.OpenSource
using FastReport;
using FastReport.Export.PdfSimple;
using System.IO;

class Program
{
    static void Main()
    {
        using (Report report = new Report())
        {
            report.Load("template.frx");

            // Set report page properties
            FastReport.ReportPage page = report.Pages[0] as FastReport.ReportPage;

            // Add page header
            FastReport.PageHeaderBand header = new FastReport.PageHeaderBand();
            header.Height = 50;
            FastReport.TextObject headerText = new FastReport.TextObject();
            headerText.Text = "Document Header";
            header.Objects.Add(headerText);
            page.Bands.Add(header);

            // Add page footer
            FastReport.PageFooterBand footer = new FastReport.PageFooterBand();
            footer.Height = 50;
            FastReport.TextObject footerText = new FastReport.TextObject();
            footerText.Text = "Page [Page]";
            footer.Objects.Add(footerText);
            page.Bands.Add(footer);

            report.Prepare();

            PDFSimpleExport pdfExport = new PDFSimpleExport();
            using (FileStream fs = new FileStream("report.pdf", FileMode.Create))
            {
                report.Export(pdfExport, fs);
            }
        }
    }
}
// NuGet: Install-Package FastReport.OpenSource
using FastReport;
using FastReport.Export.PdfSimple;
using System.IO;

class Program
{
    static void Main()
    {
        using (Report report = new Report())
        {
            report.Load("template.frx");

            // Set report page properties
            FastReport.ReportPage page = report.Pages[0] as FastReport.ReportPage;

            // Add page header
            FastReport.PageHeaderBand header = new FastReport.PageHeaderBand();
            header.Height = 50;
            FastReport.TextObject headerText = new FastReport.TextObject();
            headerText.Text = "Document Header";
            header.Objects.Add(headerText);
            page.Bands.Add(header);

            // Add page footer
            FastReport.PageFooterBand footer = new FastReport.PageFooterBand();
            footer.Height = 50;
            FastReport.TextObject footerText = new FastReport.TextObject();
            footerText.Text = "Page [Page]";
            footer.Objects.Add(footerText);
            page.Bands.Add(footer);

            report.Prepare();

            PDFSimpleExport pdfExport = new PDFSimpleExport();
            using (FileStream fs = new FileStream("report.pdf", FileMode.Create))
            {
                report.Export(pdfExport, fs);
            }
        }
    }
}
Imports FastReport
Imports FastReport.Export.PdfSimple
Imports System.IO

Class Program
    Shared Sub Main()
        Using report As New Report()
            report.Load("template.frx")

            ' Set report page properties
            Dim page As FastReport.ReportPage = TryCast(report.Pages(0), FastReport.ReportPage)

            ' Add page header
            Dim header As New FastReport.PageHeaderBand()
            header.Height = 50
            Dim headerText As New FastReport.TextObject()
            headerText.Text = "Document Header"
            header.Objects.Add(headerText)
            page.Bands.Add(header)

            ' Add page footer
            Dim footer As New FastReport.PageFooterBand()
            footer.Height = 50
            Dim footerText As New FastReport.TextObject()
            footerText.Text = "Page [Page]"
            footer.Objects.Add(footerText)
            page.Bands.Add(footer)

            report.Prepare()

            Dim pdfExport As New PDFSimpleExport()
            Using fs As New FileStream("report.pdf", FileMode.Create)
                report.Export(pdfExport, fs)
            End Using
        End Using
    End Sub
End Class
$vbLabelText   $csharpLabel

IronPDF Uygulaması:

// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    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("<html><body><h1>Report Content</h1><p>This is the main content.</p></body></html>");
        pdf.SaveAs("report.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    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("<html><body><h1>Report Content</h1><p>This is the main content.</p></body></html>");
        pdf.SaveAs("report.pdf");
    }
}
Imports IronPdf

Class Program
    Shared Sub Main()
        Dim renderer = 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("<html><body><h1>Report Content</h1><p>This is the main content.</p></body></html>")
        pdf.SaveAs("report.pdf")
    End Sub
End Class
$vbLabelText   $csharpLabel

FastReport, bir şablon dosyasını yüklemeyi, sayfa nesnelerini dönüştürmeyi, bant nesneleri oluşturmayı, yükseklik ayarlamayı, metin nesneleri oluşturmayı, bant koleksiyonlarına eklemeyi ve bantları sayfalara eklemeyi gerektirir. IronPDF, basit HTML parcaciklari ile HtmlHeaderFooter kullanir—ustbilgi ve altbilgiyi tam CSS ile stillendirebilirsiniz. Sayfa numarasi sözdizimi değişikligine dikkat edin: [Page], {page} olur ve [TotalPages], {total-pages} olur. Daha fazla seçenek için bkz. başlıklar ve altbilgiler belgeleri.

Kritik Geçiş Notları

Hiçbir .frx Şablon Dosyası Yok

FastReport şablonları (.frx),IronPDFile çalışmayacak. Yerleşimlerinizi HTML/CSS şablonlarına dönüştürün:

//FastReport- loads .frx template
report.Load("report.frx");

//IronPDF- use HTML template
var html = File.ReadAllText("template.html");
var pdf = renderer.RenderHtmlAsPdf(html);
//FastReport- loads .frx template
report.Load("report.frx");

//IronPDF- use HTML template
var html = File.ReadAllText("template.html");
var pdf = renderer.RenderHtmlAsPdf(html);
' FastReport - loads .frx template
report.Load("report.frx")

' IronPDF - use HTML template
Dim html As String = File.ReadAllText("template.html")
Dim pdf = renderer.RenderHtmlAsPdf(html)
$vbLabelText   $csharpLabel

Veri Bağlama Dönüşümü

RegisterData()'yı direkt HTML üretimi ile değiştirin:

// FastReport
report.RegisterData(dataSet, "Data");
report.GetDataSource("Data").Enabled = true;

//IronPDF- use string interpolation or StringBuilder
var html = new StringBuilder();
foreach (var item in data)
{
    html.Append($"<tr><td>{item.Name}</td><td>{item.Value}</td></tr>");
}
var pdf = renderer.RenderHtmlAsPdf(html.ToString());
// FastReport
report.RegisterData(dataSet, "Data");
report.GetDataSource("Data").Enabled = true;

//IronPDF- use string interpolation or StringBuilder
var html = new StringBuilder();
foreach (var item in data)
{
    html.Append($"<tr><td>{item.Name}</td><td>{item.Value}</td></tr>");
}
var pdf = renderer.RenderHtmlAsPdf(html.ToString());
Imports System.Text

' FastReport
report.RegisterData(dataSet, "Data")
report.GetDataSource("Data").Enabled = True

' IronPDF - use string interpolation or StringBuilder
Dim html As New StringBuilder()
For Each item In data
    html.Append($"<tr><td>{item.Name}</td><td>{item.Value}</td></tr>")
Next
Dim pdf = renderer.RenderHtmlAsPdf(html.ToString())
$vbLabelText   $csharpLabel

Güvenlik Ayarları

//IronPDFsecurity
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SecuritySettings.UserPassword = "password";
pdf.SecuritySettings.OwnerPassword = "ownerPassword";
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.FullPrintRights;
//IronPDFsecurity
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SecuritySettings.UserPassword = "password";
pdf.SecuritySettings.OwnerPassword = "ownerPassword";
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.FullPrintRights;
'IronPDFsecurity
Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SecuritySettings.UserPassword = "password"
pdf.SecuritySettings.OwnerPassword = "ownerPassword"
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.FullPrintRights
$vbLabelText   $csharpLabel

Kapsamlı güvenlik seçenekleri için şifreleme belgelerine bakın.

Göç Sonrası Kontrol Listesi

Kod göçünü tamamladıktan sonra, aşağıdakileri doğrulayın:

  • Oluşturulan PDF'lerin görsel karşılaştırması
  • Başlıklar/Altbilgiler ve sayfa numaralarını doğrulayın
  • Üretim veri hacimleri ile test edin
  • Güvenlik/şifreleme özelliklerini doğrulayın
  • Performans kıyaslaması
  • Kullanılmamış .frx şablon dosyalarını silin -FastReportile ilgili kodları silin
  • Belgeleri güncelleyin

PDF Altyapınızı Geleceğe Hazırlama

.NET 10'ın ufukta olduğu ve C# 14'ün yeni dil özellikleri getirdiği bu dönemde, modern web teknolojilerini kucaklayan bir PDF kütüphanesi seçmek, uzun dönem bakımı garanti eder. IronPDF'nin HTML/CSS yaklaşımı, şablonlarınızın web geliştiriminde kullanılan aynı becerilerden faydalanması anlamına gelir—diğer teknolojilere aktarılamayan özel bant tabanlı kavramlar yok. Projeler 2025 ve 2026'ya uzadıkça, Flexbox ve Grid gibi CSS3 özelliklerine sahip standart HTML şablonlarını kullanma yeteneği, FastReport'un özel formatlamasının eşleşemeyeceği bir tasarım esnekliği sağlar.

Ek Kaynaklar


FastReport'tan IronPDF'ye geçiş, görsel tasarımcı bağımlılığını, bant tabanlı öğrenme eğrisini ve parçalı paket modelini ortadan kaldırır. HTML/CSS tabanlı PDF üretimine geçiş, belirli web teknolojilerini kullanırken, tam PDF manipülasyon yetenekleri sunar: birleştirme, ayırma, güvenlik ve formlar—tek bir pakette.

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