AzureファンクションでIronPDF .NETを実行&デプロイする方法
はい。 IronPDFは、Azure上でPDFドキュメントの生成、操作、および読み取りに使用できます。 IronPDFは、MVCウェブサイト、Azure Functions、多くの他のAzureプラットフォームで徹底的にテストされています。
Azure FunctionでHTMLをPDFに変換する方法
- Azure関数でHTMLをPDFに変換するC#ライブラリをインストールする。
- Azure Basic B1ホスティング層以上を選択
- 公開時に
Run from package fileオプションのチェックを外してください。 - 推奨される設定手順に従う
- コード例を使用してAzureを使用したPDFジェネレータを作成する
チュートリアル
IronPdfパッケージをインストールする
Azure Function Appsには、Linux、Windows、およびコンテナという3つの独自の環境があります。 この記事では、すべての環境でのIronPdfのセットアップ方法を説明します。 これらの中で、Azure Function Appコンテナは、分離された環境を提供するため推奨されます。 開始するには、インストールする適切なパッケージを選択します。
Azure Function Appコンテナ
Azure Function Appコンテナは、最小の手間で済むため、IronPdfをデプロイするのに推奨される方法です。
- IronPDF.Linuxパッケージ
インストール-パッケージIronPdf.Linux
Dockerファイルの構成
使用しているLinuxディストリビューションに基づいて、Dockerファイルを構成します。 この記事を参照して、詳細な指示を確認してください。
Azure Function App(Windows)
標準のIronPDFパッケージを使用するには、パッケージファイルから実行オプションがオフになっていることを確認してください。 このオプションを有効にすると、プロジェクトがZIPファイルとしてデプロイされ、IronPdfのファイル構成に干渉します。 パッケージファイルから実行オプションを有効にしたい場合は、代わりにIronPdf.Slimパッケージをインストールしてください。
- IronPDFパッケージ
Install-Package IronPdf

Azure Function App(Linux)
Azure Function App(Linux)では、プロジェクトがデフォルトでZIPファイルとしてデプロイされ、この動作を無効にすることはできません。 これは、Azure Function App(Windows)でパッケージファイルから実行オプションを有効にすることに似ています。
- IronPdf.Slimパッケージ
インストール-パッケージIronPdf.Slim
正しいAzureオプションを選択
正しいホスティングティアの選択
Azure Basic B1は、エンドユーザーのレンダリングニーズに必要な最低ホスティングレベルです。 高スループットシステムを作成する場合は、アップグレードが必要になる可能性があります。
注意:アプリサービスプランを選択しなかった場合、IronPdfはPDFドキュメントのレンダリングに失敗する可能性があります。

.NET 6の構成
Microsoftは最近、.NET 6+からイメージライブラリを削除し、多くのレガシーAPIを破壊しました。したがって、プロジェクトを構成してこれらのレガシーAPI呼び出しが許可されるようにする必要があります。
- Linuxで、
Installation.LinuxAndDockerDependenciesAutoConfig=true;を設定し、libgdiplusがマシンにインストールされるようにします - あなたの.NET 6プロジェクトの.csprojファイルに以下を追加します:
<GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles><GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>- プロジェクトに
runtimeconfig.template.jsonという名前のファイルを作成し、以下を入力します:
{
"configProperties": {
"System.Drawing.EnableUnixSupport": true
}
}- 最後に、プログラムの開始部分に次の行を追加します:
System.AppContext.SetSwitch("System.Drawing.EnableUnixSupport", true);System.AppContext.SetSwitch("System.Drawing.EnableUnixSupport", true);Azure Functionコードの例
この例は、HTMLをPDFに変換し、組み込みのAzureロガーにログエントリを自動出力しています(ILogger logを参照)。
[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";
// Enable logging
IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.Custom;
IronPdf.Logging.Logger.CustomLogger = log;
// Configure IronPdf settings
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = true;
IronPdf.Installation.AutomaticallyDownloadNativeBinaries = true;
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
IronPdf.Installation.CustomDeploymentDirectory = "/tmp";
try
{
log.LogInformation("About to render PDF...");
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render PDF from a URL
var pdf = renderer.RenderUrlAsPdf("https://www.google.com/");
log.LogInformation("Finished rendering PDF...");
return new FileContentResult(pdf.BinaryData, "application/pdf") { FileDownloadName = "google.pdf" };
}
catch (Exception e)
{
log.LogError(e, "Error while rendering PDF");
return new OkObjectResult($"Error while rendering PDF: {e}");
}
}[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";
// Enable logging
IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.Custom;
IronPdf.Logging.Logger.CustomLogger = log;
// Configure IronPdf settings
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = true;
IronPdf.Installation.AutomaticallyDownloadNativeBinaries = true;
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
IronPdf.Installation.CustomDeploymentDirectory = "/tmp";
try
{
log.LogInformation("About to render PDF...");
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render PDF from a URL
var pdf = renderer.RenderUrlAsPdf("https://www.google.com/");
log.LogInformation("Finished rendering PDF...");
return new FileContentResult(pdf.BinaryData, "application/pdf") { FileDownloadName = "google.pdf" };
}
catch (Exception e)
{
log.LogError(e, "Error while rendering PDF");
return new OkObjectResult($"Error while rendering PDF: {e}");
}
}Visual StudioでAzure Functionテンプレートを使用してプロジェクトを作成すると、少し異なるコードになる場合があります。 これらの違いのために、同じパッケージをインストールしていても、あるプロジェクトは機能し、別のプロジェクトは機能しないかもしれません。 このような場合は、CustomDeploymentDirectoryプロパティを"/tmp"に設定してください。
各インストール構成を理解する
- LinuxAndDockerDependenciesAutoConfig: この設定は、Chromeエンジンに必要なすべての依存関係を確認し、ダウンロードしようとします。LinuxのようなGUIのないシステムで使用する必要があります。 コンテナシステムでは、依存関係は通常Dockerfileにリストされています。そのため、これをfalseに設定することができます。
- AutomaticallyDownloadNativeBinaries: これは、ネイティブChromeバイナリをランタイムでダウンロードします。これは、IronPdf.Slimパッケージを使用する際に必要です。
- CustomDeploymentDirectory: これは、書き込みアクセスが制限されたシステムで必要な設定です。
既知の問題
SVGフォントレンダリングは共有ホスティングプランでは利用できません
我々が発見した制限の1つは、Azureホスティングプラットフォームが、Google FontsなどのSVGフォントを安価な共有ウェブアプリ層にロードするサーバーをサポートしていないことです。 これは、これらの共有ホスティングプラットフォームが、セキュリティ上の理由でWindows GDI+グラフィックスオブジェクトにアクセスできないためです。
この問題を回避するには、WindowsまたはLinuxのDockerコンテナ、あるいはAzure上のVPSを推奨します。
Azure無料ティアホスティングは遅い
Azureの無料および共有ティアと消費プランは、PDFレンダリングには適していません。 私たち自身が使用しているAzure B1ホスティング/プレミアムプランをお勧めします。 HTML to PDFのプロセスは、どのコンピューターにとっても重要な"作業"です - あなた自身のマシンでウェブページを開いてレンダリングするのと同様です。本物のブラウザーエンジンが使用されているため、それに応じてプロビジョニングを行い、類似のパワーを持つデスクトップマシンのレンダリング時間と同様の結果を期待します。
エンジニアリングサポートリクエストチケットの作成
リクエストチケットを作成するには、'IronPDFのためのエンジニアリングサポートリクエストの作り方'ガイドを参照してください
よくある質問
PDF生成ライブラリをAzureでホストするにはどうすればよいですか?
IronPDFのようなPDF生成ライブラリをAzureでホストするには、Azure FunctionまたはMVCウェブサイトを設定してください。必要なパッケージがNuGetからインストールされており、ライブラリの要件に従って環境が設定されていることを確認してください。
どのAzure環境がPDFライブラリに対応していますか?
IronPDFは、MVCウェブサイトやAzure Functionsを含む複数のAzure環境と互換性があります。Azureが提供するさまざまなプラットフォームでシームレスに動作するように設計されています。
AzureでPDFライブラリをホスティングするための要件は何ですか?
AzureでIronPDFを使用する際の最適なパフォーマンスのためには、少なくともAzure Basic B1ホスティング層を使用することをお勧めします。これにより、PDFを効率的にレンダリングするための十分なリソースが保証されます。
LinuxでAzure Function App用のPDFライブラリを設定するにはどうすればよいですか?
Linux用のAzure Function AppにIronPDFを設定するには、IronPdf.Slimパッケージをインストールしてください。プロジェクトをZIPファイルとしてデプロイし、Linux環境用にすべての設定が正しく設定されていることを確認します。
.NET 6を使用する際、AzureでPDFライブラリに必要な設定は何ですか?
.NET 6を使用してIronPDFをAzureで使用する際には、レガシーAPI呼び出しを許可するようにプロジェクト設定を更新します。Installation.LinuxAndDockerDependenciesAutoConfig=trueを設定し、必要な設定をプロジェクトファイルに含めます。
AzureでのPDFレンダリングにDocker Containerが推奨される理由は何ですか?
Docker Containerは、より制御された環境を提供し、フォントレンダリングを向上させ、共有ホスティングプランの制限を回避するために、AzureでのPDFレンダリングに推奨されます。
Azure Free TierでのPDFレンダリングが遅くなる要因は何ですか?
Azure Free Tierではコンピュータリソースが限られているため、PDFレンダリングが遅くなります。プロセスにはウェブページのレンダリングに似た高い計算力が必要であり、B1プランやPremiumプランなどの上位層がより適しています。
PDFライブラリを使用して動作しないAzure Functionプロジェクトをトラブルシューティングするにはどうすればいいですか?
IronPDFを使用したAzure Functionプロジェクトが機能していない場合、CustomDeploymentDirectoryプロパティが'/tmp'に設定されているか確認し、必要なパッケージと設定が正しくインストールされ設定されていることを確認してください。
AzureでのPDFライブラリのデプロイに利用できるサポートオプションは?
AzureでのIronPDFのデプロイについてサポートが必要な場合、IronPDFウェブサイト上の「IronPDFのエンジニアリングサポートリクエストを作成する方法」ガイドを参照して詳細なサポートを受けてください。






