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

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

SelectPdf'den IronPDF'e geçiş, yalnızca Windows için kullanılabilen ve eski bir render motoruna sahip bir çözümden, tam CSS3 ve JavaScript desteğine sahip modern, çok platformlu bir kütüphaneye PDF oluşturma iş akışınızı dönüştürür. Bu kılavuz, SelectPdf'nin destekleyemediği Linux, Docker, Azure İşlevleri ve diğer bulut platformlarına dağıtımı sağlayan eksiksiz, adım adım bir geçiş yolu sunar.

Neden SelectPdf'ten IronPDF'e Geçilmeli

SelectPdf'i Anlamak

SelectPdf HTML içeriğini PDF'lere dönüştürmek için tasarlanmış ticari bir kütüphanedir ve C# kullanır. Kütüphane, uygulamalarında sorunsuz bir PDF oluşturma işlevselliği entegrasyonu gerektiren geliştiricilere yöneliktir. SelectPdf'in gücü basit API'sinde yatar ve PDF oluşturmayı yeni öğrenenler için çekici bir seçenek haline getirir.

Ancak, potansiyel kullanıcılar önemli sınırlamalarının farkında olmalıdır. Çapraz platform kabiliyeti reklamlarına rağmen,SelectPdfsadece Windows ortamlarında çalışır. Bu,Azure İşlevlerigibi bulut tabanlı dağıtım çözümleri veya Docker gibi konteynerleri düşünürken büyük bir engel oluşturur. Ayrıca, ücretsiz sürümü önemli derecede sınırlıdır ve agresif filigranlamadan önce yalnızca beş sayfaya kadar izin verir. SelectPdf, güncel olmayan bir Blink çatalı ve WebKit tabanlı mimariden yararlanır, bu da modern web teknolojileriyle uyumluluk sorunlarına neden olur, örneğinCSS Gridve gelişmiş flexbox.

SelectPdf'in Kritik Sınırlamaları

Sorun Etkisi IronPDF Çözümü
Sadece Windows Linux, Docker, Azure Functions'a dağıtılamaz Tam çapraz platform desteği
Güncel olmayan işleme motoru Modern CSS çalışmaz, yerleşimler bozulur Güncel Chromium
5 sayfalık ücretsiz sürüm sınırı 5 sayfadan sonra agresif filigranlama Cömert deneme
.NET 10 desteği yok Geleceğe yönelik sorunlar Tam .NET 10 desteği
Bulut dağıtımı engellendi AWS Lambda,Azure İşlevlerikullanılamaz Bulut yerlisi

SelectPdf vsIronPDFKarşılaştırması

Özellik SelectPdf IronPDF
Platform Desteği Sadece Windows Tam çapraz platform, 10+ dağıtımlar
Modern Web Standartları Desteği Sınırlı (Güncel Olmayan Blink) Tam CSS3, modern Chromium
Maksimum Ücretsiz Sürüm Sayfa Sınırı 5 sayfa Esnek, sert sınır yok
Fiyatlandırma Fiyatları $499'dan başlar Şeffaf ve esnek fiyatlandırma
.NET 10 Desteği None Desteklenir
Bulut Ortamlarında Dağıtım Desteklenmiyor Tam destek
CSS Grid Sınırlı Desteklenir
Flexbox Sınırlı Desteklenir
CSS Değişkenleri Desteklenmiyor Desteklenir
Docker DESTEKLENMİYOR Resmi görüntüler
Azure Functions DESTEKLENMİYOR Desteklenir
AWS Lambda DESTEKLENMİYOR Desteklenir

.NET 10 ve C# 14'ü 2025 ve 2026'dan önce benimsemeyi planlayan ekipler içinSelectPdfaçıkça .NET 10'u desteklemez ve geleceğe yönelik sorunlar oluşturur. IronPDF, tüm modern .NET sürümleri için tam destek sağlar.


Başlamadan Önce

Önkoşullar

  1. .NET Ortamı: .NET Framework 4.6.2+ veya .NET Core 3.1+ / .NET 5/6/7/8/9/10+
  2. NuGet Erişimi: NuGet paketlerini yükleme yeteneği
  3. IronPDF Lisansı: Lisans anahtarınızı ironpdf.com adresinden edinin

NuGet Paket Değişiklikleri

# Remove SelectPdf
dotnet remove package Select.HtmlToPdf

# Install IronPDF
dotnet add package IronPdf
# Remove SelectPdf
dotnet remove package Select.HtmlToPdf

# Install IronPDF
dotnet add package IronPdf
SHELL

Lisans Yapılandırması

// Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
// Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
' Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
$vbLabelText   $csharpLabel

API Referansının Tamamı

Namespace Değişiklikleri

// Before: SelectPdf
using SelectPdf;

// After: IronPDF
using IronPdf;
using IronPdf.Engines.Chrome;
// Before: SelectPdf
using SelectPdf;

// After: IronPDF
using IronPdf;
using IronPdf.Engines.Chrome;
' Before: SelectPdf
Imports SelectPdf

' After: IronPDF
Imports IronPdf
Imports IronPdf.Engines.Chrome
$vbLabelText   $csharpLabel

Temel API Eşleştirmeleri

SelectPdf IronPDF Notlar
HtmlToPdf ChromePdfRenderer Çekirdek dönüştürücü sınıfı
converter.ConvertHtmlString(html) renderer.RenderHtmlAsPdf(html) HTML dizesi dönüştürme
converter.ConvertUrl(url) renderer.RenderUrlAsPdf(url) URL dönüştürme
doc.Save(path) pdf.SaveAs(path) Dosya olarak kaydet
doc.Close() Gerekli değil IronPDF temizliği yönetir
converter.Options.PdfPageSize renderer.RenderingOptions.PaperSize Kağıt boyutu
converter.Options.PdfPageOrientation renderer.RenderingOptions.PaperOrientation Yönlendirme
converter.Options.MarginTop renderer.RenderingOptions.MarginTop Üst marj
converter.Options.MarginBottom renderer.RenderingOptions.MarginBottom Alt marj
converter.Options.MarginLeft renderer.RenderingOptions.MarginLeft Sol marj
converter.Options.MarginRight renderer.RenderingOptions.MarginRight Sağ marj
PdfPageSize.A4 PdfPaperSize.A4 A4 boyutu enum
PdfPageOrientation.Portrait PdfPaperOrientation.Portrait Portre enum
PdfPageOrientation.Landscape PdfPaperOrientation.Landscape Manzara enum
{page_number} {page} Sayfa numarası yer tutucu
{total_pages} {total-pages} Toplam sayfalar yer tutucu

Kod Geçiş Örnekleri

Örnek 1: HTML Dizesini PDF'ye Dönüştürme

Önce (SelectPdf):

// NuGet: Install-Package Select.HtmlToPdf
using SelectPdf;
using System;

class Program
{
    static void Main()
    {
        string htmlContent = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>";

        HtmlToPdf converter = new HtmlToPdf();
        PdfDocument doc = converter.ConvertHtmlString(htmlContent);
        doc.Save("document.pdf");
        doc.Close();

        Console.WriteLine("PDF generated from HTML string");
    }
}
// NuGet: Install-Package Select.HtmlToPdf
using SelectPdf;
using System;

class Program
{
    static void Main()
    {
        string htmlContent = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>";

        HtmlToPdf converter = new HtmlToPdf();
        PdfDocument doc = converter.ConvertHtmlString(htmlContent);
        doc.Save("document.pdf");
        doc.Close();

        Console.WriteLine("PDF generated from HTML string");
    }
}
Imports SelectPdf
Imports System

Class Program
    Shared Sub Main()
        Dim htmlContent As String = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>"

        Dim converter As New HtmlToPdf()
        Dim doc As PdfDocument = converter.ConvertHtmlString(htmlContent)
        doc.Save("document.pdf")
        doc.Close()

        Console.WriteLine("PDF generated from HTML string")
    End Sub
End Class
$vbLabelText   $csharpLabel

Sonra (IronPDF):

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

class Program
{
    static void Main()
    {
        string htmlContent = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>";

        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);
        pdf.SaveAs("document.pdf");

        Console.WriteLine("PDF generated from HTML string");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        string htmlContent = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>";

        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);
        pdf.SaveAs("document.pdf");

        Console.WriteLine("PDF generated from HTML string");
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        Dim htmlContent As String = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>"

        Dim renderer = New ChromePdfRenderer()
        Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
        pdf.SaveAs("document.pdf")

        Console.WriteLine("PDF generated from HTML string")
    End Sub
End Class
$vbLabelText   $csharpLabel

Bu örnek temel API farklarını gösterir. SelectPdf, dönüştürücü sınıfı olarak HtmlToPdf kullanır, bir PdfDocument oluşturmak için ConvertHtmlString() çağırır, ardından kalıcı hale getirmek ve temizlemek için Save() ve Close() kullanır.

IronPDF, RenderHtmlAsPdf() ile ChromePdfRenderer kullanır ve PdfDocument döndürür ki bu SaveAs() ile kaydedilir. Close() çağrısı ortadan kaldırıldı—IronPDF, kaynak yönetimini otomatik olarak ele alır. Kapsamlı örnekler için HTML'den PDF'e döndürme belgesine bakın.

Örnek 2: URL'den PDF'e Dönüştürme

Önce (SelectPdf):

// NuGet: Install-Package Select.HtmlToPdf
using SelectPdf;
using System;

class Program
{
    static void Main()
    {
        HtmlToPdf converter = new HtmlToPdf();
        PdfDocument doc = converter.ConvertUrl("https://www.example.com");
        doc.Save("output.pdf");
        doc.Close();

        Console.WriteLine("PDF created successfully");
    }
}
// NuGet: Install-Package Select.HtmlToPdf
using SelectPdf;
using System;

class Program
{
    static void Main()
    {
        HtmlToPdf converter = new HtmlToPdf();
        PdfDocument doc = converter.ConvertUrl("https://www.example.com");
        doc.Save("output.pdf");
        doc.Close();

        Console.WriteLine("PDF created successfully");
    }
}
Imports SelectPdf
Imports System

Class Program
    Shared Sub Main()
        Dim converter As New HtmlToPdf()
        Dim doc As PdfDocument = converter.ConvertUrl("https://www.example.com")
        doc.Save("output.pdf")
        doc.Close()

        Console.WriteLine("PDF created successfully")
    End Sub
End Class
$vbLabelText   $csharpLabel

Sonra (IronPDF):

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

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

        Console.WriteLine("PDF created successfully");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

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

        Console.WriteLine("PDF created successfully");
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        Dim renderer = New ChromePdfRenderer()
        Dim pdf = renderer.RenderUrlAsPdf("https://www.example.com")
        pdf.SaveAs("output.pdf")

        Console.WriteLine("PDF created successfully")
    End Sub
End Class
$vbLabelText   $csharpLabel

SelectPdf'nin ConvertUrl() yöntemi, doğrudan IronPDF'nin RenderUrlAsPdf() yöntemine eşlenir. Kritik fark, işleme motorundadır: SelectPdf, modern CSS ile mücadele eden güncel olmayan bir Blink/WebKit çatalı kullanırken IronPDF, tam CSS3 ve JavaScript desteği için en güncel kararlı Chromium'u kullanır. Detayli bilgi icin eğitimlerimize bakin.

Örnek 3: Özel Sayfa Ayarları ve Kenar Boşlukları

Önce (SelectPdf):

// NuGet: Install-Package Select.HtmlToPdf
using SelectPdf;
using System;

class Program
{
    static void Main()
    {
        HtmlToPdf converter = new HtmlToPdf();

        converter.Options.PdfPageSize = PdfPageSize.A4;
        converter.Options.PdfPageOrientation = PdfPageOrientation.Portrait;
        converter.Options.MarginTop = 20;
        converter.Options.MarginBottom = 20;
        converter.Options.MarginLeft = 20;
        converter.Options.MarginRight = 20;

        string html = "<html><body><h1>Custom Page Settings</h1></body></html>";
        PdfDocument doc = converter.ConvertHtmlString(html);
        doc.Save("custom-settings.pdf");
        doc.Close();

        Console.WriteLine("PDF with custom settings created");
    }
}
// NuGet: Install-Package Select.HtmlToPdf
using SelectPdf;
using System;

class Program
{
    static void Main()
    {
        HtmlToPdf converter = new HtmlToPdf();

        converter.Options.PdfPageSize = PdfPageSize.A4;
        converter.Options.PdfPageOrientation = PdfPageOrientation.Portrait;
        converter.Options.MarginTop = 20;
        converter.Options.MarginBottom = 20;
        converter.Options.MarginLeft = 20;
        converter.Options.MarginRight = 20;

        string html = "<html><body><h1>Custom Page Settings</h1></body></html>";
        PdfDocument doc = converter.ConvertHtmlString(html);
        doc.Save("custom-settings.pdf");
        doc.Close();

        Console.WriteLine("PDF with custom settings created");
    }
}
Imports SelectPdf
Imports System

Module Program
    Sub Main()
        Dim converter As New HtmlToPdf()

        converter.Options.PdfPageSize = PdfPageSize.A4
        converter.Options.PdfPageOrientation = PdfPageOrientation.Portrait
        converter.Options.MarginTop = 20
        converter.Options.MarginBottom = 20
        converter.Options.MarginLeft = 20
        converter.Options.MarginRight = 20

        Dim html As String = "<html><body><h1>Custom Page Settings</h1></body></html>"
        Dim doc As PdfDocument = converter.ConvertHtmlString(html)
        doc.Save("custom-settings.pdf")
        doc.Close()

        Console.WriteLine("PDF with custom settings created")
    End Sub
End Module
$vbLabelText   $csharpLabel

Sonra (IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Engines.Chrome;
using System;

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

        renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
        renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
        renderer.RenderingOptions.MarginTop = 20;
        renderer.RenderingOptions.MarginBottom = 20;
        renderer.RenderingOptions.MarginLeft = 20;
        renderer.RenderingOptions.MarginRight = 20;

        string html = "<html><body><h1>Custom Page Settings</h1></body></html>";
        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("custom-settings.pdf");

        Console.WriteLine("PDF with custom settings created");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Engines.Chrome;
using System;

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

        renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
        renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
        renderer.RenderingOptions.MarginTop = 20;
        renderer.RenderingOptions.MarginBottom = 20;
        renderer.RenderingOptions.MarginLeft = 20;
        renderer.RenderingOptions.MarginRight = 20;

        string html = "<html><body><h1>Custom Page Settings</h1></body></html>";
        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("custom-settings.pdf");

        Console.WriteLine("PDF with custom settings created");
    }
}
Imports IronPdf
Imports IronPdf.Engines.Chrome
Imports System

Module Program
    Sub Main()
        Dim renderer As New ChromePdfRenderer()

        renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
        renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait
        renderer.RenderingOptions.MarginTop = 20
        renderer.RenderingOptions.MarginBottom = 20
        renderer.RenderingOptions.MarginLeft = 20
        renderer.RenderingOptions.MarginRight = 20

        Dim html As String = "<html><body><h1>Custom Page Settings</h1></body></html>"
        Dim pdf = renderer.RenderHtmlAsPdf(html)
        pdf.SaveAs("custom-settings.pdf")

        Console.WriteLine("PDF with custom settings created")
    End Sub
End Module
$vbLabelText   $csharpLabel

Sayfa ayarları deseni neredeyse aynıdır, açıkça belirtilmiş özellik adı değişiklikleriyle:

  • converter.Options.PdfPageSizerenderer.RenderingOptions.PaperSize
  • converter.Options.PdfPageOrientationrenderer.RenderingOptions.PaperOrientation
  • PdfPageSize.A4PdfPaperSize.A4
  • PdfPageOrientation.PortraitPdfPaperOrientation.Portrait

Marjin özellikleri aynı isim ve birimleri korur.


Sadece Windows Sorunu

SelectPdf'in Platform Sınırı

Herhangi bir pazarlama iddiasına rağmen,SelectPdfaçıkça desteklemez:

  • Linux (herhangi bir dağıtım)
  • macOS
  • Docker konteynerleri
  • Azure Functions
  • AWS Lambda
  • Google Cloud Functions
  • Herhangi bir ARM tabanlı sistem

Bu, temel bir mimari sınırlamadır—SelectPdf, Windows'a özel kütüphanelere bağımlıdır ve taşınamaz.

Platform Destek Karşılaştırması

| Platform |SelectPdf|IronPDF| | ---------- | :---: | :---: ||Windows Server 2019+| ✅ | ✅ ||Windows 10/11| ✅ | ✅ ||Ubuntu 20.04+| ❌ | ✅ ||Debian 10+| ❌ | ✅ ||CentOS 7+| ❌ | ✅ ||Alpine Linux| ❌ | ✅ ||Amazon Linux 2| ❌ | ✅ ||macOS 10.15+| ❌ | ✅ ||Azure Uygulama Hizmeti (Linux)| ❌ | ✅ ||Azure İşlevleri| ❌ | ✅ ||AWS Lambda| ❌ | ✅ ||Docker (Linux)| ❌ | ✅ ||Kubernetes| ❌ | ✅ |

Güncel Olmayan İşleme Motoru

CSS Özellik Desteği Karşılaştırması

SelectPdf, modern web standartlarına ayak uyduramayan güncel olmayan bir Blink/WebKit çatalı kullanır:

CSS Özelliği SelectPdf IronPDF
CSS Grid ⚠️ Kısmi/bozuk ✅Tam
Flexbox (temel)
Flexbox (boşluk özelliği)
CSS Değişkenleri
CSS calc() ⚠️ Sınırlı
@media yazdır ⚠️ Sınırlı
@font-face ⚠️ Sınırlı
Web Yazı Tipleri ⚠️ Sınırlı
SVG ⚠️ Temel ✅Tam
CSS Dönüşümleri ⚠️ Sınırlı
CSS Animasyonları

Geçiş Sonrası Yeni Özellikler

IronPDF'e geçtikten sonra SelectPdf'in sağlayamayacağı yeteneklere sahip olursunuz:

Platformlar Arası Dağıtım

// ✅IronPDF- Works everywhere
using IronPdf;

//Azure Uygulama Hizmeti (Linux)- WORKS
// Docker container - WORKS
//AWS Lambda- WORKS
// GitHub Actions on ubuntu-latest - WORKS
// macOS development - WORKS

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello</h1>");
pdf.SaveAs("output.pdf");
// ✅IronPDF- Works everywhere
using IronPdf;

//Azure Uygulama Hizmeti (Linux)- WORKS
// Docker container - WORKS
//AWS Lambda- WORKS
// GitHub Actions on ubuntu-latest - WORKS
// macOS development - WORKS

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello</h1>");
pdf.SaveAs("output.pdf");
Imports IronPdf

' ✅IronPDF- Works everywhere

'Azure Uygulama Hizmeti (Linux)- WORKS
' Docker container - WORKS
'AWS Lambda- WORKS
' GitHub Actions on ubuntu-latest - WORKS
' macOS development - WORKS

Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello</h1>")
pdf.SaveAs("output.pdf")
$vbLabelText   $csharpLabel

Modern CSS Destegi

// ✅IronPDF- Uses latest stable Chromium
var renderer = new ChromePdfRenderer();

var html = @"
<style>
    :root { --primary: #007bff; --gap: 20px; }
    .grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--gap); }
</style>
<div class='grid'>
    <div style='background: var(--primary); color: white; padding: 1rem;'>Item 1</div>
    <div style='background: var(--primary); color: white; padding: 1rem;'>Item 2</div>
    <div style='background: var(--primary); color: white; padding: 1rem;'>Item 3</div>
</div>";

var pdf = renderer.RenderHtmlAsPdf(html);
// All modern CSS features render correctly!
// ✅IronPDF- Uses latest stable Chromium
var renderer = new ChromePdfRenderer();

var html = @"
<style>
    :root { --primary: #007bff; --gap: 20px; }
    .grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--gap); }
</style>
<div class='grid'>
    <div style='background: var(--primary); color: white; padding: 1rem;'>Item 1</div>
    <div style='background: var(--primary); color: white; padding: 1rem;'>Item 2</div>
    <div style='background: var(--primary); color: white; padding: 1rem;'>Item 3</div>
</div>";

var pdf = renderer.RenderHtmlAsPdf(html);
// All modern CSS features render correctly!
Imports IronPdf

' ✅IronPDF- Uses latest stable Chromium
Dim renderer As New ChromePdfRenderer()

Dim html As String = "
<style>
    :root { --primary: #007bff; --gap: 20px; }
    .grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--gap); }
</style>
<div class='grid'>
    <div style='background: var(--primary); color: white; padding: 1rem;'>Item 1</div>
    <div style='background: var(--primary); color: white; padding: 1rem;'>Item 2</div>
    <div style='background: var(--primary); color: white; padding: 1rem;'>Item 3</div>
</div>"

Dim pdf = renderer.RenderHtmlAsPdf(html)
' All modern CSS features render correctly!
$vbLabelText   $csharpLabel

Close() Gerekmiyor

IronPDF, kaynak yönetimini otomatik olarak yapar:

// Option 1: Let garbage collection handle it
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
// No Close() needed

// Option 2: Explicit disposal
using (var pdf = renderer.RenderHtmlAsPdf(html))
{
    pdf.SaveAs("output.pdf");
}
// Option 1: Let garbage collection handle it
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
// No Close() needed

// Option 2: Explicit disposal
using (var pdf = renderer.RenderHtmlAsPdf(html))
{
    pdf.SaveAs("output.pdf");
}
' Option 1: Let garbage collection handle it
Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("output.pdf")
' No Close() needed

' Option 2: Explicit disposal
Using pdf = renderer.RenderHtmlAsPdf(html)
    pdf.SaveAs("output.pdf")
End Using
$vbLabelText   $csharpLabel

Goc Kontrol Listesi

Geçiş Öncesi

  • Kod tabanında tümSelectPdfkullanımlarını denetleyin
  • Haritalama için mevcut dönüştürücü seçeneklerini belgelendirin
  • Üstbilgi/altbilgi uygulamalarını belirleyin
  • Sayfa numarası yer tutucu sözdizimini kontrol edin ({page_number}{page})
  • Temel URL işleme desenlerini not edin
  • Hedef dağıtım platformlarını doğrulayın
  • ironpdf.com adresindenIronPDFlisans anahtarını alın

Kod Güncellemeleri

  • Select.HtmlToPdf NuGet paketini kaldırın
  • IronPdf NuGet paketini kurun
  • Ad alanı içe aktarımlarını güncelleyin (using SelectPdf;using IronPdf;)
  • HtmlToPdf ile ChromePdfRenderer değiştirin
  • ConvertHtmlString() ile RenderHtmlAsPdf() değiştirin
  • ConvertUrl() ile RenderUrlAsPdf() değiştirin
  • Seçenek özellik adlarını güncelleyin (Options.PdfPageSizeRenderingOptions.PaperSize)
  • PdfPageSize'i PdfPaperSize'e dönüştürün
  • PdfPageOrientation'i PdfPaperOrientation'e dönüştürün
  • doc.Save() ile pdf.SaveAs() değiştirin
  • Tüm doc.Close() çağrılarını kaldırın
  • Sayfa numarası yer tutucularını düzeltin ({page_number}{page}, {total_pages}{total-pages})
  • Uygulama başlatıldığında lisans başlatma ekleyin

Geçişten Sonra

  • Tüm birim testlerini çalıştırın
  • CSS işleme doğrulaması yapın (özellikle Grid/Flexbox)
  • JavaScript yürütmesini test edin
  • Üstbilgi/altbilgi sayfa numaralarını doğrulayın
  • Hedef platformlarda test edin (Linux, Docker, vb.)
  • Performans testi yapın
  • PDF çıktı kalitesini karşılaştırın
  • CI/CD hatlarını güncelleyin
  • Bulut dağıtımlarını test edin (uygulanabilirse)

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