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

C#を使用してASP.NETでIronPDFを使ってHTMLをPDFに変換する方法

今日のペースの速いASP.NET環境では、請求書やレポートのような重要な文書を生成する際に、アプリケーションの処理速度を落とすわけにはいきません。 HTMLをPDFに簡単に変換する方法が必要です。

IronPDFは、この課題のために作られたC# PDFライブラリです。 堅牢なChromeベースのレンダリングエンジンを利用することで、ダイナミックなHTMLコードをピクセル単位で完璧なPDFドキュメントに変換します。 あなたの.NETプロジェクトにIronPDFを統合し、今日から直接プロフェッショナルグレードのPDFを保存するための簡単な手順を説明します。

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

.NET CoreでHTMLからPDFへの変換を始めるには、わずか数行のコードが必要です。 まず、IronPDF NuGet Package Manager Consoleパッケージをインストールしてください:

Install-Package IronPdf

C#を使用してASP.NETでHTMLをPDFに変換する方法を学びたいですか? 以下は、ASP.NET Core MVCコントローラでHTML文字列をPDFファイルに変換する完全なコードスニペットです:

using IronPdf;
using Microsoft.AspNetCore.Mvc;
// your program.cs file
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllersWithViews();
var app = builder.Build();
app.MapControllerRoute(
    name: "default",
    pattern: "{controller=Home}/{action=Index}/{id?}");
app.Run();
// in your controller file
public class PdfController : Controller
{
    public IActionResult GeneratePdf()
    {
        var renderer = new ChromePdfRenderer();
        // Convert HTML string to PDF
        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 PDF as file download
        return File(pdf.BinaryData, "application/pdf", "invoice.pdf");
    }
}
using IronPdf;
using Microsoft.AspNetCore.Mvc;
// your program.cs file
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllersWithViews();
var app = builder.Build();
app.MapControllerRoute(
    name: "default",
    pattern: "{controller=Home}/{action=Index}/{id?}");
app.Run();
// in your controller file
public class PdfController : Controller
{
    public IActionResult GeneratePdf()
    {
        var renderer = new ChromePdfRenderer();
        // Convert HTML string to PDF
        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 PDF as file download
        return File(pdf.BinaryData, "application/pdf", "invoice.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

出力PDFファイル

How to Convert HTML to PDF in ASP.NET using C# with IronPDF:画像1 - C#でIronPDFを使用してASP.NETでHTMLをPDFに変換する方法に関連する7の画像1

画像のaltテキストを追加

このコードは、HTML文字列から直接PDFドキュメントを生成するシンプルなコントローラを作成します。 ChromePdfRendererクラスは複雑なレンダリングをすべて処理し、HTML構造、CSSスタイル、JavaScriptまでもが最終的なPDF出力で正しくレンダリングされるようにします。

さまざまなHTMLソースに不可欠なメソッドとは

IronPDFはHTMLコンテンツをPDFフォーマットに変換する3つの主要な方法を提供し、それぞれがASP.NET開発で遭遇する特定のシナリオのために設計されています。

HTML文字列を動的に変換する

データベース駆動型レポートのような動的コンテンツを扱う場合は、RenderHtmlAsPdfを使用してHTML文字列を簡単に直接変換してください:

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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

PDF出力

How to Convert HTML to PDF in ASP.NET using C# with IronPDF:画像2 - HTML文字列からPDF出力

このアプローチは、リアルタイムのデータ、フォーム送信、または動的に生成されたHTMLコンテンツが入力されたHTMLページテンプレートからPDFドキュメントを生成するのに最適です。

ディスクから HTML ファイルを変換する

ファイルとして保存されている静的なHTMLテンプレートについては、RenderHtmlFileAsPdfを使用してHTMLファイルを直接変換してください:

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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

この方法では、既存のHTMLファイルを効率的に処理し、CSSスタイル、画像、外部リソースの相対URLを自動的に解決します。

URLをPDFに変換する

Webページ全体をキャプチャしたり、既存のURLをPDFとしてレンダリングするには、URL変換メソッドを使用します:

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(1000); // Wait an extra second for JavaScript to load
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Screen;
var PDF = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");
pdf.SaveAs("webpage.pdf");
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(1000); // Wait an extra second for JavaScript to load
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Screen;
var PDF = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");
pdf.SaveAs("webpage.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

出力

How to Convert HTML to PDF in ASP.NET using C# with IronPDF:画像3 - URLからPDF出力

この強力な機能は、複雑なJavaScriptレンダリングをサポートしており、単一ページのアプリケーションや、指定されたURLから動的にロードされたWebコンテンツの変換に最適です。

フォームデータと POST リクエストはどのように扱えますか?

PDF生成前にフォームデータを処理することは、ASP.NETアプリケーションでは一般的です。 ここでは、POSTメソッドの送信を処理し、送信されたデータからPDFを生成する方法を説明します:

[HttpPost]
public IActionResult ProcessFormToPdf(OrderModel model)
{
    var renderer = new ChromePdfRenderer();
    // Build HTML from form data
    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);
    // Save to server and return download
    var fileName = $"order-{model.OrderId}.pdf";
    return File(pdf.BinaryData, "application/pdf", fileName);
}
[HttpPost]
public IActionResult ProcessFormToPdf(OrderModel model)
{
    var renderer = new ChromePdfRenderer();
    // Build HTML from form data
    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);
    // Save to server and return download
    var fileName = $"order-{model.OrderId}.pdf";
    return File(pdf.BinaryData, "application/pdf", fileName);
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

ビューの例

How to Convert HTML to PDF in ASP.NET using C# with IronPDF:画像4 - フォームUIの例

出力例

How to Convert HTML to PDF in ASP.NET using C# with IronPDF:画像5 - フォームからレンダリングされたPDF出力の例

どのような高度な機能が PDF 生成を強化しますか?

ヘッダー、フッター、透かしを追加する

ProfessionalなPDF文書では、ヘッダー、フッター、透かしが必要になることがよくあります。 IronPDFはPDFドキュメントの操作を簡単にする強力な編集機能により、これらの追加を簡単にします。

var renderer = new ChromePdfRenderer();
// Configure headers and footers
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>"
};
// Generate PDF
var PDF = renderer.RenderHtmlAsPdf(htmlContent);
// Add watermark
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();
// Configure headers and footers
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>"
};
// Generate PDF
var PDF = renderer.RenderHtmlAsPdf(htmlContent);
// Add watermark
pdf.ApplyWatermark("<h2 style='color:red;opacity:0.3'>CONFIDENTIAL</h2>",
    30, VerticalAlignment.Middle, HorizontalAlignment.Center);
pdf.SaveAs("report-with-watermark.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

ウォーターマーク付き出力

How to Convert HTML to PDF in ASP.NET using C# with IronPDF:画像6 - 透かしとヘッダー/フッターを追加したPDFの生成

これらの機能は、基本的なHTMLからPDFへの変換を、契約書、報告書、公式文書に最適なプロフェッショナルな文書生成に変えます。

CSSと印刷メディアの最適化

PDF出力が期待通りになるように、CSSプリントメディアクエリとレスポンシブデザインの原則を活用してください:

var renderer = new ChromePdfRenderer();
// Configure CSS media type
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
// Set viewport for responsive designs
renderer.RenderingOptions.ViewPortWidth = 1024;
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();
// Configure CSS media type
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
// Set viewport for responsive designs
renderer.RenderingOptions.ViewPortWidth = 1024;
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);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

PDF出力

How to Convert HTML to PDF in ASP.NET using C# with IronPDF:画像7 - カスタムCSS書式付きPDF

印刷用CSSを使用することで、ナビゲーションメニューやインタラクティブボタンなどの不要なウェブ要素を隠しながら、PDF文書がプロフェッショナルな書式を維持できるようになります。 改ページのような機能はCSSで制御でき、現在のページで最適なレンダリングを保証します。

なぜASP.NET PDF生成にIronPDFを選ぶのか?

IronPDFのChromeベースのレンダリングエンジンは最新のウェブ標準を完全にサポートし、正確なHTMLからPDFへの変換を保証します。 このライブラリは、他のPDFコンバータが苦手とする複雑なJavaScript、CSS3アニメーション、レスポンシブレイアウトを扱います。 統合に必要なコードはわずか数行であるため、.NETプロジェクトや.NETアプリケーションでの迅速な開発に最適です。

ChromePdfRendererクラスは、RenderingOptionsプロパティを通じて、用紙サイズ、余白、JavaScriptの実行、レンダリングの遅延を制御できるように、広範なカスタマイズを提供します。 このような柔軟性により、シンプルな請求書や複雑な複数ページのレポートを作成する場合でも、PDF出力が正確な仕様を満たすことが保証されます。

このライブラリは、ウェブページ全体や小さなHTMLスニペットを、テンポラリファイルを残すことなく、忠実にレンダリングすることもできます。 これにより、HTMLからPDFへのコンバータとして、強力な選択肢となります。

結論

IronPDF を使ってASP.NET C#でHTMLをPDFに変換することは、完璧な視覚的忠実性を維持しながら、ドキュメント生成ワークフローを合理化します。 ライブラリのシンプルなAPIと強力なレンダリング機能を組み合わせることで、PDF生成を必要とするあらゆるASP.NET Coreアプリケーションにとって理想的なソリューションとなっています。 これは、.NET Core、.NET Framework、またはモバイルアプリの開発にかかわらず、このタスクに最適な.NETラッパーです。

また、コマンドラインで使用したり、Visual Studio内でソリューションエクスプローラを使用して直接使用することもできます。 入力されたHTMLやURLから直接プログラムでPDFを保存するために、static async Task Mainのようなメソッドでvar client(またはvar renderer)と文字列url(またはファイル名)のようなパターンを使用することがよくあります。

今すぐ無料トライアルを開始して、HTMLコードをプロフェッショナルなPDFドキュメントに変換してください。 本番環境への導入については、ライセンスオプションを調べて、プロジェクトのニーズにぴったり合うものを見つけてください。

よくある質問

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

IronPDF を使ってASP.NET CoreでHTMLをPDFに変換することができます。完璧なフォーマットとProfessionalな結果を保証するシンプルなAPIを提供します。

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

IronPDFは強力なChromeレンダリングエンジンを利用しているため、HTMLからPDFへの変換に適しており、オリジナルのレイアウトとスタイルを維持したピクセルパーフェクトなPDFを作成することができます。

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

IronPdfはHTMLコンテンツを正確にフォーマットされたPDFに変換し、請求書やレポートを作成することができます。

IronPdfはPDF生成のレスポンシブデザインをサポートしていますか?

IronPdfはHTMLコンテンツを様々なデバイスやスクリーンサイズに適応するPDFに正確にレンダリングすることでレスポンシブデザインをサポートします。

IronPDFは複雑なHTMLコンテンツを処理できますか?

IronPdfはCSSやJavaScriptを含む複雑なHTMLコンテンツを処理することができ、結果のPDFが元のウェブページのデザインと一致することを保証します。

IronPDFはどのようにして高速PDF生成を実現しているのですか?

IronPdfは効率的なChromeレンダリングエンジンを活用し、ASP.NETアプリケーションの速度を落とすことなく、HTMLを素早く正確に処理することで、高速なPDF生成を保証します。

ペースの速いASP.NET環境でIronPDFを使う利点は何ですか?

ペースの速いASP.NET環境において、IronPDFは素早く信頼性の高いHTMLからPDFへの変換を提供し、アプリケーションが高いパフォーマンスを維持し、プロ品質のドキュメントを提供することを保証します。

IronPDFは異なるファイル形式をサポートしていますか?

IronPDFは主にHTMLをPDFに変換することに重点を置いていますが、PDFの結合、分割、編集もサポートしており、文書管理のための多目的なソリューションを提供しています。

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

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

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