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ı:
-
Sınırlı Özellik Seti: PeachPDF, dijital imzalar,PDF/Auyumluluğu ve sofistike metin çıkarma gibi gelişmiş özelliklere sahip değildir.
-
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.
-
Belirsiz Gelecek: Yerleşik geçmiş kaydı olmayan yeni kütüphaneler, benimseme riski taşır.
-
Temel HTML Desteği: Sınırlı CSS veJavaScriptişleme yetenekleri.
- 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
- .NET Ortamı: .NET Framework 4.6.2+ veya .NET Core 3.1+ / .NET 5/6/7/8/9+
- NuGet Erişimi: NuGet paketlerini yükleme yeteneği
- 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
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"
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" .
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
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
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
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
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
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
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
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()
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
Ü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>"
}
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
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")
Ş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")
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")
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")
Ö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)
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
PeachPDFNuGet paketini kaldırındotnet add package IronPdf:IronPdfNuGet 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'iChromePdfRendererile değiştirinconverter.Convert(html)'irenderer.RenderHtmlAsPdf(html)ile değiştirinconverter.ConvertUrl(url)'urenderer.RenderUrlAsPdf(url)ile değiştirinFile.WriteAllBytes(path, pdf)'updf.SaveAs(path)ile değiştirinFooternesneleriyleHtmlFooternesnelerini 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

