ExpertPdf'ten IronPDF'e C# ile Nasıl Geçilir
ExpertPdf, yıllardır geliştiricilere hizmet eden, .NET için ticari bir HTML'den PDF'ye dönüştürücüdür. Ancak,ExpertPdfbugünün hızla gelişen geliştirme ortamında önemli zorluklarla karşı karşıyadır: 2018'den bu yana dondurulmuş belgeler, modern CSS3 özelliklerini kaçıran eski bir Chrome sürümüne bağlılık, gunümüzde modası geçmiş teknoloji icin 550-1.200 ABD dolari arasinda değişen premium fiyatlandırma, birleştirme, güvenlik ve bölme için ayrı lisanslar gerektiren parçalanmış ürün serisi. Bu kapsamli kılavuz, ExpertPdf'den IronPDF'ye giden adim adim bir göç yolu saglar—en yeni Chromium cizimi, aylik güncellemeler ve tüm işlevleri tek pakette sunan modern bir .NET PDF kutuphanesi.
Neden ExpertPdf'ten IronPDF'ye Geçilmelidir?
ExpertPdf, geliştirme ekiplerini modern alternatifleri değerlendirmeye iten bir dizi zorluk sunar. Bu sorunları anlamak, geçiş stratejinizi planlamak için gereklidir.
ExpertPdfProblemleri
-
2018'den Beri Dondurulmuş Belgeler: ExpertPdf'in belgeleri 6 yıldan uzun süredir güncellenmedi. Güncel bilgi, örnekler ve en iyi uygulamaları bulmak .NET ekosistemi geliştikçe giderek zorlaşıyor.
-
Eski Chrome Versiyonu:ExpertPdfrendere etmek icin eski bir Chrome versiyonu kullanıyor. Modern CSS3 özellikleri (Flexbox, Grid, CSS Değişkenleri) doğru şekilde yüklenmeyebilir ve güvenlik yaması yapılmaz.
-
Eski Teknoloji Icin Premium Fiyatlar: ExpertPdf, 550-1.200 dolarlik lisans fiyatlari ile eski cıktı teknolojisi sunarken premium fiyatlar talep eder.
-
Parcalanmis Ürün Serisi: ExpertPdf, farkli fonksiyonlar icin ayri paketler sunar—HtmlToPdf Dönüştürücü, PDF Birleştirici, PDF Güvenliği, PDF Bölme ve PDF'den Göntü'ye—her biri icin ayri lisanlar gereklidir.
- Sınırlı Modern .NET Desteği:ExpertPdf.NET Core paketlerine sahip olsa da, modern .NET sürümleri ve uygulamaları ile geride kalır.
Mimari Karşılaştırma
| Bağlam | ExpertPdf | IronPDF |
|---|---|---|
| Dokümantasyon | 2018'den beri dondurulmuş | Sürekli güncelleniyor |
| Render Motoru | Eski Chrome | En Son Chromium |
| CSS Desteği | Sınırlı CSS3 | Tam CSS3 (Flexbox, Grid) |
| Fiyat | $550-$1.200 | Rekabetci fiyatlandirma |
| Güncelleme Sıklığı | Seyrek | Aylık sürümler |
| Ürün Modeli | Parçalı (5+ DLL) | Hepsi bir arada kütüphane |
| Modern .NET | Sınırlı | .NET 6/7/8/9+ yerel |
| Async Destegi | Sınırlı | Tam async/await |
Ana Geçiş Avantajları
- Modern Cizim: Piksel mükemmelliğinde çıktı için en son Chromium motoru
- Hepsi Bir Arada Paket: Bir NuGet içinde PDF oluşturma, birleştirme, güvenlik, ve çıkarım
- Aktif Geliştirme: Aylık güncellemeler ve yeni özellikler ve güvenlik yamaları
- Daha Iyi Belgeler: Kapsamlı dersler ve örnekler
- Gerçek Coklu Platform Destegi: Windows, Linux, macOS, Docker destegi
Ö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)
ExpertPdfKullanimini Denetleme
TümExpertPdfreferanslarını tanımlamak için çözüm dizininizde bu komutları calistirin:
# Find allExpertPdfreferences
grep -r "ExpertPdf\|PdfConverter\|PDFMerge\|PdfSecurityManager" --include="*.cs" .
# Check NuGet packages
dotnet list package | grep -i "ExpertPdf"
# Find allExpertPdfreferences
grep -r "ExpertPdf\|PdfConverter\|PDFMerge\|PdfSecurityManager" --include="*.cs" .
# Check NuGet packages
dotnet list package | grep -i "ExpertPdf"
Aranacak ortakExpertPdfpaketleri:
ExpertPdf.HtmlToPdf- HTML'den PDF'e dönüşümExpertPdf.PDFMerge- PDF birleştirmeExpertPdf.PDFSecurity- Şifreleme ve parolalarExpertPdf.PDFSplit- PDF bölmeExpertPdf.PdfToImage- PDF'den resme dönüşüm
Önemli Desen Değişikliğini Anlama
ExpertPdf, doğrudan byte dizi dönüş yöntemleriyle PdfConverter kullanır. IronPDF, kaydetmeden önce ek manipülasyon yetenekleri sağlayan PdfDocument nesneleri döndüren ChromePdfRenderer kullanır.
Adım Adım Geçiş Süreci
Adım 1: NuGet Paketlerini Güncelleyin
TümExpertPdfpaketlerini kaldırın veIronPDFyükleyin:
# Remove allExpertPdfpackages
dotnet remove package ExpertPdf.HtmlToPdf
dotnet remove package ExpertPdf.PDFMerge
dotnet remove package ExpertPdf.PDFSecurity
dotnet remove package ExpertPdf.PDFSplit
dotnet remove package ExpertPdf.PdfToImage
# InstallIronPDF(includes all features)
dotnet add package IronPdf
# Remove allExpertPdfpackages
dotnet remove package ExpertPdf.HtmlToPdf
dotnet remove package ExpertPdf.PDFMerge
dotnet remove package ExpertPdf.PDFSecurity
dotnet remove package ExpertPdf.PDFSplit
dotnet remove package ExpertPdf.PdfToImage
# InstallIronPDF(includes all features)
dotnet add package IronPdf
2. Adım: Namespace Referanslarını Güncelleyin
ExpertPdf ad alanlarınıIronPDFile değiştirin:
// Remove these
using ExpertPdf.HtmlToPdf;
// Add this
using IronPdf;
// Remove these
using ExpertPdf.HtmlToPdf;
// Add this
using IronPdf;
Imports IronPdf
3. Adım: Lisansı Yapılandır
ExpertPdf, dönüştürücü başına lisanslama kullanır. IronPDF, bir kez başlangicta ayarlanan tek bir global lisans kullanı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
| ExpertPdfSınıfı | IronPDF Eşdeğeri |
|---|---|
PdfConverter |
ChromePdfRenderer |
PdfDocumentOptions |
ChromePdfRenderOptions |
PdfHeaderOptions |
TextHeaderFooter veya HtmlHeaderFooter |
PdfFooterOptions |
TextHeaderFooter veya HtmlHeaderFooter |
PDFMerge |
PdfDocument.Merge() |
Yöntem Eşleştirme
| ExpertPdfMetodu | IronPDF Yöntemi |
|---|---|
pdfConverter.GetPdfBytesFromHtmlString(html) |
renderer.RenderHtmlAsPdf(html).BinaryData |
pdfConverter.GetPdfBytesFromUrl(url) |
renderer.RenderUrlAsPdf(url).BinaryData |
pdfConverter.GetPdfBytesFromHtmlFile(path) |
renderer.RenderHtmlFileAsPdf(path).BinaryData |
pdfConverter.SavePdfFromUrlToFile(url, path) |
renderer.RenderUrlAsPdf(url).SaveAs(path) |
Seçenek Haritalama
| ExpertPdfSeçeneği | IronPDF RenderingOptions |
|---|---|
PdfDocumentOptions.PdfPageSize = PdfPageSize.A4 |
PaperSize = PdfPaperSize.A4 |
PdfDocumentOptions.PdfPageOrientation = Portrait |
PaperOrientation = PdfPaperOrientation.Portrait |
PdfDocumentOptions.MarginTop |
MarginTop |
PdfHeaderOptions.HeaderText |
TextHeader.CenterText |
PdfFooterOptions.FooterText |
TextFooter.RightText |
Sayfa Numarasi Jetonu Donusumu
ExpertPdf ve IronPDF, sayfa numaralari icin farkli yer tutucu sözdizimi kullanir:
| ExpertPdf | IronPDF |
|---|---|
&p; |
{page} |
&P; |
{total-pages} |
Kod Geçiş Örnekleri
HTML'den PDF'ye Dönüşüm
Temel HTML'den PDF'ye çeviri, ExpertPdf'in bayt-dizisi deseni ile IronPDF'in belge-nesne yaklaşımına geçişini gösterir.
ExpertPdf Uygulamasi:
// NuGet: Install-Package ExpertPdf.HtmlToPdf
using ExpertPdf.HtmlToPdf;
using System;
class Program
{
static void Main()
{
// Create the PDF converter
PdfConverter pdfConverter = new PdfConverter();
// Convert HTML string to PDF
byte[] pdfBytes = pdfConverter.GetPdfBytesFromHtmlString("<h1>Hello World</h1><p>This is a PDF document.</p>");
// Save to file
System.IO.File.WriteAllBytes("output.pdf", pdfBytes);
Console.WriteLine("PDF created successfully!");
}
}
// NuGet: Install-Package ExpertPdf.HtmlToPdf
using ExpertPdf.HtmlToPdf;
using System;
class Program
{
static void Main()
{
// Create the PDF converter
PdfConverter pdfConverter = new PdfConverter();
// Convert HTML string to PDF
byte[] pdfBytes = pdfConverter.GetPdfBytesFromHtmlString("<h1>Hello World</h1><p>This is a PDF document.</p>");
// Save to file
System.IO.File.WriteAllBytes("output.pdf", pdfBytes);
Console.WriteLine("PDF created successfully!");
}
}
Imports ExpertPdf.HtmlToPdf
Imports System
Module Program
Sub Main()
' Create the PDF converter
Dim pdfConverter As New PdfConverter()
' Convert HTML string to PDF
Dim pdfBytes As Byte() = pdfConverter.GetPdfBytesFromHtmlString("<h1>Hello World</h1><p>This is a PDF document.</p>")
' Save to file
System.IO.File.WriteAllBytes("output.pdf", pdfBytes)
Console.WriteLine("PDF created successfully!")
End Sub
End Module
IronPDF Uygulaması:
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
// Create a PDF from HTML string
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is a PDF document.</p>");
// Save to file
pdf.SaveAs("output.pdf");
Console.WriteLine("PDF created successfully!");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
// Create a PDF from HTML string
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is a PDF document.</p>");
// Save to file
pdf.SaveAs("output.pdf");
Console.WriteLine("PDF created successfully!");
}
}
Imports IronPdf
Imports System
Class Program
Shared Sub Main()
' Create a PDF from HTML string
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is a PDF document.</p>")
' Save to file
pdf.SaveAs("output.pdf")
Console.WriteLine("PDF created successfully!")
End Sub
End Class
IronPDF'ün yaklaşımı, kaydetmeden önce ek manipülasyon (birleştirme, filigran ekleme, güvenlik) sağlayan bir PdfDocument nesnesi döndürür. Daha fazla seçenek icin HTML'den PDF'ye belgelerini gorun.
Sayfa Ayarlari ile URL'den PDF'ye
ExpertPdf Uygulamasi:
// NuGet: Install-Package ExpertPdf.HtmlToPdf
using ExpertPdf.HtmlToPdf;
using System;
class Program
{
static void Main()
{
// Create the PDF converter
PdfConverter pdfConverter = new PdfConverter();
// Set page size and orientation
pdfConverter.PdfDocumentOptions.PdfPageSize = PdfPageSize.A4;
pdfConverter.PdfDocumentOptions.PdfPageOrientation = PdfPageOrientation.Portrait;
// Convert URL to PDF
byte[] pdfBytes = pdfConverter.GetPdfBytesFromUrl("https://www.example.com");
// Save to file
System.IO.File.WriteAllBytes("webpage.pdf", pdfBytes);
Console.WriteLine("PDF from URL created successfully!");
}
}
// NuGet: Install-Package ExpertPdf.HtmlToPdf
using ExpertPdf.HtmlToPdf;
using System;
class Program
{
static void Main()
{
// Create the PDF converter
PdfConverter pdfConverter = new PdfConverter();
// Set page size and orientation
pdfConverter.PdfDocumentOptions.PdfPageSize = PdfPageSize.A4;
pdfConverter.PdfDocumentOptions.PdfPageOrientation = PdfPageOrientation.Portrait;
// Convert URL to PDF
byte[] pdfBytes = pdfConverter.GetPdfBytesFromUrl("https://www.example.com");
// Save to file
System.IO.File.WriteAllBytes("webpage.pdf", pdfBytes);
Console.WriteLine("PDF from URL created successfully!");
}
}
Imports ExpertPdf.HtmlToPdf
Imports System
Module Program
Sub Main()
' Create the PDF converter
Dim pdfConverter As New PdfConverter()
' Set page size and orientation
pdfConverter.PdfDocumentOptions.PdfPageSize = PdfPageSize.A4
pdfConverter.PdfDocumentOptions.PdfPageOrientation = PdfPageOrientation.Portrait
' Convert URL to PDF
Dim pdfBytes As Byte() = pdfConverter.GetPdfBytesFromUrl("https://www.example.com")
' Save to file
System.IO.File.WriteAllBytes("webpage.pdf", pdfBytes)
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()
{
// Create a PDF renderer
var renderer = new ChromePdfRenderer();
// Set page size and orientation
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
// Convert URL to PDF
var pdf = renderer.RenderUrlAsPdf("https://www.example.com");
// Save to file
pdf.SaveAs("webpage.pdf");
Console.WriteLine("PDF from URL created successfully!");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
// Create a PDF renderer
var renderer = new ChromePdfRenderer();
// Set page size and orientation
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
// Convert URL to PDF
var pdf = renderer.RenderUrlAsPdf("https://www.example.com");
// Save to file
pdf.SaveAs("webpage.pdf");
Console.WriteLine("PDF from URL created successfully!");
}
}
Imports IronPdf
Imports System
Class Program
Shared Sub Main()
' Create a PDF renderer
Dim renderer = New ChromePdfRenderer()
' Set page size and orientation
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait
' Convert URL to PDF
Dim pdf = renderer.RenderUrlAsPdf("https://www.example.com")
' Save to file
pdf.SaveAs("webpage.pdf")
Console.WriteLine("PDF from URL created successfully!")
End Sub
End Class
IronPDF'un RenderingOptions sayfa yapılandırması için doğrudan özellik erişimi sağlar. Daha fazla seçenek icin URL'den PDF'ye belgelerini gorun.
Sayfa Numaralı Başlıklar ve Alt Bilgiler
Bu örnek, başlık/alt bilgi yapılandırmasındaki önemli farkı gösterir—ExpertPdf, &P; belirteçleriyle ayrı PdfHeaderOptions ve PdfFooterOptions sınıfları kullanırken,IronPDF{total-pages} yer tutucularıyla TextHeaderFooter kullanır.
ExpertPdf Uygulamasi:
// NuGet: Install-Package ExpertPdf.HtmlToPdf
using ExpertPdf.HtmlToPdf;
using System;
class Program
{
static void Main()
{
// Create the PDF converter
PdfConverter pdfConverter = new PdfConverter();
// Enable header
pdfConverter.PdfHeaderOptions.ShowHeader = true;
pdfConverter.PdfHeaderOptions.HeaderText = "Document Header";
pdfConverter.PdfHeaderOptions.HeaderTextAlignment = HorizontalTextAlign.Center;
// Enable footer with page numbers
pdfConverter.PdfFooterOptions.ShowFooter = true;
pdfConverter.PdfFooterOptions.FooterText = "Page &p; of &P;";
pdfConverter.PdfFooterOptions.FooterTextAlignment = HorizontalTextAlign.Right;
// Convert HTML file to PDF
byte[] pdfBytes = pdfConverter.GetPdfBytesFromHtmlFile("input.html");
// Save to file
System.IO.File.WriteAllBytes("output-with-header-footer.pdf", pdfBytes);
Console.WriteLine("PDF with headers and footers created successfully!");
}
}
// NuGet: Install-Package ExpertPdf.HtmlToPdf
using ExpertPdf.HtmlToPdf;
using System;
class Program
{
static void Main()
{
// Create the PDF converter
PdfConverter pdfConverter = new PdfConverter();
// Enable header
pdfConverter.PdfHeaderOptions.ShowHeader = true;
pdfConverter.PdfHeaderOptions.HeaderText = "Document Header";
pdfConverter.PdfHeaderOptions.HeaderTextAlignment = HorizontalTextAlign.Center;
// Enable footer with page numbers
pdfConverter.PdfFooterOptions.ShowFooter = true;
pdfConverter.PdfFooterOptions.FooterText = "Page &p; of &P;";
pdfConverter.PdfFooterOptions.FooterTextAlignment = HorizontalTextAlign.Right;
// Convert HTML file to PDF
byte[] pdfBytes = pdfConverter.GetPdfBytesFromHtmlFile("input.html");
// Save to file
System.IO.File.WriteAllBytes("output-with-header-footer.pdf", pdfBytes);
Console.WriteLine("PDF with headers and footers created successfully!");
}
}
Imports ExpertPdf.HtmlToPdf
Imports System
Class Program
Shared Sub Main()
' Create the PDF converter
Dim pdfConverter As New PdfConverter()
' Enable header
pdfConverter.PdfHeaderOptions.ShowHeader = True
pdfConverter.PdfHeaderOptions.HeaderText = "Document Header"
pdfConverter.PdfHeaderOptions.HeaderTextAlignment = HorizontalTextAlign.Center
' Enable footer with page numbers
pdfConverter.PdfFooterOptions.ShowFooter = True
pdfConverter.PdfFooterOptions.FooterText = "Page &p; of &P;"
pdfConverter.PdfFooterOptions.FooterTextAlignment = HorizontalTextAlign.Right
' Convert HTML file to PDF
Dim pdfBytes As Byte() = pdfConverter.GetPdfBytesFromHtmlFile("input.html")
' Save to file
System.IO.File.WriteAllBytes("output-with-header-footer.pdf", pdfBytes)
Console.WriteLine("PDF with headers and footers created successfully!")
End Sub
End Class
IronPDF Uygulaması:
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
// Create a PDF renderer
var renderer = new ChromePdfRenderer();
// Configure header
renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
{
CenterText = "Document Header",
DrawDividerLine = true
};
// Configure footer with page numbers
renderer.RenderingOptions.TextFooter = new TextHeaderFooter()
{
RightText = "Page {page} of {total-pages}",
DrawDividerLine = true
};
// Convert HTML file to PDF
var pdf = renderer.RenderHtmlFileAsPdf("input.html");
// Save to file
pdf.SaveAs("output-with-header-footer.pdf");
Console.WriteLine("PDF with headers and footers created successfully!");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
// Create a PDF renderer
var renderer = new ChromePdfRenderer();
// Configure header
renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
{
CenterText = "Document Header",
DrawDividerLine = true
};
// Configure footer with page numbers
renderer.RenderingOptions.TextFooter = new TextHeaderFooter()
{
RightText = "Page {page} of {total-pages}",
DrawDividerLine = true
};
// Convert HTML file to PDF
var pdf = renderer.RenderHtmlFileAsPdf("input.html");
// Save to file
pdf.SaveAs("output-with-header-footer.pdf");
Console.WriteLine("PDF with headers and footers created successfully!");
}
}
Imports IronPdf
Imports System
Class Program
Shared Sub Main()
' Create a PDF renderer
Dim renderer = New ChromePdfRenderer()
' Configure header
renderer.RenderingOptions.TextHeader = New TextHeaderFooter() With {
.CenterText = "Document Header",
.DrawDividerLine = True
}
' Configure footer with page numbers
renderer.RenderingOptions.TextFooter = New TextHeaderFooter() With {
.RightText = "Page {page} of {total-pages}",
.DrawDividerLine = True
}
' Convert HTML file to PDF
Dim pdf = renderer.RenderHtmlFileAsPdf("input.html")
' Save to file
pdf.SaveAs("output-with-header-footer.pdf")
Console.WriteLine("PDF with headers and footers created successfully!")
End Sub
End Class
IronPDF'un TextHeaderFooter, isteğe bağlı ayraç çizgileriyle birlikte LeftText, CenterText ve RightText özelliklerini sağlar. HTML tabanlı başlıklar için HtmlHeaderFooter kullanın. Daha fazla seçenek için bkz. başlıklar ve altbilgiler belgeleri.
Kritik Geçiş Notları
Lisans Anahtarı Konumu
ExpertPdf, dönüştürücü başına lisanslama kullanır. IronPDF, başlangıçta bir kez ayarlanan tek bir global lisans kullanir:
//ExpertPdf- per converter
pdfConverter.LicenseKey = "EXPERTPDF-LICENSE";
//IronPDF- global, set once
IronPdf.License.LicenseKey = "IRONPDF-LICENSE";
//ExpertPdf- per converter
pdfConverter.LicenseKey = "EXPERTPDF-LICENSE";
//IronPDF- global, set once
IronPdf.License.LicenseKey = "IRONPDF-LICENSE";
'ExpertPdf- per converter
pdfConverter.LicenseKey = "EXPERTPDF-LICENSE"
'IronPDF- global, set once
IronPdf.License.LicenseKey = "IRONPDF-LICENSE"
Sayfa Numarasi Jetonu Donusumu
ExpertPdf jetonlariniIronPDFyer tutuculari ile değiştirin:
// ExpertPdf
"Page &p; of &P;"
// IronPDF
"Page {page} of {total-pages}"
// ExpertPdf
"Page &p; of &P;"
// IronPDF
"Page {page} of {total-pages}"
Parçalanmış Paketler Birleştirildi
ExpertPdf'in ayri paketleri (PDFBirleştir, PDFGüvenli, PDFBöl, PDFGörsel'e çevir) IronPDF'nin tek paketinde yer almaktadır:
//ExpertPdf- requires separate PDFMerge package
var merger = new PdfMerge();
merger.AppendPDFFile("file1.pdf");
merger.AppendPDFFile("file2.pdf");
merger.SaveMergedPDFToFile("merged.pdf");
//IronPDF- included in main package
var pdf1 = PdfDocument.FromFile("file1.pdf");
var pdf2 = PdfDocument.FromFile("file2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");
//ExpertPdf- requires separate PDFMerge package
var merger = new PdfMerge();
merger.AppendPDFFile("file1.pdf");
merger.AppendPDFFile("file2.pdf");
merger.SaveMergedPDFToFile("merged.pdf");
//IronPDF- included in main package
var pdf1 = PdfDocument.FromFile("file1.pdf");
var pdf2 = PdfDocument.FromFile("file2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");
'ExpertPdf- requires separate PDFMerge package
Dim merger As New PdfMerge()
merger.AppendPDFFile("file1.pdf")
merger.AppendPDFFile("file2.pdf")
merger.SaveMergedPDFToFile("merged.pdf")
'IronPDF- included in main package
Dim pdf1 As PdfDocument = PdfDocument.FromFile("file1.pdf")
Dim pdf2 As PdfDocument = PdfDocument.FromFile("file2.pdf")
Dim merged As PdfDocument = PdfDocument.Merge(pdf1, pdf2)
merged.SaveAs("merged.pdf")
Daha fazla birlestirme seçenekleri icin, PDF birleştirme belgelerine bakin.
Özellestirilmis Sayfa Boyutlari
ExpertPdf noktalar kullanir.IronPDFise milimetreleri kullanır. Dönüştür: points / 72 * 25.4 = mm
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ı
- Başlıklar/Altbilgiler ve sayfa numaralarını doğrulayın
- Guvenlik/sifirlama ayarlarini deneyin
- Birlestirme işlemlerini dogrulayin
- Özel sayfa boyutlarını kontrol edin
- Performans kıyaslaması
- Çapraz platform test etme -ExpertPdflisans dosyalarını kaldırın
- Belgeleri güncelleyin
PDF Altyapınızı Geleceğe Hazırlama
.NET 10'un ufukta olduğu ve C# 14'ün yeni dil özellikleri getirdiği bu dönemde, aktif geliştirilen ve modern rendering sağlayan bir PDF kütüphanesini seçmek, uzun dönem uyumluluğu garanti eder. IronPDF'nin aylık güncellemeleri ve en son Chromium motoru, 2025 ve 2026'ya kadar uzayan projelerde modern CSS3 yerleşimleri (Flexbox, Grid) ile doğru çalışmaya devam edecek PDF üretimi için temel sağlar—ExpertPdf'nin geçmişte kalmış Chrome sürümünün aksine.
Ek Kaynaklar
ExpertPdf'den IronPDF'ye geçiş, donmuş dokümantasyon, eski Chrome rendering, parçalı ürün lisanslama ve modern .NET desteğinin sınırlılıkları gibi zorlukları ortadan kaldırır. En son Chromium motoruna sahip, aktif olarak bakımı yapılan bir kütüphaneye geçiş, PDF oluşturmanın gelişen web standartları ve .NET çerçeveleri ile uyumlu hale gelmesini sağlar.

