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
- .NET Ortamı: .NET Framework 4.6.2+ veya .NET Core 3.1+ / .NET 5/6/7/8/9/10+
- NuGet Erişimi: NuGet paketlerini yükleme yeteneği
- 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
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"
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
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
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
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
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
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
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
Sayfa ayarları deseni neredeyse aynıdır, açıkça belirtilmiş özellik adı değişiklikleriyle:
converter.Options.PdfPageSize→renderer.RenderingOptions.PaperSizeconverter.Options.PdfPageOrientation→renderer.RenderingOptions.PaperOrientationPdfPageSize.A4→PdfPaperSize.A4PdfPageOrientation.Portrait→PdfPaperOrientation.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")
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!
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
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.HtmlToPdfNuGet paketini kaldırınIronPdfNuGet paketini kurun- Ad alanı içe aktarımlarını güncelleyin (
using SelectPdf;→using IronPdf;) HtmlToPdfileChromePdfRendererdeğiştirinConvertHtmlString()ileRenderHtmlAsPdf()değiştirinConvertUrl()ileRenderUrlAsPdf()değiştirin- Seçenek özellik adlarını güncelleyin (
Options.PdfPageSize→RenderingOptions.PaperSize) PdfPageSize'iPdfPaperSize'e dönüştürünPdfPageOrientation'iPdfPaperOrientation'e dönüştüründoc.Save()ilepdf.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)

