跳過到頁腳內容
遷移指南

如何用 C# 從 HiQPdf 轉移到 IronPDF

從HiQPdf轉移到 IronPDF:完整的 C# 遷移指南。

從HiQPdf轉移到IronPDF可將您的 .NET PDF 工作流程從基於 WebKit 且有頁面限制的舊式渲染引擎,轉換為完全支援 JavaScript Framework 的現代 Chromium Powered 函式庫。 本指南為專業的 .NET 開發人員提供了一個全面、循序漸進的轉換路徑,消除了 3 頁紙的限制和零散的套件結構。

為什麼要從HiQPdf轉移到 IronPDF?

HiQPdf的限制

HiQPdf 是一個商用 HTML-to-PDF 函式庫,有幾個影響生產應用程式的限制:

1.具限制性的"免費"版本:免費版本有 3 頁的限制,並帶有侵擾性的水印 - 基本上無法用於需要完整文件生成的生產工作負載。

2.較舊的 WebKit 引擎:HiQPdf 使用較舊的 WebKit 為基礎的渲染引擎,在與 React、Angular 和 Vue 等現代 JavaScript 架構溝通時有困難。

3.未明確說明 .NET Core 支援:說明文件沒有明確說明 .NET Core / .NET 5+ 支援,為現代應用程式開發造成不確定性。

4.Fragmented Packages:適用於不同平台的多個 NuGet 套件 (HiQPdf、HiQPdf.Free、HiQPdf.NetCore、HiQPdf.NetCore.x64、HiQPdf.Client),使相依性管理變得複雜。

5.複雜的 API:需要透過DocumentHeaderFooter屬性鏈進行冗長的設定,而非流暢、直覺的方法。

6.有限的 JavaScript 支援:WebKit 引擎在呈現由現代 JavaScript 框架和複雜動態版面所產生的內容時,會遇到困難。

HiQPdf與IronPDF的比較

範疇HiQPdfIronPDF
渲染引擎基於 WebKit (較舊)現代 Chromium
免費等級3 頁限制 + 水印30 天完整試用
現代 JS 支援限額完整 (React、Angular、Vue)
.NET Core/5+ 支援需要多個套件單一統一套件
API 設計複雜的屬性鏈乾淨流暢的 API
CSS3 支持部分的全面支援
文件零碎全面性
NuGet 套件多種變體單一套件

對於計劃在 2025 年和 2026 年之前採用 .NET 10 和 C# 14 的團隊而言,IronPDF 提供了一個面向未來的基礎,對最新的 .NET 版本和現代 Chromium 渲染引擎提供了文件化的支援。


遷移複雜性評估

按功能估計的工作量

特點遷移複雜性筆記
HTML 至 PDF非常低直接方法替換
URL 至 PDF非常低直接方法替換
合併 PDF不同的合併方式
頁首/頁尾語言占位符語法變更
頁面大小/邊界相同單位 (mm)
觸發模式/延遲屬性對應

範式轉移

這次HiQPdf遷移的基本轉變是從 屬性鏈配置流暢的渲染選項

HiQPdf:converter.Document.Header.Height = 50;
          converter.Document.Header.Add(new HtmlToPdfVariableElement(...));

IronPdf: renderer.RenderingOptions.TextHeader = new TextHeaderFooter() { ... };

開始之前

先決條件

1..NET 版本:IronPDF 支持 .NET Framework 4.6.2+ 和 .NET Core 3.1+ / .NET 5/6/7/8/9+ 。 2.許可金鑰:從ironpdf.com取得您的IronPDF授權金鑰。 3.移除 HiQPdf:計劃移除所有HiQPdfNuGet 套件變體

識別所有HiQPdf使用方式

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

NuGet 套件變更

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

快速啟動遷移

步驟 1:更新授權組態

之前 (HiQPdf):

HtmlToPdf converter = new HtmlToPdf();
converter.SerialNumber = "HIQPDF-SERIAL-NUMBER";
HtmlToPdf converter = new HtmlToPdf();
converter.SerialNumber = "HIQPDF-SERIAL-NUMBER";
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

After (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";
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

步驟 2:更新命名空間匯入

// Before (HiQPdf)
using HiQPdf;

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

// After (IronPDF)
using IronPdf;
using IronPdf.Rendering;
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

完整的 API 參考資料

主類映射

HiQPdf 類別IronPdf 類別筆記
<編碼>HtmlToPdf</編碼<代碼>ChromePdfRenderer</代碼主要轉換器類別
<編碼>PDF 文件</編碼<編碼>PDF 文件</編碼相同的名稱,不同的命名空間
<編碼>HtmlToPdfVariableElement</編碼TextHeaderFooterHtmlHeaderFooter標題/頁腳內容

轉換方法映射

HiQPdf 方法IronPdf 方法筆記
ConvertHtmlToMemory(html,baseUrl)RenderHtmlAsPdf(html)返回 PdfDocument
<編碼>ConvertUrlToMemory(url)</編碼<代碼>RenderUrlAsPdf(url)</代碼返回 PdfDocument
File.WriteAllBytes(path, bytes)File.WriteAllBytes(path, bytes)File.WriteAllBytes(path)<代碼>pdf.SaveAs(路徑)</代碼直接儲存方法

PDF 文件方法映射

HiQPdf 方法IronPdf 方法筆記
PdfDocument.FromFile(path)PdfDocument.FromFile(path)相同的方法名稱
<代碼>document1.AddDocument(document2)</代碼PdfDocument.Merge(pdf1,pdf2)靜態合併法
document.WriteToFile(path)<代碼>pdf.SaveAs(路徑)</代碼不同的方法名稱

頁首/頁尾占位符對應

HiQPdf 占位符IronPdf 占位符說明
<編碼>{CrtPage}</編碼{page}目前頁數
<編碼>{頁數}</編碼{總頁數}總頁數

程式碼遷移範例

範例 1:HTML 到 PDF 的轉換

之前 (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);
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

After (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");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

HiQPdf 方法需要創建一個<編碼>HtmlToPdf</編碼實例,呼叫 ConvertUrlToMemory()ConvertHtmlToMemory() 以獲得一個位元組陣列,然後手動寫入位元組到檔案中。IronPDF 的<代碼>ChromePdfRenderer</代碼會返回一個<編碼>PDF 文件</編碼物件,並直接提供 SaveAs() 方法,省去手動寫入檔案的步驟。現代的 Chromium 引擎也能為複雜的 HTML/CSS/JavaScript 內容提供更好的呈現效果。 請參閱 HTML to PDF 文件,以瞭解其他渲染選項。

範例 2:合併多個 PDF 檔案

之前 (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");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

After (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");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

HiQPdf 的方法需要使用 PdfDocument.FromFile() 從檔案載入文件,在第一個文件上呼叫 AddDocument() 來追加第二個文件,然後再使用 WriteToFile() 來儲存。IronPDF提供了一個更乾淨的靜態 PdfDocument.Merge() 方法,可直接接受多個<編碼>PDF 文件</編碼物件 - 不需要中間檔案操作。 進一步瞭解 合併與分割 PDF 的相關資訊。

範例 3:帶有頁碼的 PDF 頁首和頁尾

之前 (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);
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

After (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");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

HiQPdf 方法需要設定 Document.Header.Height, 建立<編碼>HtmlToPdfVariableElement</編碼物件,並在 header/footer 部分呼叫 Add() 。 頁數占位符使用<編碼>{CrtPage}</編碼和<編碼>{頁數}</編碼語法。 IronPdf 提供了更簡潔的 TextHeaderFooter 設定,具有 CenterText 屬性和不同的佔位符語法:{page}{total-pages}. 請參閱 標頭和頁尾文件,以瞭解其他選項,包括基於 HTML 的標頭。


關鍵遷移注意事項

占位符語法變更

對於有頁碼的文件,最重要的改變是佔位符語法:

//HiQPdfplaceholders
"Page {CrtPage} of {PageCount}"

//IronPDFplaceholders
"Page {page} of {total-pages}"
//HiQPdfplaceholders
"Page {CrtPage} of {PageCount}"

//IronPDFplaceholders
"Page {page} of {total-pages}"
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

完整的占位符映射: -<編碼>{CrtPage}</編碼→ {page} -<編碼>{頁數}</編碼→{總頁數}總頁數

合併方法差異

HiQPdf 將第一份文件修改到位:

// HiQPdf: Modifies document1
document1.AddDocument(document2);
document1.WriteToFile("merged.pdf");
// HiQPdf: Modifies document1
document1.AddDocument(document2);
document1.WriteToFile("merged.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

IronPdf 返回一個新的合併文件:

// 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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

無 3 頁限制

HiQPdf 的免費版本輸出上限為 3 頁,並附有水印。IronPDF可生成完整的文件,在試用期間不會受到人為的限制。

重複使用 ChromePdfRenderer

IronPDF 的<代碼>ChromePdfRenderer</代碼應該可以重複使用,不像HiQPdf每次轉換時都可能會建立新的<編碼>HtmlToPdf</編碼實體:

// 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);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

疑難排解

問題 1:HtmlToPdf 未找到

問題HtmlToPdf 類在IronPDF中不存在。

解決方案:以<代碼>ChromePdfRenderer</代碼取代:

// HiQPdf
HtmlToPdf htmlToPdfConverter = new HtmlToPdf();

// IronPDF
var renderer = new ChromePdfRenderer();
// HiQPdf
HtmlToPdf htmlToPdfConverter = new HtmlToPdf();

// IronPDF
var renderer = new ChromePdfRenderer();
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

問題 2:未找到 ConvertHtmlToMemory。

問題ConvertHtmlToMemory() 方法不存在。

解決方案:使用 RenderHtmlAsPdf()

// 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;
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

問題 3:頁碼占位符無法運作

問題{CrtPage} 和<編碼>{頁數}</編碼在輸出中出現字面意義。

解決方案:更新 IronPdf 占位符語法:

//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}"
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

問題 4:HtmlToPdfVariableElement 未找到

問題HtmlToPdfVariableElement 類不存在。

解決方案:使用TextHeaderFooterHtmlHeaderFooter

// 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
};
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

遷移清單

預遷移

  • [在程式碼庫中清點所有HiQPdfAPI 呼叫
  • [文件目前的頁面大小、邊界和設定
  • [ ] 識別頁首/頁尾配置和占位符
  • [ ] 獲得 IronPdf 授權金鑰
  • [ ] 在開發環境中測試 IronPdf

程式碼遷移

  • [ ] 移除所有HiQPdfNuGet 套件 (所有變體)
  • [ ] 安裝 IronPdf NuGet 套件:dotnet add package IronPdf
  • [ ] 更新命名空間匯入
  • [ ] 將<編碼>HtmlToPdf</編碼替換為 ChromePdfRenderer
  • [ ] 將 ConvertHtmlToMemory() 轉換為 RenderHtmlAsPdf()
  • [ ] 將 ConvertUrlToMemory() 轉換為 RenderUrlAsPdf()
  • [ ] 更新頁首/頁尾占位符 ({CrtPage}{page},<編碼>{頁數}</編碼→ {total-pages})
  • [ ] 將<編碼>HtmlToPdfVariableElement</編碼替換為 TextHeaderFooter
  • [ ] 更新合併作業 (AddDocumentPdfDocument.Merge)
  • [ ] 在啟動時加入授權金鑰初始化

測試

  • [ ] 測試 HTML 至 PDF 的轉換
  • [測試 URL 至 PDF 的轉換
  • [ ] 確認頁首/頁尾的呈現
  • [ ] 核實頁碼占位符
  • [ ] 測試 PDF 合併
  • [ ] 測試 JavaScript 繁重的頁面(現已支援 Chromium)

後遷移

  • [ ] 從配置中移除HiQPdf序列號
  • [ ] 更新文件
  • [ ] 監控任何渲染差異

結論

從HiQPdf轉移到IronPDF為 .NET 應用程式提供了幾項顯著的優勢。 您將獲得現代化的 Chromium 渲染引擎,並完全支援 React、Angular、Vue 以及複雜的 JavaScript 框架。 帶有水印的 3 頁限制消失了,取而代之的是真正的全功能試用版。 單一統一的 NuGet 套件可取代零散的HiQPdf變體。

本次轉換的主要變更如下 1.類取代HtmlToPdfChromePdfRenderer. 2.方法替換ConvertHtmlToMemory()RenderHtmlAsPdf().BinaryData. 3.合併方式document1.AddDocument(document2)PdfDocument.Merge(pdf1, pdf2) 4.Placeholder 語法{CrtPage}{page},<編碼>{頁數}</編碼→ {total-pages}. 5.頁首/頁腳HtmlToPdfVariableElementTextHeaderFooter

探索完整的IronPdf文件教程API參考,加速您的HiQPdf遷移。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。