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

C#'ta XFINIUM.PDF'den IronPDF'ye Nasıl Geçilir

XFINIUM.PDF, C# dilinde programatik olarak PDF oluşturma ve düzenleme için kapsamlı araçlar sunan çapraz platform bir PDF kütüphanesidir. İki sürüm—Üretici ve Görüntüleyici—sunarken, kütüphanenin koordinata dayalı grafik programlamasına bağımlılığı, doküman yoğunluklu uygulamalar geliştiren ekipler için önemli zorluklar yaratır. Her bir öge, piksel koordinatları kullanılarak elle konumlandırılmalıdır, bu da basit belgeleri karmaşık çizim egzersizlerine çevirir.

Bu kılavuz, XFINIUM.PDF'den IronPDF'e eksiksiz bir geçiş yolu sunar, .NET geliştiricileri için adım adım talimatlar, kod karşılaştırmaları ve geçişi değerlendiren profesyonel örnekler içerir.

XFINIUM.PDF'den Neden Geçmeli

XFINIUM.PDF, koordinata dayalı grafik programlamaya dayanan düşük seviyeli bir PDF kütüphanesidir ve geliştiricileri sayfadaki her ögeyi elle konumlandırmaya zorlar. Bu yaklaşım gereksinimler değiştikçe bakım kâbusuna dönüşür. Geliştirme ekiplerinin geçişi değerlendirme nedenleri şunları içerir:

HTML Desteği Yok: XFINIUM.PDF HTML/CSS'yi doğrudan PDF'ye dönüştüremez. Düşük seviyeli çizim ilkel öğeleri kullanarak programatik PDF oluşturmaya odaklanır, bu ise kapsamlı HTML-to-PDF özellikleri gerektiren projeler için yeterli olmayabilir.

Koordinat Bazlı API: Sayfadaki her eleman için DrawString("text", font, brush, 50, 100) gibi piksel koordinatları ile manuel konumlandırma gereklidir.

Manuel Yazı Tipi Yönetimi: PdfStandardFont ve PdfBrush gibi sınıflar kullanılarak yazı tipi nesneleri açıkça oluşturulmalı ve yönetilmelidir.

CSS Stili Yok: Modern web stil desteği yoktur. Renkler, yazı tipleri ve düzenler programatik yöntem çağrıları ile elle yönetilmelidir.

JavaScript İşleme Yok: Yalnızca statik içerik. XFINIUM.PDF dinamik web içeriğini işleyemez veya JavaScript çalıştıramaz.

Karmaşık Metin Düzeni: Basit tek satırlı metin dışındaki her şey için manuel metin ölçümü ve sarma hesaplamaları gereklidir.

Sınırlı Topluluk Kaynakları: Ana çözümlerle karşılaştırıldığında örnekler ve öğreticiler gibi topluluk sağlanan kaynakların eksikliği, bu da yeni kullanıcıların başlamasını zorlaştırabilir.

Temel Problem: Grafik API'si vs HTML

XFINIUM.PDF sizi bir grafik programcısı gibi düşünmeye zorlar, bir doküman tasarımcısı değil:

// XFINIUM.PDF: Position every element manually
page.Graphics.DrawString("Invoice", titleFont, titleBrush, 50, 50);
page.Graphics.DrawString("Customer:", labelFont, brush, 50, 80);
page.Graphics.DrawString(customer.Name, valueFont, brush, 120, 80);
// ... hundreds of lines for a simple document
// XFINIUM.PDF: Position every element manually
page.Graphics.DrawString("Invoice", titleFont, titleBrush, 50, 50);
page.Graphics.DrawString("Customer:", labelFont, brush, 50, 80);
page.Graphics.DrawString(customer.Name, valueFont, brush, 120, 80);
// ... hundreds of lines for a simple document
' XFINIUM.PDF: Position every element manually
page.Graphics.DrawString("Invoice", titleFont, titleBrush, 50, 50)
page.Graphics.DrawString("Customer:", labelFont, brush, 50, 80)
page.Graphics.DrawString(customer.Name, valueFont, brush, 120, 80)
' ... hundreds of lines for a simple document
$vbLabelText   $csharpLabel

IronPDF tanıdık HTML/CSS kullanır:

// IronPDF: Declarative HTML
var html = @"<h1>Invoice</h1><p><b>Customer:</b> " + customer.Name + "</p>";
var pdf = renderer.RenderHtmlAsPdf(html);
// IronPDF: Declarative HTML
var html = @"<h1>Invoice</h1><p><b>Customer:</b> " + customer.Name + "</p>";
var pdf = renderer.RenderHtmlAsPdf(html);
' IronPDF: Declarative HTML
Dim html As String = "<h1>Invoice</h1><p><b>Customer:</b> " & customer.Name & "</p>"
Dim pdf = renderer.RenderHtmlAsPdf(html)
$vbLabelText   $csharpLabel

IronPDF ve XFINIUM.PDF: Özellik Karşılaştırması

Mimari farklılıkları anlamak, teknik karar vericilerin geçiş yatırımını değerlendirmesine yardımcı olur:

Özellik XFINIUM.PDF IronPDF
HTML to PDF Sınırlı HTML desteği, programatik PDF oluşturma üzerine odaklanır Kapsamlı destek ile tam HTML'den PDF'e dönüştürme
Topluluk ve Destek Daha küçük topluluk, daha az çevrimiçi kaynak mevcut Geniş dokümantasyon ve öğreticiler ile geniş topluluk
Lisans Geliştirici tabanlı lisanslama ile ticari Ticari
Çapraz Platform Desteği Güçlü çapraz platform yetenekleri Ayrıca çapraz platform işlemlerini destekler
CSS Desteği Hayır Tam CSS3
JavaScript Hayır Tam ES2024
Flexbox/Grid Hayır Evet
Otomatik Düzen Hayır Evet
Otomatik Sayfa Kırılımları Hayır Evet
Manuel Konumlandırma Gerekli İsteğe Bağlı (CSS konumlandırma)
Öğrenme Eğrisi Yüksek (koordinat sistemi) Düşük (HTML/CSS)
Kod Ayrıntısı Çok Yüksek Low

Hızlı Başlangıç: XFINIUM.PDF'den IronPDF'e Geçiş

Geçiş hemen bu temel adımlar ile başlatılabilir.

Adım 1: NuGet Paketini Değiştir

XFINIUM.PDF'i Kaldırın:

# Remove XFINIUM.PDF
dotnet remove package Xfinium.Pdf
# Remove XFINIUM.PDF
dotnet remove package Xfinium.Pdf
SHELL

IronPDF'i yükleyin:

# Install IronPDF
dotnet add package IronPdf
# Install IronPDF
dotnet add package IronPdf
SHELL

Adım 2: Alan Adlarını Güncelle

XFINIUM.PDF ad alanlarını IronPdf ad alanı ile değiştirin:

// Before (XFINIUM.PDF)
using Xfinium.Pdf;
using Xfinium.Pdf.Graphics;
using Xfinium.Pdf.Content;
using Xfinium.Pdf.FlowDocument;

// After (IronPDF)
using IronPdf;
// Before (XFINIUM.PDF)
using Xfinium.Pdf;
using Xfinium.Pdf.Graphics;
using Xfinium.Pdf.Content;
using Xfinium.Pdf.FlowDocument;

// After (IronPDF)
using IronPdf;
Imports IronPdf
$vbLabelText   $csharpLabel

Adım 3: Lisansı Başlat

Uygulama başlangıcında lisans başlatmasını ekleyin:

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
$vbLabelText   $csharpLabel

Kod Geçiş Örnekleri

HTML'i PDF'ye Dönüştürme

En temel işlem, bu .NET PDF kutuphaneleri arasindaki karmasiklik farkini ortaya koyar.

XFINIUM.PDF Yaklaşımı:

// NuGet: Install-Package Xfinium.Pdf
using Xfinium.Pdf;
using Xfinium.Pdf.Actions;
using Xfinium.Pdf.FlowDocument;
using System.IO;

class Program
{
    static void Main()
    {
        PdfFixedDocument document = new PdfFixedDocument();
        PdfFlowDocument flowDocument = new PdfFlowDocument();

        string html = "<html><body><h1>Hello World</h1><p>This is a PDF from HTML.</p></body></html>";

        PdfFlowContent content = new PdfFlowContent();
        content.AppendHtml(html);
        flowDocument.AddContent(content);

        flowDocument.RenderDocument(document);
        document.Save("output.pdf");
    }
}
// NuGet: Install-Package Xfinium.Pdf
using Xfinium.Pdf;
using Xfinium.Pdf.Actions;
using Xfinium.Pdf.FlowDocument;
using System.IO;

class Program
{
    static void Main()
    {
        PdfFixedDocument document = new PdfFixedDocument();
        PdfFlowDocument flowDocument = new PdfFlowDocument();

        string html = "<html><body><h1>Hello World</h1><p>This is a PDF from HTML.</p></body></html>";

        PdfFlowContent content = new PdfFlowContent();
        content.AppendHtml(html);
        flowDocument.AddContent(content);

        flowDocument.RenderDocument(document);
        document.Save("output.pdf");
    }
}
Imports Xfinium.Pdf
Imports Xfinium.Pdf.Actions
Imports Xfinium.Pdf.FlowDocument
Imports System.IO

Module Program
    Sub Main()
        Dim document As New PdfFixedDocument()
        Dim flowDocument As New PdfFlowDocument()

        Dim html As String = "<html><body><h1>Hello World</h1><p>This is a PDF from HTML.</p></body></html>"

        Dim content As New PdfFlowContent()
        content.AppendHtml(html)
        flowDocument.AddContent(content)

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

IronPDF Yaklaşımı:

// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        string html = "<html><body><h1>Hello World</h1><p>This is a PDF from HTML.</p></body></html>";

        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("output.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        string html = "<html><body><h1>Hello World</h1><p>This is a PDF from HTML.</p></body></html>";

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

Class Program
    Shared Sub Main()
        Dim renderer = New ChromePdfRenderer()
        Dim html As String = "<html><body><h1>Hello World</h1><p>This is a PDF from HTML.</p></body></html>"

        Dim pdf = renderer.RenderHtmlAsPdf(html)
        pdf.SaveAs("output.pdf")
    End Sub
End Class
$vbLabelText   $csharpLabel

XFINIUM.PDF, bir PdfFixedDocument, bir PdfFlowDocument, bir PdfFlowContent nesnesi oluşturmayı, AppendHtml() çağırmayı, içerikleri akış belgesine eklemeyi, sabit belgeye aktarmayı ve son olarak kaydetmeyi gerektirir.IronPDFbunu üç satıra basitleştirir: bir işleyici oluşturun, HTML işleyin ve kaydedin.

Gelişmiş HTML-PDF senaryoları için HTML'den PDF'e dönüştürme kılavuzuna bakın.

Birden Fazla PDF'yi Birleştirme

PDF birleştirme, API karmaşıklığı farklarını açıkça gösterir.

XFINIUM.PDF Yaklaşımı:

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

class Program
{
    static void Main()
    {
        PdfFixedDocument output = new PdfFixedDocument();

        FileStream file1 = File.OpenRead("document1.pdf");
        PdfFixedDocument pdf1 = new PdfFixedDocument(file1);

        FileStream file2 = File.OpenRead("document2.pdf");
        PdfFixedDocument pdf2 = new PdfFixedDocument(file2);

        for (int i = 0; i < pdf1.Pages.Count; i++)
        {
            output.Pages.Add(pdf1.Pages[i]);
        }

        for (int i = 0; i < pdf2.Pages.Count; i++)
        {
            output.Pages.Add(pdf2.Pages[i]);
        }

        output.Save("merged.pdf");

        file1.Close();
        file2.Close();
    }
}
// NuGet: Install-Package Xfinium.Pdf
using Xfinium.Pdf;
using System.IO;

class Program
{
    static void Main()
    {
        PdfFixedDocument output = new PdfFixedDocument();

        FileStream file1 = File.OpenRead("document1.pdf");
        PdfFixedDocument pdf1 = new PdfFixedDocument(file1);

        FileStream file2 = File.OpenRead("document2.pdf");
        PdfFixedDocument pdf2 = new PdfFixedDocument(file2);

        for (int i = 0; i < pdf1.Pages.Count; i++)
        {
            output.Pages.Add(pdf1.Pages[i]);
        }

        for (int i = 0; i < pdf2.Pages.Count; i++)
        {
            output.Pages.Add(pdf2.Pages[i]);
        }

        output.Save("merged.pdf");

        file1.Close();
        file2.Close();
    }
}
Imports Xfinium.Pdf
Imports System.IO

Module Program
    Sub Main()
        Dim output As New PdfFixedDocument()

        Dim file1 As FileStream = File.OpenRead("document1.pdf")
        Dim pdf1 As New PdfFixedDocument(file1)

        Dim file2 As FileStream = File.OpenRead("document2.pdf")
        Dim pdf2 As New PdfFixedDocument(file2)

        For i As Integer = 0 To pdf1.Pages.Count - 1
            output.Pages.Add(pdf1.Pages(i))
        Next

        For i As Integer = 0 To pdf2.Pages.Count - 1
            output.Pages.Add(pdf2.Pages(i))
        Next

        output.Save("merged.pdf")

        file1.Close()
        file2.Close()
    End Sub
End Module
$vbLabelText   $csharpLabel

IronPDF Yaklaşımı:

// NuGet: Install-Package IronPdf
using IronPdf;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        var pdf1 = PdfDocument.FromFile("document1.pdf");
        var pdf2 = PdfDocument.FromFile("document2.pdf");

        var merged = PdfDocument.Merge(pdf1, pdf2);
        merged.SaveAs("merged.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        var pdf1 = PdfDocument.FromFile("document1.pdf");
        var pdf2 = PdfDocument.FromFile("document2.pdf");

        var merged = PdfDocument.Merge(pdf1, pdf2);
        merged.SaveAs("merged.pdf");
    }
}
Imports IronPdf
Imports System.Collections.Generic

Class Program
    Shared Sub Main()
        Dim pdf1 = PdfDocument.FromFile("document1.pdf")
        Dim pdf2 = PdfDocument.FromFile("document2.pdf")

        Dim merged = PdfDocument.Merge(pdf1, pdf2)
        merged.SaveAs("merged.pdf")
    End Sub
End Class
$vbLabelText   $csharpLabel

XFINIUM.PDF, bir çıktı belgesi oluşturarak, dosya akışlarını açarak, her belgeyi yükleyerek, sayfaları tek tek yineleyip ekleyerek, kaydedip, akışları kapatarak gerektirir. IronPDF, tüm karmaşıklığı dahili olarak ele alan tek bir PdfDocument.Merge() yöntemi sağlar.

PDF birleştirme belgelerini ek birleştirme seçenekleri için keşfedin.

Metin ve Resimlerle PDF Oluşturma

Karışık içerikli belgeler, temel paradigma farkını gösterir.

XFINIUM.PDF Yaklaşımı:

// NuGet: Install-Package Xfinium.Pdf
using Xfinium.Pdf;
using Xfinium.Pdf.Graphics;
using Xfinium.Pdf.Core;
using System.IO;

class Program
{
    static void Main()
    {
        PdfFixedDocument document = new PdfFixedDocument();
        PdfPage page = document.Pages.Add();

        PdfStandardFont font = new PdfStandardFont(PdfStandardFontFace.Helvetica, 24);
        PdfBrush brush = new PdfBrush(PdfRgbColor.Black);

        page.Graphics.DrawString("Sample PDF Document", font, brush, 50, 50);

        FileStream imageStream = File.OpenRead("image.jpg");
        PdfJpegImage image = new PdfJpegImage(imageStream);
        page.Graphics.DrawImage(image, 50, 100, 200, 150);
        imageStream.Close();

        document.Save("output.pdf");
    }
}
// NuGet: Install-Package Xfinium.Pdf
using Xfinium.Pdf;
using Xfinium.Pdf.Graphics;
using Xfinium.Pdf.Core;
using System.IO;

class Program
{
    static void Main()
    {
        PdfFixedDocument document = new PdfFixedDocument();
        PdfPage page = document.Pages.Add();

        PdfStandardFont font = new PdfStandardFont(PdfStandardFontFace.Helvetica, 24);
        PdfBrush brush = new PdfBrush(PdfRgbColor.Black);

        page.Graphics.DrawString("Sample PDF Document", font, brush, 50, 50);

        FileStream imageStream = File.OpenRead("image.jpg");
        PdfJpegImage image = new PdfJpegImage(imageStream);
        page.Graphics.DrawImage(image, 50, 100, 200, 150);
        imageStream.Close();

        document.Save("output.pdf");
    }
}
Imports Xfinium.Pdf
Imports Xfinium.Pdf.Graphics
Imports Xfinium.Pdf.Core
Imports System.IO

Class Program
    Shared Sub Main()
        Dim document As New PdfFixedDocument()
        Dim page As PdfPage = document.Pages.Add()

        Dim font As New PdfStandardFont(PdfStandardFontFace.Helvetica, 24)
        Dim brush As New PdfBrush(PdfRgbColor.Black)

        page.Graphics.DrawString("Sample PDF Document", font, brush, 50, 50)

        Dim imageStream As FileStream = File.OpenRead("image.jpg")
        Dim image As New PdfJpegImage(imageStream)
        page.Graphics.DrawImage(image, 50, 100, 200, 150)
        imageStream.Close()

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

IronPDF Yaklaşımı:

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

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();

        string imageBase64 = Convert.ToBase64String(File.ReadAllBytes("image.jpg"));
        string html = $@"
            <html>
                <body>
                    <h1>Sample PDF Document</h1>
                    <img src='data:image/jpeg;base64,{imageBase64}' width='200' height='150' />
                </body>
            </html>";

        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("output.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System.IO;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();

        string imageBase64 = Convert.ToBase64String(File.ReadAllBytes("image.jpg"));
        string html = $@"
            <html>
                <body>
                    <h1>Sample PDF Document</h1>
                    <img src='data:image/jpeg;base64,{imageBase64}' width='200' height='150' />
                </body>
            </html>";

        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("output.pdf");
    }
}
Imports IronPdf
Imports System.IO

Class Program
    Shared Sub Main()
        Dim renderer = New ChromePdfRenderer()

        Dim imageBase64 As String = Convert.ToBase64String(File.ReadAllBytes("image.jpg"))
        Dim html As String = $"
            <html>
                <body>
                    <h1>Sample PDF Document</h1>
                    <img src='data:image/jpeg;base64,{imageBase64}' width='200' height='150' />
                </body>
            </html>"

        Dim pdf = renderer.RenderHtmlAsPdf(html)
        pdf.SaveAs("output.pdf")
    End Sub
End Class
$vbLabelText   $csharpLabel

XFINIUM.PDF, bir belge oluşturmayı, bir sayfa eklemeyi, yazı tipi ve fırça nesneleri oluşturmayı, belirli koordinatlarda metin çizmeyi, bir resim akışı açmayı, PdfJpegImage oluşturmayı, görüntüyü koordinatlarla ve boyutlarla çizmeyi, akışı kapatmayı ve kaydetmeyi gerektirir. IronPDF, geliştiricilerin her gün kullandığı embedded base64 görüntüleri ile standart HTML'i kullanır.

XFINIUM.PDF API'den IronPDF'e Eşleştirme Referansı

Bu eşleme, doğrudan API eşdeğerlerini göstererek geçişi hızlandırır.

XFINIUM.PDF IronPDF
PdfFixedDocument ChromePdfRenderer
PdfPage Otomatik
page.Graphics.DrawString() HTML metin elemanları
page.Graphics.DrawImage() <img> etiketi
page.Graphics.DrawLine() CSS border veya <hr>
page.Graphics.DrawRectangle() <div> üzerinde CSS border
PdfStandardFont CSS font-family
PdfRgbColor CSS color
PdfBrush CSS özellikleri
PdfJpegImage <img> etiketi ile base64
document.Save(stream) pdf.SaveAs() veya pdf.BinaryData
PdfFlowDocument RenderHtmlAsPdf()
PdfFlowContent.AppendHtml() RenderHtmlAsPdf()

Yaygın Taşınma Sorunları ve Çözümleri

Sorun 1: Koordinata Dayalı Düzen

XFINIUM.PDF: Her şeyde manuel konumlandırma ile kesin X,Y koordinatları gerektirir.

Çözüm: HTML/CSS akış düzenini kullanın. İhtiyaç duyulduğunda mutlak konumlandırma için CSS kullanın:

.positioned-element {
    position: absolute;
    top: 100px;
    left: 50px;
}

Sorun 2: Yazı Tipi Nesnesi Yönetimi

XFINIUM.PDF: Her yazı tipi için PdfStandardFont veya PdfUnicodeTrueTypeFont nesneleri oluşturun.

Çözüm: CSS font-family kullanın - fontlar otomatik olarak işlenir:

<style>
    body { font-family: Arial, sans-serif; }
    h1 { font-family: 'Times New Roman', serif; font-size: 24px; }
</style>
<style>
    body { font-family: Arial, sans-serif; }
    h1 { font-family: 'Times New Roman', serif; font-size: 24px; }
</style>
HTML

Sorun 3: Renk Yönetimi

XFINIUM.PDF: Renkler için PdfRgbColor ve PdfBrush nesneleri oluşturun.

Çözüm: Standart CSS renklerini kullanın:

.header { color: navy; background-color: #f5f5f5; }
.warning { color: rgb(255, 0, 0); }
.info { color: rgba(0, 0, 255, 0.8); }

Sorun 4: Manuel Sayfa Sonları

XFINIUM.PDF: Y konumunu takip edin ve içerik taştığında sayfaları manuel olarak oluşturun.

Çözüm:IronPDFotomatik sayfa sonlarını işler. Açık kontrol için, CSS kullanın:

.section { page-break-after: always; }
.keep-together { page-break-inside: avoid; }

Sorun 5: Resim Yükleme

XFINIUM.PDF: Dosya akışlarını açın, PdfJpegImage nesneleri oluşturun, koordinatlarda çizin, akışları kapatın.

Çözüm: Dosya yolları veya base64 verileri ile HTML <img> etiketlerini kullanın:

<img src="image.jpg" width="200" height="150" />

<img src="data:image/jpeg;base64,..." />
<img src="image.jpg" width="200" height="150" />

<img src="data:image/jpeg;base64,..." />
HTML

XFINIUM.PDF Taşınma Kontrol Listesi

Ön Taşınma Görevleri

Tüm XFINIUM.PDF kullanımını belirlemek için kod tabanınızı denetleyin:

grep -r "using Xfinium.Pdf" --include="*.cs" .
grep -r "Graphics.DrawString\|Graphics.DrawImage\|Graphics.DrawLine" --include="*.cs" .
grep -r "using Xfinium.Pdf" --include="*.cs" .
grep -r "Graphics.DrawString\|Graphics.DrawImage\|Graphics.DrawLine" --include="*.cs" .
SHELL

Koordinat tabanlı düzenleri belgeleyin ve tüm X,Y konumlandırma değerlerini not edin. Yazı tipi ve renk nesnelerini belirleyin (PdfStandardFont, PdfRgbColor, PdfBrush). Bileştirilmiş PDF iş akışlarını PdfFixedDocument.Pages.Add() kullanarak eşleyin.

Kod Güncelleme Görevleri

  1. Xfinium.Pdf NuGet paketini çıkarın
  2. IronPdf NuGet paketini kurun
  3. İsim alanı ithalatlarını Xfinium.Pdf'den IronPdf'e güncelleyin
  4. DrawString() çağrılarını HTML metin öğelerine dönüştürün
  5. DrawImage() çağrılarını HTML <img> etiketlerine dönüştürün
  6. DrawRectangle() ve DrawLine()'yi CSS kenarlıklarına dönüştürün
  7. PdfStandardFont'yiCSS font-familyile değiştirin
  8. PdfRgbColor ve PdfBrush'yi CSS renkleriyle değiştirin
  9. Sayfa döngüsü birleştirmelerini PdfDocument.Merge() ile değiştirin
  10. BaşlangıçtaIronPDFlisans başlatma ekleyin

Taşınım Sonrası Test

Geçiş sonrasında aşağıdaki yönleri doğrulayın:

  • Görsel çıktıyı karşılaştırın, görünümün beklentilere uyduğundan emin olun
  • Yeni HTML/CSS yaklaşımı ile metin işleme doğrulayın
  • Resim konumlandırmasını CSS kullanarak kontrol edin
  • Sayfa sonlarının beklendiği gibi gerçekleştiğini test edin
  • PDF güvenlik ayarlarının doğru uygulandığını doğrulayın
  • Tüm hedef platformlarda test edin

IronPDF'e Geçişin Temel Avantajları

XFINIUM.PDF'den IronPDF'e geçiş, birkaç önemli avantaj sağlar:

HTML Tabanlı İçerik Oluşturma: Web geliştiricileri, mevcut HTML ve CSS becerilerini kullanabilir. Koordinat tabanlı çizim API'lerini öğrenmeye veya font ve fırça nesnelerini yönetmeye gerek yok.

Otomatik Düzen: Metin sarma, sayfalandırma ve akış düzeni otomatik olarak gerçekleşir. Öğe konumlarını veya sayfa sonlarını manuel olarak hesaplamaya gerek yok.

Modern CSS Desteği: Flexbox ve Grid düzenleri dahil tam CSS3 desteği. Duyarlı tasarımlar doğrudan PDF'e dönüştürülür.

Basitleştirilmiş PDF İşlemleri: PdfDocument.Merge() gibi yaygın işlemler için tek yöntem çağrıları, karmaşık sayfa yineleme döngülerinin yerini alır.

Aktif Geliştirme: 2026 boyunca .NET 10 ve C# 14 benimsenmesi arttıkça, IronPDF'in düzenli güncellemeleri mevcut ve gelecekteki .NET sürümleriyle uyumluluğu sağlar.

Kapsamlı Dokümantasyon: XFINIUM.PDF'in daha küçük ekosistemine kıyasla geniş bir topluluğa sahip kapsamlı dokümantasyon, öğreticiler ve destek kaynakları.

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