IRONPDFの使用

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

公開済み 2024年10月23日
共有:

最近のウェブアプリケーションでは、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を使用すると、任意のWebページ、ASPXファイル、HTML文字列などからPDFを生成することができます。
  • セキュリティ機能: IronPDFを使用すれば、そのセキュリティ機能により、あらゆる機密PDFファイルが常に安全であることを確信できます。 IronPDFを使用してPDFファイルを暗号化し、パスワードを設定し、PDFファイルに対する権限を設定します。
  • PDF編集機能: IronPDFを使用すると、既存のPDFドキュメントを処理し、編集し、PDFファイルを簡単に読み取ることができます。 IronPDFには、ヘッダーとフッターの追加、PDFページへのテキストや画像のスタンプ、カスタム透かしの追加、PDFフォームの操作、PDFファイルの分割や結合などの編集機能が備わっています。

前提条件

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

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

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

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

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

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

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

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

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

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

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

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

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

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

C#を使用して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
    {
        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
VB   C#

C#を使用して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を定義します。 例えば、"

        こんにちは、IronPDFです。!

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

        申し訳ありませんが、翻訳するための具体的なテキストが提供されていません。翻訳するコンテンツを提供していただければ、日本語に翻訳いたします。

      • 私たちはChromePdfRendererまた、HTMLからPDFへの変換を行う「HTML-PDF変換」サービスも提供しています。
    • メソッド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
VB   C#

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

結論

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

IronPDFは高品質なPDFドキュメントを作成するための豊富な機能を備えています。ドキュメントまたインストールIronPDFをあなたのプロジェクトにすぐに導入することができます。

< 以前
C#でPDFファイルからテーブルデータを抽出する方法
次へ >
PDF/A準拠(開発者向けの動作方法)