フッターコンテンツにスキップ
IRONPDFの使用

.NET CoreでIronPDFを使ってPDFジェネレーターを構築する

信頼できる.NET CoreのPDFジェネレータを作るには?

信頼性の高い.NET Core PDF ジェネレーターは、HTML から PDF への正確な変換のための Chrome ベースのレンダリングを提供し、ネイティブ依存関係のないクロスプラットフォームの展開をサポートし、コンテナー化された環境で PDF ドキュメントを作成、編集、および操作するための完全な API を提供する必要があります。

IronPDF は、ネイティブ依存関係なしで HTML を PDF に変換する Chrome ベース for .NET Core PDF ライブラリを提供し、コンテナー化されたアプリケーションを構築するエンジニアにスムーズなDocker 展開とクロスプラットフォームの互換性を実現します。

NET CoreアプリケーションでPDFドキュメントを作成するには、HTMLコンテンツを扱い、フォーマットを維持し、クロスプラットフォーム展開をサポートするPDFライブラリが必要です。 ASP.NET Core Web API を開発する場合でも、コンソール アプリケーションを開発する場合でも、信頼性の高い.NET Core PDF ジェネレーターを使用すると、さまざまなソースからドキュメントを作成するプロセスが簡素化されます。

無料トライアルを開始して、開発者が本番環境でのミッションクリティカルなPDF 生成にIronPDF を選択する理由をご確認ください。

IronPDF は、完全な.NET Core PDF ライブラリとして際立っています。 Chrome レンダリング エンジンを使用して、ピクセル単位の精度で PDF ドキュメントを作成します。 このアプローチにより、複雑なPDFレイアウトAPIを習得することなく、既存のHTMLとCSSのスキルを使ってPDFファイルを生成できます。ライブラリの充実したドキュメントコードサンプルにより、実装は容易になります。

PDF 生成において Chrome ベースのレンダリングが重要なのはなぜですか?

Chrome ベースのレンダリングにより、すべての CSS ルール、フォント、レイアウト ディレクティブが最新のブラウザと同じ方法で評価されます。 つまり、フレックスボックス グリッド、メディア クエリ、Web フォントはすべて、出力 PDF 内で予測どおりに動作します。最新の CSS を誤って読み取る従来のレンダリング エンジンによる予期せぬ動作が発生することはありません。

どのようなクロスプラットフォーム展開オプションがサポートされていますか?

IronPDF は、アプリケーション コードを 1 行も変更せずに、 WindowsLinuxAzureAWSDocker上で実行されます。 NuGetパッケージには必要なネイティブ バイナリがすべてバンドルされているため、システム パッケージをインストールしたり、プラットフォーム固有のパスを管理したりする必要はありません。

代替手段のほとんどは、すべての要素を手動で配置する必要がある低レベルの PDF 描画 API と、コンテンツを厳格なテンプレートにロックするレポート デザイナーの 2 つの陣営に分かれます。 IronPDF はこれらの両極端の間に位置し、標準の HTML と CSS を受け入れ、完全なブラウザ エンジンでレンダリングし、結果を標準に準拠した PDF ファイルとして保存します。

IronPDFと一般的な.NET PDF 代替品の比較
特徴 IronPDF PdfSharp iTextSharp SelectPdf
HTML + CSSレンダリング Chromeエンジン 該当なし 限定版(iText 7) WebKit
JavaScript 実行 はい なし なし 部分的
Linux / Docker サポート はい はい はい 制限あり
ライセンスモデル コマーシャル マサチューセッツ工科大学 AGPL / 商用 コマーシャル
インタラクティブPDFフォーム はい なし はい なし

IronPDFは.NET CoreでのPDFドキュメントの生成をどのように簡素化しますか?

IronPDF は、従来は複雑だったPDF 生成タスクを、あらゆる.NET開発者が実装できる簡単なコードに変換します。 ライブラリは、ChromePdfRenderer クラスを使用して、 HTML 文字列、ファイル、または URL を直接 PDF 形式に変換します。 この流暢な API アプローチは、さまざまなプラットフォーム間で高いパフォーマンスを維持しながら、広範なカスタマイズ オプションを提供します。

本当の力は、IronPDFがHTMLコンテンツをプロフェッショナルなPDFファイルに変換する方法にあります。 要素を手動で配置したり描画したりする代わりに、CSS スタイルを使用して標準の HTML を記述し、ライブラリが変換を処理します。 作成された PDF ファイルは、ページの画像だけでなく、ユーザーがテキストを選択して検索できる完全な機能を備えたドキュメントです。

基本的な PDF 生成に加え、IronPDF の高度な編集ツールを使用すると、ドキュメントの結合透かしの追加、注釈の挿入などを行うことができます。

主なパターンは、ChromePdfRenderer を作成し、その RenderingOptions を構成し、3 つのレンダリング メソッドのいずれか (RenderHtmlFileAsPdf、または RenderUrlAsPdf) を呼び出し、結果の PdfDocument を保存します。 これら 3 つのメソッドはすべて同じオブジェクト タイプを返すため、ソースに関係なく後処理コードを再利用できます。

従来の PDF API ではなく、HTML から PDF への変換を選択する理由は何ですか?

従来の PDF API では、座標で考える必要があります ("このテキストを x=72、y=144 に配置する"など)。 HTML を使用すると、コンテンツと構造について考えることができます。 要件が変更された場合 (新しい列、異なるフォント サイズ、会社のロゴ)、数十の座標値を再計算するのではなく、HTML テンプレートを更新します。

複雑なドキュメントのレイアウトとスタイルをどのように処理しますか?

<style> ブロックまたは外部スタイルシート参照を含む完全な HTML ドキュメントを RenderHtmlAsPdf に渡します。 IronPDF の Chrome エンジンは、ページをラスタライズする前にすべての CSS ルールを適用します。 レスポンシブ CSS 、Google Fonts、SVG グラフィック、CSS グリッドを制限なく使用できます。

NuGetパッケージ マネージャーを使用してIronPDFをインストールするにはどうすればよいでしょうか?

Visual Studio でIronPDFを使い始めるには、 NuGetパッケージを 1 つインストールするだけで済みます。 NuGetパッケージ マネージャー コンソールを開き、次を実行します。

Install-Package IronPdf
Install-Package IronPdf
SHELL

または、 .NET CLI を使用します。

dotnet add package IronPdf
dotnet add package IronPdf
SHELL

この単一のパッケージには、.NET Coreアプリケーションで PDF ファイルを作成、編集、生成するために必要なすべての機能が備わっています。 インストールにより、Windows、Linux、Docker 環境全体で PDF 生成用のプロジェクトが自動的に構成されます。 サポートされているランタイムには、 .NET Framework 4.6.2 以上、 .NET Core 3.1 以上、 .NET 5 から.NET 10、 .NET Standard 2.0 以上が含まれます。

IronPDFのシステム要件は何ですか?

Windows ではパッケージは自己完結型です。 Linux では、Chrome レンダリング エンジンには、Linux セットアップ ガイドにすべて記載されているいくつかの共有ライブラリ (libgdiplus、libc6、およびいくつかのフォント パッケージ) が必要です。 依存関係の欠落を回避するには、Docker のデプロイメントは公式のIronPDFベース イメージから開始する必要があります。

インストールを確認するには、クラスファイルに using IronPdf; を追加します。プロジェクトがエラーなしでビルドされ、IntelliSense が ChromePdfRenderer を解決した場合、パッケージは正しくインストールされています。 スモーク テストとして、1 行の HTML 文字列をレンダリングし、ゼロ以外のバイトの PDF がディスクに書き込まれることを確認します。

どのような追加の依存関係が必要になる可能性がありますか?

コンテナ化された環境では、Dockerfile に libgdiplus および libx11-dev パッケージを含めてください。サイズ制限が厳しいクラウド関数では、レンダリングエンジンをサイドカーコンテナに分離するIronPdf.Slimに切り替えることができます。 IronPDF NuGetパッケージページには、利用可能なすべてのバージョンとリリース ノートがリストされています。

HTML から最初の PDF ドキュメントを作成するにはどうすればよいでしょうか?

以下の例では、HTML 文字列から動的な請求書ドキュメントを構築します。これは、固定テンプレートとランタイム データを組み合わせた任意のドキュメント タイプに直接転送されるパターンです。

using IronPdf;
using System.Text;

// Configure the Chrome renderer
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;

// Build HTML content with embedded CSS and dynamic data
var htmlBuilder = new StringBuilder();
htmlBuilder.Append(@"
    <html>
    <head>
        <style>
            body { font-family: Arial, sans-serif; font-size: 14px; }
            .invoice-header { background: #f0f0f0; padding: 20px; }
            table { width: 100%; border-collapse: collapse; }
            th, td { padding: 10px; text-align: left; border-bottom: 1px solid #ddd; }
        </style>
    </head>
    <body>
        <div class='invoice-header'>
            <h1>Invoice #INV-2024-001</h1>
            <p>Date: " + DateTime.なしw.ToString("MM/dd/yyyy") + @"</p>
        </div>
        <table>
            <tr><th>Item</th><th>Quantity</th><th>Price</th></tr>");

for (int i = 0; i < 3; i++)
{
    htmlBuilder.Append($"<tr><td>Product #{i + 1}</td><td>{i + 1}</td><td>$25.00</td></tr>");
}

htmlBuilder.Append(@"
        </table>
        <p><strong>Total: $75.00</strong></p>
    </body>
    </html>");

// Convert HTML string to a PDF document and save
PdfDocument pdfDoc = renderer.RenderHtmlAsPdf(htmlBuilder.ToString());
pdfDoc.SaveAs("invoice.pdf");
using IronPdf;
using System.Text;

// Configure the Chrome renderer
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;

// Build HTML content with embedded CSS and dynamic data
var htmlBuilder = new StringBuilder();
htmlBuilder.Append(@"
    <html>
    <head>
        <style>
            body { font-family: Arial, sans-serif; font-size: 14px; }
            .invoice-header { background: #f0f0f0; padding: 20px; }
            table { width: 100%; border-collapse: collapse; }
            th, td { padding: 10px; text-align: left; border-bottom: 1px solid #ddd; }
        </style>
    </head>
    <body>
        <div class='invoice-header'>
            <h1>Invoice #INV-2024-001</h1>
            <p>Date: " + DateTime.なしw.ToString("MM/dd/yyyy") + @"</p>
        </div>
        <table>
            <tr><th>Item</th><th>Quantity</th><th>Price</th></tr>");

for (int i = 0; i < 3; i++)
{
    htmlBuilder.Append($"<tr><td>Product #{i + 1}</td><td>{i + 1}</td><td>$25.00</td></tr>");
}

htmlBuilder.Append(@"
        </table>
        <p><strong>Total: $75.00</strong></p>
    </body>
    </html>");

// Convert HTML string to a PDF document and save
PdfDocument pdfDoc = renderer.RenderHtmlAsPdf(htmlBuilder.ToString());
pdfDoc.SaveAs("invoice.pdf");
Imports IronPdf
Imports System.Text

' Configure the Chrome renderer
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.MarginTop = 25
renderer.RenderingOptions.MarginBottom = 25
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4

' Build HTML content with embedded CSS and dynamic data
Dim htmlBuilder As New StringBuilder()
htmlBuilder.Append("
    <html>
    <head>
        <style>
            body { font-family: Arial, sans-serif; font-size: 14px; }
            .invoice-header { background: #f0f0f0; padding: 20px; }
            table { width: 100%; border-collapse: collapse; }
            th, td { padding: 10px; text-align: left; border-bottom: 1px solid #ddd; }
        </style>
    </head>
    <body>
        <div class='invoice-header'>
            <h1>Invoice #INV-2024-001</h1>
            <p>Date: " & DateTime.Now.ToString("MM/dd/yyyy") & "</p>
        </div>
        <table>
            <tr><th>Item</th><th>Quantity</th><th>Price</th></tr>")

For i As Integer = 0 To 2
    htmlBuilder.Append($"<tr><td>Product #{i + 1}</td><td>{i + 1}</td><td>$25.00</td></tr>")
Next

htmlBuilder.Append("
        </table>
        <p><strong>Total: $75.00</strong></p>
    </body>
    </html>")

' Convert HTML string to a PDF document and save
Dim pdfDoc As PdfDocument = renderer.RenderHtmlAsPdf(htmlBuilder.ToString())
pdfDoc.SaveAs("invoice.pdf")
$vbLabelText   $csharpLabel

CSS が <style> ブロック内に存在し、レンダリング中に自動的に適用されることに注意してください。 RenderHtmlAsPdf メソッドは PdfDocument オブジェクトを返し、生成されたファイルを完全に制御できます。より高度なシナリオについては、カスタムの余白用紙サイズを参照してください。 どちらのオプションでも、基礎となる HTML テンプレートを変更することなく、印刷仕様やブランド ガイドラインに正確に一致するように出力をカスタマイズできます。

生成されたPDFはどのように見えますか?

以下のスクリーンショットは、PDF ドキュメントに完璧にレンダリングされた請求書の例を示しています。

Professional PDF invoice displaying Invoice #INV-2024-001 with date 10/15/2025, featuring a light gray header section, organized product table showing three items with quantities and $25 unit prices, including company branding elements and a summary paragraph at the bottom

動的データとテンプレートをどのように処理しますか?

データ駆動型ドキュメントの場合、レンダラーに渡す前に、データベースまたは API からの値を HTML テンプレート文字列に入力します。 Scriban や Handlebars .NETなどのライブラリは、HTML をクリーンな状態に保ち、実稼働コードでの脆弱な文字列の連結を回避するテンプレート構文を提供します。

設定する必要がある一般的なレンダリング オプションは何ですか?

最も影響力のあるオプションは、PrintHtmlBackgrounds、および CssMediaType です。 CssMediaTypePrint に設定すると、@media print CSS ルールが適用されます。これは、印刷または PDF ファイルとして保存することを目的としたドキュメントの場合に適切な選択です。

HTMLレンダリングの問題をデバッグする際は、まずブラウザで同じHTMLをレンダリングしてください。正しくレンダリングされていれば、 IronPDFはそれを忠実に再現します。 レイアウトドリフトについては、フォールバックなしでビューポート相対単位 (vh) を使用する要素がないことを確認します。これらの単位は、スクロール可能なビューポートがない場合には異なる動作をします。

URL や Web ページから PDF ファイルを生成するにはどうすればよいでしょうか?

IronPDF は、既存の Web ページを PDF ファイルに変換するのに優れています。 この機能は、レポート ダッシュボードや Web ベースのフォームから PDF ドキュメントを生成するときに役立ちます。

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;

// Wait for all assets to finish loading before capturing
renderer.RenderingOptions.WaitFor.RenderDelay(1000);

PdfDocument pdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");

string filePath = Path.Combine(Directory.GetCurrentDirectory(), "webpage.pdf");
pdfDocument.SaveAs(filePath);
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;

// Wait for all assets to finish loading before capturing
renderer.RenderingOptions.WaitFor.RenderDelay(1000);

PdfDocument pdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");

string filePath = Path.Combine(Directory.GetCurrentDirectory(), "webpage.pdf");
pdfDocument.SaveAs(filePath);
Imports IronPdf
Imports System.IO

Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4
renderer.RenderingOptions.PrintHtmlBackgrounds = True
renderer.RenderingOptions.EnableJavaScript = True
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print

' Wait for all assets to finish loading before capturing
renderer.RenderingOptions.WaitFor.RenderDelay(1000)

Dim pdfDocument As PdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page")

Dim filePath As String = Path.Combine(Directory.GetCurrentDirectory(), "webpage.pdf")
pdfDocument.SaveAs(filePath)
$vbLabelText   $csharpLabel

ライブラリはJavaScript の実行を処理し、外部画像とスタイルシートを読み込み、変換中にレスポンシブなレイアウトを維持します。 URL から PDF への変換の詳細については、 "URL から PDF へのガイド"を参照してください。 認証用のHTTP リクエスト ヘッダーを構成したり、セッションベースのコンテンツのCookieを処理したりすることもできます。

Wikipedia のメイン ページを PDF 形式に変換し、Jozo Tomasevich の伝記記事、現在の出来事を含むニュース セクション、10 月 15 日の歴史的な

保護された URL の認証をどのように処理しますか?

RenderUrlAsPdf を呼び出す前に、カスタム HTTP ヘッダーまたは Cookie をレンダラーに渡します。 OAuth で保護されたダッシュボードの場合は、アプリケーション コードでベアラー トークンを取得し、それを Authorization ヘッダーとして追加します。 IronPDF は、ブラウザが送信するのとまったく同じように、これらのヘッダーを Chrome エンジンに転送します。

考慮すべきJavaScriptレンダリング オプションは何ですか?

ページの読み込み後にJavaScriptによってページにグラフや表が入力される場合は、EnableJavaScript を有効にし、WaitFor.RenderDelay を追加します。 シングルページ アプリケーションの場合、WaitFor.NetworkIdle() は、保留中のネットワーク要求がすべて完了するまで待機するため、固定遅延よりも信頼性の高いトリガーになります。

URL 変換と HTML 文字列変換はいつ使用すればよいですか?

ページが既に存在し、 IronPDFを実行しているサーバーからアクセスできる場合は、URL 変換を使用します。レポート、ダッシュボード、管理ビューなどが適切な候補です。 実行時にテンプレートからドキュメントを構築するときは、HTML 文字列変換を使用します。このアプローチにより、ネットワークのラウンドトリップが回避され、すべてのデータがサーバー側で保持されるためです。

複雑なレポートに使用できる高度な PDF 機能は何ですか?

プロフェッショナルな PDF ドキュメントでは、基本コンテンツに加えて、ヘッダー、フッター、インタラクティブなフォーム フィールドが必要になることがよくあります。 IronPDF は、ヘッダー、フッター透かしを追加するメソッドを提供します。 ヘッダーとフッター API は、ドキュメントの表示を完全に制御します。

var renderer = new ChromePdfRenderer();

// Company header on every page
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    MaxHeight = 25,
    HtmlFragment = "<div style='text-align:center;font-weight:bold;'>Company Report</div>"
};

// Automatic page numbering in footer
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    MaxHeight = 25,
    HtmlFragment = "<div style='text-align:right;'>Page {page} of {total-pages}</div>"
};

// Render an HTML form as a fillable PDF form
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

string formHtml = @"
    <form>
        <label>Name:</label>
        <input type='text' name='name' placeholder='Enter your name'/>
        <label>Email:</label>
        <input type='email' name='email' placeholder='email@example.com'/>
        <button type='submit'>Submit</button>
    </form>";

PdfDocument formDocument = renderer.RenderHtmlAsPdf(formHtml);
formDocument.SaveAs("form.pdf");
var renderer = new ChromePdfRenderer();

// Company header on every page
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    MaxHeight = 25,
    HtmlFragment = "<div style='text-align:center;font-weight:bold;'>Company Report</div>"
};

// Automatic page numbering in footer
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    MaxHeight = 25,
    HtmlFragment = "<div style='text-align:right;'>Page {page} of {total-pages}</div>"
};

// Render an HTML form as a fillable PDF form
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

string formHtml = @"
    <form>
        <label>Name:</label>
        <input type='text' name='name' placeholder='Enter your name'/>
        <label>Email:</label>
        <input type='email' name='email' placeholder='email@example.com'/>
        <button type='submit'>Submit</button>
    </form>";

PdfDocument formDocument = renderer.RenderHtmlAsPdf(formHtml);
formDocument.SaveAs("form.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

' Company header on every page
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter With {
    .MaxHeight = 25,
    .HtmlFragment = "<div style='text-align:center;font-weight:bold;'>Company Report</div>"
}

' Automatic page numbering in footer
renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter With {
    .MaxHeight = 25,
    .HtmlFragment = "<div style='text-align:right;'>Page {page} of {total-pages}</div>"
}

' Render an HTML form as a fillable PDF form
renderer.RenderingOptions.CreatePdfFormsFromHtml = True

Dim formHtml As String = "
    <form>
        <label>Name:</label>
        <input type='text' name='name' placeholder='Enter your name'/>
        <label>Email:</label>
        <input type='email' name='email' placeholder='email@example.com'/>
        <button type='submit'>Submit</button>
    </form>"

Dim formDocument As PdfDocument = renderer.RenderHtmlAsPdf(formHtml)
formDocument.SaveAs("form.pdf")
$vbLabelText   $csharpLabel

この例では、すべてのページに一貫したヘッダーを適用し、PDF ドキュメント内にインタラクティブなフォーム フィールドを作成する方法を示します。 エンジンはページ番号付けとフォーム フィールドのレンダリングを自動的に処理します。 複雑なレポートの場合は、目次ブックマークカスタム ページ区切りを実装します。

<img src="/static-assets/pdf/blog/net-core-pdf-generator/net-core-pdf-generator-3.webp" alt=""会社レポート"ヘッダー、目に見える境界線とプレースホルダーテキストを備えたプロフェッショナルなスタイルの名前とメールの入力フィールド、ホバー状態の送信ボタンを備えたインタラクティブ PDF フォーム。スタイルと機能を保持したまま HTML フォームを入力可能な PDF ドキュメントに変換する IronPDF の機能を示しています。">

一貫したヘッダーを持つ複数ページのレポートを作成するにはどうすればよいですか?

レンダリング メソッドを呼び出す前に、レンダラーで HtmlHeaderHtmlFooter を構成します。 ヘッダーとフッターの HTML は本文とは別にレンダリングされ、すべてのページに自動的にスタンプされます。 動的な番号付けを追加するには、フッター フラグメント内の任意の場所で {page} および {total-pages} トークンを使用します。

PDF に追加できるインタラクティブな要素は何ですか?

CreatePdfFormsFromHtml を有効にすると、標準の HTML フォーム コントロール (テキスト入力、チェックボックス、ラジオ ボタン、ドロップダウン、ボタン) がインタラクティブな PDF フォーム フィールドになります。 受信者は、特別なソフトウェアを必要とせずに、Adobe Acrobat Reader または標準に準拠した任意の PDF ビューアで入力できます。

ページ区切りとセクション管理をどのように実装しますか?

新しいページで開始する HTML セクションの間に <div style='page-break-after: always;'></div> を挿入します。 IronPDF はCSS の page-break-before、および page-break-inside プロパティを尊重し、印刷スタイルシートと同じ制御を提供します。

ASP.NET Coreの非同期操作でパフォーマンスを向上させるにはどうすればよいでしょうか?

複数の PDF 生成リクエストを処理する Web アプリケーションの場合、非同期操作により、Chrome エンジンがレンダリングする間にスレッドが解放され、応答性が向上します。

using IronPdf;
using Microsoft.AspNetCore.Mvc;

// Reusable async PDF generation helper
async Task<byte[]> GeneratePdfAsync(string htmlContent)
{
    var renderer = new ChromePdfRenderer();
    renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
    PdfDocument pdf = await renderer.RenderHtmlAsPdfAsync(htmlContent);
    return pdf.BinaryData;
}

// ASP.NET Core minimal API endpoint
app.MapPost("/invoices", async ([FromBody] InvoiceData data) =>
{
    string html = BuildInvoiceHtml(data);
    byte[] pdfBytes = await GeneratePdfAsync(html);
    return Results.File(pdfBytes, "application/pdf", "invoice.pdf");
});
using IronPdf;
using Microsoft.AspNetCore.Mvc;

// Reusable async PDF generation helper
async Task<byte[]> GeneratePdfAsync(string htmlContent)
{
    var renderer = new ChromePdfRenderer();
    renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
    PdfDocument pdf = await renderer.RenderHtmlAsPdfAsync(htmlContent);
    return pdf.BinaryData;
}

// ASP.NET Core minimal API endpoint
app.MapPost("/invoices", async ([FromBody] InvoiceData data) =>
{
    string html = BuildInvoiceHtml(data);
    byte[] pdfBytes = await GeneratePdfAsync(html);
    return Results.File(pdfBytes, "application/pdf", "invoice.pdf");
});
Imports IronPdf
Imports Microsoft.AspNetCore.Mvc

' Reusable async PDF generation helper
Async Function GeneratePdfAsync(htmlContent As String) As Task(Of Byte())
    Dim renderer As New ChromePdfRenderer()
    renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
    Dim pdf As PdfDocument = Await renderer.RenderHtmlAsPdfAsync(htmlContent)
    Return pdf.BinaryData
End Function

' ASP.NET Core minimal API endpoint
app.MapPost("/invoices", Async Function(<FromBody> data As InvoiceData) As Task(Of IResult)
    Dim html As String = BuildInvoiceHtml(data)
    Dim pdfBytes As Byte() = Await GeneratePdfAsync(html)
    Return Results.File(pdfBytes, "application/pdf", "invoice.pdf")
End Function)
$vbLabelText   $csharpLabel

このパターンにより、 ASP.NET Coreアプリケーションはスレッド プールをブロックせずに PDF ファイルを生成できます。 バイト配列出力は、ファイルをクライアントに直接返す API エンドポイントで機能します。 バッチ操作の場合、複数のドキュメントを同時にレンダリングするための並列処理と、ディスクの読み取り/書き込みのオーバーヘッドを削減するためのメモリ ストリームを検討してください。

Results.File() メソッドは、正しい application/pdf コンテンツタイプを設定するため、ブラウザはダウンロードを促すメッセージを表示したり、ファイルをインラインで表示したりします。ASP.NET ASP.NET Coreの非同期パターンの詳細については、 Microsoft の公式ドキュメントをご覧ください。

同時 PDF 生成を処理するためのベスト プラクティスは何ですか?

各インスタンスはスレッドセーフではないため、スレッド間でインスタンスを共有するのではなく、リクエストごとに新しいインスタンスを作成します。 高スループットのシナリオでは、インスタンスをプールするか、専用のIronPDF Engine サイドカー コンテナーを使用して、メイン アプリケーション プロセスからレンダリングをオフロードします。

非同期操作で適切なエラー処理を実装するにはどうすればよいですか?

レンダリング呼び出しを try/catch ブロックで囲みます。 IronPDF は、エンジン レベルのエラー (フォントが見つからない、HTML が無効、タイムアウト) の場合は IronPdfNativeException をスローし、ファイルの読み取り/書き込みの問題の場合は標準 for .NET例外をスローします。 例外の詳細をログに記録し、例外をクライアントに伝播させるのではなく、適切な HTTP エラー応答を返します。

PDF がすぐ使用される場合は、HTTP 応答に PdfDocument.BinaryData を直接返します。 PDF を永続化する必要がある場合にのみ、SaveAs を使用してファイル パスに書き込みます (たとえば、オブジェクト ストレージ バケットまたはファイル共有)。 不要なディスク書き込みを回避することで、高頻度の PDF エンドポイントの待ち時間が短縮されます。

導入時の主な考慮事項は何ですか?

IronPDFは多様な環境における展開をサポートします。 Dockerコンテナの場合、Dockerデプロイメントガイドに記載されているように、必要な依存関係をDockerfileに含めてください。このライブラリは、Windows ServerLinuxディストリビューション、そしてAzureAWSなどのクラウドプラットフォームで動作します。 各環境はフォントやレンダリングのための特定の設定を必要とすることがありますが、基本的なAPIは一貫しています。

コンテナ化されたデプロイメントの場合、PDF 生成をメイン アプリケーションから分離するために、 IronPDF をリモート コンテナとして使用することを検討してください。 このアプローチにより、スケーラビリティが向上し、リソース管理が改善されます。 .NET Core の展開に関する Microsoft のドキュメントには、運用環境に関する追加のベスト プラクティスが記載されています。

Docker デプロイメント用にIronPDF をどのように構成しますか?

公式のIronPDF Linux ベース イメージから開始するか、既存の Debian または Ubuntu イメージに必要な apt パッケージを追加します。 ヘッドレス サーバー環境での GPU 初期化エラーを回避するには、アプリケーションの起動コードに Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuMode.Disabled を設定します。

どのような Linux 固有の依存関係を含める必要がありますか?

最小セットは、libxcomposite1です。 CJK (中国語、日本語、韓国語) フォントのサポートの場合は、fonts-noto-cjk を追加します。 Linux セットアップ ガイドには、Debian、Ubuntu、CentOS、Alpine のディストリビューション固有のパッケージ リストが記載されています。

運用環境での可観測性を確保するには、RenderHtmlAsPdfAsync 呼び出しをストップウォッチのタイミングでラップし、メトリックを Application Insights、Prometheus、または OpenTelemetry と互換性のあるバックエンドに出力します。 レンダリングのボトルネックを早期に特定するために、アプリケーションの他の部分とは別に、p50/p95/p99 レイテンシ パーセンタイルとエラー レートを追跡します。

PDF 生成サービスにはどのようなセキュリティ上の考慮事項が適用されますか?

URL またはユーザー指定の HTML をレンダリングするときは、サーバー側リクエスト偽造 (SSRF) を防ぐためにコンテンツをサニタイズします。 許可リストを使用して、RenderUrlAsPdf がアクセスできるホストを制限し、レンダリング エンジンをサンドボックス化されたプロセスまたは分離されたコンテナーで実行します。 機密データを含むドキュメントの場合は、コンプライアンス要件を満たすためにPDF 暗号化デジタル署名を適用します。

.NET Core PDF ジェネレーターの構築を始める準備はできていますか?

IronPDFは、.NET CoreでのPDF生成を複雑な課題から簡単な実装に変えます。 HTML コンテンツのサポート、豊富な機能セット、一貫したクロスプラットフォームの動作を備えているため、PDF ドキュメントを確実に生成する必要がある開発者に適しています。 暗号化やデジタル署名などのライブラリのセキュリティ機能により、ドキュメントがコンプライアンス要件を満たしていることが保証されます。

制限なくすべての機能を試すには、無料トライアルから始めてください。 ドキュメントには、正確な要件を満たすプロフェッショナルな PDF ファイルを作成するのに役立つ豊富なガイドが記載されています。 請求書システムの構築、レポートの生成、既存の Web コンテンツの変換など、 IronPDF はピクセルパーフェクトな結果を提供するツールを提供します。

実稼働環境での展開では、プロジェクトの規模に適したライセンス オプションを検討してください。 高品質の PDF ライブラリは、開発時間の短縮と、すべて for .NETアプリケーションにわたる一貫したプロフェッショナルな出力を通じて大きな利益をもたらします。 IronPDF のサポート チームトラブルシューティング ガイドにより、PDF 機能の実装時に行き詰まることがなくなります。

よくある質問

.NET CoreにおけるIronPDFの主な機能は何ですか?

IronPDFは主に.NET CoreアプリケーションでHTMLをPDFに変換するために使用され、開発者はピクセルパーフェクトなレンダリングで請求書、レポート、その他のドキュメントを作成することができます。

IronPDFはどのようにしてピクセルパーフェクトなレンダリングを実現しているのですか?

IronPDFはHTML、CSS、JavaScriptを高品質なPDFドキュメントに正確に変換する高度なレンダリング技術により、ピクセルパーフェクトなレンダリングを保証します。

.NET CoreでIronPDFを使ってレポートを作成できますか?

はい、IronPDFは.NET CoreでHTMLベースのレポートテンプレートをプロ仕様のPDFドキュメントに変換し、詳細なレポートを作成することができます。

IronPDFを使ってウェブページをPDFに変換できますか?

もちろん、IronPDFは元のHTMLやCSSで指定されたレイアウトやスタイルを保持したまま、ウェブページ全体をPDFに変換することができます。

IronPDF の一般的な使用例は何ですか?

IronPDFの一般的な使用例としては、請求書の作成、ビジネスレポートの作成、HTMLフォームのPDFへの変換、ウェブコンテンツのアーカイブなどがあります。

IronPDFは.NET Coreアプリケーションをサポートしていますか?

IronPDFは.NET Coreアプリケーションを完全にサポートしており、異なる.NETプラットフォームで働く開発者にとって多用途な選択肢となります。

IronPDFはHTMLからPDFへの変換でCSSとJavaScriptをどのように扱うのですか?

IronPDFは変換の過程でCSSとJavaScriptを処理し、HTMLのビジュアルレイアウトとダイナミックコンテンツがPDFで正確に表現されるようにします。

IronPDFはHTML文字列からPDFを生成できますか?

はい、IronPDFはHTML文字列からPDFを生成することができ、開発者はアプリケーション内で生成されたHTMLコンテンツから動的にPDFドキュメントを作成することができます。

IronPDFでPDFの外観をカスタマイズすることは可能ですか?

IronPDFは広範なカスタマイズオプションを提供し、開発者はHTMLとCSSを使ってカスタムヘッダー、カスタムフッター、カスタムスタイルを指定することでPDFの外観をコントロールすることができます。

IronPDFは他 for .NET PDFライブラリと比較してどのような利点がありますか?

IronPDFは.NET Coreとの統合のしやすさ、高品質なレンダリング、複雑なドキュメントレイアウトのサポート、HTML、CSS、JavaScriptの堅牢な処理など、いくつかの利点を提供します。

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

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

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

アイアンサポートチーム

私たちは週5日、24時間オンラインで対応しています。
チャット
メール
電話してね