KARşıLAşTıRMA

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

.NET geliştiricileri HTML'den PDF'e çözümleri değerlendirirken, HiQPdf, WebKit tabanlı bir işleme motoru kullanan ticari bir kütüphane olarak öne çıkıyor.HiQPdfHTML5/CSS3 desteklemekte olsa da, eski WebKit motoru modern JavaScript çerçeveleriyle zorlanabilir ve ücretsiz versiyonu 3 sayfa ile sınırlıdır ve fark edilir filigran içermektedir. Buna karşılık,IronPDFbir modern Chromium tabanlı işleme motoru kullanmakta, tam JavaScript desteği ve tüm .NET platformları için birleştirilmiş bir paket sunmaktadır.

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

HiQPdfGenel Bakışı

HiQPdf, WebKit tabanlı bir işleme motoru kullanan ticari bir HTML'den PDF'e kütüphanesidir. Kütüphanenin ana dönüştürücü sınıfı, HtmlToPdf, ConvertHtmlToMemory() ve ConvertUrlToMemory() gibi yöntemler içerir ve ham byte[] verisi döndürür. Yapılandırma, Document nesnesi üzerindeki özellik zincirleri aracılığıyla, örneğin Document.Header, Document.Footer ve Document.PageSize gibi, yönetilir.

HiQPdf'in ücretsiz versiyonu önemli bir sınırlama içerir: PDF çıktılarında 3 sayfa maksimum sınır ve müdahaleci bir filigran, bu da değerlendirme sırasında daha büyük belgeler üzerinde 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 belgelerde .NET Core veya .NET 5+ desteği açık bir şekilde belirtilmez.

Başlıklar ve alt bilgiler için HiQPdf, HtmlToPdfVariableElement nesnelerini Document.Header ve Document.Footer koleksiyonlarına ekleyerek kullanır. Sayfa numarası yer tutucuları, mevcut sayfa için {CrtPage} ve toplam sayfa için {PageCount} sözdizimini kullanır.

IronPDFİncelemesi

IronPDF, modern bir Chromium işleme motoru kullanan, HTML5, CSS3 ve React, Angular ve Vue dahil olmak üzere JavaScript çerçevelerinin tam desteğini sağlayan bir .NET PDF kütüphanesidir. Kütüphanenin birincil işleme sınıfı ChromePdfRenderer, RenderHtmlAsPdf() ve RenderUrlAsPdf() gibi yöntemler içerir ve PdfDocument nesneleri döndürür.

IronPDF, tüm platformlar için belgelenmiş .NET 6, 7, 8, 9 ve 10 uyumluluğuna sahip tek bir birleşik NuGet paketi sunar. Yapılandırma doğrudan işlemcide RenderingOptions özelliklerini kullanır. Başlıklar ve alt bilgiler, TextHeaderFooter ile CenterText ve FontSize gibi özellikler kullanabilir. Sayfa numarası yer tutucuları {page} ve {total-pages} sözdizimini kullanır.

İşleme Motoru ve Uyumluluk Karşılaştırması

Bu kütüphaneler arasındaki temel fark, işleme motorlarında ve platform desteğindedir.

AspektHiQPdfIronPDF
Render MotoruWebKit tabanlı (eski)Modern Krom
Ücretsiz Katman3 sayfa sınırı + filigran30 günlük tam deneme
Modern JS DesteğiSınırlıTam (React, Angular, Vue)
.NET Core/5+ DesteğiBirden fazla paket gerekiyorTek birleştirilmiş paket
API TasarımıKarmaşık özellik zincirleriTemiz akıcı API
CSS3 DesteğiKısmiDesteklenen
DokümantasyonParçalanmışTam
NuGet PaketiBirden fazla varyantTek paket

HiQPdf'in WebKit tabanlı motoru, modern JavaScript çerçeveleri ve karmaşık HTML yapıları ile zorluklar yaşayabilen eski bir teknolojidir. IronPDF'in Chromium motoru, modern web içeriğinin doğru bir şekilde dönüştürülmesini sağlar ve Google Chrome ile aynı işleme kalitesini sunar.

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

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

En temel operasyonlar, 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[] verisi almak için ConvertUrlToMemory() veya ConvertHtmlToMemory() çağırır ve ardından File.WriteAllBytes() kullanarak diske elle yazar. ConvertHtmlToMemory() yöntemi, temel URL için (gerekli değilse boş string) ikinci bir parametre gerektirir.

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

Gelişmiş HTML renderleme seçenekleri için, HTML to PDF dönüştürme kılavuzunu keşfedin.

Birden Fazla PDF'yi Birleştirme

PDF birleştirme, belge manipülasyonuna 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 önce diske kaydetmeyi, ardından PdfDocument.FromFile() ile yüklemeyi, birini diğerine eklemek için AddDocument() kullanmayı ve nihayetinde sonucu kaydetmek için WriteToFile() kullanmayı gerektirir. Bu, ilk belgeyi yerinde değiştirebilir.

IronPDF, yeni bir birleştirilmiş belge döndüren statik PdfDocument.Merge() yöntemini kullanarak belgeleri doğrudan bellekte birleştirebilir. Bu yaklaşım daha temizdir ve ara dosya I/O'su gerektirmez.

Sayfa Numaralı Başlıklar ve Alt Bilgiler

Başlık ve alt bilgi yapılandırması, dinamik içeriğe olan 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, başlıkları ve alt bilgileri Document.Header ve Document.Footer özellikleri aracılığıyla yapılandırır, Height ayarlar ve HtmlToPdfVariableElement nesneleri ekler. Sayfa numarası yer tutucuları mevcut sayfa için {CrtPage} ve toplam sayfa için {PageCount} kullanır.

IronPDF, TextHeaderFooter nesneleri ile RenderingOptions.TextHeader ve RenderingOptions.TextFooter'yu kullanır. CenterText ve FontSize gibi özellikler doğrudan yapılandırma sağlar. Sayfa numarası yer tutucuları {page} ve {total-pages} kullanır.

IronPDF derslerinden başlık ve alt bilgi yapılandırması hakkında daha fazla bilgi edinin.

API Eşleme Başvurusu

HiQPdf geçişini değerlendiren veya özellikleri karşılaştıran geliştiriciler için, bu eşlemeler eşdeğer işlemleri gösterir:

Ana Sınıf Eşlemesi

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

Dönüştürme Yöntemi Eşlemesi

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şlemesi

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şlemesi

Kütüphaneler arasında başlık ve alt bilgi yer tutucuları farklılık gösterir:

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

Özellik Karşılaştırması Özeti

ÖzellikHiQPdfIronPDF
Chromium İşlemeHayır (WebKit)Evet
Modern JavaScript (React, Angular, Vue)SınırlıEvet
Tam CSS3 DesteğiSınırlıEvet
.NET 6/7/8/9/10 DesteğiEvetEvet
Tek NuGet PaketiHayır (Birden çok varyant)Evet
Ücretsiz Tam DenemeHayır (3 sayfa sınırı + filigran)Evet (30 günlük)
HTML'den PDF'yeEvetEvet
URL'yi PDF'ye çevirEvetEvet
PDF BirleştirmeEvet (AddDocument)Evet (Merge)
Başlıklar/AltbilgilerEvet (HtmlToPdfVariableElement)Evet (TextHeaderFooter)

Ekipler HiQPdf'ten IronPDF'e Geçmeyi Düşündüğünde

Geliştirme ekipleri, HiQPdf'ten IronPDF'e geçmeyi birkaç nedenle değerlendirir:

Sınırlayıcı Ücretsiz Versiyon: HiQPdf'in ücretsiz versiyonu, üretim için kullanılmasını neredeyse olanaksız kılan, müdahaleci filigranlı 3 sayfa sınırı koyar ve kapsamlı değerlendirmeyi zorlaştırır. IronPDF, sayfa sınırı olmayan 30 günlük tam özellikli deneme sunar.

Eski WebKit Motoru: HiQPdf'in WebKit tabanlı işleme motoru, React, Angular ve Vue gibi modern JavaScript çerçeveleriyle zorlanır. IronPDF'in Chromium motoru, modern karmaşık web içeriğinin tam doğru dönüştürülmesini sağlamak için Google Chrome ile aynı işleme kalitesini sunar.

Belirsiz .NET Core Desteği:HiQPdfbelgeleri, .NET Core veya .NET 5+ desteğini açık bir şekilde belirlememekte ve kütüphane, farklı platformlar için ayrı NuGet paketleri gerektirmektedir. IronPDF, .NET 6, 7, 8, 9 ve 10 için belgelenmiş destekte tek bir birleştirilmiş paket sunmaktadır.

Parçalanmış NuGet Paketleri: HiQPdf, farklı senaryolar için farklı paket varyantları gerektirir (HiQPdf, HiQPdf.Free, HiQPdf.NetCore, HiQPdf.NetCore.x64, HiQPdf.Client).IronPDFtüm platformlar için tek bir paketi kullanmaktadır.

Karmaşık API Tasarımı: HiQPdf, Document.Header.Height ve Document.Footer.Add() gibi özellik zincirleri aracılığıyla ayrıntılı yapılandırma gerektirir. IronPDF'in RenderingOptions özellikli akıcı API'si daha temiz bir yapılandırma sağlar.

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

Güçlü Yönler ve Dikkat Edilmesi Gerekenler

HiQPdfGüçlü Yönleri

  • HTML5/CSS3 Desteği: HTML5 ve CSS3 işleme yetenekleri sağlar
  • Kurulmuş Kütüphane: Mevcut kullanıcı tabanına sahip ticari bir kütüphane

HiQPdfDikkat Edilmesi Gerekenler

  • WebKit Motoru: Modern JavaScript desteklemede sınırlı, eski işleme teknolojisi
  • 3 Sayfa Sınırı: Ücretsiz sürüm ciddi şekilde kısıtlı
  • Parçalanmış Paketler: Farklı platformlar için birden fazla NuGet paketi
  • Belirsiz .NET Desteği: Belgeler modern .NET uyumluluğunu açıkça belirtmez
  • Karmaşık Özellik Zincirleri: İç içe geçmiş özellikler aracılığıyla ayrıntılı yapılandırma
  • Puan Tabanlı Birimler: Ölçümler için inç başına 72 puan kullanır

IronPDFGüçlü Yönleri

  • Chromium Motoru: Tam JavaScript desteği ile modern işleme
  • Birleştirilmiş Paket: Tüm platformlar için tek NuGet paketi
  • Tam Deneme: 30 günlük tam özellikli deneme
  • Modern .NET Desteği: .NET 6, 7, 8, 9, 10 için belgelenmiştir
  • Temiz API: Akıcı RenderingOptions yapılandırma
  • Kapsamlı Kaynaklar: Kapsamlı öğreticiler ve dokümantasyon

IronPDFDikkate Alınacaklar

  • Ticari Lisans: Üretimde kullanım için gereklidir
  • Milimetre Birimleri: Marjinler için puanlar yerine milimetre kullanır

Sonuç

HiQPdf ve IronPDF, .NET uygulamalarında HTML'den PDF'e teknoloji anlamında farklı nesilleri temsil ediyor. HiQPdf'in WebKit tabanlı motoru, modern JavaScript çerçeveleri ile zorlanmakta ve birden fazla parçalanmış paketle .NET Core uyumluluğu belirsizliği sunmaktadır. Ücretsiz sürümdeki 3 sayfa sınırı, değerlendirmeyi önemli ölçüde kısıtlar.

IronPDF, modern bir Chromium tabanlı alternatif sunar ve React, Angular ve Vue uygulamaları için tam JavaScript desteği sağlar. Belgelendirilmiş .NET 6/7/8/9/10 uyumluluğuna sahip tek birleştirilmiş NuGet paketi, dağıtımı basitleştirir ve temiz API tasarımı yapılandırma karmaşıklığını azaltır.

Organizasyonlar, .NET 10, C# 14 ve 2026 yılına kadar uygulama geliştirmeyi planlarken, eski WebKit işleme ile parçalanmış paketler ve birleştirilmiş destekle modern Chromium işleme arasında seçim yapmak, hem geliştirme hızı hem de çıkış kalitesini önemli ölçüde etkiler. Modern JavaScript çerçeve desteği, net .NET uyumluluğu veya standartlaştırılmış paket yönetimi gerektiren ekipler, IronPDF'in bu gereksinimleri etkili bir şekilde karşıladığını görecektir.

ücretsiz deneme sürümü ileIronPDFdeğerlendirmeye başlayın ve özel gereksinimlerinizle uygunluğunu değerlendirmek için kapsamlı belgeleri keşfedin.

Lütfen dikkate alınHiQPdf ilgili sahibinin tescilli bir ticari markasıdır. Bu site,HiQPdfSoftware ile bağlantılı, onaylanmış ya da sponsor edilmiş 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.