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

PeachPDF'den IronPDF'e C# ile Nasıl Geçilir

PeachPDF'ten IronPDF'e geçiş yapmak, kapsamlı özellikler, aktif geliştirme ve profesyonel destek ile kurumsal düzeyde PDF oluşturma erişimi sağlar. Bu kılavuz, temel HTML'den PDF'ye iş akışınızı modern Chromium renderları, gelişmiş güvenlik seçenekleri ve geniş manipülasyon yetenekleri ile tam özellikli bir PDF çözümüne dönüştüren eksiksiz bir adım adım geçiş yolu sağlar.

Neden PeachPDF'ten IronPDF'e Geçiş Yapmalısınız

PeachPDF'i Anlamak

PeachPDF, HTML'yi PDF'ye dönüştürmek isteyen geliştiriciler için tasarlanmış, .NET ekosistemine nispeten yeni bir katılımcıdır. Bir kütüphane olarak,PeachPDFdış süreçlere dayanmadan, saf bir .NET uygulaması sunarak kendini ayrıştırıyor ve böylece .NET'in desteklendiği platformlar arasında sorunsuz bir şekilde entegre edileceğini sağlıyor. Bu özellik, PeachPDF'i hafif, yönetilen bir kütüphane çözümü arayan projeler için çekici bir seçim haline getirir.

Potansiyeline rağmen,PeachPDFhala gelişme aşamasında olup hem heyecan verici olanakları hem de belirgin sınırlamaları vurguluyor. PeachPDF, yaygın bir .NET çekirdeği sayesinde çok çeşitli ortamlarda doğrudan dağıtım vaat ettiği için çekici kalıyor. Ancak bu aynı zamanda sınırlı benimsemeye dönüşüyor; daha küçük bir kullanıcı tabanı ve topluluk destekli destek.

PeachPDF'in Sınırlamaları

PeachPDF, olgunluk, özellikler ve yerleşik çözümlerin desteğinden yoksun olan nispeten yeni ve daha az bilinen bir PDF kütüphanesidir. Geçiş sebeplerinin anahtarları:

  1. Sınırlı Özellik Seti: PeachPDF, dijital imzalar,PDF/Auyumluluğu ve sofistike metin çıkarma gibi gelişmiş özelliklere sahip değildir.

  2. Küçük Topluluk: Sınırlı dökümantasyon, örnekler ve topluluk desteği. Daha küçük bir kullanıcı tabanı ile topluluk desteği sınırlı olabilir, bu da yardım almak veya kapsamlı dökümantasyon bulmayı zorlaştırır.

  3. Belirsiz Gelecek: Yerleşik geçmiş kaydı olmayan yeni kütüphaneler, benimseme riski taşır.

  4. Temel HTML Desteği: Sınırlı CSS veJavaScriptişleme yetenekleri.

  5. Kurumsal Destek Yok: Profesyonel destek veya SLA seçenekleri yok.

PeachPDF vsIronPDFKarşılaştırması

Özellik/Nitelik PeachPDF IronPDF
Uygulama Saf .NET Geniş uyumlulukla yönetilir
Lisans Açık Kaynak (BSD-3-Clause) Ticari
Kullanıcı Tabanı Küçük Büyük (40M+ indirme)
Destek Topluluk odaklı Özel destek ile profesyonel
HTML İşleme Temel Tam Chromium
CSS Desteği Sınırlı Tam CSS3
JavaScript Temel Tam ES2024
Dijital İmzalar Hayır Evet
PDF/A Uyumluluğu Hayır Evet
Dokümantasyon Sınırlı Geniş kapsamlı
Geliştirme Durumu Geliştirilmekte Olgun, kararlı sürüm

IronPDF, yalnızca HTML'den PDF'ye dönüşümleri değil, aynı zamanda OCR, filigran ekleme ve diğer gelişmiş özellikleri destekleyerek daha geniş bir işlevsellikle öne çıkar. Profesyonel destek yapısı, geliştiricilerin karşılaştığı sorunlara hızlı çözümler sunarak belirgin bir avantaj sağlar.

.NET 10 ve C# 14'ü 2025 ve 2026 boyunca benimsemeyi planlayan ekipler için IronPDF, modern .NET çerçeveleriyle uzun vadeli kararlılık ve uyumluluk sağlayan kapsamlı özellikler ve aktif bakı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 PeachPDF
dotnet remove package PeachPDF

# Install IronPDF
dotnet add package IronPdf
# Remove PeachPDF
dotnet remove package PeachPDF

# Install IronPDF
dotnet add package IronPdf
SHELL

Lisans Yapılandırması

// Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
// Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
' Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
$vbLabelText   $csharpLabel

PeachPDFKullanımını Belirleme

# AuditPeachPDFusage in codebase
grep -r "using PeachPDF" --include="*.cs" .
grep -r "HtmlToPdfConverter\|Convert\|ConvertUrl" --include="*.cs" .
# AuditPeachPDFusage in codebase
grep -r "using PeachPDF" --include="*.cs" .
grep -r "HtmlToPdfConverter\|Convert\|ConvertUrl" --include="*.cs" .
SHELL

API Referansının Tamamı

Namespace Değişiklikleri

// Before: PeachPDF
using PeachPDF;
using System.IO;

// After: IronPDF
using IronPdf;
using IronPdf.Rendering;
// Before: PeachPDF
using PeachPDF;
using System.IO;

// After: IronPDF
using IronPdf;
using IronPdf.Rendering;
Imports IronPdf
Imports IronPdf.Rendering
Imports System.IO
$vbLabelText   $csharpLabel

Temel API Eşleştirmeleri

PeachPDF IronPDF
new HtmlToPdfConverter() new ChromePdfRenderer()
converter.Convert(html) renderer.RenderHtmlAsPdf(html)
converter.ConvertUrl(url) renderer.RenderUrlAsPdf(url)
converter.Header renderer.RenderingOptions.HtmlHeader
converter.Footer renderer.RenderingOptions.HtmlFooter
File.WriteAllBytes(path, pdf) pdf.SaveAs(path)
pdf (byte[]) pdf.BinaryData
PdfReader.LoadFromFile(path) PdfDocument.FromFile(path)
document.MergeWith(other) PdfDocument.Merge(pdfs)

Kod Geçiş Örnekleri

Örnek 1: HTML Dizesini PDF'ye Dönüştürme

Önce (PeachPDF):

using PeachPDF;
using System.IO;

class Program
{
    static void Main()
    {
        var converter = new HtmlToPdfConverter();
        var html = "<html><body><h1>Hello World</h1></body></html>";
        var pdf = converter.Convert(html);
        File.WriteAllBytes("output.pdf", pdf);
    }
}
using PeachPDF;
using System.IO;

class Program
{
    static void Main()
    {
        var converter = new HtmlToPdfConverter();
        var html = "<html><body><h1>Hello World</h1></body></html>";
        var pdf = converter.Convert(html);
        File.WriteAllBytes("output.pdf", pdf);
    }
}
Imports PeachPDF
Imports System.IO

Class Program
    Shared Sub Main()
        Dim converter = New HtmlToPdfConverter()
        Dim html = "<html><body><h1>Hello World</h1></body></html>"
        Dim pdf = converter.Convert(html)
        File.WriteAllBytes("output.pdf", pdf)
    End Sub
End Class
$vbLabelText   $csharpLabel

Sonra (IronPDF):

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

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var html = "<html><body><h1>Hello World</h1></body></html>";
        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("output.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var html = "<html><body><h1>Hello World</h1></body></html>";
        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("output.pdf");
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        Dim renderer = New ChromePdfRenderer()
        Dim html = "<html><body><h1>Hello World</h1></body></html>"
        Dim pdf = renderer.RenderHtmlAsPdf(html)
        pdf.SaveAs("output.pdf")
    End Sub
End Class
$vbLabelText   $csharpLabel

Bu örnek, iki kütüphane arasındaki temel farkı göstermektedir. PeachPDF, Convert() metodunu kullanan HtmlToPdfConverter ile bir byte[] döndüren, kaydetmek için File.WriteAllBytes() gerektiren bir yöntem kullanır. IronPDF, SaveAs() metoduna sahip bir PdfDocument nesnesi döndüren RenderHtmlAsPdf() ile ChromePdfRenderer kullanır.

IronPDF'nin yaklaşımının temel avantajları: PdfDocument nesnesi, kaydetmeden önce daha fazla işlenebilir (filigran ekleme, birleştirme, güvenlik ayarları), PeachPDF'nin byte dizisi ise nihai çıktıdır. IronPDF'in yaklaşımı, daha temiz bir sözdizimi ve modern .NET uygulamalarıyla daha iyi entegrasyon sunar. Kapsamlı örnekler için HTML'den PDF'e döndürme belgesine bakın.

Örnek 2: URL'den PDF'e Dönüştürme

Önce (PeachPDF):

using PeachPDF;
using System.IO;

class Program
{
    static void Main()
    {
        var converter = new HtmlToPdfConverter();
        var url = "https://www.example.com";
        var pdf = converter.ConvertUrl(url);
        File.WriteAllBytes("webpage.pdf", pdf);
    }
}
using PeachPDF;
using System.IO;

class Program
{
    static void Main()
    {
        var converter = new HtmlToPdfConverter();
        var url = "https://www.example.com";
        var pdf = converter.ConvertUrl(url);
        File.WriteAllBytes("webpage.pdf", pdf);
    }
}
Imports PeachPDF
Imports System.IO

Class Program
    Shared Sub Main()
        Dim converter = New HtmlToPdfConverter()
        Dim url = "https://www.example.com"
        Dim pdf = converter.ConvertUrl(url)
        File.WriteAllBytes("webpage.pdf", pdf)
    End Sub
End Class
$vbLabelText   $csharpLabel

Sonra (IronPDF):

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

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var url = "https://www.example.com";
        var pdf = renderer.RenderUrlAsPdf(url);
        pdf.SaveAs("webpage.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var url = "https://www.example.com";
        var pdf = renderer.RenderUrlAsPdf(url);
        pdf.SaveAs("webpage.pdf");
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        Dim renderer = New ChromePdfRenderer()
        Dim url = "https://www.example.com"
        Dim pdf = renderer.RenderUrlAsPdf(url)
        pdf.SaveAs("webpage.pdf")
    End Sub
End Class
$vbLabelText   $csharpLabel

PeachPDF, ConvertUrl() kullanırkenIronPDFRenderUrlAsPdf() kullanır.IronPDFeğitimlerinin isimlendirmesi daha açıklayıcıdır—bir URL'nin PDF olarak işlendiğini açıkça belirtir. Her iki kütüphane de URL'den PDF'ye dönüşüm yapar, ancak IronPDF'in tam Chromium motoru, karmaşık CSS veJavaScriptiçeren modern web sayfalarının üstün şekilde işlenmesini sağlar. Detayli bilgi icin eğitimlerimize bakin.

Örnek 3: Üstbilgi ve Altbilgi Eklemek

Önce (PeachPDF):

using PeachPDF;
using System.IO;

class Program
{
    static void Main()
    {
        var converter = new HtmlToPdfConverter();
        converter.Header = "<div style='text-align:center'>My Header</div>";
        converter.Footer = "<div style='text-align:center'>Page {page}</div>";
        var html = "<html><body><h1>Document Content</h1></body></html>";
        var pdf = converter.Convert(html);
        File.WriteAllBytes("document.pdf", pdf);
    }
}
using PeachPDF;
using System.IO;

class Program
{
    static void Main()
    {
        var converter = new HtmlToPdfConverter();
        converter.Header = "<div style='text-align:center'>My Header</div>";
        converter.Footer = "<div style='text-align:center'>Page {page}</div>";
        var html = "<html><body><h1>Document Content</h1></body></html>";
        var pdf = converter.Convert(html);
        File.WriteAllBytes("document.pdf", pdf);
    }
}
Imports PeachPDF
Imports System.IO

Class Program
    Shared Sub Main()
        Dim converter = New HtmlToPdfConverter()
        converter.Header = "<div style='text-align:center'>My Header</div>"
        converter.Footer = "<div style='text-align:center'>Page {page}</div>"
        Dim html = "<html><body><h1>Document Content</h1></body></html>"
        Dim pdf = converter.Convert(html)
        File.WriteAllBytes("document.pdf", pdf)
    End Sub
End Class
$vbLabelText   $csharpLabel

Sonra (IronPDF):

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

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter() { HtmlFragment = "<div style='text-align:center'>My Header</div>" };
        renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter() { HtmlFragment = "<div style='text-align:center'>Page {page}</div>" };
        var html = "<html><body><h1>Document Content</h1></body></html>";
        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("document.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter() { HtmlFragment = "<div style='text-align:center'>My Header</div>" };
        renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter() { HtmlFragment = "<div style='text-align:center'>Page {page}</div>" };
        var html = "<html><body><h1>Document Content</h1></body></html>";
        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("document.pdf");
    }
}
Imports IronPdf
Imports IronPdf.Rendering
Imports System

Module Program
    Sub Main()
        Dim renderer As New ChromePdfRenderer()
        renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {.HtmlFragment = "<div style='text-align:center'>My Header</div>"}
        renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter() With {.HtmlFragment = "<div style='text-align:center'>Page {page}</div>"}
        Dim html As String = "<html><body><h1>Document Content</h1></body></html>"
        Dim pdf = renderer.RenderHtmlAsPdf(html)
        pdf.SaveAs("document.pdf")
    End Sub
End Module
$vbLabelText   $csharpLabel

Bu örnek, temel bir mimari farkı gösterir. PeachPDF, başlıklar ve altbilgiler için basit dize özellikleri (converter.Header ve converter.Footer) kullanır. IronPDF, RenderingOptions.HtmlHeader ve RenderingOptions.HtmlFooter'ya atanan HtmlHeaderFooter nesnelerini kullanır.

IronPDF yaklaşımı daha fazla esneklik sunar—HtmlHeaderFooter nesneleri, üstbilgi/altbilgi boyutunu kontrol etmek için MaxHeight gibi ek özellikler içerebilir. Her iki kütüphanenin de sayfa numarası yer tutucusu olarak {page} kullandığını unutmayın.IronPDFayrıca toplam sayfa sayısı için {total-pages} destekler.

IronPDF için gereken ek ad alanını unutmayın: using IronPdf.Rendering;, HtmlHeaderFooter sınıfı için gereklidir.


Kritik Geçiş Notları

Dönüştürücü Sınıfı Değişikliği

PeachPDF HtmlToPdfConverter kullanır;IronPDFChromePdfRenderer kullanır:

// PeachPDF
var converter = new HtmlToPdfConverter();

// IronPDF
var renderer = new ChromePdfRenderer();
// PeachPDF
var converter = new HtmlToPdfConverter();

// IronPDF
var renderer = new ChromePdfRenderer();
' PeachPDF
Dim converter As New HtmlToPdfConverter()

' IronPDF
Dim renderer As New ChromePdfRenderer()
$vbLabelText   $csharpLabel

Dondurul Typi Değişikligi

PeachPDF byte[] döndürür;IronPDFPdfDocument döndürür:

// PeachPDF: Returns byte array
byte[] pdf = converter.Convert(html);
File.WriteAllBytes("output.pdf", pdf);

// IronPDF: Returns PdfDocument object
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
// Or get bytes: byte[] bytes = pdf.BinaryData;
// PeachPDF: Returns byte array
byte[] pdf = converter.Convert(html);
File.WriteAllBytes("output.pdf", pdf);

// IronPDF: Returns PdfDocument object
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
// Or get bytes: byte[] bytes = pdf.BinaryData;
' PeachPDF: Returns byte array
Dim pdf As Byte() = converter.Convert(html)
File.WriteAllBytes("output.pdf", pdf)

' IronPDF: Returns PdfDocument object
Dim pdfDoc As PdfDocument = renderer.RenderHtmlAsPdf(html)
pdfDoc.SaveAs("output.pdf")
' Or get bytes: Dim bytes As Byte() = pdfDoc.BinaryData
$vbLabelText   $csharpLabel

Üstbilgi/Altbilgi Özellik Değişikliği

// PeachPDF: Simple string properties
converter.Header = "<div>Header</div>";
converter.Footer = "<div>Footer</div>";

// IronPDF: HtmlHeaderFooter objects
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter() 
{ 
    HtmlFragment = "<div>Header</div>" 
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter() 
{ 
    HtmlFragment = "<div>Footer</div>" 
};
// PeachPDF: Simple string properties
converter.Header = "<div>Header</div>";
converter.Footer = "<div>Footer</div>";

// IronPDF: HtmlHeaderFooter objects
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter() 
{ 
    HtmlFragment = "<div>Header</div>" 
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter() 
{ 
    HtmlFragment = "<div>Footer</div>" 
};
' PeachPDF: Simple string properties
converter.Header = "<div>Header</div>"
converter.Footer = "<div>Footer</div>"

' IronPDF: HtmlHeaderFooter objects
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {
    .HtmlFragment = "<div>Header</div>"
}
renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter() With {
    .HtmlFragment = "<div>Footer</div>"
}
$vbLabelText   $csharpLabel

Metod Adı Değişiklikleri

PeachPDF IronPDF
Convert(html) RenderHtmlAsPdf(html)
ConvertUrl(url) RenderUrlAsPdf(url)
File.WriteAllBytes() SaveAs()

Geçiş Sonrası Yeni Özellikler

IronPDF'e geçtikten sonra, PeachPDF'in sağlayamayacağı yetenekler kazanırsınız:

PDF Birleştirme

var pdf1 = PdfDocument.FromFile("doc1.pdf");
var pdf2 = PdfDocument.FromFile("doc2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");
var pdf1 = PdfDocument.FromFile("doc1.pdf");
var pdf2 = PdfDocument.FromFile("doc2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");
CONVERTER NOT RUNNING
$vbLabelText   $csharpLabel

HTML ile Filigranlar

var pdf = PdfDocument.FromFile("document.pdf");
pdf.ApplyWatermark("<div style='color: red; font-size: 48pt;'>DRAFT</div>");
pdf.SaveAs("watermarked.pdf");
var pdf = PdfDocument.FromFile("document.pdf");
pdf.ApplyWatermark("<div style='color: red; font-size: 48pt;'>DRAFT</div>");
pdf.SaveAs("watermarked.pdf");
Dim pdf = PdfDocument.FromFile("document.pdf")
pdf.ApplyWatermark("<div style='color: red; font-size: 48pt;'>DRAFT</div>")
pdf.SaveAs("watermarked.pdf")
$vbLabelText   $csharpLabel

Şifre Koruması

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Confidential</h1>");

pdf.SecuritySettings.OwnerPassword = "owner123";
pdf.SecuritySettings.UserPassword = "user123";
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.NoPrint;

pdf.SaveAs("protected.pdf");
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Confidential</h1>");

pdf.SecuritySettings.OwnerPassword = "owner123";
pdf.SecuritySettings.UserPassword = "user123";
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.NoPrint;

pdf.SaveAs("protected.pdf");
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Confidential</h1>")

pdf.SecuritySettings.OwnerPassword = "owner123"
pdf.SecuritySettings.UserPassword = "user123"
pdf.SecuritySettings.AllowUserCopyPasteContent = False
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.NoPrint

pdf.SaveAs("protected.pdf")
$vbLabelText   $csharpLabel

Dijital İmzalar

using IronPdf.Signing;

var pdf = PdfDocument.FromFile("document.pdf");
var signature = new PdfSignature("certificate.pfx", "password")
{
    SigningReason = "Document Approval",
    SigningLocation = "New York"
};
pdf.Sign(signature);
pdf.SaveAs("signed.pdf");
using IronPdf.Signing;

var pdf = PdfDocument.FromFile("document.pdf");
var signature = new PdfSignature("certificate.pfx", "password")
{
    SigningReason = "Document Approval",
    SigningLocation = "New York"
};
pdf.Sign(signature);
pdf.SaveAs("signed.pdf");
Imports IronPdf.Signing

Dim pdf = PdfDocument.FromFile("document.pdf")
Dim signature = New PdfSignature("certificate.pfx", "password") With {
    .SigningReason = "Document Approval",
    .SigningLocation = "New York"
}
pdf.Sign(signature)
pdf.SaveAs("signed.pdf")
$vbLabelText   $csharpLabel

Asenkron İşlemler

var renderer = new ChromePdfRenderer();
var pdf = await renderer.RenderHtmlAsPdfAsync("<h1>Async PDF</h1>");
pdf.SaveAs("async_output.pdf");
var renderer = new ChromePdfRenderer();
var pdf = await renderer.RenderHtmlAsPdfAsync("<h1>Async PDF</h1>");
pdf.SaveAs("async_output.pdf");
Dim renderer As New ChromePdfRenderer()
Dim pdf = Await renderer.RenderHtmlAsPdfAsync("<h1>Async PDF</h1>")
pdf.SaveAs("async_output.pdf")
$vbLabelText   $csharpLabel

Özellik Karsilastirma Ozeti

Özellik PeachPDF IronPDF
HTML'den PDF'ye Temel Tam Chromium
URL'den PDF'ye Sınırlı Evet
CSS Grid/Flexbox Hayır Evet
JavaScript Sınırlı Tam ES2024
PDF'leri birleştir Evet Evet
PDF'leri Böl Sınırlı Evet
Filigranlar Sınırlı Tam HTML
Üstbilgi/Altbilgi Temel Tam HTML
Dijital İmzalar Hayır Evet
PDF/A Hayır Evet
Form Doldurma Sınırlı Evet
Metin Çıkarma Temel Evet
Görsel Çıkartma Hayır Evet
Async Destegi Sınırlı Evet
Çapraz Platform Bilinmiyor Evet

Yaygin Goc Sorunlari

Sorun 1: Farklı API Deseni

Sorun: PeachPDF, byte dizisi çıktısıyla bir çevirici deseni kullanır; IronPDF, PdfDocument çıktısıyla bir işleyici deseni kullanır.

Çözüm:

//PeachPDFpattern
var converter = new HtmlToPdfConverter();
var pdf = converter.Convert(html);
File.WriteAllBytes(path, pdf);

//IronPDFpattern
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs(path);
//PeachPDFpattern
var converter = new HtmlToPdfConverter();
var pdf = converter.Convert(html);
File.WriteAllBytes(path, pdf);

//IronPDFpattern
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs(path);
' PeachPDFpattern
Dim converter As New HtmlToPdfConverter()
Dim pdf As Byte() = converter.Convert(html)
File.WriteAllBytes(path, pdf)

' IronPDFpattern
Dim renderer As New ChromePdfRenderer()
Dim pdfDocument As PdfDocument = renderer.RenderHtmlAsPdf(html)
pdfDocument.SaveAs(path)
$vbLabelText   $csharpLabel

Sorun 2: Kaydetme Yöntemi Farkı

Problem:PeachPDFFile.WriteAllBytes() gerektirir;IronPDFyerleşik SaveAs()'a sahiptir.

Çözüm: File.WriteAllBytes("path", pdf)'i pdf.SaveAs("path") ile değiştirin.

Sorun 3: Üstbilgi/Altbilgi Nesneleri

Sorun: PeachPDF, dize özellikleri kullanır; IronPDF, nesne özellikleri kullanır.

Çözüm: HTML dizelerini HtmlFragment özelliği ile HtmlHeaderFooter nesnelerinde sarmalayın.


Goc Kontrol Listesi

Geçiş Öncesi

  • Kod tabanındaPeachPDFkullanımı denetleyin
  • Özel yapılandırmaları belgeleyin
  • Tüm üstbilgi/altbilgi uygulamalarını not edin
  • ironpdf.com adresindenIronPDFlisans anahtarını alın
  • ÖnceIronPDFdeneme lisansı ile test edin

Paket Değişiklikleri

  • PeachPDF NuGet paketini kaldırın
  • dotnet add package IronPdf: IronPdf NuGet paketini yükleyin

Kod Değişiklikleri

  • Ad alanı eklemelerini güncelleyin (using PeachPDF;using IronPdf;)
  • Başlık/altbilgi fonksiyonu için using IronPdf.Rendering; ekleyin
  • HtmlToPdfConverter'i ChromePdfRenderer ile değiştirin
  • converter.Convert(html)'i renderer.RenderHtmlAsPdf(html) ile değiştirin
  • converter.ConvertUrl(url)'u renderer.RenderUrlAsPdf(url) ile değiştirin
  • File.WriteAllBytes(path, pdf)'u pdf.SaveAs(path) ile değiştirin
  • Footer nesneleriyle HtmlFooter nesnelerini değiştirin
  • Uygulama başlatıldığında lisans başlatma ekleyin

Geçişten Sonra

  • HTML işleme kalitesini test edin
  • PDF çıktısının beklentilerle eşleştiğini doğrulayın
  • Sayfa numaraları ile üstbilgi/altbilgi işlemeyi test edin
  • Gerektiği gibi yeni yetenekler (güvenlik, filigranlar, birleştirme) ekleyin

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