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

C#でKaizen.ioからIronPDFに移行する方法

Kaizen.ioのHTML-to-PDFからIronPDFに移行することで、.NET PDFワークフローをネットワーク遅延やデータプライバシーの懸念のあるクラウド依存のサービスから、データをインフラ内に保持するローカルのインプロセスライブラリに変換します。 このガイドでは、プロ for .NET開発者向けに、外部APIへの依存やリクエストごとの価格設定を排除した、包括的でステップバイステップの移行パスを提供します。

Kaizen.ioからIronPDFへ移行する理由

クラウドベースのAPIの課題

Kaizen.io HTML-to-PDF は、他のクラウドベースの PDF サービスと同様に、本番アプリケーションに影響を与える制限があります:

1.クラウドへの依存:常時インターネット接続と外部サービスの可用性が必要です。 Kaizen.ioサービスにダウンタイムが発生すると、アプリケーションのPDF生成が停止します。

2.データ プライバシーに関する懸念:顧客データ、財務レポート、機密文書などの機密性の高い HTML コンテンツは、処理のためにサードパーティのサーバーに送信する必要があります。

3.ネットワーク遅延: PDF を生成するたびに、100 ~ 500 ミリ秒以上のネットワーク ラウンドトリップ遅延が発生し、アプリケーションの応答時間に大きなオーバーヘッドが追加されます。

4.リクエストごとの価格設定:コストは使用量に応じて直接増減するため、大量の PDF 生成はコストが高くなります。

5.レート制限:トラフィック量が多い期間に API スロットリングが発生すると、最も必要なときに PDF 生成が失敗したり、遅延したりする可能性があります。

6.ベンダー ロックイン: API の変更やサービスの中止のリスクにより、アプリケーションは外部のビジネス上の決定に対して脆弱になります。

Kaizen.ioとIronPDFの比較

フィーチャー Kaizen.io IronPDF
処理 クラウド(外部サーバー) ローカル(進行中)
データプライバシー 外部送信データ データはインフラから離れません
遅延 ネットワークのラウンドトリップ(100-500ms以上) ローカル処理(50~200ミリ秒)
納期 外部サービスに依存 100%お客様の管理下
価格 依頼ごとまたはサブスクリプション 1回限りまたは年間ライセンス
オフラインモード 不可 全機能
料金の上限 APIスロットリング 制限なし
JavaScript 限定サポート Chromiumの完全な実行

2025年と2026年まで.NET 10とC# 14の採用を計画しているチームにとって、IronPDFは外部サービスへの依存をなくし、ローカル処理による将来性のある基盤を提供します。


マイグレーションの複雑さの評価

機能別の見積もり作業

フィーチャー 移行の複雑さ
基本的なHTMLからPDFへ 低レベル
HTMLファイルからPDFへ 低レベル
URLからPDFへ 低レベル
ヘッダー/フッター 低レベル
ページ設定 低レベル
APIキー管理 低レベル

パラダイムシフト

この Kaizen.io 移行における基本的な変化は、クラウド API 呼び出しからローカルのインプロセス レンダリングへの変更です。

Kaizen.io:  HtmlToPdfConverter → Convert(html) → byte[] (ネットワーク経由)
IronPDF:    ChromePdfRenderer → RenderHtmlAsPdf(html) → PdfDocument (ローカル)

始める前に

前提条件

  1. .NET環境: .NET Framework 4.6.2+ または.NET Core 3.1+ / .NET 5/6/7/8/9+
  2. NuGetアクセス: NuGetパッケージをインストールする機能
  3. IronPDFライセンス: IronPDFからライセンスキーを取得します。

NuGetパッケージの変更

# Remove Kaizen.io package
dotnet remove package Kaizen.HtmlToPdf
dotnet remove package Kaizen.IO.HtmlToPdf

# Install IronPDF
dotnet add package IronPdf
# Remove Kaizen.io package
dotnet remove package Kaizen.HtmlToPdf
dotnet remove package Kaizen.IO.HtmlToPdf

# Install IronPDF
dotnet add package IronPdf
SHELL

ライセンス構成

// Add at application startup (Program.cs or Startup.cs)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
// Add at application startup (Program.cs or Startup.cs)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
' Add at application startup (Program.vb or Startup.vb)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
$vbLabelText   $csharpLabel

Kaizen.ioの使用法を特定する

# Find all Kaizen.io references
grep -r "using Kaizen\|HtmlToPdfConverter\|ConversionOptions" --include="*.cs" .
grep -r "ConvertUrl\|ConvertHtml\|Kaizen" --include="*.cs" .
# Find all Kaizen.io references
grep -r "using Kaizen\|HtmlToPdfConverter\|ConversionOptions" --include="*.cs" .
grep -r "ConvertUrl\|ConvertHtml\|Kaizen" --include="*.cs" .
SHELL

完全な API リファレンス

クラスマッピング

Kaizen.ioクラス IronPDF 同等物
HtmlToPdfConverter ChromePdfRenderer
ConversionOptions ChromePdfRenderOptions
HeaderOptions HtmlHeaderFooter または TextHeaderFooter
FooterOptions HtmlHeaderFooter または TextHeaderFooter
PageSize PdfPaperSize
Orientation PdfPaperOrientation

メソッドマッピング

Kaizen.io メソッド IronPDF 同等物
converter.Convert(html) renderer.RenderHtmlAsPdf(html)
converter.ConvertUrl(url) renderer.RenderUrlAsPdf(url)
File.WriteAllBytes(path, bytes) pdf.SaveAs(path)

ConversionOptionsプロパティのマッピング

Kaizen.io プロパティ IronPDF 同等物
PageSize RenderingOptions.PaperSize
Orientation RenderingOptions.PaperOrientation
MarginTop RenderingOptions.MarginTop
MarginBottom RenderingOptions.MarginBottom
Header.HtmlContent RenderingOptions.HtmlHeader.HtmlFragment
Footer.HtmlContent RenderingOptions.HtmlFooter.HtmlFragment

プレースホルダーのマッピング

Kaizen.io プレースホルダ IronPDF プレースホルダー
{page} {page}
{total} {total-pages}
{date} {date}
{title} {html-title}

コード移行の例

例1: 基本的なHTMLからPDFへ

翻訳前 (Kaizen.io):

using Kaizen.IO;
using System.IO;

class Program
{
    static void Main()
    {
        var converter = new HtmlToPdfConverter();
        var html = "<html><body><h1>Hello World</h1></body></html>";
        var pdfBytes = converter.Convert(html);
        File.WriteAllBytes("output.pdf", pdfBytes);
    }
}
using Kaizen.IO;
using System.IO;

class Program
{
    static void Main()
    {
        var converter = new HtmlToPdfConverter();
        var html = "<html><body><h1>Hello World</h1></body></html>";
        var pdfBytes = converter.Convert(html);
        File.WriteAllBytes("output.pdf", pdfBytes);
    }
}
Imports Kaizen.IO
Imports System.IO

Class Program
    Shared Sub Main()
        Dim converter = New HtmlToPdfConverter()
        Dim html = "<html><body><h1>Hello World</h1></body></html>"
        Dim pdfBytes = converter.Convert(html)
        File.WriteAllBytes("output.pdf", pdfBytes)
    End Sub
End Class
$vbLabelText   $csharpLabel

翻訳後(IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;
using System.IO;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var html = "<html><body><h1>Hello World</h1></body></html>";
        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("output.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System.IO;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var html = "<html><body><h1>Hello World</h1></body></html>";
        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("output.pdf");
    }
}
Imports IronPdf
Imports System.IO

Class Program
    Shared Sub Main()
        Dim renderer = New ChromePdfRenderer()
        Dim html = "<html><body><h1>Hello World</h1></body></html>"
        Dim pdf = renderer.RenderHtmlAsPdf(html)
        pdf.SaveAs("output.pdf")
    End Sub
End Class
$vbLabelText   $csharpLabel

Kaizen.io のアプローチでは、HtmlToPdfConverter を作成し、Convert() を呼び出してバイト配列を取得し、次に File.WriteAllBytes() を使用してバイトをファイルに手動で書き込みます。 Kaizen.ioクラウドサービスへのネットワークラウンドトリップが含まれます。

IronPDF の ChromePdfRenderer はすべてをローカルで処理します。 RenderHtmlAsPdf() メソッドは、便利な SaveAs() メソッドを備えた PdfDocument オブジェクトを返します。手動でのバイト配列処理は必要なく、ネットワーク遅延もありません。 その他のレンダリングオプションについては、HTML to PDF documentationを参照してください。

例2: ページ設定でHTMLファイルをPDFに

翻訳前 (Kaizen.io):

using Kaizen.IO;
using System;
using System.IO;

class Program
{
    static void Main()
    {
        var converter = new HtmlToPdfConverter();
        var htmlContent = File.ReadAllText("input.html");
        var options = new ConversionOptions
        {
            PageSize = PageSize.A4,
            Orientation = Orientation.Portrait
        };
        var pdfBytes = converter.Convert(htmlContent, options);
        File.WriteAllBytes("document.pdf", pdfBytes);
    }
}
using Kaizen.IO;
using System;
using System.IO;

class Program
{
    static void Main()
    {
        var converter = new HtmlToPdfConverter();
        var htmlContent = File.ReadAllText("input.html");
        var options = new ConversionOptions
        {
            PageSize = PageSize.A4,
            Orientation = Orientation.Portrait
        };
        var pdfBytes = converter.Convert(htmlContent, options);
        File.WriteAllBytes("document.pdf", pdfBytes);
    }
}
Imports Kaizen.IO
Imports System
Imports System.IO

Class Program
    Shared Sub Main()
        Dim converter = New HtmlToPdfConverter()
        Dim htmlContent = File.ReadAllText("input.html")
        Dim options = New ConversionOptions With {
            .PageSize = PageSize.A4,
            .Orientation = Orientation.Portrait
        }
        Dim pdfBytes = converter.Convert(htmlContent, options)
        File.WriteAllBytes("document.pdf", pdfBytes)
    End Sub
End Class
$vbLabelText   $csharpLabel

翻訳後(IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.IO;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
        renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
        var pdf = renderer.RenderHtmlFileAsPdf("input.html");
        pdf.SaveAs("document.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.IO;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
        renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
        var pdf = renderer.RenderHtmlFileAsPdf("input.html");
        pdf.SaveAs("document.pdf");
    }
}
Imports IronPdf
Imports System
Imports System.IO

Class Program
    Shared Sub Main()
        Dim renderer = New ChromePdfRenderer()
        renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
        renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait
        Dim pdf = renderer.RenderHtmlFileAsPdf("input.html")
        pdf.SaveAs("document.pdf")
    End Sub
End Class
$vbLabelText   $csharpLabel

Kaizen.io のアプローチでは、File.ReadAllText() を使用して HTML ファイルの内容を手動で読み取り、別の ConversionOptions オブジェクトを作成し、両方を Convert() メソッドに渡して、結果のバイトを手動でファイルに書き込む必要があります。

IronPDF は、ファイルを直接読み取る専用の RenderHtmlFileAsPdf() メソッドを提供するため、手動でファイルを読み取る必要はありません。 構成はレンダラーの RenderingOptions プロパティで設定され、すべての設定が 1 か所にまとめられます。 PdfPaperSize.A4 および PdfPaperOrientation.Portrait 列挙型は、Kaizen.io の同等のものから直接マップされます。

例3: ヘッダーとフッター付きのURLからPDFへ

翻訳前 (Kaizen.io):

using Kaizen.IO;
using System;
using System.IO;

class Program
{
    static void Main()
    {
        var converter = new HtmlToPdfConverter();
        var options = new ConversionOptions
        {
            Header = new HeaderOptions { HtmlContent = "<div style='text-align:center'>Company Header</div>" },
            Footer = new FooterOptions { HtmlContent = "<div style='text-align:center'>Page {page} of {total}</div>" },
            MarginTop = 20,
            MarginBottom = 20
        };
        var pdfBytes = converter.ConvertUrl("https://example.com", options);
        File.WriteAllBytes("webpage.pdf", pdfBytes);
    }
}
using Kaizen.IO;
using System;
using System.IO;

class Program
{
    static void Main()
    {
        var converter = new HtmlToPdfConverter();
        var options = new ConversionOptions
        {
            Header = new HeaderOptions { HtmlContent = "<div style='text-align:center'>Company Header</div>" },
            Footer = new FooterOptions { HtmlContent = "<div style='text-align:center'>Page {page} of {total}</div>" },
            MarginTop = 20,
            MarginBottom = 20
        };
        var pdfBytes = converter.ConvertUrl("https://example.com", options);
        File.WriteAllBytes("webpage.pdf", pdfBytes);
    }
}
Imports Kaizen.IO
Imports System
Imports System.IO

Module Program
    Sub Main()
        Dim converter As New HtmlToPdfConverter()
        Dim options As New ConversionOptions With {
            .Header = New HeaderOptions With {.HtmlContent = "<div style='text-align:center'>Company Header</div>"},
            .Footer = New FooterOptions With {.HtmlContent = "<div style='text-align:center'>Page {page} of {total}</div>"},
            .MarginTop = 20,
            .MarginBottom = 20
        }
        Dim pdfBytes = converter.ConvertUrl("https://example.com", options)
        File.WriteAllBytes("webpage.pdf", pdfBytes)
    End Sub
End Module
$vbLabelText   $csharpLabel

翻訳後(IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.IO;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        renderer.RenderingOptions.TextHeader.CenterText = "Company Header";
        renderer.RenderingOptions.TextFooter.CenterText = "Page {page} of {total-pages}";
        renderer.RenderingOptions.MarginTop = 20;
        renderer.RenderingOptions.MarginBottom = 20;
        var pdf = renderer.RenderUrlAsPdf("https://example.com");
        pdf.SaveAs("webpage.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.IO;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        renderer.RenderingOptions.TextHeader.CenterText = "Company Header";
        renderer.RenderingOptions.TextFooter.CenterText = "Page {page} of {total-pages}";
        renderer.RenderingOptions.MarginTop = 20;
        renderer.RenderingOptions.MarginBottom = 20;
        var pdf = renderer.RenderUrlAsPdf("https://example.com");
        pdf.SaveAs("webpage.pdf");
    }
}
Imports IronPdf
Imports System
Imports System.IO

Module Program
    Sub Main()
        Dim renderer As New ChromePdfRenderer()
        renderer.RenderingOptions.TextHeader.CenterText = "Company Header"
        renderer.RenderingOptions.TextFooter.CenterText = "Page {page} of {total-pages}"
        renderer.RenderingOptions.MarginTop = 20
        renderer.RenderingOptions.MarginBottom = 20
        Dim pdf = renderer.RenderUrlAsPdf("https://example.com")
        pdf.SaveAs("webpage.pdf")
    End Sub
End Module
$vbLabelText   $csharpLabel

この例は、いくつかの重要な移行の違いを示しています。 Kaizen.io では、ConversionOptions 内にネストされた HeaderOptions および FooterOptions オブジェクトが必要であり、各オブジェクトには HtmlContent プロパティが必要です。IronPDFは、専用の LeftText、および RightText プロパティを使用して、よりクリーンな TextHeader および TextFooter 構成を提供します。

重要な注意:プレースホルダーの構文が異なります。 Kaizen.io は合計ページ数に {total} を使用し、IronPDFは{total-pages} を使用します。 これは最も一般的な移行の問題です。コードベースで {total} を検索し、{total-pages} に置き換えてください。

IronPDF の RenderUrlAsPdf() メソッドは、Chromium エンジンを介して完全なJavaScript実行で任意の URL を直接レンダリングします。回避策は必要ありません。 URLからPDFへの変換ヘッダーとフッターについては、こちらをご覧ください。


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

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

ヘッダーとフッターを移行する際に最も重要な変更は、プレースホルダーの構文です:

// Kaizen.io placeholders:
"Page {page} of {total}"

//IronPDFplaceholders:
"Page {page} of {total-pages}"
// Kaizen.io placeholders:
"Page {page} of {total}"

//IronPDFplaceholders:
"Page {page} of {total-pages}"
' Kaizen.io placeholders:
"Page {page} of {total}"

' IronPDF placeholders:
"Page {page} of {total-pages}"
$vbLabelText   $csharpLabel

完全なプレースホルダ・マッピング:

  • {page}{page} (同じ)
  • {total}{total-pages} (違います!)
  • {title}{html-title} (違います!)
  • {date}{date} (同じ)
  • {time}{time} (同じ)

返品タイプの変更

Kaizen.io は byte[] を直接返します。IronPDFはPdfDocument オブジェクトを返します:

// Kaizen.io returns byte[]
byte[] pdfBytes = converter.Convert(html);
File.WriteAllBytes("output.pdf", pdfBytes);

//IronPDFreturns PdfDocument
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");           // Direct save
byte[] bytes = pdf.BinaryData;      // Or get bytes if needed
// Kaizen.io returns byte[]
byte[] pdfBytes = converter.Convert(html);
File.WriteAllBytes("output.pdf", pdfBytes);

//IronPDFreturns PdfDocument
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");           // Direct save
byte[] bytes = pdf.BinaryData;      // Or get bytes if needed
' Kaizen.io returns byte()
Dim pdfBytes As Byte() = converter.Convert(html)
File.WriteAllBytes("output.pdf", pdfBytes)

' IronPDF returns PdfDocument
Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("output.pdf")           ' Direct save
Dim bytes As Byte() = pdf.BinaryData ' Or get bytes if needed
$vbLabelText   $csharpLabel

APIキー管理の削除

Kaizen.ioは、リクエストごとのAPIキー認証が必要です。 IronPdfはアプリケーション起動時に一度だけ設定されたライセンスキーを使用します:

// DELETE this Kaizen.io pattern:
var converter = new HtmlToPdfConverter("YOUR_API_KEY");

// IronPDF: Set once at startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
var renderer = new ChromePdfRenderer();  // No API key needed
// DELETE this Kaizen.io pattern:
var converter = new HtmlToPdfConverter("YOUR_API_KEY");

// IronPDF: Set once at startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
var renderer = new ChromePdfRenderer();  // No API key needed
' DELETE this Kaizen.io pattern:
Dim converter = New HtmlToPdfConverter("YOUR_API_KEY")

' IronPDF: Set once at startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
Dim renderer = New ChromePdfRenderer()  ' No API key needed
$vbLabelText   $csharpLabel

ネットワーク エラー処理の削除

リトライロジック、レートリミットの処理、ネットワークタイムアウトコードは削除してください-IronPDFはローカルで処理します:

// DELETE this Kaizen.io pattern:
int retries = 3;
while (retries > 0)
{
    try
    {
        return converter.Convert(html);
    }
    catch (RateLimitException)
    {
        retries--;
        Thread.Sleep(1000);
    }
}

// IronPDF: Just call the method
return renderer.RenderHtmlAsPdf(html).BinaryData;
// DELETE this Kaizen.io pattern:
int retries = 3;
while (retries > 0)
{
    try
    {
        return converter.Convert(html);
    }
    catch (RateLimitException)
    {
        retries--;
        Thread.Sleep(1000);
    }
}

// IronPDF: Just call the method
return renderer.RenderHtmlAsPdf(html).BinaryData;
' DELETE this Kaizen.io pattern:
Dim retries As Integer = 3
While retries > 0
    Try
        Return converter.Convert(html)
    Catch ex As RateLimitException
        retries -= 1
        Thread.Sleep(1000)
    End Try
End While

' IronPDF: Just call the method
Return renderer.RenderHtmlAsPdf(html).BinaryData
$vbLabelText   $csharpLabel

トラブルシューティング

問題 1: HtmlToPdfConverter が見つかりません

問題: HtmlToPdfConverter クラスはIronPDFに存在しません。

解決策: ChromePdfRenderer に置き換えます。

// Kaizen.io
var converter = new HtmlToPdfConverter();

// IronPDF
var renderer = new ChromePdfRenderer();
// Kaizen.io
var converter = new HtmlToPdfConverter();

// IronPDF
var renderer = new ChromePdfRenderer();
' Kaizen.io
Dim converter As New HtmlToPdfConverter()

' IronPDF
Dim renderer As New ChromePdfRenderer()
$vbLabelText   $csharpLabel

課題2: ConversionOptionsが見つかりません

問題: ConversionOptions クラスはIronPDFに存在しません。

解決策:レンダラーで RenderingOptions を使用します。

// Kaizen.io
var options = new ConversionOptions { PageSize = PageSize.A4 };
converter.Convert(html, options);

// IronPDF
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderHtmlAsPdf(html);
// Kaizen.io
var options = new ConversionOptions { PageSize = PageSize.A4 };
converter.Convert(html, options);

// IronPDF
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderHtmlAsPdf(html);
' Kaizen.io
Dim options As New ConversionOptions With {.PageSize = PageSize.A4}
converter.Convert(html, options)

' IronPDF
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
renderer.RenderHtmlAsPdf(html)
$vbLabelText   $csharpLabel

課題3:ページ番号が機能しない

問題:フッターにページ数ではなくリテラル {total} が表示されます。

解決策:プレースホルダー構文を更新します。

// Kaizen.io syntax (won't work)
"Page {page} of {total}"

//IronPDFsyntax
"Page {page} of {total-pages}"
// Kaizen.io syntax (won't work)
"Page {page} of {total}"

//IronPDFsyntax
"Page {page} of {total-pages}"
$vbLabelText   $csharpLabel

課題4: 変換メソッドが見つかりません

問題: Convert() メソッドは ChromePdfRenderer には存在しません。

解決策: RenderHtmlAsPdf() を使用します。

// Kaizen.io
var pdfBytes = converter.Convert(html);

// IronPDF
var pdf = renderer.RenderHtmlAsPdf(html);
var pdfBytes = pdf.BinaryData;
// Kaizen.io
var pdfBytes = converter.Convert(html);

// IronPDF
var pdf = renderer.RenderHtmlAsPdf(html);
var pdfBytes = pdf.BinaryData;
' Kaizen.io
Dim pdfBytes = converter.Convert(html)

' IronPDF
Dim pdf = renderer.RenderHtmlAsPdf(html)
Dim pdfBytes = pdf.BinaryData
$vbLabelText   $csharpLabel

課題5:最初のレンダリングが遅い

問題:最初の PDF 生成には 1 ~ 3 秒かかります。

解決策:IronPDFは、初めて使用するときに Chromium を初期化します。 アプリケーション起動時のウォームアップ

// In Program.cs or Startup.cs:
new ChromePdfRenderer().RenderHtmlAsPdf("<html></html>");
// In Program.cs or Startup.cs:
new ChromePdfRenderer().RenderHtmlAsPdf("<html></html>");
' In Program.vb or Startup.vb:
Call New ChromePdfRenderer().RenderHtmlAsPdf("<html></html>")
$vbLabelText   $csharpLabel

移行チェックリスト

移行前

  • Kaizen.io のすべての using ステートメントを識別します
  • ドキュメント ConversionOptions 使用された設定
  • ノートのヘッダー/フッターテンプレートとプレースホルダー
  • APIキーの場所を一覧表示する(削除対象)
  • 再試行/レート制限ロジックを確認する(削除する)
  • IronPDFライセンスキーを取得する

パッケージの変更

  • Kaizen.HtmlToPdf パッケージを削除します
  • IronPdf NuGetパッケージをインストールします: dotnet add package IronPdf
  • 名前空間のインポートを更新する

コードの変更

  • 起動時にライセンスキー設定を追加する
  • HtmlToPdfConverterChromePdfRenderer に置き換えます
  • ConversionOptionsRenderingOptions に変換します
  • Convert()RenderHtmlAsPdf() に更新します
  • ConvertUrl()RenderUrlAsPdf() に更新します
  • プレースホルダー構文を更新 ({total}{total-pages})
  • File.WriteAllBytes()pdf.SaveAs() に置き換えます
  • APIキー設定を削除する
  • 再試行/レート制限ロジックを削除
  • API呼び出しのネットワークエラー処理を削除

テスティング

  • すべてのPDF生成パスをテストする
  • ヘッダー/フッターのレンダリングを確認する
  • プレースホルダーのレンダリングを確認する
  • 余白とページサイズを検証する
  • オフライン機能をテストする (新機能!)
  • ベンチマークパフォーマンスの向上

移行後

  • 設定からKaizen.io APIキーを削除する
  • 環境変数を更新する
  • レート制限設定を削除する
  • 更新監視/アラート

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

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

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

アイアンサポートチーム

私たちは週5日、24時間オンラインで対応しています。
チャット
メール
電話してね