C#'ta Syncfusion PDF'den IronPDF'ye Nasıl Geçilir
Full Comparison
Looking for a detailed feature-by-feature breakdown? See how IronPDF stacks up against Syncfusion PDF on pricing, HTML support, and licensing.
Syncfusion PDF Framework'ten IronPDF'e geçmek, PDF oluşturma iş akışınızı büyük bir paketin içinde bulunan koordinat tabanlı bir grafik API'den, modern Chromium renderinge sahip bağımsız bir HTML/CSS-öncelikli kütüphaneye dönüştürür. Bu kılavuz, yalnızca pakete özel lisanslamayı, karmaşık dağıtım gereksinimlerini ve koordinat tabanlı konumlandırmayı ortadan kaldıran eksiksiz, adım adım bir geçiş yolu sunar.
NedenSyncfusionPDF'ten IronPDF'e Geçilmeli
Syncfusion PDFFramework'ü Anlamak
Syncfusion PDF Framework, C# kullanarak PDF belgelerini oluşturmak, düzenlemek ve güvence altına almak için geniş bir fonksiyon yelpazesi sunan kapsamlı bir kütüphanedir. Syncfusion'un Essential Studio'nun bir parçası olarak gelir, bu stüdyo çoklu platformlarda binden fazla bileşen içerir.
Ancak, en büyük dezavantajlarından biri, bağımsız bir ürün olarak satın alınamamasıdır; geliştiricilerinSyncfusionbileşenlerinin tamamını satın alması gerekir. Bu gereklilik, yalnızca PDF fonksiyonlarıyla ilgilenen ekipler için zahmetli olabilir, özellikle de bu pakette projeleri için gereksiz olabilecek araçlar varsa.
Paket Lisanslama Sorunu
Syncfusion'un lisanslama modeli, yalnizca PDF islevselligine ihtiyaçi olan takimlar icin onemli zorluklar yaratir:
- Sadece Paket Satın Alma: PDF kütüphanesi bağımsız alınamaz - tüm Essential Studio satın alınmalıdır
- Topluluk Lisansı Kısıtlamaları: Ücretsiz seviye hem <$1M gelir hem <5 geliştirici gerektirir
- Karmaşık Dağıtım Lisanslaması: Web, masaüstü, sunucu dağıtımları için farklı lisanslar
- Yıllık Yenileme Gerekliliği: Yıllık maliyetleri olan abonelik modeli
- Geliştirici Başı Fiyatlandırma: Maliyetler ekip boyutuyla doğrusal olarak artar
- Paket Şişmesi: İhtiyacınız olmayan 1000'den fazla bileşen içerir
Syncfusion PDF veIronPDFKarşılaştırması
| Bağlam | Syncfusion PDF | IronPDF |
|---|---|---|
| Satın Alma Modeli | Sadece paket demeti | Bagimsiz |
| Lisanslama | Karmaşık kademeler | Basit geliştirici-basa |
| Topluluk Limiti | <$1M AND <5 devs | Ücretsiz deneme, ardından lisans |
| Dağıtım | Birden fazla lisans türü | Tek bir lisans her şeyi kapsar |
| API Stili | Koordinat bazlı grafikler | HTML/CSS-öncelikli |
| HTML Desteği | BlinkBinaries gerektirir | Yerli Chromium |
| CSS Desteği | Sınırlı | Tam CSS3/flexbox/grid |
| Bagimliliklar | Birden fazla paket | Tek NuGet |
| Suite Gereksinimi | Evet (tüm suite) | Hayır |
| PDF'ye Odaklanma | Geniş; part of larger suite | Dar; PDF'ye odaklı |
IronPDF, PDF yeteneklerini bağımsız bir ürün olarak sunarak daha odaklanmış bir yaklaşım sağlar. Bu fark hem maliyet değerlendirmesini hem de entegrasyonun kolaylığını önemli ölçüde etkiler.
2025 ve 2026 boyunca .NET 10 ve C# 14 benimsemeyi planlayan ekipler için IronPDF'in bağımsız lisanslaması ve HTML/CSS-öncelikli yaklaşımı, paket bağımlılıkları olmaksızın esneklik sağlar.
Başlamadan Önce
Önkoşullar
- .NET Ortamı: .NET Framework 4.6.2+ veya .NET Core 3.1+ / .NET 5/6/7/8/9+
- NuGet Erişimi: NuGet paketlerini yükleme yeteneği
- IronPDF Lisansı: Lisans anahtarınızı ironpdf.com adresinden edinin
NuGet Paket Değişiklikleri
# RemoveSyncfusionpackages
dotnet remove package Syncfusion.Pdf.Net.Core
dotnet remove package Syncfusion.HtmlToPdfConverter.Net.Windows
dotnet remove package Syncfusion.Licensing
# Install IronPDF
dotnet add package IronPdf
# RemoveSyncfusionpackages
dotnet remove package Syncfusion.Pdf.Net.Core
dotnet remove package Syncfusion.HtmlToPdfConverter.Net.Windows
dotnet remove package Syncfusion.Licensing
# Install IronPDF
dotnet add package IronPdf
Lisans Yapılandırması
Syncfusion:
// Must register before anySyncfusioncalls
Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("YOUR-SYNCFUSION-KEY");
// Must register before anySyncfusioncalls
Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("YOUR-SYNCFUSION-KEY");
' Must register before any Syncfusion calls
Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("YOUR-SYNCFUSION-KEY")
IronPDF:
// One-time at startup
IronPdf.License.LicenseKey = "YOUR-IRONPDF-KEY";
// One-time at startup
IronPdf.License.LicenseKey = "YOUR-IRONPDF-KEY";
' One-time at startup
IronPdf.License.LicenseKey = "YOUR-IRONPDF-KEY"
API Referansının Tamamı
Namespace Değişiklikleri
// Before:SyncfusionPDF
using Syncfusion.Pdf;
using Syncfusion.Pdf.Graphics;
using Syncfusion.Pdf.Parsing;
using Syncfusion.HtmlConverter;
using Syncfusion.Drawing;
// After: IronPDF
using IronPdf;
using IronPdf.Rendering;
// Before:SyncfusionPDF
using Syncfusion.Pdf;
using Syncfusion.Pdf.Graphics;
using Syncfusion.Pdf.Parsing;
using Syncfusion.HtmlConverter;
using Syncfusion.Drawing;
// After: IronPDF
using IronPdf;
using IronPdf.Rendering;
Imports IronPdf
Imports IronPdf.Rendering
Temel API Eşleştirmeleri
| Syncfusion | IronPDF |
|---|---|
PdfDocument |
ChromePdfRenderer |
PdfLoadedDocument |
PdfDocument.FromFile() |
HtmlToPdfConverter |
ChromePdfRenderer |
graphics.DrawString() |
HTML metin elemanları |
graphics.DrawImage() |
<img> etiketi |
PdfGrid |
HTML <table> |
PdfStandardFont |
CSS font-family |
PdfBrushes.Black |
CSS color: black |
document.Security |
pdf.SecuritySettings |
PdfTextExtractor |
pdf.ExtractAllText() |
ImportPageRange() |
PdfDocument.Merge() |
document.Save(stream) |
pdf.SaveAs(path) |
document.Close(true) |
Gerekli değil |
Kod Geçiş Örnekleri
Örnek 1: HTML/URL'den PDF'e Dönüştürme
Önce (Syncfusion PDF):
// NuGet: Install-Package Syncfusion.Pdf.Net.Core
using Syncfusion.HtmlConverter;
using Syncfusion.Pdf;
using System.IO;
class Program
{
static void Main()
{
// Initialize HTML to PDF converter
HtmlToPdfConverter htmlConverter = new HtmlToPdfConverter();
// Convert URL to PDF
PdfDocument document = htmlConverter.Convert("https://www.example.com");
// Save the document
FileStream fileStream = new FileStream("Output.pdf", FileMode.Create);
document.Save(fileStream);
document.Close(true);
fileStream.Close();
}
}
// NuGet: Install-Package Syncfusion.Pdf.Net.Core
using Syncfusion.HtmlConverter;
using Syncfusion.Pdf;
using System.IO;
class Program
{
static void Main()
{
// Initialize HTML to PDF converter
HtmlToPdfConverter htmlConverter = new HtmlToPdfConverter();
// Convert URL to PDF
PdfDocument document = htmlConverter.Convert("https://www.example.com");
// Save the document
FileStream fileStream = new FileStream("Output.pdf", FileMode.Create);
document.Save(fileStream);
document.Close(true);
fileStream.Close();
}
}
Imports Syncfusion.HtmlConverter
Imports Syncfusion.Pdf
Imports System.IO
Module Program
Sub Main()
' Initialize HTML to PDF converter
Dim htmlConverter As New HtmlToPdfConverter()
' Convert URL to PDF
Dim document As PdfDocument = htmlConverter.Convert("https://www.example.com")
' Save the document
Dim fileStream As New FileStream("Output.pdf", FileMode.Create)
document.Save(fileStream)
document.Close(True)
fileStream.Close()
End Sub
End Module
Sonra (IronPDF):
// NuGet: Install-Package IronPdf
using IronPdf;
class Program
{
static void Main()
{
// Create a PDF from a URL
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.example.com");
// Save the PDF
pdf.SaveAs("Output.pdf");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
class Program
{
static void Main()
{
// Create a PDF from a URL
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.example.com");
// Save the PDF
pdf.SaveAs("Output.pdf");
}
}
Imports IronPdf
Class Program
Shared Sub Main()
' Create a PDF from a URL
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderUrlAsPdf("https://www.example.com")
' Save the PDF
pdf.SaveAs("Output.pdf")
End Sub
End Class
Bu örnek temel API farklarını gösterir.Syncfusion PDFbir HtmlToPdfConverter örneği gerektirir, Convert() çağrısı yapar ve bu bir PdfDocument döndürür, ardından manuel olarak bir FileStream oluşturur, belgeyi ve akışı kaydeder ve kapatır.
IronPDF sadece üç satır kodla ChromePdfRenderer ve RenderUrlAsPdf() kullanır. Hiçbir FileStream yönetimi, hiçbir Close() çağrısı yok—IronPDF temizliği otomatik olarak halleder. Kapsamlı örnekler için HTML'den PDF'e döndürme belgesine bakın.
Örnek 2: Metinden PDF Oluşturma
Önce (Syncfusion PDF):
// NuGet: Install-Package Syncfusion.Pdf.Net.Core
using Syncfusion.Pdf;
using Syncfusion.Pdf.Graphics;
using Syncfusion.Drawing;
using System.IO;
class Program
{
static void Main()
{
// Create a new PDF document
PdfDocument document = new PdfDocument();
// Add a page
PdfPage page = document.Pages.Add();
// Create a font
PdfFont font = new PdfStandardFont(PdfFontFamily.Helvetica, 12);
// Draw text
page.Graphics.DrawString("Hello, World!", font, PdfBrushes.Black, new PointF(10, 10));
// Save the document
FileStream fileStream = new FileStream("Output.pdf", FileMode.Create);
document.Save(fileStream);
document.Close(true);
fileStream.Close();
}
}
// NuGet: Install-Package Syncfusion.Pdf.Net.Core
using Syncfusion.Pdf;
using Syncfusion.Pdf.Graphics;
using Syncfusion.Drawing;
using System.IO;
class Program
{
static void Main()
{
// Create a new PDF document
PdfDocument document = new PdfDocument();
// Add a page
PdfPage page = document.Pages.Add();
// Create a font
PdfFont font = new PdfStandardFont(PdfFontFamily.Helvetica, 12);
// Draw text
page.Graphics.DrawString("Hello, World!", font, PdfBrushes.Black, new PointF(10, 10));
// Save the document
FileStream fileStream = new FileStream("Output.pdf", FileMode.Create);
document.Save(fileStream);
document.Close(true);
fileStream.Close();
}
}
Imports Syncfusion.Pdf
Imports Syncfusion.Pdf.Graphics
Imports Syncfusion.Drawing
Imports System.IO
Module Program
Sub Main()
' Create a new PDF document
Dim document As New PdfDocument()
' Add a page
Dim page As PdfPage = document.Pages.Add()
' Create a font
Dim font As PdfFont = New PdfStandardFont(PdfFontFamily.Helvetica, 12)
' Draw text
page.Graphics.DrawString("Hello, World!", font, PdfBrushes.Black, New PointF(10, 10))
' Save the document
Dim fileStream As New FileStream("Output.pdf", FileMode.Create)
document.Save(fileStream)
document.Close(True)
fileStream.Close()
End Sub
End Module
Sonra (IronPDF):
// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;
class Program
{
static void Main()
{
// Create a PDF from HTML string
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello, World!</h1>");
// Save the document
pdf.SaveAs("Output.pdf");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;
class Program
{
static void Main()
{
// Create a PDF from HTML string
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello, World!</h1>");
// Save the document
pdf.SaveAs("Output.pdf");
}
}
Imports IronPdf
Imports IronPdf.Rendering
Class Program
Shared Sub Main()
' Create a PDF from HTML string
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello, World!</h1>")
' Save the document
pdf.SaveAs("Output.pdf")
End Sub
End Class
Syncfusion PDF, koordinat tabanlı bir grafik modeli kullanır. Bir PdfDocument oluşturursunuz, bir PdfPage eklersiniz, PdfFontFamily.Helvetica ile bir PdfFont oluşturursunuz, ardından belirli koordinatlarla (new PointF(10, 10)), font ve fırça (PdfBrushes.Black) ile page.Graphics.DrawString() çağrısı yaparsınız. Son olarak, FileStream oluşturma ve imha etme işlemlerini yönetirsiniz.
IronPDF, HTML/CSS-öncelikli bir yaklaşım kullanır. Instead of coordinates, you write <h1>Hello, World!</h1> and let CSS handle positioning, fonts, and colors. Bu yaklaşım daha basit, daha sürdürülebilir ve geliştiricilerin zaten sahip olduğu becerileri kullanır. Detayli bilgi icin eğitimlerimize bakin.
Örnek 3: PDF Belgelerini Birleştirme
Önce (Syncfusion PDF):
// NuGet: Install-Package Syncfusion.Pdf.Net.Core
using Syncfusion.Pdf;
using Syncfusion.Pdf.Parsing;
using System.IO;
class Program
{
static void Main()
{
// Load the first PDF document
FileStream stream1 = new FileStream("Document1.pdf", FileMode.Open, FileAccess.Read);
PdfLoadedDocument loadedDocument1 = new PdfLoadedDocument(stream1);
// Load the second PDF document
FileStream stream2 = new FileStream("Document2.pdf", FileMode.Open, FileAccess.Read);
PdfLoadedDocument loadedDocument2 = new PdfLoadedDocument(stream2);
// Merge the documents
PdfDocument finalDocument = new PdfDocument();
finalDocument.ImportPageRange(loadedDocument1, 0, loadedDocument1.Pages.Count - 1);
finalDocument.ImportPageRange(loadedDocument2, 0, loadedDocument2.Pages.Count - 1);
// Save the merged document
FileStream outputStream = new FileStream("Merged.pdf", FileMode.Create);
finalDocument.Save(outputStream);
// Close all documents
finalDocument.Close(true);
loadedDocument1.Close(true);
loadedDocument2.Close(true);
stream1.Close();
stream2.Close();
outputStream.Close();
}
}
// NuGet: Install-Package Syncfusion.Pdf.Net.Core
using Syncfusion.Pdf;
using Syncfusion.Pdf.Parsing;
using System.IO;
class Program
{
static void Main()
{
// Load the first PDF document
FileStream stream1 = new FileStream("Document1.pdf", FileMode.Open, FileAccess.Read);
PdfLoadedDocument loadedDocument1 = new PdfLoadedDocument(stream1);
// Load the second PDF document
FileStream stream2 = new FileStream("Document2.pdf", FileMode.Open, FileAccess.Read);
PdfLoadedDocument loadedDocument2 = new PdfLoadedDocument(stream2);
// Merge the documents
PdfDocument finalDocument = new PdfDocument();
finalDocument.ImportPageRange(loadedDocument1, 0, loadedDocument1.Pages.Count - 1);
finalDocument.ImportPageRange(loadedDocument2, 0, loadedDocument2.Pages.Count - 1);
// Save the merged document
FileStream outputStream = new FileStream("Merged.pdf", FileMode.Create);
finalDocument.Save(outputStream);
// Close all documents
finalDocument.Close(true);
loadedDocument1.Close(true);
loadedDocument2.Close(true);
stream1.Close();
stream2.Close();
outputStream.Close();
}
}
Imports Syncfusion.Pdf
Imports Syncfusion.Pdf.Parsing
Imports System.IO
Class Program
Shared Sub Main()
' Load the first PDF document
Dim stream1 As New FileStream("Document1.pdf", FileMode.Open, FileAccess.Read)
Dim loadedDocument1 As New PdfLoadedDocument(stream1)
' Load the second PDF document
Dim stream2 As New FileStream("Document2.pdf", FileMode.Open, FileAccess.Read)
Dim loadedDocument2 As New PdfLoadedDocument(stream2)
' Merge the documents
Dim finalDocument As New PdfDocument()
finalDocument.ImportPageRange(loadedDocument1, 0, loadedDocument1.Pages.Count - 1)
finalDocument.ImportPageRange(loadedDocument2, 0, loadedDocument2.Pages.Count - 1)
' Save the merged document
Dim outputStream As New FileStream("Merged.pdf", FileMode.Create)
finalDocument.Save(outputStream)
' Close all documents
finalDocument.Close(True)
loadedDocument1.Close(True)
loadedDocument2.Close(True)
stream1.Close()
stream2.Close()
outputStream.Close()
End Sub
End Class
Sonra (IronPDF):
// NuGet: Install-Package IronPdf
using IronPdf;
using System.Collections.Generic;
class Program
{
static void Main()
{
// Load PDF documents
var pdf1 = PdfDocument.FromFile("Document1.pdf");
var pdf2 = PdfDocument.FromFile("Document2.pdf");
// Merge PDFs
var merged = PdfDocument.Merge(new List<PdfDocument> { pdf1, pdf2 });
// Save the merged document
merged.SaveAs("Merged.pdf");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System.Collections.Generic;
class Program
{
static void Main()
{
// Load PDF documents
var pdf1 = PdfDocument.FromFile("Document1.pdf");
var pdf2 = PdfDocument.FromFile("Document2.pdf");
// Merge PDFs
var merged = PdfDocument.Merge(new List<PdfDocument> { pdf1, pdf2 });
// Save the merged document
merged.SaveAs("Merged.pdf");
}
}
Imports IronPdf
Imports System.Collections.Generic
Class Program
Shared Sub Main()
' Load PDF documents
Dim pdf1 = PdfDocument.FromFile("Document1.pdf")
Dim pdf2 = PdfDocument.FromFile("Document2.pdf")
' Merge PDFs
Dim merged = PdfDocument.Merge(New List(Of PdfDocument) From {pdf1, pdf2})
' Save the merged document
merged.SaveAs("Merged.pdf")
End Sub
End Class
PDF'leri birleştirme konusundaki karşıtlık çarpıcıdır.Syncfusion PDFher girdi belgesi için FileStream nesnelerinin oluşturulmasını gerektirir, bunları PdfLoadedDocument olarak yükler, yeni bir PdfDocument oluşturur, her kaynak için başlangıç ve bitiş indeksleriyle ImportPageRange() çağrısı yapar, bir çıktı FileStream oluşturur ve ardından altı ayrı nesneyi kapatır (finalDocument, loadedDocument1, loadedDocument2, stream1, stream2, outputStream).
IronPDF her PDF'yi yüklemek için PdfDocument.FromFile() kullanır ve belgeler listesini kabul eden statik bir PdfDocument.Merge() yöntemi kullanır. Akış yönetimi, manuel sayfa aralığı hesaplamaları, kapatma çağrıları yoktur.
API Felsefesindeki Ana Farklar
Koordinat Tabanlı vs HTML/CSS-Öncelikli
Syncfusion PDF, geleneksel PDF kütüphanelerinden miras kalan bir koordinat tabanlı grafik modeli kullanır:
// Syncfusion: El ile positioning
page.Graphics.DrawString("Text", font, PdfBrushes.Black, new PointF(100, 200));
page.Graphics.DrawRectangle(brush, new RectangleF(50, 50, 200, 100));
// Syncfusion: El ile positioning
page.Graphics.DrawString("Text", font, PdfBrushes.Black, new PointF(100, 200));
page.Graphics.DrawRectangle(brush, new RectangleF(50, 50, 200, 100));
' Syncfusion: El ile positioning
page.Graphics.DrawString("Text", font, PdfBrushes.Black, New PointF(100, 200))
page.Graphics.DrawRectangle(brush, New RectangleF(50, 50, 200, 100))
IronPDF düzen için HTML/CSS kullanır:
// IronPDF: CSS-based positioning
var html = @"
<div style='margin: 50px; padding: 20px; border: 1px solid black;'>
<p style='color: black;'>Text</p>
</div>";
var pdf = renderer.RenderHtmlAsPdf(html);
// IronPDF: CSS-based positioning
var html = @"
<div style='margin: 50px; padding: 20px; border: 1px solid black;'>
<p style='color: black;'>Text</p>
</div>";
var pdf = renderer.RenderHtmlAsPdf(html);
' IronPDF: CSS-based positioning
Dim html As String = "
<div style='margin: 50px; padding: 20px; border: 1px solid black;'>
<p style='color: black;'>Text</p>
</div>"
Dim pdf = renderer.RenderHtmlAsPdf(html)
HTML/CSS yaklaşımı, web geliştiricileri için daha sezgisel, daha sürdürülebilir ve farklı sayfa boyutları boyunca tutarlı sonuçlar üretir.
Akış Yönetimi vs Otomatik Temizlik
Syncfusion PDF, açıkça belirlenmiş akış ve belge imhası gerektirir:
// Syncfusion: El ile cleanup
FileStream fileStream = new FileStream("Output.pdf", FileMode.Create);
document.Save(fileStream);
document.Close(true);
fileStream.Close();
// Syncfusion: El ile cleanup
FileStream fileStream = new FileStream("Output.pdf", FileMode.Create);
document.Save(fileStream);
document.Close(true);
fileStream.Close();
' Syncfusion: El ile cleanup
Dim fileStream As New FileStream("Output.pdf", FileMode.Create)
document.Save(fileStream)
document.Close(True)
fileStream.Close()
IronPDF temizlik işlemlerini otomatik olarak yönetir:
// IronPDF:Otomatikcleanup
pdf.SaveAs("Output.pdf");
// IronPDF:Otomatikcleanup
pdf.SaveAs("Output.pdf");
Özellik Karşılaştırması
| Özellik | Syncfusion PDF | IronPDF |
|---|---|---|
| Bağımsız Satın Alma | Hayır (sadece paket) | Evet |
| Lisanslama | Topluluk kısıtlamaları ile ticari | Kolaylaştırılmış ticari |
| HTML to PDF | BlinkBinaries gerektirir | Yerli Chromium |
| CSS3 Desteği | Sınırlı | Tam (flexbox, grid) |
| API Stili | Koordinat bazlı grafikler | HTML/CSS-öncelikli |
| Akış Yönetimi | El ile | Otomatik |
| Bagimliliklar | Birden fazla paket | Tek NuGet |
| Dağıtım Karmaşıklığı | Potansiyel olarak karmaşık | Duz |
Goc Kontrol Listesi
Geçiş Öncesi
- Kod tabanında tümSyncfusion PDFkullanımlarının envanterini çıkarın
- Lisans maliyetlerini ve dağıtım gereksinimlerini belgelendirin
PdfGrid,PdfGraphicsveHtmlToPdfConverterkullanımlarını tanımlayın- ironpdf.com adresindenIronPDFlisans anahtarını alın
Kod Güncellemeleri
-Syncfusionpaketlerini kaldırın (Syncfusion.Pdf.Net.Core, Syncfusion.HtmlToPdfConverter.Net.Windows, Syncfusion.Licensing)
IronPdfNuGet paketini kurun- Ad alanı ithalatlarını güncelleyin (
using Syncfusion.Pdf;→using IronPdf;) Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense()ileIronPdf.License.LicenseKey = "..."değiştirinHtmlToPdfConverter.Convert()ileChromePdfRenderer.RenderUrlAsPdf()veyaRenderHtmlAsPdf()değiştirinPdfDocument+Pages.Add()+Graphics.DrawString()ileChromePdfRenderer.RenderHtmlAsPdf()değiştirinPdfLoadedDocumentilePdfDocument.FromFile()değiştirinImportPageRange()ilePdfDocument.Merge()değiştirindocument.Save(stream)ilepdf.SaveAs(path)değiştirin- Tüm
document.Close(true)vestream.Close()çağrılarını kaldırın PdfGridile HTML<table>öğelerini değiştirinPdfStandardFontile CSSfont-familydeğiştirinPdfBrushesile CSScolorözelliklerini değiştirin
Test Etme
- PDF çıktısının görsel karşılaştırması
- CSS render geliştirmelerini doğrulayın (flexbox, grid şimdi çalışıyor)
- Metin çıkarma işlemini test edin
- Birleştirme ve ayırma işlemlerini test edin
- Performans karşılaştırması

