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
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)
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
IronPDF'i yükleyin:
# Install IronPDF
dotnet add package IronPdf
# Install IronPDF
dotnet add package IronPdf
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
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"
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
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
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
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
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
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
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>
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,..." />
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" .
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
- Xfinium.Pdf NuGet paketini çıkarın
- IronPdf NuGet paketini kurun
- İsim alanı ithalatlarını
Xfinium.Pdf'denIronPdf'e güncelleyin DrawString()çağrılarını HTML metin öğelerine dönüştürünDrawImage()çağrılarını HTML<img>etiketlerine dönüştürünDrawRectangle()veDrawLine()'yi CSS kenarlıklarına dönüştürünPdfStandardFont'yiCSSfont-familyile değiştirinPdfRgbColorvePdfBrush'yi CSS renkleriyle değiştirin- Sayfa döngüsü birleştirmelerini
PdfDocument.Merge()ile değiştirin - 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ı.

