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

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.

View Full Comparison

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:

  1. Sadece Paket Satın Alma: PDF kütüphanesi bağımsız alınamaz - tüm Essential Studio satın alınmalıdır
  2. Topluluk Lisansı Kısıtlamaları: Ücretsiz seviye hem <$1M gelir hem <5 geliştirici gerektirir
  3. Karmaşık Dağıtım Lisanslaması: Web, masaüstü, sunucu dağıtımları için farklı lisanslar
  4. Yıllık Yenileme Gerekliliği: Yıllık maliyetleri olan abonelik modeli
  5. Geliştirici Başı Fiyatlandırma: Maliyetler ekip boyutuyla doğrusal olarak artar
  6. 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

  1. .NET Ortamı: .NET Framework 4.6.2+ veya .NET Core 3.1+ / .NET 5/6/7/8/9+
  2. NuGet Erişimi: NuGet paketlerini yükleme yeteneği
  3. 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
SHELL

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

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

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

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

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

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

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

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

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

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

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

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

IronPDF temizlik işlemlerini otomatik olarak yönetir:

// IronPDF:Otomatikcleanup
pdf.SaveAs("Output.pdf");
// IronPDF:Otomatikcleanup
pdf.SaveAs("Output.pdf");
$vbLabelText   $csharpLabel

Ö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, PdfGraphics ve HtmlToPdfConverter kullanı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)

  • IronPdf NuGet paketini kurun
  • Ad alanı ithalatlarını güncelleyin (using Syncfusion.Pdf;using IronPdf;)
  • Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense() ile IronPdf.License.LicenseKey = "..." değiştirin
  • HtmlToPdfConverter.Convert() ile ChromePdfRenderer.RenderUrlAsPdf() veya RenderHtmlAsPdf() değiştirin
  • PdfDocument + Pages.Add() + Graphics.DrawString() ile ChromePdfRenderer.RenderHtmlAsPdf() değiştirin
  • PdfLoadedDocument ile PdfDocument.FromFile() değiştirin
  • ImportPageRange() ile PdfDocument.Merge() değiştirin
  • document.Save(stream) ile pdf.SaveAs(path) değiştirin
  • Tüm document.Close(true) ve stream.Close() çağrılarını kaldırın
  • PdfGrid ile HTML <table> öğelerini değiştirin
  • PdfStandardFont ile CSS font-family değiştirin
  • PdfBrushes ile CSS color ö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ı

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında lisans derecesine sahiptir (Carleton Üniversitesi) ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirme üzerine uzmanlaşmıştır. Kullanıcı dostu ve estetik açıdan hoş arayüzler tasarlamaya tutkuyla bağlı olan Curtis, modern çerç...

Daha Fazlasını Oku

Iron Destek Ekibi

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