IRONSOFTWAREHOME
VIDEOLAR

IronPDF Kullanarak PDF Sayfalarını Nasıl Dönüştürürüz C# | IronPDF

Curtis Chau
Curtis Chau
Updated: 19 Temmuz 2026

XFINIUM.PDF, O2 Solutions tarafından geliştirilen ve C# dilinde belgeleri programatik olarak oluşturma ve düzenleme araçları sunan ticari bir çapraz platform PDF kütüphanesidir. İki sürüm sunmaktadır — Generator (PDF oluşturma ve düzenleme) ve Viewer (Generator özellikleri artı render/görüntüleme). Kütüphane, NuGet üzerinde Xfinium.Pdf.NetStandard ve Xfinium.Pdf.NetCore olarak dağıtılmaktadır. Koordinat tabanlı grafik programlama modeli, belge ağırlıklı uygulamalar oluşturan ekipler için sürtünme yaratabilir, çünkü çoğu düzen çalışması piksel koordinatlarını kullanarak manuel olarak eleman konumlandırmayı içerir.

Bu kılavuz, XFINIUM.PDF'ten IronPDF'e geçiş yolunu, bu geçişi değerlendiren .NET geliştiricileri için adım adım talimatlar, kod karşılaştırmaları ve pratik örneklerle sunmaktadır.

Neden XFINIUM.PDF'den Geçiş Yapmalısınız

XFINIUM.PDF, geliştiricilerin sayfadaki çoğu elemanı doğrudan konumlandırmasını gerektiren, koordinat tabanlı grafik programlamaya dayanan bir düşük seviyeli PDF kütüphanesidir. Geliştirme ekiplerinin göç etmeyi düşünmelerinin yaygın nedenleri şunlardır:

Yerel HTML motoru yok: XFINIUM.PDF'in yerleşik bir HTML'den PDF'e dönüştürücüsü yoktur. Satıcı, sınırlı etiket kümesini destekleyen bir örnek XHTML yürütücüsü (p, font, b, i, u, ul, li) sağlar ve CSS ya da JavaScript'i çalıştırmaz, bu da tam HTML'den PDF'e dönüştürme yetenekleri gerektiren projeler için yeterli olmayabilir.

Koordinat Tabanlı API: Çoğu eleman yerleşimi 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 kullanarak yazı tipi nesneleri açıkça oluşturulmalı ve yönetilmelidir.

CSS Stil Desteği Yok: Modern web stil desteği yok. Renkler, yazı tipleri ve düzenler programatik yöntem çağrılarıyla ele alınır.

JavaScript Renderı Yok: Sadece statik içerik. XFINIUM.PDF, dinamik web içeriğini render etmez veya JavaScript çalıştırmaz.

Karmaşık Metin Düzeni: Basit tek bir satırlı metnin ötesindeki şeyler için genellikle manuel metin ölçüm ve sarma hesaplamaları gereklidir.

Küçük topluluk: Ana akım çözümlerine kıyasla daha az topluluk tarafından sağlanan örnek ve öğretici, yeni kullanıcıların başlamasını zorlaştırabilir.

Temel Sorun: Graphics API vs HTML

XFINIUM.PDF, size bir grafik programcısı gibi düşünmenizi zorlar, bir belge tasarımcısı gibi 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

IronPDF, aşina olunan HTML/CSS'yi kullanır:

// IronPDF: Declarative HTML
var html = @"<h1>Invoice</h1><p><b>Customer:</b> " + customer.Name + "</p>";
var pdf = renderer.RenderHtmlAsPdf(html);

##IronPDF vs 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:

ÖzellikXFINIUM.PDFIronPDF
HTML'den PDF'yeYerel motor yok; yalnızca örnek XHTML dönüştürücü (sınırlı etiketler, CSS/JS yok)Modern CSS3 + JavaScript ile Tam HTML'den PDF'ye dönüştürme
Topluluk ve DestekDaha küçük topluluk, daha az çevrim içi kaynak bulunabilirGeniş dokümantasyon ve öğreticilerle büyük topluluk
LisansGeliştirici tabanlı lisanslama ile ticariTicari
Çapraz Platform DesteğiGüçlü çapraz platform yetenekleriAyrıca çapraz platform işlemleri destekler
CSS DesteğiHayırTam CSS3
JavaScriptHayırTam ES2024
Flexbox/GridHayırEvet
Otomatik DüzenHayırEvet
Otomatik Sayfa KesmeHayırEvet
Elle KonumlandırmaGereklidirİsteğe bağlı (CSS konumlandırma)
Öğrenme EğrisiYüksek (koordinat sistemi)Düşük (HTML/CSS)
Kod KapsamıOldukça YüksekDüşük

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

Geçiş bu öncü adımlarla hemen başlayabilir.

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

XFINIUM.PDF'i kaldırın (gerçek NuGet kimlikleri platforma özgüdür):

# Remove XFINIUM.PDF
dotnet remove package Xfinium.Pdf.NetStandard
# or: dotnet remove package Xfinium.Pdf.NetCore
SHELL

IronPDF'i yükleyin:

# Install IronPDF
dotnet add package IronPdf
SHELL

Adım 2: Ad Alanlarını Güncelleyin

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;

Adım 3: Lisansa İzin Verin

Uygulama başlangıcında lisans başlatmayı ekleyin:

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";

Kod Göç Örnekleri

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

En temel işlem, bu .NET PDF kütüphaneleri arasındaki karmaşıklık farkını ortaya koymaktadır.

XFINIUM.PDF Yaklaşımı:

// NuGet: Install-Package Xfinium.Pdf.NetStandard (or .NetCore)
// XFINIUM.PDF has no native HTML-to-PDF engine. Flow content accepts
// styled text, headings, tables and images - not HTML. The vendor sample
// converter parses limited XHTML (p, font, b, i, u, ul, li) into
// PdfFormattedContent; full CSS/JS rendering is not supported.
using Xfinium.Pdf;
using Xfinium.Pdf.FlowDocument;
using Xfinium.Pdf.Graphics;
using System.IO;

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

        flowDocument.AddContent(new PdfFlowHeadingContent(
            "Hello World",
            new PdfStandardFont(PdfStandardFontFace.HelveticaBold, 18)));

        flowDocument.AddContent(new PdfFlowTextContent(
            "This is a PDF generated from text content (not HTML).",
            new PdfStandardFont(PdfStandardFontFace.Helvetica, 12)));

        using (FileStream fs = new FileStream("output.pdf", FileMode.Create))
        {
            flowDocument.Save(fs);
        }
    }
}

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");
    }
}

XFINIUM.PDF, bir PdfFlowDocument oluşturmayı, her stil için PdfStandardFont nesneleri oluşturarak her bir içeriği bir PdfFlowHeadingContent veya PdfFlowTextContent olarak inşa etmeyi, bunları akış belgesine eklemeyi ve bir FileStream ile kaydetmeyi gerektirir. Akış belgesi API'si, yazılı içerik nesnelerini kabul eder, HTML işaretlemeyi değil.IronPDF bunu üç satıra basitleştirir: bir render oluşturun, HTML render edin ve kaydedin.

İleri düzey HTML-to-PDF senaryoları için HTML'den PDF'ye dönüşüm rehberine 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.NetStandard (or .NetCore)
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();
    }
}
C#

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");
    }
}

XFINIUM.PDF, bir çıkış belgesi oluşturmayı, dosya akışlarını açmayı, her belgeyi yüklemeyi, sayfalar arasında elle gezerek birer birer eklemeyi, kaydetmeyi ve ardından akışları kapatmayı gerektirir. IronPDF, tüm karmaşıklığı dahili olarak yöneten tek bir PdfDocument.Merge() yöntemi sağlar.

PDF birleştirme dokümantasyonu'nda ek birleşme seçeneklerini inceleyin.

Metin ve Görüntülerle PDF Oluşturma

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

XFINIUM.PDF Yaklaşımı:

// NuGet: Install-Package Xfinium.Pdf.NetStandard (or .NetCore)
using Xfinium.Pdf;
using Xfinium.Pdf.Graphics;
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(new PdfRgbColor(0, 0, 0));

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

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

        document.Save("output.pdf");
    }
}

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");
    }
}

XFINIUM.PDF, bir belge oluşturmayı, bir sayfa eklemeyi, yazı tipi ve fırça nesneleri oluşturmayı, belirli koordinatlarda metin çizmeyi, bir görüntü akışı açmayı, bir PdfJpegImage oluşturmayı, görüntüyü koordinatlarla boyutlarda çizmeyi, akışı kapatmayı ve kaydetmeyi gerektirir. IronPDF, gömülü base64 görüntüleriyle standart HTML kullanır—web geliştiricilerinin her gün kullandığı aynı yaklaşım.

XFINIUM.PDF API'den IronPDF'e Haritalama Referansı

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

XFINIUM.PDFIronPDF
PdfFixedDocumentChromePdfRenderer
PdfPageOtomatik
page.Graphics.DrawString()HTML metin öğeleri
page.Graphics.DrawImage()<img> etiketi
page.Graphics.DrawLine()CSS border veya <hr>
page.Graphics.DrawRectangle()<div> üzerinde CSS border
PdfStandardFontCSS font-family
PdfRgbColorCSS color
PdfBrushCSS özellikleri
PdfJpegImagebase64 ile <img> etiketi
document.Save(stream)pdf.SaveAs() veya pdf.BinaryData
PdfFlowDocumentRenderHtmlAsPdf()
Satıcı örnek XHTML dönüştürücüRenderHtmlAsPdf()

Yaygın Göç Sorunları ve Çözümleri

Sorun 1: Koordinata Dayalı Düzen

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

Çözüm: HTML/CSS akış düzenini kullanın. Gerekli olduğunda kesin konumlandırma için CSS kullanın:

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

Sorun 2: Font Objesi 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 yönetilir:

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

Sorun 3: Renk İşleme

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

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

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

Sorun 4: Manuel Sayfa Kırılmaları

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

Çözüm: IronPDF, otomatik sayfa kırılmalarını yönetir. Açık kontrol için CSS kullanın:

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

Sorun 5: Görüntü 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 verileriyle HTML <img> etiketlerini kullanın:

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

XFINIUM.PDF Geçiş Kontrol Listesi

Geçiş Öncesi Görevler

Kod tabanınızı XFINIUM.PDF kullanımlarını belirlemek için inceleyin:

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

Koordinata dayalı düzenleri belgeleyin ve tüm X,Y konumlandırma değerlerini not alın. Yazı tipi ve renk nesnelerini tanımlayın (PdfStandardFont, PdfRgbColor, PdfBrush). Birlestirilmiş PDF iş akışlarını PdfFixedDocument.Pages.Add() kullanarak eşleyin.

Kod Güncelleme Görevleri

  1. Xfinium.Pdf NuGet paketini kaldırın 2.IronPDF NuGet paketini yükleyin
  2. Xfinium.Pdf isim alanı içe aktarımlarını IronPdf'ye güncelleyin
  3. DrawString() çağrılarını HTML metin elemanlarına dönüştürün
  4. DrawImage() çağrılarını HTML <img> etiketlerine dönüştürün
  5. DrawRectangle() ve DrawLine()'yi CSS kenarlıklarına dönüştürün
  6. PdfStandardFont'yi CSS font-family ile değiştirin
  7. PdfRgbColor ve PdfBrush'yi CSS renkleri ile değiştirin
  8. Sayfa döngü birleştirmesini PdfDocument.Merge() ile değiştirin
  9. Başlangıçta IronPDF lisans başlatma ekleyin

Geçiş Sonrası Testler

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

  • Görsel çıktıyı karşılaştırın, gösterimin beklentileri karşıladığından emin olun
  • Yeni HTML/CSS yaklaşımı ile metin render'ını doğrulayın
  • Görüntü konumlandırmasını CSS ile kontrol edin
  • Sayfa kırılmalarının beklendiği gibi gerçekleştiğini test edin
  • PDF güvenlik ayarlarının doğru uygulandığını kontrol edin
  • Tüm hedef platformlarda test et

IronPDF'e Geçmenin Temel Faydaları

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. Koordinata dayalı çizim API'lerini öğrenmeye veya font ve fırça nesnelerini yönetmeye gerek yoktur.

Otomatik Düzen: Metin sarma, sayfalandırma ve akış düzeni otomatik olarak gerçekleşir. Eleman konumlarının veya sayfa kırılmalarının manuel hesaplanmasına gerek yoktur.

Modern CSS Desteği: Tam CSS3, Flexbox ve Grid düzenleri dahil. Duyarlı tasarımlar doğrudan PDF'e çevrilir.

Basit 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: IronPDF'nin düzenli güncellemeleri, güncel .NET sürümleri ve C# dil sürümleriyle aynı hızda ilerler.

Kapsamlı Dokümantasyon: XFINIUM.PDF'in daha küçük ekosistemine nazaran kapsamlı dokümantasyon, öğreticiler ve destek kaynakları ile geniş bir topluluk.

Lütfen dikkate alın: Xfinium PDF, ilgili sahibine ait tescilli bir markadır. Bu site, XFINIUM Software ile bağlantılı, onaylı veya sponsorlu değildir. Tüm ürün adları, logolar ve markalar kendi sahiplerine aittir. Karşılaştırmalar, yalnızca bilgilendirme amaçlıdır ve yazı sırasında halka açık bilgilerle alakalı olarak yansıtılmaktadır.
Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.

...
Daha Fazla Oku

İlgili Makaleler

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Ücretsiz Canlı Demo rezervasyonu yapın
Booking Badge

Dünya Çapında Milyonlarca Mühendisin Güvendiği

Iron Software müşteri logoları
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez