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

PDFSharp'tan IronPDF'e C# ile Nasıl Geçilir

PDFSharp'tan IronPDF'ye geçmek, PDF oluşturma iş akışınızı manuel koordinat tabanlı çizimden modern HTML/CSS şablonlamaya dönüştürür. Bu kılavuz, GDI+ tarzı konumlandırmayı web teknolojileriyle değiştiren ve geliştirme süresini önemli ölçüde azaltarak PDF oluşturmayı standart HTML/CSS becerileriyle sürdürülebilir hale getiren eksiksiz, adım adım bir geçiş yolu sunar.

PDFSharp'tan IronPDF'ye Neden Geçilmeli

PDFSharp'ı Anlamak

PDFSharp, geliştiricilerin programatik bir yaklaşımla PDF belgeleri oluşturmasını sağlayan düşük seviyeli bir PDF oluşturma kütüphanesi olarak bilinir. MIT lisansı altında yayımlanan PDFSharp, geliştirici topluluğuna kullanım ve değiştirme özgürlüğü tanır. PDFSharp, esas olarak sıfırdan PDF çizen ve derleyen bir araç olarak işlev görür ve bu, projenin doğasına bağlı olarak hem faydalı hem de sınırlayıcı olabilir.

PDFSharp bazen yanlışlıkla bir HTML-PDF dönüştürücü olarak kabul edilir, ki değildir. Amacı yalnızca programatik PDF belgesi oluşturmadır. HtmlRenderer.PdfSharp, HTML işleme yetenekleri sağlamak amacıyla tasarlanmış bir eklenti olmasına rağmen, sadece CSS 2.1'i destekler ve flexbox ve grid gibi modern CSS özelliklerini desteklemez.

Koordinat Hesaplama Problemi

PDFSharp'ın GDI+ yaklaşımı şunları gerektirir:

  • Her öğe için kesin X,Y pozisyonlarını hesaplayın
  • Sayfa taşması için içerik yüksekliğini manuel olarak takip edin
  • Satır kaydırma ve metin ölçümlemeyi kendiniz yapın
  • Hücre hücre tablo çizin ve kenar hesaplamalarını yapın
  • Çok sayfalı belgeleri manuel sayfa sonları ile yönetin

PDFSharp'ın mimarisi, koordinatları kullanarak konumlandırma konusunda derin bir anlayış gerektirir ve bu, karmaşık düzenler oluşturmakta zorluklar yaratır.

PDFSharp vsIronPDFKarşılaştırması

Özellik PDFSharp IronPDF
Lisans MIT (Ücretsiz) Ticari
HTML'den PDF'ye Destek Hayır Evet (HTML5/CSS3 Desteği)
Modern CSS Desteği Hayır (Sadece CSS 2.1) Evet (Tam CSS3)
Belge Oluşturma Koordinata dayalı çizim HTML/CSS şablonları
Düzen Sistemi Manuel X,Y pozisyonlandırma CSS Akışı/Flexbox/Grid
Sayfa Sonları Manuel hesaplama Otomatik + CSS kontrolü
Tablolar Hücreleri tek tek çizin HTML <table>
Stil Kod tabanlı yazı tipleri/renkler CSS stil dosyaları
Belge API'si Düşük Seviye (Koordinat Gerektirir) Yüksek Seviye (Basit API)
Güncellemeler Seyrek Düzenli

IronPDF, HTML belgelerinin PDF'lere tam sadakatle dönüştürülmesi gereken senaryolarda parlıyor. Bu .NET kütüphanesi HTML5 ve CSS3'ü destekleyerek modern web standartlarının karşılanmasını sağlar. Yerel HTML'den PDF'ye yetenekleri, geliştiricilerin mevcut web içeriğinden veya çağdaş web araçlarıyla tasarlanmış şablonlardan faydalanabilmesine olanak tanır.

.NET 10 ve C# 14 geçişini 2025 ve 2026 yılına kadar planlayan ekipler için IronPDF, koordinat hesaplamalarını ortadan kaldırırken web geliştirme becerilerinden yararlanan modern bir yaklaşım sunar.


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

# Remove PDFSharp
dotnet remove package PdfSharp
dotnet remove package PdfSharp-wpf
dotnet remove package PdfSharp.Charting

# Add IronPDF
dotnet add package IronPdf
# Remove PDFSharp
dotnet remove package PdfSharp
dotnet remove package PdfSharp-wpf
dotnet remove package PdfSharp.Charting

# Add IronPDF
dotnet add package IronPdf
SHELL

Lisans Yapılandırması

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

PDFSharpKullanımını Belirleyin

# Find allPDFSharpusages in your codebase
grep -r "PdfSharp\|XGraphics\|XFont\|XBrush\|XPen" --include="*.cs" .
# Find allPDFSharpusages in your codebase
grep -r "PdfSharp\|XGraphics\|XFont\|XBrush\|XPen" --include="*.cs" .
SHELL

API Referansının Tamamı

Namespace Değişiklikleri

// Before: PDFSharp
using PdfSharp.Pdf;
using PdfSharp.Drawing;
using PdfSharp.Pdf.IO;

// After: IronPDF
using IronPdf;
using IronPdf.Editing;
// Before: PDFSharp
using PdfSharp.Pdf;
using PdfSharp.Drawing;
using PdfSharp.Pdf.IO;

// After: IronPDF
using IronPdf;
using IronPdf.Editing;
Imports IronPdf
Imports IronPdf.Editing
$vbLabelText   $csharpLabel

Temel API Eşleştirmeleri

PDFSharp API IronPDF API
new PdfDocument() ChromePdfRenderer.RenderHtmlAsPdf()
document.AddPage() Otomatik
XGraphics.FromPdfPage() Gerekli değil
XGraphics.DrawString() HTML <p>, <h1>, vb.
XGraphics.DrawImage() HTML <img> etiketi
XFont CSS font-family, font-size
XBrush, XPen CSS renkleri/kenarlıkları
document.Save() pdf.SaveAs()
PdfReader.Open() PdfDocument.FromFile()

Kod Geçiş Örnekleri

Örnek 1: HTML'den PDF'e Dönüştürme

Önce (PDFSharp):

// NuGet: Install-Package PdfSharp
using PdfSharp.Pdf;
using PdfSharp.Drawing;
using System;

class Program
{
    static void Main()
    {
        //PDFSharpdoes not have built-inHTML'den PDF'yeconversion
        // You need to manually parse HTML and render content
        PdfDocument document = new PdfDocument();
        PdfPage page = document.AddPage();
        XGraphics gfx = XGraphics.FromPdfPage(page);
        XFont font = new XFont("Arial", 12);

        // El ile text rendering (no HTML support)
        gfx.DrawString("Hello from PDFSharp", font, XBrushes.Black,
            new XRect(0, 0, page.Width, page.Height),
            XStringFormats.TopLeft);

        document.Save("output.pdf");
    }
}
// NuGet: Install-Package PdfSharp
using PdfSharp.Pdf;
using PdfSharp.Drawing;
using System;

class Program
{
    static void Main()
    {
        //PDFSharpdoes not have built-inHTML'den PDF'yeconversion
        // You need to manually parse HTML and render content
        PdfDocument document = new PdfDocument();
        PdfPage page = document.AddPage();
        XGraphics gfx = XGraphics.FromPdfPage(page);
        XFont font = new XFont("Arial", 12);

        // El ile text rendering (no HTML support)
        gfx.DrawString("Hello from PDFSharp", font, XBrushes.Black,
            new XRect(0, 0, page.Width, page.Height),
            XStringFormats.TopLeft);

        document.Save("output.pdf");
    }
}
Imports PdfSharp.Pdf
Imports PdfSharp.Drawing
Imports System

Module Program
    Sub Main()
        ' PDFSharp does not have built-in HTML to PDF conversion
        ' You need to manually parse HTML and render content
        Dim document As New PdfDocument()
        Dim page As PdfPage = document.AddPage()
        Dim gfx As XGraphics = XGraphics.FromPdfPage(page)
        Dim font As New XFont("Arial", 12)

        ' Manual text rendering (no HTML support)
        gfx.DrawString("Hello from PDFSharp", font, XBrushes.Black, New XRect(0, 0, page.Width, page.Height), XStringFormats.TopLeft)

        document.Save("output.pdf")
    End Sub
End Module
$vbLabelText   $csharpLabel

Sonra (IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        //IronPDFhas nativeHTML'den PDF'yerendering
        var renderer = new ChromePdfRenderer();

        string html = "<h1>Hello from IronPDF</h1><p>EasyHTML'den PDF'yeconversion</p>";
        var pdf = renderer.RenderHtmlAsPdf(html);

        pdf.SaveAs("output.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        //IronPDFhas nativeHTML'den PDF'yerendering
        var renderer = new ChromePdfRenderer();

        string html = "<h1>Hello from IronPDF</h1><p>EasyHTML'den PDF'yeconversion</p>";
        var pdf = renderer.RenderHtmlAsPdf(html);

        pdf.SaveAs("output.pdf");
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        ' IronPDF has native HTML to PDF rendering
        Dim renderer As New ChromePdfRenderer()

        Dim html As String = "<h1>Hello from IronPDF</h1><p>Easy HTML to PDF conversion</p>"
        Dim pdf = renderer.RenderHtmlAsPdf(html)

        pdf.SaveAs("output.pdf")
    End Sub
End Class
$vbLabelText   $csharpLabel

Bu örnek, iki kütüphane arasındaki en önemli farkı vurguluyor.PDFSharpaçıkça "yerleşik HTML'den PDF'ye dönüştürme" olmadığını belirtir—you must manually create a PdfDocument, add a PdfPage, get an XGraphics object, create an XFont, and use DrawString() with XRect coordinates.

IronPDF, ChromePdfRenderer aracılığıyla yerel HTML'den PDF'ye dönüştürme sağlar. RenderHtmlAsPdf() metodu HTML dizelerini kabul eder ve bunları dahili olarak Chromium motoru kullanarak dönüştürür. IronPDF, HTML5 ve CSS3'te tanımlanan tüm stilleri koruyarak HTML dosyalarını PDF'ye kolayca dönüştürür ve koordinat hesaplamalarını ortadan kaldırır. Kapsamlı örnekler için HTML'den PDF'e döndürme belgesine bakın.

Örnek 2: Mevcut PDF'ye Metin/Filigran Ekleme

Önce (PDFSharp):

// NuGet: Install-Package PdfSharp
using PdfSharp.Pdf;
using PdfSharp.Pdf.IO;
using PdfSharp.Drawing;
using System;

class Program
{
    static void Main()
    {
        // Open existing PDF
        PdfDocument document = PdfReader.Open("existing.pdf", PdfDocumentOpenMode.Modify);
        PdfPage page = document.Pages[0];

        // Get graphics object
        XGraphics gfx = XGraphics.FromPdfPage(page);
        XFont font = new XFont("Arial", 20, XFontStyle.Bold);

        // Draw text at specific position
        gfx.DrawString("Watermark Text", font, XBrushes.Red,
            new XPoint(200, 400));

        document.Save("modified.pdf");
    }
}
// NuGet: Install-Package PdfSharp
using PdfSharp.Pdf;
using PdfSharp.Pdf.IO;
using PdfSharp.Drawing;
using System;

class Program
{
    static void Main()
    {
        // Open existing PDF
        PdfDocument document = PdfReader.Open("existing.pdf", PdfDocumentOpenMode.Modify);
        PdfPage page = document.Pages[0];

        // Get graphics object
        XGraphics gfx = XGraphics.FromPdfPage(page);
        XFont font = new XFont("Arial", 20, XFontStyle.Bold);

        // Draw text at specific position
        gfx.DrawString("Watermark Text", font, XBrushes.Red,
            new XPoint(200, 400));

        document.Save("modified.pdf");
    }
}
Imports PdfSharp.Pdf
Imports PdfSharp.Pdf.IO
Imports PdfSharp.Drawing
Imports System

Module Program
    Sub Main()
        ' Open existing PDF
        Dim document As PdfDocument = PdfReader.Open("existing.pdf", PdfDocumentOpenMode.Modify)
        Dim page As PdfPage = document.Pages(0)

        ' Get graphics object
        Dim gfx As XGraphics = XGraphics.FromPdfPage(page)
        Dim font As New XFont("Arial", 20, XFontStyle.Bold)

        ' Draw text at specific position
        gfx.DrawString("Watermark Text", font, XBrushes.Red, New XPoint(200, 400))

        document.Save("modified.pdf")
    End Sub
End Module
$vbLabelText   $csharpLabel

Sonra (IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Editing;
using System;

class Program
{
    static void Main()
    {
        // Open existing PDF
        var pdf = PdfDocument.FromFile("existing.pdf");

        // Add text stamp/watermark
        var textStamper = new TextStamper()
        {
            Text = "Watermark Text",
            FontSize = 20,
            Color = IronSoftware.Drawing.Color.Red,
            VerticalAlignment = VerticalAlignment.Middle,
            HorizontalAlignment = HorizontalAlignment.Center
        };

        pdf.ApplyStamp(textStamper);
        pdf.SaveAs("modified.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Editing;
using System;

class Program
{
    static void Main()
    {
        // Open existing PDF
        var pdf = PdfDocument.FromFile("existing.pdf");

        // Add text stamp/watermark
        var textStamper = new TextStamper()
        {
            Text = "Watermark Text",
            FontSize = 20,
            Color = IronSoftware.Drawing.Color.Red,
            VerticalAlignment = VerticalAlignment.Middle,
            HorizontalAlignment = HorizontalAlignment.Center
        };

        pdf.ApplyStamp(textStamper);
        pdf.SaveAs("modified.pdf");
    }
}
Imports IronPdf
Imports IronPdf.Editing
Imports System

Module Program
    Sub Main()
        ' Open existing PDF
        Dim pdf = PdfDocument.FromFile("existing.pdf")

        ' Add text stamp/watermark
        Dim textStamper = New TextStamper() With {
            .Text = "Watermark Text",
            .FontSize = 20,
            .Color = IronSoftware.Drawing.Color.Red,
            .VerticalAlignment = VerticalAlignment.Middle,
            .HorizontalAlignment = HorizontalAlignment.Center
        }

        pdf.ApplyStamp(textStamper)
        pdf.SaveAs("modified.pdf")
    End Sub
End Module
$vbLabelText   $csharpLabel

PDFSharp, PDF'i PdfReader.Open() ile açmayı, PdfDocumentOpenMode.Modify belirtmeyi gerektirir, bir sayfaya erişme, bir XGraphics nesnesi oluşturma, tarz ile bir XFont oluşturma ve DrawString() kullanarak XPoint ile kesin X,Y koordinatları (200, 400) belirtmeyi gerektirir.

IronPDF bunu PdfDocument.FromFile(), deklaratif özelliklere sahip bir TextStamper nesnesi (Text, FontSize, Color, VerticalAlignment, HorizontalAlignment) ve ApplyStamp() ile basitleştirir. Koordinat hesaplamalarına gerek yok—sadece hizalamayı belirtin veIronPDFkonumlandırmayı halleder. IronPdf.Editing ad alanının damgalama işlevselliği için gerekli olduğunu not edin.

Örnek 3: Görüntülerle PDF Oluşturma

Önce (PDFSharp):

// NuGet: Install-Package PdfSharp
using PdfSharp.Pdf;
using PdfSharp.Drawing;
using System;

class Program
{
    static void Main()
    {
        // Create new PDF document
        PdfDocument document = new PdfDocument();
        PdfPage page = document.AddPage();
        XGraphics gfx = XGraphics.FromPdfPage(page);

        // Load and draw image
        XImage image = XImage.FromFile("image.jpg");

        // Calculate size to fit page
        double width = 200;
        double height = 200;

        gfx.DrawImage(image, 50, 50, width, height);

        // Add text
        XFont font = new XFont("Arial", 16);
        gfx.DrawString("Image in PDF", font, XBrushes.Black,
            new XPoint(50, 270));

        document.Save("output.pdf");
    }
}
// NuGet: Install-Package PdfSharp
using PdfSharp.Pdf;
using PdfSharp.Drawing;
using System;

class Program
{
    static void Main()
    {
        // Create new PDF document
        PdfDocument document = new PdfDocument();
        PdfPage page = document.AddPage();
        XGraphics gfx = XGraphics.FromPdfPage(page);

        // Load and draw image
        XImage image = XImage.FromFile("image.jpg");

        // Calculate size to fit page
        double width = 200;
        double height = 200;

        gfx.DrawImage(image, 50, 50, width, height);

        // Add text
        XFont font = new XFont("Arial", 16);
        gfx.DrawString("Image in PDF", font, XBrushes.Black,
            new XPoint(50, 270));

        document.Save("output.pdf");
    }
}
Imports PdfSharp.Pdf
Imports PdfSharp.Drawing
Imports System

Module Program
    Sub Main()
        ' Create new PDF document
        Dim document As New PdfDocument()
        Dim page As PdfPage = document.AddPage()
        Dim gfx As XGraphics = XGraphics.FromPdfPage(page)

        ' Load and draw image
        Dim image As XImage = XImage.FromFile("image.jpg")

        ' Calculate size to fit page
        Dim width As Double = 200
        Dim height As Double = 200

        gfx.DrawImage(image, 50, 50, width, height)

        ' Add text
        Dim font As New XFont("Arial", 16)
        gfx.DrawString("Image in PDF", font, XBrushes.Black, New XPoint(50, 270))

        document.Save("output.pdf")
    End Sub
End Module
$vbLabelText   $csharpLabel

Sonra (IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        // Create PDF from HTML with image
        var renderer = new ChromePdfRenderer();

        string html = @"
            <h1>Image in PDF</h1>
            <img src='image.jpg' style='width:200px; height:200px;' />
            <p>Easy image embedding with HTML</p>";

        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("output.pdf");

        // Alternative: Add image to existing PDF
        var existingPdf = new ChromePdfRenderer().RenderHtmlAsPdf("<h1>Document</h1>");
        var imageStamper = new IronPdf.Editing.ImageStamper(new Uri("image.jpg"))
        {
            VerticalAlignment = IronPdf.Editing.VerticalAlignment.Top
        };
        existingPdf.ApplyStamp(imageStamper);
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        // Create PDF from HTML with image
        var renderer = new ChromePdfRenderer();

        string html = @"
            <h1>Image in PDF</h1>
            <img src='image.jpg' style='width:200px; height:200px;' />
            <p>Easy image embedding with HTML</p>";

        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("output.pdf");

        // Alternative: Add image to existing PDF
        var existingPdf = new ChromePdfRenderer().RenderHtmlAsPdf("<h1>Document</h1>");
        var imageStamper = new IronPdf.Editing.ImageStamper(new Uri("image.jpg"))
        {
            VerticalAlignment = IronPdf.Editing.VerticalAlignment.Top
        };
        existingPdf.ApplyStamp(imageStamper);
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        ' Create PDF from HTML with image
        Dim renderer = New ChromePdfRenderer()

        Dim html As String = "
            <h1>Image in PDF</h1>
            <img src='image.jpg' style='width:200px; height:200px;' />
            <p>Easy image embedding with HTML</p>"

        Dim pdf = renderer.RenderHtmlAsPdf(html)
        pdf.SaveAs("output.pdf")

        ' Alternative: Add image to existing PDF
        Dim existingPdf = New ChromePdfRenderer().RenderHtmlAsPdf("<h1>Document</h1>")
        Dim imageStamper = New IronPdf.Editing.ImageStamper(New Uri("image.jpg")) With {
            .VerticalAlignment = IronPdf.Editing.VerticalAlignment.Top
        }
        existingPdf.ApplyStamp(imageStamper)
    End Sub
End Class
$vbLabelText   $csharpLabel

PDFSharp requires creating a new PdfDocument, adding a PdfPage, getting XGraphics, loading an XImage from file, calculating width and height, using DrawImage() with exact coordinates (50, 50, 200, 200), then separately adding text with DrawString().

IronPDF, standart HTML'i <img> etiketi ve CSS stilleme (style='width:200px; ile kullanır. Yükseklik:200px;'). Koordinat hesaplamalarına gerek yok—CSS düzeni halleder.IronPDFayrıca mevcut PDF'lere görüntüler eklemek için deklaratif hizalama özellikleri içeren ImageStamper sağlar. Detayli bilgi icin eğitimlerimize bakin.


Kritik Geçiş Notları

Paradigma Değişimi: Koordinatlardan HTML/CSS'ye

En önemli değişiklik, koordinat tabanlı çizimden HTML/CSS'ye geçiştir:

// PDFSharp: El ile positioning nightmare
gfx.DrawString("Invoice", titleFont, XBrushes.Black, new XPoint(50, 50));
gfx.DrawString("Customer: John", bodyFont, XBrushes.Black, new XPoint(50, 80));

// IronPDF: Let CSS handle layout
var html = @"
<div style='padding: 50px;'>
    <h1>Invoice</h1>
    <p>Customer: John</p>
</div>";
var pdf = renderer.RenderHtmlAsPdf(html);
// PDFSharp: El ile positioning nightmare
gfx.DrawString("Invoice", titleFont, XBrushes.Black, new XPoint(50, 50));
gfx.DrawString("Customer: John", bodyFont, XBrushes.Black, new XPoint(50, 80));

// IronPDF: Let CSS handle layout
var html = @"
<div style='padding: 50px;'>
    <h1>Invoice</h1>
    <p>Customer: John</p>
</div>";
var pdf = renderer.RenderHtmlAsPdf(html);
' PDFSharp: El ile positioning nightmare
gfx.DrawString("Invoice", titleFont, XBrushes.Black, New XPoint(50, 50))
gfx.DrawString("Customer: John", bodyFont, XBrushes.Black, New XPoint(50, 80))

' IronPDF: Let CSS handle layout
Dim html As String = "
<div style='padding: 50px;'>
    <h1>Invoice</h1>
    <p>Customer: John</p>
</div>"
Dim pdf = renderer.RenderHtmlAsPdf(html)
$vbLabelText   $csharpLabel

Yazı Tipi Göçü

// PDFSharp: XFont objects
var titleFont = new XFont("Arial", 24, XFontStyle.Bold);
var bodyFont = new XFont("Times New Roman", 12);

// IronPDF: CSS font properties
var html = @"
<style>
    h1 { font-family: Arial, sans-serif; font-size: 24px; font-weight: bold; }
    p { font-family: 'Times New Roman', serif; font-size: 12px; }
</style>";
// PDFSharp: XFont objects
var titleFont = new XFont("Arial", 24, XFontStyle.Bold);
var bodyFont = new XFont("Times New Roman", 12);

// IronPDF: CSS font properties
var html = @"
<style>
    h1 { font-family: Arial, sans-serif; font-size: 24px; font-weight: bold; }
    p { font-family: 'Times New Roman', serif; font-size: 12px; }
</style>";
Dim titleFont As New XFont("Arial", 24, XFontStyle.Bold)
Dim bodyFont As New XFont("Times New Roman", 12)

Dim html As String = "
<style>
    h1 { font-family: Arial, sans-serif; font-size: 24px; font-weight: bold; }
    p { font-family: 'Times New Roman', serif; font-size: 12px; }
</style>"
$vbLabelText   $csharpLabel

Belge Yükleme Değişikliği

// PDFSharp: PdfReader.Open()
PdfDocument document = PdfReader.Open("existing.pdf", PdfDocumentOpenMode.Modify);

// IronPDF: PdfDocument.FromFile()
var pdf = PdfDocument.FromFile("existing.pdf");
// PDFSharp: PdfReader.Open()
PdfDocument document = PdfReader.Open("existing.pdf", PdfDocumentOpenMode.Modify);

// IronPDF: PdfDocument.FromFile()
var pdf = PdfDocument.FromFile("existing.pdf");
Imports PdfSharp
Imports IronPDF

' PDFSharp: PdfReader.Open()
Dim document As PdfDocument = PdfReader.Open("existing.pdf", PdfDocumentOpenMode.Modify)

' IronPDF: PdfDocument.FromFile()
Dim pdf = PdfDocument.FromFile("existing.pdf")
$vbLabelText   $csharpLabel

Kaydetme Yöntemi Değişikliği

// PDFSharp: document.Save()
document.Save("output.pdf");

// IronPDF: pdf.SaveAs()
pdf.SaveAs("output.pdf");
// PDFSharp: document.Save()
document.Save("output.pdf");

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

Sayfa Erişim Değişikliği

// PDFSharp: document.Pages[0]
PdfPage page = document.Pages[0];

// IronPDF:Otomatikpage handling or pdf.Pages[0]
// Pages are created automatically from HTML content
// PDFSharp: document.Pages[0]
PdfPage page = document.Pages[0];

// IronPDF:Otomatikpage handling or pdf.Pages[0]
// Pages are created automatically from HTML content
' PDFSharp: document.Pages(0)
Dim page As PdfPage = document.Pages(0)

' IronPDF: Otomatik page handling or pdf.Pages(0)
' Pages are created automatically from HTML content
$vbLabelText   $csharpLabel

Geçiş Sonrası Yeni Özellikler

IronPDF'ye geçtikten sonra PDFSharp'ın sağlayamayacağı yetenekler kazanırsınız:

Yerel HTML'den PDF'ye

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Modern Web Content</h1>");
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Modern Web Content</h1>");
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Modern Web Content</h1>")
$vbLabelText   $csharpLabel

URL'den PDF'e

var pdf = renderer.RenderUrlAsPdf("https://example.com");
var pdf = renderer.RenderUrlAsPdf("https://example.com");
Dim pdf = renderer.RenderUrlAsPdf("https://example.com")
$vbLabelText   $csharpLabel

PDF Birleştirme

var pdf1 = PdfDocument.FromFile("document1.pdf");
var pdf2 = PdfDocument.FromFile("document2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
var pdf1 = PdfDocument.FromFile("document1.pdf");
var pdf2 = PdfDocument.FromFile("document2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
Dim pdf1 = PdfDocument.FromFile("document1.pdf")
Dim pdf2 = PdfDocument.FromFile("document2.pdf")
Dim merged = PdfDocument.Merge(pdf1, pdf2)
$vbLabelText   $csharpLabel

HTML ile Filigranlar

pdf.ApplyWatermark("<h2 style='color:red;'>CONFIDENTIAL</h2>");
pdf.ApplyWatermark("<h2 style='color:red;'>CONFIDENTIAL</h2>");
pdf.ApplyWatermark("<h2 style='color:red;'>CONFIDENTIAL</h2>")
$vbLabelText   $csharpLabel

Özellik Karsilastirma Ozeti

Özellik PDFSharp IronPDF
Koordinat-bazlı Çizim ✗ (HTML kullanın)
HTML'den PDF'ye
CSS3 Desteği
Flexbox/Grid Düzeni
Metin Damgalama Manuel XGraphics TextStamper
Görüntü Damgalama Manuel XImage ImageStamper
PDF'leri birleştir El ile
URL'den PDF'ye
Modern Web İşleme Chromium Motoru
Otomatik Sayfa Kırılması

Goc Kontrol Listesi

Geçiş Öncesi

  • Kod tabanında tümPDFSharpkullanımını envanterleyin
  • Oluşturulan doküman türlerini (raporlar, faturalar, sertifikalar) belirleyin
  • Herhangi bir özel grafik veya çizim işlemi not edin -IronPDFlisans anahtarı depolama planı yapın (çevre değişkenleri önerilir)
  • ÖnceIronPDFdeneme lisansı ile test edin

Paket Değişiklikleri

  • PdfSharp NuGet paketini kaldırın
  • PdfSharp-wpf NuGet paketini kullanılıyorsa kaldırın
  • PdfSharp.Charting NuGet paketini kullanılıyorsa kaldırın
  • IronPdf NuGet paketini yükleyin: dotnet add package IronPdf

Kod Değişiklikleri

  • Ad alanı ithalatlarını güncelleyin (using PdfSharp.Pdf;using IronPdf;)
  • Damgalama işlevselliği için using IronPdf.Editing; ekleyin
  • Koordinat-bazlı yerleşimleri HTML/CSS'ye dönüştürün
  • XFont'yi CSS yazı tipi özellikleri ile değiştirin
  • XPen'yi CSS renkleri/kenarlıkları ile değiştirin
  • XGraphics.DrawString()'yi HTML metin elemanları ile değiştirin
  • XGraphics.DrawImage()'yi HTML <img> etiketleri ile değiştirin
  • PdfReader.Open()'yi PdfDocument.FromFile() ile değiştirin
  • document.Save()'yi pdf.SaveAs() ile değiştirin
  • Tablo cizim kodunu HTML tablolarina dönüştürun

Geçişten Sonra

  • Oluşturulan PDF'lerin görsel karşılaştırması
  • Çok sayfali belgeleri test edin
  • Yazi tipi gösterimini dogrulayin
  • Gerektiginde yeni yetenekler ekleyin (HTML'den PDF'ye, birlestirme, filigranlar)

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