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

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

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>$999</td></tr>
                </table>";
            var pdf = renderer.RenderHtmlAsPdf(html);
            return File(pdf.BinaryData, "application/pdf", "invoice.pdf");
        }
    }
  3. 実際の環境でテストするためにデプロイする

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

    arrow pointer

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

PDFビューアに簡単な請求書ドキュメントが表示され、番号 #2024-001、請求書ヘッダー、生成日、項目と価格の列を含むProfessional Licenseエントリが含まれています$999

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

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

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

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

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

データベース駆動のレポートのようなダイナミックなコンテンツを取り扱うときは、HTML文字列を直接変換するために RenderHtmlAsPdf を使用してください。 このメソッドは、有効な 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

CSSスタイリングを含むHTMLコンテンツがレンダリングされたIronPDFテストレポートが表示され、青いヘッダーが

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

ディスクから静的 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の完全なJavaScriptエンジンが有効になり、チャート、データグリッド、その他 for 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

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

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

生成された 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 のメソッド 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");
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

カスタム青色の見出し

フッター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);
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

76%ズームで2ページのプロフェッショナルレポートを表示するPDFドキュメントビューアが表示され、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
テクニカルライター

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

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

アイアンサポートチーム

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