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ğlam | HiQPdf | IronPDF |
|---|---|---|
| Render Motoru | WebKit tabanlı (eski) | Modern Chromium |
| Ücretsiz Katman | 3 sayfa limiti + su damgası | 30 günlük tam deneme |
| Modern JS Desteği | Sınırlı | Tam (React, Angular, Vue) |
| .NET Core/5+ Desteği | Birden çok paket gerekli | Tek birleştirilmiş paket |
| API Tasarımı | Karmaşık özellik zincirleri | Temiz, akıcı API |
| CSS3 Desteği | Kısmen | Desteklenir |
| Dokümantasyon | Parçalı | Kapsamlı |
| NuGet Paketi | Birden çok varyant | Tek 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 ClassIronPDF:
// 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 ModuleHiQPdf 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 ModuleIronPDF:
// 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 ModuleHiQPdf, 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 ClassIronPDF:
// 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 ClassHiQPdf, 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ı |
|---|---|
HtmlToPdf | ChromePdfRenderer |
PdfDocument | PdfDocument |
PdfPage | pdf.Pages[i] |
PdfDocumentControl | RenderingOptions |
PdfHeader / PdfDocumentHeader | HtmlHeaderFooter |
PdfFooter / PdfDocumentFooter | HtmlHeaderFooter |
HtmlToPdfVariableElement | HtmlHeaderFooter.HtmlFragment |
Dönüşüm Yöntemi Eşleştirmesi
| HiQPdf Yöntemi | IronPDF 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ği | IronPDF Özelliği |
|---|---|
BrowserWidth | RenderingOptions.ViewPortWidth |
BrowserHeight | RenderingOptions.ViewPortHeight |
Document.PageSize | RenderingOptions.PaperSize |
Document.PageOrientation | RenderingOptions.PaperOrientation |
Document.Margins.Top | RenderingOptions.MarginTop |
Document.Margins.Bottom | RenderingOptions.MarginBottom |
Document.Margins.Left | RenderingOptions.MarginLeft |
Document.Margins.Right | RenderingOptions.MarginRight |
Document.Header.Height | HtmlHeader.MaxHeight |
Document.Footer.Height | HtmlFooter.MaxHeight |
SerialNumber | IronPdf.License.LicenseKey |
Yer Tutucu Sözdizimi Eşleştirmesi
Kütüphaneler arasında üst bilgi ve alt bilgi yer tutucuları farklıdır:
| HiQPdf | IronPDF |
|---|---|
{CrtPage} | {page} |
{PageCount} | {total-pages} |
{CrtPageUri} | {url} |
{CrtPageTitle} | {html-title} |
Özellik Karsilastirma Ozeti
| Özellik | HiQPdf | IronPDF |
|---|---|---|
| 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ı
RenderingOptionskonfigü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.
