IRONSOFTWAREHOME

Iron Suite for .NET

10 .NET kütüphanesi. Tek bir tam belge suiti.

IRONPDF
IRONWORD
IRONXL
IRONPPT
IRONOCR
IRONBARCODE
IRONQR
IRONPRINT
IRONZIP
IRONWEBSCRAPER
KARŞILAŞTIRMA

PuppeteerSharp ve IronPDF Karşılaştırması: Teknik Kılavuz

Curtis Chau
Curtis Chau
Updated: 21 Nisan 2026

.NET geliştiricilerinin HTML'yi PDF'ye dönüştürmesi gerektiğinde, eski oluşturma motorları etrafında oluşturulmuş birkaç kütüphane seçeneği ortaya çıkar. TuesPechkin, wkhtmltopdf kütüphanesini sararak PDF oluşturma yetenekleri sağlayan bu tür bir çözümü temsil eder. Bu teknik karşılaştırma, mimarların ve geliştiricilerin eski sarıcılar ve modern PDF kütüphaneleri arasındaki ödünleşimleri anlamalarına yardımcı olmak içinTuesPechkinve IronPDF'yi inceler.

TuesPechkin'i Anlamak

TuesPechkin, HTML içeriğinden PDF belgeleri üretmek için geliştiricilere yardımcı olmak üzere tasarlanmış wkhtmltopdf kütüphanesinin bir iş parçacığı güvenli sarıcıdır. Kütüphane, ThreadSafeConverter uygulaması sağlayarak wkhtmltopdf'e özgü eşzamanlılık zorluklarını ele almayı amaçlamaktadır.

Ancak,TuesPechkintemel teknolojisinden temel sınırlamalar mevcuttur:

  • Terk Edilmiş Alt Yapı: wkhtmltopdf'yi saran TuesPechkin, 2015'te güncellenmiş olup Aralık 2022'de resmen terk edilmiştir
  • Güncel Olmayan Oluşturma Motoru: Pre-Chrome dönemi Qt WebKit 4.8 motorunu kullanır
  • Karmaşık İş Parçacığı Yönetimi: Geliştiricilerin RemotingToolset ve dağıtım desenleri üzerinden iş parçacığı güvenliğini manuel olarak yapılandırmalarını gerektirir
  • Yük Altında Kararlılık: İş parçacığına güvenli yapılandırma ile bile, kütüphane yüksek eşzamanlılık altında AccessViolationException veya işlem askıda kalmaları gibi sorunlar yaşayabilir
  • Sınırlı CSS Desteği: Flexbox veya CSS Grid gibi modern CSS özelliklerini desteklemez
  • JavaScript Sınırlamaları: ES6+ desteği olmadan güvenilmez JavaScript çalıştırımı

Güvenlik Hususları

TuesPechkin, wkhtmltopdf'nin güvenlik açıklarını devralır. Kritik (9.8/10) olarak derecelendirilen CVE-2022-35583, tümTuesPechkinsürümlerini etkileyen bir Sunucu Tarafı İstek Sahteciliği güvenlik açığını temsil eder. Wkhtmltopdf terkedildiği için, bu güvenlik açığı asla yamalanmayacaktır, bu daTuesPechkinkullanan uygulamaların kalıcı olarak açık olacağı anlamına gelir.

IronPDF'yi Anlamak

IronPDF, modern, ticari bir PDF kütüphanesi sağlayarak kökten farklı bir yaklaşım benimser, yerel iş parçacığı güvenliği ve bir Chromium tabanlı oluşturma motoru sunar. Geçmişte kalan araçları sarmak yerine,IronPDF PDF oluşturmayı birincil odaklanması olarak sunar.

IronPDF'in ana özellikleri şunları içerir:

  • Modern Chromium Motoru: HTML5, CSS3, Flexbox, CSS Grid ve ES6+ JavaScript için desteklidir
  • Yerel İş Parçacığı Güvenliği: Manuel iş parçacığı yönetimi gerekliliği yok—eşzamanlı işlemler otomatik olarak çalışır
  • Aktif Geliştirme: Haftalık güncellemeler ve sürekli iyileştirmeler
  • Kapsamlı PDF Özellikleri: Oluşturmanın ötesinde, düzenleme, dijital imzalar, PDF/A uyumluluğu ve form doldurma içerir
  • Basit Entegrasyon: Yerel ikili dağıtım olmadan basit NuGet kurulumu

Özellik Karşılaştırması

Aşağıdaki tablo, teknik farklılıklarıTuesPechkinve IronPDF arasında vurgular:

ÖzellikTuesPechkinIronPDF
LisansÜcretsiz (MIT Lisansı)Ticari
İş Parçacığı GüvenliğiManuel Yönetim GerektirirYerel Destek
EşzamanlılıkSınırlı, yük altında çökebilirSağlam, yüksek eşzamanlılığı işler
Geliştirme DurumuAktifsiz, en son güncellemeler 2015Aktif, sürekli iyileştirmeler
Kullanım KolaylığıKarmaşık kurulumKullanıcı dostu rehberlerle
DokümantasyonTemelÖrneklerle kapsamlı
Render MotoruQt WebKit 4.8 (güncel değil)Modern Krom
CSS3 DesteğiKısmiDesteklenen
Flexbox/GridDesteklenmiyorDesteklenen
JavaScriptGüvensizTam ES6+
PDF ManipülasyonuMevcut değilDesteklenen
Dijital İmzalarMevcut değilDesteklenen
PDF/A UyumluMevcut değilDesteklenen
Form DoldurmaMevcut değilDesteklenen
FiligranlarMevcut değilDesteklenen
Birleştirme/BölmeMevcut değilDesteklenen
Başlıklar/AltbilgilerSadece temel metinTam HTML desteği
Güvenlik YamalarıAsla (terk edilmiş)Düzenli güncellemeler

API Mimarisi Farklılıkları

Başlatma desenleri ve temel kullanım incelendiğinde,TuesPechkinve IronPDF arasındaki mimari farklılıklar hemen ortaya çıkar.

TuesPechkin Başlatma Karmaşıklığı

TuesPechkin, dönüştürücüler, araç setleri ve dağıtım yapılandırmalarını içeren karmaşık bir başlatma ritüelini gerekli kılar:

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

class Program
{
    static void Main()
    {
        var converter = new StandardConverter(
            new RemotingToolset<PdfToolset>(
                new Win64EmbeddedDeployment(
                    new TempFolderDeployment())));
        
        string html = "<html><body><h1>Hello World</h1></body></html>";
        byte[] pdfBytes = converter.Convert(new HtmlToPdfDocument
        {
            Objects = { new ObjectSettings { HtmlText = html } }
        });
        
        File.WriteAllBytes("output.pdf", pdfBytes);
    }
}

Bu desen, birden çok iç içe geçmiş sınıfın anlaşılmasını gerektirir: StandardConverter, RemotingToolset, Win64EmbeddedDeployment ve TempFolderDeployment. Dağıtım yapılandırmasının ayrıca hedef platform mimarisi (x86/x64) ile eşleşmesi gerekir.

IronPDF Basitleştirilmiş Yaklaşımı

IronPDF, doğrudan bir API ile tüm dağıtım karmaşıklığını ortadan kaldırır:

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

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

ChromePdfRenderer sınıfı, platform spesifik yapılandırma gerektirmeden PDF üretimine anında erişim sağlar. Kapsamlı HTML dönüşüm rehberliği için HTML'den PDF'e öğreticisini inceleyin.

URL'den PDF'ye Dönüştürme

Web sayfalarını PDF belgelere dönüştürmek, iki kütüphane arasındaki API kullanılabilirliği farklarını gösterir.

TuesPechkin Uygulaması

TuesPechkin, URL'yi belirtmek için PageUrl özelliğini ObjectSettings içinde kullanır:

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

class Program
{
    static void Main()
    {
        var converter = new StandardConverter(
            new RemotingToolset<PdfToolset>(
                new Win64EmbeddedDeployment(
                    new TempFolderDeployment())));
        
        byte[] pdfBytes = converter.Convert(new HtmlToPdfDocument
        {
            Objects = {
                new ObjectSettings {
                    PageUrl = "https://www.example.com"
                }
            }
        });
        
        File.WriteAllBytes("webpage.pdf", pdfBytes);
    }
}

Aynı başlatma karmaşıklığı geçerlidir ve eski WebKit motoru, eksik CSS3 ve JavaScript desteği nedeniyle modern web sitelerini yanlış oluşturabilir.

IronPDF Uygulaması

IronPDF, modern Chromium motoru ile URL rendere etmeyi sağlayan özel bir yöntem sunar:

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

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

RenderUrlAsPdf method sayfaları başsız Chromium tarayıcıda yükler, JavaScript'i çalıştırır ve tüm modern CSS stillerini doğru bir şekilde uygular. React, Angular veya Vue.js gibi çerçevelerle oluşturulmuş web uygulamaları için bu, TuesPechkin'in doğru şekilde işleyemediği yerlerde önemlidir.

Özel İşleme Ayarları

Sayfa boyutları, kenar boşlukları ve yönlendirmeyi yapılandırmak, belge ayarlarına yönelik farklı yaklaşımları ortaya çıkarır.

TuesPechkin Yapılandırması

TuesPechkin, iç içe geçmiş yapılandırmayla GlobalSettings ve ObjectSettings sınıflarını kullanır:

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

class Program
{
    static void Main()
    {
        var converter = new StandardConverter(
            new RemotingToolset<PdfToolset>(
                new Win64EmbeddedDeployment(
                    new TempFolderDeployment())));
        
        string html = "<html><body><h1>Custom PDF</h1></body></html>";
        
        var document = new HtmlToPdfDocument
        {
            GlobalSettings = {
                Orientation = GlobalSettings.PdfOrientation.Landscape,
                PaperSize = GlobalSettings.PdfPaperSize.A4,
                Margins = new MarginSettings { Unit = Unit.Millimeters, Top = 10, Bottom = 10 }
            },
            Objects = {
                new ObjectSettings { HtmlText = html }
            }
        };
        
        byte[] pdfBytes = converter.Convert(document);
        File.WriteAllBytes("custom.pdf", pdfBytes);
    }
}

IronPDF Yapılandırması

IronPDF, ayarları sezgisel özellik adlarıyla RenderingOptions özelliğinde merkezileştirir:

// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Engines.Chrome;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        
        renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;
        renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
        renderer.RenderingOptions.MarginTop = 10;
        renderer.RenderingOptions.MarginBottom = 10;
        
        string html = "<html><body><h1>Custom PDF</h1></body></html>";
        var pdf = renderer.RenderHtmlAsPdf(html);
        
        pdf.SaveAs("custom.pdf");
    }
}

RenderingOptions sınıfı, milimetre cinsinden doğrudan belirtilen kenar boşluğu değerleri ile tek bir yapılandırma yaklaşımı sunar.

İş Parçacığı Güvenliği ve Eşzamanlılık

İş parçacığı güvenliği, sunucu tarafı PDF oluşturma için kritik bir husus olup, iki kütüphane köklü olarak farklı yaklaşımlar benimser.

TuesPechkin İş Parçacığı Yönetimi

TuesPechkin, iş parçacığı güvenli çalışmayı ThreadSafeConverter üzerinden tanıtır, ancak uygulamanın belgelenmiş sınırlamaları vardır:

//TuesPechkin- Even with ThreadSafeConverter, crashes under load
var converter = new TuesPechkin.ThreadSafeConverter(
    new TuesPechkin.RemotingToolset<PechkinBindings>());

// Under high load, applications may experience:
// - System.AccessViolationException
// - StackOverflowException
// - Process hangs indefinitely
// - Memory corruption

Altında yatan wkhtmltopdf kütüphanesi yüksek eşzamanlılık senaryoları için tasarlanmamıştır ve sarıcı düzeyinde iş parçacığı yönetimi ile bile, kararlılık sorunları önemli yük altında devam eder.

IronPDF Yerel Eşzamanlılık

IronPDF herhangi bir yapılandırma olmadan yerel iş parçacığı güvenliği sağlar:

//IronPDF- Native thread safety
var renderer = new ChromePdfRenderer();

// Safe for concurrent use across multiple threads
// No AccessViolationException
// No process hangs
// Stable under high load

ChromePdfRenderer içsel olarak eşzamanlılıkla işlenir, geliştiricilerin iş parçacığı senkronizasyonundan ziyade uygulama mantığına odaklanmasına olanak tanır.

Modern CSS ve JavaScript Desteği

TuesPechkin ve IronPDF arasındaki oluşturma motoru farkları, modern web teknolojileriyle çalışırken en belirgin hale gelir.

TuesPechkin Oluşturma Sınırlamaları

TuesPechkin'in Qt WebKit 4.8 motoru modern CSS düzen sistemlerinden önce gelmektedir:

<!-- This modern CSS doesn't work inTuesPechkin-->
<div style="display: flex; justify-content: space-between; gap: 20px;">
    <div style="flex: 1;">Column 1</div>
    <div style="flex: 1;">Column 2</div>
</div>

<div style="display: grid; grid-template-columns: repeat(3, 1fr);">
    <div>Grid Item 1</div>
    <div>Grid Item 2</div>
    <div>Grid Item 3</div>
</div>
HTML

TuesPechkin kullanan uygulamaların çok sütunlu tasarımlara ulaşmak için tablo tabanlı düzenlere veya diğer CSS2.1 çözümlerine dayanması gerekmektedir.

IronPDF Modern Oluşturma

IronPDF'nin Chromium motoru tüm modern CSS ve JavaScript'i destekler:

// Modern CSS works correctly with IronPDF
var html = @"
    <div style='display: flex; justify-content: space-between;'>
        <div>Left</div>
        <div>Right</div>
    </div>";

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
// Renders correctly with full Flexbox support

Bu, geliştiricilerin web görüntüsü ve PDF oluşturma için aynı HTML/CSS'i uygun hale getirmesini sağlar, ayrı şablonlar sürdürmeye gerek kalmaz.

EkiplerinTuesPechkin Alternatiflerini Değerlendirdikleri Durumlar

Birçok senaryo, geliştirme ekiplerinin TuesPechkin'e alternatifleri değerlendirmeye ittiğinde ortaya çıkar:

Güvenlik Gereksinimleri

9.8/10 kritiklik derecesine sahip CVE-2022-35583 ve altta yatan wkhtmltopdf kütüphanesi resmen terk edilmiş olduğundan, güvenlik uyum gereksinimlerine sahip kuruluşlarTuesPechkinkullanmaya devam edemez. SSRF güvenlik açığı, saldırganların iç ağlara erişmesine, kimlik bilgilerini çalmasına ve kötü niyetli HTML içeriği yoluyla veri dışa çıkarmasına olanak tanır.

Modern Web Teknolojisi Benimsemesi

Modern ön uç çerçevelerini (React, Angular, Vue.js) veya CSS düzen sistemlerini (Flexbox, Grid) benimseyen ekipler, TuesPechkin'in içeriğini doğru bir şekilde işleyemediğini bulur. Güncel olmayan WebKit 4.8 motoru, neredeyse on yılı aşkın süredir standart olan teknolojileri desteklemez.

Yük Altında Kararlılık

Sunucu tarafı uygulamalar, eşzamanlı PDF oluşturma yükü altında çökmeler, kitlenmeler veya AccessViolationException hataları yaşadığında, genellikle bu sorunların kaynağını TuesPechkin'in iş parçacığı sınırlamalarına bağlarlar. ThreadSafeConverter yapılandırması ile bile, altta yatan wkhtmltopdf kütüphanesi yüksek eşzamanlı ortamlar için tasarlanmamıştır.

PDF Özellik Gereksinimleri

TuesPechkin yalnızca HTML'den PDF'e dönüşüm sağlamaktadır. PDF manipülasyonu (birleştirme, bölme), dijital imzalar, PDF/A uyumluluğu, form doldurma veya filigranlama gerektiren ekipler, bu yetenekleri doğal olarak sağlayan IronPDF gibi alternatifleri düşünmelidir.

Basitleştirilmiş Dağıtım

RemotingToolset, Win64EmbeddedDeployment ve TempFolderDeployment ileTuesPechkinbaşlatma deseni, dağıtım karmaşıklığı ekler. Hedef ortam için platforma özgü doğal ikili dosyaların doğru şekilde yapılandırılması gerekmektedir. IronPDF, standart bir NuGet kurulumu ile bu karmaşıklığı ortadan kaldırır.

API Eşleme Başvurusu

TuesPechkin'den IronPDF'ye geçişi değerlendiren ekipler, kavramsal eşitlikleri anlamak için bu haritalamayı faydalı bulacaktır:

TuesPechkinIronPDF
StandardConverter / ThreadSafeConverterChromePdfRenderer
HtmlToPdfDocumentMetot parametreleri
GlobalSettings.PaperSizeRenderingOptions.PaperSize
GlobalSettings.OrientationRenderingOptions.PaperOrientation
GlobalSettings.MarginsRenderingOptions.MarginTop/Bottom/Left/Right
ObjectSettings.HtmlTextRenderHtmlAsPdf(html)
ObjectSettings.PageUrlRenderUrlAsPdf(url)
RemotingToolset + DeploymentGerekli değil
[page] placeholder{page} placeholder
[toPage] placeholder{total-pages} placeholder

Ek PDF Yetenekleri

HTML'den PDF'e dönüşümün ötesinde, IronPDF, TuesPechkin'in sunamayacağı belge manipülasyon özellikleri sunar:

.NET Uyumluluğu ve Geleceğe Hazırlık

TuesPechkin'in aktif olmayan geliştirme durumu, daha yeni .NET sürümleri için güncelleme yapılmayacağı anlamına gelir. IronPDF, .NET 8, .NET 9 ve 2026'da beklenen .NET 10 dahil olmak üzere, gelecekteki sürümlerle uyumluluğu sağlamak için düzenli güncellemelerle aktif geliştirme yapar. Kütüphanenin async/await desteği, modern C# geliştirme uygulamalarına uygun şekilde tüm API'si boyunca yaygın olup, C# 13'teki özellikleri ve beklenen C# 14 yeteneklerini içerir.

Sonuç

TuesPechkin ve IronPDF, .NET PDF oluşturmanın farklı dönemlerini temsil eder. TuesPechkin, wkhtmltopdf'yi saran ücretsiz, MIT lisanslı bir sarıcı sunarken, kritik güvenlik açıklarını, güncel olmayan bir oluşturma motorunu, karmaşık iş parçacığı yönetimi gerekliliklerini ve yük altında kararlılık sorunlarını devralır. Altta yatan teknoloji 2022'de terk edilmiştir ve güvenlik yamaları olmayacaktır.

IronPDF, current web teknolojilerini destekleyen bir Chromium tabanlı rendering motoru ile modern, aktif olarak sürdürülen bir alternatif sunar. Doğal iş parçacığı güvenliği, kapsamlı PDF özellikleri ve sadeleştirilmiş bir API tasarımı, wkhtmltopdf sarıcılarındaki sınırlamaları ele alır.

Şu anda TuesPechkin'i kullanan ekiplerde, geçiş kararı genellikle güvenlik gereksinimlerinden, işleme kalitesi ihtiyaçlarından, kararlılık endişelerinden veya temel HTML dönüşümünün ötesindeki PDF özellik gereksinimlerinden kaynaklanır. İki kütüphane arasındaki API eşleme doğrudan olup,IronPDF genel itibariyle, basitleştirilmiş başlatma ve yapılandırma desenleri nedeniyle daha az kod gerektirir.

Ek uygulama kılavuzu için, IronPDF belgelerini ve belirli kullanım durumları ile gelişmiş özellikleri kapsayan eğitimleri keşfedin.

Lütfen dikkate alın: TuesPechkin ve wkhtmltopdf, ilgili sahiplerinin tescilli markalarıdır. Bu siteTuesPechkinveya wkhtmltopdf ile ilişkili, onaylanmış veya desteklenmiş 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.
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
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