C#でIronPDFを使用して安全なPDF生成のためにクッキーを使用する方法

C#でIronPDFとクッキーを使う方法

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

IronPDFはRequestContextプロパティとApplyCookiesメソッドを使ってクッキーをPDFレンダリングに統合し、HTMLからPDFへの変換中にセッション情報とユーザー認証を維持します。

クッキーは、ウェブサイトがユーザーのデバイスに保存する小さなデータです。 セッションを管理し、ユーザーの行動を追跡し、プリファレンスを保存します。 GDPRやCCPAのようなプライバシー規制により、クッキー管理への注目が高まっており、ブラウザはクッキーの取り扱いについてより大きな制御をユーザーに提供するよう求められています。

IronPDFのChromeレンダリングエンジンを使用する場合、HTMLからPDFへの変換プロセスの間、クッキーは状態を維持します。 これは、TLSウェブサイト認証とシステムログインやユーザー固有の設定を必要とするページをレンダリングする際に不可欠です。

クイックスタート: IronPDFでクッキーを使用する

IronPDFでクッキーをPDFレンダリングプロセスに統合しましょう。 このガイドでは、HTMLからPDFへの変換中にIronPDF APIを使用してクッキーを管理する方法を説明します。 最小限のコードで、RequestContextプロパティとApplyCookiesメソッドを使用して、標準またはカスタムのクッキーを適用します。

Nuget Icon今すぐ NuGet で PDF を作成してみましょう:

  1. NuGet パッケージ マネージャーを使用して IronPDF をインストールします

    PM > Install-Package IronPdf

  2. このコード スニペットをコピーして実行します。

    new IronPdf.ChromePdfRenderer { RenderingOptions = { RequestContext = IronPdf.Rendering.RequestContexts.Global, CustomCookies = new Dictionary<string, string> { { "sessionId", "your_cookie_value" } } } }
        .RenderUrlAsPdf("https://example.com/protected")
        .SaveAs("secureWithCookies.pdf");
  3. 実際の環境でテストするためにデプロイする

    今すぐ無料トライアルでプロジェクトに IronPDF を使い始めましょう
    arrow pointer


PDFレンダリングにクッキーを適用するには?

RequestContextプロパティとは何ですか

クッキーを適用する前に、RequestContextプロパティをRequestContexts.Globalに設定してください。 ChromeHttpLoginCredentialsクラスを作成し、ApplyCookiesメソッドに渡します。 レンダラーは、HTMLコンテンツをCookieを使ってPDFにレンダリングします。

RequestContextプロパティは、HTTPリクエストヘッダと認証で動作します。 複数のPDF世代にわたってセッションの状態を維持するアプリケーションにとって重要な、レンダリングセッション間のCookie共有を決定します。

ApplyCookiesメソッドはどのように使用しますか?

IronPDFを使用してクッキーを適用します:

:path=/static-assets/pdf/content-code-examples/how-to/cookies-apply-cookies.cs
using IronPdf;

// Instantiate ChromePdfRenderer
ChromePdfRenderer renderer = new ChromePdfRenderer();

renderer.RenderingOptions.RequestContext = IronPdf.Rendering.RequestContexts.Global;

ChromeHttpLoginCredentials credentials = new ChromeHttpLoginCredentials() {
    NetworkUsername = "testUser",
    NetworkPassword = "testPassword"
};

string uri = "http://localhost:51169/Invoice";

// Apply cookies
renderer.ApplyCookies(uri, credentials);
$vbLabelText   $csharpLabel

このアプローチは、認証を必要とするASPXページからPDFへの変換や、ASP.NETのMVCアプリケーションで機能します。

どのRequestContextを選ぶべきですか?

RequestContexts列挙型は、レンダリング間の関係を確立するブラウザのリクエストコンテキストを定義します。 クッキーとユーザー設定を管理します。

  • 分離:分離された新しいリクエストコンテキストを作成します。 現在のレンダリングが以前のレンダリングの影響を受けないようにします。 マルチスレッドPDF生成に最適です。
  • グローバル:すべてのレンダー間で共有されたグローバル リクエスト コンテキストを使用します。 レンダリング間でブラウザの状態を保持します。 PDF操作全体でセッションデータを維持するのに最適です。
  • 自動:デフォルトはIronPdf.Rendering.RequestContexts.Isolatedです。 IronPdf.ChromePdfRenderer.ApplyCookies(System.String、IronPdf.ChromeHttpLoginCredentials)が呼び出された場合、IronPdf.Rendering.RequestContexts.Globalに切り替えます。

BlazorサーバーアプリケーションにCookieを実装する場合、適切なRequestContextを選択し、サーバー側のレンダリング間で適切なセッション状態を維持してください。


カスタムクッキーを適用するにはどうすればよいですか?

IronPDFのカスタムクッキーとは何ですか?

カスタムクッキーは、CustomCookiesプロパティを設定する必要があります。 このプロパティは、文字列のキーと値のペアの辞書を受け入れます。 カスタムクッキーは、複雑な認証システムを処理したり、レンダリング中にアプリケーションレベルのデータを渡したりします。

カスタムクッキーは、標準的なHTTPクッキーとは異なり、任意のキーと値のペアを定義することができます。 この柔軟性は、JWTトークン、セッションID、またはカスタム認証メカニズムを使用する最新のWebアプリケーションに適しています。

カスタムクッキーを実装するにはどうすればよいですか?

IronPDFを使用してカスタムクッキーを適用します:

:path=/static-assets/pdf/content-code-examples/how-to/cookies-apply-custom-cookies.cs
using IronPdf;
using System;
using System.Collections.Generic;

// Instantiate ChromePdfRenderer
ChromePdfRenderer renderer = new ChromePdfRenderer();

Dictionary<string, string> customCookies = new Dictionary<string, string>();

// Apply custom cookies
renderer.RenderingOptions.CustomCookies = customCookies;

var uri = new Uri("https://localhost:44362/invoice");
PdfDocument pdf = renderer.RenderUrlAsPdf(uri);
$vbLabelText   $csharpLabel

このアプローチは、JavaScriptを多用するサイトが状態管理のためにCookieに依存していたり、カスタムロギングソリューションを実装していたりする場合に適しています。

カスタムクッキーと標準クッキーはいつ使い分けるべきですか? カスタムクッキーは、標準的なHTTP認証情報では管理できない特定のセッションデータや認証トークンを扱います。 カスタム認証システムで使用したり、PDF生成時にユーザー設定を維持するために使用します。 標準的なクッキー(ApplyCookiesメソッド経由)が適しています: - 基本的なHTTP認証 - Windows認証環境 - シンプルなセッション管理 カスタムクッキーエクセル - JWTトークンベース認証 - 複数のパラメータを持つ複雑なセッション管理 - サードパーティ認証プロバイダ(OAuth、SAML) - ユーザー設定とメンテナンス - アナリティクスとトラッキングの要件 ### クッキーの実装に関する一般的な問題は何ですか? よくある問題には、`Isolated`コンテキストを使用したレンダリング間でクッキーが永続化されないこと、不正なクッキー値による認証の失敗、PDF生成前にクッキーの有効期限が切れるタイミングの問題などがあります。 クッキーの有効性を確認し、永続的なセッションのために`Global`コンテキストを考慮してください。 トラブルシューティングのヒント 1.**クッキーの有効期限**:クッキーの有効期限が切れていないか確認してください。 短命トークンのリフレッシュ・ロジックを実装する。 2.**ドメインの制限**: クッキーのドメインがレンダリングされたURLと一致するようにしてください。 3.**セキュア・クッキー**:HTTPS URL をレンダリングするときに、セキュア Cookie を適切に設定してください。 4.**SameSiteポリシー**:クロスオリジンリクエストに影響するブラウザのSameSiteクッキーポリシーを考えてください。 高度な認証やCookieのシナリオについては、[レンダリングオプションのドキュメント](https://ironpdf.com/how-to/rendering-options/)を参照して、利用可能なすべてのPDF生成カスタマイズ設定をカバーしています。

よくある質問

HTMLをPDFにレンダリングするときにCookieを適用するにはどうすればよいですか?

IronPDFでクッキーを適用するには、ChromePdfRendererのRequestContextプロパティをRequestContexts.Globalに設定し、ChromeHttpLoginCredentialsでApplyCookiesメソッドを使用します。これにより、HTMLからPDFへの変換処理中にクッキーが適切に送信されます。

RequestContextプロパティは何に使うのですか?

IronPDFのRequestContextプロパティは、レンダリングセッション間でクッキーがどのように共有されるかを決定します。これはHTTPリクエストヘッダや認証と連動し、複数のPDF世代にわたってセッションの状態を維持する必要があるアプリケーションにとって重要です。

PDFレンダリング中にカスタムクッキーを追加できますか?

はい、IronPDFはCustomCookiesプロパティを通してカスタムクッキーを許可します。クッキーのキーと値のペアでDictionaryを作成し、ChromePdfRendererのRenderingOptions.CustomCookiesプロパティに代入するだけです。

クッキーで保護されたページをPDFにレンダリングするには?

IronPdfのChromePdfRendererを使用し、RequestContextをGlobalに設定し、CustomCookiesプロパティでクッキーを追加します。そして保護されたURLでRenderUrlAsPdf()を呼び出します。レンダラーがリクエストにクッキーを含めるため、保護されたコンテンツにアクセスできるようになります。

CookieはPDFレンダリングでどのような種類の認証を扱うことができますか?

IronPdfのクッキー統合はTLSウェブサイト認証、システムログイン、セッションベースの認証など様々な認証シナリオをサポートします。これはユーザー認証を必要とするASPXページやASP.NET MVCアプリケーションを変換する際に特に便利です。

HTMLをPDFに変換する際、なぜクッキーが重要なのでしょうか?

クッキーはIronPDFのChromeレンダリングエンジンによるHTMLからPDFへの変換プロセスの間、状態を維持します。認証が必要なページのレンダリング、ユーザー固有のプリファレンスの保存、変換中のセッション情報の維持に不可欠です。

カーティス・チャウ
テクニカルライター

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

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

準備はできましたか?
Nuget ダウンロード 17,012,929 | バージョン: 2025.12 リリース