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

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

現代のウェブアプリケーションでは、HTMLコンテンツからドキュメントを生成することが一般的な要件です。 請求書、レポート、その他の種類のドキュメントを作成する必要がある場合でも、ASP.NETでC#を使用してHTMLをPDFに変換することはIronPDFライブラリで効率的に実現できます。

今日はIronPDFをセットアップして、HTMLコンテンツをPDFドキュメントに変換するために使用する方法を探ります。

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

  1. Visual Studioやお好みのIDEを使用してASP.NETプロジェクトを作成します。
  2. IronPDFをインストールし、ライセンスキーを設定します。
  3. PDF変換を処理したい新しいコントローラーまたはページを作成します。
  4. コントローラー内に変換ロジックを記述します。
  5. PDF生成アクションへのアクセスを許可するためにルーティングを設定します。

IronPDFの概要

IronPDFは開発者がPDFドキュメントを読み込み、作成し、操作することを可能にする強力なPDFライブラリです。 豊富な機能セットと迅速で簡単なインストールプロセスを備えたIronPDFのおかげで、PDFプロジェクトを短時間で次のレベルに引き上げることができます。 その直感的なAPIは学習が簡単で、動的なPDFドキュメントを生成したり、PDFのセキュリティ作業、PDF注釈などを直接ウェブアプリケーションから実行したい場合に最適です。

特徴

  • PDF変換: IronPDFは、モダンなウェブ標準を完全にサポートしており、HTMLファイルをPDFに変換できます。 IronPDFはあなたのHTMLページから常にピクセル完璧なPDFを返すことを保証します。 IronPDFはまた、DOCX、画像、RTFなどからPDFファイルを変換することもできます。
  • PDF生成: IronPDFを使って、任意のウェブページ、ASPXファイル、HTML文字列からPDFを生成できます。
  • セキュリティ機能: IronPDFを使えば、セキュリティ機能のおかげで機密PDFファイルが常に安全であることを保証します。 IronPDFを使用してPDFファイルを暗号化し、パスワードを設定し、PDFファイルの権限を設定します。
  • PDF編集機能: IronPDFを使えば、既存のPDFドキュメントを処理し、編集し、PDFファイルを簡単に読むことができます。 IronPDFは、ヘッダーとフッターの追加、テキストや画像のPDFページへのスタンプ、PDFカスタム透かしの追加、PDFフォームの利用、PDFファイルの分割やマージなどの編集機能を提供します。

前提条件

始める前に、以下のものをご用意ください:

  • Visual Studio または他のC#開発環境をセットアップ。
  • IronPDFライブラリをインストール。 NuGetまたはIronPDFのWebサイトから取得できます。

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

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

ASP .NETを使用してHTMLをPDFに変換する方法:図1

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

ASP .NETを使用してHTMLをPDFに変換する方法:図2

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

ASP .NETを使用してHTMLをPDFに変換する方法:図3

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

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

ASP .NETを使用してHTMLをPDFに変換する方法:図4

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

ASP .NETを使用してHTMLをPDFに変換する方法:図5

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

ASP .NETを使用してHTMLをPDFに変換する方法:図6

HTMLからPDF変換コードを追加する

ASP.NETプロジェクトを作成したので、HTMLファイルのコンテンツをPDFに変換するコードを書き始めることができます。 まずはHTML文字列からPDFへの簡単な例を示し、その後カスタマイズを含むHTMLコンテンツの変換を見ていきます。

using IronPdf;
using Microsoft.AspNetCore.Mvc;

namespace IronPdfTest.Controllers
{
    public class PdfController : Controller
    {
        // Action method to generate a PDF from HTML content
        public IActionResult GeneratePdf()
        {
            // String of HTML code to be converted to PDF
            string htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF generated from HTML.</p>";

            // Creating a renderer to convert the HTML string to PDF
            ChromePdfRenderer renderer = new ChromePdfRenderer();

            // Convert HTML string to PDF
            PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);

            // Return the generated PDF file
            return File(pdf.BinaryData, "application/pdf", "generatedDocument.pdf");
        }
    }
}
using IronPdf;
using Microsoft.AspNetCore.Mvc;

namespace IronPdfTest.Controllers
{
    public class PdfController : Controller
    {
        // Action method to generate a PDF from HTML content
        public IActionResult GeneratePdf()
        {
            // String of HTML code to be converted to PDF
            string htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF generated from HTML.</p>";

            // Creating a renderer to convert the HTML string to PDF
            ChromePdfRenderer renderer = new ChromePdfRenderer();

            // Convert HTML string to PDF
            PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);

            // Return the generated PDF file
            return File(pdf.BinaryData, "application/pdf", "generatedDocument.pdf");
        }
    }
}
Imports IronPdf
Imports Microsoft.AspNetCore.Mvc

Namespace IronPdfTest.Controllers
	Public Class PdfController
		Inherits Controller

		' Action method to generate a PDF from HTML content
		Public Function GeneratePdf() As IActionResult
			' String of HTML code to be converted to PDF
			Dim htmlContent As String = "<h1>Hello, IronPDF!</h1><p>This is a PDF generated from HTML.</p>"

			' Creating a renderer to convert the HTML string to PDF
			Dim renderer As New ChromePdfRenderer()

			' Convert HTML string to PDF
			Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlContent)

			' Return the generated PDF file
			Return File(pdf.BinaryData, "application/pdf", "generatedDocument.pdf")
		End Function
	End Class
End Namespace
$vbLabelText   $csharpLabel

ASP .NETを使用してHTMLをPDFに変換する方法:図7

ASP.NET MVC はユーザーのリクエストを処理するためにコントローラーを使用します。 ユーザーが特定のURLにアクセスすると、ASP.NETはそのルートに関連付けられたコントローラーのメソッドを呼び出します。

  • PdfController はControllerを継承したクラスで、Webリクエストを処理したり、レスポンスを送信したりできます。
  • コントローラー内のGeneratePdfメソッドは、HTMLをPDFに変換するリクエストを処理し、その結果を返します。

ユーザーがGeneratePdfアクションに関連付けられたURLを訪れると、このメソッドが実行されます。

  • IActionResult: これはWebアプリケーションがユーザーに送り返すレスポンスを表す戻り値の型です。 ビュー(HTMLページ)、ファイルダウンロードなどの場合があります。この場合、PDFファイルです。

    • GeneratePdf() メソッド:

    • メソッドの中で、PDFに変換したいHTMLを含む文字列htmlContentを定義します。 For example, "<h1>Hello, IronPDF!</h1><p>This is a PDF generated from HTML.</p>".

    • ChromePdfRendererの新しいインスタンスを作成し、HTMLからPDFへの変換を担当します。

    • メソッドRenderHtmlAsPdf() はHTML文字列を取り、PDFオブジェクトを返します。

ルーティングを設定する

ASP.NET MVCアプリケーションでは、URLをコントローラーメソッド(アクション)にマップするルートを定義します。 例えば、ブラウザで/Pdf/GeneratePdfにアクセスすると、ASP.NETはPdfControllerを探し、そのGeneratePdfメソッドを呼び出します。 ルーティング設定がGeneratePdfアクションへのアクセスを許可していることを確認してください。 ASP.NET Core MVCを使用している場合は、通常、自動的に構成されます。 Web APIを使用している場合、ルートが正しく設定されていることを確認してください。

カスタムPDF出力

基本を理解した今、出力PDFに対していくつかのカスタマイズ設定を行ってHTMLコンテンツからPDFファイルを作成する方法を見ていきましょう。 IronPDF provides a powerful set of PDF customization tools, such as margins, headers/footers, custom PDF sizing, and more.

using IronPdf;
using Microsoft.AspNetCore.Mvc;

namespace IronPdfTest.Controllers
{
    // Controller for our PDF converter
    public class PdfController : Controller
    {
        // Action method to generate a customized PDF from HTML content
        public IActionResult GeneratePdf()
        {
            // String of HTML code to be converted to PDF
            string htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF generated from HTML.</p>";

            // Creating a renderer to convert the URL to PDF
            ChromePdfRenderer renderer = new ChromePdfRenderer();

            // Creating the cover page
            PdfDocument cover = renderer.RenderHtmlAsPdf("<h1>Cover Page</h1>");

            // Adding custom options for our final PDF
            renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Landscape;
            renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A3;
            renderer.RenderingOptions.TextHeader.CenterText = "IronPDF";
            renderer.RenderingOptions.TextHeader.FontSize = 12;
            renderer.RenderingOptions.MarginTop = 20;
            renderer.RenderingOptions.FirstPageNumber = 2;

            // Creating our main PDF
            PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);

            // Appending the cover to the main PDF
            pdf.InsertPdf(cover, 0);

            // Return the customized generated PDF file
            return File(pdf.BinaryData, "application/pdf", "generatedDocument.pdf");
        }
    }
}
using IronPdf;
using Microsoft.AspNetCore.Mvc;

namespace IronPdfTest.Controllers
{
    // Controller for our PDF converter
    public class PdfController : Controller
    {
        // Action method to generate a customized PDF from HTML content
        public IActionResult GeneratePdf()
        {
            // String of HTML code to be converted to PDF
            string htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF generated from HTML.</p>";

            // Creating a renderer to convert the URL to PDF
            ChromePdfRenderer renderer = new ChromePdfRenderer();

            // Creating the cover page
            PdfDocument cover = renderer.RenderHtmlAsPdf("<h1>Cover Page</h1>");

            // Adding custom options for our final PDF
            renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Landscape;
            renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A3;
            renderer.RenderingOptions.TextHeader.CenterText = "IronPDF";
            renderer.RenderingOptions.TextHeader.FontSize = 12;
            renderer.RenderingOptions.MarginTop = 20;
            renderer.RenderingOptions.FirstPageNumber = 2;

            // Creating our main PDF
            PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);

            // Appending the cover to the main PDF
            pdf.InsertPdf(cover, 0);

            // Return the customized generated PDF file
            return File(pdf.BinaryData, "application/pdf", "generatedDocument.pdf");
        }
    }
}
Imports IronPdf
Imports Microsoft.AspNetCore.Mvc

Namespace IronPdfTest.Controllers
	' Controller for our PDF converter
	Public Class PdfController
		Inherits Controller

		' Action method to generate a customized PDF from HTML content
		Public Function GeneratePdf() As IActionResult
			' String of HTML code to be converted to PDF
			Dim htmlContent As String = "<h1>Hello, IronPDF!</h1><p>This is a PDF generated from HTML.</p>"

			' Creating a renderer to convert the URL to PDF
			Dim renderer As New ChromePdfRenderer()

			' Creating the cover page
			Dim cover As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Cover Page</h1>")

			' Adding custom options for our final PDF
			renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Landscape
			renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A3
			renderer.RenderingOptions.TextHeader.CenterText = "IronPDF"
			renderer.RenderingOptions.TextHeader.FontSize = 12
			renderer.RenderingOptions.MarginTop = 20
			renderer.RenderingOptions.FirstPageNumber = 2

			' Creating our main PDF
			Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlContent)

			' Appending the cover to the main PDF
			pdf.InsertPdf(cover, 0)

			' Return the customized generated PDF file
			Return File(pdf.BinaryData, "application/pdf", "generatedDocument.pdf")
		End Function
	End Class
End Namespace
$vbLabelText   $csharpLabel

ASP .NETを使用してHTMLをPDFに変換する方法:図8

結論

今日は、HTMLからPDFへの変換をASP.NETと共に使用し、ASP.NETプロジェクト内でHTMLからPDFファイルを作成するプロセスを詳しく見てきました。 上記の手順に従うことで、ウェブアプリケーションにPDF生成を簡単に統合し、HTMLコンテンツから高品質で印刷可能なドキュメントを作成できるようになります。

IronPDFは高品質なPDFドキュメントを生成するために活用できる豊富な機能セットを備えています。 より高度な機能や詳細なカスタマイズについては、IronPDFのドキュメントを参照してください。 迅速なインストールにより、プロジェクト内でIronPDFをすぐにセットアップすることができます。

よくある質問

ASP.NETでC#を使用してHTMLコンテンツをPDFに変換するにはどうすればよいですか?

ASP.NETでC#を使用してHTMLコンテンツをPDFに変換するには、IronPDFライブラリを使用できます。まず、Visual StudioでASP.NETプロジェクトを設定し、NuGetを介してIronPDFをインストールし、ライセンスキーを設定します。その後、IronPDFのChromePdfRendererクラスを使用してHTMLコンテンツをPDFドキュメントにレンダリングするコントローラーを作成します。

ASP.NETプロジェクトでIronPDFを設定するにはどのような手順がありますか?

ASP.NETプロジェクトでIronPDFを設定するには、Visual Studioで新しいASP.NETプロジェクトを作成し、NuGetパッケージマネージャーを介してIronPDFをインストールし、ライセンスキーを入力します。設定が完了したら、IronPDFの機能を利用してHTMLをPDFに変換できます。

ASP.NETコントローラーでPDF変換ロジックをどのように処理しますか?

ASP.NETコントローラーでPDF変換ロジックを処理するには、IronPDFのChromePdfRendererを使用します。HTMLコンテンツを受け取り、RenderHtmlAsPdfメソッドを適用してPDFを生成するアクションメソッドを作成し、それからクライアントに返すことができます。

IronPDFでPDF出力をカスタマイズするためのオプションはどのようなものがありますか?

IronPDFでは、用紙サイズ、方向、余白、ヘッダーおよびフッターの追加などでPDF出力をカスタマイズできます。これらはPDFドキュメントを設定する際にRenderingOptionsプロパティを使用して調整できます。

IronPDFを使用してHTMLから高品質のPDF出力を保証するにはどうすればいいですか?

IronPDFは最新のWeb標準をサポートしており、HTMLから高品質のPDF出力を保証します。ChromePdfRendererを使用することで、一貫したフォーマットとスタイルを維持し、プロフェッショナルな見た目のPDFドキュメントを作成できます。

IronPDFを既存のASP.NET Webアプリケーションに統合することはできますか?

はい、IronPDFは既存のASP.NET Webアプリケーションに簡単に統合できます。NuGetを介してライブラリをインストールし、ライセンスを設定した後、HTMLコンテンツをPDFに変換することでアプリケーションのドキュメント生成機能を向上させることができます。

ASP.NETプロジェクトでIronPDFを使用する際のトラブルシューティングのヒントは何ですか?

ASP.NETプロジェクトでIronPDFに問題が発生した場合、ライブラリがNuGet経由で正しくインストールされているか確認し、ライセンスキーが有効であるかチェックし、コントローラーの変換ロジックでHTMLレンダリングやPDF生成にエラーがないか確認してください。

HTMLからPDFへの変換にIronPDFを使用するための追加のリソースはどこで見つけることができますか?

HTMLからPDFへの変換にIronPDFを使用するための追加のリソースとドキュメントは、IronPDF公式ウェブサイトで見つけることができます。ガイド、APIドキュメント、サンプルへのアクセスが可能で、ASP.NETでのHTMLからPDFへの変換にライブラリを効果的に使用するのに役立ちます。

IronPDF は新しくリリースされた .NET 10 と互換性がありますか? また、.NET 10 は HTML から PDF への変換にどのような利点をもたらしますか?

はい。IronPDFは.NET 10と完全に互換性があります。クロスプラットフォーム展開、ヒープ割り当ての削減などの新しいランタイムパフォーマンス強化、メモリ使用量の改善、最新のC#機能との互換性向上など、.NET 10を「すぐに」サポートします。これらの改善により、IronPDFによるHTMLからPDFへの変換は、.NET 10においてより高速、効率的、そしてメンテナンス性が向上します。

Curtis Chau
テクニカルライター

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

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