KARşıLAşTıRMA

HiQPdf vs IronPDF: Teknik Karşılaştırma Rehberi

.NET geliştiricileri HTML'den PDF'e çözümleri değerlendirdiğinde,HiQPdfWebKit tabanlı render motoru kullanan ticari bir kütüphane olarak öne çıkar.HiQPdfHTML5/CSS3'ü desteklese de, eski WebKit motoru modern JavaScript çerçeveleriyle zorluk yaşayabilir ve ücretsiz versiyonu 3 sayfa ile sınırlıdır ve belirgin su damgaları taşır. Oysa IronPDF, modern bir Chromium tabanlı render motoru kullanır ve tüm .NET platformlarında tam JavaScript desteği ve birleştirilmiş paket sunar.

Bu karşılaştırma, profesyonel geliştiricilere ve mimarlara .NET için PDF ihtiyaçları konusunda bilinçli kararlar vermelerine yardımcı olmak için ilgili teknik yönler üzerinden her iki kütüphaneyi değerlendirir.

HiQPdfGenel Bakış

HiQPdf, WebKit tabanlı bir işleme motoru kullanan ticari bir HTML'den PDF'e kütüphanedir. Kütüphanenin ana dönüştürücü sınıfı, HtmlToPdf, ham byte[] verilerini döndüren ConvertHtmlToMemory() ve ConvertUrlToMemory() gibi yöntemleri içerir. Konfigürasyon, Document nesnesi üzerindeki özellik zincirleri üzerinden yönetilir, örneğin Document.Header, Document.Footer ve Document.PageSize.

HiQPdf'in ücretsiz sürümü önemli bir sınırlama getirir—PDF çıktılarında maksimum 3 sayfa ve girişken bir su damgası bulunur, bu da değerlendirme sırasında daha büyük belgelerde kapsamlı test yapmayı zorlaştırır. Kütüphane, farklı platformlar için birden fazla NuGet paket varyantı sunar (HiQPdf, HiQPdf.Free, HiQPdf.NetCore, HiQPdf.NetCore.x64, HiQPdf.Client) ve belgelendirmede .NET Core veya .NET 5+ desteği açıkça belirtilmez.

Başlıklar ve altbilgiler için HiQPdf, HtmlToPdfVariableElement nesnelerini Document.Header ve Document.Footer koleksiyonlarına ekler. Sayfa numarası yer tutucuları, cari sayfa için {CrtPage} ve toplam sayfalar için {PageCount} söz dizimini kullanır.

IronPDFGenel Bakış

IronPDF, modern bir Chromium render motoru kullanan bir .NET PDF kütüphanesidir ve React, Angular ve Vue dahil HTML5, CSS3 ve JavaScript çerçevelerine tam destek sunar. Kütüphanenin birincil işleme sınıfı, ChromePdfRenderer, PdfDocument nesnelerini döndüren RenderHtmlAsPdf() ve RenderUrlAsPdf() gibi yöntemleri içerir.

IronPDF, .NET 6, 7, 8, 9 ve 10 için belgelenmiş uyumluluğa sahip tüm platformlar için tek bir birleşik NuGet paketi sunar. Konfigürasyon, doğrudan işleyici üzerindeki RenderingOptions özelliklerini kullanır. Başlıklar ve altbilgiler TextHeaderFooter ile CenterText ve FontSize gibi özelliklere kullanabilir. Sayfa numarası yer tutucuları {page} ve {total-pages} söz dizimini kullanır.

Render Motoru ve Uyumluluk Karşılaştırması

Bu kütüphaneler arasındaki temel fark, render motorları ve platform desteğinde yatar.

BağlamHiQPdfIronPDF
Render MotoruWebKit tabanlı (eski)Modern Chromium
Ücretsiz Katman3 sayfa limiti + su damgası30 günlük tam deneme
Modern JS DesteğiSınırlıTam (React, Angular, Vue)
.NET Core/5+ DesteğiBirden çok paket gerekliTek birleştirilmiş paket
API TasarımıKarmaşık özellik zincirleriTemiz, akıcı API
CSS3 DesteğiKısmenDesteklenir
DokümantasyonParçalıKapsamlı
NuGet PaketiBirden çok varyantTek paket

HiQPdf'in WebKit tabanlı motoru, modern JavaScript çerçeveleri ve karmaşık HTML yapıları ile sorunlar yaşayabilecek eski bir teknolojidir. IronPDF'in Chromium motoru, Google Chrome ile aynı render kalitesini sağlayarak modern web içeriğinin doğru dönüşümünü garanti eder.

Kod Karşılaştırması: Ortak PDF İşlemleri

HTML ve URL'den PDF'e Dönüşüm

En temel işlemler, API tasarım farklılıklarını gösterir.

HiQPdf:

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

class Program
{
    static void Main()
    {
        HtmlToPdf htmlToPdfConverter = new HtmlToPdf();
        byte[] pdfBuffer = htmlToPdfConverter.ConvertUrlToMemory("https://example.com");
        System.IO.File.WriteAllBytes("output.pdf", pdfBuffer);

        // Convert HTML string
        string html = "<h1>Hello World</h1><p>This is a PDF document.</p>";
        byte[] pdfFromHtml = htmlToPdfConverter.ConvertHtmlToMemory(html, "");
        System.IO.File.WriteAllBytes("fromhtml.pdf", pdfFromHtml);
    }
}
// NuGet: Install-Package HiQPdf
using HiQPdf;
using System;

class Program
{
    static void Main()
    {
        HtmlToPdf htmlToPdfConverter = new HtmlToPdf();
        byte[] pdfBuffer = htmlToPdfConverter.ConvertUrlToMemory("https://example.com");
        System.IO.File.WriteAllBytes("output.pdf", pdfBuffer);

        // Convert HTML string
        string html = "<h1>Hello World</h1><p>This is a PDF document.</p>";
        byte[] pdfFromHtml = htmlToPdfConverter.ConvertHtmlToMemory(html, "");
        System.IO.File.WriteAllBytes("fromhtml.pdf", pdfFromHtml);
    }
}
Imports HiQPdf
Imports System

Class Program
    Shared Sub Main()
        Dim htmlToPdfConverter As New HtmlToPdf()
        Dim pdfBuffer As Byte() = htmlToPdfConverter.ConvertUrlToMemory("https://example.com")
        System.IO.File.WriteAllBytes("output.pdf", pdfBuffer)

        ' Convert HTML string
        Dim html As String = "<h1>Hello World</h1><p>This is a PDF document.</p>"
        Dim pdfFromHtml As Byte() = htmlToPdfConverter.ConvertHtmlToMemory(html, "")
        System.IO.File.WriteAllBytes("fromhtml.pdf", pdfFromHtml)
    End Sub
End Class
$vbLabelText   $csharpLabel

IronPDF:

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

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

        // Convert HTML string
        string html = "<h1>Hello World</h1><p>This is a PDF document.</p>";
        var pdfFromHtml = renderer.RenderHtmlAsPdf(html);
        pdfFromHtml.SaveAs("fromhtml.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

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

        // Convert HTML string
        string html = "<h1>Hello World</h1><p>This is a PDF document.</p>";
        var pdfFromHtml = renderer.RenderHtmlAsPdf(html);
        pdfFromHtml.SaveAs("fromhtml.pdf");
    }
}
Imports IronPdf
Imports System

Module Program
    Sub Main()
        Dim renderer As New ChromePdfRenderer()
        Dim pdf = renderer.RenderUrlAsPdf("https://example.com")
        pdf.SaveAs("output.pdf")

        ' Convert HTML string
        Dim html As String = "<h1>Hello World</h1><p>This is a PDF document.</p>"
        Dim pdfFromHtml = renderer.RenderHtmlAsPdf(html)
        pdfFromHtml.SaveAs("fromhtml.pdf")
    End Sub
End Module
$vbLabelText   $csharpLabel

HiQPdf bir HtmlToPdf dönüştürücü oluşturur, ham byte[] verilerini almak için ConvertUrlToMemory() veya ConvertHtmlToMemory() çağırır, ardından File.WriteAllBytes() kullanarak manuel olarak diske yazar. ConvertHtmlToMemory() yöntemi, temel URL için ikinci bir parametre gerektirir (gerekli değilse boş string).

IronPDF bir ChromePdfRenderer oluşturur, bir PdfDocument nesnesi almak için RenderUrlAsPdf() veya RenderHtmlAsPdf() çağırır, ardından SaveAs() ile doğrudan kaydeder. API, nesne yönelimli belge işlemeyle daha özlüdür.

Gelişmiş HTML işleme seçenekleri için HTML'yi PDF'ye dönüştürme kılavuzu keşfedin.

Birden Fazla PDF'yi Birleştirme

PDF birleştirme, belge manipülasyonu için farklı yaklaşımları gösterir.

HiQPdf:

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

class Program
{
    static void Main()
    {
        // Create first PDF
        HtmlToPdf converter1 = new HtmlToPdf();
        byte[] pdf1 = converter1.ConvertHtmlToMemory("<h1>First Document</h1>", "");
        System.IO.File.WriteAllBytes("doc1.pdf", pdf1);

        // Create second PDF
        HtmlToPdf converter2 = new HtmlToPdf();
        byte[] pdf2 = converter2.ConvertHtmlToMemory("<h1>Second Document</h1>", "");
        System.IO.File.WriteAllBytes("doc2.pdf", pdf2);

        // Merge PDFs
        PdfDocument document1 = PdfDocument.FromFile("doc1.pdf");
        PdfDocument document2 = PdfDocument.FromFile("doc2.pdf");
        document1.AddDocument(document2);
        document1.WriteToFile("merged.pdf");
    }
}
// NuGet: Install-Package HiQPdf
using HiQPdf;
using System;

class Program
{
    static void Main()
    {
        // Create first PDF
        HtmlToPdf converter1 = new HtmlToPdf();
        byte[] pdf1 = converter1.ConvertHtmlToMemory("<h1>First Document</h1>", "");
        System.IO.File.WriteAllBytes("doc1.pdf", pdf1);

        // Create second PDF
        HtmlToPdf converter2 = new HtmlToPdf();
        byte[] pdf2 = converter2.ConvertHtmlToMemory("<h1>Second Document</h1>", "");
        System.IO.File.WriteAllBytes("doc2.pdf", pdf2);

        // Merge PDFs
        PdfDocument document1 = PdfDocument.FromFile("doc1.pdf");
        PdfDocument document2 = PdfDocument.FromFile("doc2.pdf");
        document1.AddDocument(document2);
        document1.WriteToFile("merged.pdf");
    }
}
Imports HiQPdf
Imports System

Module Program
    Sub Main()
        ' Create first PDF
        Dim converter1 As New HtmlToPdf()
        Dim pdf1 As Byte() = converter1.ConvertHtmlToMemory("<h1>First Document</h1>", "")
        System.IO.File.WriteAllBytes("doc1.pdf", pdf1)

        ' Create second PDF
        Dim converter2 As New HtmlToPdf()
        Dim pdf2 As Byte() = converter2.ConvertHtmlToMemory("<h1>Second Document</h1>", "")
        System.IO.File.WriteAllBytes("doc2.pdf", pdf2)

        ' Merge PDFs
        Dim document1 As PdfDocument = PdfDocument.FromFile("doc1.pdf")
        Dim document2 As PdfDocument = PdfDocument.FromFile("doc2.pdf")
        document1.AddDocument(document2)
        document1.WriteToFile("merged.pdf")
    End Sub
End Module
$vbLabelText   $csharpLabel

IronPDF:

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

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();

        // Create first PDF
        var pdf1 = renderer.RenderHtmlAsPdf("<h1>First Document</h1>");
        pdf1.SaveAs("doc1.pdf");

        // Create second PDF
        var pdf2 = renderer.RenderHtmlAsPdf("<h1>Second Document</h1>");
        pdf2.SaveAs("doc2.pdf");

        // Merge PDFs
        var merged = PdfDocument.Merge(pdf1, pdf2);
        merged.SaveAs("merged.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();

        // Create first PDF
        var pdf1 = renderer.RenderHtmlAsPdf("<h1>First Document</h1>");
        pdf1.SaveAs("doc1.pdf");

        // Create second PDF
        var pdf2 = renderer.RenderHtmlAsPdf("<h1>Second Document</h1>");
        pdf2.SaveAs("doc2.pdf");

        // Merge PDFs
        var merged = PdfDocument.Merge(pdf1, pdf2);
        merged.SaveAs("merged.pdf");
    }
}
Imports IronPdf
Imports System

Module Program
    Sub Main()
        Dim renderer = New ChromePdfRenderer()

        ' Create first PDF
        Dim pdf1 = renderer.RenderHtmlAsPdf("<h1>First Document</h1>")
        pdf1.SaveAs("doc1.pdf")

        ' Create second PDF
        Dim pdf2 = renderer.RenderHtmlAsPdf("<h1>Second Document</h1>")
        pdf2.SaveAs("doc2.pdf")

        ' Merge PDFs
        Dim merged = PdfDocument.Merge(pdf1, pdf2)
        merged.SaveAs("merged.pdf")
    End Sub
End Module
$vbLabelText   $csharpLabel

HiQPdf, PDF'leri öncelikle diske kaydetmeyi, ardından PdfDocument.FromFile() ile yüklemeyi, biri diğerine eklemek için AddDocument() kullanmayı ve son olarak sonucu kaydetmek için WriteToFile() kullanmayı gerektirir. Bu, ilk belgeyi yerinde değiştirir.

IronPDF, yeni bir birleşik belge döndüren statik PdfDocument.Merge() yöntemiyle belgeleri bellekte doğrudan birleştirebilir. Bu yaklaşım daha temizdir ve ara dosya G/Ç'ye ihtiyaç duymaz.

Sayfa Numaralı Başlıklar ve Alt Bilgiler

Üst bilgi ve alt bilgi yapılandırması, dinamik içerik için farklı yaklaşımları gösterir.

HiQPdf:

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

class Program
{
    static void Main()
    {
        HtmlToPdf htmlToPdfConverter = new HtmlToPdf();

        // Add header
        htmlToPdfConverter.Document.Header.Height = 50;
        HtmlToPdfVariableElement headerHtml = new HtmlToPdfVariableElement("<div style='text-align:center'>Page Header</div>", "");
        htmlToPdfConverter.Document.Header.Add(headerHtml);

        // Add footer with page number
        htmlToPdfConverter.Document.Footer.Height = 50;
        HtmlToPdfVariableElement footerHtml = new HtmlToPdfVariableElement("<div style='text-align:center'>Page {CrtPage} of {PageCount}</div>", "");
        htmlToPdfConverter.Document.Footer.Add(footerHtml);

        byte[] pdfBuffer = htmlToPdfConverter.ConvertHtmlToMemory("<h1>Document with Headers and Footers</h1>", "");
        System.IO.File.WriteAllBytes("header-footer.pdf", pdfBuffer);
    }
}
// NuGet: Install-Package HiQPdf
using HiQPdf;
using System;

class Program
{
    static void Main()
    {
        HtmlToPdf htmlToPdfConverter = new HtmlToPdf();

        // Add header
        htmlToPdfConverter.Document.Header.Height = 50;
        HtmlToPdfVariableElement headerHtml = new HtmlToPdfVariableElement("<div style='text-align:center'>Page Header</div>", "");
        htmlToPdfConverter.Document.Header.Add(headerHtml);

        // Add footer with page number
        htmlToPdfConverter.Document.Footer.Height = 50;
        HtmlToPdfVariableElement footerHtml = new HtmlToPdfVariableElement("<div style='text-align:center'>Page {CrtPage} of {PageCount}</div>", "");
        htmlToPdfConverter.Document.Footer.Add(footerHtml);

        byte[] pdfBuffer = htmlToPdfConverter.ConvertHtmlToMemory("<h1>Document with Headers and Footers</h1>", "");
        System.IO.File.WriteAllBytes("header-footer.pdf", pdfBuffer);
    }
}
Imports HiQPdf
Imports System

Class Program
    Shared Sub Main()
        Dim htmlToPdfConverter As New HtmlToPdf()

        ' Add header
        htmlToPdfConverter.Document.Header.Height = 50
        Dim headerHtml As New HtmlToPdfVariableElement("<div style='text-align:center'>Page Header</div>", "")
        htmlToPdfConverter.Document.Header.Add(headerHtml)

        ' Add footer with page number
        htmlToPdfConverter.Document.Footer.Height = 50
        Dim footerHtml As New HtmlToPdfVariableElement("<div style='text-align:center'>Page {CrtPage} of {PageCount}</div>", "")
        htmlToPdfConverter.Document.Footer.Add(footerHtml)

        Dim pdfBuffer As Byte() = htmlToPdfConverter.ConvertHtmlToMemory("<h1>Document with Headers and Footers</h1>", "")
        System.IO.File.WriteAllBytes("header-footer.pdf", pdfBuffer)
    End Sub
End Class
$vbLabelText   $csharpLabel

IronPDF:

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

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();

        // Configure header and footer
        renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
        {
            CenterText = "Page Header",
            FontSize = 12
        };

        renderer.RenderingOptions.TextFooter = new TextHeaderFooter()
        {
            CenterText = "Page {page} of {total-pages}",
            FontSize = 10
        };

        var pdf = renderer.RenderHtmlAsPdf("<h1>Document with Headers and Footers</h1>");
        pdf.SaveAs("header-footer.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();

        // Configure header and footer
        renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
        {
            CenterText = "Page Header",
            FontSize = 12
        };

        renderer.RenderingOptions.TextFooter = new TextHeaderFooter()
        {
            CenterText = "Page {page} of {total-pages}",
            FontSize = 10
        };

        var pdf = renderer.RenderHtmlAsPdf("<h1>Document with Headers and Footers</h1>");
        pdf.SaveAs("header-footer.pdf");
    }
}
Imports IronPdf
Imports IronPdf.Rendering
Imports System

Class Program
    Shared Sub Main()
        Dim renderer As New ChromePdfRenderer()

        ' Configure header and footer
        renderer.RenderingOptions.TextHeader = New TextHeaderFooter() With {
            .CenterText = "Page Header",
            .FontSize = 12
        }

        renderer.RenderingOptions.TextFooter = New TextHeaderFooter() With {
            .CenterText = "Page {page} of {total-pages}",
            .FontSize = 10
        }

        Dim pdf = renderer.RenderHtmlAsPdf("<h1>Document with Headers and Footers</h1>")
        pdf.SaveAs("header-footer.pdf")
    End Sub
End Class
$vbLabelText   $csharpLabel

HiQPdf, Document.Header ve Document.Footer özellikleri aracılığıyla başlıkları ve altbilgileri konfigüre eder, Height ayarlanır ve HtmlToPdfVariableElement nesneleri eklenir. Sayfa numarası yer tutucuları, geçerli sayfa için {CrtPage} ve toplam sayfalar için {PageCount} kullanır.

IronPDF, RenderingOptions.TextHeader ve RenderingOptions.TextFooter ile TextHeaderFooter nesnelerini kullanır. CenterText ve FontSize gibi özellikler doğrudan konfigürasyon sağlar. Sayfa numarası yer tutucuları {page} ve {total-pages} kullanır.

Üst bilgi ve alt bilgi yapılandırması hakkında daha fazla bilgi edinin IronPDF eğitimlerinde.

API Eslestirme Referansi

HiQPdf göçünü veya yetenekleri karşılaştıran geliştiriciler için bu eşleştirme eşdeğer işlemleri gösterir:

Ana Sınıf Eşleştirmesi

HiQPdf SınıfıIronPDF Sınıfı
HtmlToPdfChromePdfRenderer
PdfDocumentPdfDocument
PdfPagepdf.Pages[i]
PdfDocumentControlRenderingOptions
PdfHeader / PdfDocumentHeaderHtmlHeaderFooter
PdfFooter / PdfDocumentFooterHtmlHeaderFooter
HtmlToPdfVariableElementHtmlHeaderFooter.HtmlFragment

Dönüşüm Yöntemi Eşleştirmesi

HiQPdf YöntemiIronPDF Yöntemi
ConvertHtmlToMemory(html, baseUrl)RenderHtmlAsPdf(html, baseUrl)
ConvertUrlToMemory(url)RenderUrlAsPdf(url)
ConvertHtmlToFile(html, baseUrl, path)RenderHtmlAsPdf(html).SaveAs(path)
ConvertUrlToFile(url, path)RenderUrlAsPdf(url).SaveAs(path)

Özellik Eşleştirmesi

HiQPdf ÖzelliğiIronPDF Özelliği
BrowserWidthRenderingOptions.ViewPortWidth
BrowserHeightRenderingOptions.ViewPortHeight
Document.PageSizeRenderingOptions.PaperSize
Document.PageOrientationRenderingOptions.PaperOrientation
Document.Margins.TopRenderingOptions.MarginTop
Document.Margins.BottomRenderingOptions.MarginBottom
Document.Margins.LeftRenderingOptions.MarginLeft
Document.Margins.RightRenderingOptions.MarginRight
Document.Header.HeightHtmlHeader.MaxHeight
Document.Footer.HeightHtmlFooter.MaxHeight
SerialNumberIronPdf.License.LicenseKey

Yer Tutucu Sözdizimi Eşleştirmesi

Kütüphaneler arasında üst bilgi ve alt bilgi yer tutucuları farklıdır:

HiQPdfIronPDF
{CrtPage}{page}
{PageCount}{total-pages}
{CrtPageUri}{url}
{CrtPageTitle}{html-title}

Özellik Karsilastirma Ozeti

ÖzellikHiQPdfIronPDF
Chromium Render❌ (WebKit)
Modern JavaScript (React, Angular, Vue)⚠️ Sınırlı
Tam CSS3 Desteği⚠️ Kısmi
.NET 6/7/8/9/10 Desteği⚠️ Belirsiz belge
Tek NuGet Paketi❌ (Birden çok varyant)
Ücretsiz Tam Deneme❌ (3 sayfa limiti + su damgası)✅ (30 günlük)
HTML'den PDF'ye
URL'den PDF'ye
PDF Merging✅(AddDocument)✅(Merge)
Üstbilgi/Altbilgi✅(HtmlToPdfVariableElement)✅(TextHeaderFooter)

HiQPdf'den IronPDF'ye Geçmeyi Düşünen Ekipler

Geliştirme ekipleri, HiQPdf'den IronPDF'ye geçiş yapmayı birkaç nedenden dolayı değerlendirir:

Sınırlayıcı Ücretsiz Sürüm: HiQPdf'nin ücretsiz sürümü, girişken su damgaları ile birlikte 3 sayfa limiti getirir, bu da üretimde kullanımı neredeyse imkansız ve kapsamlı bir değerlendirme yapmayı zorlaştırır. IronPDF, sayfa sınırları olmadan 30 günlük tam özellikli bir deneme sunar.

Eski WebKit Motoru: HiQPdf'nin WebKit tabanlı render motoru, React, Angular ve Vue gibi modern JavaScript çerçeveleriyle zorluk yaşar. IronPDF'in Chromium motoru, Google Chrome ile aynı render kalitesini sunarak karmaşık modern web içeriğinin doğru dönüştürülmesini garanti eder.

Belirsiz .NET Core Desteği:HiQPdfbelgelendirmesi, .NET Core veya .NET 5+ desteğini net bir şekilde açıklamıyor ve kütüphane, farklı platformlar için ayrı NuGet paketleri gerektiriyor. IronPDF, belgelenmiş .NET 6, 7, 8, 9 ve 10 desteğiyle tek bir birleşik paket sunar.

Parçalı NuGet Paketleri: HiQPdf, farklı senaryolar için farklı paket varyantları (HiQPdf, HiQPdf.Free, HiQPdf.NetCore, HiQPdf.NetCore.x64, HiQPdf.Client) gerektiriyor. IronPDF, tüm platformlar için tek bir paket kullanır.

Karmaşık API Tasarımı: HiQPdf, Document.Header.Height ve Document.Footer.Add() gibi özellik zincirleri aracılığıyla ayrıntılı bir konfigürasyon gerektirir. IronPDF'nin RenderingOptions özellikleri olan akıcı API'si daha temiz bir konfigürasyon sağlar.

Farklı Yer Tutucu Söz Dizimi:HiQPdf{CrtPage} ve {PageCount} yer tutucularını kullanırken,IronPDF{page} ve {total-pages} kullanır. Geçiş, tüm üst bilgi/alt bilgi şablonlarını güncellemeyi gerektirir.

Gucler ve Dikkat Edilecek Noktalar

HiQPdf Güçlü Yönleri

  • HTML5/CSS3 Destegi: HTML5 ve CSS3 render etme yetenekleri saglar
  • Kurulmus Kutuphane: Mevcut bir kullanıcı tabaniyla ticari kutuphane

HiQPdf Dusunceleri

  • WebKit Motoru: Sinirli modern JavaScript destegiyle eski bir rendering teknolojisi
  • 3-Sayfa Limiti: Ücretsiz sürüm ciddi sekilde sinirli
  • Parcalanmis Paketler: Farkli platformlar icin birden fazla NuGet paketi
  • Bilinmeyen .NET Destegi: Dokümantasyon modern .NET uyumunu acikca belirtmez
  • Karmaşık Özellik Zincirleri: Icenice ozelikler araciligiyla detayli konfigrasyon
  • Nokta Tabanli Birimler: Olcumler icin inç basina 72 nokta kullanir

IronPDF'nin Gucleri

  • Chromium Motoru: Tam JavaScript destegiyle modern render etme
  • Birlesik Paket: Tüm platformlar icin tek bir NuGet paketi
  • Tam Deneme: 30 günlük tüm özelliklerin etkin oldugu deneme
  • Modern .NET Destegi: .NET 6, 7, 8, 9, 10 icin belgelenmis
  • Temiz API: Akıcı RenderingOptions konfigürasyonu
  • Kapsamlı Kaynaklar: Kapsamlı eğitimler ve dokumentasyon

IronPDF dusunulecekler

  • Ticari Lisans: Uretim kullanimi icin gereklidir
  • Milimetre Birimleri: Marjinler icin nokta yerine milimetre kullanir

Sonuç

HiQPdf ve IronPDF, .NET uygulamalarinda HTML-to-PDF teknolojisinin farkli jenerasyonlarini temsil eder. HiQPdf'nin WebKit tabanli motoru, temel HTML5/CSS3 destegi saglar, ancak modern JavaScript cerceveleriyle zorluk ceker ve coklu parcalanmis paketlerle .NET Core uyumlulugu belirsizdir. Ücretsiz surumde 3-sayfa limiti degerlendirmeyi ciddi sekilde kisitlar.

IronPDF, React, Angular ve Vue uygulamalari icin tam JavaScript destegiyle modern bir Chromium tabanli alternatif sunar. Tek birlesik NuGet paketiyle belgelenmis .NET 6/7/8/9/10 destegi dağıtimi basitlestirir ve temiz API tasarimi konfigrasyon karmasikligini azaltir.

Kurumlar .NET 10, C# 14 ve 2026'ya kadar uygulama geliştirme planlarken, eski WebKit render etmesyonu ile parcalanmis paketler ve birlesik destek ile modern Chromium render etmesi arasindaki secim, geliştirme hizini ve cikti kalitesini ciddi sekilde etkiler. Modern JavaScript cercevesi destegi, net .NET uyumlulugu veya duzenli paket yonetimini gerektiren takimlar, IronPDF'nin bu gereksinimleri etkili bir sekilde karsilayacagini gorecektir.

IronPDF'yi ücretsiz bir deneme ile degerlendirmeye başlayin ve kapsamli dokümantasyonu inceleyerek ozel gereksinimleriniz icin uygunlugunu degerlendirin.