フッターコンテンツにスキップ
移行ガイド

C#でHiQPdfからIronPDFに移行する方法

HiQPdfからIronPdfへの移行:完全なC#移行ガイド

HiQPdfからIronPDFへの移行は、あなたの.NET PDFワークフローを、ページ制限のある古いWebKitベースのレンダリングエンジンから、JavaScriptフレームワークをフルサポートした最新のChromium搭載ライブラリへと変えます。 このガイドでは、.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.断片化されたパッケージ:異なるプラットフォーム用の複数のNuGetパッケージ(HiQPdf、HiQPdf.Free、HiQPdf.NetCore、HiQPdf.NetCore.x64、HiQPdf.Client)が依存関係の管理を複雑にしています。

5.複雑なAPIDocumentHeaderFooter プロパティ・チェーンを通じて、流暢で直感的な方法ではなく、冗長な設定を必要とします。

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(新しい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を削除する:すべてのHiQPdf NuGetパッケージの亜種を削除する予定です。

すべての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

翻訳後(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</コードメインコンバータクラス
<コード>PdfDocument</コード<コード>PdfDocument</コード同じ名前、異なる名前空間
<コード>HtmlToPdfVariableElement</コードTextHeaderFooterまたはHtmlHeaderFooterヘッダー/フッターコンテンツ

変換メソッドマッピング

HiQPdfメソッドIronPDF メソッドノート
ConvertHtmlToMemory(html、baseUrl)RenderHtmlAsPdf(html)を使用してください。PdfDocument<//code> を返します。
ConvertUrlToMemory(url)を使用してください。RenderUrlAsPdf(url)を使用してください。PdfDocument<//code> を返します。
File.WriteAllBytes(path, bytes).pdf.SaveAs(path)のようにします。直接保存方式

PDFドキュメントメソッドマッピング

HiQPdfメソッドIronPDF メソッドノート
PdfDocument.FromFile(パス)PdfDocument.FromFile(パス)同じメソッド名
document1.AddDocument(document2)のようにします。PdfDocument.Merge(pdf1, pdf2).静的マージ方式
document.WriteToFile(パス)pdf.SaveAs(path)のようにします。異なるメソッド名

ヘッダー/フッター プレースホルダーのマッピング

HiQPdfプレースホルダIronPDF プレースホルダー翻訳内容
{CrtPage}<//code><コード>{ページ}</コード現在のページ番号
<コード>{ページ数}</コード<コード>{総ページ数}</コード総ページ数

コード移行の例

例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

翻訳後(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は直接SaveAs()メソッドでPdfDocumentオブジェクトを返すので、手動でファイルを書き込むステップがなくなります。また、最新のChromiumエンジンは、複雑なHTML/CSS/JavaScriptコンテンツのレンダリングを改善します。 その他のレンダリングオプションについては、HTML to PDF documentationを参照してください。

例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

翻訳後(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()を呼び出して2番目のドキュメントを追加し、WriteToFile()を使って保存します。 IronPDFは複数のPdfDocumentオブジェクトを直接受け入れる、よりクリーンな静的PdfDocument.Merge()メソッドを提供します。 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

翻訳後(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オブジェクトを作成し、ヘッダー/フッターセクションでAdd()を呼び出す必要があります。 ページ番号のプレースホルダには、{CrtPage}<//code>と{PageCount}<//code>の構文を使用します。 IronPDFはCenterTextプロパティと異なるプレースホルダー構文で、よりクリーンなTextHeaderFooter設定を提供します:{page}{total-pages}です。 HTMLベースのヘッダーを含むその他のオプションについては、headers and footers documentationを参照してください。


重要な移行に関する注意事項

プレースホルダーの構文の変更

ページ番号のある文書で最も重要な変更は、プレースホルダーの構文です:

//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}<//code> → {page}<//code
  • {PageCount}<//code> → <code>{total-pages}

マージ メソッドの違い

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を再利用してください。

変換のたびに新しいHtmlToPdfインスタンスを作成するHiQPdfとは異なり、IronPDFのChromePdfRendererは再利用されるべきです:

// 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}{PageCount}は、文字通り出力されます。

解決策: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クラスが存在しません。

解決策TextHeaderFooterまたはHtmlHeaderFooterを使用してください:

// 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

移行チェックリスト

移行前

  • [コードベース内のすべてのHiQPdf APIコールをインベントリ化する。
  • [現在のページサイズ、マージン、設定を文書化してください。
  • [ヘッダー/フッターの設定とプレースホルダーの特定
  • [IronPDF ライセンスキーの取得
  • [開発環境でのIronPDFのテスト

コードの移行

  • [すべてのHiQPdf NuGetパッケージ(すべての亜種)を削除します。)
  • [ ] IronPdf NuGetパッケージをインストールします:dotnet add package IronPdf<//code>.
  • [名前空間インポートの更新
  • [ ] HtmlToPdfChromePdfRendererに置き換えてください。
  • [ ] ConvertHtmlToMemory()RenderHtmlAsPdf()に変換してください。
  • [ ] ConvertUrlToMemory()RenderUrlAsPdf()に変換してください。
  • [ ] ヘッダー/フッターのプレースホルダーを更新 ({CrtPage}{page},<コード>{ページ数}</コード→ {total-pages})
  • [ ] HtmlToPdfVariableElementTextHeaderFooterに置き換えてください。
  • [ ] マージ操作の更新 (AddDocumentPdfDocument.Merge)
  • [ ] 起動時にライセンスキーの初期化を追加する

テスティング

  • [HTMLからPDFへの変換テスト
  • [テストURLからPDFへの変換
  • [ヘッダー/フッターレンダリングの検証
  • [ページ番号のプレースホルダを確認する
  • [テストPDFマージ
  • [ ] JavaScriptを多用するページのテスト(Chromiumでサポートされるようになりました)

移行後

  • [ ] 設定からHiQPdfのシリアル番号を削除する
  • [ドキュメントの更新
  • [レンダリングの違いを監視する

結論

HiQPdfからIronPDFへの移行は、.NETアプリケーションにいくつかの大きな利点をもたらします。 React、Angular、Vue、および複雑なJavaScriptフレームワークを完全にサポートする最新のChromiumレンダリングエンジンを得ることができます。 透かしの入った3ページの制限はなくなり、代わりに本物のフル機能のトライアルが提供されます。 単一に統一されたNuGetパッケージは、断片化されたHiQPdfの亜種を置き換えます。

この移行における主な変更点は以下のとおりです: 1.クラス置換HtmlToPdf →<コード>ChromePdfRenderer</コードです。 2.メソッド置換ConvertHtmlToMemory()RenderHtmlAsPdf().BinaryData。 3.マージアプローチdocument1.AddDocument(document2)PdfDocument.Merge(pdf1, pdf2). 4.プレースホルダーの構文{CrtPage}{page},<コード>{ページ数}</コード→ {total-pages}. 5.ヘッダー/フッターHtmlToPdfVariableElementTextHeaderFooter です。

IronPDFドキュメントチュートリアルAPIリファレンスをご覧いただき、HiQPdfへの移行を促進してください。

カーティス・チャウ
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。