IRONSOFTWAREHOME
VIDEOLAR

C# İçinde PDF UA Biçimli Belgeleri Nasıl Dışa Aktarırız

Curtis Chau
Curtis Chau
Updated: 19 Temmuz 2026

HiQPdf,HiQPdfSoftware tarafından yayımlanan bir ticari HTML'den PDF'e kütüphanesidir (mevcut HiQPdf 18.0.2, nuget.org, Şubat 2026). Yazılımcıların alternatifleri değerlendirmesinin yaygın nedenleri:

  1. Kısıtlayıcı Ücretsiz Versiyon: HiQPdf.Free her belge için çıktıyı 3 sayfa ile sınırlandırır - değerlendirme için kullanışlıdır ancak tam belge üretimi gerektiren üretim iş yükleri için değildir.

  2. Klasik Hattaki WebKit: Klasik HiQPdf paketi, modern JavaScript çerçeveleriyle mücadele edebilen eski bir WebKit tabanlı motor kullanır. HiQPdf, Chromium tabanlı bir varyant (HiQPdf.NG / HiQPdf.Chromium.Windows ve bir Linux derlemesi ile birlikte) sunar, ancak mevcut kodların çoğu Klasik motora yöneliktir.

  3. .NET Desteği Paketler Arasında Dağınık: .NET Framework, .NET Core, ve .NET Standard 2.0 tümü desteklenir, ancak ayrı NuGet ID'leri arasında dağıtılmıştır (HiQPdf, HiQPdf_NetCore, HiQPdf.NG, HiQPdf.Chromium.Windows, HiQPdf_x64), seçim yapmalısınız.

  4. Parçalı Paketler: Farklı platformlar için birden fazla NuGet ID'si (HiQPdf, HiQPdf.Free, HiQPdf_NetCore, HiQPdf.NG, HiQPdf.Chromium.Windows) bağımlılık yönetimini karmaşık hale getirir.

  5. Detaylı Konfigürasyon: Akıcı bir render-seçenekleri API'si yerine Document, Header, Footer özellik zincirleri üzerinden kurulumu gerektirir.

  6. Geliştirici Başına Lisanslama Yükselir: $245 Başlangıç / $495 Geliştirici / $795 Takım / $1,095 Enterprise (süresiz, ilk yıl güncellemeler dahil).

###HiQPdfile IronPDF Karşılaştırması

AspektHiQPdfIronPDF
Oluşturma MotoruWebKit (Classic HiQPdf) or Chromium (HiQPdf.NG / HiQPdf.Chromium.Windows)Modern Krom
Ücretsiz KatmanHiQPdf.Free 3 sayfalık limit30 günlük tam deneme
Modern JS DesteğiKlasikte sınırlı; modern NG/Chromium'daTam (React, Angular, Vue)
.NET Core/5+ DesteğiDesteklenir, ancak birden fazla NuGet paketine bölünmüştürTek birleştirilmiş paket
API TasarımıÖzellik zincirleriAkıcı render seçenekleri
CSS3 DesteğiKlasikte kısmi; NG'de tamTam destek
DokümantasyonÜrün hatları arasında parçalanmıştırKapsamlı
NuGet PaketiBirden fazla varyantTek paket

IronPDF belgeleri, modern Chromium render motorunda, güncel .NET sürümleri (.NET Framework 4.6.2+, .NET 6, 7, 8, 9) için destek sunar.


Göç Karmaşıklığı Değerlendirmesi

Özelliklere Göre Tahmini Çaba

ÖzellikGöç Karmaşıklığı
HTML'den PDF'yeÇok Düşük
URL'yi PDF'ye çevirÇok Düşük
PDF'leri birleştirDüşük
Başlıklar/AltbilgilerOrta
Sayfa Boyutu/Kenar BoşluklarıDüşük
Tetikleme Modu/GecikmelerDüşük

Paradigma Değişimi

BuHiQPdfgeçişindeki temel değişiklik, özellik zinciri yapılandırmasından akıcı render seçeneklerine geçilmesidir:

HiQPdf:   converter.Document.Header.Height = 50;
          converter.Document.Header.Add(new HtmlToPdfVariableElement(...));
          
IronPDF:  renderer.RenderingOptions.TextHeader = new TextHeaderFooter() { ... };
Text

Başlamadan Önce

Ön Koşullar

  1. .NET Sürümü: IronPDF, .NET Framework 4.6.2+ ve .NET Core 3.1+ / .NET 5+ sürümlerini destekler
  2. **Lisans Anahtarı:**IronPDF lisans anahtarınızı ironpdf.com'dan edinin
  3. HiQPdf'i Kaldır: TümHiQPdfNuGet paket varyantlarını kaldırmayı planla.

TümHiQPdfKullanımlarını Belirle

# 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" .
SHELL

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_x64
dotnet remove package HiQPdf.NG
dotnet remove package HiQPdf.Chromium.Windows

# Install IronPDF(single package for all platforms)
dotnet add package IronPdf
SHELL

Hızlı Başlangıç Göçü

Adım 1: Lisans Yapılandırmasını Güncelleyin

Öncesi (HiQPdf):

HtmlToPdf converter = new HtmlToPdf();
converter.SerialNumber = "HIQPDF-SERIAL-NUMBER";

Sonrası (IronPDF):

// Set globally at application startup
IronPdf.License.LicenseKey = "YOUR-IRONPDF-LICENSE-KEY";

Adım 2: Ad Alanı İthalatlarını Güncelleyin

// Before (HiQPdf)
using HiQPdf;

// After (IronPDF)
using IronPdf;
using IronPdf.Rendering;

Tam API Referansı

Ana Sınıf Eşlemesi

HiQPdf SınıfıIronPDF Sınıfı
HtmlToPdfChromePdfRenderer
PdfDocumentPdfDocument
HtmlToPdfVariableElementTextHeaderFooter veya HtmlHeaderFooter

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

HiQPdf YöntemiIronPDF Yöntemi
ConvertHtmlToMemory(html, baseUrl)RenderHtmlAsPdf(html)
ConvertUrlToMemory(url)RenderUrlAsPdf(url)
File.WriteAllBytes(path, bytes)pdf.SaveAs(path)

PDF Belge Yöntemi Eşleme

HiQPdf YöntemiIronPDF Yöntemi
PdfDocument.FromFile(path)PdfDocument.FromFile(path)
document1.AddDocument(document2)PdfDocument.Merge(pdf1, pdf2)
document.WriteToFile(path)pdf.SaveAs(path)

Başlık/Altbilgi Yer Tutucu Eşleme

HiQPdfYer TutucuIronPDF Yer TutucuAçıklama
{CrtPage}{page}Geçerli sayfa numarası
{PageCount}{total-pages}Toplam sayfa sayısı

Kod Göç Örnekleri

Örnek 1: HTML'den PDF'ye Dönüştürme

Öncesi (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);
    }
}

Sonrası (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");
    }
}

HiQPdf yaklaşımı bir HtmlToPdf örneği oluşturmayı, bir byte dizisi almak için ConvertUrlToMemory() veya ConvertHtmlToMemory() çağırmayı ve ardından baytları manuel olarak bir dosyaya yazmayı gerektirir. IronPDF'nin ChromePdfRenderer doğrudan SaveAs() yöntemiyle bir PdfDocument nesnesi döndürür, bu da manuel dosya yazma adımını ortadan kaldırır. Modern Krommotoru ayrıca karmaşık HTML/CSS/JavaScript içeriği için daha iyi render sağlar. HTML'den PDF'ye belgelemeyi ek işleme seçenekleri için inceleyin.

Örnek 2: Birden Fazla PDF Birleştir

Öncesi (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");
    }
}

Sonrası (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");
    }
}

HiQPdf yaklaşımı, belgeleri PdfDocument.FromFile() kullanarak dosyalardan yüklemeyi, ilk belgede ikinciyi eklemek için AddDocument() çağırmayı ve ardından kaydetmek için WriteToFile() kullanmayı gerektirir. IronPDF, birden fazla PdfDocument nesnesini doğrudan kabul eden temiz bir statik PdfDocument.Merge() yöntemi sağlar—ara dosya işlemleri gerekmez. Daha fazla bilgi edinin PDF birleştirme ve bölme.

Örnek 3: Sayfa Numaraları ile PDF Başlıkları ve Altbilgileri

Öncesi (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);
    }
}

Sonrası (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");
    }
}

HiQPdf yaklaşımı, Document.Header.Height ayarlamayı, HtmlToPdfVariableElement nesneleri oluşturmayı ve başlık/altbilgi bölümlerinde Add() çağırmayı gerektirir. Sayfa numarası yer tutucuları {CrtPage} ve {PageCount} söz dizimini kullanır. IronPDF, CenterText özellikleri ve farklı yer tutucu söz dizimi ile daha temiz bir TextHeaderFooter yapılandırması sunar: {page} ve {total-pages}. HTML tabanlı başlıklar da dahil olmak üzere ek seçenekler için başlıklar ve altbilgiler belgelerine bakın.


Kritik Taşıma 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}"

//IronPDF placeholders
"Page {page} of {total-pages}"
C#

Tam yer tutucu eşleme:

  • {CrtPage}{page}
  • {PageCount}{total-pages}

Birleştirme Yöntemi Farkı

HiQPdf, ilk belgeyi yerinde değiştirir:

// HiQPdf: Modifies document1
document1.AddDocument(document2);
document1.WriteToFile("merged.pdf");

IronPDF, yeni bir birleştirilmiş belge döndürür:

// IronPDF: Returns new document
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");

3-Sayfa Sınırı Yok

HiQPdf'nin ücretsiz sürümü, çıktıyı filigranlarla birlikte 3 sayfa ile sınırlandırır. IronPDF, deneme süresi boyunca yapay sınırlamalar olmadan tam belgeler üretir.

ChromePdfRenderer'ı Yeniden Kullanın

HiQPdf'de her dönüşüm için yeni HtmlToPdf örnekleri yaratmanız gerekebilirken, IronPDF'nin ChromePdfRenderer öğesi yeniden kullanılmalıdır:

// IronPDF: Create once, reuse
var renderer = new ChromePdfRenderer();
var pdf1 = renderer.RenderHtmlAsPdf(html1);
var pdf2 = renderer.RenderHtmlAsPdf(html2);

Hata Ayıklama

Sorun 1: HtmlToPdf Bulunamadı

Problem: HtmlToPdf sınıfı IronPDF'de mevcut değil.

Çözüm: ChromePdfRenderer ile değiştirin:

// HiQPdf
HtmlToPdf htmlToPdfConverter = new HtmlToPdf();

// IronPDF
var renderer = 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;

Sorun 3: Sayfa Numarası Yer Tutucuları Çalışmıyor

Problem: {CrtPage} ve {PageCount} çıktı üzerinde kelimenin tam anlamıyla görünmektedir.

**Çözüm:**IronPDF yer tutucu sözdizimine güncelleyin:

//HiQPdfsyntax (won't work)
"Page {CrtPage} of {PageCount}"

//IronPDF syntax
"Page {page} of {total-pages}"
C#

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
};

Geçiş Kontrol Listesi

Öncesi-Geçiş

  • Kod tabanındaki tümHiQPdfAPI çağrılarını envanterleyin.
  • Geçerli sayfa boyutları, kenar boşlukları ve ayarları belgeleyin.
  • Başlık/altbilgi yapılandırmalarını ve yer tutucularını belirleyin. -IronPDF lisans anahtarını edinin
  • Geliştirme ortamında IronPDF'i test edin.

Kod Geçişi

  • TümHiQPdfNuGet paketlerini (tüm varyantlar) kaldırın. -IronPDF NuGet paketini yükleyin: dotnet add package IronPdf
  • Ad alanı ithalatlarını güncelleyin
  • HtmlToPdf öğesini ChromePdfRenderer ile değiştirin
  • ConvertHtmlToMemory() öğesini RenderHtmlAsPdf()'e dönüştürün
  • ConvertUrlToMemory() öğesini RenderUrlAsPdf()'ye dönüştürün
  • Başlık/altbilgi yer tutucularını güncelleyin ({CrtPage}{page}, {PageCount}{total-pages})
  • HtmlToPdfVariableElement öğesini TextHeaderFooter ile değiştirin
  • Birleştirme işlemlerini güncelleyin (AddDocumentPdfDocument.Merge)
  • Başlangıçta lisans anahtarı başlatmasını ekleyin.

Test Etme

  • HTML'den PDF'e dönüştürmeyi test edin
  • URL'den PDF'e dönüştürmeyi test edin
  • Başlık/altbilgi render'ını doğrulayın.
  • Sayfa numarası yer tutucularını doğrulayın.
  • PDF birleştirmesini test edin
  • JavaScript ağırlıklı sayfaları test edin (şimdi Chromium ile destekleniyor).

Geçiş Sonrası

  • YapılandırmadanHiQPdfseri numarasını kaldırın.
  • Belgeleri güncelleyin
  • Render farklılıkları için izleme yapın.

Lütfen dikkate alın: HiQPdf 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.
Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.

...
Daha Fazla Oku

İlgili Makaleler

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Ücretsiz Canlı Demo rezervasyonu yapın
Booking Badge

Dünya Çapında Milyonlarca Mühendisin Güvendiği

Iron Software müşteri logoları
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez