EO.Pdf'ten IronPDF'e C# ile Nasıl Geçilir
EO.Pdf birkaç mimari zorluğı ortaya çıkarır ve bu zorluklar geliştirme ekiplerini alternatifleri değerlendirmeye sevk eder. Bu sorunları anlamak, göç stratejinizi planlamada esastır.
EO.Pdf Sorunları
-
Pakete dahil edilmiş Chromium Ayak İzi: EO.Pdf (güncel NuGet sürümü 26.1.34, Mart 2026), kendi Chromium bazlı renderlayıcısını taşır, bu da kurulum ayak izini, Chromium olmayan kütüphanelere göre artırır ve Docker görüntülerine ve CI/CD pipeline'larına yük ekler.
-
Eski Mimarisi Yükü: EO.Pdf'nin HTML'den PDF'ye dönüştürücüsü, proje bir Chromium bazlı render'a geçmeden önce gömülü bir Internet Explorer / Trident motoru üzerine inşa edilmiştir. Geçiş, sürümler arasında bazı API tuhaflıkları ve davranış farklılıkları bırakmıştır.
-
Windows'ta Yalnızca .NET Core: "Çok Platformlu" olarak pazarlanmasına rağmen, Essential Objects'ün kendi .NET Core belgeleri, EO.Pdf'nin yalnızca Windows'ta .NET Core 3.1+ ve .NET 5/6 desteklediğini belirtir — Linux ve macOS resmi olarak desteklenmez.
-
Statik Global Seçenekler: EO.Pdf'ın birincil HTML'den PDF'e giriş noktası, paylaşılan
HtmlToPdf.Optionsile statikHtmlToPdfsınıfıdır. Bu global durumu birden çok iş parçacığından değiştirmek güvenli değildir ve çok kiracılı web uygulamalarında gariptir. - Ücretli Ticari Lisans: EO.Pdf, Tek, 3 Lisans Paketi, Kurumsal ve Kurumsal Plus seviyelerinde satılmaktadır (kalıcı ücretsiz seviye yok — sadece suyla işaretlenmiş 30 günlük deneme). Tam fiyatlar sipariş sayfasında görüntülenebilir.
Mimari̇ Karşılaştırma
| Aspekt | EO.Pdf | IronPDF |
|---|---|---|
| Renderlayıcı | Pakete dahil edilmiş Chromium (IE/Trident'ten geçiş yapıldı) | Gömülü Chromium |
| Eski Sorunlar | IE/Trident geçiş yükü | Başlangıçtan beri Chromium üzerinde inşa edilmiş |
| Platform Desteği | .NET Core üzerinde yalnızca Windows | Windows, Linux, macOS, Docker, Azure |
| Yapılandırma | Statik HtmlToPdf.Options (thread-safe değil) |
Örnek tabanlı ChromePdfRenderer (thread-safe) |
| API Tasarımı | Karışık (HtmlToPdf statik + ACM nesne modeli) |
Birleşik ChromePdfRenderer + HTML/CSS |
| Lisans modeli | Tek / 3-Lisans / Kurumsal / Kurumsal Plus (30 günlük deneme) | Geliştirici başına ticari; ücretsiz geliştirme denemesi |
| Modern .NET | .NET Framework + .NET Core 3.1+ (yalnızca Windows) | .NET Framework, .NET 6/7/8/9 çarpraz platform |
| Asenkron Destek | Sınırlı | Tam RenderHtmlAsPdfAsync / RenderUrlAsPdfAsync |
Kilit Göç Faydaları
- .NET Core / .NET 6+ üzerinde çok platformlu: Windows'a ek olarak Linux, macOS ve Docker üzerinde çalışır
- İş Parçacığı Güvenli Yapılandırma: Statik global yerine örnek tabanlı render seçenekleri
- Modern API: Tutarlı yöntem isimleri —
RenderHtmlAsPdf,RenderUrlAsPdf,PdfDocument.Merge - Tam Asenkron Destek: Kapsayıcı olmayan boru hatları için
RenderHtmlAsPdfAsyncveRenderUrlAsPdfAsync - Belgeleme: Geniş kapsamlı eğitimler, nasıl yapılır rehberleri ve aktif nesne referansı
Migration'a Ön Hazırlık
Ön Koşullar
Ortamınızın bu gereksinimleri karşıladığından emin olun:
- .NET Framework 4.6.2+ or .NET Core 3.1 / .NET 5-9
- Visual Studio 2019+ veya C# eklentisi ile VS Code
- NuGet Package Manager erişimi -IronPDF lisans anahtarı (ücretsiz deneme sürümü ironpdf.com adresinde mevcut)
EO.Pdf Kullanımını Denetleme
Çözüm dizininde bu komutları çalıştırarak tüm EO.Pdf referanslarını belirleyin:
# Find all EO.Pdf references
grep -r "EO.Pdf\|HtmlToPdf\|AcmRender\|PdfDocument" --include="*.cs" .
# Check NuGet packages
dotnet list package | grep -i "EO.Pdf"
# Find all EO.Pdf references
grep -r "EO.Pdf\|HtmlToPdf\|AcmRender\|PdfDocument" --include="*.cs" .
# Check NuGet packages
dotnet list package | grep -i "EO.Pdf"
Aranacak yaygın EO.Pdf ad alanları:
EO.Pdf- Çekirdek HTML'den PDF'eEO.Pdf.Acm- Gelişmiş İçerik Modeli (ACM)EO.Pdf.Contents- Düşük seviyeli içerik manipülasyonuEO.Pdf.Drawing- Grafik işlemleri
Çekirdek Desen Değişimini Anlama
EO.Pdf ve IronPDF arasındaki en önemli mimari fark, yapılandırma kapsamıdır. EO.Pdf tüm dönüşümleri etkileyen statik yöntemlerle küresel ayarlar kullanır—bu desen web uygulamalarında iş parçacığı güvenliği sorunlarına yol açar.IronPDF örnek tabanlı renderleyiciler ve yerel ayarlar kullanır, her dönüşümün izole olmasını sağlar.
Adım Adım Geçiş Süreci
1. Adım: NuGet Paketlerini Güncelleyin
EO.Pdf'yi kaldırın ve IronPDF'yi yükleyin:
# Remove EO.Pdf
dotnet remove package EO.Pdf
# Install IronPDF
dotnet add package IronPdf
# Remove EO.Pdf
dotnet remove package EO.Pdf
# Install IronPDF
dotnet add package IronPdf
Adım 2: Ad Alanı Referanslarını Güncelleyin
EO.Pdf ad alanlarınıIronPDF ile değiştirin:
// Remove these
using EO.Pdf;
using EO.Pdf.Acm;
// Add this
using IronPdf;
// Remove these
using EO.Pdf;
using EO.Pdf.Acm;
// Add this
using IronPdf;
Imports IronPdf
Adım 3: Lisansı Yapılandırın
// Add at application startup (Program.cs or Startup.cs)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
// Add at application startup (Program.cs or Startup.cs)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
' Add at application startup (Program.vb or Startup.vb)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
Tam API Geçiş Referansı
Temel Sınıf Eşlemeleri
| EO.Pdf Sınıfı | IronPDF Eşdeğeri |
|---|---|
HtmlToPdf |
ChromePdfRenderer |
PdfDocument |
PdfDocument |
HtmlToPdfOptions |
ChromePdfRenderOptions |
AcmRender |
Gerekli değil |
AcmText |
HTML <span>, <p> |
AcmBlock |
HTML |
Metot Haritalama
| EO.Pdf Yöntemi | IronPDF Yöntemi |
|---|---|
HtmlToPdf.ConvertHtml(html, path) |
renderer.RenderHtmlAsPdf(html) daha sonra SaveAs(path) |
HtmlToPdf.ConvertUrl(url, path) |
renderer.RenderUrlAsPdf(url) daha sonra SaveAs(path) |
PdfDocument.Save(path) |
pdf.SaveAs(path) |
new PdfDocument(path) |
PdfDocument.FromFile(path) |
PdfDocument.Merge(doc1, doc2) (statik) |
PdfDocument.Merge(doc1, doc2) (statik) |
Seçenekler Eşleme
| EO.Pdf Seçeneği | IronPDF RenderingOptions |
|---|---|
Options.PageSize = PdfPageSizes.A4 |
PaperSize = PdfPaperSize.A4 |
Options.OutputArea (RectangleF) |
MarginTop, MarginBottom, vb. |
Kod Göç Örnekleri
HTML'den PDF'ye Dönüşüm
Temel HTML'den PDF'ye dönüşüm, statik yöntemlerden örnek tabanlı renderlamaya geçişi gösterir.
EO.Pdf Uygulaması:
// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;
class Program
{
static void Main()
{
string html = "<html><body><h1>Hello World</h1><p>This is a PDF generated from HTML.</p></body></html>";
HtmlToPdf.ConvertHtml(html, "output.pdf");
Console.WriteLine("PDF created successfully!");
}
}
// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;
class Program
{
static void Main()
{
string html = "<html><body><h1>Hello World</h1><p>This is a PDF generated from HTML.</p></body></html>";
HtmlToPdf.ConvertHtml(html, "output.pdf");
Console.WriteLine("PDF created successfully!");
}
}
Imports EO.Pdf
Imports System
Class Program
Shared Sub Main()
Dim html As String = "<html><body><h1>Hello World</h1><p>This is a PDF generated from HTML.</p></body></html>"
HtmlToPdf.ConvertHtml(html, "output.pdf")
Console.WriteLine("PDF created successfully!")
End Sub
End Class
IronPDF Uygulaması:
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
string html = "<html><body><h1>Hello World</h1><p>This is a PDF generated from HTML.</p></body></html>";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
Console.WriteLine("PDF created successfully!");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
string html = "<html><body><h1>Hello World</h1><p>This is a PDF generated from HTML.</p></body></html>";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
Console.WriteLine("PDF created successfully!");
}
}
Imports IronPdf
Imports System
Class Program
Shared Sub Main()
Dim html As String = "<html><body><h1>Hello World</h1><p>This is a PDF generated from HTML.</p></body></html>"
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("output.pdf")
Console.WriteLine("PDF created successfully!")
End Sub
End Class
IronPDF'in iki adımlı deseni (oluştur, ardından kaydet), kaydetmeden önce ek manipülasyon için PdfDocument nesnesine erişim sağlar. Daha fazla seçenek için, HTML'den PDF'e dokümantasyona bakın.
URL'den PDF'ye Dönüşüm
EO.Pdf Uygulaması:
// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;
class Program
{
static void Main()
{
string url = "https://www.example.com";
HtmlToPdf.ConvertUrl(url, "webpage.pdf");
Console.WriteLine("PDF from URL created successfully!");
}
}
// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;
class Program
{
static void Main()
{
string url = "https://www.example.com";
HtmlToPdf.ConvertUrl(url, "webpage.pdf");
Console.WriteLine("PDF from URL created successfully!");
}
}
Imports EO.Pdf
Imports System
Module Program
Sub Main()
Dim url As String = "https://www.example.com"
HtmlToPdf.ConvertUrl(url, "webpage.pdf")
Console.WriteLine("PDF from URL created successfully!")
End Sub
End Module
IronPDF Uygulaması:
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
string url = "https://www.example.com";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf(url);
pdf.SaveAs("webpage.pdf");
Console.WriteLine("PDF from URL created successfully!");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
string url = "https://www.example.com";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf(url);
pdf.SaveAs("webpage.pdf");
Console.WriteLine("PDF from URL created successfully!");
}
}
Imports IronPdf
Imports System
Class Program
Shared Sub Main()
Dim url As String = "https://www.example.com"
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderUrlAsPdf(url)
pdf.SaveAs("webpage.pdf")
Console.WriteLine("PDF from URL created successfully!")
End Sub
End Class
IronPDF'in RenderUrlAsPdf, tam JavaScript yürütmesi ve modern CSS desteği sağlar. Daha fazla seçenek için, URL'den PDF'e dokümantas bakın.
Özel Ayarlarla HTML Dosyası
Bu örnek, yapılandırma desenlerindeki önemli farkı göstermektedir—EO.Pdf'ın inches ile olan OutputArea'si, İronPDF'in milimetre cinsinden bireysel kenar boşluğu özellikleri ile olan farkını.
EO.Pdf Uygulaması:
// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;
class Program
{
static void Main()
{
HtmlToPdfOptions options = new HtmlToPdfOptions();
options.PageSize = PdfPageSizes.A4;
options.OutputArea = new RectangleF(0.5f, 0.5f, 7.5f, 10.5f);
HtmlToPdf.ConvertUrl("file:///C:/input.html", "output.pdf", options);
Console.WriteLine("PDF with custom settings created.");
}
}
// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;
class Program
{
static void Main()
{
HtmlToPdfOptions options = new HtmlToPdfOptions();
options.PageSize = PdfPageSizes.A4;
options.OutputArea = new RectangleF(0.5f, 0.5f, 7.5f, 10.5f);
HtmlToPdf.ConvertUrl("file:///C:/input.html", "output.pdf", options);
Console.WriteLine("PDF with custom settings created.");
}
}
Imports EO.Pdf
Imports System
Class Program
Shared Sub Main()
Dim options As New HtmlToPdfOptions()
options.PageSize = PdfPageSizes.A4
options.OutputArea = New RectangleF(0.5F, 0.5F, 7.5F, 10.5F)
HtmlToPdf.ConvertUrl("file:///C:/input.html", "output.pdf", options)
Console.WriteLine("PDF with custom settings created.")
End Sub
End Class
IronPDF Uygulaması:
// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.MarginBottom = 20;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;
var pdf = renderer.RenderHtmlFileAsPdf("C:/input.html");
pdf.SaveAs("output.pdf");
Console.WriteLine("PDF with custom settings created.");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.MarginBottom = 20;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;
var pdf = renderer.RenderHtmlFileAsPdf("C:/input.html");
pdf.SaveAs("output.pdf");
Console.WriteLine("PDF with custom settings created.");
}
}
Imports IronPdf
Imports IronPdf.Rendering
Imports System
Class Program
Shared Sub Main()
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
renderer.RenderingOptions.MarginTop = 20
renderer.RenderingOptions.MarginBottom = 20
renderer.RenderingOptions.MarginLeft = 20
renderer.RenderingOptions.MarginRight = 20
Dim pdf = renderer.RenderHtmlFileAsPdf("C:/input.html")
pdf.SaveAs("output.pdf")
Console.WriteLine("PDF with custom settings created.")
End Sub
End Class
Birim dönüşümüne dikkat edin: EO.Pdf, OutputArea'de inç kullanırken,IronPDF milimetre kullanır. Dönüştürmek için kullanın: inches × 25.4 = mm. Daha fazla seçenek için işleme seçenekleri belgesine bakın.
Birden Fazla PDF'yi Birleştirme
Her iki kütüphane de belgeleri birleştirmek için statik PdfDocument.Merge ortaya çıkarıyor — EO.Pdf örnek Append yöntemi yok, bu nedenle doc.Append(other) kullanan herhangi bir kod geçersizdir ve Merge'e taşınması gereklidir.
EO.Pdf Uygulaması:
// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;
class Program
{
static void Main()
{
PdfDocument doc1 = new PdfDocument("file1.pdf");
PdfDocument doc2 = new PdfDocument("file2.pdf");
// EO.Pdf has no Append; merge is a static method that returns a new PdfDocument.
PdfDocument mergedDoc = PdfDocument.Merge(doc1, doc2);
mergedDoc.Save("merged.pdf");
Console.WriteLine("PDFs merged successfully!");
}
}
// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;
class Program
{
static void Main()
{
PdfDocument doc1 = new PdfDocument("file1.pdf");
PdfDocument doc2 = new PdfDocument("file2.pdf");
// EO.Pdf has no Append; merge is a static method that returns a new PdfDocument.
PdfDocument mergedDoc = PdfDocument.Merge(doc1, doc2);
mergedDoc.Save("merged.pdf");
Console.WriteLine("PDFs merged successfully!");
}
}
Imports EO.Pdf
Imports System
Module Program
Sub Main()
Dim doc1 As New PdfDocument("file1.pdf")
Dim doc2 As New PdfDocument("file2.pdf")
' EO.Pdf has no Append; merge is a static method that returns a new PdfDocument.
Dim mergedDoc As PdfDocument = PdfDocument.Merge(doc1, doc2)
mergedDoc.Save("merged.pdf")
Console.WriteLine("PDFs merged successfully!")
End Sub
End Module
IronPDF Uygulaması:
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
var pdf1 = PdfDocument.FromFile("file1.pdf");
var pdf2 = PdfDocument.FromFile("file2.pdf");
var merged = PdfDocument.Merge(new List<PdfDocument> { pdf1, pdf2 });
merged.SaveAs("merged.pdf");
Console.WriteLine("PDFs merged successfully!");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
var pdf1 = PdfDocument.FromFile("file1.pdf");
var pdf2 = PdfDocument.FromFile("file2.pdf");
var merged = PdfDocument.Merge(new List<PdfDocument> { pdf1, pdf2 });
merged.SaveAs("merged.pdf");
Console.WriteLine("PDFs merged successfully!");
}
}
Imports IronPdf
Imports System
Imports System.Collections.Generic
Module Program
Sub Main()
Dim pdf1 = PdfDocument.FromFile("file1.pdf")
Dim pdf2 = PdfDocument.FromFile("file2.pdf")
Dim merged = PdfDocument.Merge(New List(Of PdfDocument) From {pdf1, pdf2})
merged.SaveAs("merged.pdf")
Console.WriteLine("PDFs merged successfully!")
End Sub
End Module
IronPDF'in statik Merge, belgelerin bir params listesini veya bir List'i kabul eder. Yapı oluşturucudan (new PdfDocument(path)) statik fabrikaya (PdfDocument.FromFile(path)) geçişe dikkat edin. Daha fazla seçenek için PDF birleştirme belgelerine bakın.
Kritik Taşıma Notları
Kenar Boşluğu Birimi Dönüşümü
EO.Pdf, OutputArea'de inç kullanır.IronPDF milimetre kullanır. Dönüştürmek için kullanın: inches × 25.4 = mm
// EO.Pdf - 0.5 inch margins
options.OutputArea = new RectangleF(0.5f, 0.5f, 7.5f, 10.5f);
//IronPDF- equivalent in millimeters (0.5" = 12.7mm)
renderer.RenderingOptions.MarginTop = 12.7;
renderer.RenderingOptions.MarginBottom = 12.7;
renderer.RenderingOptions.MarginLeft = 12.7;
renderer.RenderingOptions.MarginRight = 12.7;
// EO.Pdf - 0.5 inch margins
options.OutputArea = new RectangleF(0.5f, 0.5f, 7.5f, 10.5f);
//IronPDF- equivalent in millimeters (0.5" = 12.7mm)
renderer.RenderingOptions.MarginTop = 12.7;
renderer.RenderingOptions.MarginBottom = 12.7;
renderer.RenderingOptions.MarginLeft = 12.7;
renderer.RenderingOptions.MarginRight = 12.7;
' EO.Pdf - 0.5 inch margins
options.OutputArea = New RectangleF(0.5F, 0.5F, 7.5F, 10.5F)
' IronPDF- equivalent in millimeters (0.5" = 12.7mm)
renderer.RenderingOptions.MarginTop = 12.7
renderer.RenderingOptions.MarginBottom = 12.7
renderer.RenderingOptions.MarginLeft = 12.7
renderer.RenderingOptions.MarginRight = 12.7
Statikten Örnek Bazlı Yapılandırmaya
Tüm HtmlToPdf.Options.X'i renderer.RenderingOptions.X ile değiştirin:
// EO.Pdf - static options (NOT thread-safe!)
HtmlToPdf.Options.PageSize = PdfPageSizes.A4;
//IronPDF- instance options (thread-safe)
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
// EO.Pdf - static options (NOT thread-safe!)
HtmlToPdf.Options.PageSize = PdfPageSizes.A4;
//IronPDF- instance options (thread-safe)
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
' EO.Pdf - static options (NOT thread-safe!)
HtmlToPdf.Options.PageSize = PdfPageSizes.A4
' IronPDF- instance options (thread-safe)
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
ACM'den HTML'e Geçiş
EO.Pdf'ın Gelişmiş İçerik Modelini (AcmRender, AcmText, AcmBlock) kullanıyorsanız, standart HTML/CSS'ye geçiş yapın:
// EO.Pdf ACM approach
var acmContent = new AcmContent();
acmContent.Add(new AcmText("Sample Text"));
//IronPDF HTML approach
var html = "<div>Sample Text</div>";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
// EO.Pdf ACM approach
var acmContent = new AcmContent();
acmContent.Add(new AcmText("Sample Text"));
//IronPDF HTML approach
var html = "<div>Sample Text</div>";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
' EO.Pdf ACM approach
Dim acmContent As New AcmContent()
acmContent.Add(New AcmText("Sample Text"))
' IronPDF HTML approach
Dim html As String = "<div>Sample Text</div>"
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(html)
İki Aşamalı Kaydetme Deseni
EO.Pdf doğrudan ConvertHtml()'ye kaydeder.IronPDF bir PdfDocument nesnesi döndürür, ardından SaveAs() çağırırsınız:
// EO.Pdf - one step
HtmlToPdf.ConvertHtml(html, "output.pdf");
//IronPDF- two steps (enables manipulation before save)
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
// EO.Pdf - one step
HtmlToPdf.ConvertHtml(html, "output.pdf");
//IronPDF- two steps (enables manipulation before save)
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
' EO.Pdf - one step
HtmlToPdf.ConvertHtml(html, "output.pdf")
' IronPDF- two steps (enables manipulation before save)
Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("output.pdf")
Yapılandırıcıdan Statik Fabrikaya
new PdfDocument(path) ile PdfDocument.FromFile(path) değiştirin:
// EO.Pdf
var doc = new PdfDocument("file.pdf");
// IronPDF
var doc = PdfDocument.FromFile("file.pdf");
// EO.Pdf
var doc = new PdfDocument("file.pdf");
// IronPDF
var doc = PdfDocument.FromFile("file.pdf");
' EO.Pdf
Dim doc = New PdfDocument("file.pdf")
' IronPDF
Dim doc = PdfDocument.FromFile("file.pdf")
Taşınma Sonrası Kontrollistesi
Kod taşımasını tamamladıktan sonra, aşağıdakileri doğrulayın:
- Oluşturulan PDF'lerin görsel karşılaştırması
- Başlıklar/altbilgilerin doğru bir şekilde renderlandığını doğrulayın
- Güvenlik/şifreleme ayarlarını test edin
- Birleştirme işlemlerini doğrulayın
- Performans kıyaslaması
- Çok platformlu test (Windows, Linux, macOS)
- EO.Pdf lisans dosyalarını kaldırın
- Belgeleri güncelleyin
Ek Kaynaklar
EO.Pdf'den IronPDF'ye geçiş, eski IE/Trident dönemine ait yükü ve EO.Pdf'nin statik global seçeneklerinin iş parçacığı güvenliği endişelerini ele alır. Örneğe dayalı yapılandırmaya geçiş, PDF üretim kodunuzun eş zamanlı yük altında güvenilir bir şekilde çalışmasını garantilerken, IronPDF'nin çarpraz platform desteği dağıtımı Windows'un ötesine, Linux, macOS ve Docker'a genişletir.

