EO.Pdf'ten IronPDF'e C# ile Nasıl Geçilir
EO.Pdf bir dizi mimari zorluk sunar ve bu da geliştirme ekiplerini alternatifleri değerlendirmeye iter. Bu sorunları anlamak, geçiş stratejinizi planlamak için gereklidir.
EO.Pdf Sorunları
-
Devasa126MBPaket Boyutu: EO.Pdf kendi Chromium motorunu paketine dahil eder, bu da 126MB'lık bir dağıtım ayak izi oluşturur. Bu, Docker görüntülerini şişirir, CI/CD hatlarını yavaşlatır ve alt yapı maliyetlerini artırır.
-
Eski Mimari Bagaj: EO.Pdf ilk olarak Internet Explorer'ın render motoru üzerine inşa edilmiştir ve sonrasında Chromium'a geçmiştir. Bu miras, IE döneminden gelen uyumluluk sorunlarını, API tasarımında teknik borcu ve sürümler arasında tutarsız davranışları tanıştırır.
-
Windows Merkezli Tasarım: 'Çapraz platform' olarak pazarlanmasına rağmen, EO.Pdf'nin Linux ve macOS desteği sınırlı. Birçok geliştirici, Windows dışı dağıtımlarda sorun bildirmektedir.
-
Statik Global Seçenekler: EO.Pdf yapılandırma için statik
HtmlToPdf.Optionskullanır, bu da çok kiracılı web uygulamalarında thread-safe olmayan ve sorunlu bir durum oluşturur. - Lisans Başına $799: Geliştirici lisansı başına $799 ile, EO.Pdf, benzer veya daha iyi işlevsellik sunan alternatiflerle karşılaştırıldığında pahalıdır.
Mimari Karşılaştırma
| Bağlam | EO.Pdf | IronPDF |
|---|---|---|
| Paket Boyutu | 126MB | Optimize edilmiş (~50MB) |
| Miras Sorunları | IE geçiş yükü | Temiz, modern kod tabanı |
| Platform Desteği | Windows odaklı | Gerçek çapraz platform |
| Yapılandırma | Statik/global (iş parçacığı güvenli değil) | Örnek tabanli, thread-guvenli |
| API Tasarımı | Karisik (HtmlToPdf + ACM) | Birlesik, tutarli |
| Dokümantasyon | Sınırlı | Kapsamlı öğreticiler |
| Modern .NET | .NET Standard | .NET 6/7/8/9+ yerel |
| Async Destegi | Sınırlı | Tam async/await |
Ana Geçiş Avantajları
- %50 Daha Küçük Ayak İzi: IronPDF'nin optimize edilmiş Chromium paketlemesi
- Gerçek Çapraz Platform: Windows, Linux, macOS, Docker üzerinde aynı şekilde çalışır
- İş Parçacığı Güvenli Yapılandırma: Örnek tabanlı render seçenekleri
- Modern API: Tutarlı, sezgisel yöntem adları
- Daha İyi Dokümantasyon: Kapsamlı öğreticiler ve örnekler
Önceden Taşıma Hazırlığı
Önkoşullar
Ortamınızın bu gereksinimlere uygun olduğunu doğrulayın:
- .NET Framework 4.6.2+ veya .NET Core 3.1 / .NET 5-9
- Visual Studio 2019+ veya C# uzantılı VS Code
- NuGet Paket Yöneticisi erişimi -IronPDFlisans anahtarı (ücretsiz deneme ironpdf.com adresinde mevcuttur)
EO.Pdf Kullanımını Denetle
EO.Pdf referanslarının tamamını belirlemek için bu komutları çözüm dizininde çalıştırın:
# 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 seviye içerik manipülasyonuEO.Pdf.Drawing- Grafik işlemleri
Önemli Desen Değişikliğini Anlama
EO.Pdf ileIronPDFarasındaki en önemli mimari fark, yapılandırma kapsamıdır. EO.Pdf, tüm dönüştürmeleri etkileyen statik yöntemler ve global seçenekler kullanır—bu, iş parçacığı güvenliği sorunlarına neden olan bir modeldir. IronPDF, yerel seçeneklere sahip örneğe dayalı renderler kullanır, böylece her dönüşümün izole edilmesini sağlar.
Adım Adım Geçiş Süreci
Adım 1: NuGet Paketlerini Güncelleyin
EO.Pdf'i kaldirin veIronPDFyukleyin:
# 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
2. Adım: Namespace Referanslarını Güncelleyin
EO.Pdf ad alanlariniIronPDFile 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
3. Adım: Lisansı Yapılandır
// 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ı
Çekirdek Sınıf Eşleştirmesi
| EO.Pdf Sinifi | IronPDF Eşdeğeri |
|---|---|
HtmlToPdf |
ChromePdfRenderer |
PdfDocument |
PdfDocument |
HtmlToPdfOptions |
ChromePdfRenderOptions |
AcmRender |
Gerekli değil |
AcmText |
HTML <span>, <p> |
AcmBlock |
HTML <div> |
Yöntem Eşleştirme
| EO.Pdf Metodu | IronPDF Yöntemi |
|---|---|
HtmlToPdf.ConvertHtml(html, path) |
renderer.RenderHtmlAsPdf(html) ardından SaveAs(path) |
HtmlToPdf.ConvertUrl(url, path) |
renderer.RenderUrlAsPdf(url) ardından SaveAs(path) |
PdfDocument.Save(path) |
pdf.SaveAs(path) |
new PdfDocument(path) |
PdfDocument.FromFile(path) |
doc.Append(other) |
PdfDocument.Merge(doc1, doc2) |
Seçenek Haritalama
| EO.Pdf Secenegi | IronPDF RenderingOptions |
|---|---|
Options.PageSize = PdfPageSizes.A4 |
PaperSize = PdfPaperSize.A4 |
Options.OutputArea (RectangleF) |
MarginTop, MarginBottom, vb. |
Kod Geçiş Örnekleri
HTML'den PDF'ye Dönüşüm
Temel HTML'yi PDF'ye dönüştürme, statik yöntemlerden örnek tabanli cizimlere gecisi gösterir.
EO.Pdf Uygulamasi:
// 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'nin iki aşamalı deseni (özellikle render ve sonra kaydet) kaydetmeden önce ek manipülasyon için PdfDocument nesnesine erişim sağlar. Daha fazla seçenek icin HTML'den PDF'ye belgelerini gorun.
URL'den PDF'ye Dönüşüm
EO.Pdf Uygulamasi:
// 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'nin RenderUrlAsPdf JavaScript'in tam olarak çalıştırılması ve modern CSS desteği sunar. Daha fazla seçenek icin URL'den PDF'ye belgelerini gorun.
Ozellestirilmis Ayarlar ile HTML Dosyasi
Bu örnek, EO.Pdf'nin inçlerle yapılan OutputArea ve IronPDF'nin milimetre cinsinden bireysel kenar boşluğu özellikleri arasındaki yapılandırma desenlerindeki kritik farkı göstermektedir.
EO.Pdf Uygulamasi:
// 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'da inç kullanırkenIronPDFmilimetre kullanır. Dönüştürmek için: inches × 25.4 = mm kullanın. Daha fazla seçenek icin, cizim seçenekleri belgelerine bakın.
Birden Fazla PDF'yi Birleştirme
PDF birleştirme, EO.Pdf'nin Append döngü deseni ile IronPDF'nin statik Merge yöntemi arasındaki farkı gösterir.
EO.Pdf Uygulamasi:
// 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");
PdfDocument mergedDoc = new PdfDocument();
mergedDoc.Append(doc1);
mergedDoc.Append(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");
PdfDocument mergedDoc = new PdfDocument();
mergedDoc.Append(doc1);
mergedDoc.Append(doc2);
mergedDoc.Save("merged.pdf");
Console.WriteLine("PDFs merged successfully!");
}
}
Imports EO.Pdf
Imports System
Class Program
Shared Sub Main()
Dim doc1 As New PdfDocument("file1.pdf")
Dim doc2 As New PdfDocument("file2.pdf")
Dim mergedDoc As New PdfDocument()
mergedDoc.Append(doc1)
mergedDoc.Append(doc2)
mergedDoc.Save("merged.pdf")
Console.WriteLine("PDFs merged successfully!")
End Sub
End Class
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'nin statik Merge yöntemi, bir koleksiyon belgeyi kabul ederek çok belgeli birleştirmeyi basitleştirir. Yapıcıdan (new PdfDocument(path)) statik fabrikaya (PdfDocument.FromFile(path)) olan değişikliği not edin. Daha fazla seçenek için PDF birleştirme belgelerine bakın.
Kritik Geçiş Notları
Kenarlik Birimi Dönüşümü
EO.Pdf OutputArea'da inç kullanır.IronPDFise milimetreleri kullanır. Dönüştürmek için: inches × 25.4 = mm kullanın.
// 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 Tabanli Konfigurasyona
Tüm HtmlToPdf.Options.X'yi 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 Gecis
EO.Pdf'nin 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"));
//IronPDFHTML 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"));
//IronPDFHTML 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"))
' IronPDFHTML approach
Dim html As String = "<div>Sample Text</div>"
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(html)
Iki Asamali Kaydetme Deseni
EO.Pdf doğrudan ConvertHtml() içinde kaydeder.IronPDFbir 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")
Konstruktorden Statik Fabrikaya
new PdfDocument(path)'yı PdfDocument.FromFile(path) ile 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")
Göç Sonrası Kontrol Listesi
Kod göçünü tamamladıktan sonra, aşağıdakileri doğrulayın:
- Oluşturulan PDF'lerin görsel karşılaştırması
- Basliklar/fototerlerin yerlesimini dogrulayin
- Guvenlik/sifirlama ayarlarini deneyin
- Birlestirme işlemlerini dogrulayin
- Performans kıyaslaması
- Çok platformlu testi (Windows, Linux, macOS)
- EO.Pdf lisans dosyalarını kaldırın
- Belgeleri güncelleyin
PDF Altyapınızı Geleceğe Hazırlama
.NET 10 ufukta ve C# 14, yeni dil özelliklerini tanittigi icin, modern .NET yerel destegi ile bir PDF kutuphane secmek uzun vadeli uyumlulugu saglar. IronPDF'nin örnek tabanli, iplik guvenli mimarisi, özellikle çok kiracili SaaS uygulamalari icin önemlidir; bu durumda, EO.Pdf'in statik global seçenekleri esync sorunları yaratır.
Ek Kaynaklar
EO.Pdf'ten IronPDF'ye geçiş,126MBpaket siskinligini, eski IE-donemi bagajini ve statik global seçeneklerden iplik guvenligi ile ilgili endiseleri ortadan kaldirir. Örnek tabanli yapılandırmaya geçiş, PDF uretim kodunuzun çok iplikli web uygulamalari icinde guvenli bir sekilde çalismasini ve gercekten çok-platformlu yatirma destegi saglar.

