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

HTMLをPDFに変換するためにASPをどのように使用するか

開発者がASP.NET CoreでHTMLをPDFに変換する方法

ASP.NET Coreアプリから鮮明で細かいレポートや請求書を取得するのに苦労していますか?あなた一人ではありません。

すべての開発者は最終的にレポートや確認書のような動的なWebコンテンツを信頼できるダウンロード可能なPDFバージョンに変換する必要があります。 請求書や詳細なレポートから、安全なドキュメント形式を生成するための基本的な要件です。

課題とは? すべてのCSSとJavaScriptを含む複雑なHTMLをPDFとして完璧にレンダリングすること。 そこでIronPDFが登場します。 Chromeのレンダリングエンジンを使用した強力な.NET PDFライブラリが、HTMLからPDFへの変換プロセスを簡素化し、画面に表示されるものを正確に取得できるようにします。 わずか数行のコードで、最も厄介なHTMLでも簡単にPDFファイル形式に変換できます。

準備はできましたか? IronPDFを使用してASP.NET Core HTMLからPDFタスクをどのように処理できるかを見てみましょう。

Start your free trial and begin converting HTML to PDF documents today.

IronPDFを使い始めるためのステップは何ですか?

ASP.NET CoreプロジェクトにIronPDFをインストールするには、NuGetパッケージマネージャーコンソールで1つのコマンドを実行するだけです。

Install-Package IronPdf

この.NET Frameworkライブラリは、最新のHTML要素、CSSスタイル、JavaScript実行をサポートする包括的なHTMLレンダリング機能を提供します。 PDFコンバータは複雑なHTML構造とCSSプロパティをシームレスに処理します。 さまざまなドキュメント形式を管理するために不可欠です。

HTML文字列をPDFドキュメントに変換する方法

HTML文字列を直接PDFファイルに変換するのは簡単です。 以下のコードスニペットは、HTMLコンテンツをPDFドキュメントに変換する完全なASP.NET Coreコントローラーを生成します:

using Microsoft.AspNetCore.Mvc;
using IronPdf;

namespace HtmlToPdf.Controllers
{
    public class PdfController : Controller
    {
        public IActionResult Index()
        {
            return View();
        }

        [HttpGet]
        public IActionResult ConvertHtmlStringToPdf()
        {
            string htmlContent = @"
<html>
  <head>
    <title>IronPDF Test</title>
    <style>
      body { font-family: Arial; margin: 40px; }
      h1 { color: #2b5797; }
      table { border-collapse: collapse; width: 100%; margin-top: 20px; }
      th, td { border: 1px solid #ccc; padding: 8px; }
      th { background: #f0f0f0; }
    </style>
  </head>
  <body>
    <h1>IronPDF HTML to PDF Test</h1>
    <p>This is a simple test of converting an HTML string to PDF using IronPDF.</p>
    <table>
      <tr><th>Item</th><th>Price</th></tr>
      <tr><td>Apples</td><td>$1.50</td></tr>
      <tr><td>Bananas</td><td>$0.90</td></tr>
    </table>
    <p><em>End of test document.</em></p>
  </body>
</html>";
            // Initialize the PDF converter
            var renderer = new ChromePdfRenderer();
            // Configure default page size and other settings
            renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
            renderer.RenderingOptions.MarginTop = 20;
            renderer.RenderingOptions.MarginBottom = 20;
            // Convert HTML string to PDF document
            var pdfDocument = renderer.RenderHtmlAsPdf(htmlContent);
            // Return PDF file to user, allowing them to download PDF version
            return File(pdfDocument.BinaryData, "application/pdf", "output.pdf");
        }
    }
}
using Microsoft.AspNetCore.Mvc;
using IronPdf;

namespace HtmlToPdf.Controllers
{
    public class PdfController : Controller
    {
        public IActionResult Index()
        {
            return View();
        }

        [HttpGet]
        public IActionResult ConvertHtmlStringToPdf()
        {
            string htmlContent = @"
<html>
  <head>
    <title>IronPDF Test</title>
    <style>
      body { font-family: Arial; margin: 40px; }
      h1 { color: #2b5797; }
      table { border-collapse: collapse; width: 100%; margin-top: 20px; }
      th, td { border: 1px solid #ccc; padding: 8px; }
      th { background: #f0f0f0; }
    </style>
  </head>
  <body>
    <h1>IronPDF HTML to PDF Test</h1>
    <p>This is a simple test of converting an HTML string to PDF using IronPDF.</p>
    <table>
      <tr><th>Item</th><th>Price</th></tr>
      <tr><td>Apples</td><td>$1.50</td></tr>
      <tr><td>Bananas</td><td>$0.90</td></tr>
    </table>
    <p><em>End of test document.</em></p>
  </body>
</html>";
            // Initialize the PDF converter
            var renderer = new ChromePdfRenderer();
            // Configure default page size and other settings
            renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
            renderer.RenderingOptions.MarginTop = 20;
            renderer.RenderingOptions.MarginBottom = 20;
            // Convert HTML string to PDF document
            var pdfDocument = renderer.RenderHtmlAsPdf(htmlContent);
            // Return PDF file to user, allowing them to download PDF version
            return File(pdfDocument.BinaryData, "application/pdf", "output.pdf");
        }
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

出力PDFファイル

ASP.NET CoreでHTMLをPDFに変換する方法:図1 - シンプルなHTMLからPDFへの出力

このコードスニペットは、Webページを処理する際に内部でImportFromUrlを呼び出します。 ChromePdfRendererクラスは、変換プロセスを処理し、HTMLコードを適切にフォーマットされたPDFファイルに変換します。結果のPDFドキュメントは、HTML文字列からすべてのHTMLタグ、CSSファイル、インラインスタイルを直接保持します。 このプロセスは、PDFページを正確に変換するために非常に重要です。

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

サーバー上にある既存のHTMLファイルを使用する場合、IronPDFはリンクされたリソースをすべて保持しながら、HTMLファイルの内容を変換することができます。 このアプローチは、テンプレートに基づいたドキュメント生成に完全に適合します:

using IronPdf;
using Microsoft.AspNetCore.Mvc;
using System.IO;

namespace YourApp.Controllers
{
    public class DocumentController : Controller
    {
        private readonly IWebHostEnvironment _environment;

        public DocumentController(IWebHostEnvironment environment)
        {
            _environment = environment;
        }

        [HttpGet]
        public IActionResult GeneratePdfFromTemplate(string templateName)
        {
            // Get path to HTML file
            string htmlFilePath = Path.Combine(_environment.WebRootPath, "templates", $"{templateName}.html");
            var renderer = new ChromePdfRenderer();
            // Configure rendering options
            renderer.RenderingOptions.EnableJavaScript = true;
            renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
            // Convert HTML file to PDF
            var pdf = renderer.RenderHtmlFileAsPdf(htmlFilePath);
            // Add headers and footers if needed
            renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
            {
                Height = 25,
                HtmlFragment = "<div style='text-align:center'>Company Report</div>"
            };
            return File(pdf.BinaryData, "application/pdf", $"{templateName}_generated.pdf");
        }
    }
}
using IronPdf;
using Microsoft.AspNetCore.Mvc;
using System.IO;

namespace YourApp.Controllers
{
    public class DocumentController : Controller
    {
        private readonly IWebHostEnvironment _environment;

        public DocumentController(IWebHostEnvironment environment)
        {
            _environment = environment;
        }

        [HttpGet]
        public IActionResult GeneratePdfFromTemplate(string templateName)
        {
            // Get path to HTML file
            string htmlFilePath = Path.Combine(_environment.WebRootPath, "templates", $"{templateName}.html");
            var renderer = new ChromePdfRenderer();
            // Configure rendering options
            renderer.RenderingOptions.EnableJavaScript = true;
            renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
            // Convert HTML file to PDF
            var pdf = renderer.RenderHtmlFileAsPdf(htmlFilePath);
            // Add headers and footers if needed
            renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
            {
                Height = 25,
                HtmlFragment = "<div style='text-align:center'>Company Report</div>"
            };
            return File(pdf.BinaryData, "application/pdf", $"{templateName}_generated.pdf");
        }
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

出力PDF

ASP.NET CoreでHTMLをPDFに変換する方法:図2 - HTMLテンプレートファイルをPDFに

この方法はディスクからHTMLドキュメントを読み込み、HTML構造を保持しながらPDFファイルに変換します。 PDF変換プロセスは、すべてのCSSプロパティ、画像URL、そして複雑なHTML要素を保持します。 特定のページ幅を設定するような高度なシナリオにも遭遇するかもしれません。

フォーム認証を使用したWebページをIronPDFはどのように処理しますか?

ASP.NET Coreアプリケーションは、しばしばフォーム認証を使用してコンテンツを保護します。 認証が必要なHTMLドキュメントを変換する場合、IronPDFは認証クッキーを渡すことができます:

[Authorize]
public IActionResult ConvertAuthenticatedPage()
{
    var renderer = new ChromePdfRenderer();
    // Get current URL with authentication
    string currentUrl = $"{Request.Scheme}://{Request.Host}/SecureContent";
    // Pass authentication cookie
    var authCookie = Request.Cookies[".AspNetCore.Cookies"];
    if (!string.IsNullOrEmpty(authCookie))
    {
        renderer.RenderingOptions.CustomCssUrl = currentUrl;
    }
    // Convert authenticated page
    var pdf = renderer.RenderUrlAsPdf(currentUrl);
    return File(pdf.BinaryData, "application/pdf", "secure_document.pdf");
}
[Authorize]
public IActionResult ConvertAuthenticatedPage()
{
    var renderer = new ChromePdfRenderer();
    // Get current URL with authentication
    string currentUrl = $"{Request.Scheme}://{Request.Host}/SecureContent";
    // Pass authentication cookie
    var authCookie = Request.Cookies[".AspNetCore.Cookies"];
    if (!string.IsNullOrEmpty(authCookie))
    {
        renderer.RenderingOptions.CustomCssUrl = currentUrl;
    }
    // Convert authenticated page
    var pdf = renderer.RenderUrlAsPdf(currentUrl);
    return File(pdf.BinaryData, "application/pdf", "secure_document.pdf");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

このスクリプトはImportFromUrlを呼び出し、認証の背後にレンダリングされているテーブルやフォーム、その他のHTMLコンテンツを認識します。 HTTPステータスコードの確認により、PDF変換前にページの正常な取得を保証します。 URLが無効であるか、URLでない場合、URLを開く際にエラーが発生し、プロセスは失敗します。 URLが同じ仮想ディレクトリを指している場合、リソースは指定されたURLから正しく解決されます。

ASPXファイルや動的コンテンツの変換については?

レガシーASPXファイルの変換や動的に生成されたドキュメントの場合、IronPDFはレンダリングプロセスをスムーズに処理します。 簡単なコードスニペットで、HTTPまたはHTTPSアドレスのいずれからもPDFページを作成します:

public IActionResult ConvertDynamicContent()
{
    var renderer = new ChromePdfRenderer();
    // Enable JavaScript for dynamic content
    renderer.RenderingOptions.EnableJavaScript = true;
    renderer.RenderingOptions.JavascriptDelay = 1000; // Wait for content to load
    // Handle various HTML tags and dynamic elements
    string dynamicHtml = GenerateDynamicHtml(); // Your method
    var pdf = renderer.RenderHtmlAsPdf(dynamicHtml);
    return File(pdf.BinaryData, "application/pdf", "dynamic.pdf");
}
public IActionResult ConvertDynamicContent()
{
    var renderer = new ChromePdfRenderer();
    // Enable JavaScript for dynamic content
    renderer.RenderingOptions.EnableJavaScript = true;
    renderer.RenderingOptions.JavascriptDelay = 1000; // Wait for content to load
    // Handle various HTML tags and dynamic elements
    string dynamicHtml = GenerateDynamicHtml(); // Your method
    var pdf = renderer.RenderHtmlAsPdf(dynamicHtml);
    return File(pdf.BinaryData, "application/pdf", "dynamic.pdf");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

出力

ASP.NET CoreでHTMLをPDFに変換する方法:図3 - 出力PDFファイル

HTMLからPDFへの変換でよくある問題は、HTML内でコンテンツが望ましくない改行を作成しないようにすることです。 IronPDFはこれを最小限に抑えます。

CSSスタイルと高度なHTMLレンダリングをどのように処理しますか?

IronPDFのHTMLレンダリングエンジンは、高度なCSSスタイルやHTML5機能をサポートしています。 HTMLをPDFに変換する際、ライブラリは複雑なレイアウトやレスポンシブデザインを含むCSSプロパティの解釈を処理します。 PDFは、CSSファイル、HTMLタグ、JavaScriptでレンダリングされたコンテンツを含むWebページの視覚的な忠実性をプログラムで保持します。

変換プロセスは、空白ページ、複数ページ、ページサイズの調整を自動的に処理します。 また、奇数ページと偶数ページ、または後続の奇数ページにヘッダー/フッターを含める、あるいは存在しないページを上手に扱うといった特殊なシナリオも管理できます。 複雑なWebコンテンツを簡単に変換できるように設計されています。

なぜ.NETプロジェクトにIronPDFを選ぶのか?

IronPDFは、HTMLからPDFへの変換を行うための包括的な.NETライブラリとして際立っています。 基本的なPDFコンバーターとは異なり、現代のWeb標準を完全にサポートし、簡単なHTML文字列からフォーム認証を伴う複雑なWebアプリケーションまであらゆるものを処理できます。

このライブラリは、すべてのフォーマットを保持しながらHTMLドキュメントを変換することに優れ、.NET CoreアプリケーションでプロフェッショナルなPDFドキュメントを生成するのに理想的です。 HTMLファイルを変換する必要がある、HTMLコンテンツを処理する必要がある、または既存のPDFドキュメントテンプレートからPDFを生成する必要があるかどうかにかかわらず、IronPDFはシームレスなPDF変換のために必要なツールを提供します。

今日IronPDFをダウンロードし、わずか数行のコードでHTMLコンテンツをプロフェッショナルなPDFドキュメントに変換しましょう。 For additional support, explore the comprehensive documentation and API reference to unlock the full potential of HTML to PDF conversion in your ASP.NET Core applications.

よくある質問

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

ASP.NET CoreでIronPDFを使えば、HTML文字列、ファイル、さらには認証されたウェブページを簡単にPDFに変換できます。

HTMLからPDFへの変換にIronPDFを使用する利点は何ですか?

IronPDFは、HTMLからPDFへの変換を行うための包括的で開発者に優しいAPIを提供し、HTML5およびCSS3の互換性、JavaScriptのサポート、複雑なウェブページをプロフェッショナルな品質のPDFに変換する能力を備えています。

IronPDFはPDF変換のためにHTML文字列を扱うことができますか?

はい、IronPDFはHTML文字列を直接PDF文書に変換でき、ASP.NET Coreアプリケーションで動的に生成されたコンテンツからPDFを簡単に生成できます。

IronPDFを使って認証済みウェブページをPDFに変換することは可能ですか?

IronPDFは、認証情報を渡すことで認証済みウェブページを変換することをサポートし、保護されたコンテンツをPDF文書に変換することができます。

IronPDFはHTMLファイルのPDF変換をサポートしていますか?

はい、IronPDFはHTMLファイルをPDF形式に変換でき、さまざまなタイプのHTMLコンテンツの変換を柔軟に処理します。

HTMLからPDFへの変換中にIronPDFはどのようなフォーマットを扱うことができますか?

IronPDFは、CSSスタイル、JavaScriptの実行、複雑なレイアウトのレンダリングなどの高度なフォーマット機能をサポートしており、変換されたPDFが元のHTMLレイアウトに近いことを保証します。

IronPDFを使用する際にPDF出力をカスタマイズできますか?

IronPDFは、ヘッダーやフッターの設定、ページサイズのカスタマイズ、マージンの制御など、PDF出力を広範囲にカスタマイズでき、PDFが特定の要件を満たすようにします。

HTMLからPDFへの変換において、どのような開発環境がIronPDFと互換性がありますか?

IronPDFはASP.NET Coreと互換性があり、C#プロジェクト内でシームレスに使用でき、.NET環境で作業する開発者にとって多用途なツールとなっています。

IronPDFはPDF変換プロセスのセキュリティをどのように確保しますか?

IronPDFは、HTTPSをサポートし認証情報の使用を許可することで、HTMLからPDFへの変換を安全な形で行い、変換プロセス中の機密情報を保護します。

ASP.NET CoreプロジェクトでIronPDFを使用するためのシステム要件は何ですか?

IronPDFは.NET環境を必要とし、ASP.NET Coreアプリケーションにスムーズに統合することを意図して設計されており、開発者にとって手間のないセットアップと操作を保証します。

Curtis Chau
テクニカルライター

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

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