Azure で .NET を使用して HTML を PDF に生成する方法

How to Run HTML to PDF with .NET on Azure?

This article was translated from English: Does it need improvement?
Translated
View the article in English

はい。 IronPDFは、Azure上でPDFドキュメントの生成、操作、および読み取りに使用できます。 IronPDFは、MVCウェブサイト、Azure Functions、多くの他のAzureプラットフォームで徹底的にテストされています。

このAzure Docker Linuxチュートリアルを参照してください。

Quickstart: AzureでのIronPDFによるHTMLからPDFへの変換

IronPDFを使用して、Azureアプリケーション内でHTMLをPDFに変換する作業を容易に開始します。 この簡潔なガイドは、IronPDFの効率的なAPIメソッドを使用してURLをPDFドキュメントとしてレンダリングする方法を示しています。 この例は、AzureソリューションにPDF機能を統合しようとする開発者に最適で、IronPDFの簡単さとスピードを示し、PDF生成タスクがシームレスで時間効率に優れていることを保証します。 フォーマットを失わずにPDFを生成し始め、すぐにAzureプロジェクトを開始してください。

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. Copy and run this code snippet.

    var pdf = new IronPdf.ChromePdfRenderer()
        .RenderHtmlAsPdf("<h1>Hello Azure!</h1>")
        .SaveAs("output‑azure.pdf");
  3. Deploy to test on your live environment

    Start using IronPDF in your project today with a free trial
    arrow pointer
class="hsg-featured-snippet">

最小ワークフロー(5ステップ)

  1. AzureでPDFを生成するためのC#ライブラリをインストール
  2. Azure Basic B1ホスティング層以上を選択
  3. パブリッシング時にパッケージファイルから実行オプションをオフにする
  4. 推奨された構成手順に従う
  5. Azureを使用してPDFジェネレーターを作成するためのコード例を使用する

class="main-content__segment-title">チュートリアル

プロジェクトのセットアップ

IronPDFのインストールを始める

最初のステップはNuGetを使用してIronPDFをインストールすることです。

Install-Package IronPdf

代わりに、IronPDFのAzure用直接ダウンロードパッケージリンクを使用して.dllを手動でインストールします。

正しいAzureオプションを選択する

正しいホスティングレベルAzure Tierの選択

Azure Basic B1は、エンドユーザーのレンダリングニーズに必要な最低ホスティングレベルです。 高スループットシステムを作成する場合は、アップグレードが必要になる可能性があります。

警告App service planのプランタイプを選択しないと、IronPdfがPDFドキュメントのレンダリングに失敗する可能性があります。

class="content-img-align-center">
class="center-image-wrapper"> 正しいホスティングレベルAzure Tierの選択

"パッケージファイルから実行" チェックボックス

Azure Functionsアプリケーションを公開する際、パッケージファイルから実行選択されていないことを確認してください。

class="content-img-align-center">
class="center-image-wrapper"> パッケージファイルから実行オプションをオフにする

.NET 6用の構成

Microsoftは最近、.NET 6+からイメージライブラリを削除し、多くのレガシーAPIを破壊しました。したがって、プロジェクトを構成してこれらのレガシーAPI呼び出しが許可されるようにする必要があります。

  1. Linuxでは、Installation.LinuxAndDockerDependenciesAutoConfig=true;を設定して、マシンにlibgdiplusをインストールする
  2. あなたの.NET 6プロジェクトの.csprojファイルに次のものを追加します:
    <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
    <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
    XML
  3. プロジェクト内にruntimeconfig.template.jsonというファイルを作成し、次の内容を入力します:
{
  "configProperties": {
    "System.Drawing.EnableUnixSupport": true
  }
}
  1. 最後に、プログラムの冒頭に次の行を追加して、System.DrawingのUnixサポートを有効にします:
    System.AppContext.SetSwitch("System.Drawing.EnableUnixSupport", true);
    System.AppContext.SetSwitch("System.Drawing.EnableUnixSupport", true);
    System.AppContext.SetSwitch("System.Drawing.EnableUnixSupport", True)
    $vbLabelText   $csharpLabel

AzureでDockerを使用する

Azure上でコントロールを得て、SVGフォントのアクセス、およびパフォーマンスの制御を可能にする1つの方法は、Dockerコンテナ内からのIronPDFアプリケーションとFunctionsの使用です。

LinuxおよびWindowsインスタンス向けの包括的なIronPDF Azure Dockerチュートリアルがあり、これは推奨の教材です。

Azure Functionコードの例

この例は、ILogger logを参照してビルトインのAzureロガーにログエントリを自動出力します。

[FunctionName("PrintPdf")]
public static async Task<IActionResult> Run(
    [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
    ILogger log, ExecutionContext context)
{
    log.LogInformation("Entered PrintPdf API function...");

    // Apply license key
    IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

    // Configure logging
    IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.Custom;
    IronPdf.Logging.Logger.CustomLogger = log;
    IronPdf.Logging.Logger.EnableDebugging = false;

    // Configure IronPdf settings
    Installation.LinuxAndDockerDependenciesAutoConfig = false;
    Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;

    try
    {
        log.LogInformation("About to render pdf...");

        // Create a renderer and render the URL as PDF
        ChromePdfRenderer renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderUrlAsPdf("https://www.google.com/");

        log.LogInformation("Finished rendering pdf...");

        // Return the rendered PDF as a file download
        return new FileContentResult(pdf.BinaryData, "application/pdf") { FileDownloadName = "google.pdf" };
    }
    catch (Exception e)
    {
        log.LogError(e, "Error while rendering pdf");
    }

    return new OkObjectResult("OK");
}
[FunctionName("PrintPdf")]
public static async Task<IActionResult> Run(
    [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
    ILogger log, ExecutionContext context)
{
    log.LogInformation("Entered PrintPdf API function...");

    // Apply license key
    IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

    // Configure logging
    IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.Custom;
    IronPdf.Logging.Logger.CustomLogger = log;
    IronPdf.Logging.Logger.EnableDebugging = false;

    // Configure IronPdf settings
    Installation.LinuxAndDockerDependenciesAutoConfig = false;
    Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;

    try
    {
        log.LogInformation("About to render pdf...");

        // Create a renderer and render the URL as PDF
        ChromePdfRenderer renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderUrlAsPdf("https://www.google.com/");

        log.LogInformation("Finished rendering pdf...");

        // Return the rendered PDF as a file download
        return new FileContentResult(pdf.BinaryData, "application/pdf") { FileDownloadName = "google.pdf" };
    }
    catch (Exception e)
    {
        log.LogError(e, "Error while rendering pdf");
    }

    return new OkObjectResult("OK");
}
<FunctionName("PrintPdf")>
Public Shared Async Function Run(<HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route := Nothing)> ByVal req As HttpRequest, ByVal log As ILogger, ByVal context As ExecutionContext) As Task(Of IActionResult)
	log.LogInformation("Entered PrintPdf API function...")

	' Apply license key
	IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"

	' Configure logging
	IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.Custom
	IronPdf.Logging.Logger.CustomLogger = log
	IronPdf.Logging.Logger.EnableDebugging = False

	' Configure IronPdf settings
	Installation.LinuxAndDockerDependenciesAutoConfig = False
	Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled

	Try
		log.LogInformation("About to render pdf...")

		' Create a renderer and render the URL as PDF
		Dim renderer As New ChromePdfRenderer()
		Dim pdf = renderer.RenderUrlAsPdf("https://www.google.com/")

		log.LogInformation("Finished rendering pdf...")

		' Return the rendered PDF as a file download
		Return New FileContentResult(pdf.BinaryData, "application/pdf") With {.FileDownloadName = "google.pdf"}
	Catch e As Exception
		log.LogError(e, "Error while rendering pdf")
	End Try

	Return New OkObjectResult("OK")
End Function
$vbLabelText   $csharpLabel

既知の問題

共有ホスティングプランではSVGフォントレンダリングが利用できません

1つの制限は、Azureホスティングプラットフォームの概要が、Google FontsのようにSVGフォントをロードするサーバーを、安価な共有ウェブアプリ層でサポートしていないことです。 これは、Windows GDI+グラフィックスオブジェクトへのアクセスを防ぐセキュリティ制限のためです。

Windows または Linux Docker Containerガイド for IronPDFもしくはおそらく Azure上のVPSの使用を推奨し、最良のフォントレンダリングが必要な場合にはこの問題に対処します。

Azureの無料ティアホスティングは遅いです

Azureの無料および共有ティアと消費プランは、PDFレンダリングには適していません。 私たち自身が使用しているAzure B1ホスティング/プレミアムプランをお勧めします。 HTML to PDFのプロセスは、どのコンピューターにとっても重要な「作業」です - あなた自身のマシンでウェブページを開いてレンダリングするのと同様です。本物のブラウザーエンジンが使用されているため、それに応じてプロビジョニングを行い、類似のパワーを持つデスクトップマシンのレンダリング時間と同様の結果を期待します。

エンジニアリングサポートリクエストチケットの作成

リクエストチケットを作成するには、IronPDFのエンジニアリングサポートリクエスト作成ガイドを参照してください。

よくある質問

Azure で C# を使用して HTML を PDF に変換するにはどうすればよいですか?

IronPDF を使用して、Azure アプリケーション内で HTML を PDF に変換できます。RenderHtmlAsPdf メソッドを利用することで、生成された PDF 内で HTML コンテンツのフォーマットを維持できます。

Azure Functions での PDF 生成を展開するためのベストプラクティスは何ですか?

IronPDF を使用して Azure Functions で PDF 生成を展開する場合、ライブラリを NuGet を介してインストールし、公開時には「パッケージファイルから実行」オプションを選択しないようにしてください。これは一般的な展開の問題を防ぐのに役立ちます。

Azure で .NET 6 を使って IronPDF を利用できますか?

はい、Azure で .NET 6 を使用して IronPDF を利用できます。<GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles> を .csproj ファイルに追加し、'System.Drawing.EnableUnixSupport' を true に設定した runtimeconfig.template.json ファイルを作成してください。

Azure で最適な PDF レンダリング性能を得るための推奨ホスティング階層はどれですか?

Azure 上で IronPDF を使用して最適な PDF レンダリング性能を得るには、少なくとも Azure Basic B1 ホスティング階層を使用することをお勧めします。高スループットシステムのためには、より高い階層にアップグレードしてください。

Azure の共有ホスティングプランで IronPDF を使用する際の制限はありますか?

はい、Azure のより安価な共有ホスティングプランでは SVG フォントレンダリングは利用できません。より良いフォントレンダリングとパフォーマンスのためには、Windows または Linux Docker コンテナまたは Azure の VPS を使用してください。

Azure の無料ティアでの PDF レンダリング性能を改善するにはどうすればよいですか?

Azure の無料ティアの制約を超えて PDF レンダリング性能を改善するには、Azure Basic B1 ホスティング階層またはそれ以上にアップグレードすることを検討してください。これは無料ティアに関連するパフォーマンスのボトルネックを緩和します。

Azure で IronPDF を使用する際の既知の問題は何ですか?

既知の問題には、共有ホスティングプランでの SVG フォントレンダリングの制限と、Azure の無料ティアホスティングでのパフォーマンスの懸念が含まれます。Docker コンテナを使用することで、これらの問題を軽減できます。

Azure Functions を PDF 生成のために Docker を使って実行するにはどうすればよいですか?

Docker コンテナ内で Azure Functions を展開することで、IronPDF を使用して PDF を生成する際のパフォーマンスと制御を向上させることができます。詳細については、Azure Docker Linux チュートリアルを参照してください。

Azure で IronPDF の技術サポートを求めるにはどうすればよいですか?

Azure で IronPDF の技術サポートを依頼するには、IronPDF のウェブサイトで利用可能な「IronPDF のエンジニアリングサポートリクエストを行う方法」ガイドに従ってください。

Azure 上で Docker を使用する際に SVG フォントにアクセスすることは可能ですか?

はい、Azure 上で Docker を使用すると、SVG フォントにアクセスすることができ、IronPDF で生成された PDF のレンダリング性能と品質を向上させます。

Curtis Chau
テクニカルライター

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

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

準備はいいですか?
Nuget ダウンロード 16,154,058 | バージョン: 2025.11 ただ今リリースされました