IRONPDFの使用

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

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

今日は、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は習得が容易で、Webアプリケーションから直接、動的な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ファイルの分割や結合などの編集機能が備わっています。

前提条件

作業を開始する前に、以下を確認してください:

  • Visual Studio または別の C# 開発環境を設定する。
  • IronPDFライブラリがインストールされました。 NuGetまたはIronPDFのウェブサイトから直接入手できます。

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

Visual Studioを起動し、ニーズに最も適したASP.NETプロジェクトタイプを選択します。 今日の例では、ASP.NET Core Web アプリ (モデルビューコントローラー) を作成します。

ASP .NETでHTMLをPDFに変換する方法 C#: 図1

次に、プロジェクトの名前を入力し、プロジェクトを格納する場所を選択します。

ASP .NETでHTMLをPDFに変換する方法: 図2

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

ASP .NETでHTMLをPDFに変換する方法 C#を使用: 図3

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

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

ASP .NETでHTMLをPDFに変換する方法 C#: 図4

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

ASP .NETでHTMLをPDFに変換する方法 C#を使用:図5

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

ASP .NET で HTML を PDF に変換する方法 C# 使用: 図 6

HTMLからPDFへの変換コードを追加

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

using IronPdf;
using Microsoft.AspNetCore.Mvc;
namespace IronPdfTest.Controllers
{
    public class PdfController : Controller
    {
        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>";
            ChromePdfRenderer renderer = new ChromePdfRenderer();
        // Convert HTML string to PDF
            PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
            return File(pdf.BinaryData, "application/pdf", "generatedDocument.pdf");
        }
    }
}
using IronPdf;
using Microsoft.AspNetCore.Mvc;
namespace IronPdfTest.Controllers
{
    public class PdfController : Controller
    {
        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>";
            ChromePdfRenderer renderer = new ChromePdfRenderer();
        // Convert HTML string to PDF
            PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
            return File(pdf.BinaryData, "application/pdf", "generatedDocument.pdf");
        }
    }
}
Imports IronPdf
Imports Microsoft.AspNetCore.Mvc
Namespace IronPdfTest.Controllers
	Public Class PdfController
		Inherits Controller

		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>"
			Dim renderer As New ChromePdfRenderer()
		' Convert HTML string to PDF
			Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlContent)
			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を定義します。

        Hello, IronPDF!

        これはHTMLから生成されたPDFです。

      • HTMLをPDFに変換するChromePdfRendererの新しいインスタンスを作成します。
    • メソッドRenderHtmlAsPdf()はHTML文字列を受け取り、PDFオブジェクトを返します。

ルーティングの設定

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

カスタムPDF出力

さて、基本を押さえたところで、出力PDFにいくつかのカスタマイズ設定を設定して、HTMLコンテンツからPDFファイルを作成して見ましょう。 IronPDFは、余白ヘッダー/フッターカスタムPDFサイズなどの強力なPDFカスタマイズツールを提供します。

using IronPdf;
using Microsoft.AspNetCore.Mvc;
namespace IronPdfTest.Controllers
{
    // Controller for our PDF converter
    public class PdfController : Controller
    {
        public IActionResult GeneratePdf()
        {
            string url= "<h1>Hello, IronPDF!</h1><p>This is a PDF generated from HTML.</p>";
            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(url);
        // Appending the cover to the main PDF
            pdf.InsertPdf(cover, 0);
            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
    {
        public IActionResult GeneratePdf()
        {
            string url= "<h1>Hello, IronPDF!</h1><p>This is a PDF generated from HTML.</p>";
            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(url);
        // Appending the cover to the main PDF
            pdf.InsertPdf(cover, 0);
            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

		Public Function GeneratePdf() As IActionResult
			Dim url As String= "<h1>Hello, IronPDF!</h1><p>This is a PDF generated from HTML.</p>"
			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(url)
		' Appending the cover to the main PDF
			pdf.InsertPdf(cover, 0)
			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生成をWebアプリケーションに簡単に統合することができ、HTMLコンテンツから高品質で印刷可能なドキュメントを作成することができます。

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

チペゴ
ソフトウェアエンジニア
チペゴは優れた傾聴能力を持ち、それが顧客の問題を理解し、賢明な解決策を提供する助けとなっています。彼は情報技術の学士号を取得後、2023年にIron Softwareチームに加わりました。現在、彼はIronPDFとIronOCRの2つの製品に注力していますが、顧客をサポートする新しい方法を見つけるにつれて、他の製品に関する知識も日々成長しています。Iron Softwareでの協力的な生活を楽しんでおり、さまざまな経験を持つチームメンバーが集まり、効果的で革新的な解決策を提供することに貢献しています。チペゴがデスクを離れているときは、良い本を楽しんだり、サッカーをしていることが多いです。
< 以前
C#でPDFファイルからテーブルデータを抽出する方法
次へ >
PDF/A準拠(開発者向けの動作方法)