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

ASP.NET CoreでHTMLをPDFに変換する -- IronPDFガイド

IronPDF は、Chrome ベースのレンダリング エンジンを使用してASP.NETで HTML を PDF に変換します。このエンジンは、わずか数行の C# コードで、HTML 文字列、ファイル、または URL をピクセル単位で完璧な PDF ドキュメントに変換します。

ASP.NETアプリケーションで請求書、レポート、コンプライアンス ドキュメントをオンデマンドで生成する必要がある場合、PDF 出力の品質が重要になります。 エンド ユーザーは、CSS スタイル、カスタム フォント、テーブル レイアウトが完備された、元の HTML とまったく同じフォーマットされた出力を期待しています。 課題は、最新の CSS や JavaScript を多用するコンテンツに対して複雑な回避策を必要とせずにこの変換を処理するライブラリを見つけることです。

IronPDF は、この課題のために構築された C# PDF ライブラリです。 Chrome ベースのレンダリング エンジンは、実際のブラウザと同じように HTML を処理するため、CSS3 プロパティ、メディア クエリ、JavaScript でレンダリングされたコンテンツはすべて最終ドキュメントに正しく表示されます。 以下のセクションでは、インストール、3 つのコア レンダリング方法、フォーム データの処理、高度な書式設定機能、認証サポートなど、実稼働対応の PDF 生成をASP.NET Coreアプリケーションに統合するために必要なすべての内容について説明します。

ASP.NET Coreで HTML を PDF に素早く変換するにはどうすればよいですか?

ASP.NET CoreでHTML から PDF への変換を開始するには、数行のコードだけが必要です。 まず、 NuGetパッケージ マネージャーを使用してIronPDF をインストールします。

Install-Package IronPdf

インストールが完了すると、ChromePdfRenderer クラスはすべてのレンダリング操作の主要なエントリポイントになります。 以下は、 ASP.NET Core MVC コントローラー内で HTML 文字列をダウンロード可能な PDF に変換する方法を示した完全な例です。

  1. IronPDF をNuGetパッケージマネージャでインストール

    PM > Install-Package IronPdf
  2. このコード スニペットをコピーして実行します。

    using IronPdf;
    using Microsoft.AspNetCore.Mvc;
    
    // program.cs
    var builder = WebApplication.CreateBuilder(args);
    builder.Services.AddControllersWithViews();
    var app = builder.Build();
    app.MapControllerRoute(
        name: "default",
        pattern: "{controller=Home}/{action=Index}/{id?}");
    app.Run();
    
    // PdfController.cs
    public class PdfController : Controller
    {
        public IActionResult GeneratePdf()
        {
            var renderer = new ChromePdfRenderer();
            string html = @"
                <h1>Invoice #2024-001</h1>
                <p>Generated on: " + DateTime.Now.ToString("yyyy-MM-dd") + @"</p>
                <table>
                    <tr><th>Item</th><th>Price</th></tr>
                    <tr><td>Professional License</td><td>$799</td></tr>
                </table>";
            var pdf = renderer.RenderHtmlAsPdf(html);
            return File(pdf.BinaryData, "application/pdf", "invoice.pdf");
        }
    }
  3. 実際の環境でテストするためにデプロイする

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

    arrow pointer

生成されたPDFはどのように見えますか?

PDF viewer displaying a simple invoice document with number #2024-001, showing an invoice header, generation date, and a table with Item and Price columns containing a Professional License entry for $799

ChromePdfRenderer クラスはすべての複雑なレンダリングを処理し、HTML 構造、CSS スタイル、さらにはJavaScript が最終的な PDF 出力で正しくレンダリングされることを保証します。 戻り値はオブジェクトであり、そのプロパティをファイルダウンロードとしてブラウザに直接ストリーミングできます。

ソースに適したレンダリング方法を選択するにはどうすればよいでしょうか?

IronPDF は、それぞれ特定のコンテンツ ソース向けに設計された 3 つの主要なレンダリング方法を提供します。 どの方法がシナリオに適しているかを理解することで、不必要な複雑さを回避し、コントローラー コードをクリーンな状態に保つことができます。

コンテンツソース別のIronPDFレンダリング方法
ソースタイプ 方法 最適な用途
メモリ内のHTML文字列 `RenderHtmlAsPdf` データベース駆動型レポート、テンプレート化された請求書、動的コンテンツ
ディスク上のHTMLファイル `RenderHtmlFileAsPdf` wwwroot 内の静的テンプレート、デザインエージェンシー提供のレイアウト
ライブウェブURL `RenderUrlAsPdf` ページのアーカイブ、 JavaScriptレンダリング後の SPA のキャプチャ

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

データベース駆動型レポートなどの動的コンテンツを扱う場合は、RenderHtmlAsPdf を使用して HTML 文字列を直接変換します。 このメソッドは、有効な HTML マークアップを受け入れ、完全にレンダリングされた PDF を返します。

var renderer = new ChromePdfRenderer();
string htmlContent = BuildDynamicHtml(); // your method to generate HTML
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("dynamic-report.pdf");
var renderer = new ChromePdfRenderer();
string htmlContent = BuildDynamicHtml(); // your method to generate HTML
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("dynamic-report.pdf");
Dim renderer As New ChromePdfRenderer()
Dim htmlContent As String = BuildDynamicHtml() ' your method to generate HTML
Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
pdf.SaveAs("dynamic-report.pdf")
$vbLabelText   $csharpLabel

 IronPDFテスト レポートには、青色のヘッダー

このアプローチは、リアルタイム データ、フォーム送信、または動的に生成されたコンテンツが取り込まれた HTML テンプレートから PDF ドキュメントを生成する場合に適しています。 レンダリング エンジンは、カスタム フォント、色、表の書式設定など、すべての CSS スタイルを保持します。 HTMLで相対パスを使用して外部スタイルシートや画像を参照する場合は、レンダラーがそれらのアセットを正しく解決できるように、2番目の引数としてbaseUrlを渡してください。

ディスクから静的 HTML ファイルを変換するにはどうすればよいでしょうか?

物理ファイルとして保存されている HTML テンプレートの場合、最初にメモリにロードせずに変換するには、RenderHtmlFileAsPdf を使用します。これは、大きなテンプレートに対して効率的であり、文字列の連結を回避します。

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlFileAsPdf("wwwroot/templates/report-template.html");
pdf.SaveAs("report.pdf");
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlFileAsPdf("wwwroot/templates/report-template.html");
pdf.SaveAs("report.pdf");
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlFileAsPdf("wwwroot/templates/report-template.html")
pdf.SaveAs("report.pdf")
$vbLabelText   $csharpLabel

このメソッドは、ファイル内で参照されているCSSスタイルシート、画像、その他の外部リソースの相対パスを自動的に解決します。デザインチームがアプリケーションのC#コードベースとは別にHTMLテンプレートファイルを保持している場合に適しています。 このメソッドはCSS 印刷メディア クエリカスタム フォントをサポートしているため、印刷環境用に構築されたテンプレートは追加の構成なしで忠実にレンダリングされます。

Web ページの URL を PDF に変換するにはどうすればよいですか?

ライブウェブページをキャプチャしたり、URLでアクセス可能なページをPDFとしてレンダリングするには、RenderUrlAsPdfを使用します。 このメソッドは Chrome エンジンを起動し、URL に移動し、ページが完全に読み込まれるまで待機してから、レンダリングされた出力をキャプチャします。

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(1000);
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Screen;
var pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
pdf.SaveAs("webpage.pdf");
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(1000);
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Screen;
var pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
pdf.SaveAs("webpage.pdf");
Dim renderer = New ChromePdfRenderer()
renderer.RenderingOptions.EnableJavaScript = True
renderer.RenderingOptions.WaitFor.RenderDelay(1000)
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Screen
Dim pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF")
pdf.SaveAs("webpage.pdf")
$vbLabelText   $csharpLabel

Wikipedia のメインページが PDF ビューアで表示され、ナビゲーション、コンテンツ セクション、注目記事のプレビュー、Wikipedia のロゴを含む完全なウェブ ページ レイアウトが表示され、書式と画像が保持された HTML から PDF への変換が成功したことが示されています。

WaitFor.RenderDelay オプションは、レンダラーにページ読み込み後にキャプチャする前に一時停止するように指示します。 これは、最初の HTML 応答が到着した後にJavaScriptを通じて DOM を構築するシングルページ アプリケーションに役立ちます。 EnableJavaScript = true を設定すると、Chrome for JavaScriptエンジンが完全に有効になり、グラフ、データグリッド、その他の JavaScript でレンダリングされたコンポーネントが、ブラウザで表示されるのと同様に PDF に表示されます。

フォームデータと 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);
}
[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);
}
Imports System
Imports System.Linq
Imports Microsoft.AspNetCore.Mvc

<HttpPost>
Public Function ProcessFormToPdf(model As OrderModel) As IActionResult
    Dim renderer = New ChromePdfRenderer()
    Dim html As String = $"
        <h2>Order Confirmation</h2>
        <p>Customer: {model.CustomerName}</p>
        <p>Order Date: {model.OrderDate:yyyy-MM-dd}</p>
        <ul>
            {String.Join("", model.Items.Select(Function(i) $"<li>{i.Name} -- ${i.Price}</li>"))}
        </ul>
        <p><strong>Total: ${model.Total}</strong></p>"
    Dim pdf = renderer.RenderHtmlAsPdf(html)
    Dim fileName As String = $"order-{model.OrderId}.pdf"
    Return File(pdf.BinaryData, "application/pdf", fileName)
End Function
$vbLabelText   $csharpLabel

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

Webフォームインターフェースには、顧客詳細セクションに名前フィールド

生成された 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 は、RenderingOptions オブジェクトのプロパティと、結果として得られる PdfDocument のメソッドを介して両方を処理します。

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");
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");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter With {
    .MaxHeight = 25,
    .HtmlFragment = "<div style='text-align:center'>Annual Report 2024</div>"
}
renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter With {
    .MaxHeight = 20,
    .HtmlFragment = "<div style='text-align:center'>Page {page} of {total-pages}</div>"
}
Dim 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")
$vbLabelText   $csharpLabel

 IronPDFテスト レポート。カスタムの青い見出し

フッターHTML内のプレースホルダー{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);
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);
Imports IronPdf

Dim renderer As 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

Dim html As String = "
    <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>"

Dim pdf = renderer.RenderHtmlAsPdf(html)
$vbLabelText   $csharpLabel

PDF ドキュメント ビューアで、2 ページのProfessionalレポートを 76% のZoomで表示しています。1 ページ目には

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

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

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

安全なアプリケーションのために、 IronPDF はCookieHTTP リクエスト ヘッダーネットワーク資格情報などのさまざまな認証方法をサポートしています。 これにより、ログインしたセッションまたは基本認証を必要とするページをレンダリングできます。

var renderer = new ChromePdfRenderer();
renderer.RequestContext.Cookies.Add(new Cookie
{
    Name = "SessionId",
    Value = "your-session-token",
    Domain = "example.com"
});
renderer.ChromePdfRenderOptions.HttpLoginCredentials = new HttpLoginCredentials
{
    Username = "user",
    Password = "password"
};
var pdf = renderer.RenderUrlAsPdf("https://app.example.com/protected/report");
var renderer = new ChromePdfRenderer();
renderer.RequestContext.Cookies.Add(new Cookie
{
    Name = "SessionId",
    Value = "your-session-token",
    Domain = "example.com"
});
renderer.ChromePdfRenderOptions.HttpLoginCredentials = new HttpLoginCredentials
{
    Username = "user",
    Password = "password"
};
var pdf = renderer.RenderUrlAsPdf("https://app.example.com/protected/report");
Dim renderer = New ChromePdfRenderer()
renderer.RequestContext.Cookies.Add(New Cookie With {
    .Name = "SessionId",
    .Value = "your-session-token",
    .Domain = "example.com"
})
renderer.ChromePdfRenderOptions.HttpLoginCredentials = New HttpLoginCredentials With {
    .Username = "user",
    .Password = "password"
}
Dim pdf = renderer.RenderUrlAsPdf("https://app.example.com/protected/report")
$vbLabelText   $csharpLabel

作成された PDF を所有者パスワードとユーザーパスワードで暗号化し、印刷、コピー、編集などの操作を制限することもできます。 認証ベースのレンダリングと PDF レベルの権限を組み合わせることで、ドキュメントを生成できるユーザーと、ドキュメントを受け取った受信者がドキュメントで実行できる操作の両方を制御できます。

エンタープライズ環境では、Web リクエスト ハンドラー内で PDF を生成するときに、非同期レンダリング API の使用を検討してください。 非同期レンダリングにより、Chrome エンジンがドキュメントを処理している間、 ASP.NETスレッド プールが空いた状態が維持され、同時負荷時のスループットが向上します。 このライブラリは、バッチ ドキュメント生成シナリオ向けのマルチスレッド レンダリングもサポートしています。

HTML から PDF への変換に Chrome レンダリング エンジンが重要なのはなぜですか?

ほとんどのPDF生成ライブラリは、カスタムエンジンを用いてHTMLを解析することで動作します。つまり、CSSプロパティのサブセットしかサポートしておらず、 JavaScriptの実行機能も備えておらず、CSSグリッドやFlexboxといった最新のレイアウト技術との互換性に問題があります。 IronPDF は、Google Chrome ブラウザを動かすのと同じテクノロジーである Chrome エンジンを組み込むという異なるアプローチを採用しています。

実際の結果として、Chrome で正しく表示される HTML ページはすべて、 IronPDFを通じて PDF として正しくレンダリングされます。 これにより、レンダリング エンジンが CSS を開発者が設計時に使用したブラウザーとは異なる方法で解釈するため、PDF 出力が予想される外観と異なるという一般的なバグが排除されます。

CSS ページ メディアの MDN Web Docs リファレンスMicrosoft のASP.NET Coreドキュメントはどちらも、 IronPDF がChrome ベースの基盤を通じてサポートする機能について説明しています。 標準の HTML、CSS、 JavaScriptにすでに精通している開発者は、別のドキュメントレイアウト言語を学習することなく、その知識を PDF 生成に直接適用できます。

IronPDF のRenderingOptions は、用紙サイズ、余白、 JavaScript実行、レンダリング遅延のコントロールを公開します。 このライブラリは、UTF-8 テキストと国際文字セット、Google Fonts またはローカル ファイル経由で参照される Web フォントを処理し、 Markdown ドキュメントを PDF に変換することもできます。 アーカイブまたはアクセシビリティのコンプライアンス要件のために、 PDF/AおよびPDF/UA出力形式をサポートしています。 このライブラリはWindows、Linux、macOSで実行され、追加の構成なしでAzureおよびAWSにデプロイされます。

次のステップは何ですか?

IronPDFを使用してASP.NET C#でHTMLをPDFに変換すると、アプリケーションに信頼性が高く、ブラウザ精度のドキュメント生成パイプラインが提供されます。HTML文字列、HTMLファイル、URLの3つのレンダリング方法により、実際に使用するあらゆるコンテンツソースをカバーします。ヘッダー、フッター、透かし、印刷CSSなどの高度な機能により、PDFを手動で後処理することなく、プロフェッショナルな出力を作成できます。

次のステップは、 NuGetパッケージをインストールし、このガイドの最初のセクションにあるクイックスタートサンプルを実行することです。その後、ドキュメント構造についてより深く理解するには、 C# PDFチュートリアルの完全版をご覧ください。また、 PDF編集ガイドでは、既存のPDFから結合、分割、注釈の追加、コンテンツの抽出を行う方法を学習できます。

プロジェクトがBlazor をターゲットとしている場合は、 Blazor PDF チュートリアルでサーバー側と WebAssembly の統合について説明します。 MVC プロジェクトの場合、 MVC Core PDF ガイドRazor Pages ガイドでは、.cshtml ビューを使用したテンプレートベースのレンダリングについて説明しています。 デバッグとパフォーマンス チューニングのために、 IronPDF は、大量のドキュメント生成ワークフローのボトルネックを特定するのに役立つカスタム ログパフォーマンス ガイダンスを提供します。

ライセンス契約を結ぶ前に、無料トライアルを開始して、ライブラリのすべての機能を自分のプロジェクトでテストしてみてください。 実稼働環境での展開では、個々の開発者、チーム、およびエンタープライズ再配布シナリオ向けのライセンス オプションが利用できます。

よくある質問

.NET CoreでHTMLをPDFに変換する方法を教えてください。

NuGetを介してIronPDFをインストールし、ChromePdfRendererインスタンスを作成して、HTML文字列でRenderHtmlAsPdfを呼び出します。レンダラーは、ブラウザにストリーミングできるPdfDocumentを返します。

IronPDFがHTMLからPDFへの変換に適している理由は何ですか?

IronPDFはChromeレンダリングエンジンを組み込んでいるため、Chromeで正しく表示されるHTMLページは、PDFとしても正しくレンダリングされます。これには、CSS3、JavaScriptでレンダリングされたコンテンツ、ウェブフォント、およびレスポンシブレイアウトが含まれます。

ASP.NETでIronPDFを使って請求書やレポートを作成できますか?

はい。データモデルからHTML文字列を構築し、それをRenderHtmlAsPdfに渡し、BinaryDataをファイルダウンロードとして返します。IronPDFは、出力でテーブルのフォーマット、カスタムフォント、およびCSSスタイリングを保持します。

IronPDFはCSS印刷メディアクエリをサポートしていますか?

はい。RenderingOptions.CssMediaType = PdfCssMediaType.Printに設定して、@media printルールをアクティブ化し、ナビゲーション要素を非表示にし、印刷用に最適化されたタイポグラフィを適用します。

IronPDFはJavaScriptでレンダリングされたコンテンツを処理できますか?

はい。RenderingOptions.EnableJavaScript = trueに設定し、WaitFor.RenderDelayを使用してページ読み込み後に一時停止し、JavaScriptエンジンがDOMを構築する時間を与えてからPDFをキャプチャします。

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

IronPDFはセッションクッキー、HTTPヘッダー、および基本認証資格情報をRequestContext.CookiesおよびChromePdfRenderOptions.HttpLoginCredentialsプロパティを介してサポートします。

IronPDFはどのプラットフォームをサポートしていますか?

IronPDFはWindows、Linux、macOSで動作し、AzureおよびAWSにデプロイできます。.NET 6、.NET 7、.NET 8、および.NET Framework 4.6.2以上をターゲットにしています。

IronPDFはアーカイブ用のPDF/A出力をサポートしていますか?

はい。IronPDFは、長期アーカイブ用のPDF/Aとアクセシビリティ用のPDF/UAに対応しています。これらの出力モードは、SaveAsPdfAおよびSaveAsPdfUAメソッドを通じて設定できます。

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

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

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

アイアンサポートチーム

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