フッターコンテンツにスキップ
IRONPDFの使用

.NET 10を使用したC#でのHTMLからPDFへの変換

IronPDF を使用すると、C# 開発者は Chrome ベースのレンダリング エンジンを使用して HTML を PDF に変換でき、.NET 10 アプリケーションでわずか数行のコードで CSS、JavaScript、および動的コンテンツ生成をサポートします。

C# でHTML を PDF に変換することは、エンタープライズ アプリケーションを構築する .NET 開発者にとって一般的な要件です。 Web コンテンツHTML ドキュメント、または HTML 文字列から PDF ファイルを生成する場合、レポート、請求書、その他の印刷可能な資産を作成するために、HTML をプロフェッショナルな PDF に変換する機能が不可欠です。

IronPDFライブラリは、.NET Framework アプリケーションおよび最新の .NET 10 プロジェクト用に構築された強力なHTML から PDF へのコンバーターです。 わずか数行の C# コードで、HTML、CSS スタイル、さらにはJavaScript レンダリングを高品質の PDF ドキュメントに簡単に変換できます。 このライブラリは、ピクセル単位の完璧な変換を保証するChrome レンダリング エンジンを活用します。

! IronPDF for .NET ホームページでは、ChromePdfRenderer クラスを使用した C# での HTML から PDF への変換コード例を示しています。

HTML から PDF への変換に IronPDF を使用する必要があるのはなぜですか?

要素の手動描画を必要とする従来のPDFライブラリとは異なり、IronPDFは完全なChromiumエンジンを使用してHTMLコンテンツをレンダリングします。つまり、HTMLファイル、 CSS画像ファイルはブラウザと全く同じように処理され、レイアウト、フォント、HTML要素が正確に保持されます。 以下の場合に最適です:

*カスタムマージンを使用した動的レポートの生成

IronPDF はPDF ドキュメントを作成するための完全なコンバータ ライブラリとして機能し、.NET 開発者に PDF 生成のシンプルさと強力な制御の両方を提供します。 このライブラリは、国際言語用のUTF-8 エンコードをサポートし、カスタマイズのための包括的なレンダリング オプションを提供します。

.NET 10 プロジェクトに IronPDF をインストールするにはどうすればよいですか?

まず、新しい.NET 10プロジェクトを作成します。 詳細なインストール ガイドについては、 IronPDF のインストールの概要またはNuGet パッケージのドキュメントを参照してください。

! Visual Studio プロジェクト構成ウィンドウには、プラットフォームの対象とファイルの場所のオプションを含む、'HtmlToPDF' という名前の新しい C# コンソール アプリ プロジェクトのセットアップが表示されています。

現在、 .NET 10 はプレビュー段階ですが、 IronPDFと完全に互換性があります。 このライブラリは、 WindowsLinuxmacOSなどのプラットフォーム間で互換性を維持します。

! .NET 10.0 Preview フレームワークが選択され、コンテナー サポート オプションが選択されたコンソール アプリの追加情報設定が表示されている Visual Studio プロジェクト作成ダイアログ。

ここでは、HTML から PDF への変換が最新の .NET 機能と IronPDF の Chrome ベースのレンダリング エンジンを使用してシームレスに機能する様子を示します。

では、IronPDF をインストールしましょう!

NuGetパッケージマネージャから直接IronPDFをインストールできます。

! Visual Studio にバージョン 2025.9.4 でインストールされた IronPdf パッケージを示す NuGet パッケージ マネージャー ウィンドウ

他のインストール オプションもあります。 ソリューションエクスプローラーで端末またはコマンドラインインターフェイス(CLI)を開き、次のコマンドを実行します:

dotnet add package IronPdf
dotnet add package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'dotnet add package IronPdf
$vbLabelText   $csharpLabel

またはNuGetパッケージマネージャコンソールを使用して:

PM > Install-Package IronPdf

! パッケージ マネージャー コンソール ウィンドウには、HtmlToPDF という名前の Visual Studio プロジェクトに IronPDF NuGet パッケージ バージョン 2025.9.4 が正常にインストールされたことが示されています。

これでコーディングを始める準備が整いました。 適切な構成を行うには、商用バージョンを使用している場合はライセンス キーが適用されていることを確認してください。

基本的な HTML から PDF への変換を実行するにはどうすればよいですか?

まずは、HTMLコンテンツをPDFファイルに変換するC#のHTMLからPDFへの変換例から始めましょう。この基本的なアプローチは、シンプルなドキュメントに適しており、コアAPIのデモとしても役立ちます。

using IronPdf;

class Program
{
    public static void Main()
    {
        var renderer = new ChromePdfRenderer();

        string html = "<html><body><h1>HTML to PDF C# Example</h1><p>This demonstrates PDF conversion in .NET 10.</p></body></html>";

        PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("basic_output.pdf");
    }
}
using IronPdf;

class Program
{
    public static void Main()
    {
        var renderer = new ChromePdfRenderer();

        string html = "<html><body><h1>HTML to PDF C# Example</h1><p>This demonstrates PDF conversion in .NET 10.</p></body></html>";

        PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("basic_output.pdf");
    }
}
Imports IronPdf

Class Program
    Public Shared Sub Main()
        Dim renderer As New ChromePdfRenderer()

        Dim html As String = "<html><body><h1>HTML to PDF C# Example</h1><p>This demonstrates PDF conversion in .NET 10.</p></body></html>"

        Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)
        pdf.SaveAs("basic_output.pdf")
    End Sub
End Class
$vbLabelText   $csharpLabel

説明:

わずか数行で、C# を使用して HTML から PDF への実用的なコンバーターを構築しました。

! Adobe Acrobat に、タイトル"HTML から PDF への C# の例"、サブタイトル".NET 10 での PDF 変換を示します。"の PDF ドキュメントが表示されています。

HTML ファイルと URL を PDF に変換するにはどうすればよいですか?

ローカル HTML ファイルをいつ変換すればよいですか?

CSS や画像などのリンクされたリソースを含む、ディスクからHTML ファイルを変換できます。 これは、テンプレートを操作したり、フォントベース URL を管理したりするときに便利です。

var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlFileAsPdf("template.html");
pdf.SaveAs("file_conversion.pdf");
var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlFileAsPdf("template.html");
pdf.SaveAs("file_conversion.pdf");
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlFileAsPdf("template.html")
pdf.SaveAs("file_conversion.pdf")
$vbLabelText   $csharpLabel

このメソッドは、ローカル HTML ファイルを読み取り、外部リソースを自動的に読み込みます。 複雑なシナリオでは、すべてのアセットを含むHTML ZIP ファイルを変換できます。

! 果物 (リンゴ、バナナ、オレンジ) の数量と価格を含む表を含む HTML から PDF への変換例を示す PDF ビューア。

URL を使用して Web ページを変換する必要があるのはいつですか?

入力が Web ページまたは既存のURLである場合は、直接レンダリングします。 このアプローチでは、ライブ Web コンテンツやダッシュボードをキャプチャしたり、 CookieHTTP リクエスト ヘッダーを処理したりします。

var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_96___");
pdf.SaveAs("webpage_conversion.pdf");
var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_96___");
pdf.SaveAs("webpage_conversion.pdf");
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("___PROTECTED_URL_96___")
pdf.SaveAs("webpage_conversion.pdf")
$vbLabelText   $csharpLabel

このコードは URL から PDF への変換を実行し、完全な JavaScript と CSS サポートを使用して HTML ドキュメントをレンダリングします。 認証されたページの場合は、 TLS ウェブサイト ログインを構成します。

! HTML から PDF への変換機能やクロスプラットフォーム サポートなどの C# PDF ライブラリ機能を示す IronPDF for .NET ランディング ページのスクリーンショット。

スタイルと JavaScript を使用して HTML コンテンツを変換するにはどうすればよいですか?

多くの Web ページでは、動的要素、CSS スタイル、 JavaScriptレンダリング (グラフ、ダッシュボード) が使用されています。 IronPDF はWaitFor APIを通じてこれを完全にサポートします。

var renderer = new ChromePdfRenderer();

renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(2000); // wait for dynamic JS
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;

// Custom paper size is also available
renderer.RenderingOptions.SetCustomPaperSize(210, 297); // A4 in mm

PdfDocument pdf = renderer.RenderHtmlFileAsPdf("Reports/sales.html");
pdf.SaveAs("styled_output.pdf");
var renderer = new ChromePdfRenderer();

renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(2000); // wait for dynamic JS
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;

// Custom paper size is also available
renderer.RenderingOptions.SetCustomPaperSize(210, 297); // A4 in mm

PdfDocument pdf = renderer.RenderHtmlFileAsPdf("Reports/sales.html");
pdf.SaveAs("styled_output.pdf");
Dim renderer As New ChromePdfRenderer()

renderer.RenderingOptions.EnableJavaScript = True
renderer.RenderingOptions.WaitFor.RenderDelay(2000) ' wait for dynamic JS
renderer.RenderingOptions.MarginTop = 20
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4

' Custom paper size is also available
renderer.RenderingOptions.SetCustomPaperSize(210, 297) ' A4 in mm

Dim pdf As PdfDocument = renderer.RenderHtmlFileAsPdf("Reports/sales.html")
pdf.SaveAs("styled_output.pdf")
$vbLabelText   $csharpLabel

これにより、IronPDF はレンダリング前に動的コンテンツの読み込みを待機し、正確な視覚出力が得られます。 WebGL サイトをレンダリングしたり、複雑なWeb フォントを処理したりすることもできます。

! 営業 (80%)、マーケティング (95%)、サポート (75%)、HR (90%) のチーム パフォーマンス パーセンテージを示す棒グラフを含む動的パフォーマンス レポートを表示する PDF ビューア。

ヘッダー、フッター、ページ番号を追加するにはどうすればよいですか?

プロフェッショナルなヘッダーとフッターをPDF に簡単に追加できます。 IronPDF は、テキスト ヘッダーとページ番号付きのリッチ HTML ヘッダーの両方をサポートしています。

renderer.RenderingOptions.FirstPageNumber = 1;
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align:center; font-size:14px; margin-top:20px;'>Sales Report</div>",
    Height = 30,
    Spacing = 5
};

renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align:center; font-size:14px; margin-bottom:20px;'>Page {page} of {total-pages}</div>",
    Height = 30,
    Spacing = 5
};
renderer.RenderingOptions.FirstPageNumber = 1;
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align:center; font-size:14px; margin-top:20px;'>Sales Report</div>",
    Height = 30,
    Spacing = 5
};

renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align:center; font-size:14px; margin-bottom:20px;'>Page {page} of {total-pages}</div>",
    Height = 30,
    Spacing = 5
};
renderer.RenderingOptions.FirstPageNumber = 1
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {
    .HtmlFragment = "<div style='text-align:center; font-size:14px; margin-top:20px;'>Sales Report</div>",
    .Height = 30,
    .Spacing = 5
}

renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter() With {
    .HtmlFragment = "<div style='text-align:center; font-size:14px; margin-bottom:20px;'>Page {page} of {total-pages}</div>",
    .Height = 30,
    .Spacing = 5
}
$vbLabelText   $csharpLabel

IronPDF はこれらを HTML 要素として扱うため、CSS を使用してスタイルを設定し、日付や会社名などのカスタム データを含めることができます。 よりシンプルなニーズには、テキスト ヘッダーとフッターを使用します。

! IronPDF と ApexCharts を使用して生成された、営業、マーケティング、サポート、および HR 部門のチーム パフォーマンス パーセンテージを示す棒グラフを含む動的パフォーマンス レポートを表示する PDF ドキュメント。

複数の HTML スニペットから PDF を生成するにはどうすればよいですか?

HTML スニペットを組み合わせて PDF を生成するには、それらを結合します。 これにより、複数セクションのレポートが作成され、さまざまなソースのコンテンツが結合されます。

var renderer = new ChromePdfRenderer();

PdfDocument part1 = renderer.RenderHtmlAsPdf("<h1>Section 1</h1><p>First section content</p>");
PdfDocument part2 = renderer.RenderHtmlAsPdf("<h1>Section 2</h1><p>Second section content</p>");

var merged = PdfDocument.Merge(part1, part2);
merged.SaveAs("Merged.pdf");

// Alternative approach: copy specific pages
var combinedDoc = new PdfDocument();
combinedDoc.CopyPage(part1, 0); // Copy first page
combinedDoc.CopyPage(part2, 0); // Copy first page
combinedDoc.SaveAs("Combined.pdf");
var renderer = new ChromePdfRenderer();

PdfDocument part1 = renderer.RenderHtmlAsPdf("<h1>Section 1</h1><p>First section content</p>");
PdfDocument part2 = renderer.RenderHtmlAsPdf("<h1>Section 2</h1><p>Second section content</p>");

var merged = PdfDocument.Merge(part1, part2);
merged.SaveAs("Merged.pdf");

// Alternative approach: copy specific pages
var combinedDoc = new PdfDocument();
combinedDoc.CopyPage(part1, 0); // Copy first page
combinedDoc.CopyPage(part2, 0); // Copy first page
combinedDoc.SaveAs("Combined.pdf");
Dim renderer = New ChromePdfRenderer()

Dim part1 As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Section 1</h1><p>First section content</p>")
Dim part2 As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Section 2</h1><p>Second section content</p>")

Dim merged = PdfDocument.Merge(part1, part2)
merged.SaveAs("Merged.pdf")

' Alternative approach: copy specific pages
Dim combinedDoc = New PdfDocument()
combinedDoc.CopyPage(part1, 0) ' Copy first page
combinedDoc.CopyPage(part2, 0) ' Copy first page
combinedDoc.SaveAs("Combined.pdf")
$vbLabelText   $csharpLabel

これは、異なる HTML フラグメントから複数セクションのレポートを作成するときに役立ちます。 ナビゲーションを改善するためにブックマークを追加することもできます。

! Adobe Acrobat インターフェイスには、"セクション 1"という見出しが付いた PDF ドキュメントと、セクション 1 とセクション 2 のサムネイルが表示されたページ パネルが表示されています。

Web API で HTML を PDF に変換するにはどうすればよいですか?

ASP.NET Web API では、 MemoryStreamを使用してディスクに保存せずに PDF を生成し、返します。 このパターンは、 Blazor アプリケーションと RESTful サービスに最適です。

[HttpGet("download")]
public IActionResult GetPdf()
{
    var renderer = new ChromePdfRenderer();
    string html = "<h1>Web Report</h1><p>Generated dynamically.</p>";

    var pdf = renderer.RenderHtmlAsPdf(html);
    var bytes = pdf.BinaryData;

    // Optional: Add metadata
    pdf.MetaData.Author = "API Service";
    pdf.MetaData.CreationDate = DateTime.Now;

    return File(bytes, "application/pdf", "report.pdf");
}
[HttpGet("download")]
public IActionResult GetPdf()
{
    var renderer = new ChromePdfRenderer();
    string html = "<h1>Web Report</h1><p>Generated dynamically.</p>";

    var pdf = renderer.RenderHtmlAsPdf(html);
    var bytes = pdf.BinaryData;

    // Optional: Add metadata
    pdf.MetaData.Author = "API Service";
    pdf.MetaData.CreationDate = DateTime.Now;

    return File(bytes, "application/pdf", "report.pdf");
}
<HttpGet("download")>
Public Function GetPdf() As IActionResult
    Dim renderer = New ChromePdfRenderer()
    Dim html As String = "<h1>Web Report</h1><p>Generated dynamically.</p>"

    Dim pdf = renderer.RenderHtmlAsPdf(html)
    Dim bytes = pdf.BinaryData

    ' Optional: Add metadata
    pdf.MetaData.Author = "API Service"
    pdf.MetaData.CreationDate = DateTime.Now

    Return File(bytes, "application/pdf", "report.pdf")
End Function
$vbLabelText   $csharpLabel

このパターンは、.NET 10 Web アプリケーションでのサーバー側 PDF 生成に最適です。 MVC アプリケーションのCSHTML ビューと統合できます。

HTML レンダリング オプションをカスタマイズするにはどうすればよいですか?

包括的なレンダリング オプションを使用して、HTML 要素とリソースのレンダリング方法を制御します。

renderer.RenderingOptions.BaseUrl = "___PROTECTED_URL_97___";
renderer.RenderingOptions.CustomHeaders.Add("Authorization", "Bearer token");
renderer.RenderingOptions.WaitFor.NavigationTimeout = 10000;
renderer.RenderingOptions.EnableJavaScript = true;

// Configure paper and margins
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;
renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;

// Set viewport for responsive design
renderer.RenderingOptions.ViewPortWidth = 1920;
renderer.RenderingOptions.ViewPortHeight = 1080;
renderer.RenderingOptions.BaseUrl = "___PROTECTED_URL_97___";
renderer.RenderingOptions.CustomHeaders.Add("Authorization", "Bearer token");
renderer.RenderingOptions.WaitFor.NavigationTimeout = 10000;
renderer.RenderingOptions.EnableJavaScript = true;

// Configure paper and margins
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;
renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;

// Set viewport for responsive design
renderer.RenderingOptions.ViewPortWidth = 1920;
renderer.RenderingOptions.ViewPortHeight = 1080;
renderer.RenderingOptions.BaseUrl = "___PROTECTED_URL_97___"
renderer.RenderingOptions.CustomHeaders.Add("Authorization", "Bearer token")
renderer.RenderingOptions.WaitFor.NavigationTimeout = 10000
renderer.RenderingOptions.EnableJavaScript = True

' Configure paper and margins
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape
renderer.RenderingOptions.MarginBottom = 25
renderer.RenderingOptions.MarginTop = 25
renderer.RenderingOptions.MarginLeft = 20
renderer.RenderingOptions.MarginRight = 20

' Set viewport for responsive design
renderer.RenderingOptions.ViewPortWidth = 1920
renderer.RenderingOptions.ViewPortHeight = 1080
$vbLabelText   $csharpLabel

これは、外部リソースを含むページをレンダリングする場合や、Web スクレイピングを実行してから PDF 変換を実行する場合に役立ちます。 印刷を最適化するには、 CSS メディア タイプカスタム用紙サイズを構成します。

PDF 変換用のコマンドライン ツールを作成するにはどうすればよいですか?

自動化や CI/CD パイプラインに役立つ、HTML から PDF へのバッチ変換用のコマンドライン ツールを構築します。

using IronPdf;
using System;

class Program
{
    public static void Main(string[] args)
    {
        if (args.Length < 2)
        {
            Console.WriteLine("Usage: pdfconvert input.html output.pdf");
            return;
        }

        string inputFile = args[0];
        string outputPath = args[1];

        var renderer = new ChromePdfRenderer();

        // Configure compression for smaller files
        renderer.RenderingOptions.CompressImages = true;

        PdfDocument pdf = renderer.RenderHtmlFileAsPdf(inputFile);
        pdf.SaveAs(outputPath);

        Console.WriteLine("PDF generated successfully!");
    }
}
using IronPdf;
using System;

class Program
{
    public static void Main(string[] args)
    {
        if (args.Length < 2)
        {
            Console.WriteLine("Usage: pdfconvert input.html output.pdf");
            return;
        }

        string inputFile = args[0];
        string outputPath = args[1];

        var renderer = new ChromePdfRenderer();

        // Configure compression for smaller files
        renderer.RenderingOptions.CompressImages = true;

        PdfDocument pdf = renderer.RenderHtmlFileAsPdf(inputFile);
        pdf.SaveAs(outputPath);

        Console.WriteLine("PDF generated successfully!");
    }
}
Imports IronPdf
Imports System

Class Program
    Public Shared Sub Main(args As String())
        If args.Length < 2 Then
            Console.WriteLine("Usage: pdfconvert input.html output.pdf")
            Return
        End If

        Dim inputFile As String = args(0)
        Dim outputPath As String = args(1)

        Dim renderer As New ChromePdfRenderer()

        ' Configure compression for smaller files
        renderer.RenderingOptions.CompressImages = True

        Dim pdf As PdfDocument = renderer.RenderHtmlFileAsPdf(inputFile)
        pdf.SaveAs(outputPath)

        Console.WriteLine("PDF generated successfully!")
    End Sub
End Class
$vbLabelText   $csharpLabel

コマンドラインインターフェイス(CLI)から実行します:

dotnet run "input.html" "output.pdf"

! input.html および output.pdf パラメータを指定した dotnet run コマンドと、それに続く成功メッセージ"PDF が正常に生成されました!"が表示されている PowerShell ターミナル

.NET 開発者向けのシンプルなコマンド ライン PDF コンバーターを構築しました。 実稼働環境で使用する場合は、カスタム ログとエラー処理を追加します。

! Adobe Acrobat で、ページの中央に"IronPDF を使用してコマンド ラインから変換されました"というテキストが表示された PDF ファイルが表示されています。

PDF 生成に非同期パターンを使用するにはどうすればよいですか?

最新の .NET 10 アプリケーションでは非同期パターンを使用します。 このアプローチは、高パフォーマンスのシナリオでのマルチスレッド生成に不可欠です。

public static async Task Main()
{
    var renderer = new ChromePdfRenderer();
    string url = "___PROTECTED_URL_98___";

    // Async rendering with cancellation token support
    using var cts = new CancellationTokenSource(TimeSpan.FromMinutes(2));

    PdfDocument pdf = await renderer.RenderUrlAsPdfAsync(url, cts.Token);
    pdf.SaveAs("async_output.pdf");

    // For parallel processing of multiple documents
    var urls = new[] { "___PROTECTED_URL_99___", "___PROTECTED_URL_100___", "___PROTECTED_URL_101___" };
    var tasks = urls.Select(u => renderer.RenderUrlAsPdfAsync(u)).ToArray();
    var pdfs = await Task.WhenAll(tasks);

    // Merge all PDFs
    var combined = PdfDocument.Merge(pdfs);
    combined.SaveAs("batch_output.pdf");
}
public static async Task Main()
{
    var renderer = new ChromePdfRenderer();
    string url = "___PROTECTED_URL_98___";

    // Async rendering with cancellation token support
    using var cts = new CancellationTokenSource(TimeSpan.FromMinutes(2));

    PdfDocument pdf = await renderer.RenderUrlAsPdfAsync(url, cts.Token);
    pdf.SaveAs("async_output.pdf");

    // For parallel processing of multiple documents
    var urls = new[] { "___PROTECTED_URL_99___", "___PROTECTED_URL_100___", "___PROTECTED_URL_101___" };
    var tasks = urls.Select(u => renderer.RenderUrlAsPdfAsync(u)).ToArray();
    var pdfs = await Task.WhenAll(tasks);

    // Merge all PDFs
    var combined = PdfDocument.Merge(pdfs);
    combined.SaveAs("batch_output.pdf");
}
Imports System
Imports System.Threading
Imports System.Threading.Tasks
Imports System.Linq

Public Module Program
    Public Async Function Main() As Task
        Dim renderer = New ChromePdfRenderer()
        Dim url As String = "___PROTECTED_URL_98___"

        ' Async rendering with cancellation token support
        Using cts As New CancellationTokenSource(TimeSpan.FromMinutes(2))
            Dim pdf As PdfDocument = Await renderer.RenderUrlAsPdfAsync(url, cts.Token)
            pdf.SaveAs("async_output.pdf")
        End Using

        ' For parallel processing of multiple documents
        Dim urls = { "___PROTECTED_URL_99___", "___PROTECTED_URL_100___", "___PROTECTED_URL_101___" }
        Dim tasks = urls.Select(Function(u) renderer.RenderUrlAsPdfAsync(u)).ToArray()
        Dim pdfs = Await Task.WhenAll(tasks)

        ' Merge all PDFs
        Dim combined = PdfDocument.Merge(pdfs)
        combined.SaveAs("batch_output.pdf")
    End Function
End Module
$vbLabelText   $csharpLabel

これは、大量の PDF 生成を処理するスケーラブルなシステムやクラウド API に最適です。 パフォーマンスを向上させるには、並列 PDF 生成を検討してください。

大規模な PDF 生成のベスト プラクティスは何ですか?

  • ChromePdfRendererインスタンスを再利用してオーバーヘッドを削減
  • 一時ファイルを高速SSDストレージに保存するか、メモリストリームを使用する
  • 適切なキャンセルトークンをサポートする非同期タスクを使用する *レンダリング遅延を設定することで、過度なJavaScriptレンダリングを回避する
  • 変換エラーを防ぐためにHTML入力を検証します
  • より小さなファイルのためにPDF圧縮を実装する
  • PDFをWeb閲覧用に線形化することを検討する

デプロイメントに関しては、IronPDF はAzureAWS Lambda 、およびDocker コンテナーをサポートしています。 ライブラリは広範なパフォーマンス最適化ガイダンスを提供します。

エンタープライズアプリケーション向けの高度な機能

IronPDF は、エンタープライズ シナリオ向けの高度な機能を提供します。

結論

IronPDF と .NET 10 を使用すると、HTML 文字列、ローカル ファイル、URL のいずれを扱う場合でも、HTML コンテンツをプロフェッショナルな PDF に変換するのは簡単です。 ライブラリの Chrome ベースのレンダリング エンジンは、CSS3 や JavaScript などの最新の Web 標準に完全に準拠します。

単純なスニペットから大規模な生成まで、IronPDF は JavaScript、CSS、カスタム ヘッダー、リンクされたリソースをサポートする完全な HTML から PDF へのコンバーターを提供します。 包括的な API は、基本的な変換から、デジタル署名PDF の整理などの複雑な企業要件まですべてを処理します。

わずか数行のコードで、PDF を生成したり、レポート生成を自動化したり、PDF コンバーターを .NET アプリケーションに直接埋め込んだりすることができます。 ライブラリの豊富なドキュメントコード例により、簡単に始めることができます。

今すぐIronPDF の無料トライアルを使用して、HTML から PDF へのプロジェクトを試してみましょう。 今すぐダウンロードして、HTML コンテンツから高品質の PDF を簡単に生成できることを体験してください。 代替品との詳細な比較については、IronPDF とiTextAsposeその他の PDF ライブラリとの比較をご覧ください。

よくある質問

C#でHTMLをPDFに変換する主な用途は何ですか?

C#でHTMLをPDFに変換する主な用途は、ウェブコンテンツ、HTMLドキュメント、またはHTML文字列からプロフェッショナルなPDFファイルを生成することです。これは、企業やSaaSアプリケーションでのレポート、請求書、および他の印刷可能な資産の作成に不可欠です。

なぜ.NET開発者にとってHTML to PDF変換が重要なのですか?

.NET開発者にとってHTML to PDF変換が重要である理由は、アプリケーションにドキュメント生成機能を統合できるからであり、これによりレポートや請求書のような高品質で共有可能かつ印刷可能なドキュメントを生成することが可能になるからです。

IronPDFは、PDFに変換するために大きなHTMLドキュメントに対応できますか?

はい、IronPDFは大きなHTMLドキュメントを効率よく処理し、パフォーマンスや品質を損なうことなくPDFに変換できます。

IronPDFはHTML文字列のPDFへの変換をサポートしていますか?

IronPDFはHTML文字列をPDFに変換することをサポートしており、開発者がHTMLコンテンツから直接PDFドキュメントを動的に生成できるようにします。

HTML to PDF変換にIronPDFを使用することで利益を得るアプリケーションの種類は何ですか?

エンタープライズおよびSaaSアプリケーションは、HTML to PDF変換にIronPDFを使用することで大いに利益を得ます。これは、レポートや請求書のようなプロフェッショナルなドキュメントの作成を自動化できるからです。

IronPDFはHTMLから高品質のPDF出力を確保するためにどのようにしていますか?

IronPDFは、HTML、CSS、JavaScriptを正確にプロフェッショナルなPDFに変換する高度なレンダリング技術を使用することで高品質のPDF出力を確保します。

IronPDFを使用して生成されたPDFの外観をカスタマイズすることは可能ですか?

はい、IronPDFは、特定のデザイン要件に合わせて、レイアウト、フォント、スタイルなどを含む生成されたPDFの外観を広範にカスタマイズできます。

IronPDFはウェブページを直接PDFに変換できますか?

IronPDFはウェブページを直接PDFに変換することができ、開発者はライブウェブコンテンツを静的で共有可能なPDFドキュメントに簡単に変換できます。

IronPDFはPDFドキュメントへのグラフィックや画像の統合をサポートしていますか?

IronPDFはグラフィックや画像の統合をサポートしており、変換されたPDFドキュメントがオリジナルのHTMLコンテンツのビジュアル要素を維持します。

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

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

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