HiQPdf'ten IronPDF'e C# ile Nasıl Geçilir
HiQPdf, üretim uygulamalarını etkileyen çeşitli kısıtlayıcı sınırlamalara sahip ticari bir HTML'den PDF'ye kütüphanedir:
-
Sınırlayıcı "Ücretsiz" Versiyon: Ücretsiz versiyon, 3 sayfa sınırı ve rahatsız edici filigranlar ile yükümlüdür—tam belge oluşturmayı gerektiren üretim iş yükleri için esasen kullanılmaz hale gelir.
-
Daha Eski WebKit Motoru: HiQPdf, React, Angular ve Vue gibi modern JavaScript framework'leriyle mücadele eden eski bir WebKit tabanlı gösterim motoru kullanır.
-
Belli Olmayan .NET Core Desteği: Belgeler .NET Core / .NET 5+ desteğini açık bir şekilde belirtmez, bu da modern uygulama geliştirmede belirsizliğe yol açar.
-
Parçalanmış Paketler: Farklı platformlar için birden fazla NuGet paketi (HiQPdf, HiQPdf.Free, HiQPdf.NetCore, HiQPdf.NetCore.x64, HiQPdf.Client) bağımlılık yönetimini karmaşıklaştırır.
-
Karmaşık API: Kısa ve sezgisel yöntemler yerine
Document,Header,Footerözellik zincirleri aracılığıyla ayrıntılı yapılandırma gerektirir. - Sınırlı JavaScript Desteği: WebKit motoru, modern JavaScript framework'leri tarafından üretilen içeriğin ve karmaşık dinamik düzenlerin görüntülenmesinde zorluklar yaşar.
HiQPdf vsIronPDFKarşılaştırması
| 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 |
2025 ve 2026 boyunca .NET 10 ve C# 14 benimsemeyi planlayan ekipler için IronPDF, en son .NET sürümleri için belgelenmiş destek ve modern bir Chromium gösterim motoru ile geleceğe yönelik bir temel sağlar.
Göç Karmaşıklık Değerlendirmesi
Özelliklere Göre Tahmini Çaba
| Özellik | Göç Karmaşıklığı |
|---|---|
| HTML'den PDF'ye | Çok Düşük |
| URL'den PDF'ye | Çok Düşük |
| PDF'leri birleştir | Low |
| Üstbilgi/Altbilgi | Medium |
| Sayfa Boyutu/Kenar Boşlukları | Low |
| Tetikleme Modu/Gecikmeler | Low |
Paradigma Değişikliği
BuHiQPdfgeçişinde temel değişiklik, mülk zincir yapılandırmasından akıcı işlem seçeneklerine: geçiştir.
HiQPdf: converter.Document.Header.Height = 50;
converter.Document.Header.Add(new HtmlToPdfVariableElement(...));
IronPDF: renderer.RenderingOptions.TextHeader = new TextHeaderFooter() { ... };
Başlamadan Önce
Önkoşullar
- .NET Sürümü: IronPDF, .NET Framework 4.6.2+ ve .NET Core 3.1+ / .NET 5/6/7/8/9+ destekler
- Lisans Anahtarı:IronPDFlisans anahtarınızı ironpdf.com'dan alın
- HiQPdf'yi Kaldırın: TümHiQPdfNuGet paketi varyantlarını kaldırmayı planlayın
TümHiQPdfKullanımını Belirleyin
# FindHiQPdfnamespace usage
grep -r "using HiQPdf\|HtmlToPdf\|PdfDocument" --include="*.cs" .
# Find header/footer usage
grep -r "\.Header\.\|\.Footer\.\|HtmlToPdfVariableElement" --include="*.cs" .
# Find placeholder syntax
grep -r "CrtPage\|PageCount" --include="*.cs" .
# Find NuGet references
grep -r "HiQPdf" --include="*.csproj" .
# FindHiQPdfnamespace usage
grep -r "using HiQPdf\|HtmlToPdf\|PdfDocument" --include="*.cs" .
# Find header/footer usage
grep -r "\.Header\.\|\.Footer\.\|HtmlToPdfVariableElement" --include="*.cs" .
# Find placeholder syntax
grep -r "CrtPage\|PageCount" --include="*.cs" .
# Find NuGet references
grep -r "HiQPdf" --include="*.csproj" .
NuGet Paket Değişiklikleri
# Remove allHiQPdfvariants
dotnet remove package HiQPdf
dotnet remove package HiQPdf.Free
dotnet remove package HiQPdf.NetCore
dotnet remove package HiQPdf.NetCore.x64
dotnet remove package HiQPdf.Client
# InstallIronPDF(single package for all platforms)
dotnet add package IronPdf
# Remove allHiQPdfvariants
dotnet remove package HiQPdf
dotnet remove package HiQPdf.Free
dotnet remove package HiQPdf.NetCore
dotnet remove package HiQPdf.NetCore.x64
dotnet remove package HiQPdf.Client
# InstallIronPDF(single package for all platforms)
dotnet add package IronPdf
Hızlı Başlangıç Göçü
Adım 1: Lisans Yapılandırmasını Güncelleyin
Önce (HiQPdf):
HtmlToPdf converter = new HtmlToPdf();
converter.SerialNumber = "HIQPDF-SERIAL-NUMBER";
HtmlToPdf converter = new HtmlToPdf();
converter.SerialNumber = "HIQPDF-SERIAL-NUMBER";
Dim converter As New HtmlToPdf()
converter.SerialNumber = "HIQPDF-SERIAL-NUMBER"
Sonra (IronPDF):
// Set globally at application startup
IronPdf.License.LicenseKey = "YOUR-IRONPDF-LICENSE-KEY";
// Set globally at application startup
IronPdf.License.LicenseKey = "YOUR-IRONPDF-LICENSE-KEY";
Adım 2: Ad Alanı Dışarı Aktarımlarını Güncelleyin
// Before (HiQPdf)
using HiQPdf;
// After (IronPDF)
using IronPdf;
using IronPdf.Rendering;
// Before (HiQPdf)
using HiQPdf;
// After (IronPDF)
using IronPdf;
using IronPdf.Rendering;
Imports IronPdf
Imports IronPdf.Rendering
API Referansının Tamamı
Ana Sınıf Eşleştirmesi
| HiQPdf Sınıfı | IronPDF Sınıfı |
|---|---|
HtmlToPdf |
ChromePdfRenderer |
PdfDocument |
PdfDocument |
HtmlToPdfVariableElement |
TextHeaderFooter veya HtmlHeaderFooter |
Dönüşüm Yöntemi Eşleştirmesi
| HiQPdf Yöntemi | IronPDF Yöntemi |
|---|---|
ConvertHtmlToMemory(html, baseUrl) |
RenderHtmlAsPdf(html) |
ConvertUrlToMemory(url) |
RenderUrlAsPdf(url) |
File.WriteAllBytes(path, bytes) |
pdf.SaveAs(path) |
PDF Belgesi Yöntem Eşlemesi
| HiQPdf Yöntemi | IronPDF Yöntemi |
|---|---|
PdfDocument.FromFile(path) |
PdfDocument.FromFile(path) |
document1.AddDocument(document2) |
PdfDocument.Merge(pdf1, pdf2) |
document.WriteToFile(path) |
pdf.SaveAs(path) |
Üstbilgi/Altbilgi Yer Tutucu Eşlemesi
| HiQPdfYer Tutucu | IronPDF Yer Tutucu | Tanım |
|---|---|---|
{CrtPage} |
{page} |
Geçerli sayfa numarası |
{PageCount} |
{total-pages} |
Toplam sayfa sayısı |
Kod Geçiş Örnekleri
Örnek 1: HTML'den PDF'e Dönüştürme
Önce (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
Sonra (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
HiQPdf yaklaşımı, bir HtmlToPdf örneği oluşturmayı, bir bayt dizisi almak için ConvertUrlToMemory() veya ConvertHtmlToMemory() çağırmayı, ardından baytları elle bir dosyaya yazmayı gerektirir. IronPDF'nin ChromePdfRenderer yöntemi, doğrudan SaveAs() yöntemine sahip bir PdfDocument nesnesi döndürerek manuel dosya yazma adımını ortadan kaldırır.Modern Chromiummotoru, karmaşık HTML/CSS/JavaScript içeriği için de daha iyi bir render sağlıyor. Daha fazla işleme seçeneği için HTML'den PDF'ye dokümantasyonuna bakın.
Örnek 2: Birden Çok PDF'yi Birleştirin
Önce (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
Sonra (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
HiQPdf yaklaşımı, belgeleri dosyalardan yüklemek için PdfDocument.FromFile() kullanmayı, ardından ikinci belgeyi eklemek için ilk belgede AddDocument() çağırmayı ve sonra WriteToFile() ile kaydetmeyi gerektirir. IronPDF, çoklu PdfDocument nesnelerini doğrudan kabul eden, ara dosya işlemleri gerektirmeyen daha temiz bir statik PdfDocument.Merge() yöntemi sağlar. PDF'leri birleştirme ve bölme hakkında daha fazla bilgi edinin.
Örnek 3: Sayfa Numaraları ile PDF Üstbilgi ve Altbilgileri
Önce (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
Sonra (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
HiQPdf yaklaşımı, Document.Header.Height ayarlamayı, HtmlToPdfVariableElement nesnelerini oluşturmayı ve başlık/altbilgi bölümlerinde Add() çağırmayı gerektirir. Sayfa numarası yer tutucuları {CrtPage} ve {PageCount} sözdizimini kullanır. IronPDF, CenterText özellikleri ile daha temiz bir TextHeaderFooter yapılandırması ve farklı yer tutucu sözdizimi sağlar: {page} ve {total-pages}. HTML tabanlı üstbilgiler dahil ek seçenekler için üstbilgiler ve altbilgiler belgelerini inceleyin.
Kritik Geçiş Notları
Yer Tutucu Sözdizimi Değişikliği
Sayfa numaralı belgeler için en önemli değişiklik yer tutucu sözdizimidir:
//HiQPdfplaceholders
"Page {CrtPage} of {PageCount}"
//IronPDFplaceholders
"Page {page} of {total-pages}"
//HiQPdfplaceholders
"Page {CrtPage} of {PageCount}"
//IronPDFplaceholders
"Page {page} of {total-pages}"
'HiQPdfplaceholders
"Page {CrtPage} of {PageCount}"
'IronPDFplaceholders
"Page {page} of {total-pages}"
Komple yer tutucu eşlemesi:
{CrtPage}→{page}{PageCount}→{total-pages}
Birleştirme Yöntemi Farkı
HiQPdf, birinci belgeyi olduğu gibi değiştirir:
// HiQPdf: Modifies document1
document1.AddDocument(document2);
document1.WriteToFile("merged.pdf");
// HiQPdf: Modifies document1
document1.AddDocument(document2);
document1.WriteToFile("merged.pdf");
' HiQPdf: Modifies document1
document1.AddDocument(document2)
document1.WriteToFile("merged.pdf")
IronPDF, yeni bir birleşik belge döndürür:
// IronPDF: Returns new document
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");
// IronPDF: Returns new document
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");
' IronPDF: Returns new document
Dim merged = PdfDocument.Merge(pdf1, pdf2)
merged.SaveAs("merged.pdf")
3 Sayfa Sınırı Yok
HiQPdf'in ücretsiz versiyonu, çıktıyı 3 sayfa ile, filigranlar ekleyerek sınırlar. IronPDF, deneme süresi boyunca yapay sınırlamalar olmadan eksiksiz belgeler üretir.
ChromePdfRenderer'ı Yeniden Kullanma
Her dönüşüm için yeni HtmlToPdf örnekleri oluşturabileceğiniz HiQPdf'den farklı olarak, IronPDF'nin ChromePdfRenderer yeniden kullanılmalıdır:
// IronPDF: Create once, reuse
var renderer = new ChromePdfRenderer();
var pdf1 = renderer.RenderHtmlAsPdf(html1);
var pdf2 = renderer.RenderHtmlAsPdf(html2);
// IronPDF: Create once, reuse
var renderer = new ChromePdfRenderer();
var pdf1 = renderer.RenderHtmlAsPdf(html1);
var pdf2 = renderer.RenderHtmlAsPdf(html2);
' IronPDF: Create once, reuse
Dim renderer As New ChromePdfRenderer()
Dim pdf1 = renderer.RenderHtmlAsPdf(html1)
Dim pdf2 = renderer.RenderHtmlAsPdf(html2)
Ariza Giderme
Sorun 1: HtmlToPdf Bulunamadı
Problem: HtmlToPdf sınıfı IronPDF'de yok.
Çözüm: Yerine ChromePdfRenderer kullanın:
// HiQPdf
HtmlToPdf htmlToPdfConverter = new HtmlToPdf();
// IronPDF
var renderer = new ChromePdfRenderer();
// HiQPdf
HtmlToPdf htmlToPdfConverter = new HtmlToPdf();
// IronPDF
var renderer = new ChromePdfRenderer();
' HiQPdf
Dim htmlToPdfConverter As New HtmlToPdf()
' IronPDF
Dim renderer As New ChromePdfRenderer()
Sorun 2: ConvertHtmlToMemory Bulunamadı
Problem: ConvertHtmlToMemory() yöntemi mevcut değil.
Çözüm: RenderHtmlAsPdf() kullanın:
// HiQPdf
byte[] pdfBytes = converter.ConvertHtmlToMemory(html, "");
// IronPDF
var pdf = renderer.RenderHtmlAsPdf(html);
byte[] pdfBytes = pdf.BinaryData;
// HiQPdf
byte[] pdfBytes = converter.ConvertHtmlToMemory(html, "");
// IronPDF
var pdf = renderer.RenderHtmlAsPdf(html);
byte[] pdfBytes = pdf.BinaryData;
' HiQPdf
Dim pdfBytes As Byte() = converter.ConvertHtmlToMemory(html, "")
' IronPDF
Dim pdf = renderer.RenderHtmlAsPdf(html)
Dim pdfBytes As Byte() = pdf.BinaryData
Sorun 3: Sayfa Numarası Yer Tutucuları Çalışmıyor
Problem: {CrtPage} ve {PageCount} çıktı dosyasında kelimesi kelimesine görünür.
Çözüm:IronPDFyer tutucu sözdizimine güncelleyin:
//HiQPdfsyntax (won't work)
"Page {CrtPage} of {PageCount}"
//IronPDFsyntax
"Page {page} of {total-pages}"
//HiQPdfsyntax (won't work)
"Page {CrtPage} of {PageCount}"
//IronPDFsyntax
"Page {page} of {total-pages}"
'HiQPdfsyntax (won't work)
"Page {CrtPage} of {PageCount}"
'IronPDFsyntax
"Page {page} of {total-pages}"
Sorun 4: HtmlToPdfVariableElement Bulunamadı
Problem: HtmlToPdfVariableElement sınıfı mevcut değil.
Çözüm: TextHeaderFooter veya HtmlHeaderFooter kullanın:
// HiQPdf
HtmlToPdfVariableElement headerHtml = new HtmlToPdfVariableElement("<div>Header</div>", "");
converter.Document.Header.Add(headerHtml);
// IronPDF
renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
{
CenterText = "Header",
FontSize = 12
};
// HiQPdf
HtmlToPdfVariableElement headerHtml = new HtmlToPdfVariableElement("<div>Header</div>", "");
converter.Document.Header.Add(headerHtml);
// IronPDF
renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
{
CenterText = "Header",
FontSize = 12
};
' HiQPdf
Dim headerHtml As New HtmlToPdfVariableElement("<div>Header</div>", "")
converter.Document.Header.Add(headerHtml)
' IronPDF
renderer.RenderingOptions.TextHeader = New TextHeaderFooter() With {
.CenterText = "Header",
.FontSize = 12
}
Goc Kontrol Listesi
Geçiş Öncesi
- Kod tabanındaki tümHiQPdfAPI çağrılarını envanter çıkarın
- Mevcut sayfa boyutlarını, kenar boşluklarını ve ayarları belgeleyin
- Başlık/alt bilgi yapılandırmalarını ve yer tutucularını belirleyin -IronPDFlisans anahtarını edinin
- IronPDF'i geliştirme ortamında test edin
Kod Göçü
- TümHiQPdfNuGet paketlerini kaldırın (tüm varyantlar)
- IronPdf NuGet paketini yükleyin:
dotnet add package IronPdf - Ad alanı eklerini güncelleyin
HtmlToPdfyerineChromePdfRendererkullanınConvertHtmlToMemory(),RenderHtmlAsPdf()olarak dönüştürünConvertUrlToMemory(),RenderUrlAsPdf()olarak dönüştürün- Başlık/altbilgi yer tutucularını güncelleyin (
{CrtPage}→{page},{PageCount}→{total-pages}) HtmlToPdfVariableElementyerineTextHeaderFooterkullanın- Birleştirme işlemlerini güncelleyin (
AddDocument→PdfDocument.Merge) - Başlangıçta lisans anahtarı başlangıcı ekleyin
Test Etme
- HTML'den PDF'ye donusumu test edin
- URL'den PDF'ye donusumu test edin
- Başlık/alt bilgi görüntülemeyi doğrulayın
- Sayfa numarası yer tutucularını doğrulayın
- PDF birleştirmeyi test edin
- JavaScript ağırlıklı sayfaları test edin (artık Chromium ile destekleniyor)
Geçişten Sonra
- YapılandırmadanHiQPdfseri numarasını kaldırın
- Belgeleri güncelleyin
- Herhangi bir render farkını izleyin

