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

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

  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
# 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";
// Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
' Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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ı

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")
$vbLabelText   $csharpLabel

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!
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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ı...

Daha Fazla Oku

Iron Destek Ekibi

Haftada 5 gün, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara