IRONSOFTWAREHOME
PDF ARAÇLARI

IronPDF vs EvoPdf: 2025'te Hangi .NET PDF Kütüphanesi Daha İyi Değer Sunar?

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Jacob Mellor
Updated: 28 Haziran 2026

PDF işlevselliği gerektiren modern .NET uygulamaları geliştirirken, doğru kütüphaneyi seçmek geliştirme hızınızı, uygulama performansınızı ve uzun vadeli bakım maliyetlerinizi önemli ölçüde etkileyebilir. .NET ve EvoPdf, .NET ekosisteminde PDF oluşturma ve düzenleme için iki farklı yaklaşımı temsil eder, her biri farklı geliştirme senaryolarına hitap eden benzersiz güçlü yönlere sahiptir.

Bu kapsamlı karşılaştırma, her iki kütüphaneyi kritik boyutlar üzerinde inceleyerek işleme doğruluğu, API tasarımı, performans ölçümleri, platform uyumluluğu ve toplam sahip olma maliyeti dahil olmak üzere çeşitli boyutlarda değerlendirmektedir. İster yüksek hacimli bir belge işleme sistemi kuruyor olun, ister uyum için dijital imzalar uyguluyor olun, ya da sadece HTML raporlarını PDF'ye dönüştürüyor olun, bu farkları anlamak, teknik gereksinimlerinize ve bütçe kısıtlamalarınıza uygun bilinçli bir karar vermenizi sağlar.

IronPDF ve EvoPdf İlk Bakışta Nasıl Karşılaştırılır?

Detaylı karşılaştırmalara dalmadan önce, işte .NET geliştiricileri için en çok önemli olan ana kategorilerde bu kütüphanelerin nasıl sıralandığına dair kapsamlı bir bakış:

Ürün Karşılaştırması Genel Bakış
.NET için PDF Oluşturma Konusunda .NET ve EvoPdf Karşılaştırması
KategoriÖzellik/AspectIronPDFEvoPdfAna Avantaj
Çekirdek MimariTasarım FelsefesiSadelik öncelikli, sezgisel API'larZengin özelliklere sahip, geleneksel PDF yaklaşımıIronPDF: Daha hızlı geliştirme
API KarmaşıklığıRenderHtmlAsPdf() gibi basit yöntemlerDaha fazla kurulum gerektiren çoklu sınıf yaklaşımıIronPDF: Daha Basit API yüzeyi
Öğrenme EğrisiMinimum kurulum gereklidirDaha fazla yapılandırma gereklidirIronPDF: Daha hızlı benimseme
Platform DesteğiÇapraz PlatformYerel destek, ek yapılandırma yokPlatforma özel kurulum gerektirirIronPDF: Daha basit dağıtım
.NET Sürümleri.NET 10, 9, 8, 7, 6, 5, Core 3.1+, Framework 4.6.2+.NET 10, 9, 8, 7, 6, Standard 2.0+, Framework 4.0+Her İkisi: Modern çerçeve desteği
İşletim SistemleriWindows, Linux, macOS, Docker yerelWindows, Linux, macOS, AzureIronPDF: Docker için optimize edilmiştir
HTML'den PDF'eRenderleme MotoruTam Chrome V8 motoruÖzel HTML işleme motoruIronPDF: Yüksek tarayıcı sadakati
CSS3/HTML5 DesteğiTam destekStandart özellikler için iyi destekIronPDF: Modern web standartları
JavaScript YürütmeBekleme ile tam JavaScript desteğiİyi JavaScript desteğiIronPDF: Dinamik içerik hazır
İşleme HızıKarmaşık sayfalar ve JavaScript için optimize edilmiştirBasit statik HTML için hızlıdırDoküman karmaşıklığına bağlıdır
Security & EncryptionŞifreleme SeviyeleriAES-256, özel işlemcilerAES-256 standartHer ikisi de: Endüstri standardı
İzin SeçenekleriAyrıntılı izin kontrolleriStandart izin setiIronPDF: Daha ince kontrol
Dijital İmzalarEntegre, görsel imzalarTemel imza desteğiIronPDF: Daha basit imzalama
İçerik ManipülasyonuYeniden Değerlendirme YöntemiGerçek içerik kaldırma, tek satırlık APIYerleşik gizleme yokIronPDF: Uyumlu
FiligranlamaHTML/CSS tabanlı, tam stilŞablon bazlı filigranlarIronPDF: Zengin filigranlar
DamgalamaBirleşik damga sınıflarıFiligran özelliğiyle aynıIronPDF: Özel araçlar
Dosya DönüştürmeleriDOCX'ten PDF'yeDahili DocxToPdfRendererEvo Word to PDF ($450+) gerektirirIronPDF: Ekstra maliyet yok
Geliştirici DeneyimiKod Örnekleri100+ çalışmaya hazır örnekKod örnekleri mevcutIronPDF: Kapsamlı kaynaklar
DokümantasyonKılavuzlar, nasıl yapılır, videolar, API referansıAPI belgeleri ve örneklerIronPDF: Birden fazla öğrenme yolu
Hata MesajlarıAçıklayıcı, eyleme geçirilebilirStandart hata raporlamaIronPDF: Daha iyi hata ayıklama
Performans ÖlçütleriBüyük Doküman İşlemeYüksek çıktılı toplu işlemeStandart toplu işlemeIronPDF: Daha iyi ölçeklenebilirlik
İş parçacığı desteğiYerel async/await optimizasyonuÇoklu iş parçacığı desteğiIronPDF: Daha iyi ölçeklenebilirlik
Licensing & PricingGiriş SeviyesiLite: $999 (1 geliştirici, 1 proje)Dağıtım: $450 (1 sunucu, 1 uygulama)EvoPdf: Daha düşük ilk maliyet
Team LicensePlus: $1,499 (3 geliştirici, 3 proje)Şirket: $1,200 (sınırsız geliştirici)EvoPdf: Büyük ekipler için daha iyi
Yeniden Dağıtım+$1,999 telif ücretsizŞirket Lisansı İçinde DahilEvoPdf: Yerleşik yeniden dağıtım
Süit SeçeneğiIron Suite: $2,998 (10 products)EVO PDF Toolkit: $1,400IronPDF: Daha fazla ürün dahil
DestekDestek DahilEvet, 24/5 mühendislik desteğiEvet, ilk yıl standart destekIronPDF: Doğrudan mühendislik erişimi
En İyi Kullanım AlanıKullanım DurumlarıModern web uygulamaları, karmaşık PDF'ler, uyumlulukBasit HTML to PDF, temel dönüşümlerBağlama bağlı

Not. EvoPdf, büyük ekipler için rekabetçi fiyatlar sunar. IronPDF, yerleşik redaksiyon ve belge dönüştürme desteği dahil daha kapsamlı işlevsellik sağlar.

IronPDF ve EvoPdf'i Anlamak: Temel Güçler ve Felsefe

.NET'yi .NET PDF Kütüphanesi Pazarında Öne Çıkaran Nedir?

.NET, geliştirme verimliliğini merkezine alan kapsamlı bir PDF çözümünü temsil eder. Basitlik temelinde güçten fedakarlık etmeden inşa edilmiş olan .NET, .NET geliştiricilerinin tanıdık web geliştirme desenlerini yansıtan sezgisel API'lerle PDF belgeleri oluşturmasını, düzenlemesini ve manipüle etmesini sağlar. Kütüphanenin öne çıkan özelliği, CSS3, JavaScript çerçeveleri ve web yazı tipleri dahil en son web standartlarını destekleyen Chrome tabanlı işleme motorudur, bu da piksel netliğinde HTML to PDF dönüşümünü sağlar.

Kütüphane, yüksek doğruluklu belge işleme, karmaşık PDF manipülasyonu ve kurumsal düzeyde güvenlik özellikleri gerektiren senaryolarda mükemmeldir. Kapsamlı özellik seti yalnızca temel PDF oluşturmayı değil, dijital imzalar, form doldurma, IronOCR üzerinden OCR entegrasyonu ve sorunsuz belge formatı dönüşümleri gibi ileri düzey yetenekleri de içerir. .NET, çapraz platform uyumluluğunu basit çerçeve desteğinin ötesinde genişletir ve Windows, Linux, macOS, Docker konteynerleri ve Azure ile AWS gibi bulut platformlarında yerel performans sunar.

EvoPdf PDF Oluşturma Farklı Bir Şekilde Nasıl Yaklaşıyor?

EvoPdf PDF manipülasyonuna daha geleneksel bir yaklaşım benimsemektedir, öncelikle HTML to PDF dönüşümüne odaklanmakta ve özelleştirme ve kontrol vurgusuyla hareket etmektedir. Kütüphane, geliştiricilere dönüştürme süreci üzerinde ayrıntılı kontrol sağlar, işleme parametrelerini, sayfa düzenlerini ve dönüşüm ayarlarını ince bir şekilde ayarlamaya olanak tanır. EvoPdf'in mimarisi, standart web-to-PDF dönüşüm senaryoları için güvenilir, tutarlı sonuçlar sağlamak üzere inşa edilmiştir.

EvoPdf, hafif ayak izi ve basit HTML belgeler için daha hızlı işleme hızıyla özellikle öne çıkar. Karmaşık JavaScript veya CSS3 özellikleri olmayan basit HTML sayfaları için, EvoPdf, düz belgelerin yüksek hacimli toplu işlemeleri için uygundur. Kütüphane ayrıca ASP.NET ortamlarında sunucu tarafı işleme için iyi destek sunar ve web uygulaması senaryoları için optimizasyonlar içerir.

Kütüphaneler Arasında Çapraz Platform Yetenekleri Nasıl Karşılaştırılır?

IronPDF'in Modern Çapraz Platform Mimari

IronPDF, basit çerçeve desteğinin ötesine geçen sorunsuz çapraz platform uyumluluğu sunar. Kütüphane yerel olarak şurada çalışır:

  • .NET Sürüm Desteği:

    • .NET 10, 9, 8, 7, 6, 5 ve Core 3.1+
  • .NET Standard 2.0+

  • .NET Framework 4.6.2+

    • C#, VB.NET ve F# için tam destek
  • İşletim Sistemi Uyumluluğu:

  • Windows (x86, x64, ARM)

    • Linux (Ubuntu, Debian, CentOS, Alpine)
    • macOS (Intel ve Apple Silicon)
    • Önceden yapılandırılmış görüntülerle Docker konteynerleri
  • Bulut Platform Entegrasyonu:

    • Azure App Service, Functions ve VMs
    • AWS Lambda ve EC2
  • Google Cloud Platform

    • Kubernetes konuşlandırmaları

IronPDF'i öne çıkaran, sıfır yapılandırma dağıtım modelidir. Birçok PDF kütüphanesinin ek bağımlılıklar veya çalışma zamanı kurulumlarına ihtiyaç duymasının aksine, IronPDF gerekli bileşenlerini NuGet paketine dahil eder. Bu kendi kendine yeterlidir ve dağıtım karmaşıklığını önemli ölçüde azaltır ve 'benim makinemde çalışıyor' gibi yaygın sorunları ortadan kaldırır.

EvoPdf'in Platform Gereksinimleri ve Sınırlamaları

EvoPdf benzer bir .NET sürüm aralığını destekler, ancak çapraz platform senaryoları için daha dikkatli yapılandırma gerektirir:

  • .NET Framework Desteği:

    • .NET 10, 9, 8, 7 ve 6
  • .NET Standard 2.0+

  • .NET Framework 4.0+

  • Platform Düşünceleri:

    • Windows ortamları için birincil optimizasyon
    • Linux desteği ek yapılandırma gerektirir
    • macOS desteği .NET Core aracılığıyla
    • Bulut dağıtımı platforma özel ayarlamalar gerektirir

Çapraz platform dağıtımları için, EvoPdf kullanıcıları genellikle platforma özel bağımlılıklar ve yapılandırmalarla ilgilenmek zorunda kalır, özellikle Windows ve Linux ortamları arasında geçiş yaparken. Bu ek kurulum karmaşıklığı, geliştirme zaman çizelgelerini etkileyebilir ve bakım yükünü artırabilir.

Ortak Görevler İçin Daha İyi PDF İşlevselliği Hangi Kütüphane Sunar?

HTML to PDF Dönüşümü: İşleme Kalitesi ve Performans

Her iki kütüphanenin de en temel özelliği HTML to PDF dönüşümüdür, ancak yaklaşımları ve sonuçları önemli ölçüde farklılık gösterir.

IronPDF HTML to PDF Örneği

using IronPdf;

// Initialize the Chrome-based renderer with advanced options
var renderer = new ChromePdfRenderer
{
    // Configure rendering options for optimal quality
    RenderingOptions = new ChromePdfRenderOptions
    {
        // Set high-quality rendering at 300 DPI for print-ready PDFs
        DPI = 300,
        
        // Enable JavaScript execution with custom timeout
        EnableJavaScript = true,
        RenderDelay = 2000, // Wait 2 seconds for dynamic content
        
        // Configure page layout
        MarginTop = 20,
        MarginBottom = 20,
        MarginLeft = 15,
        MarginRight = 15,
        
        // Enable modern web features
        CssMediaType = PdfCssMediaType.Print,
        ViewPortWidth = 1920,
        
        // Optimize for web fonts and images
        CreatePdfFormsFromHtml = true,
        FitToPaperMode = FitToPaperModes.Automatic
    }
};

// Convert complex HTML with CSS3 and JavaScript
var htmlContent = @"
<!DOCTYPE html>
<html>
<head>
    <link href='https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;700&display=swap' rel='stylesheet'>
    <style>
        body { font-family: 'Roboto', sans-serif; }
        .chart-container { width: 100%; height: 400px; }
        @media print {
            .no-print { display: none; }
            .page-break { page-break-after: always; }
        }
    </style>
    <script src='https://cdn.jsdelivr.net/npm/chart.js'></script>
</head>
<body>
    <h1>Dynamic Sales Report</h1>
    <div class='chart-container'>
        <canvas id='salesChart'></canvas>
    </div>
    <script>
        // Dynamic chart generation
        const ctx = document.getElementById('salesChart').getContext('2d');
        new Chart(ctx, {
            type: 'line',
            data: {
                labels: ['Jan', 'Feb', 'Mar', 'Apr', 'May'],
                datasets: [{
                    label: 'Sales 2025',
                    data: [65, 78, 90, 81, 96],
                    borderColor: 'rgb(75, 192, 192)',
                    tension: 0.4
                }]
            }
        });
    </script>
</body>
</html>";

// Generate PDF with full JavaScript chart rendering
var pdf = renderer.RenderHtmlAsPdf(htmlContent);

// Apply post-processing optimizations
pdf.CompressImages(90);
pdf.SaveAs("sales-report.pdf");

Bu IronPDF örneği bir dizi gelişmiş yetenek göstermektedir:

  • Chrome V8 JavaScript Motoru: Chart.js'yi tam olarak çalıştırarak dinamik görselleştirmeler sunar
  • Web Yazı Tipi Desteği: Google Fontlarını otomatik olarak indirir ve yerleştirir
  • Duyarlı İşleme: Yazdırma optimizasyonu için CSS medya sorgularına saygı gösterir
  • Yüksek DPI Desteği: 300 DPI'da yazdırma için hazır PDF'ler üretir
  • Otomatik Düzen: İçeriği sayfa sınırlarına akıllıca uydurur

EvoPdf HTML to PDF Örneği

using EvoPdf;

// Create converter with configuration
HtmlToPdfConverter converter = new HtmlToPdfConverter();

// Set license key (required for production use)
converter.LicenseKey = "your-license-key";

// Configure conversion settings
converter.PdfDocumentOptions.PdfPageSize = PdfPageSize.A4;
converter.PdfDocumentOptions.PdfPageOrientation = PdfPageOrientation.Portrait;
converter.PdfDocumentOptions.TopMargin = 20;
converter.PdfDocumentOptions.BottomMargin = 20;
converter.PdfDocumentOptions.LeftMargin = 15;
converter.PdfDocumentOptions.RightMargin = 15;

// Enable JavaScript execution
converter.JavaScriptEnabled = true;
converter.ConversionDelay = 2; // seconds

// Set authentication if needed
converter.AuthenticationOptions.Username = "username";
converter.AuthenticationOptions.Password = "password";

// Convert HTML string
string htmlString = @"
<html>
<head>
    <style>
        body { font-family: Arial, sans-serif; }
        table { border-collapse: collapse; width: 100%; }
        th, td { border: 1px solid #ddd; padding: 8px; }
    </style>
</head>
<body>
    <h1>Invoice</h1>
    <table>
        <tr>
            <th>Item</th>
            <th>Quantity</th>
            <th>Price</th>
        </tr>
        <tr>
            <td>Product A</td>
            <td>5</td>
            <td>$50.00</td>
        </tr>
    </table>
</body>
</html>";

// Perform conversion
byte[] pdfBytes = converter.ConvertHtml(htmlString, "");

// Save to file
System.IO.File.WriteAllBytes("invoice.pdf", pdfBytes);

EvoPdf'in yaklaşımı, temel stil ve düzen için iyi destekle basit HTML dönüşümüne odaklanır. Standart HTML ve CSS'i iyi işlerken, CSS Grid, Flexbox animasyonları veya karmaşık JavaScript çerçeveleri gibi modern web özellikleriyle zorlanabilir.

PDF Güvenliği ve Şifreleme: Hassas Belgeleri Koruma

Hassas belgelerle uğraşırken güvenlik esastır. Her iki kütüphane de şifreleme yetenekleri sunar, ancak farklı seviyelerde sofistikasyon ile.

IronPDF Gelişmiş Güvenlik Uygulaması

using IronPdf;
using IronPdf.Security;

// Load an existing PDF or create new one
var pdf = PdfDocument.FromFile("confidential-report.pdf");

// Configure comprehensive security settings
pdf.SecuritySettings = new SecuritySettings
{
    // Set owner password (full permissions)
    OwnerPassword = "admin-complex-password-2025",
    
    // Set user password (restricted permissions)
    UserPassword = "user-password-readonly",
    
    // Configure granular permissions
    AllowAccessibilityExtractContent = false,
    AllowAnnotations = false,
    AllowAssembleDocument = false,
    AllowCopy = false,
    AllowFillForms = true,
    AllowFullQualityPrint = false,
    AllowModifyDocument = false,
    AllowPrint = true,
    
    // Use strongest encryption available
    EncryptionLevel = EncryptionLevel.AES256Bit
};

// Add metadata security
pdf.MetaData.Author = "Authorized Personnel Only";
pdf.MetaData.ModifiedDate = DateTime.UtcNow;
pdf.MetaData.Title = "Confidential: Internal Use Only";

// Apply digital signature for authenticity
var signature = new PdfSignature("certificate.pfx", "cert-password")
{
    SigningReason = "Document Approval",
    SigningLocation = "Corporate Headquarters",
    SigningContact = "security@company.com",
    
    // Visual signature appearance
    IsVisible = true,
    X = 100,
    Y = 100,
    Width = 200,
    Height = 50,
    PageIndex = 0,
    
    // Custom appearance
    SignatureImage = new PdfSignatureImage("signature.png"),
    DateFormat = "yyyy-MM-dd HH:mm:ss"
};

pdf.Sign(signature);

// Add watermark for additional security
pdf.ApplyWatermark("<h2 style='color:red; opacity:0.5;'>CONFIDENTIAL</h2>", 
    45, VerticalAlignment.Middle, HorizontalAlignment.Center);

pdf.SaveAs("secured-document.pdf");

IronPDF'in güvenlik uygulaması, kurumsal düzeyde özellikler sağlar:

  • Granüler İzinler: Tam olarak kullanıcıların neleri yapabileceğini ince ayarlayın.
  • Görsel Dijital İmzalar: İmza görüntülerini ve zaman damgalarını içerir
  • Metadata Koruma: Belge özelliklerini ve denetim izlerini güvence altına alır
  • Katmanlı Güvenlik: Şifreleme, imzalar ve filigranları birleştirir

EvoPdf Güvenlik Yapılandırması

using EvoPdf;

// Create security manager
PdfSecurityOptions securityOptions = new PdfSecurityOptions();

// Set basic security parameters
securityOptions.UserPassword = "user123";
securityOptions.OwnerPassword = "owner456";
securityOptions.KeySize = EncryptionKeySize.Key256Bit;

// Configure permissions
securityOptions.CanPrint = true;
securityOptions.CanCopyContent = false;
securityOptions.CanEditContent = false;
securityOptions.CanEditAnnotations = false;
securityOptions.CanFillFormFields = true;
securityOptions.CanAssembleDocument = false;

// Apply security to existing PDF
PdfSecurityManager securityManager = new PdfSecurityManager(securityOptions);
securityManager.SaveSecuredPdfToFile("input.pdf", "secured-output.pdf");

EvoPdf, IronPDF'dekine kıyasla daha az gelişmiş olan temel belgeleri koruma için uygun güvenlik özellikleri sunar.

İçerik Gizleme: Uyum ve Gizlilik Koruması

Günümüzün gizlilik odaklı ortamında, PDF'lerden hassas bilgilerin kalıcı olarak kaldırılması yeteneği, GDPR, HIPAA ve CCPA gibi düzenlemelere uyum için önemlidir.

IronPDF Gizleme Örneği

using IronPdf;

// Load PDF containing sensitive information
PdfDocument pdf = PdfDocument.FromFile("customer-records.pdf");

// Redact using multiple strategies
// 1. Redact specific text patterns (SSN format)
pdf.RedactTextOnAllPages(@"\b\d{3}-\d{2}-\d{4}\b", 
    isRegex: true, 
    new RedactionOptions
    {
        RedactionColor = Color.Black,
        RedactionStyle = RedactionStyle.Filled,
        DrawRedactionBorder = true,
        BorderColor = Color.Red
    });

// 2. Redact specific phrases
pdf.RedactTextOnPages("Confidential", 
    new[] { 0, 1, 2 }, // Specific pages
    caseSensitive: false);

// 3. Redact regions by coordinates
pdf.RedactRegion(new Rectangle(100, 200, 300, 50), 0);

// 4. Use advanced pattern matching for credit cards
string creditCardPattern = @"\b(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|3[47][0-9]{13})\b";
pdf.RedactTextOnAllPages(creditCardPattern, isRegex: true);

// Apply OCR-based redaction for scanned documents
pdf.ApplyOcr(new TesseractLanguage[] { TesseractLanguage.English });
pdf.RedactTextOnAllPages("Salary:");

// Save with audit trail
pdf.MetaData.CustomProperties.Add("Redacted", DateTime.UtcNow.ToString());
pdf.MetaData.CustomProperties.Add("RedactedBy", Environment.UserName);
pdf.SaveAs("redacted-records.pdf");

IronPDF'in gizleme yetenekleri şunları içerir:

  • Gerçek İçerik Kaldırma: Metni sadece kaplamak yerine kalıcı olarak kaldırır
  • Desen Tanıma: Sosyal Güvenlik numaraları, kredi kartları, e-postalar için regex desteği
  • Görsel Gizleme Stilleri: Denetim izleri için özelleştirilebilir görünüm
  • OCR Entegrasyonu: Taralı belgelerdeki metin gizleme
  • Seçici Gizleme: Belirli sayfaları veya bölgeleri hedefle

IronPDF, yerleşik redaksiyon işlevselliğine sahiptir, GDPR, HIPAA ve CCPA gibi gizlilik düzenlemelerine uyum gerektiren uygulamalar için güçlü bir seçimdir.

Form Kullanımı: Etkileşimli PDF'ler Oluşturma

Her iki kütüphane de PDF formlarını destekler, ancak oluşturma ve manipülasyon yaklaşımları farklıdır.

IronPDF Form Örneği

using IronPdf;
using IronPdf.Forms;

// Create a new PDF with an HTML form
var html = @"
<html>
<body>
    <h2>Employee Information Form</h2>
    <form>
        <label>Full Name:</label>
        <input type='text' name='fullName' required />
        
        <label>Email:</label>
        <input type='email' name='email' required />
        
        <label>Department:</label>
        <select name='department'>
            <option value=''>Select Department</option>
            <option value='IT'>Information Technology</option>
            <option value='HR'>Human Resources</option>
            <option value='Sales'>Sales</option>
        </select>
        
        <label>Start Date:</label>
        <input type='date' name='startDate' />
        
        <label>
            <input type='checkbox' name='agreement' />
            I agree to the terms and conditions
        </label>
        
        <button type='submit'>Submit</button>
    </form>
</body>
</html>";

var renderer = new ChromePdfRenderer
{
    RenderingOptions = new ChromePdfRenderOptions
    {
        CreatePdfFormsFromHtml = true // Enable form field creation
    }
};

var pdf = renderer.RenderHtmlAsPdf(html);

// Programmatically fill form fields
pdf.Form.SetFieldValue("fullName", "John Doe");
pdf.Form.SetFieldValue("email", "john.doe@company.com");
pdf.Form.SetFieldValue("department", "IT");
pdf.Form.SetFieldValue("startDate", DateTime.Now.ToString("yyyy-MM-dd"));
pdf.Form.SetCheckBoxValue("agreement", true);

// Make specific fields read-only
pdf.Form.Fields["email"].ReadOnly = true;

// Add form field validation
foreach (var field in pdf.Form.Fields)
{
    if (field.Name == "email")
    {
        field.Annotation.BorderColor = Color.Blue;
        field.Annotation.BackgroundColor = Color.LightGray;
    }
}

// Flatten form (convert to static content)
var flattenedPdf = pdf.Flatten();
flattenedPdf.SaveAs("completed-form.pdf");

// Or save as fillable form
pdf.SaveAs("fillable-form.pdf");

IronPDF'in form kullanım özellikleri:

  • Otomatik Form Oluşturma: HTML formlarını PDF formlarına dönüştürür
  • Programatik Manipülasyon: API aracılığıyla form alanlarını doldurma, okuma ve değiştirme
  • Alan Türleri: Metin, onay kutusu, radyo, açılır menü, imza alanları
  • Doğrulama: Alan özelliklerini ve kısıtlamalarını ayarlama
  • Form Düzleştirme: Doldurulmuş formları statik PDF'lere dönüştürme

Performans Karşılaştırmaları: Gerçek Dünya Senaryoları

Döküman karmaşıklığı ve kullanım senaryolarına göre performans özellikleri önemli ölçüde farklılık gösterir:

Toplu İşleme Performans Testi

// Performance comparison for batch processing
public class PerformanceBenchmark
{
    public static async Task RunBenchmark()
    {
        var htmlTemplates = GenerateInvoiceTemplates(1000);
        var stopwatch = new Stopwatch();
        
        // IronPDF batch processing with optimization
        Console.WriteLine("IronPDF Batch Processing:");
        stopwatch.Start();
        
        var renderer = new ChromePdfRenderer
        {
            RenderingOptions = new ChromePdfRenderOptions
            {
                RenderDelay = 0, // No delay for static content
                EnableJavaScript = false, // Disable JS for speed
                DPI = 150 // Lower DPI for faster rendering
            }
        };
        
        // Parallel processing
        var tasks = htmlTemplates.Select(async (html, index) =>
        {
            var pdf = await renderer.RenderHtmlAsPdfAsync(html);
            await pdf.SaveAsAsync($"ironpdf-invoice-{index}.pdf");
        });
        
        await Task.WhenAll(tasks);
        
        stopwatch.Stop();
        Console.WriteLine($"Time: {stopwatch.ElapsedMilliseconds}ms");
        Console.WriteLine($"Average: {stopwatch.ElapsedMilliseconds / 1000.0}ms per PDF");
        
        // Memory usage
        var process = Process.GetCurrentProcess();
        Console.WriteLine($"Memory: {process.WorkingSet64 / 1024 / 1024}MB");
    }
}

Senaryoya göre performans değerlendirmeleri:

  • Basit HTML: EvoPdf, hafif ağırlıklı statik belgeler için, daha hafif bir render motoruna sahip olması nedeniyle daha hızlı olma eğilimindedir
  • Karmaşık JavaScript: IronPDF daha güvenilir sonuçlar sağlar; EvoPdf dinamik içerik ile tutarsız çıktı üretebilir
  • Toplu İşleme: IronPDF, daha iyi yerleşik async/await paralelizasyon desteği sunar
  • Bellek Kullanımı: EvoPdf, daha düşük bellek taban çizgisine sahiptir; IronPDF, yüksek çıktılı iş yükleri için optimize edilmiştir
  • Büyük Belgeler: IronPDF, yüksek sayfa sayılarına sahip belgeleri optimize edilmiş toplu işlem ile yönetir

Farklı Ekip Boyutları İçin Fiyatlandırma Modelleri Nasıl Karşılaştırılır?

IronPDF Lisans Yapısı

IronPDF, telif ücretsiz yeniden dağıtım seçeneği ile birlikte Lite, Plus ve Professional lisanslar dahil çeşitli fiyatlandırma seçenekleri sunar. Lisans modeli, ekibinizin ve projelerinizin ihtiyaçlarına göre ölçeklenmek üzere tasarlanmıştır (Nisan 2026 itibariyle fiyatlandırma):

  • Lite License: $999

    • 1 geliştirici
    • 1 lokasyon
    • 1 proje
    • E-posta desteği
    • İdeal: Bireysel geliştiriciler, küçük projeler
  • Plus License: $1,499

    • 3 geliştirici
    • 3 lokasyon
    • 3 proje
    • E-posta, sohbet ve telefon desteği
    • İdeal: Küçük ekipler, birden fazla proje
  • Professional License: $2,399

    • 10 geliştirici
    • 10 lokasyon
    • 10 proje
    • Ekran paylaşımı ile öncelikli destek
    • İdeal: Orta ve büyük ekipler
  • Ek Seçenekler:

    • Telif ücretsiz yeniden dağıtım: +$2,399
    • 5 yıl destek ve güncellemeler: $1,999 (veya $999/yıl)
  • Iron Suite: $2,998 için tüm 10 Iron Software ürünleri.

EvoPdf Lisanslama Seçenekleri

EVO PDF Toolkit ve bağımsız HTML'den PDF'ye dönüştürücü, her biri İki lisans katmanı sunar — Dağıtım ve Şirket (Nisan 2026 itibariyle fiyatlandırma; güncel fiyatlandırmayı evopdf.com/buy.aspx adresinden doğrulayın):

  • Dağıtım Lisansı:
  • EVO HTML to PDF: $450
  • EVO PDF Toolkit: $650
    • Tek sunucu, tek uygulama
    • Redistribüsyon dahil değil
    • İlk yıl standart destek
  • Şirket Lisansı:
  • EVO HTML to PDF: $1,200
  • EVO PDF Toolkit: $1,400
    • Sınırsız geliştirici
    • Sınırsız dağıtım
    • Tam yeniden dağıtım hakları
    • İlk yıl öncelikli destek

Toplam Sahip Olma Maliyeti Analizi

Gerçek dünya senaryolarını inceleyerek gerçek maliyet etkilerini anlayalım:

Senaryo 1: 2 Geliştiricili Başlangıç

  • IronPDF Lite: $999 (tek geliştirici; 2 kişilik bir ekip için 2 lisans gerektirir)
  • EvoPdf Company: $1,200 (sınırsız geliştiriciyi kapsar)
  • Kazanan: Başlangıç ekip maliyeti için EvoPdf

Senaryo 2: Gelişen Ekip (5 Geliştirici, Çoklu Proje)

  • IronPDF Plus: $1,499 (3 geliştiriciye kadar kapsar, 5 için Professional gereklidir)
  • IronPDF Professional: $2,399
  • EvoPdf Company: $1,200
  • Kazanan: Takım ölçeklendirmesi için EvoPdf

Senaryo 3: Birden Fazla PDF Aracı Gerektiren Enterprise

  • .NET Professional + IronOCR + IronBarcode: birden fazla bireysel lisans
  • Iron Suite: $2,998 (tüm 10 ürün)
  • EvoPdf Toolkit + Ek Araçlar: $1,400+ araç başına
  • Kazanan: Kapsamlı ihtiyaçlar için Iron Suite

Senaryo 4: Yeniden Dağıtım İle SaaS Ürünü

  • IronPDF Professional + Yeniden Dağıtım: $2,399 + $2,399
  • EvoPdf Company: $1,200 (yeniden dağıtımı içerir)
  • Kazanan: Yeniden dağıtım senaryoları için EvoPdf

Modern CSS Çatılarının Seçiminizin Üzerindeki Etkisi Nedir?

PDF kitaplığı seçerken sıklıkla göz ardı edilen bir faktör, modern CSS çatısı desteğidir. Bootstrap, Tailwind CSS ve Foundation ile web geliştirmede öne çıkan bu çatılar, kütüphanenizin bu çerçeveleri işleme yeteneğinin doğrudan geliştirme verimliliğini ve çıktı kalitesini etkiler.

IronPDF: Kapsamlı Çatı Desteği

IronPDF'nin tam Chrome V8 motoru, modern CSS çatısı için ödünsüz yerel destek sağlar:

  • Bootstrap 5: Karmaşık düzenler için tam flexbox ve CSS Grid desteği
  • Tailwind CSS: Tüm yardımcı sınıflar doğru bir şekilde görüntülenir
  • Modern CSS3: Dönüşümler, animasyonlar, özel özellikler tamamen desteklenir
  • Üretim doğrulama: Bootstrap ana sayfasını ve Bootstrap şablonlarını başarıyla işler

Kod Örneği: Bootstrap Zaman Çizgisi Bileşeni

using IronPdf;

var renderer = new ChromePdfRenderer();

string bootstrapTimeline = @"
<!DOCTYPE html>
<html>
<head>
    <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
    <style>
        .timeline { position: relative; padding: 20px 0; }
        .timeline::before {
            content: '';
            position: absolute;
            left: 50%;
            width: 2px;
            height: 100%;
            background: #dee2e6;
        }
        .timeline-item { position: relative; margin: 20px 0; }
    </style>
</head>
<body>
    <div class='container py-5'>
        <h2 class='text-center mb-5'>Project Timeline</h2>
        <div class='timeline'>
            <div class='timeline-item'>
                <div class='row'>
                    <div class='col-md-6'>
                        <div class='card shadow-sm'>
                            <div class='card-body'>
                                <h5 class='card-title'>Phase 1: Planning</h5>
                                <p class='text-muted'>Q1 2025</p>
                                <p class='card-text'>Initial project scope and requirements gathering completed.</p>
                                <span class='badge bg-success'>Completed</span>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            <!-- Additional timeline items... -->
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(bootstrapTimeline);
pdf.SaveAs("project-timeline.pdf");
C#

EvoPdf: Kısıtlamalarla İyi CSS Desteği

EvoPdf'nin özel HTML işleme motoru, bazı modern çatı kısıtlamalarıyla sağlam CSS desteği sağlar:

  • Bootstrap 3: Eski Bootstrap sürümleriyle genellikle iyi çalışır
  • Bootstrap 4+: Flexbox düzenleri ayarlamalar gerektirebilir
  • CSS3 desteği: İyi kapsama (~%90) ancak tam değil
  • Mümkün çözümler: Karmaşık düzenler için genellikle manuel CSS ayarlamaları gerekir

Pratik Hususlar:

Geliştirici deneyimine göre:

  • Temel Bootstrap bileşenleri (düğmeler, uyarılar, tablolar) genellikle doğru şekilde işler
  • Gelişmiş bileşenler (navigasyon çubukları, modüller, karmaşık gridler) özelleştirme gerektirebilir
  • CSS Grid düzenleri test ve potansiyel yedekler gerektirir
  • Özel Bootstrap temaları bazen beklenmedik işleme sorunlarına neden olabilir

Geliştirme Etkisi: Eğer uygulamanız UI'sı için Bootstrap'i yoğun şekilde kullanıyorsa ve web arayüzünüzle eşleşen raporlar veya belgeler oluşturmanız gerekiyorsa, IronPDF'nin sorunsuz render işlemi, önemli ölçüde geliştirme zamanı kazandırır. EvoPdf, şablonlarınızın PDF oluşturma işlemi için ayrı, basitleştirilmiş sürümlerinin oluşturulmasını gerektirebilir.

CSS çatı uyumluluğu hakkında kapsamlı bilgi için Bootstrap & Flexbox CSS Rehberi'ne bakın.

Hangi Dokümantasyon ve Destek Seçenekleri Geliştiricilere Daha İyi Hizmet Verir?

IronPDF'nin Geliştirici Kaynakları

IronPDF, kapsamlı dokümantasyon, 24/5 mühendislik desteği, video eğitimleri, bir topluluk forumu ve düzenli güncellemeler sağlar. Destek ekosistemi şunları içerir:

  • Dokümantasyon Kalitesi:

  • Destek Kanalları:

    • 24/5 mühendislik desteği (geliştiricilere doğrudan erişim)
    • Yanıt süresi: Tipik olarak 24-48 saat
    • Plus+ lisansları için canlı sohbet
    • Professional lisanslar için telefon desteği
    • Karmaşık sorunlar için ekran paylaşımı
    • Topluluk forumu ve Stack Overflow varlığı
  • Öğrenme Kaynakları:

    • Başlangıç kılavuzları
    • Mimari dokümantasyon
    • Performans optimizasyonu kılavuzları
    • Güvenlik en iyi uygulamaları
    • Bulut dağıtım kılavuzları

EvoPdf'nin Destek Yapısı

EvoPdf, dokümantasyon ve destek şu şekilde sağlar:

  • Dokümantasyon:

    • API referans dokümantasyonu
    • Yaygın senaryolar için kod örnekleri
    • Web sitesinde canlı demo bölümü
    • Temel sorun giderme kılavuzları
  • Destek Seçenekleri:

    • E-posta ve telefon desteği (ilk yıl dahil)
    • Standart ve Öncelikli destek katmanları
    • Topluluk yardımı için destek forumu
    • İlk yıldan sonra yenileme gereklidir

Ana ayırt edici fark, IronPDF'nin eğiticisel içeriğe ve doğrudan mühendislik desteğine yaptığı yatırımdır. Bu da öğrenme eğrisini ve sorun giderme süresini önemli ölçüde azaltır.

Her Kütüphane için En İyi Kullanım Senaryoları Nelerdir?

IronPDF Seçmek Ne Zaman Uygundur

IronPDF, aşağıdaki senaryolarda mükemmel performans gösterir:

1. Modern Web Uygulaması Entegrasyonu

  • Dinamik raporlar üreten SaaS platformları
  • Grafiklerle birlikte faturalar oluşturan e-ticaret siteleri
  • PDF'ler olarak ihraç edilen iş zekası panoları
  • React, Angular veya Vue.js kullanan uygulamalar

2. Uyum ve Güvenlik Gereksinimleri

  • HIPAA uyumu gerektiren sağlık sistemleri
  • Denetim izleri isteyen finansal hizmetler
  • Düzenleme ile yasal belge yönetimi
  • Güvenlik emirleri olan hükümet uygulamaları

3. Karmaşık Belge İşleme

  • Çok formatlı belge dönüşümü (DOCX, HTML, Görüntüler)
  • Tarama yapılan belgeler için OCR entegrasyonu
  • Paralel yürütme ile toplu işleme
  • Dijital imzalar bulunan belgeler

4. Çapraz Platform Dağıtımı

  • Docker konteynerize edilmiş uygulamalar
  • Linux tabanlı bulut dağıtımları
  • Mikro hizmet mimarileri
  • Sunucusuz işlevler (AWS Lambda, Azure İşlevleri)

Gerçek Dünya Örneği: Sağlık Raporu Oluşturma

public class HealthcareReportGenerator
{
    private readonly ChromePdfRenderer _renderer;
    
    public HealthcareReportGenerator()
    {
        _renderer = new ChromePdfRenderer
        {
            RenderingOptions = new ChromePdfRenderOptions
            {
                DPI = 300, // High quality for medical imaging
                EnableJavaScript = true,
                RenderDelay = 3000, // Allow charts to fully render
                CreatePdfFormsFromHtml = true
            }
        };
    }
    
    public async Task<byte[]> GeneratePatientReport(PatientData patient)
    {
        // Generate HTML with patient data and charts
        var html = await GenerateReportHtml(patient);
        
        // Convert to PDF
        var pdf = await _renderer.RenderHtmlAsPdfAsync(html);
        
        // Apply security and compliance
        pdf.SecuritySettings = new SecuritySettings
        {
            AllowPrint = true,
            AllowCopy = false,
            EncryptionLevel = EncryptionLevel.AES256Bit,
            UserPassword = patient.AccessCode
        };
        
        // Redact SSN except last 4 digits
        pdf.RedactTextOnAllPages(@"\b\d{3}-\d{2}-(\d{4})\b", 
            replacement: "XXX-XX-$1", 
            isRegex: true);
        
        // Add audit metadata
        pdf.MetaData.Author = "Healthcare System";
        pdf.MetaData.Title = $"Patient Report - {patient.PatientId}";
        pdf.MetaData.CreationDate = DateTime.UtcNow;
        pdf.MetaData.CustomProperties.Add("HIPAA_Compliant", "true");
        
        // Add digital signature
        var signature = new PdfSignature("hospital-cert.pfx", "password")
        {
            SigningReason = "Medical Record Authenticity",
            SigningLocation = "Hospital Name"
        };
        pdf.Sign(signature);
        
        return pdf.BinaryData;
    }
}

EvoPdf'i Ne Zaman Seçmelisiniz

EvoPdf şu durumlar için uygundur:

1. Basit HTML'den PDF'e Dönüşüm

  • Karmaşık JavaScript içermeyen temel raporlar
  • Statik HTML şablonları
  • Basit faturalar ve makbuzlar
  • Tutarlı şablonlarla toplu belge üretimi

2. Bütçe Bilincine Sahip Ekipler

  • Tek bir lisansla sınırsız geliştirici
  • Temel özellikler için daha düşük giriş maliyeti
  • Gelişmiş PDF manipülasyonu gerektirmeyen projeler

3. Belirli Sunucu Ortamları

  • Windows merkezli dağıtımlar
  • Basit PDF gereksinimleri olan uygulamalar
  • Eski sistem entegrasyonu

4. Yüksek Hacimli Basit Dönüşümler

  • E-posta'dan PDF'e arşivleme
  • Statik rapor üretimi
  • Belgeleme sistemleri
  • Baskıya hazır belge oluşturma

Gerçek Dünya Örneği: Fatura Üretim Sistemi

public class InvoiceGenerator
{
    private readonly HtmlToPdfConverter _converter;
    
    public InvoiceGenerator()
    {
        _converter = new HtmlToPdfConverter
        {
            LicenseKey = "your-license-key",
            JavaScriptEnabled = false, // Not needed for static invoices
            ConversionDelay = 0
        };
        
        // Configure for A4 invoices
        _converter.PdfDocumentOptions.PdfPageSize = PdfPageSize.A4;
        _converter.PdfDocumentOptions.TopMargin = 30;
        _converter.PdfDocumentOptions.BottomMargin = 30;
    }
    
    public byte[] GenerateInvoice(InvoiceData data)
    {
        // Load HTML template
        var template = File.ReadAllText("invoice-template.html");
        
        // Simple string replacement for data
        var html = template
            .Replace("{{InvoiceNumber}}", data.InvoiceNumber)
            .Replace("{{Date}}", data.Date.ToString("yyyy-MM-dd"))
            .Replace("{{CustomerName}}", data.CustomerName)
            .Replace("{{Total}}", data.Total.ToString("C"));
        
        // Convert to PDF
        return _converter.ConvertHtml(html, "");
    }
}

Gelişmiş Uygulama Desenleri ve En İyi Uygulamalar

Üretimde Performansı Optimize Etme

Her iki kütüphane de doğru yapılandırma ve kullanım desenlerinden faydalanır:

IronPDF Performans Optimizasyonu

public class OptimizedPdfService
{
    private readonly ChromePdfRenderer _renderer;
    private readonly SemaphoreSlim _semaphore;
    
    public OptimizedPdfService(int maxConcurrency = 4)
    {
        _semaphore = new SemaphoreSlim(maxConcurrency);
        
        _renderer = new ChromePdfRenderer
        {
            RenderingOptions = new ChromePdfRenderOptions
            {
                // Optimize for performance
                EnableJavaScript = false, // Only if not needed
                RenderDelay = 0,
                DPI = 150, // Balance quality vs speed
                CssMediaType = PdfCssMediaType.Screen,
                Timeout = 30,
                
                // Memory optimization
                OptimizeForLowMemory = true
            }
        };
        
        // Enable connection pooling
        Installation.ChromeGpuMode = ChromeGpuModes.Disabled;
        Installation.LinuxAndDockerDependenciesAutoConfig = false;
    }
    
    public async Task<byte[]> GeneratePdfAsync(string html)
    {
        await _semaphore.WaitAsync();
        try
        {
            var pdf = await _renderer.RenderHtmlAsPdfAsync(html);
            
            // Optimize file size
            pdf.CompressImages(85);
            pdf.RemoveUnusedResources();
            
            return pdf.BinaryData;
        }
        finally
        {
            _semaphore.Release();
        }
    }
}

EvoPdf Performans Desenleri

public class EvoPdfOptimizedService
{
    private readonly ObjectPool<HtmlToPdfConverter> _converterPool;
    
    public EvoPdfOptimizedService()
    {
        // Create object pool for converter reuse
        _converterPool = new DefaultObjectPool<HtmlToPdfConverter>(
            new ConverterPoolPolicy(), 
            Environment.ProcessorCount * 2);
    }
    
    public async Task<byte[]> GeneratePdfAsync(string html)
    {
        var converter = _converterPool.Get();
        try
        {
            // Configure for speed
            converter.ConversionDelay = 0;
            converter.JavaScriptEnabled = false;
            
            // Use async pattern
            return await Task.Run(() => converter.ConvertHtml(html, ""));
        }
        finally
        {
            _converterPool.Return(converter);
        }
    }
    
    private class ConverterPoolPolicy : IPooledObjectPolicy<HtmlToPdfConverter>
    {
        public HtmlToPdfConverter Create()
        {
            return new HtmlToPdfConverter
            {
                LicenseKey = "your-license-key"
            };
        }
        
        public bool Return(HtmlToPdfConverter obj)
        {
            // Reset to default state
            obj.ConversionDelay = 2;
            return true;
        }
    }
}

Hata İşleme ve Hata Ayıklama

Üretim uygulamaları için sağlam hata yönetimi hayati önem taşır:

IronPDF Hata Yönetimi

public class RobustPdfGenerator
{
    private readonly ILogger<RobustPdfGenerator> _logger;
    private readonly ChromePdfRenderer _renderer;
    
    public async Task<Result<byte[]>> TryGeneratePdfAsync(string html)
    {
        try
        {
            // Enable detailed logging
            IronPdf.Logging.Logger.EnableDebugging = true;
            IronPdf.Logging.Logger.LogFilePath = "ironpdf.log";
            IronPdf.Logging.Logger.LoggingLevel = LoggingLevels.All;
            
            var pdf = await _renderer.RenderHtmlAsPdfAsync(html);
            
            // Validate output
            if (pdf.PageCount == 0)
            {
                return Result<byte[]>.Failure("Generated PDF has no pages");
            }
            
            return Result<byte[]>.Success(pdf.BinaryData);
        }
        catch (IronPdf.Exceptions.IronPdfRenderException ex)
        {
            _logger.LogError(ex, "Rendering failed: {Message}", ex.Message);
            
            // Attempt fallback with simpler settings
            return await FallbackRender(html);
        }
        catch (Exception ex)
        {
            _logger.LogError(ex, "Unexpected error in PDF generation");
            return Result<byte[]>.Failure($"PDF generation failed: {ex.Message}");
        }
    }
    
    private async Task<Result<byte[]>> FallbackRender(string html)
    {
        var fallbackRenderer = new ChromePdfRenderer
        {
            RenderingOptions = new ChromePdfRenderOptions
            {
                EnableJavaScript = false,
                DPI = 96,
                Timeout = 60
            }
        };
        
        try
        {
            var pdf = await fallbackRenderer.RenderHtmlAsPdfAsync(html);
            return Result<byte[]>.Success(pdf.BinaryData);
        }
        catch (Exception ex)
        {
            return Result<byte[]>.Failure($"Fallback render failed: {ex.Message}");
        }
    }
}

Endüstri Özelinde Uygulama Örnekleri

Finansal Hizmetler: Düzenleyici Uyumluluk

Finansal kuruluşlar uyumluluk için belirli özellikler gerektirir:

public class FinancialStatementGenerator
{
    public async Task<byte[]> GenerateQuarterlyReport(FinancialData data)
    {
        var renderer = new ChromePdfRenderer();
        
        // Generate report with charts and tables
        var html = await BuildFinancialReportHtml(data);
        var pdf = renderer.RenderHtmlAsPdf(html);
        
        // Add compliance watermark
        pdf.ApplyWatermark(@"
            <div style='text-align: center; color: rgba(0,0,0,0.1); font-size: 120px;
                        transform: rotate(-45deg); font-family: Arial;'>
                DRAFT
            </div>", 30, VerticalAlignment.Middle, HorizontalAlignment.Center);
        
        // Embed audit information
        pdf.MetaData.Author = "Financial Reporting System";
        pdf.MetaData.Keywords = "Quarterly Report, SOX Compliant";
        pdf.MetaData.CustomProperties.Add("ReportPeriod", data.Quarter);
        pdf.MetaData.CustomProperties.Add("GeneratedBy", Environment.UserName);
        pdf.MetaData.CustomProperties.Add("Timestamp", DateTime.UtcNow.ToString("O"));
        
        // Apply tamper-evident signature
        var cert = new X509Certificate2("financial-cert.pfx", "password");
        var signature = new PdfSignature(cert)
        {
            SigningReason = "Financial Report Certification",
            SigningLocation = "Corporate Finance Department",
            IsVisible = true,
            SignatureImage = new PdfSignatureImage("cfo-signature.png")
        };
        
        pdf.Sign(signature);
        
        // Lock document from editing
        pdf.SecuritySettings = new SecuritySettings
        {
            AllowModifyDocument = false,
            AllowCopy = true,
            AllowPrint = true,
            EncryptionLevel = EncryptionLevel.AES256Bit
        };
        
        return pdf.BinaryData;
    }
}

E-Ticaret: Dinamik Fatura Oluşturma

E-ticaret platformları hızlı ve güvenilir fatura üretimine ihtiyaç duyar:

public class EcommerceInvoiceService
{
    private readonly ChromePdfRenderer _renderer;
    
    public EcommerceInvoiceService()
    {
        _renderer = new ChromePdfRenderer
        {
            RenderingOptions = new ChromePdfRenderOptions
            {
                MarginTop = 10,
                MarginBottom = 10,
                PaperSize = PdfPaperSize.A4,
                DPI = 200 // High quality for barcodes
            }
        };
    }
    
    public async Task<byte[]> GenerateInvoice(Order order)
    {
        // Build invoice HTML with order details
        var html = $@"
        <html>
        <head>
            <style>
                @page {{size: A4; margin: 0;}}
                body {{font-family: Arial, sans-serif;}}
                .invoice-header {{background: #f0f0f0; padding: 20px;}}
                .barcode {{text-align: center; margin: 20px 0;}}
                table {{width: 100%; border-collapse: collapse;}}
                th, td {{padding: 10px; border-bottom: 1px solid #ddd;}}
            </style>
        </head>
        <body>
            <div class='invoice-header'>
                <h1>Invoice #{order.InvoiceNumber}</h1>
                <p>Date: {order.Date:yyyy-MM-dd}</p>
            </div>
            
            <div class='barcode'>
                <img src='data:image/png;base64,{GenerateBarcode(order.InvoiceNumber)}' />
            </div>
            
            <table>
                <tr>
                    <th>Item</th>
                    <th>Quantity</th>
                    <th>Price</th>
                    <th>Total</th>
                </tr>
                {string.Join("", order.Items.Select(item => $@"
                <tr>
                    <td>{item.Name}</td>
                    <td>{item.Quantity}</td>
                    <td>${item.Price:F2}</td>
                    <td>${item.Total:F2}</td>
                </tr>"))}
                <tr>
                    <td colspan='3'><strong>Total</strong></td>
                    <td><strong>${order.Total:F2}</strong></td>
                </tr>
            </table>
            
            <div class='footer'>
                <p>Thank you for your business!</p>
                <p>Return policy and terms at: www.example.com/terms</p>
            </div>
        </body>
        </html>";
        
        var pdf = await _renderer.RenderHtmlAsPdfAsync(html);
        
        // Add QR code for mobile payment verification
        var qrStamper = new ImageStamper($"https://api.qrserver.com/v1/create-qr-code/?data={order.PaymentId}")
        {
            HorizontalAlignment = HorizontalAlignment.Right,
            VerticalAlignment = VerticalAlignment.Bottom,
            Width = 100,
            Height = 100
        };
        
        pdf.ApplyStamp(qrStamper);
        
        return pdf.BinaryData;
    }
}
C#

Geçiş Stratejileri: Kütüphaneler Arasında Geçiş Yapmak

Kütüphaneler arasında geçiş yapmayı düşünüyorsanız, işte bir geçiş yaklaşımı:

EvoPdf'den IronPDF'ye Geçiş Yapmak

// EvoPdf pattern
HtmlToPdfConverter evoPdfConverter = new HtmlToPdfConverter();
evoPdfConverter.PdfDocumentOptions.PdfPageSize = PdfPageSize.A4;
byte[] pdfBytes = evoPdfConverter.ConvertUrl(url);

// Equivalent IronPDF pattern
var ironPdfRenderer = new ChromePdfRenderer
{
    RenderingOptions = new ChromePdfRenderOptions
    {
        PaperSize = PdfPaperSize.A4
    }
};
var pdf = ironPdfRenderer.RenderUrlAsPdf(url);
byte[] pdfBytes = pdf.BinaryData;

// Migration wrapper for gradual transition
public interface IPdfConverter
{
    byte[] ConvertHtmlToPdf(string html);
    byte[] ConvertUrlToPdf(string url);
}

public class IronPdfAdapter : IPdfConverter
{
    private readonly ChromePdfRenderer _renderer = new ChromePdfRenderer();
    
    public byte[] ConvertHtmlToPdf(string html)
    {
        return _renderer.RenderHtmlAsPdf(html).BinaryData;
    }
    
    public byte[] ConvertUrlToPdf(string url)
    {
        return _renderer.RenderUrlAsPdf(url).BinaryData;
    }
}

public class EvoPdfAdapter : IPdfConverter
{
    private readonly HtmlToPdfConverter _converter = new HtmlToPdfConverter();
    
    public byte[] ConvertHtmlToPdf(string html)
    {
        return _converter.ConvertHtml(html, "");
    }
    
    public byte[] ConvertUrlToPdf(string url)
    {
        return _converter.ConvertUrl(url);
    }
}

Sonuç: Projeniz İçin Doğru Seçimi Yapmak

Hem .NET hem de EvoPdf, .NET PDF kütüphane ekosisteminde önemli roller oynar, ancak farklı kullanım durumlarını ve geliştirme felsefelerini hedef alırlar.

IronPDF'yi şunlara ihtiyaç duyduğunuzda seçin:

  • Modern web standardı desteği (CSS3, JavaScript çatıları)
  • Sadece oluşturmanın ötesinde kapsamlı PDF manipulasyonu
  • Kurumsal güvenlik özellikleri ve uyum araçları
  • Çapraz platform dağıtım esnekliği
  • Kapsamlı dokümantasyon ve doğrudan mühendislik desteği
  • Diğer belge işlem araçlarıyla entegrasyon

EvoPdf'yi şunlara ihtiyaç duyduğunuzda seçin:

  • Daha düşük maliyetle basit HTML-PDF dönüşümü
  • Düz belgeler için temel PDF üretimi
  • Büyük ekipler için sınırsız geliştirici lisansları
  • Basit HTML içeriğinin daha hızlı işlenmesi
  • Windows merkezli dağıtım ortamı

Karar, nihayetinde özel gereksinimlerinize, bütçe kısıtlamalarınıza ve uzun vadeli ölçeklenebilirlik ihtiyaçlarınıza bağlıdır. Çoğu modern uygulama için sağlam PDF yetenekleri gerektiren, IronPDF'nin kapsamlı özellik seti ve Chrome tabanlı render motoru güçlü bir yatırım yapar. Ancak, EvoPdf, maliyetin birincil endişe olduğu daha basit kullanım durumları için geçerli bir seçenek olmaya devam eder.

IronPDF'in 30 günlük ücretsiz deneme süresi ile yeteneklerini belirli kullanımı senaryolarınızda değerlendirmeyi düşünün. Deneme sürümü, IronPDF özelliklerine erişim sağlar ve bu, ortamınızdaki gerçek performansa dayalı olarak bilinçli bir karar vermenizi sağlar.

Bir PDF kütüphanesinin gerçek maliyetinin lisans fiyatının ötesine geçtiğini unutmayın – geliştirme zamanı, bakım yükü ve uygulamanız büyüdükçe ilave özellikler gereksinimini de hesaba katın. Yalnızca mevcut ihtiyaçlarınızı karşılamakla kalmayıp aynı zamanda gelecekteki gereksinimlerinizle de ölçeklenebilecek kütüphaneyi seçin.

[EvoPdf, ait olduğu respektif sahibinin tescilli ticari markasıdır. Bu site EvoPdf ile bağlantılı, onaylı veya desteklenmemektedir. 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.)}]

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Teknoloji Direktörü

Jacob Mellor, Iron Software'de Baş Teknoloji Yöneticisidir ve C# PDF teknolojisinde öncü bir mühendisdir. Iron Software'ın ana kod tabanının ilk geliştiricisi olarak, CEO Cameron Rimington ile birlikte şirketin ürün mimarisini 50'den fazla kişilik bir şirkete dönüştürmüştür ve NASA, Tesla ve dünya genelindeki devlet kurumlarına hizmet etmektedir.

...
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