IRONSOFTWAREHOME

HTMLをPDFに変換する方法 (開発者ガイド) - C#

Jacob Mellor、Ironチームの最高技術責任者(CTO)
Jacob Mellor
Updated: 2026年9月5日

C#でHTMLをPDFに変換することは、実世界の要件が表面化するまでは単純に思えることがよくあります。 開発者は、レンダリングの精度、デプロイメント、スケーラビリティに影響する制限にすぐに遭遇します。

レンダリングだけでなく、インフラの互換性も重要です。 チームは、最新 for .NETランタイム、クラウドプラットフォーム、コンテナ化された環境において、パフォーマンスを犠牲にすることなくPDF生成が機能することを保証しなければなりません。

このようなギャップを解決するために、IronPDFのような最新のChromeベースのソリューションは、より高いレンダリング忠実度、より幅広いプラットフォームサポート、そして本番環境に対応したデプロイワークフローを提供します。

TL;DR: HTML を PDF に変換するためのクイックスタート ガイド

IronPDF ライブラリを使用すれば、C# で HTML を PDF に簡単に変換できます。このライブラリには、HTML、CSS、JavaScript から高品質な PDF ファイルを作成するための ChromePdfRenderer.RenderHtmlAsPdf メソッドが用意されています。

  1. 1Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. 2このコード スニペットをコピーして実行します。

    IronPdf.ChromePdfRenderer
           .StaticRenderHtmlAsPdf("<p>Hello World</p>")
           .SaveAs("pixelperfect.pdf");
    C#
  3. 3実際の環境でテストするためにデプロイする

    今日プロジェクトで IronPDF を使い始めましょう無料トライアル
    arrow pointer

IronPDFを購入するか、30日間の試用版にサインアップした後、メールで送信されたライセンスキーを見つけてください。 アプリケーションの開始でライセンスキーを追加してください。

IronPdf.License.LicenseKey = "KEY";
NET 開発者が C# 用の HTML から PDF へのコンバーターを必要とする理由

IronPDFは埋め込みのGoogle Chromiumレンダリングエンジンを活用して高忠実度の変換を保証し、Webコンテンツのレイアウトとスタイリングを正確に保持します。

強力なChromeレンダリングエンジン: 正確なHTMLからPDFへの変換のためのChromeのBlinkエンジンで、メモリ、フォーム、レンダリングの精度を向上させました (v2025.9.4)

ピクセル・パーフェクトな精度: 生成されたPDFは、プリントフレンドリーなバージョンではなく、Webと正確に一致します。 最近の修正はカスタムヘッダー/フッターのクリッピング、グレースケールテキストの保持、メタデータ内の特殊文字/絵文字までカバーしています (v2025.9.4現在)

最新のWebサポート完備: すべてのHTML要素に対する完全なCSS3、HTML5、JavaScriptサポート。 最近の強化には長いテキストエリアとチェックボックスのフォームフィールド処理が含まれています。

5-20倍のパフォーマンス向上: ブラウザ自動化やWebドライバーよりも大幅に高速で、メモリリーク修正とスタンプ/ヘッダーのような繰り返される要素のバッチ操作でのファイルサイズ削減を実現。

PDF/UA準拠: セクション508標準を満たすアクセシブルPDF生成を提供し、クロスプラットフォーム (例: Linux) フォームレンダリングの向上を実現。

外部依存関係なし: サーバーにインストールする実行可能ファイルはありません

✅ C#、F#、VB.NET上で.NET 10、9、8、7、6、Core、Standard、またはFrameworkで実行されます

IronPDFは.NET開発者にプロフェッショナルな外観のPDFドキュメントをWebアプリケーションのHTMLから生成するための簡単で効率的なソリューションを提供し、プロセスを簡素化します。 請求書やレポートから証明書やアーカイブまで、開発者は馴染みのあるWebスタックで作業でき、IronPDFが複雑な処理をわずか数行のコードで行います。

関連: IronPDFの変更ログ: 更新、マイルストーン、ロードマップ

学習内容

1.HTMLをPDFに変換する方法C#

2.HTMLからPDFへの設定を構成する方法

3.高度なPDF生成とセキュリティ機能の使い方

  1. クラウドプラットフォームでHTMLをPDFに展開する方法

  2. IronPDFと他 for .NET PDFライブラリの比較

  3. トラブルシューティングと技術サポート

1. How to Convert HTML to PDF C#

HTML文字列、URL、HTMLファイルを操作しているかどうかにかかわらず、IronPDFはあなたの特定の要件に応じて高品質なPDFドキュメントを生成する柔軟なオプションを提供します。

このチュートリアルでは、HTML文字列からPDF、URLからPDF、HTMLファイルからPDFを含む最も一般的なシナリオを通じて案内します。 さらに、IronPDFはPDFドキュメントを操作するためのさまざまな操作も提供します:

HTML文字列をPDFに変換する方法

最も基本的な操作は、HTML 文字列を PDF に変換することです。 このメソッドは、動的に生成された HTML コンテンツに最適です。 RenderHtmlAsPdf メソッドは、HTMLを直接PDFに変換する際、HTML5、CSS3、JavaScript、および画像を完全にサポートしています。

using IronPdf;

// Create the Chrome renderer
var renderer = new ChromePdfRenderer();

// Convert HTML string to PDF
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello IronPdf</h1>");

// Save the PDF
pdf.SaveAs("output.pdf");

パフォーマンス

IronPDFによる文字列、URL、HTMLからのPDF変換のパフォーマンスは、16GBのRAMを搭載したLenovo製ノートPCを使用して測定されました。 テスト用ドキュメントは、標準的なCSS Grid、グラデーション、および複数セクションのテーブルを含む3ページのEnterprise向け請求書です。

翻訳結果は以下の通りです:

メトリック価値
平均レンダリング時間~486 ms
レンダリングごとのメモリ~3.6 MB

16コアワークステーション(Windows 11、.NET 8)での連続5回のレンダリング結果に基づく。 最初の呼び出しには、Chromiumエンジンの初期化(約1.3秒)も含まれます

最初にテストを実行した際、レンダリング時間が非常に遅かった(1回の呼び出しにつき1秒以上もかかった!)。 状況を調べてみると、Chromiumのインスタンスが複数起動したままだったこと、そしてバッテリー駆動中だったことに気づきました。この2つの要因により、ライブラリの本来の速度が発揮されていなかったのです。 競合するプロセスを終了し、電源を接続すると、パフォーマンスが向上しました。ウォームアップ後の実行時間は平均約486ミリ秒で、最速では473ミリ秒近くまで短縮されました。

ヒント: (v2025.9.4対応) 最近の更新で特殊文字/絵文字のHTMLメタデータ問題を修正し、Linuxでの中国語文字を含むHTMLフォームフィールドの処理を改善。) Dynamic content with EnableJavaScript = true により最適な結果をテストします。
を使用して動的コンテンツをテストしてください )}]

HTML文字列内で画像やスタイルシートなどのローカルリソースを参照している場合は、BaseUrlPath パラメータを使用して、すべてのリソースを含むHTMLコンテンツを適切に変換してください:

using IronPdf;

var renderer = new ChromePdfRenderer();

// Convert HTML content with local image and CSS references
string html = @"
    <link rel='stylesheet' href='styles.css'>
    <img src='logo.png' alt='Company Logo'>
    <h1>Company Report</h1>
    <p>Annual report content...</p>";

// Set base path for resolving relative URLs in HTML to PDF conversion
var pdf = renderer.RenderHtmlAsPdf(html, @"C:\MyProject\Assets\");
pdf.SaveAs("report.pdf");
ヒント: BaseUrlPathはIronPDFにCSS、JavaScript、および画像ファイルの場所を示します。 ### 既存のURLをPDFにエクスポートする方法
警告: 自動ドキュメント生成にどのライブラリを使用する場合でも、出力のテストが重要である理由として、特に注意すべき点が1つあります。それは、参照がシステム設定にデフォルトで戻された場合、Enterpriseドキュメントに破損した要素が含まれたり、アセットが欠落したりする可能性があることです。 IronPDFには、相対パスを正しいディレクトリに指定するためのBaseUrlPathパラメータが用意されているため、通常は一括処理を実行する前に簡単な出力チェックを行うだけで、この問題を検出できます。

関連するハウツー記事: C#でHTML文字列をPDFに変換する方法

このアプローチでは、指定された任意のURLを直接PDF形式に変換できます。

印刷とスクリーンのCSS IronPDFを構成して、どちらのCSSメディアタイプでもレンダリングできます。

JavaScriptサポート

IronPDF を構成して、CSS メディアタイプのいずれかを使用してレンダリングできます。

using IronPdf;
using IronPdf.Rendering;

// Initialize HTML to PDF converter
var renderer = new ChromePdfRenderer();

// Configure CSS media type for rendering specified URLs
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;

// Screen media type shows the entire web page as displayed on screen

動的なHTMLコンテンツ用には、IronPDFを設定してJavaScriptが完了するのを待機してからWebページをPDFにレンダリングすることができます。

これはシングルページアプリケーションや動的Webサイトに最適です。 動的HTMLコンテンツの場合、IronPDFを構成してJavaScriptの完了を待ってからウェブページをPDFにレンダリングできます。 これはシングルページアプリケーションや動的ウェブサイトに最適です。

using IronPdf;

// Configure JavaScript rendering for dynamic HTML content to PDF
var renderer = new ChromePdfRenderer();

// Enable JavaScript execution during PDF generation
renderer.RenderingOptions.EnableJavaScript = true;

// WaitFor.RenderDelay pauses before capturing the HTML
renderer.RenderingOptions.WaitFor.RenderDelay = 500; // milliseconds

レスポンシブなWebページはブラウザで見るために設計されており、IronPDFはサーバーのOSで実ブラウザウィンドウを開かないため、レスポンシブHTML要素は最小サイズでレンダリングされることがあります。 PdfCssMediaType.Print はWebページ全体をレンダリングする際にこの問題をナビゲートするのにお勧めです。

using IronPdf;

// Create renderer for JavaScript-heavy HTML
var renderer = new ChromePdfRenderer();

// Convert d3.js visualization web page to PDF
var pdf = renderer.RenderUrlAsPdf("https://bl.ocks.org/mbostock/4062006");

// Save the interactive chart as static PDF
pdf.SaveAs("chart.pdf");

レスポンシブCSS

レスポンシブWebページはブラウザでの表示を想定して設計されており、IronPDFはサーバーのOS上で実際のブラウザウィンドウを開かないため、レスポンシブHTML要素は最小サイズでレンダリングされる場合があります。Webページ全体をレンダリングする際、この問題に対処するには PdfCssMediaType.Print の使用をお勧めします。

// Configure for optimal responsive design handling in HTML to PDF

renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;

関連するハウツー記事: URL を PDF にレンダリングする方法

HTMLファイルをPDFに変換する方法

ローカルの HTML ファイルを PDF に変換すると、file:// プロトコルを使用して開いたかのように、CSS、画像、JavaScript など、すべての相対アセットが保持されます。 関連の記事: HTMLファイルをPDFにレンダリング

using IronPdf;

// Initialize ChromePdfRenderer for HTML file conversion
var renderer = new ChromePdfRenderer();

// Convert HTML file to PDF documents
// Preserves all relative paths and linked resources in HTML
var pdf = renderer.RenderHtmlFileAsPdf("Assets/TestInvoice1.html");

// Save the HTML file as PDF 
pdf.SaveAs("Invoice.pdf");

// All CSS, JavaScript, and images load correctly in the generated PDF

パフォーマンス

パフォーマンスは、すべての変数を一定に保った状態で、ディスク上のファイルから前述の3ページのEnterprise向け請求書をレンダリングすることで再度測定されました:

メトリック価値
平均レンダリング時間~502 ms
レンダリングごとのメモリ~3.1 MB

同一の16コアワークステーション(Windows 11、.NET 8)上で、5回連続のレンダリング結果に基づいて測定。 ファイルベースのレンダリングは、インメモリ文字列レンダリングと約3%以内の誤差で一致します; ディスクからHTMLを読み込むことによる測定可能なオーバーヘッドは生じません。

動的WebページからPDFに

動的なWebページを元のレイアウトとフォーマットを保持しながらPDFに変換する必要がありますか? IronPDFを使えば、さまざまな人気のある動的WebページフレームワークをすばやくPDFに変換できます。

ASPXページからPDFに変換

Active Server PagesでASPXページをPDFとして変換する簡潔なコードスニペットを以下に示します。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using IronPdf;

namespace AspxToPdfTutorial
{
    public partial class Invoice : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.InBrowser);
        }
    }
}

このコードスニペットの詳細な説明と追加機能を探るには、総合的なハウツーガイドを参照してください。

XAMLからPDFに (MAUI)

クロスプラットフォームアプリケーションを構築する開発者にとって、.NET MAUIはフレームワークの中で人気のある選択肢です。 IronPDFはXAMLをPDFに数ステップで完全にサポートしています。

using IronPdf.Extensions.Maui;

namespace mauiSample;

public partial class MainPage : ContentPage
{
    public MainPage()
    {
        InitializeComponent();
    }

    private void PrintToPdf(object sender, EventArgs e)
    {
        ChromePdfRenderer renderer = new ChromePdfRenderer();

        // Apply HTML header
        renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
        {
            HtmlFragment = "<h1>Header</h1>",
        };

        // Render PDF from Maui Page
        PdfDocument pdf = renderer.RenderContentPageToPdf<MainPage, App>().Result;

        pdf.SaveAs(@"C:\Users\lyty1\Downloads\contentPageToPdf.pdf");
    }
}

このコードスニペットの詳細な説明と追加機能を探るには、総合的なハウツーガイドを参照してください。

PDFレポートの生成

PDFレポートの生成において、正確な寸法と形式が重要です。 そのため、IronPDFを使用すると数ステップでシームレスにPDFを生成できます。

using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

renderer.RenderHtmlFileAsPdf("report.html").SaveAs("report.pdf");

このコードスニペットの詳細な説明と追加機能を探るには、総合的なハウツーガイドを参照してください。

BlazorサーバーでのPDF作成

IronPDFは.NET 6をサポートしており、Blazorのようなプロジェクトタイプを含んでいるため、BlazorサーバーでPDFを作成する方法を簡単なコードスニペットで示します。

@code {

    // Model to bind user input
    private InputHTMLModel _InputMsgModel = new InputHTMLModel();

    private async Task SubmitHTML()
    {
        // Set your IronPDF license key
        IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

        // Create a renderer to convert HTML to PDF
        var render = new IronPdf.ChromePdfRenderer();

        // Render the HTML input into a PDF document
        var doc = render.RenderHtmlAsPdf(_InputMsgModel.HTML);

        var fileName = "iron.pdf";

        // Create a stream reference for the PDF content
        using var streamRef = new DotNetStreamReference(stream: doc.Stream);

        // Invoke JavaScript function to download the PDF in the browser
        await JS.InvokeVoidAsync("SubmitHTML", fileName, streamRef);
    }

    public class InputHTMLModel
    {
        public string HTML { get; set; } = "My new message";
    }
}

このコードスニペットの詳細な説明と追加機能を探るには、総合的なハウツーガイドを参照してください。

RazorからPDF(Blazorサーバー)

Blazor ServersでPDFを作成する以外にも、IronPDFはBlazorページ内のRazorコンポーネントからPDFドキュメントを生成することもサポートしています。 PDFファイルやページの作成をはるかに合理化します。

[Parameter]
public IEnumerable<PersonInfo> persons { get; set; }
public Dictionary<string, object> Parameters { get; set; } = new Dictionary<string, object>();
 
protected override async Task OnInitializedAsync()
{
    persons = new List<PersonInfo>
    {
        new PersonInfo { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" },
        new PersonInfo { Name = "Bob", Title = "Mr.", Description = "Software Engineer" },
        new PersonInfo { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" }
    };
}
private async void PrintToPdf()
{
    ChromePdfRenderer renderer = new ChromePdfRenderer();
 
    // Apply text footer
    renderer.RenderingOptions.TextFooter = new TextHeaderFooter()
        {
            LeftText = "{date} - {time}",
            DrawDividerLine = true,
            RightText = "Page {page} of {total-pages}",
            Font = IronSoftware.Drawing.FontTypes.Arial,
            FontSize = 11
        };
 
    Parameters.Add("persons", persons);
 
    // Render razor component to PDF
    PdfDocument pdf = renderer.RenderRazorComponentToPdf<Person>(Parameters);
 
    File.WriteAllBytes("razorComponentToPdf.pdf", pdf.BinaryData);
}

このコードスニペットの詳細な説明と追加機能を探るには、総合的なハウツーガイドを参照してください。

CSHTMLからPDFに

CSHTML(Razor)からPDFへの変換により、Webアプリケーションから直接プロフェッショナルで印刷準備が整ったドキュメントを生成できます。 これは請求書、レポート、契約書、または動的なコンテンツに役立ちます。 IronPDFはRazor Pages、MVC Core、MVC Framework、およびヘッドレスレンダリングをサポートしており、わずか数行のコードで.NETアプリケーションにPDF生成をシームレスに統合できます。

CSHTMLからPDF(Razorページ)
using IronPdf.Razor.Pages;
 
public IActionResult OnPostAsync()
{
    persons = new List<Person>
    {
    new Person { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" },
    new Person { Name = "Bob", Title = "Mr.", Description = "Software Engineer" },
    new Person { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" }
    };
 
    ViewData["personList"] = persons;
 
    ChromePdfRenderer renderer = new ChromePdfRenderer();
 
    // Render Razor Page to PDF document
    PdfDocument pdf = renderer.RenderRazorToPdf(this);
 
    Response.Headers.Add("Content-Disposition", "inline");
 
    return File(pdf.BinaryData, "application/pdf", "razorPageToPdf.pdf");
}

このコードスニペットの詳細な説明と追加機能を探るには、総合的なハウツーガイドを参照してください。

CSHTMLからPDF(MVC Core)
public async Task<IActionResult> Persons()
{
    var persons = new List<Person>
    {
    new Person { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" },
    new Person { Name = "Bob", Title = "Mr.", Description = "Software Engineer" },
    new Person { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" }
    };
    if (_httpContextAccessor.HttpContext.Request.Method == HttpMethod.Post.Method)
    {
        ChromePdfRenderer renderer = new ChromePdfRenderer();
 
        // Render View to PDF document
        PdfDocument pdf = renderer.RenderRazorViewToPdf(_viewRenderService, "Views/Home/Persons.cshtml", persons);
        Response.Headers.Add("Content-Disposition", "inline");
 
        // Output PDF document
        return File(pdf.BinaryData, "application/pdf", "viewToPdfMVCCore.pdf");
    }
    return View(persons);
}

このコードスニペットの詳細な説明と追加機能を探るには、総合的なハウツーガイドを参照してください。

CSHTMLからPDF(MVC Framework)
public ActionResult Persons()
{
    var persons = new List<Person>
    {
    new Person { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" },
    new Person { Name = "Bob", Title = "Mr.", Description = "Software Engineer" },
    new Person { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" }
    };
    if (HttpContext.Request.HttpMethod == "POST")
    {
        // Provide the path to your view file
        var viewPath = "~/Views/Home/Persons.cshtml";
        ChromePdfRenderer renderer = new ChromePdfRenderer();
 
        // Render Razor view to PDF document
        PdfDocument pdf = renderer.RenderView(this.HttpContext, viewPath, persons);
        Response.Headers.Add("Content-Disposition", "inline");
 
        // View the PDF
        return File(pdf.BinaryData, "application/pdf");
    }
    return View(persons);
}

このコードスニペットの詳細な説明と追加機能を探るには、総合的なハウツーガイドを参照してください。

CSHTMLからPDF(ヘッドレス)
app.MapGet("/PrintPdf", async () =>
{
    // Set your IronPDF license key
    IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
    
    // Enable detailed logging for troubleshooting
    IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All;

    // Render the Razor view to an HTML string
    string html = await RazorTemplateEngine.RenderAsync("Views/Home/Data.cshtml");

    // Create a new instance of ChromePdfRenderer 
    ChromePdfRenderer renderer = new ChromePdfRenderer();
   
    // Render the HTML string as a PDF document
    PdfDocument pdf = renderer.RenderHtmlAsPdf(html, "./wwwroot");

    // Return the PDF file as a response
    return Results.File(pdf.BinaryData, "application/pdf", "razorViewToPdf.pdf");
});

このコードスニペットの詳細な説明と追加機能を探るには、総合的なハウツーガイドを参照してください。

2. HTMLからPDFへの設定を構成する方法 PDFドキュメントを操作する際、IronPDFは、レンダリングされたPDFに対するChromePdfRenderer.RenderingOptionsプロパティを通じて広範囲なカスタマイズを提供します

関連HOW-TO記事: HTMLファイルをPDFにレンダリングする

RazorページをPDFに変換する方法

既にRazorページを使用しているASP.NET Coreプロジェクトがある場合、そのHTMLを再構築することなく直接PDFに変換できます。 IronPDFのRazor拡張機能は、RenderRazorToPdfメソッドを追加します。このメソッドは、モデルとレイアウトを含む.cshtmlページを受け取り、単一の呼び出しでPDFドキュメントとしてレンダリングします。

PM > Install-パッケージ IronPdf.Extensions.Razor
SHELL
using IronPdf;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;

public class ReportModel : PageModel
{
    public IActionResult OnGet()
    {
        var renderer = new ChromePdfRenderer();

        // Render a Razor Page directly to PDF
        PdfDocument pdf = renderer.RenderRazorToPdf(this);

        Response.Headers.Add("Content-Disposition", "inline");
        return new FileContentResult(pdf.BinaryData, "application/pdf");
    }
}
ご注意: RenderRazorToPdfは、ASP.NET Core Webアプリプロジェクトが必要です。 コンソールアプリケーションやクラスライブラリでは機能しません。Razorビューエンジンはホスティングパイプラインで利用可能である必要があります。

関連ハウツー記事: RazorページでCSHTMLをPDFに変換する方法

MVCビューをPDFに変換する方法

MVCパターンを使用するチームは、既存のビューやコントローラーから直接PDFを生成できます。 MVC Core 拡張パッケージをインストールし、ビューパスとモデルを指定して RenderRazorViewToPdf を呼び出してください。IronPDF が Razor レンダリングパイプラインを処理し、完成した PDF を出力します。

特にレポートや請求書、ブラウザで既に設計およびテストされたページに便利です。 生成されたPDFは、レイアウトページや部分視図を含むビューの出力全体を保持します。

PM > Install-パッケージ IronPdf.Extensions.Mvc.Core
SHELL

まず、Program.cs 内で IRazorViewRenderer サービスを登録し、コントローラーからそれを注入できるようにします:

using IronPdf.Extensions.Mvc.Core;

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllersWithViews();

// Register the Razor view renderer for IronPDF
builder.Services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
builder.Services.AddSingleton<IRazorViewRenderer, RazorViewRenderer>();

次に、コントローラーアクションでレンダラーを注入し、任意のビューをPDFに変換します。

using IronPdf;
using IronPdf.Extensions.Mvc.Core;
using Microsoft.AspNetCore.Mvc;

public class ReportController : Controller
{
    private readonly IRazorViewRenderer _viewRenderService;

    // Inject the view renderer via constructor
    public ReportController(IRazorViewRenderer viewRenderService)
    {
        _viewRenderService = viewRenderService;
    }

    public IActionResult Download()
    {
        var reportModel = new { Title = "Quarterly Report", Total = 1250.00 };
        var renderer = new ChromePdfRenderer();

        // Render an MVC View with model data to PDF
        PdfDocument pdf = renderer.RenderRazorViewToPdf(
            _viewRenderService, "Views/Home/Report.cshtml", reportModel);

        Response.Headers.Add("Content-Disposition", "inline");
        return new FileContentResult(pdf.BinaryData, "application/pdf");
    }
}

関連ハウツー記事: ASP.NET Core MVCでビューをPDFに変換する方法

2. HTML から PDF への設定を構成する方法

PDFドキュメントの操作に関して、IronPDFはレンダリングされたPDFに対してChromePdfRenderer.RenderingOptionsプロパティを通じて広範なカスタマイズ機能を提供します。

設定概要
PaperSize

既存のPDFのページ寸法を設定する(A4、レター、リーガルなど)

PdfPaperSize.A4

PaperOrientation

既存のPDFに縦書きまたは横書きを設定する

PdfPaperOrientation.Landscape

MarginTop/Bottom/Left/Right

ページの余白をミリメートル単位で設定します(デフォルト:25mm)

CssMediaTypeHTMLからPDFへのスクリーンまたは印刷CSS

PdfCssMediaType.Print

PrintHtmlBackgrounds

背景色/画像を含める (デフォルト: true)

真実
EnableJavaScriptHTMLコンテンツをレンダリングする前にJavaScriptを実行する。真実
WaitFor.RenderDelayダイナミックHTMLコンテンツの待ち時間(ms)500

PDF ドキュメントを操作するための完全な構成例については、このコードスニペットをご覧ください:

using IronPdf;
using IronPdf.Rendering;

var renderer = new ChromePdfRenderer();

// Apply print-specific CSS rules
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;

// Set custom margins in millimeters
renderer.RenderingOptions.MarginTop = 50;
renderer.RenderingOptions.MarginBottom = 50;

// Enable background colors and images
renderer.RenderingOptions.PrintHtmlBackgrounds = true;

// Set paper size and orientation
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;

// Generate PDFs with all settings applied to HTML content
var htmlContent = "<div style='background-color: #f0f0f0; padding: 20px;'><h1>Styled Content</h1></div>";
var pdfDocument = renderer.RenderHtmlAsPdf(htmlContent);
pdfDocument.SaveAs("styled-output.pdf");
ヒント: PdfCssMediaType を使用して、レンダリングされた PDF ファイル形式のクリーンで印刷に最適化されたレイアウトを実現します。 ユーザーがブラウザで見る内容と完全に一致させるためにScreenを使用します。

これらのPDF操作方法により、スケールでPDFドキュメントを作成し、機密PDFファイルを保護し、HTMLからプロフェッショナルなPDF形式に変換するときにドキュメントの信頼性を保証することができます。

カスタムHTTPヘッダー、クッキー、およびログイン認証情報を設定する方法

認証が必要なURLや特定のリクエストメタデータをレンダリングする場合、IronPDFを使用してログイン認証情報、セッションクッキー、およびHTTPヘッダーをリクエストに含めることができます。これにより、イントラネットダッシュボード、制限付きレポート、またはAPI生成されたページのHTMLを別途取得することなく直接PDFにレンダリングできます。

基本認証またはNTLM認証を行うには、レンダラーに LoginCredentials オブジェクトを設定してください。 トークンベースまたはセッションベースのアクセスでは、RenderingOptionsを通じてクッキーとヘッダーを渡してください。

using IronPdf;

var renderer = new ChromePdfRenderer();

// Network authentication (Basic, Digest, NTLM)
renderer.LoginCredentials = new ChromeHttpLoginCredentials
{
    NetworkUsername = "user@domain.com",
    NetworkPassword = "securePassword"
};

// Session cookies for authenticated pages
renderer.RenderingOptions.CustomCookies["sessionId"] = "abc123";

// Custom HTTP headers (e.g., Bearer tokens, API keys)
renderer.RenderingOptions.CustomHttpRequestHeaders["Authorization"] = "Bearer eyJhbGciOi...";

var pdf = renderer.RenderUrlAsPdf("https://intranet.com/pany.com/quarterly-report");
pdf.SaveAs("quarterly-report.pdf");

関連ハウツー記事: ログイン認証の背後でPDFをレンダリングする | カスタムHTTPリクエストヘッダー

PDFレンダリング用のプロキシを設定する方法

企業のプロキシ経由で外部リソースを読み込むHTMLをレンダリングする際は、RenderHtmlAsPdf()の3番目のパラメータとしてプロキシアドレスを渡してください。 これはメソッドのパラメータであり、ChromePdfRenderOptionsのプロパティではありません。したがって、レンダラーインスタンスではなく、レンダリング呼び出しごとに設定されます。

認証が必要なプロキシの場合、http://user:pass@host:port 形式を使用して、URL に直接認証情報を埋め込んでください。 パスワード内の特殊文字は、Uri.EscapeDataString() を使用して URL エンコードしてください。

using IronPdf;

var renderer = new ChromePdfRenderer();

// Proxy is the third parameter — not a render option
PdfDocument pdf = renderer.RenderHtmlAsPdf(
    "<h1>Report</h1><link rel='stylesheet' href='https://cdn.example.com/styles.css'>",
    baseUrlOrPath: null,
    proxy: "http://proxy.co/rp.local:8080"
);
pdf.SaveAs("proxied-report.pdf");

RenderUrlAsPdf() はプロキシパラメータを受け付けない点に注意してください。 プロキシ経由でライブURLをレンダリングするには、まずRenderHtmlAsPdf()に渡してください。

関連ハウツー記事: PDFレンダリング用のプロキシサーバーを設定する方法

基本的なバッチPDF作成

高度なテンプレート、非同期操作、およびセキュリティ機能を使用して、HTMLからPDFへの変換のエンタープライズレベルの機能をアンロックします。 これらのPDF操作メソッドを使用すると、スケールでPDF文書を作成し、機密PDFファイルを保護し、HTMLをプロフェッショナルなPDF形式に変換する際に文書の真正性を確保できます。

バッチPDF作成のためのHTMLテンプレートの生成方法

基本的なバッチ PDF 作成

バッチPDF作成は、複数のパーソナライズされたPDF文書を効率的に生成するために不可欠です。 基本的なシナリオでは、C#のString.Formatメソッドが、単純なPDF操作に最適です。

// Simple HTML templating with String.Format
string htmlTemplate = String.Format("<h1>Hello {0}!</h1>", "World");

// Results in HTML content: <h1>Hello World!</h1>

PDF文書を生成する必要がある場合は、HTMLコンテンツでプレースホルダーの置き換えを使用します:

using IronPdf;

// Define reusable HTML template for PDF files
var htmlTemplate = "<p>Dear [[NAME]],</p><p>Thank you for your order.</p>";

// Customer names for batch PDF conversion processing
var names = new[] { "John", "James", "Jenny" };

// Create personalized PDF documents for each customer
var renderer = new ChromePdfRenderer();

foreach (var name in names)
{
    // Replace placeholder with actual data in HTML string
    var htmlInstance = htmlTemplate.Replace("[[NAME]]", name);

    // Generate personalized PDF document from HTML content
    var pdf = renderer.RenderHtmlAsPdf(htmlInstance);

    // Save with customer-specific filename as PDF files
    pdf.SaveAs($"{name}-invoice.pdf");
}

非同期メソッドを使用してPDFを生成する方法

HTMLをPDFに変換する際、ループや条件分岐を含む複雑なテンプレートを使用する場合は、Handlebars.NET を使用した高度なテンプレート機能を活用し、動的なHTMLコンテンツを含むPDFドキュメントを生成してください。

# First, install Handlebars.NET for HTML to PDF templating
PM > Install-パッケージ Handlebars.NET
SHELL
using HandlebarsDotNet;
using IronPdf;

// Define Handlebars template with placeholders for HTML content
var source = 
    @"<div class=""entry"">
        <h1>{{title}}</h1>
        <div class=""body"">
            {{body}}
        </div>
    </div>";

// Compile template for reuse in PDF conversion
var template = Handlebars.Compile(source);

// Create data object (can be database records) for HTML to PDF directly
var data = new { 
    title = "Monthly Report", 
    body = "Sales increased by 15% this month." 
};

// Merge template with data to create HTML content
var htmlResult = template(data);

// Convert templated HTML to PDF using the PDF converter
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlResult);

pdf.SaveAs("monthly-report.pdf");

関連 HOW-TO 記事: GitHubでHandlebars.NETについてもっと学ぶ

PDFの改ページを制御する:

HTMLスニペットを変換する際、生成されたPDFドキュメントでページネーションを管理することで、プロフェッショナルで読みやすいレイアウトを確保できます。CSSを使用して、PDFファイルのどこでページが分割されるかを制御します。

<!DOCTYPE html>
<html>
  <head>
    <style type="text/css" media="print">
      .page {
        page-break-after: always;
        page-break-inside: avoid;
      }
    </style>
  </head>
  <body>
    <div class="page">
      <h1>Page 1 Content</h1>
    </div>
    <div class="page">
      <h1>Page 2 Content</h1>
    </div>
    <div class="page">
      <h1>Page 3 Content</h1>
    </div>
  </body>
</html>
HTML

非同期メソッドを使用してPDFを生成する方法

IronPDFは、スケールでPDFファイルを生成する必要がある場合のHTMLからPDFへの変換要件に対して、完全な非同期およびマルチスレッドサポートを提供するエンタープライズグレードのパフォーマンスを実現します。

using IronPdf;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

public class PdfGenerationService
{
    // Async method for non-blocking PDF generation from HTML content
    public async Task<byte[]> GeneratePdfAsync(string html)
    {
        var renderer = new ChromePdfRenderer();

        // Async HTML to PDF conversion preserves thread pool
        var pdf = await renderer.RenderHtmlAsPdfAsync(html);

        // Return PDF files as byte array for web responses
        return pdf.BinaryData;
    }

    // Concurrent batch PDF generation for multiple HTML strings
    public async Task GenerateMultiplePdfsAsync(List<string> htmlテンプレート)
    {
        var renderer = new ChromePdfRenderer();

        // Create parallel conversion tasks to generate PDF documents
        var tasks = htmlテンプレート.Select(html =>
            renderer.RenderHtmlAsPdfAsync(html)
        );

        // Await all PDF conversions simultaneously
        var pdfs = await Task.WhenAll(tasks);

        // Save generated PDF files from HTML content
        for (int i = 0; i < pdfs.Length; i++)
        {
            pdfs[i].SaveAs($"document-{i}.pdf");
        }
    }
}
C#
ヒント: HTML から PDF への変換におけるパフォーマンス最適化のヒント
  • 最適なPDF生成パフォーマンスのために64ビットシステムを使用してください。
  • PDF ドキュメントを生成する際には十分なサーバーリソースを確保します(パワー不足の無料プランを避ける)
  • HTML コンテンツの複雑な JavaScript に対して、十分な RenderDelay を許可します。
  • 可能な場合は、ChromePdfRenderer の記述を再利用してください。
  • バッチ/非同期操作のリソース使用量を削減するために v2025.9.4 メモリ修正を活用します; カスタムヘッダー/フッターを繰り返して、ファイルサイズの削減をテストします。

関連HOW-TO記事: 非同期とマルチスレッドでPDFを生成する方法

高度なセキュリティ機能を追加する方法

.NETでPDFファイルにパスワード保護を追加する方法

HTMLコンテンツを保護されたPDF形式に変換する際に、パスワードと権限で生成された機密PDF文書を保護します。

using IronPdf;
var renderer = new ChromePdfRenderer();

// Convert HTML to PDF with security
var pdf = renderer.RenderHtmlAsPdf("<h1>Confidential Report</h1>");

// Configure security settings for PDF files
pdf.SecuritySettings.UserPassword = "user123";     // Password to open PDF documents
pdf.SecuritySettings.OwnerPassword = "owner456";   // Password to modify PDF files

// Set granular permissions for PDF format
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserPrinting = PrintPermissions.LowQualityPrint;

// Apply strong encryption to PDF documents
pdf.SecuritySettings.EncryptionAlgorithm = PdfEncryptionAlgorithm.AES256;
pdf.SaveAs("secure-document.pdf");

PDFファイルにデジタル署名を追加する方法

HTMLコンテンツからPDFファイルを生成する際に、PDF文書の真正性を確保するために暗号署名を追加します。

using IronPdf;
using IronPdf.Signing;

var renderer = new ChromePdfRenderer();

// Generate PDF from HTML page
var pdf = renderer.RenderHtmlAsPdf("<h1>Contract Agreement</h1>");

// Create digital signature with certificate for PDF files
var signature = new PdfSignature("certificate.pfx", "password")
{
    SigningContact = "legal@company.com",
    SigningLocation = "New York, NY",
    SigningReason = "Contract Approval",
    SignerName = "Authorized Signer"  // New property in v2025.8.8 for enhanced signature details
};

// Apply signature to PDF documents
pdf.Sign(signature);
pdf.SaveAs("signed-contract.pdf");

関連 HOW-TO 記事: C#でPDFドキュメントにデジタル署名する

HTMLフォームを記入可能なPDFに変換する方法

標準的な HTML フォーム要素を、入力可能なインタラクティブな PDF フォームフィールドに変換するには、CreatePdfFormsFromHtml レンダリングオプションを有効にしてください。 これにより、生成されたPDFドキュメント内でテキスト入力、チェックボックス、ラジオボタン、ドロップダウンメニューが編集可能なフィールドとして保持されます。

using IronPdf;

var renderer = new ChromePdfRenderer();

// Enable HTML form to PDF form conversion
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

string htmlForm = @"
    <h2>Employee Onboarding Form</h2>
    <form>
        <label>Full Name:</label>
        <input type='text' name='fullName' value='' /><br/>
        <label>Department:</label>
        <select name='department'>
            <option value='engineering'>Engineering</option>
            <option value='marketing'>Marketing</option>
            <option value='sales'>Sales</option>
        </select><br/>
        <label>Agree to Terms:</label>
        <input type='checkbox' name='agreeTerms' />
    </form>";

var pdf = renderer.RenderHtmlAsPdf(htmlForm);
pdf.SaveAs("onboarding-form.pdf");
警告: HTML内の各フォームフィールドには、一意の name 属性を設定する必要があります。 名前が重複していると、生成されたPDF内でフィールドが同じ値を共有し、フォームを記入した際に予期しない動作が生じます。

関連ハウツー記事: C#で記入可能なPDFフォームを作成する方法

特定のHTML要素をPDFに変換する方法

ページ全体ではなく特定のセクションをレンダリングするには、ターゲット要素を事前に分離してからレンダリングします。 最も直接的なアプローチは、JavaScript レンダリングオプションを使用してドキュメント本文をターゲット要素の内容に置き換え、WaitFor.HtmlQuerySelector() と組み合わせて抽出前に要素が存在することを確認する方法です。 以下のスニペットでは、document.head を保持することで、スタイルシートやフォントが引き継がれます。この処理を行わない場合、先祖セレクタに依存する CSS ルールが、抽出された PDF では失われてしまいます。

生のHTMLにアクセスできるサーバーサイドのシナリオでは、AngleSharpのようなパーサーを使用して対象のフラグメントを抽出し、それを RenderHtmlAsPdf() に渡してください。JavaScriptの実行は必要ありません。

using IronPdf;

// Full page HTML containing the target element
string fullPageHtml = @"
<html>
<body>
    <header><h1>Acme Corp Invoice</h1></header>
    <div id='invoice-summary'>
        <h2>Invoice #12345</h2>
        <p>Total: $1,250.00</p>
    </div>
    <footer>Confidential</footer>
</body>
</html>";

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.EnableJavaScript = true;

// Replace the body with only the target element
renderer.RenderingOptions.JavaScript = @"
    var el = document.querySelector('#invoice-summary');
    if (el) {
        var head = document.head.innerHTML;
        document.body.innerHTML = el.outerHTML;
        document.head.innerHTML = head;
    }
";

// Wait for the target element before JS executes
renderer.RenderingOptions.WaitFor.HtmlQuerySelector("#invoice-summary", 10000);

var pdf = renderer.RenderHtmlAsPdf(fullPageHtml);
pdf.SaveAs("invoice-summary.pdf");

関連ハウツー記事: HTML要素や部分ページをPDFに変換する方法

認証されたページをPDFにレンダリングする方法

認証の裏にあるページをレンダリングするには、ネットワークログイン認証情報、カスタムクッキー、HTTPリクエストヘッダーの3つのメカニズムがあります。 これは、保護されたウェブコンテンツをPDFに変換する際の最も一般的な認証シナリオをカバーします。

ログイン認証情報

保護されたURLをPDF/Aに変換する際、基本認証、ダイジェスト認証、またはNTLM認証には ChromeHttpLoginCredentials を使用してください。

using IronPdf;

var renderer = new ChromePdfRenderer();

// Configure network authentication
renderer.LoginCredentials = new ChromeHttpLoginCredentials
{
    NetworkUsername = "user@domain.com",
    NetworkPassword = "securePassword",
    AuthenticationType = ChromeHttpLoginCredentials.AuthType.Basic
};

var pdf = renderer.RenderUrlAsPdf("https://intranet.com/pany.com/reports");
pdf.SaveAs("authenticated-report.pdf");

クッキーとHTTPヘッダー

トークンベースまたはセッションベースの認証には、レンダリングリクエストにカスタムクッキーとHTTPヘッダーを直接添付します。

using IronPdf;

var renderer = new ChromePdfRenderer();

// Add session cookies
renderer.RenderingOptions.CustomCookies["sessionId"] = "abc123token";
renderer.RenderingOptions.CustomCookies["authToken"] = "bearer-xyz";

// Add custom HTTP headers (e.g., API key or Bearer token)
renderer.RenderingOptions.CustomHttpRequestHeaders["Authorization"] = "Bearer eyJhbGciOi...";

var pdf = renderer.RenderUrlAsPdf("https://app.example.com/dashboard");
pdf.SaveAs("dashboard.pdf");
ヒント: HTMLフォームベースのログイン(POSTによるユーザー名/パスワード送信)の場合、まず HttpClient を使用して認証を行い、その結果として取得したクッキーを CustomCookies 辞書に渡して、保護されたページをレンダリングすることを検討してください。

関連ハウツー記事: ログイン認証の背後でHTMLを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");

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

Adobe Acrobatインターフェイスが、'Section 1'の見出しを持つPDF文書と、Section 1とSection 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");
}

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

ヘッダー、透かし、セキュリティを追加するにはどうすればよいですか?

プロフェッショナルなヘッダーとフッターの追加

ページ番号、日付、ブランドを表示するヘッダーとフッターにより、複数ページのドキュメントがはるかに読みやすくプロフェッショナルなものになります。 IronPDF はこれらを HTML フラグメントとして処理するため、画像やブランド カラーを含む完全な CSS スタイルを使用できます。

using IronPdf;

var renderer = new ChromePdfRenderer();

renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    MaxHeight = 50,
    HtmlFragment = "<div style='text-align:center;font-size:12px;'>Annual Report 2025 -- Confidential</div>",
    BaseUrl = new Uri(@"file:///C:/assets/")
};

renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    MaxHeight = 30,
    HtmlFragment = "<div style='text-align:center;font-size:10px;'>Page {page} of {total-pages}</div>",
    DrawDividerLine = true
};

renderer.RenderingOptions.MarginTop = 60;
renderer.RenderingOptions.MarginBottom = 40;

var pdf = renderer.RenderHtmlAsPdf("<h1>Report Content</h1><p>Body text here.</p>");
pdf.SaveAs("report-with-headers.pdf");

プレースホルダー{total-pages}は、レンダリング時に自動的に置き換えられます。動的な日付注入、ロゴの配置、ページスタイルの交互に関するヘッダーおよびフッターのチュートリアルを確認してください。

透かし、暗号化、デジタル署名の適用

透かしは、ドラフト文書や機密レポートを保護します。 パスワード保護と権限設定により、PDF を印刷、コピー、編集できるユーザーを制限します。 デジタル署名は、契約書や規制対象文書に検証可能な真正性レイヤーを追加します。 これら 3 つすべてを 1 つのワークフローに組み合わせることができます。

using IronPdf;
using System.Security.Cryptography.X509Certificates;

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Contract Agreement</h1><p>Terms and conditions.</p>");

// Watermark
pdf.ApplyWatermark(
    "<div style='font-size:72px;color:red;opacity:0.3;'>DRAFT</div>",
    rotation: 45,
    opacity: 30
);

// Encryption and permissions
pdf.SecuritySettings.UserPassword = "user123";
pdf.SecuritySettings.OwnerPassword = "owner456";
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.NoPrint;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;

// Digital signature
var cert = X509CertificateLoader.LoadPkcs12FromFile("certificate.pfx", "password");
var signature = new PdfSignature(cert)
{
    SigningContact = "Jane Smith",
    SigningLocation = "New York, NY",
    SigningReason = "Contract Approval"
};
pdf.Sign(signature);
pdf.SaveAsRevision("signed-contract.pdf");

透かし技術PDF セキュリティ設定、ハードウェア セキュリティ モジュールの HSM 統合を含む証明書ベースの署名について学習します。

私のお気に入りのこの種のライブラリはIronPDFです。PDFファイルの迅速で効率的な操作が可能です。また、PDF/A形式へのエクスポートやPDF文書へのデジタル署名といった多くの貴重な機能も備えています。

Milan Jovanovic

Microsoft MVP

ケーススタディを見る

IronOCRのおかげで私たちは年間$40,000を手作業の処理から節約し、生産性を向上させ、高影響のタスクにリソースを充てることができます。非常にお勧めします。

Brent Matzelle

最高技術責任者, OPYN

ケーススタディを見る

IronSuiteは私たちの業務において重要な役割を果たしています。これらは、フロアプランの作成や在庫管理の改善を含め、ビジネス全体の効率を向上させるツールです。

David Jones

リードソフトウェアエンジニア、Agorus Build

ケーススタディを見る

4. クラウドプラットフォームでHTMLをPDFに展開する方法

クラウド環境でHTMLをPDFに変換するためには、ヘッドレスレンダリング、テンポラリファイルパス、リソース割り当てのための特定の設定が必要です。 このセクションでは、最も一般的なクラウドプラットフォームとIronPDFを使用したコンテナ化された展開をカバーします。

プラットフォーム最小リソースパッケージ自動設定テンポパス重要事項
Azure App ServiceB1レベル(基本)IronPdf.Linuxtrue/tmp無料/共有レベルでは失敗します—GPUなし、メモリが少ないため
Azure Functions(Windows)B1レベルIronPdftrue/tmp"パッケージファイルから実行"をオフにします
AWS Lambda512 MB / 330s タイムアウトIronPdf.Linuxtrue/tmp(必要)デフォルトのファイルシステムは読み取り専用です
Docker(Ubuntu/Debian)イメージ依存IronPdf.Linuxfalseイメージデフォルトfalseを設定—Dockerfileが依存関係を処理します

Azureに展開する方法

Azure FunctionsまたはApp Serviceに展開する際は、GPUアクセラレーションを無効にし、ホスティングレベルがChromeベースのレンダリングに十分なメモリを提供することを確認してください。 レンダリング呼び出しの前に、アプリケーションの起動時にこれらの設定を追加してください。

AzureサンドボックスはヘッドレスでGPUアクセスなしで実行され、無料/共有レベル(F1, D1)はChromeが必要とするリソースを持たないためです。 最低でも**B1(基本)**レベルまたはそれ以上をターゲットにしてください。

using IronPdf;

// Azure sandboxes block GPU access — always disable
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
// Required on non-GUI Linux systems
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = true;

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Azure PDF Report</h1>");
pdf.SaveAs("azure-report.pdf");
注意: Azure App Service無料および共有レベル(F1, D1)はChromeベースのPDFレンダリングに十分なリソースを持っていません。 最低でも**B1(基本)**レベルまたはそれ以上を使用して、メモリ不足エラーやプロセスタイムアウトを回避してください。

関連スタートガイド: AzureでIronPDFを展開する方法

AWS Lambdaに展開する方法

AWS Lambda では Chrome ベースの PDF レンダリングのために Docker ベースの展開が必要です。 デフォルトのLambdaファイルシステムは読み取り専用であるため、すべての一時パスおよびデプロイパスは /tmp を指す必要があります。

レンダリング呼び出しの前に、関数ハンドラのトップでこれらの設定を構成します。

using Amazon.Lambda.Core;
using IronPdf;

public class PdfFunction
{
    public string FunctionHandler(string input, ILambdaContext context)
    {
        // Lambda's only writable directory
        var tmpPath = "/tmp/";

        IronPdf.Installation.TempFolderPath = tmpPath;
        IronPdf.Installation.CustomDeploymentDirectory = tmpPath;
        IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
        // Let IronPDF install Chrome dependencies on first cold start
        IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = true;

        context.Logger.LogLine("Rendering PDF...");

        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(input);

        // Save to /tmp before uploading to S3 or returning
        var outputPath = $"{tmpPath}output.pdf";
        pdf.SaveAs(outputPath);

        return outputPath;
    }
}
ご注意: 最低でも512 MBメモリ60秒タイムアウトを持つようにLambda関数を構成します。 Chromeベースのレンダリングはメモリを多く消費し、コールドスタートには組み込みのブラウザエンジンの初期化時間が必要です。

関連スタートガイド: AWS LambdaでIronPDFを展開する方法

Dockerで展開する方法

Docker でのデプロイにおいては、IronPdf.Linux NuGet パッケージを使用して、イメージサイズを縮小し、実行時のアセットダウンロードを回避してください。 このパッケージには、コンテナ化された環境に最適化された事前にバンドルされたLinuxネイティブバイナリが含まれています。

Dockerfileで既にLinuxAndDockerDependencies自動設定 = falseを設定してください。 その場合、ランタイムの自動インストールは冗長であり、権限エラーやコールドスタートの遅延を引き起こす可能性があります。

プラットフォームパッケージ主要な設定
Ubuntu 22.04 / DebianIronPdf.Linuxデフォルト—そのままで機能します

Alpine Linux

IronPdf.LinuxDockerfileにapksを通じてchromiumをインストールします

Amazon Linux 2

IronPdf.LinuxLinuxAndDockerDependencies自動設定 = trueを使用
WindowsコンテナIronPdf追加の設定は不要です

Ubuntu/Debianベースのイメージ用の最小限のマルチステージDockerfile:

FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /app
COPY . .
RUN dotnet publish -c Release -o /out

FROM mcr.microsoft.com/dotnet/aspnet:8.0
# Install Chrome dependencies for PDF rendering
RUN apt-get update && apt-get install -y \
    libglib2.0-0 libnss3 libatk1.0-0 libatk-bridge2.0-0 \
    libcups2 libdrm2 libxkbcommon0 libxcomposite1 \
    libxdamage1 libxrandr2 libgbm1 libpango-1.0-0 \
    libcairo2 libasound2 libxshmfence1 && \
    rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY --from=build /out .
ENTRYPOINT ["dotnet", "MyApp.dll"]
Text

using IronPdf;

// Dependencies handled by Dockerfile apt-get — disable runtime install
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = false;
// No GPU in containers
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Dockerized PDF</h1>");
pdf.SaveAs("output.pdf");

関連スタートガイド: DockerでIronPDFを使用する方法

HTMLからPDFへのパフォーマンスを最適化し、スケールさせるにはどうすればよいですか?

IronPDFのChromiumエンジンは、すでに1秒未満の通常のハードウェア上のほとんどのページをレンダリングしますが、バッチレンダリングを有効にし、マルチスレッドを有効にし、ヘッドレスChromeオーバーヘッドを削減することでスループットを倍増させることができます。 - ChromePdfRendererは**スレッドセーフ**です。単一のインスタンスがデッドロックせずに数十の同時タスクをサービスできます。

  • Parallel.ForEachはすべてのCPUコアを最大限に活用します。典型的なサーバーでは単一スレッドループと比較して4~6倍のスループットが得られます。
IronPdf.License.LicenseKey = "YourLicenseKey";
ChromePdfRenderer renderer = new ChromePdfRenderer();

// Set rendering options
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Portrait;

renderer.RenderHtmlFileAsPdf(@"testFile.html").SaveAs("GeneratedFile.pdf");
  • ChromePdfRendererが**スレッドセーフ**です; 単一のインスタンスは、デッドロックなしで数十の同時タスクに対応できます。
  • Parallel.ForEachがすべてのCPUコアを飽和させます; 通常のサーバーでは、シングルスレッドループと比較して4~6倍のスループット向上が見られます。 いずれかのライブラリが不足していると、Dockerログに"libnss3.so not found"エラーとして現れます。

2. ヘッドレスChromeの起動コストを削減する

IronPDF は独自の Chromium ビルドを出荷しますが、レンダリングごとに小さな起動税が発生します。 プーリングが役立ち、 Linux コンテナーには 2 つのネイティブ ライブラリが含まれている必要があります。

RUN apt-get update && \
    apt-get install -y --no-install-recommends libnss3 libatk1.0-0
Text

いずれかのライブラリが欠けていると、Dockerログにlibnss3.so not foundエラーが表示されます。

推奨Chromeフラグ(IronPDFによって自動的に適用)には、コンテナ内のメモリおよびルートユーザー問題を軽減するために--no-sandboxが含まれます。

3. RenderDelay またはWaitForで遅延JavaScriptを待つ

DOMContentLoadedの後にカウンターをアニメートしたりデータを取得するページには短い遅延が必要な場合があります:

renderer.RenderingOptions.RenderDelay = 200;        // ms
// OR: renderer.RenderingOptions.JavaScript = "WaitFor('window.doneLoading')";

カスタムプロミスやDOMポーリングのための専用の**WaitForチュートリアル**を参照してください。

4. 1つのリクエストのためのデバッグログを有効にする

IronPdf.License.LicenseKey = "YourLicenseKey";
PdfDocument pdf = PdfDocument.FromFile("1.pdf");
PdfDocument pdf2 = PdfDocument.FromFile("2.pdf");
pdf.AppendPdf(pdf2);
pdf.SaveAs("appendedFile.pdf");

ライブDevToolsトレースは、欠けているフォント、404画像、およびコードの再コンパイルを必要としないタイミングイベントを明らかにします。

5. 再レンダリングの代わりにテンプレートPDFを再利用する

請求書の実行については、プレースホルダーとして[[name]]を使用するテンプレートPDF作成し、複雑なHTMLを再構築する代わりにテキストの置換を行います。 それは10倍速く、メモリ的にも軽いです。

さらなる読み物


5. IronPDFと他 for .NET PDFライブラリの比較

IronPDFは、その堅牢なChromium搭載レンダリングエンジン、直感的なAPI、および頻繁な製品強化のおかげで、C#でのPDF生成に関して多くのチームに選ばれるソリューションです。 IronPDFを他のPDFコンバータと比較して、あなたのPDF生成ニーズに最適なものを見つけましょう。

クイック意思決定マトリックス: IronPDFと他 for .NET PDFコンバータの比較

ソリューション使用時期最適

IronPDF

最新のウェブサイト/HTMLを、正確なビジュアル忠実度でPDFに変換します。

信頼性の高いHTMLレンダリングエンジン、動的コンテンツ、プロフェッショナルなサポートを必要とするエンタープライズアプリケーション

wkhtmltopdf

時代遅れのレンダリングが許容される、重要でないアプリケーションでの簡単なHTML変換

レガシーHTML/CSSによる基本的なドキュメント生成

シンクフュージョン

すでにSyncfusionのエコシステムに投資している場合、または無料のコミュニティライセンスを利用できる場合

複数のSyncfusionコンポーネントを使用している組織

Aspose.PDFHTMLレンダリングの品質がそれほど重要でない場合は、複雑なPDF操作を行います。

HTML変換を超える広範なPDF編集機能

**関連する比較: **

詳細な比較:IronPDFと他 for .NET PDFコンバーターの比較

特徴★ 推奨IronPDFwkhtmltopdfiTextAspose.PDFSyncfusionApryseSelectPdfSpire.PDFPDFSharpQuestPDF
レンダリングと変換
レンダリング精度ピクセルパーフェクトベスト印刷スタイルプログラムのみ良い良い良い良い低レベルレンダリングなしコードファーストレイアウト
HTML5サポート満杯時代遅れアドオン部分的満杯モジュール満杯限定いいえいいえ(コードファースト)
CSS3 サポート満杯限定アドオン部分的満杯モジュール満杯限定いいえいいえ(コードファースト)
JavaScriptの実行全文ベストいいえいいえ論争中限定限定限定非常に限定的いいえいいえ
HTML→PDF(モダンレイアウト)組み込みChromiumベストQt WebKit(古い)有料アドオン部分的; JS 異議ありブリンクエンジンモジュールが必要完全なHTML→PDF画像ベースいいえHTMLレンダラーではありません
PDF→画像レンダリングはいいいえはいはいはいはいいいえ限定いいえ独自のドキュメントのみ
ドキュメント操作
プログラムでPDFを生成するはいいいえはいはいはいはいHTMLのみはい基本はい(Fluent API)
結合、分割、並べ替えはいいいえはいはいはいはいはいはい限定はい
ヘッダー / フッター / ページ番号HTML/テキスト/画像ベスト制限ありはいイベント経由イベント経由はいテンプレートマニュアル手動のみファーストクラススロット
透かしとスタンプテキストと画像いいえはいはいはいはいはい限定いいえはい(オーバーレイ)
PDF からテキストを抽出はいいいえはいはいはいはいはいはい基本いいえ
スキャンしたPDFのOCRIronOCR統合経由いいえアドオン別製品アドオンアドオンいいえ回避策いいえいいえ
セキュリティとコンプライアンス
デジタル署名はいいいえはいはいはいサンプルコードはいいいえいいえ文書化されていない
PDF/A準拠はい(PDF/A-3B)いいえ完全なPDF/A検証と作成ネイティブSDKが必要ですPDFAコンプライアンスいいえはい限定PDF/A-2倍速および3倍速
プラットフォームと開発者エクスペリエンス
クロスプラットフォームWindows · Linux · macOSすべて 3バイナリに依存.NET Standard2.0Linuxの追加設定Blink + .NETサーバーネイティブSDKWindowsのみ*限定的な Linux ドキュメントWindows 中心Windows/Linux/macOS
クラウドとDockerデプロイAzure · AWS · Dockerベスト複雑; 遺産複数のパッケージ部分的; コンテナ瞬きの追加機能が必要ネイティブデプスWindowsのみ限定情報シンプル、軽量Docker/K8s; ローカル
サポートとドキュメント
ドキュメント広範囲 + コピー/ペーストに最適部分的な CLI ドキュメント広範囲; KBブロード; GitHubヘルプセンター多言語カタログ入門ガイドプログラムガイドコミュニティガイド構造化 + コンパニオンアプリ
開発者サポート24時間365日対応のエンジニアベストコミュニティのみサブスクリプションが含まれていますフォーラム + 有料24時間年中無休のダイレクトトラックコマーシャルメールフォーラム + メールコミュニティのみコミュニティ + GitHub
ライセンスと価格
ライセンスモデル永久オープンソースAGPL / サブスクリプション永久年間購読カスタム/消費永久年間購読無料(MIT)MIT 無料 / 有料プラン
開始価格$999永久ライセンス · 1 開発者 style="color:#16a34a">無料~年額45,000ドル個別見積もり,175+開発者1名あたり5/年サブスクリプション・無料(100万ドル未満)~年額9,000ドル以上個別見積もり9+永久ライセンス9/年年間サブスクリプション style="color:#16a34a">無料 style="color:#16a34a">無料コミュニティ MIT <M
無料トライアル30日間・全機能制限なし該当なし(無料)30日間はい(透かし入り)Community <$1M Revはいコミュニティ(5ページ)無料(10ページ)該当なし(無料)N/A (MIT Free <$1M)
価格の透明性公開済み&クリアベストオープンソース複雑なAGPL多くの階層見積もりの​​お問い合わせ価格は公表されていません出版出版MIT; 制限なしMIT; 信頼ベース

実際のHTMLからPDFへの変換比較:Redditのホームページのレンダリング

出力PDFの品質を評価するために、動的なウェブコンテンツ、モダンなCSS、JavaScript HTML要素を含むRedditのホームページを使用してこれらのライブラリをテストしました。 このページは、出力PDF生成の理想的なテストケースとして機能します。

https://www.reddit.com/

PDF変換テストに使用された、動的コンテンツ、モダンなデザイン、インタラクティブな要素が確認できるRedditホームページのスクリーンショット

IronPDF

IronPDFによる変換結果。Redditのホームページがピクセル単位で正確に再現され、動的コンテンツ、スタイル、インタラクティブな要素がすべて保持されています

IronPDFは、Chromeで表示されている通りに、全ての動的なウェブコンテンツ、モダンなウェブフォントスタイリング、およびインタラクティブ要素を完全に保持した結果をわずか数行のコードで提供します。

Syncfusion

Syncfusion PDF変換例。RedditホームページのPDF変換例。一部が欠落し、スタイルが不完全な状態で部分的にレンダリングされています

Syncfusionは、特に動的コンテンツを欠いて多くのセクションとスタイリングが欠けたPDFをレンダリングしました。 最初はRedditのセキュリティによってブロックされました。 より良い結果を得るには広範なコマンドラインの調整が必要ですが、出力は不完全なままです。

Aspose.PDF

Redditのホームページからほとんどのページ要素が欠落し、最小限の内容しか取得されていないAspose.PDFの変換結果

Aspose.PDF は最初に手動で HTML をダウンロードする必要がありました(直接の URL サポートはありません)。 変換後、出力は適切なフォーマットを欠き、ほとんどすべてのコンテンツセクションが欠けていたため、動的なコンテンツを持つモダンなウェブには適していませんでした。

wkhtmltopdf

wkhtmltopdfの出力例。動的要素や最新のCSSを適用していない、静的でスタイルが適用されていないRedditホームページを表示しています

wkhtmltopdfはすばやく完了しましたが、ライブ更新、動的要素、インタラクティブセクションのような重要なコンテンツが欠けているプレーンな静的ページを生成しました。 これは、wkhtmltopdfがモダンでJavaScript駆動のウェブサイトに対応していないことを示しています。

パフォーマンスと出力PDF品質に関する結論

.NET 開発者にとって信頼性のある HTML から PDF への変換ツールが必要な場合、IronPDF は最小限のコード、使いやすい API、頻繁な製品改善で際立っています。

ウェブコンテンツでの実際のテストでは、最速かつ最も正確な結果が得られ、Syncfusionは後れを取り、Asposeは追加の手順を必要とし、wkhtmltopdfはモダンなスタイリングを逃しました。 IronPDFは、今日のHTMLからPDFへの変換ワークフローにおいて、速度、正確さ、シンプルさの最適なバランスを提供します。

注意事項: Aspose、Syncfusion、wkhtmltopdfは、それぞれの所有者の商標です。 このサイトはそれらと提携しておらず、また、それらからの承認も受けていません。 すべての名前、ロゴ、およびブランドはそれぞれの所有者に帰属し、比較は執筆時点で公開されている情報に基づいています。

概要

このガイドでは、.NETでHTMLをPDFに変換するために必要なすべての事を解説しました:基本的な文字列変換から、非同期処理、デジタル署名、バッチ生成といった高度な機能まで。 3つの変換方法、基本設定、高度な機能とセキュリティ設定を示し、動的なドキュメント生成の実際のテストを通じてIronPDFを他のライブラリと比較しました。

競合他社がモダンなウェブサイトで苦労し、または複雑な解決策を必要としたのに対し、IronPDFは最小限のコードと強力なレンダリングエンジンで完璧な結果を提供しました。

数行のコードでPDFワークフローを効率化し、汎用性のあるPDF生成を体験する準備ができましたか? NuGetパッケージマネージャー(またはVisual StudioでNuGetパッケージの管理を選択)を通じてIronPDFをインストールし、今日最初のHTMLをPDFに変換してください。

透かしなしでの制作テスト用30日間の無料トライアルを開始 柔軟なライセンス体系は $999 から利用可能で、ニーズに合わせて拡張できる透明性の高いチーム向け価格設定となっています。

IronPDFのライセンスを見る

6. トラブルシューティングと技術サポート

HTMLをPDFに変換する際の以下のエラーに問題がありますか? IronPDFはhttps://ironpdf.com/でのチャットウィジェットを通じて24/7のエンジニアサポートを提供します。

一般的なエラーの迅速な解決

  • 最初のレンダリングが遅い? 正常です。 Chromeは2〜3秒で初期化され、その後スピードアップします。
  • クラウドの問題? 少なくともAzure B1または同等のリソースを使用してください。
  • 資産が欠けている? 基本パスを設定するか、base64として埋め込んでください。
  • 要素が欠けている? JavaScript を実行するには RenderDelay を追加してください。
  • レンダリングでのメモリー? HTML to PDF、スタンプ、およびヘッダー/フッターの修正のためにv2025.9.4に更新してください。
  • フォームフィールドの問題(例:長いテキストエリア、チェックボックス)? v2025.7.17で修正されました; チェックボックスにはユニークな名前を使用してください。
  • カスタムヘッダー/フッターのクリッピングまたは特殊文字が破損する? v2025.8.8で解決されました。 テストのワードラッピングとメタデータ。

IronPDFを構築したエンジニアからの24時間年中無休のサポートを受ける

次のステップ
PDFドキュメントを結合または分割する方法ハウツーを見る
PDFファイルにカスタムヘッダーとカスタムフッターを追加する方法ハウツーを見る
PDFのテキストと領域を再編集する方法ハウツーを見る

よくある質問

C#でHTMLをPDFに変換するには?

HTML、CSS3、JavaScriptをピクセルパーフェクトなPDFに変換するChromeレンダリングライブラリを使えば、C#でHTMLをPDFに変換できます。IronPDFのようなツールを使えば、ヘッダー、認証、印刷設定をサポートしながら、URL、HTML文字列、ファイルからレンダリングできます。

.NET用の最良のHTML to PDFライブラリは何ですか?

最良のライブラリは、正確なChromeレンダリング、クロスプラットフォームのデプロイメント、エンタープライズ機能をサポートする必要があります。IronPDFはこれらすべてをカバーしています - Windows、Linux、macOS、Docker上で動作し、セキュリティ、署名、コンプライアンス、および拡張性のある.NETアプリケーションをサポートしています。

無料のHTMLからPDFへのオプションは.NETに何がありますか?

オープンソースの方法としてwkhtmltopdf、PuppeteerSharp、Playwrightがあり、HTMLをPDFに無料で変換できますが、利便性を保つためにメンテナンスが必要です。これには、古いレンダリングエンジンやバンドルされたブラウザのバイナリ、または手動でのサーバー構成が伴います。IronPDFは商用製品であり、開発中には透かしなしで全機能を30日間無料で試用できます。製品ライセンスは$999から開始します。価格を見る →

C#を使用してHTML文字列をPDFに変換するにはどうすればいいですか?

HTML文字列をPDFに変換するには、ChromePdfRendererクラスとそのRenderHtmlAsPdfメソッドを使用します。このメソッドにHTML文字列を渡し、SaveAsでPDFを保存します。

C#でウェブページURLをPDFドキュメントに変換する手順は何ですか?

スタイル、画像、フォームやハイパーリンクなどのインタラクティブ要素を保持するために、RenderUrlAsPdfメソッドを使用して、ウェブページURLを直接PDFに変換できます。

C#でHTMLファイルをPDFに変換するには?

ローカルHTMLファイルをPDFに変換するには、ChromePdfRenderer.RenderHtmlFileAsPdf("path/to/file.html")を使用します。IronPDFはすべての相対アセットパス(画像、CSS、JS)を自動的に解決します。

ASP.NET Razor PagesまたはMVC ViewsをPDFに変換するにはどうすればよいですか?

IronPDFは専用のエクステンションパッケージを提供しています — Razor PagesにはIronPdf.Extensions.Razor、MVC ViewsにはIronPdf.Extensions.Mvc.Coreを使用します。依存性注入を使用して、RenderRazorToPdfまたはRenderRazorViewToPdfを使用して、コントローラからビューを直接PDFに変換します。Razorガイドを見る →

JavaScriptコンテンツがPDFに正しくレンダリングされるようにするにはどうすればよいですか?

JavaScriptレンダリングを有効にするには、RenderingOptions.EnableJavaScript = trueを設定し、RenderingOptions.WaitFor.RenderDelayを使用してレンダーディレイを追加します。これにより、変換前に動的コンテンツが完全に読み込まれることを保証します。WaitForガイドを見る →

なぜHTMLからPDFへの出力が空白またはコンテンツが欠けているのですか?

PDFが空白または部分的になっている場合、ほとんどの場合、ページがキャプチャされる前に完全にレンダリングされていなかったか、その資産が読み込まれていなかったことを意味します。動的またはJavaScript駆動のコンテンツには、RenderingOptions.EnableJavaScript = trueを設定し、Chromeが描画を完了するまでWaitFor.RenderDelay(またはWaitFor.HtmlQuerySelector)を追加してください。ローカルの画像、CSS、フォントが欠けている場合は、相対パスが正しく解決されるようにBaseUrlPathを指定してください。WaitForガイドを見る →

C#でPDFにヘッダーとフッターを追加する最良の方法は何ですか?

単純なテキストのヘッダーとフッターにはTextHeaderFooterクラスを使用し、より複雑なHTMLコンテンツにはHtmlHeaderFooterクラスを使用します。{page}{total-pages}{date}などの動的プレースホルダーを含めることで、コンテンツを自動生成できます。ヘッダーとフッターガイドを見る →

C# .NETでPDF出力のページ区切りを管理するにはどうすればよいですか?

PDF内の改ページを制御するには、CSSプロパティpage-break-after: alwayspage-break-inside: avoidを印刷メディアタイプCSSブロック内で使用します。改ページガイドを見る →

PDFで用紙サイズと向き設定のオプションは何ですか?

紙サイズを設定するにはRenderingOptions.PaperSizeを使用し(A4、Letter、Legalなどのオプションがあります)、向きはRenderingOptions.PaperOrientationで設定します。ポートレートまたはランドスケープ。ミリメートルまたはインチのカスタムサイズもサポートされています。紙サイズガイドを見る →

認証されたウェブページをPDFに変換できますか?

はい。IronPDFはクッキー、カスタムHTTPヘッダー、フォームベースの認証をサポートしています。クッキーはChromePdfRenderer.RenderingOptions.CustomCookiesを通じて設定でき、トークンベースの認証のために認証ヘッダーを渡すことができます。Windows NTLMおよびKerberos認証もサポートされています。クッキーガイドを見る →

C#で単一のHTMLテンプレートから複数のPDFを作成できますか?

はい、プレースホルダがあるHTMLテンプレートを作成し、Handlebars.NETのような文字列置換やテンプレートライブラリを使用して実際の値に置き換え、RenderHtmlAsPdfを使用してPDFを生成します。

生成されたPDFにパスワードを設定してセキュリティを確保することは可能ですか?

はい、SecuritySettingsプロパティを使用してユーザーおよびオーナーパスワードを設定し、印刷やコピーなどの権限を構成し、SecuritySettings.EncryptionAlgorithmを使用してAES256暗号化を適用できます。暗号化ガイドを見る →

HTMLからPDF/A準拠の文書を生成できますか?

はい。IronPDFはアーカイブとアクセシビリティの準拠のためのPDF/A-1b、PDF/A-2b、PDF/A-3b、およびPDF/UA標準をサポートしており、ほとんどのHTML-to-PDFコンバータはこれを提供していません。PDF/Aガイドを見る →

大量のPDFを生成するためのパフォーマンスを最適化するにはどうすればよいですか?

非ブロッキング操作のためにRenderHtmlAsPdfAsyncなどの非同期メソッドを使用してパフォーマンスを最適化します。ChromePdfRendererのインスタンスを再利用し、Task.WhenAllを使用して複数のPDFを同時に処理し、64ビットシステム上で十分なサーバーリソースを確保してください。非同期ガイドを見る →

複数のPDFをマージしたり、ドキュメントにカバーページを含めるにはどうすればよいですか?

複数のPDFを結合するには、静的PdfDocument.Mergeメソッドを使用します。表紙ページを個別に作成し、メインドキュメントと結合して包括的なPDFを作成します。結合ガイドを見る →

IronPDFをAzure、AWS、またはDockerにデプロイできますか?

はい。IronPDFはAzure App Service、Azure Functions、AWS Lambda、およびLinux上のDockerコンテナで動作します。各プラットフォームの専用セットアップガイドとDockerイメージが利用可能です。Azureガイドを見る → · AWSガイドを見る → · Dockerガイドを見る →

.NET 10 の互換性: IronPDF はすぐに .NET 10 をサポートしますか?

はい — IronPDFは.NET 10と完全互換です。IronPDFのリリースノートによれば、このライブラリは.NET 10プロジェクトに即応可能で、追加の設定は不要です。ウェブ、コンソール、デスクトップ、またはマイクロサービスアプリケーションを使用しても、IronPDFは.NET 10で「箱から出してすぐ」に動作します。

IronPDFは無料で使用できますか?

IronPDFは、開発中に透かしなしで全機能を備えた30日間の無料トライアルを提供しています。商用利用には$999から始まる商用ライセンスが必要です。Lite、Plus、Professional、Enterpriseの各ティアがあります。価格を見る →

このライブラリのレンダリング品質は、wkhtmltopdfなどの他のオプションと比べてどうですか?

このライブラリは、ピクセルパーフェクトなPDFを生成するモダンなChromeレンダリングエンジンを使用しています。サーバーの実行ファイルを必要とせず、完全なJavaScript/CSS3をサポートし、定期的なアップデートとプロフェッショナルなサポートを提供します。一方、wkhtmltopdfは古いWebKitエンジンを使用しています。

HTMLからPDFへの変換にこのライブラリをPDFSharpより選ぶべき理由は?

PDFSharpは組み込みのHTMLからPDFへの変換を持ち合わせておらず、複雑な回避策が必要です。このライブラリは、ハイレベルAPIを使用して直接HTML/URL/ファイルの変換を提供し、現代のWeb技術のサポートとプロフェッショナルサポートによる定期的な更新があります。PDFSharpの比較を見る →

HTML変換において、なぜこれがiTextSharpよりも優れた選択肢であるのか?

iTextSharpの無料版はネイティブのHTMLからPDFへの変換をサポートせず、APIが複雑な低レベルです。このライブラリはシームレスなHTML変換を直感的なAPIで提供し、完全なCSS3/JavaScriptのサポートがあり、AGPLライセンス制約がありません。iTextSharpの比較を見る →

このライブラリのレンダリング品質はAspose.PDFと比較してどうですか?

このライブラリはピクセルパーフェクトなChrome品質のPDFを生成しますが、Aspose.PDFはスタイルと動的コンテンツをよく見逃します。AsposeはURL変換のために手動でHTMLをダウンロードする必要がありますが、このライブラリは直接的でより正確なURL変換を提供します。Asposeの比較を見る →

Syncfusion PDFよりこのライブラリを選ぶ理由は?

Syncfusionは高性能ですが、このライブラリの最適化されたChromeエンジンはより高速で、動的コンテンツをより効果的に処理します。しかも、OCRとバーコード生成のような追加機能を提供しています。Syncfusionの比較を見る →

Jacob Mellor、Ironチームの最高技術責任者(CTO)
最高技術責任者(CTO)

ジェイコブ・メラーはIron Softwareの最高技術責任者(CTO)であり、C# PDFテクノロジーを開拓する先見的なエンジニアです。Iron Softwareのコアコードベースを支えるオリジナル開発者として、彼は創業以来、会社の製品アーキテクチャを形成し、CEOのCameron Rimingtonとともに、会社をNASA、Tesla、および世界的な政府機関にサービスを提供する50人以上の会社に変えました。1999年にロンドンで最初のソフトウェアビジネスを開業し、2005年に最初 for .NETコンポーネントを作成した後、Microsoftのエコシステム全体で複雑な問題を解決することを専門としました。

準備はできましたか?

Nuget Downloads 20,878,335バージョン:2026.9リリースされたばかり

無料をゲット

30日間の試用キーをすぐに取得。

bullet_checkedクレジットカードやアカウントの作成は不要です。
bullet_test製品版でのテスト
透かしなし
bullet_calendar30日間
完全機能の製品
bullet_support試用期間中の
24/5テクニカルサポート
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。
PDF用C# NuGetライブラリ
NuGetでインストール

バージョン: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. ソリューションエクスプローラーで参照を右クリックし、NuGetパッケージを管理を選択
  2. ブラウズを選択し、"IronPDF"を検索
  3. パッケージを選択してインストール
C# PDF DLL
DLLをダウンロード

バージョン: 2026.9

またはここからWindowsインストーラーをダウンロードする。

  1. IronPDFを~/Libsなどの場所に解凍し、ソリューションディレクトリ内に配置する
  2. Visual Studioソリューションエクスプローラーで参照を右クリックし、"IronPDF.dll"をブラウズして選択

ライセンスは$999から

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
無料のライブデモを予約する
Booking Badge

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。