IRONSOFTWAREHOME
VIDEOLAR

.NET C# İçinde Sayfa Yönelimi ve Dönüşü Nasıl Ayarlanır | IronPDF

Curtis Chau
Curtis Chau
Updated: 19 Temmuz 2026

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ı

IssueEtkiIronPDF Çözümü
Yalnızca WindowsLinux, Docker, Azure Fonksiyonlarına dağıtım yapılamazTam çapraz platform desteği
Varsayılan WebKit motoru; seçenekli Blink, Chromium 124 (Nisan 2024) ile gönderilirDaha yeni CSS özellikleri varsayılan motorda başarısız olabilirGüncel Chromium
5 sayfalık ücretsiz sürüm limitiLisanslanana kadar her sayfada sayfa başına damgaCömert deneme
Yalnızca Windows üzerinde .NET 10Linux/macOS/konteyner dağıtımı yokTüm platformlarda tam .NET 10
Buluta dağıtım bloklanmış (Windows olmayan)AWS Lambda veya Linux Azure Fonksiyonları kullanılamazBulut yerli

SelectPdf ve IronPDF Karşılaştırması

ÖzellikSelectPdfIronPDF
Platform DesteğiYalnızca WindowsTam çapraz platform, 10+ dağıtım
Modern Web Standartları DesteğiVarsayılan olarak WebKit; Blink seçeneği, Chromium 124 (Nisan 2024) ile gönderilirTam CSS3, mevcut Chromium
Maksimum Ücretsiz Sürüm Sayfa Limiti5 sayfa + sayfa başına damgaEsnek, sert limit yok
Fiyatlandırma$499 Tek Geliştirici'den $1,599 Enterprise OEM'eŞeffaf ve esnek fiyatlandırma
.NET 10 DesteğiEvet, ama sadece WindowsEvet, tüm platformlar
Bulut Ortamlarında DağıtımYalnızca Windows hedefleriTam desteklenir (Windows + Linux)
CSS GridWebKit: sınırlı; Blink (Chromium 124): desteklenirDesteklenen
Flexbox (gap özelliği)WebKit: desteklenmiyor; Blink: desteklenirDesteklenen
CSS DeğişkenleriWebKit: desteklenmiyor; Blink: desteklenirDesteklenen
Docker (Linux)DesteklenmiyorResmi görüntüler
Azure Fonksiyonları (Linux)DesteklenmiyorDesteklenen
AWS LambdaDesteklenmiyorDesteklenen

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

  1. .NET Environment: .NET Framework 4.6.1+ or .NET Core 3.1+ / .NET 5/6/7/8/9/10+
  2. NuGet Erişimi: NuGet paketlerini yükleyebilme
  3. 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
SHELL

Lisans Yapılandırması

// 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;

Temel API Eşlemeleri

SelectPdfIronPDFNotlar
HtmlToPdfChromePdfRendererÇ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ğilIronPDF, temizliği yönetir
converter.Options.PdfPageSizerenderer.RenderingOptions.PaperSizeKağıt boyutu
converter.Options.PdfPageOrientationrenderer.RenderingOptions.PaperOrientationYönlendirme
converter.Options.MarginToprenderer.RenderingOptions.MarginTopÜstten marj
converter.Options.MarginBottomrenderer.RenderingOptions.MarginBottomAlttan marj
converter.Options.MarginLeftrenderer.RenderingOptions.MarginLeftSoldan marj
converter.Options.MarginRightrenderer.RenderingOptions.MarginRightSağdan marj
PdfPageSize.A4PdfPaperSize.A4A4 boyutu enum
PdfPageOrientation.PortraitPdfPaperOrientation.PortraitDikey enum
PdfPageOrientation.LandscapePdfPaperOrientation.LandscapeYatay 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");
    }
}

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");
    }
}

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");
    }
}

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");
    }
}

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");
    }
}

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");
    }
}

Sayfa ayarları deseni neredeyse aynıdır, sadece basit mülk adı değişiklikleri ile:

  • converter.Options.PdfPageSizerenderer.RenderingOptions.PaperSize
  • converter.Options.PdfPageOrientationrenderer.RenderingOptions.PaperOrientation
  • PdfPageSize.A4PdfPaperSize.A4
  • PdfPageOrientation.PortraitPdfPaperOrientation.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ı

PlatformSelectPdfIronPDF
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ğiSelectPdf (Varsayılan WebKit)SelectPdf(Blink, Chromium 124)IronPDF
CSS Izgarası⚠ Kısmi/BozukTam ✅
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⚠ TemelTam ✅
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");

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!

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");
}

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.HtmlToPdf NuGet paketini kaldır
  • IronPdf NuGet paketini yükle
  • Ad alanı ithalatlarını güncelle (using SelectPdf;using IronPdf;)
  • HtmlToPdf yerine ChromePdfRenderer ile değiştir
  • ConvertHtmlString() yerine RenderHtmlAsPdf() ile değiştir
  • ConvertUrl() yerine RenderUrlAsPdf() ile değiştir
  • Seçenek özellik adlarını güncelle (Options.PdfPageSizeRenderingOptions.PaperSize)
  • PdfPageSize 'i PdfPaperSize 'a/na dönüştür
  • PdfPageOrientation 'i PdfPaperOrientation 'a/na dönüştür
  • doc.Save() yerine pdf.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.)}]

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.

...
Daha Fazla Oku

İlgili Makaleler

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Ücretsiz Canlı Demo rezervasyonu yapın
Booking Badge

Dünya Çapında Milyonlarca Mühendisin Güvendiği

Iron Software müşteri logoları
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez