C#'ta SelectPdf'den IronPDF'ye Nasıl Geçilir
SelectPdf'den IronPDF'ye geçmek, PDF oluşturma iş akışınızı yalnızca Windows üzerine kurulu bir kütüphaneden, varsayılan olarak bir iç WebKit işleme motoru olan ve Blink motoru ile Chromium 124 (Nisan 2024) gönderen, şu anki Chromium, çapraz-platform kütüphanesine taşır ve tam CSS3 ve JavaScript desteği sunar. Bu kılavuz, SelectPdf'in desteklemediği Linux, Docker, Azure Fonksiyonları ve diğer bulut platformlarını kapsayan tam bir, adım adım geçiş yolu sağlar.
SelectPdf'den IronPDF'ye Neden Geçiş Yapmalı
SelectPdf Anlamak
SelectPdf, HTML içeriğini C# kullanarak PDF'lere dönüştürmek için tasarlanmış ticari bir kütüphanedir. Kütüphane, uygulamalarında PDF üretim işlevselliğini sorunsuz entegrasyon gerektiren geliştiricilere yöneliktir. SelectPdf'nin gücü, basit API'sinde yatar, bu da PDF üretimine yeni başlayanlar için cezbedici bir seçenek olmasını sağlar.
Ancak, potansiyel kullanıcılar, önemli sınırlamalarından haberdar olmalıdır. Satıcı dokümantasyonuna göre,SelectPdfyalnızca Windows üzerinde çalışır — Linux, macOS veya Xamarin üzerinde değil. Bu, Linux Azure Fonksiyonları veya Docker gibi bulut tabanlı dağıtım çözümleri düşünüldüğünde önemli bir engel sunar. Topluluk Sürümü, her sayfayı bir lisans anahtarı satın alınana kadar damgalayan ve PDF başına 5 sayfa ile sınırlıdır. SelectPdf'in varsayılan işleme motoru dahili bir WebKit'tir; isteğe bağlı Blink motoru Chromium 124 (Nisan 2024) ile birlikte gelir, bu da mevcut Chrome'un gerisinde kalır veCSS Izgarasıve Flexbox gap gibi daha yeni CSS özellikleriyle ilgili sorunlara neden olabilir.
SelectPdf'nin Kritik Sınırlamaları
| Issue | Etki | IronPDF Çözümü |
|---|---|---|
| Yalnızca Windows | Linux, Docker, Azure Fonksiyonlarına dağıtım yapılamaz | Tam çapraz platform desteği |
| Varsayılan WebKit motoru; seçenekli Blink, Chromium 124 (Nisan 2024) ile gönderilir | Daha yeni CSS özellikleri varsayılan motorda başarısız olabilir | Güncel Chromium |
| 5 sayfalık ücretsiz sürüm limiti | Lisanslanana kadar her sayfada sayfa başına damga | Cömert deneme |
| Yalnızca Windows üzerinde .NET 10 | Linux/macOS/konteyner dağıtımı yok | Tüm platformlarda tam .NET 10 |
| Buluta dağıtım bloklanmış (Windows olmayan) | AWS Lambda veya Linux Azure Fonksiyonları kullanılamaz | Bulut yerli |
SelectPdf ve IronPDF Karşılaştırması
| Özellik | SelectPdf | IronPDF |
|---|---|---|
| Platform Desteği | Yalnızca Windows | Tam çapraz platform, 10+ dağıtım |
| Modern Web Standartları Desteği | Varsayılan olarak WebKit; Blink seçeneği, Chromium 124 (Nisan 2024) ile gönderilir | Tam CSS3, mevcut Chromium |
| Maksimum Ücretsiz Sürüm Sayfa Limiti | 5 sayfa + sayfa başına damga | Esnek, sert limit yok |
| Fiyatlandırma | $499 Tek Geliştirici'den $1,599 Enterprise OEM'e | Şeffaf ve esnek fiyatlandırma |
| .NET 10 Desteği | Evet, ama sadece Windows | Evet, tüm platformlar |
| Bulut Ortamlarında Dağıtım | Yalnızca Windows hedefleri | Tam desteklenir (Windows + Linux) |
| CSS Grid | WebKit: sınırlı; Blink (Chromium 124): desteklenir | Desteklenen |
| Flexbox (gap özelliği) | WebKit: desteklenmiyor; Blink: desteklenir | Desteklenen |
| CSS Değişkenleri | WebKit: desteklenmiyor; Blink: desteklenir | Desteklenen |
| Docker (Linux) | Desteklenmiyor | Resmi görüntüler |
| Azure Fonksiyonları (Linux) | Desteklenmiyor | Desteklenen |
| AWS Lambda | Desteklenmiyor | Desteklenen |
SelectPdf'in NetCore paketi, .NET Standard 2.0'ı hedefler ve .NET 5 ila .NET 10 ile uyumlu olarak belgelenmiştir — ancak yalnızca Windows'ta, bu da bir ekibin Linux konteynerlerine, AWS Lambda'ya veya Linux tabanlı Azure App Service'e dağıtımını imkansız hale getirir. IronPDF, aynı .NET sürümlerini destekler ve Windows, Linux, macOS ve Docker üzerinde çalışır.
Başlamadan Önce
Ön Koşullar
- .NET Environment: .NET Framework 4.6.1+ or .NET Core 3.1+ / .NET 5/6/7/8/9/10+
- NuGet Erişimi: NuGet paketlerini yükleyebilme
- IronPDF Lisansı: Lisans anahtarınızı ironpdf.com adresinden edinin
NuGet Paket Değişiklikleri
# RemoveSelectPdf(use Select.HtmlToPdf.NetCore on .NET Core / .NET 5+)
dotnet remove package Select.HtmlToPdf
# or: dotnet remove package Select.HtmlToPdf.NetCore
# Install IronPDF
dotnet add package IronPdf
# RemoveSelectPdf(use Select.HtmlToPdf.NetCore on .NET Core / .NET 5+)
dotnet remove package Select.HtmlToPdf
# or: dotnet remove package Select.HtmlToPdf.NetCore
# 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"
Tam API Referansı
Ad Alanı 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şlemeleri
| SelectPdf | IronPDF | Notlar |
|---|---|---|
HtmlToPdf |
ChromePdfRenderer |
Çekirdek dönüştürücü sınıfı |
converter.ConvertHtmlString(html) |
renderer.RenderHtmlAsPdf(html) |
HTML dizesi dönüşümü |
converter.ConvertUrl(url) |
renderer.RenderUrlAsPdf(url) |
URL dönüşümü |
doc.Save(path) |
pdf.SaveAs(path) |
Dosyaya 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 |
Üstten marj |
converter.Options.MarginBottom |
renderer.RenderingOptions.MarginBottom |
Alttan marj |
converter.Options.MarginLeft |
renderer.RenderingOptions.MarginLeft |
Soldan marj |
converter.Options.MarginRight |
renderer.RenderingOptions.MarginRight |
Sağdan marj |
PdfPageSize.A4 |
PdfPaperSize.A4 |
A4 boyutu enum |
PdfPageOrientation.Portrait |
PdfPaperOrientation.Portrait |
Dikey enum |
PdfPageOrientation.Landscape |
PdfPaperOrientation.Landscape |
Yatay enum |
{page_number} |
{page} |
Sayfa numarası yer tutucu |
{total_pages} |
{total-pages} |
Toplam sayfa yer tutucu |
Kod Göç Örnekleri
Örnek 1: HTML Metin Dizesi'ni PDF'e Dönüşüm
Ö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
Sonrası (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, çekirdek 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 saklamak ve temizlemek için Save() ve Close() kullanır.
IronPDF, RenderHtmlAsPdf() ile ChromePdfRenderer kullanır, ardından PdfDocument döndürür ve bu SaveAs() ile kaydedilir. Close() çağrısı kaldırıldı—IronPDF, kaynak yönetimini otomatik olarak yapar. Kapsamlı örnekler için HTML'den PDF'e dönüşüm belgelerine bakın.
Örnek 2: URL'den PDF'ye 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
Sonrası (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'ın ConvertUrl() metodu, doğrudan IronPDF'in RenderUrlAsPdf() metoduna eşlenir. Kritik fark işleme motorundadır: SelectPdf, varsayılan olarak bir iç WebKit kullanır ve Nisan 2024'te Chromium 124 ile paketlenmiş bir Blink motoru önerir,IronPDF ise tam CSS3 ve JavaScript desteği için güncel kararlı Chromium'u kullanır. Daha fazla bilgiyi kılavuzlarımızda öğrenin.
Örnek 3: Özel Sayfa Ayarları ve Kenarlar
Ö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
Sonrası (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, sadece basit mülk adı değişiklikleri ile:
converter.Options.PdfPageSize→renderer.RenderingOptions.PaperSizeconverter.Options.PdfPageOrientation→renderer.RenderingOptions.PaperOrientationPdfPageSize.A4→PdfPaperSize.A4PdfPageOrientation.Portrait→PdfPaperOrientation.Portrait
Marj özelllikleri aynı ad ve birimleri korur.
Yalnızca Windows Sorunu
SelectPdf'nin Platform Kısıtlaması
Herhangi bir pazarlama iddiasına rağmen,SelectPdfaçıkça desteklemez:
- Linux (herhangi bir dağıtım)
- macOS
- Docker kapsayıcıları
- Azure İşlevleri
- AWS Lambda
- Google Cloud Fonksiyonları
- Herhangi bir ARM tabanlı sistemler
Bu temel bir mimari sınırlamadır—SelectPdf, Windows'a özgü kütüphanelere bağımlıdır ve taşınamaz.
Platform Desteği 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 App Service (Linux) | ❌ | ✅ |
| Azure Functions | ❌ | ✅ |
| AWS Lambda | ❌ | ✅ |
| Docker (Linux) | ❌ | ✅ |
| Kubernetes | ❌ | ✅ |
Eski Oluşturma Motoru
CSS Özellik Desteği Karşılaştırması
SelectPdf, üç motor gönderiyor (bkz. satıcı dokümanları): iç bir WebKit (varsayılan), Blink (v19.1'de tanıtıldı, Chromium 124.0.6367.201 ile paketlendi — Nisan 2024'te yayımlandı) ve Chromium/CEF. Varsayılan WebKit motoru, modern web standartlarıyla paralel gitmemiştir:
| CSS Özelliği | SelectPdf (Varsayılan WebKit) | SelectPdf(Blink, Chromium 124) | IronPDF |
|---|---|---|---|
| CSS Izgarası | ⚠ Kısmi/Bozuk | ✅ | Tam ✅ |
| Flexbox (temel) | ✅ | ✅ | ✅ |
| Flexbox (gap özelliği) | ❌ | ✅ | ✅ |
| CSS Değişkenleri | ❌ | ✅ | ✅ |
| CSS calc() | ⚠ Sınırlı | ✅ | ✅ |
| @media print | ⚠ 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ı | ❌ | ⚠ Kısmi | ✅ |
Geçiş Sonrası Yeni Özellikler
IronPDF'ye geçiş yaptıktan sonra, SelectPdf'nin sağlayamayacağı özelliklere sahip olursunuz:
Çapraz Platform Dağıtımı
// ✅ IronPDF - Works everywhere
using IronPdf;
// Azure App Service (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 App Service (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
Imports IronPdf
' Azure App Service (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 Desteği
// ✅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!
Kapatma() Gerekli Değil
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
Geçiş Kontrol Listesi
Öncesi-Geçiş
- Kod tabanında tümSelectPdfkullanımlarını denetle
- Harita için geçerli dönüştürücü seçeneklerini belgeleyin
- Başlık/alt bilgi uygulamalarını belirleyin
- Sayfa numarası yer tutucu sözdizimini kontrol et (
{page_number}→{page}) - Temel URL işleme kalıplarını not alın
- Hedef dağıtım platformlarını doğrulayın
- ironpdf.com adresinden IronPDF lisans anahtarını edinin
Kod Güncellemeleri
Select.HtmlToPdfNuGet paketini kaldırIronPdfNuGet paketini yükle- Ad alanı ithalatlarını güncelle (
using SelectPdf;→using IronPdf;) HtmlToPdfyerineChromePdfRendererile değiştirConvertHtmlString()yerineRenderHtmlAsPdf()ile değiştirConvertUrl()yerineRenderUrlAsPdf()ile değiştir- Seçenek özellik adlarını güncelle (
Options.PdfPageSize→RenderingOptions.PaperSize) PdfPageSize'iPdfPaperSize'a/na dönüştürPdfPageOrientation'iPdfPaperOrientation'a/na dönüştürdoc.Save()yerinepdf.SaveAs()ile değiştir- Tüm
doc.Close()çağrılarını kaldır - Sayfa numarası yer tutucularını düzelt (
{page_number}→{page},{total_pages}→{total-pages}) - Uygulama başlangıcında lisans başlatma ekle
Geçiş Sonrası
- Tüm birim testlerini çalıştırın
- CSS oluşturmayı doğrulayın (özellikle Grid/Flexbox)
- JavaScript çalıştırmak için test yapın
- Başlık/alt bilgi sayfa numaralarını doğrulayın
- Hedef platformlarda test yapın (Linux, Docker vb.)
- Performans testi yapın
- PDF çıktı kalitesini karşılaştırın
- CI/CD yapılarını güncelleyin
- Bulut dağıtımlarını test edin (uygulanabilir olduğunda)
SelectPDF, ilgili sahibi tarafından tescilli bir ticari markadır. Bu site, Outside Software SRL veyaSelectPdftarafından onaylanmamış, onunla ilişkilendirilmemiş veya desteklenmemiştir. Tüm ürün adları, logolar ve markalar kendi sahiplerine aittir. Karşılaştırmalar, yalnızca bilgilendirme amaçlıdır ve yazı sırasında halka açık bilgilerle alakalı olarak yansıtılmaktadır.)}]

