IRONSOFTWAREHOME
IRONPDFの使用

.NETでPDFファイルをマージする方法

Curtis Chau
Curtis Chau
Updated: 2026年9月4日

IronPDF は、書式設定、CSS、 JavaScriptを保持する Chrome ベースのレンダリング エンジンを使用して、 ASP.NET Coreで HTML から PDF へのシームレスな変換を可能にします。これは、最新の Web アプリケーションで請求書、レポート、ダウンロード可能なドキュメントを生成するために不可欠です。

動的な HTML を PDF ドキュメントに変換することは、最新のASP.NETアプリケーションの基本要件です。 請求書を生成する場合、レポートを作成する場合、ダウンロード可能なファイルを作成する場合など、HTML コンテンツをプロフェッショナルな PDF に変換することは、洗練されたユーザー エクスペリエンスを提供するために不可欠です。

IronPDF は、HTML フォーマット、CSS スタイル、およびJavaScript機能を結果のドキュメントに完全に保持する強力なChrome ベースのレンダリング エンジンを提供することで、この変換プロセスを簡素化します。 このチュートリアルでは、 IronPDFライブラリを使用してASP.NET Coreアプリケーションで HTML を PDF に変換する効果的な方法について説明します。

なぜ開発者はHTMLからPDFへの変換が必要なのですか?

ASP.NET Coreアプリケーションは、ユーザーが PDF としてダウンロード、共有、またはアーカイブする必要がある動的な HTML コンテンツを生成することがよくあります。 HTMLをPDFに変換することには、単にウェブページを保存したりスクリーンショットを撮ったりすることに比べていくつかの重要な利点があります。

PDF では、すべてのデバイスとプラットフォームで一貫した書式が維持されるため、Windows、Mac、モバイル デバイスのいずれで請求書を表示しても同じ外観になります。 デジタル署名セキュリティ設定、またはプロフェッショナルな印刷を必要とするドキュメントに最適です。 サーバー側での変換により、ユーザーは特定のソフトウェアをインストールする必要がなくなり、最終出力をより適切に制御できるようになります。

一般的な使用例には、ダッシュボード データからの財務レポートの生成、注文情報からダウンロード可能な請求書の作成、 QR コード付きのチケットやパスの作成、フォーム送信の永久記録への変換などがあります。 サーバー上で変換を処理することで、ユーザーのブラウザやデバイスの機能に関係なく、一貫した結果が得られます。 PDF/A アーカイブ形式により、ドキュメントの長期保存が保証され、 PDF 圧縮によりファイル サイズが縮小され、効率的な保存と転送が可能になります。

このサーバーサイドのアプローチは、DevOpsエンジニアにとってコンテナ化されたデプロイメントCI/CDパイプラインとシームレスに統合され、異なる環境での信頼性の高いPDF生成を保証します。 パフォーマンス最適化機能により、本番環境でのリソースの効率的な利用が可能になります。 Azure デプロイ ガイドAWS Lambda 統合では、プラットフォーム固有の最適化戦略が提供されます。

IronPDFのインストールはどのように機能しますか?

ASP.NET CoreプロジェクトでIronPDFを始めるのは簡単です。 このライブラリは、 .NET Core 2.0 以降と.NET 5、6、7、8 をサポートしており、すべての最新のASP.NET Coreアプリケーションと互換性があります。 コンテナ化された環境の場合、 IronPDF は公式の Docker サポートを提供します。 インストールの概要では、すべての展開シナリオがカバーされています。

最も速いインストール方法は何ですか?

IronPDF をプロジェクトに追加する最も簡単な方法は、Visual Studio のNuGetパッケージ マネージャーを使用することです。 ソリューションエクスプローラーでプロジェクトを右クリックし、"NuGetパッケージの管理"を選択し、IronPDFを検索します。 最新バージョンをインストールしてプロジェクトに追加します。 詳細なインストール手順については、 IronPDFインストール ガイドを参照してください。 代替方法としては、 Windows インストーラーまたは高度なNuGet構成の使用があります。

PM > Install-Package IronPdf

コンテナ化されたデプロイメントの場合、初期デプロイメント サイズを削減するIronPdf.Slim パッケージを使用します。

dotnet add package IronPdf.Slim

このアプローチは、パッケージ サイズの制約が重要なAWS Lambda デプロイメントまたはAzure Functionsに役立ちます。 ネイティブ エンジンとリモート エンジンの比較は、最適な展開戦略を選択するのに役立ちます。

どの名前空間が必要ですか?

インストール後、PDF生成で作業するC#ファイルにIronPDF名前空間を追加します。

using IronPdf;

このインポート文は、HTML変換用のChromePdfRendererクラスを含むIronPDFのすべての機能にアクセスを提供し、出力をカスタマイズするためのさまざまな設定オプションを含みます。 API リファレンスには、利用可能なすべてのクラスとメソッドに関する包括的なドキュメントが提供されています。

どのような構成オプションを設定すればよいですか?

ほとんどのASP.NET Coreアプリケーションでは、追加の設定なしでインストール直後にIronPDFが機能します。 ただし、Startup.csファイルでグローバルオプションを設定できます。

// Optional: Configure IronPDF settings
Installation.TempFolderPath = @"C:\Temp\IronPdf\";
Installation.LinuxAndDockerDependenciesAutoConfig = true;

// Configure license key for production
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";

これらの構成オプションは、 WindowsLinux 、または Docker コンテナーのいずれで実行されているかに関係なく、特定のホスティング環境に合わせてIronPDF を最適化するのに役立ちます。 競合を防ぐため、スクリプト ファイルとアプリケーション ファイルが同じディレクトリを共有しないようにしてください。 ライセンス キー ガイドでは適切なライセンス構成について説明しており、展開の問題のトラブルシューティングは一般的な問題の解決に役立ちます。

実稼働環境では、PDF 生成サービスを監視するためにヘルスチェック エンドポイントを追加することを検討してください。

// Add health checks for monitoring
services.AddHealthChecks()
    .AddCheck("pdf-service", () =>
    {
        try
        {
            var renderer = new ChromePdfRenderer();
            var test = renderer.RenderHtmlAsPdf("<p>Health Check</p>");
            return HealthCheckResult.Healthy();
        }
        catch (Exception ex)
        {
            return HealthCheckResult.Unhealthy(ex.Message);
        }
    });

Kubernetes デプロイメントの場合、サービスの可用性を確保するために準備プローブと稼働プローブを実装します。 パフォーマンス アシスタンス ガイドでは、追加の最適化戦略が提供されます。

新しいASP.NETプロジェクトを作成する

Visual Studioを起動し、ニーズに合ったASP.NETプロジェクトタイプを選択します。 今日の例では、ASP.NET Core Web App (Model-view Controller) を作成します。

ASP .NETでHTMLをPDFに変換する方法(C#使用): 図1

その後、プロジェクト名を入力し、プロジェクトを配置する場所を選択します。

ASP .NETでHTMLをPDFに変換する方法(C#使用): 図2

最後に、プロジェクト for .NET Frameworkを選択し、認証タイプやコンテナサポートとdockerの有効化などのプロジェクトの追加設定を変更します。

ASP .NETでHTMLをPDFに変換する方法(C#使用): 図3

コントローラーを作成する

HTMLからPDFへのコードを格納する新しいコントローラーを作成するために、まずソリューションエクスプローラーの"Controllers"フォルダを右クリックし、"追加 -> コントローラー"を選択します。

ASP .NETでHTMLをPDFに変換する方法(C#使用): 図4

これにより、新しいウィンドウが開き、プロジェクトに追加するコントローラーの形を選択できます。 空のMVCコントローラーを選びました。

ASP .NETでHTMLをPDFに変換する方法(C#使用): 図5

最後に、新しいコントローラーに名前を付け、"追加"をクリックしてプロジェクトに追加します。

ASP .NETでHTMLをPDFに変換する方法(C#使用): 図6

HTML 文字列を PDF に変換するにはどうすればよいですか?

IronPDFの最も基本的な操作は、 HTML 文字列を PDF ドキュメントに直接変換することです。 このアプローチは、 ASP.NETアプリケーションで HTML コンテンツを動的に構築する場合やテンプレートを操作する場合に最適です。 包括的なチュートリアルでは、高度なシナリオをカバーしています。

// Create a PDF converter instance
var renderer = new ChromePdfRenderer();
// Convert HTML string to PDF document
var pdf = renderer.RenderHtmlAsPdf("<h1>Sales Report</h1><p>Generated on: " + DateTime.Now + "</p>");
// Save the resultant PDF document to a file
pdf.SaveAs("report.pdf");

このコードは新しいChromePdfRendererインスタンスを作成し、HTMLコンテンツをレンダリングするためにChromiumエンジンを使用します。 PdfDocumentオブジェクトを返します。 その後、このドキュメントをディスクに保存したり、バイト配列としてユーザーに直接ストリーミングしたりできます。 ChromePdfRenderer クラスとその機能について詳しく学びます。 PDF 作成ガイドでは、追加の作成方法が提供されています。

同時実行性の高い本番環境では、適切なリソース管理を実装します。

// Implement using statement for proper disposal
using (var renderer = new ChromePdfRenderer())
{
    // Configure for optimal performance
    renderer.RenderingOptions.CreatePdfFormsFromHtml = false;
    renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
    renderer.RenderingOptions.PrintHtmlBackgrounds = true;
    
    var pdf = renderer.RenderHtmlAsPdf(htmlContent);
    
    // Use memory stream for better resource management
    using (var ms = new MemoryStream())
    {
        pdf.SaveAs(ms);
        return ms.ToArray();
    }
}

メモリ ストリーム ガイドでは、効率的なメモリ内 PDF 処理について説明します。 非同期操作の場合は、非同期レンダリング メソッドを使用してスループットを向上させます。

CSS と画像はどのように処理されるのでしょうか?

IronPDF はCSS スタイルを完全にサポートしており、さまざまなソースから画像を埋め込むことができます。 コンバーターは、さまざまなタグや画像 URLなど、すべての要素を完全な忠実度で処理します。 SVG グラフィック サポートにより、ベクター画像が完璧にレンダリングされます。

var html = @"
    <style>
        body { font-family: Arial, sans-serif; margin: 40px; }
        h1 { color: #2c3e50; border-bottom: 2px solid #3498db; }
        .highlight { background-color: #f1c40f; padding: 5px; }
    </style>
    <h1>Monthly Report</h1>
    <p>This HTML document includes <span class='highlight'>highlighted text</span> and styling.</p>
    <img src='data:image/png;base64,iVBORw0KGgoAAAANS...' alt='Logo' />";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);

レンダラーは、インライン スタイル、CSS ファイル、さらにはbase64 でエンコードされた画像も処理します。 これにより、フレックスボックスやグリッド レイアウトなどの最新の CSS3 機能を含む、HTML コンテンツの正確な外観がページで維持されます。 変換では、空白ページが生成されることなく、すべてのタグとスタイルが保持されます。 Google Fontsを含むWeb フォントとアイコン フォントが完全にサポートされています。

コンテナ化された環境では、外部リソースがアクセス可能または埋め込まれていることを確認します。

// Configure base URL for resource loading
renderer.RenderingOptions.BaseUrl = new Uri("___PROTECTED_URL_105___");

// Or embed resources using data URIs for self-contained PDFs
var htmlWithEmbeddedResources = @"
    <style>
        @font-face {
            font-family: 'CustomFont';
            src: url(data:font/woff2;base64,...) format('woff2');
        }
    </style>";

ベース URL ガイドでは、適切なアセット参照戦略について説明します。 国際言語のサポートについては、適切な UTF-8 エンコードを確保してください。

ASP.NET Coreビューを PDF に変換するにはどうすればよいですか?

ASP.NET Coreビュー全体を PDF に変換することは、特に既存のテンプレートに基づいてレポートを生成する場合によく行われます。 IronPDF は、単一ページまたは複数ページのどちらを扱う場合でも、このシナリオに対していくつかのアプローチを提供します。 CSHTML から PDF へのチュートリアルでは、フレームワーク固有の実装について説明します。

MVC ビューを変換するにはどうすればよいですか?

ASP.NET Coreコントローラーで、ビューを HTML にレンダリングし、IronPDF の強力なレンダリング機能を使用して PDF に変換します。

[HttpGet]
public async Task<IActionResult> DownloadPdf()
{
    var invoiceModel = new InvoiceModel
    {
        InvoiceNumber = 12345,
        Date = DateTime.Now,
        CustomerName = "Acme Corporation",
        Items = new List<InvoiceItem>
        {
            new InvoiceItem { Description = "Service", Quantity = 1, Price = 100.0 }
        },
        Total = 100.0
    };
    // Render the view to HTML string
    var htmlContent = await RenderViewToString("Invoice", invoiceModel);
    // Convert HTML to PDF
    var renderer = new ChromePdfRenderer();
    var pdf = renderer.RenderHtmlAsPdf(htmlContent);
    // Return PDF to browser
    var contentType = "application/pdf";
    var fileName = $"invoice_{DateTime.Now:yyyyMMdd}.pdf";
    return File(pdf.BinaryData, contentType, fileName);
}
private async Task<string> RenderViewToString(string viewName, object model)
{
    ViewData.Model = model;
    using (var writer = new StringWriter())
    {
        var viewResult = viewEngine.FindView(ControllerContext, viewName, false);
        var viewContext = new ViewContext(
            ControllerContext,
            viewResult.View,
            ViewData,
            TempData,
            writer,
            new HtmlHelperOptions()
        );
        await viewResult.View.RenderAsync(viewContext);
        return writer.GetStringBuilder().ToString();
    }
}

この方法では、まずRazorビューを HTML 文字列にレンダリングし、次にそれを PDF に変換します。 PDF は適切なファイル名でファイルのダウンロードとしてユーザーのブラウザに返されます。 これは、 ASPX ファイルと最新のRazorビューの両方でシームレスに動作します。 Razor Pagesの場合は、専用のレンダリング方法を使用します。 MVC フレームワーク ガイドでは、古いバージョンのASP.NETについて説明します。

実稼働環境では、サーバーの負荷を軽減するためにキャッシュを実装します。

private readonly IMemoryCache _cache;

[HttpGet]
public async Task<IActionResult> DownloadCachedPdf(int invoiceId)
{
    var cacheKey = $"invoice_pdf_{invoiceId}";
    
    if (!_cache.TryGetValue(cacheKey, out byte[] pdfBytes))
    {
        // Generate PDF if not cached
        var htmlContent = await RenderViewToString("Invoice", model);
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);
        pdfBytes = pdf.BinaryData;
        
        // Cache for 1 hour
        _cache.Set(cacheKey, pdfBytes, TimeSpan.FromHours(1));
    }
    
    return File(pdfBytes, "application/pdf", $"invoice_{invoiceId}.pdf");
}

ヘッドレス レンダリング ガイドでは、バックグラウンド サービスに最適な GUI コンテキストなしで PDF を生成する方法を説明します。

外部 URL を変換できますか?

既存の Web ページの場合は、 IronPDFを使用して任意のURL を直接 PDF に変換します。 HTTP または HTTPS アドレスを入力するだけです。

[HttpGet]
public IActionResult GeneratePdfFromUrl()
{
    var renderer = new ChromePdfRenderer();
    // Convert a specified URL to PDF document
    var pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_106___");
    // Stream the PDF file to the browser
    return File(pdf.BinaryData, "application/pdf", "invoice.pdf");
}

この方法は、既に適切にフォーマットされた Web ページがあり、それをダウンロード可能な PDF として提供したい場合に適しています。 ライブラリは、スタイルシート、スクリプト、画像などのすべての外部リソースを処理し、完全なレンダリングを保証します。 コンバーターは、無効な URL に遭遇した場合、適切な HTTP ステータス コードを返します。 JavaScript を多用するページの場合は、適切なレンダリング遅延を構成します。

コンテナ化された環境では、ネットワーク設定を適切に構成します。

// Configure for Docker/Kubernetes environments
renderer.RenderingOptions.Timeout = 60000; // 60 second timeout
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor = new WaitFor()
{
    RenderDelay = 500, // Wait 500ms after page load
    NetworkIdle = IronPdf.Engines.Chrome.NetworkIdle.NetworkIdle2
};

レンダリング オプション ガイドには、包括的な構成の詳細が記載されています。 WebGL コンテンツの場合は、GPU アクセラレーションを有効にします。

認証されたページをどのように処理しますか?

.NETフォーム認証またはその他のセキュリティ メカニズムを使用して認証されたページを変換する場合は、ユーザー セッションを維持するために Cookie またはヘッダーを渡します。 これにより、変換中にログイン画面へのリダイレクトが防止されます。

var renderer = new ChromePdfRenderer();
// Set cookies for authenticated requests with user database credentials
renderer.RenderingOptions.CustomCookies.Add("auth_token", Request.Cookies["auth_token"]);
// Convert protected web pages to PDF
var pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_107___");

これにより、セキュリティを維持しながら、保護されたコンテンツを PDF に変換できるようになります。 変換プロセスでは、アプリケーションの基本認証とフォーム認証が尊重され、機密文書への不正アクセスが防止されます。 必要に応じて、基本認証シナリオのためにユーザー名とパスワードの引数を渡すこともできます。 Cookie 管理ガイドでは、高度な Cookie 処理について説明します。 Kerberos認証の場合は、適切な資格情報を設定します。

マイクロサービス アーキテクチャの場合は、サービス間認証を検討してください。

// Add service authentication headers
renderer.RenderingOptions.ExtraHttpHeaders.Add("X-Service-Token", GetServiceToken());
renderer.RenderingOptions.ExtraHttpHeaders.Add("X-Request-ID", Activity.Current?.Id);

// Configure for internal service mesh
renderer.RenderingOptions.BaseUrl = new Uri("___PROTECTED_URL_108___");

フォームデータと POST リクエストをどのように処理しますか?

PDF 生成前にフォーム データを処理することは、 ASP.NETアプリケーションでは一般的なパターンです。注文確認、配送伝票、領収書はすべてこのモデルに従います。 このアプローチでは、投稿されたフォーム データをモデルにバインドし、そのモデルから HTML 文字列を構築し、その文字列を PDF としてレンダリングします。

[HttpPost]
public IActionResult ProcessFormToPdf(OrderModel model)
{
    var renderer = new ChromePdfRenderer();
    string html = $@"
        <h2>Order Confirmation</h2>
        <p>Customer: {model.CustomerName}</p>
        <p>Order Date: {model.OrderDate:yyyy-MM-dd}</p>
        <ul>
            {string.Join("", model.Items.Select(i => $"<li>{i.Name} -- ${i.Price}</li>"))}
        </ul>
        <p><strong>Total: ${model.Total}</strong></p>";
    var pdf = renderer.RenderHtmlAsPdf(html);
    string fileName = $"order-{model.OrderId}.pdf";
    return File(pdf.BinaryData, "application/pdf", fileName);
}

フォームインターフェースはどのように見えますか?

顧客詳細セクション、名前フィールド

生成された PDF にフォーム データはどのように表示されますか?

PDF viewer showing a clean order confirmation document with header 'Order Confirmation', customer name 'Jane Doe', order date '2025-11-19', itemized list showing laptop purchase for $1300, demonstrating successful form-to-PDF conversion

より高度なドキュメント シナリオでは、 PDF フォームを統合したり、事前に入力されたフィールドを使用して既存の PDF テンプレートを編集したりできます。 このライブラリは、法的文書や契約書のデジタル署名もサポートしており、生成された文書に暗号的に検証可能な署名を追加できます。

ユーザー データを HTML 文字列に埋め込むときに考慮すべき重要な点の 1 つは、サニタイズです。 インジェクションの問題を防ぐために、ユーザー指定の文字列を HTML に挿入する前に必ずエスケープしてください。 テンプレートをレンダラに渡す前に、各フィールドで単純な System.Web.HttpUtility.HtmlEncode(model.CustomerName) 呼び出しを行うことで、テンプレートを安全に保ちます。

PDF 出力をカスタマイズするにはどうすればいいですか?

IronPDF は、HTML からドキュメントを生成する方法を制御するための広範なカスタマイズ オプションを提供します。 これらの設定は、ページレイアウトと書式設定の特定の要件を満たすプロフェッショナルな PDF を作成するのに役立ちます。 レンダリング設定の例は、実用的な実装を示しています。

ページレイアウトを制御するにはどうすればいいですか?

var renderer = new ChromePdfRenderer();
// Set default page size for PDF pages
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
// Control page width and margins for the resultant PDF document
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;

これらの設定は、ページの物理的なレイアウトを制御します。 標準の用紙サイズを選択したり、カスタム寸法を定義したり、縦向きまたは横向きを設定したり、デザイン要件に合わせて余白を調整したりできます。 グラフィック テンプレート システムにより、すべてのページで一貫したスタイルが確保されます。 ページ区切りの場合は、CSS プロパティを使用してコンテンツの流れを制御します。

レスポンシブデザインの考慮事項:

// Configure viewport for mobile-friendly PDFs
renderer.RenderingOptions.ViewportWidth = 1024;
renderer.RenderingOptions.ViewportHeight = 768;
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
renderer.RenderingOptions.FitToPaperMode = FitToPaperModes.Zoom;
renderer.RenderingOptions.Zoom = 100;

ビューポート設定ガイドでは、様々なコンテンツタイプに最適な設定について説明しています。グレースケール出力の場合は、適切なレンダリングオプションを有効にしてください。

ヘッダーとフッターを追加するにはどうすればよいですか?

一貫したヘッダーとフッターを追加すると、ドキュメントのプロフェッショナルな外観が向上します。

renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align: center'>Company Report</div>",
    MaxHeight = 20
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align: center'>Page {page} of {total-pages}</div>",
    MaxHeight = 20
};

ヘッダーとフッターは、すべてのページのページ番号、日付、その他の動的コンテンツ用の特別なプレースホルダーを使用して HTML 形式をサポートします。 次のコードは、生成されたドキュメントにプロフェッショナルなヘッダーを追加する方法を示しています。 HTML ヘッダー ガイドには、高度な書式設定オプションが表示されます。 テキストのみのヘッダーの場合は、よりシンプルな API メソッドを使用します。

動的コンテンツを含む高度なヘッダー/フッター構成の場合:

// Create dynamic headers with metadata
var headerHtml = $@"
    <div style='display: flex; justify-content: space-between; font-size: 10px;'>
        <span>Generated: {DateTime.UtcNow:yyyy-MM-dd HH:mm} UTC</span>
        <span>Environment: {Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")}</span>
    </div>";

renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = headerHtml,
    MaxHeight = 30,
    DrawDividerLine = true
};

特定のページのヘッダー ガイドでは、条件付きヘッダー/フッターの適用方法を説明します。

プロフェッショナルな書式設定、ヘッダー、透かしを追加するにはどうすればよいでしょうか?

ヘッダー、フッター、透かしをどのように設定しますか?

プロフェッショナルな PDF ドキュメントでは、多くの場合、各ページにヘッダーとフッターが必要であり、ドラフトや機密ドキュメントには透かしも必要です。 IronPDFは、RenderingOptions オブジェクトおよび生成された PdfDocument のメソッド ApplyWatermark のプロパティを通して両方を処理します。

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    MaxHeight = 25,
    HtmlFragment = "<div style='text-align:center'>Annual Report 2024</div>"
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    MaxHeight = 20,
    HtmlFragment = "<div style='text-align:center'>Page {page} of {total-pages}</div>"
};
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.ApplyWatermark("<h2 style='color:red;opacity:0.3'>CONFIDENTIAL</h2>",
    30, VerticalAlignment.Middle, HorizontalAlignment.Center);
pdf.SaveAs("report-with-watermark.pdf");

カスタム青色の見出し

フッターHTML内の {page} および {total-pages} プレースホルダーは、レンダ時間に自動的に置き換えられるため、ポストプロセスなしで正しいページ番号を取得できます。 ページ番号背景画像または前景オーバーレイカスタムテキストまたは画像スタンプを追加することもできます。

PDF レイアウト制御に CSS 印刷メディアを使用する方法

PDF出力が期待に一致することを確認するには、CSS @media print ルールと PdfCssMediaType.Print 設定を使用してください。 IronPDF はページ区切りの制御カスタム用紙サイズを完全にサポートします。

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
renderer.RenderingOptions.ViewPortWidth = 1024;
renderer.RenderingOptions.MarginTop = 10;
renderer.RenderingOptions.MarginBottom = 10;
renderer.RenderingOptions.MarginLeft = 10;
renderer.RenderingOptions.MarginRight = 10;
string html = @"
    <style>
        @media print {
            .no-print { display: none; }
            body { font-size: 12pt; }
            .page-break { page-break-after: always; }
        }
        @page {
            size: A4;
            margin: 1cm;
        }
    </style>
    <div class='content'>
        <h1>Professional Report</h1>
        <div class='page-break'></div>
        <h2>Section 2</h2>
    </div>";
var pdf = renderer.RenderHtmlAsPdf(html);

76%ズームで2ページのプロフェッショナルレポートを表示するPDFドキュメントビューアが表示され、1ページに

印刷用CSSを使用することで、ナビゲーションメニューやインタラクティブボタンなどの不要なウェブ要素を隠しながら、PDF文書がプロフェッショナルな書式を維持できるようになります。 CssMediaType = PdfCssMediaType.Print を設定することで、レンダラが画面スタイルではなく @media print ルールを適用するように指示し、通常は背景装飾を削除し、印刷出力のためにタイポグラフィを調整します。 また、ページごとにカスタム余白を構成したり、ワイド形式または回転したレポートのページの向きと回転を制御したりすることもできます。

W3C CSS Paged Media仕様は、widows などのプロパティをページ出力でどのように動作するべきかを定義しています。 IronPDF の Chrome エンジンはこの仕様に厳密に従うため、CSS 標準に従って記述されたスタイルは手動で調整することなく PDF に正確に変換されます。

ASPX ファイルと動的JavaScriptコンテンツの変換についてはどうでしょうか?

従来の ASPX ページ変換や、実行時にコンテンツを入力するのにJavaScriptに依存するドキュメントの場合、 IronPDF はレンダリング プロセスを確実に処理します。 ページがキャプチャされる前にJavaScript の実行が完了するようにレンダリング遅延を設定できます。

public IActionResult ConvertDynamicContent()
{
    var renderer = new ChromePdfRenderer();
    // Enable JavaScript so dynamic content renders correctly
    renderer.RenderingOptions.EnableJavaScript = true;
    // Wait 1 second after page load for JavaScript to complete
    renderer.RenderingOptions.WaitFor.RenderDelay(1000);
    // Generate your dynamic HTML string
    string dynamicHtml = GenerateDynamicHtml();
    var pdf = renderer.RenderHtmlAsPdf(dynamicHtml);
    return File(pdf.BinaryData, "application/pdf", "dynamic.pdf");
}

動的コンテンツは変換するとどのように見えるでしょうか?

PDFビューアは、IronPDFによって生成されたテストドキュメントを表示し、JavaScriptで設定された午後4:14:10のタイムスタンプを持つ動的コンテンツを示しています

HTML から PDF への変換でよくある問題点は、不要なページ区切りによって見出しがコンテンツから分割されたり、表の行が途中で切れたりすることです。 IronPDFは、標準のCSS page-break-before および page-break-inside ルールと' IronPDFの WaitFor APIを組み合わせて、設定可能なページ区切りのコントロールを通じてこれに対処します。 このライブラリは、高トラフィックのシナリオでのスループットを向上させるために非同期 PDF 生成もサポートしています。

D3.js や React コンポーネントによってレンダリングされるチャートなどの高度なJavaScriptアプリケーションの場合、レンダリング スナップショットが取得される前にカスタムJavaScriptを挿入して実行し、PDF が生成される前にチャートまたはコンポーネントが完全にマウントされていることを確認できます。

Docker デプロイメントのベストプラクティスとは何ですか?

コンテナ化された環境にIronPDFを展開するには、最適なパフォーマンスと信頼性を確保するための特別な考慮が必要です。 以下は本番環境対応の Dockerfile の例です。

FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443

# Install IronPDF Linux dependencies
RUN apt-get update && apt-get install -y \
    libgdiplus \
    libx11-6 \
    libxcomposite1 \
    libxdamage1 \
    libxext6 \
    libxfixes3 \
    libxrandr2 \
    libxrender1 \
    libxtst6 \
    fonts-liberation \
    libnss3 \
    libatk-bridge2.0-0 \
    libdrm2 \
    libxkbcommon0 \
    libgbm1 \
    libasound2 \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*

FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /src
COPY ["YourProject.csproj", "."]
RUN dotnet restore
COPY . .
RUN dotnet build -c Release -o /app/build

FROM build AS publish
RUN dotnet publish -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .

# Set IronPDF temp folder for container environment
ENV IRONPDF_TEMP_FOLDER=/tmp/ironpdf

ENTRYPOINT ["dotnet", "YourProject.dll"]
Text

Docker 統合ガイドには、完全なデプロイメント手順が記載されています。 コンテナのサイズを最小限に抑えるには、マルチステージ ビルドを使用します。 Linux 導入ガイドでは、プラットフォーム固有の依存関係について説明します。

Kubernetes デプロイメントの場合、適切なリソース制限を構成します。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: pdf-service
spec:
  replicas: 3
  template:
    spec:
      containers:
      - name: pdf-generator
        image: your-registry/pdf-service:latest
        resources:
          requests:
            memory: "512Mi"
            cpu: "500m"
          limits:
            memory: "2Gi"
            cpu: "2000m"
        env:
        - name: IRONPDF_LICENSE_KEY
          valueFrom:
            secretKeyRef:
              name: ironpdf-license
              key: key
        livenessProbe:
          httpGet:
            path: /health
            port: 80
          initialDelaySeconds: 30
          periodSeconds: 10
Text

ランタイム フォルダー ガイドでは、コンテナー内の依存関係の管理について説明します。 Red Hat Enterprise Linuxの場合、追加の構成が必要になる場合があります。

本番環境への展開のベストプラクティスは何ですか?

HTML を PDF に変換するときに最適なパフォーマンスと品質を確保するには、次の実証済みのプラクティスに従ってください。 トラフィック量の多いシナリオでリソースをより効率的に利用するために、非同期処理の実装を検討してください。 並列処理ガイドでは、同時 PDF 生成テクニックについて説明します。

PDF を生成する前に、必ず最初にブラウザで HTML レンダリングをテストして、スタイルとレイアウトを確認してください。 相対パスでは変換中に問題が発生する可能性があるため、可能な場合は外部リソースに絶対 URL を使用してください。 複雑でJavaScript を多用するページの場合は、レンダリング遅延を追加して、完全な読み込みを確実に実行します。 サーバーの負荷を軽減するために、頻繁に生成されるドキュメントのキャッシュを実装することを検討してください。 ASP.NET Core のベスト プラクティスの詳細については、Microsoft の公式ドキュメントを参照してください。 ピクセルパーフェクトなレンダリング ガイドにより、最適な出力品質が保証されます。

実稼働環境にデプロイする場合は、適切な一時フォルダー パスを構成し、ホスティング環境に必要な依存関係がインストールされていることを確認します (特にLinux デプロイの場合)。 競合を防ぐため、スクリプトと変換ロジックを同じディレクトリに配置しないようにしてください。 一般的な展開シナリオについては、トラブルシューティング ガイドを確認してください。 直接HTMLコンテンツを処理する場合、入力がURLでないことを常に確認して予期しない挙動を避けてください。 初期のレンダリング最適化ガイドでは、一般的なパフォーマンスのボトルネックを解決します。

高パフォーマンスのシナリオでは、接続プールとリソース管理を実装します。

public class PdfGeneratorService : IDisposable
{
    private readonly SemaphoreSlim _semaphore;
    private readonly ILogger<PdfGeneratorService> _logger;
    
    public PdfGeneratorService(ILogger<PdfGeneratorService> logger)
    {
        _logger = logger;
        // Limit concurrent PDF generations
        _semaphore = new SemaphoreSlim(Environment.ProcessorCount * 2);
    }
    
    public async Task<byte[]> GeneratePdfAsync(string html)
    {
        await _semaphore.WaitAsync();
        try
        {
            using (var renderer = new ChromePdfRenderer())
            {
                var pdf = await Task.Run(() => renderer.RenderHtmlAsPdf(html));
                return pdf.BinaryData;
            }
        }
        finally
        {
            _semaphore.Release();
        }
    }
    
    public void Dispose()
    {
        _semaphore?.Dispose();
    }
}

マルチスレッド ガイドでは、高度な同時実行パターンについて説明します。 メモリ リークを防止するために、適切な廃棄パターンを実装します。

カスタム ログを使用してパフォーマンス メトリックを監視します。

// Configure logging for production monitoring
Installation.LoggingMode = IronPdf.Logging.LoggingModes.Custom;
Installation.CustomLogger = (level, message) =>
{
    _logger.Log(
        level == IronPdf.Logging.LogLevels.Error ? LogLevel.Error : LogLevel.Information,
        "IronPDF: {Message}",
        message
    );
};

Azure ログ ファイル ガイドAWS ログ管理では、クラウド固有のログ記録戦略について説明しています。 問題を迅速に解決するためにエンジニアリング サポート統合を実装します。

セキュリティを強化するには、 PDF 暗号化デジタル署名を実装します。 セキュリティ CVE ガイドは、一般的なセキュリティ上の懸念事項に対処します。 ユーザーがアップロードしたコンテンツのPDF サニタイズを検討してください。

HTML から PDF への変換を実装する準備はできていますか?

IronPDFを使用すると、 ASP.NET Coreアプリケーションで HTML を PDF に変換するのが簡単になります。 ライブラリのChrome ベースのレンダリングにより、正確な変換が保証されるとともに、プロフェッショナルなドキュメント生成のための広範なカスタマイズ オプションが提供されます。

HTML 文字列、URL、または完全な Web ページを扱う場合でも、 IronPDF は正確な書式設定、CSS スタイル、およびJavaScript の動作を保持します。 この .NET ベースのツールは、変換プロセス全体を効率的に処理します。 このライブラリのDocker サポートパフォーマンス最適化機能により、最新のコンテナ化されたデプロイメントとマイクロサービス アーキテクチャに最適です。

無料の30日間トライアルを開始するまたはデモを予約するために私たちのチームに連絡してください。

Curtis Chau
テクニカルライター

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

...
詳しく読む

関連する記事

Key in blue circle

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

Your trial license will be sent to your email address

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

OR
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日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。
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から