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

.NET CoreでIronPDFを使用してPDFファイルを作成する方法

IronPDF は、Chrome レンダリング エンジンを使用して HTML から PDF への変換を行い、 .NET Coreアプリケーションで PDF ファイルを作成します。CSS3、 JavaScript、画像、およびシンプルな C# コードによる複雑なレイアウトをサポートします。

プログラムで PDF ドキュメントを作成することは、現代の Web アプリケーションでは一般的な要件です。 請求書、レポート、またはドキュメントベースのシステムを構築する場合、 ASP.NET Coreで PDF ファイルを効率的に作成する方法を知っておくことは不可欠です。 このチュートリアルでは、PDF 生成を簡素化する優れたライブラリであるIronPDFを使用して、 .NET Coreで PDF ファイルを作成する最適な方法について説明します。 完全な技術的詳細については、公式ドキュメントを参照してください

IronPDFは、.NET Core開発者がシンプルなHTMLとCSSを使用してPDFファイルを作成できるようにし、直感的なAPIとレンダリングエンジンにより、複雑な手作業によるPDF描画操作を排除します。このライブラリは、Windows、Linux、macOS、 AzureAWS Lambdaなどのクラウドプラットフォームなど、さまざまなデプロイメント環境をサポートしています。 ライブラリの Chrome レンダリング エンジンは、CSS スクリーンおよび印刷メディア タイプを完全にサポートし、ピクセル単位で正確な HTML から PDF への変換を保証します。

.NET Coreで PDF 生成を始めるにはどうすればよいでしょうか?

IronPDF は、複雑な PDF 作成を簡単な操作に変換する完全な.NET Core PDF ライブラリです。 要素を手動で描画する必要がある従来の方法とは異なり、 IronPDF はHTML マークアップと CSS を使用して、デザイン要件に正確に一致する PDF ファイルを生成します。 このライブラリは、Chrome レンダリング エンジンを内部で使用し、ピクセル単位で完璧な HTML から PDF への変換を保証します。 このアプローチは、新しい PDF を作成するだけでなく、既存のコンテンツを PDF 形式に変換するのにも最適です。

.NET Core用の PDF 生成ソリューションを評価する場合、開発者は複数のオプションを比較することがよくあります。 IronPDF は、 iTextAsposeSyncfusionなどの競合製品と比べて、いくつかの理由で際立っています。

-優れたレンダリング品質: Chromeベースのエンジンにより、正確なHTML/CSSの忠実性が保証されます -よりシンプルなAPI : 複雑なPDFプリミティブの代わりにHTMLの知識でPDFを作成 -クロスプラットフォームサポート: Windows、Linux、macOS、クラウドプラットフォーム用のネイティブバイナリ -完全な機能: 基本的な作成から高度な操作とセキュリティまで

IronPDF はどのようにインストールしますか?

.NET Coreプロジェクトで PDF の作成を開始するには、 IronPDF NuGetパッケージをインストールします。 パッケージ マネージャー コンソールを使用します。

Install-Package IronPdf
Install-Package IronPdf
SHELL

または.NET CLI:

dotnet add package IronPdf
dotnet add package IronPdf
SHELL

このインストールにより、Web アプリケーションの PDF 生成機能にすぐにアクセスできるようになります。 より高度なインストール シナリオについては、 NuGetパッケージのドキュメントを確認するか、 Docker 展開オプションを調べてください。

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

次の例は、IronPDF のHTML 文字列から PDF への変換機能を使用して、フォーマットされたコンテンツを含む PDF を生成する方法を示しています。 この方法は、動的なコンテンツから PDF を作成する場合や、HTML を PDF ドキュメントとしてエクスポートする必要がある場合に最適です。

using IronPdf;

// Create a new ChromePdfRenderer
var renderer = new ChromePdfRenderer();

// Define HTML content with styling
var html = @"
    <html>
        <body style='font-family: Arial; margin: 40px;'>
            <h1>Hello World PDF Document</h1>
            <p>This is your first PDF file created with IronPDF!</p>
        </body>
    </html>";

// Generate PDF from HTML
var pdf = renderer.RenderHtmlAsPdf(html);

// Save the PDF document
pdf.SaveAs("output.pdf");
using IronPdf;

// Create a new ChromePdfRenderer
var renderer = new ChromePdfRenderer();

// Define HTML content with styling
var html = @"
    <html>
        <body style='font-family: Arial; margin: 40px;'>
            <h1>Hello World PDF Document</h1>
            <p>This is your first PDF file created with IronPDF!</p>
        </body>
    </html>";

// Generate PDF from HTML
var pdf = renderer.RenderHtmlAsPdf(html);

// Save the PDF document
pdf.SaveAs("output.pdf");
Imports IronPdf

' Create a new ChromePdfRenderer
Dim renderer As New ChromePdfRenderer()

' Define HTML content with styling
Dim html As String = "
    <html>
        <body style='font-family: Arial; margin: 40px;'>
            <h1>Hello World PDF Document</h1>
            <p>This is your first PDF file created with IronPDF!</p>
        </body>
    </html>"

' Generate PDF from HTML
Dim pdf = renderer.RenderHtmlAsPdf(html)

' Save the PDF document
pdf.SaveAs("output.pdf")
$vbLabelText   $csharpLabel

このコードは、HTML コンテンツをレンダリングして新しい PDF ドキュメントを作成します。 ChromePdfRenderer は変換処理を行い、PDF ドキュメントの書式が一貫して維持されるようにします。 また、ディスクに書き込むのではなく、ファイルをインラインで返す Web アプリケーションの場合、 PDF をメモリ ストリームに保存することもできます。

コアコンポーネントを理解すると、 IronPDF を効果的に使用できるようになります。

  • ChromePdfRenderer : HTMLをPDFに変換するメインレンダリングエンジン
  • PdfDocument : 操作対象の PDF ドキュメントを表します
  • RenderingOptions : レイアウト、余白、ヘッダー、その他の設定を制御します
  • SecuritySettings : パスワード、権限、暗号化を管理します

PDF作成にHTMLを使用すると、従来のPDF APIに比べて大きなメリットがあります。開発者は既存のHTML/CSSスキルを活用でき、CSSフレームワークが自然に適用されるほか、 JavaScriptが変換前にレンダリングし、メディアクエリがPDFのサイズに合わせて調整されます。 PDF コンテンツを更新するには、HTML テンプレートを変更するだけで済みます。

IronPDF の HTML レンダリング エンジンを使用した基本的な PDF 生成機能を示すために、書式設定されたテキスト

IronPDF ChromePdfRenderer creating Hello World PDF document with Arial font styling in .NET Core

レンダリングされた PDF は、CSS スタイル付きの HTML をプロフェッショナルな PDF ドキュメントに変換する IronPDF の機能を示しています。

高度なレイアウトを使用して HTML を PDF に変換するにはどうすればよいでしょうか?

IronPDF は、複雑な Web ページや HTML コンテンツをプロフェッショナルな PDF ファイルに変換することに優れています。 HTML から PDF への変換機能は、最新の CSS3、 JavaScript、レスポンシブ デザインをサポートしています。 このライブラリは、Web フォント、Bootstrap および Flexbox レイアウト、さらにはJavaScriptフレームワークも処理します。 次のコードは、テーブル、画像、スタイル設定された要素、およびきめ細かなレイアウト制御を含む PDF ドキュメントを作成する方法を示しています。

using IronPdf;

var renderer = new ChromePdfRenderer();

// Configure rendering options
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;

// Enable JavaScript for dynamic content
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(1000);

// Set viewport and CSS media type
renderer.RenderingOptions.ViewPortWidth = 1024;
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;

var html = @"
    <html>
    <head>
        <style>
            table { width: 100%; border-collapse: collapse; }
            th, td { padding: 10px; border: 1px solid #ddd; }
            th { background-color: #f2f2f2; }
        </style>
    </head>
    <body>
        <h2>Sales Report</h2>
        <table>
            <tr><th>Product</th><th>Quantity</th><th>Total</th></tr>
            <tr><td>Software License</td><td>10</td><td>$500</td></tr>
        </table>
    </body>
    </html>";

var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("report.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

// Configure rendering options
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;

// Enable JavaScript for dynamic content
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(1000);

// Set viewport and CSS media type
renderer.RenderingOptions.ViewPortWidth = 1024;
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;

var html = @"
    <html>
    <head>
        <style>
            table { width: 100%; border-collapse: collapse; }
            th, td { padding: 10px; border: 1px solid #ddd; }
            th { background-color: #f2f2f2; }
        </style>
    </head>
    <body>
        <h2>Sales Report</h2>
        <table>
            <tr><th>Product</th><th>Quantity</th><th>Total</th></tr>
            <tr><td>Software License</td><td>10</td><td>$500</td></tr>
        </table>
    </body>
    </html>";

var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("report.pdf");
Imports IronPdf

Dim renderer = New ChromePdfRenderer()

' Configure rendering options
renderer.RenderingOptions.MarginTop = 25
renderer.RenderingOptions.MarginBottom = 25

' Enable JavaScript for dynamic content
renderer.RenderingOptions.EnableJavaScript = True
renderer.RenderingOptions.WaitFor.RenderDelay(1000)

' Set viewport and CSS media type
renderer.RenderingOptions.ViewPortWidth = 1024
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print

Dim html As String = "
    <html>
    <head>
        <style>
            table { width: 100%; border-collapse: collapse; }
            th, td { padding: 10px; border: 1px solid #ddd; }
            th { background-color: #f2f2f2; }
        </style>
    </head>
    <body>
        <h2>Sales Report</h2>
        <table>
            <tr><th>Product</th><th>Quantity</th><th>Total</th></tr>
            <tr><td>Software License</td><td>10</td><td>$500</td></tr>
        </table>
    </body>
    </html>"

Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("report.pdf")
$vbLabelText   $csharpLabel

IronPDF の Chrome エンジンは、Flexbox、CSS グリッド、フロート、配置、CSS3 変換、トランジション、アニメーション、Web フォント、可変フォント、印刷固有のメディア クエリ、疑似要素セレクターなど、広範な CSS 機能をサポートしています。 また、カスタムの余白や用紙サイズを設定したり、国際言語サポート用のフォントを管理したりすることもできます。

PDF viewer displaying a professionally formatted Sales Report with a table showing Software License product data including quantity (10) and total ($500), demonstrating IronPDF's advanced table formatting and CSS styling capabilities in .NET Core applications

Advanced IronPDF table rendering with CSS styling showing sales report data in formatted PDF

高度な表の書式設定により、プロフェッショナルなビジネス ドキュメント向けの IronPDF の CSS レンダリング機能が実証されます。

ASP.NET Coreに PDF 生成を統合するにはどうすればよいですか?

ASP.NET Core MVC に PDF 生成を統合するのは簡単です。 IronPDF は、ASP.NET Core MVCRazor Pages 、およびBlazor Server アプリケーションと統合されます。 以下は、コントローラー アクションと最小限の API エンドポイントが並行して動作する完全な実装です。

using Microsoft.AspNetCore.Mvc;
using IronPdf;

// --- MVC Controller approach ---
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllersWithViews();
var app = builder.Build();

// Minimal API endpoint
app.MapGet("/api/pdf/{id}", async (int id) =>
{
    var renderer = new ChromePdfRenderer();
    var html = $"<h1>Invoice #{id}</h1><p>Thank you for your purchase!</p>";
    var pdf = renderer.RenderHtmlAsPdf(html);
    return Results.File(pdf.BinaryData, "application/pdf", $"invoice-{id}.pdf");
});

app.Run();

// --- MVC Controller ---
public class DocumentController : Controller
{
    public IActionResult GeneratePdf()
    {
        var renderer = new ChromePdfRenderer();
        var html = "<h1>Invoice</h1><p>Thank you for your purchase!</p>";
        var pdf = renderer.RenderHtmlAsPdf(html);
        return File(pdf.BinaryData, "application/pdf", "document.pdf");
    }
}
using Microsoft.AspNetCore.Mvc;
using IronPdf;

// --- MVC Controller approach ---
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllersWithViews();
var app = builder.Build();

// Minimal API endpoint
app.MapGet("/api/pdf/{id}", async (int id) =>
{
    var renderer = new ChromePdfRenderer();
    var html = $"<h1>Invoice #{id}</h1><p>Thank you for your purchase!</p>";
    var pdf = renderer.RenderHtmlAsPdf(html);
    return Results.File(pdf.BinaryData, "application/pdf", $"invoice-{id}.pdf");
});

app.Run();

// --- MVC Controller ---
public class DocumentController : Controller
{
    public IActionResult GeneratePdf()
    {
        var renderer = new ChromePdfRenderer();
        var html = "<h1>Invoice</h1><p>Thank you for your purchase!</p>";
        var pdf = renderer.RenderHtmlAsPdf(html);
        return File(pdf.BinaryData, "application/pdf", "document.pdf");
    }
}
Imports Microsoft.AspNetCore.Mvc
Imports IronPdf

' --- MVC Controller approach ---
Dim builder = WebApplication.CreateBuilder(args)
builder.Services.AddControllersWithViews()
Dim app = builder.Build()

' Minimal API endpoint
app.MapGet("/api/pdf/{id}", Async Function(id As Integer)
                                  Dim renderer = New ChromePdfRenderer()
                                  Dim html = $"<h1>Invoice #{id}</h1><p>Thank you for your purchase!</p>"
                                  Dim pdf = renderer.RenderHtmlAsPdf(html)
                                  Return Results.File(pdf.BinaryData, "application/pdf", $"invoice-{id}.pdf")
                              End Function)

app.Run()

' --- MVC Controller ---
Public Class DocumentController
    Inherits Controller

    Public Function GeneratePdf() As IActionResult
        Dim renderer = New ChromePdfRenderer()
        Dim html = "<h1>Invoice</h1><p>Thank you for your purchase!</p>"
        Dim pdf = renderer.RenderHtmlAsPdf(html)
        Return File(pdf.BinaryData, "application/pdf", "document.pdf")
    End Function
End Class
$vbLabelText   $csharpLabel

コントローラー メソッドは PDF ドキュメントを生成し、ダウンロード可能なファイルとして返します。これは、サーバー側の処理に最適です。 より複雑なシナリオでは、 URL から PDF への変換を使用して、ライブ Web ページを直接 PDF にレンダリングすることを検討してください。

エンタープライズ アプリケーションでは、既存のインフラストラクチャに適合する信頼性の高い PDF 生成が必要です。 IronPDF は、数千の同時 PDF 要求を処理し、サーバー側で機密ドキュメントを生成し、依存性注入およびミドルウェアと連携し、Azure App Service または AWS にデプロイします。 実稼働対応の PDF 生成については、次のガイドラインに従ってください。起動コードにIronPDFサービスを登録して依存性注入を使用し、頻繁に生成される PDF のキャッシュを実装し、フォールバック オプションを使用してエラーを適切に処理し、PDF のパスワードと権限を使用して機密データを保護します。

<img src="https://ironpdf.com/static-assets/pdf/blog/dotnet-core-create-pdf/dotnet-core-create-pdf-3.webp" alt=""請求書"ヘッダーと"ご購入ありがとうございます!"メッセージが表示された請求書ドキュメントを100%Zoomで表示するPDFビューア。IronPDFのHTMLからPDFへの変換機能を使用してASP.NET Coreコントローラーから実際の請求書を生成する例を示しています。">

ASP.NET Core controller generating invoice PDF with IronPDF showing thank you message

コントローラーによって生成された PDF は、 ASP.NET Core Web アプリケーションとのスムーズな統合を示します。

ヘッダー、フッターを追加し、ドキュメントを結合するにはどうすればよいですか?

IronPDF では、PDF を作成するための高度な機能が数多くサポートされています。 ヘッダーとフッターを追加したりページ番号を挿入したり、複数の PDF ファイルを結合したりできます。 ライブラリは、透かしデジタル署名ブックマークテキストと画像のスタンプ、目次の作成もサポートしています。

using IronPdf;

var renderer = new ChromePdfRenderer();

// Add text header and footer
renderer.RenderingOptions.TextHeader = new TextHeaderFooter
{
    CenterText = "Company Report",
    DrawDividerLine = true
};
renderer.RenderingOptions.TextFooter = new TextHeaderFooter
{
    CenterText = "Page {page} of {total-pages}",
    DrawDividerLine = true
};

// Add HTML-based branded header
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    HtmlFragment = "<div style='text-align: center'><img src='logo.png' /></div>",
    Height = 30
};

renderer.RenderingOptions.MarginTop = 50;
renderer.RenderingOptions.MarginBottom = 50;

var html = "<h1>Annual Report</h1><p>Content goes here...</p>";
var mainPdf = renderer.RenderHtmlAsPdf(html);

// Merge multiple PDFs
var coverPdf = renderer.RenderHtmlAsPdf("<p>Cover Page</p>");
var merged = PdfDocument.Merge(coverPdf, mainPdf);

// Apply security
merged.SecuritySettings.SetPassword("user-password");
merged.SecuritySettings.AllowUserPrinting = true;
merged.SecuritySettings.AllowUserCopyPasteContent = false;

merged.SaveAs("report-with-header.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

// Add text header and footer
renderer.RenderingOptions.TextHeader = new TextHeaderFooter
{
    CenterText = "Company Report",
    DrawDividerLine = true
};
renderer.RenderingOptions.TextFooter = new TextHeaderFooter
{
    CenterText = "Page {page} of {total-pages}",
    DrawDividerLine = true
};

// Add HTML-based branded header
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    HtmlFragment = "<div style='text-align: center'><img src='logo.png' /></div>",
    Height = 30
};

renderer.RenderingOptions.MarginTop = 50;
renderer.RenderingOptions.MarginBottom = 50;

var html = "<h1>Annual Report</h1><p>Content goes here...</p>";
var mainPdf = renderer.RenderHtmlAsPdf(html);

// Merge multiple PDFs
var coverPdf = renderer.RenderHtmlAsPdf("<p>Cover Page</p>");
var merged = PdfDocument.Merge(coverPdf, mainPdf);

// Apply security
merged.SecuritySettings.SetPassword("user-password");
merged.SecuritySettings.AllowUserPrinting = true;
merged.SecuritySettings.AllowUserCopyPasteContent = false;

merged.SaveAs("report-with-header.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

' Add text header and footer
renderer.RenderingOptions.TextHeader = New TextHeaderFooter With {
    .CenterText = "Company Report",
    .DrawDividerLine = True
}
renderer.RenderingOptions.TextFooter = New TextHeaderFooter With {
    .CenterText = "Page {page} of {total-pages}",
    .DrawDividerLine = True
}

' Add HTML-based branded header
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter With {
    .HtmlFragment = "<div style='text-align: center'><img src='logo.png' /></div>",
    .Height = 30
}

renderer.RenderingOptions.MarginTop = 50
renderer.RenderingOptions.MarginBottom = 50

Dim html As String = "<h1>Annual Report</h1><p>Content goes here...</p>"
Dim mainPdf As PdfDocument = renderer.RenderHtmlAsPdf(html)

' Merge multiple PDFs
Dim coverPdf As PdfDocument = renderer.RenderHtmlAsPdf("<p>Cover Page</p>")
Dim merged As PdfDocument = PdfDocument.Merge(coverPdf, mainPdf)

' Apply security
merged.SecuritySettings.SetPassword("user-password")
merged.SecuritySettings.AllowUserPrinting = True
merged.SecuritySettings.AllowUserCopyPasteContent = False

merged.SaveAs("report-with-header.pdf")
$vbLabelText   $csharpLabel

これらの例では、プロフェッショナルなタッチを追加し、複数のファイルを 1 つのドキュメントに結合する方法を示します。 プロフェッショナル PDF の主な拡張機能には、ブランドの一貫性を保つためのヘッダー/フッター、複数ページのナビゲーションのためのページ番号、セキュリティと下書きの識別のための透かし、長いドキュメント用のブックマーク、自動目次生成などがあります。 また、長期アーカイブ用のページの向きと回転、 PDF 圧縮、または PDF/A 準拠のドキュメントを調べることもできます。

<img src="https://ironpdf.com/static-assets/pdf/blog/dotnet-core-create-pdf/dotnet-core-create-pdf-4.webp" alt=""会社レポート"ヘッダーと"1/1ページ"フッターが水平の区切り線で区切られたProfessional年次レポートテンプレートを示すPDFドキュメント。ProfessionalドキュメントレイアウトフォーマットによるIronPDFのヘッダーとフッターのカスタマイズ機能を示しています。">

Professional PDF with custom headers and footers created using IronPDF TextHeaderFooter

プロフェッショナルなヘッダーとフッターにより、ドキュメントのプレゼンテーションとナビゲーションが向上します。

インタラクティブな PDF フォームを作成するにはどうすればよいですか?

IronPDF は、テキスト ボックス、チェック ボックス、ラジオ ボタン、ドロップダウン リストなど、さまざまな入力フィールドを備えたインタラクティブな PDF フォームを作成できます。 既存の PDF フォームをプログラムで入力および編集することもできます。 ライブラリはフォーム データの抽出をサポートしており、フォームをフラット化して編集不可にすることができます。

using IronPdf;
using System.IO;

// Create a form from HTML
var html = @"
<!DOCTYPE html>
<html>
<head>
    <style>
        body { font-family: Arial, sans-serif; margin: 20px; }
        .form-container { width: 400px; padding: 20px; border: 1px solid #ccc; border-radius: 8px; }
        .form-group { margin-bottom: 15px; }
        label { display: block; margin-bottom: 5px; font-weight: bold; color: #333; }
        input[type='text'], textarea { width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 4px; box-sizing: border-box; }
        textarea { height: 100px; resize: vertical; }
    </style>
</head>
<body>
    <div class='form-container'>
        <h2>Document Generation Test Form</h2>
        <form>
            <div class='form-group'>
                <label for='fullName'>Full Name:</label>
                <input type='text' id='fullName' name='fullName'>
            </div>
            <div class='form-group'>
                <label for='comments'>Comments/Feedback:</label>
                <textarea id='comments' name='comments' placeholder='Type your feedback here...'></textarea>
            </div>
            <div class='form-group'>
                <input type='checkbox' id='agree' name='agree'>
                <label for='agree'>I agree to the terms and conditions.</label>
            </div>
            <button style='padding: 10px 15px; background-color: #007bff; color: white; border: none; border-radius: 4px; cursor: pointer;'>
                Submit
            </button>
        </form>
    </div>
</body>
</html>";

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("form.pdf");

// Read back and process form data
var loadedPdf = new PdfDocument("form.pdf");
var fullName = loadedPdf.Form.FindFormField("fullName").Value;
Console.WriteLine($"Full Name: {fullName}");

// Flatten form to prevent further editing
loadedPdf.Form.Flatten();
loadedPdf.SaveAs("processed-form.pdf");
using IronPdf;
using System.IO;

// Create a form from HTML
var html = @"
<!DOCTYPE html>
<html>
<head>
    <style>
        body { font-family: Arial, sans-serif; margin: 20px; }
        .form-container { width: 400px; padding: 20px; border: 1px solid #ccc; border-radius: 8px; }
        .form-group { margin-bottom: 15px; }
        label { display: block; margin-bottom: 5px; font-weight: bold; color: #333; }
        input[type='text'], textarea { width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 4px; box-sizing: border-box; }
        textarea { height: 100px; resize: vertical; }
    </style>
</head>
<body>
    <div class='form-container'>
        <h2>Document Generation Test Form</h2>
        <form>
            <div class='form-group'>
                <label for='fullName'>Full Name:</label>
                <input type='text' id='fullName' name='fullName'>
            </div>
            <div class='form-group'>
                <label for='comments'>Comments/Feedback:</label>
                <textarea id='comments' name='comments' placeholder='Type your feedback here...'></textarea>
            </div>
            <div class='form-group'>
                <input type='checkbox' id='agree' name='agree'>
                <label for='agree'>I agree to the terms and conditions.</label>
            </div>
            <button style='padding: 10px 15px; background-color: #007bff; color: white; border: none; border-radius: 4px; cursor: pointer;'>
                Submit
            </button>
        </form>
    </div>
</body>
</html>";

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("form.pdf");

// Read back and process form data
var loadedPdf = new PdfDocument("form.pdf");
var fullName = loadedPdf.Form.FindFormField("fullName").Value;
Console.WriteLine($"Full Name: {fullName}");

// Flatten form to prevent further editing
loadedPdf.Form.Flatten();
loadedPdf.SaveAs("processed-form.pdf");
Imports IronPdf
Imports System.IO

' Create a form from HTML
Dim html As String = "
<!DOCTYPE html>
<html>
<head>
    <style>
        body { font-family: Arial, sans-serif; margin: 20px; }
        .form-container { width: 400px; padding: 20px; border: 1px solid #ccc; border-radius: 8px; }
        .form-group { margin-bottom: 15px; }
        label { display: block; margin-bottom: 5px; font-weight: bold; color: #333; }
        input[type='text'], textarea { width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 4px; box-sizing: border-box; }
        textarea { height: 100px; resize: vertical; }
    </style>
</head>
<body>
    <div class='form-container'>
        <h2>Document Generation Test Form</h2>
        <form>
            <div class='form-group'>
                <label for='fullName'>Full Name:</label>
                <input type='text' id='fullName' name='fullName'>
            </div>
            <div class='form-group'>
                <label for='comments'>Comments/Feedback:</label>
                <textarea id='comments' name='comments' placeholder='Type your feedback here...'></textarea>
            </div>
            <div class='form-group'>
                <input type='checkbox' id='agree' name='agree'>
                <label for='agree'>I agree to the terms and conditions.</label>
            </div>
            <button style='padding: 10px 15px; background-color: #007bff; color: white; border: none; border-radius: 4px; cursor: pointer;'>
                Submit
            </button>
        </form>
    </div>
</body>
</html>"

Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.CreatePdfFormsFromHtml = True
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("form.pdf")

' Read back and process form data
Dim loadedPdf As New PdfDocument("form.pdf")
Dim fullName As String = loadedPdf.Form.FindFormField("fullName").Value
Console.WriteLine($"Full Name: {fullName}")

' Flatten form to prevent further editing
loadedPdf.Form.Flatten()
loadedPdf.SaveAs("processed-form.pdf")
$vbLabelText   $csharpLabel

これにより、ユーザーが入力できるフォームフィールドを備えたインタラクティブな PDF が作成され、ユーザー入力が必要なアプリケーションには最適です。 インタラクティブ PDF は、Web フォームなしでの情報収集、インターネットにアクセスできないユーザー向けのオフライン機能、署名済みフォームによる法令遵守、トレーニング時間を短縮する使い慣れた PDF インターフェイスなど、重要なビジネス ニーズに応えます。

安全なフォームの取り扱いには細心の注意が必要です。 すべてのフォーム データを常に検証およびサニタイズし、アクセス制御を使用してフォーム フィールドの編集を制限し、監査証跡のためにすべてのフォーム送信をログに記録し、暗号化を使用して機密フォーム データを保護し、デジタル署名を使用してフォームの信頼性を検証します。

氏名とコメント/フィードバック用の入力可能なテキストフィールド、利用規約に同意するためのインタラクティブなチェックボックス、青色の送信ボタンを備えた文書生成テストフォームを表示するインタラクティブな PDF フォーム。IronPDF の完全なフォーム作成機能を示しています。

IronPDF interactive form with text fields, checkbox, and button demonstrating form creation

インタラクティブ フォームを使用すると、PDF ドキュメント内で直接データを収集できます。

運用環境でパフォーマンスとエラー処理をどのように行いますか?

運用環境で PDF ファイルを生成する場合は、適切なエラー処理を実装し、パフォーマンスの最適化を考慮してください。 IronPDF は、大量のシナリオに対して非同期およびマルチスレッドのサポートを提供します。 デバッグと監視のためにカスタム ログも実装する必要があります。 レンダラー インスタンスの作成にはオーバーヘッドが発生するため、効率的に再利用することが重要です。 次の例では、プロダクション エラー処理とレンダラーの再利用を組み合わせています。

using IronPdf;
using Microsoft.Extensions.Logging;

// Register a reusable renderer as a singleton in your DI container
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(500);

// Resilient generation with retry and exponential backoff
async Task<byte[]> GenerateWithRetry(string html, ILogger logger, int maxRetries = 3)
{
    for (int attempt = 1; attempt <= maxRetries; attempt++)
    {
        try
        {
            renderer.RenderingOptions.Timeout = 60;
            var pdf = await Task.Run(() => renderer.RenderHtmlAsPdf(html));
            pdf.SecuritySettings.MakePdfDocumentReadOnly();
            pdf.SecuritySettings.SetPassword("userPassword123");
            logger.LogInformation("PDF generated successfully on attempt {Attempt}", attempt);
            return pdf.BinaryData;
        }
        catch (Exception ex) when (attempt < maxRetries)
        {
            logger.LogWarning(ex, "PDF generation failed, attempt {Attempt} of {MaxRetries}", attempt, maxRetries);
            await Task.Delay(TimeSpan.FromSeconds(Math.Pow(2, attempt)));
        }
    }
    throw new InvalidOperationException("Failed to generate PDF after retries");
}
using IronPdf;
using Microsoft.Extensions.Logging;

// Register a reusable renderer as a singleton in your DI container
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(500);

// Resilient generation with retry and exponential backoff
async Task<byte[]> GenerateWithRetry(string html, ILogger logger, int maxRetries = 3)
{
    for (int attempt = 1; attempt <= maxRetries; attempt++)
    {
        try
        {
            renderer.RenderingOptions.Timeout = 60;
            var pdf = await Task.Run(() => renderer.RenderHtmlAsPdf(html));
            pdf.SecuritySettings.MakePdfDocumentReadOnly();
            pdf.SecuritySettings.SetPassword("userPassword123");
            logger.LogInformation("PDF generated successfully on attempt {Attempt}", attempt);
            return pdf.BinaryData;
        }
        catch (Exception ex) when (attempt < maxRetries)
        {
            logger.LogWarning(ex, "PDF generation failed, attempt {Attempt} of {MaxRetries}", attempt, maxRetries);
            await Task.Delay(TimeSpan.FromSeconds(Math.Pow(2, attempt)));
        }
    }
    throw new InvalidOperationException("Failed to generate PDF after retries");
}
Imports IronPdf
Imports Microsoft.Extensions.Logging
Imports System.Threading.Tasks

' Register a reusable renderer as a singleton in your DI container
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.MarginTop = 25
renderer.RenderingOptions.MarginBottom = 25
renderer.RenderingOptions.EnableJavaScript = True
renderer.RenderingOptions.WaitFor.RenderDelay(500)

' Resilient generation with retry and exponential backoff
Async Function GenerateWithRetry(html As String, logger As ILogger, Optional maxRetries As Integer = 3) As Task(Of Byte())
    For attempt As Integer = 1 To maxRetries
        Try
            renderer.RenderingOptions.Timeout = 60
            Dim pdf = Await Task.Run(Function() renderer.RenderHtmlAsPdf(html))
            pdf.SecuritySettings.MakePdfDocumentReadOnly()
            pdf.SecuritySettings.SetPassword("userPassword123")
            logger.LogInformation("PDF generated successfully on attempt {Attempt}", attempt)
            Return pdf.BinaryData
        Catch ex As Exception When attempt < maxRetries
            logger.LogWarning(ex, "PDF generation failed, attempt {Attempt} of {MaxRetries}", attempt, maxRetries)
            Await Task.Delay(TimeSpan.FromSeconds(Math.Pow(2, attempt)))
        End Try
    Next
    Throw New InvalidOperationException("Failed to generate PDF after retries")
End Function
$vbLabelText   $csharpLabel

信頼性の高い PDF 生成を確実に行うために、入力データを常に検証し、例外を適切に処理します。 印刷、コピー、編集の権限を制御するために、機密文書にPDF 権限とパスワードを実装することを検討してください。

どのような監視メトリックを追跡する必要がありますか?

生産 PDF 生成に関する次の主要な指標を監視します。

IronPDF のパフォーマンスを監視するための主要な生産指標
評価基準 目的 アラートしきい値
世代時間 パフォーマンス追跡 > 10 seconds
メモリ使用量 リソースの最適化 > 500 MB per request
エラー率 信頼性監視 > 5% failure rate
キューの長さ キャパシティプランニング > 100 pending
ファイルサイズ ストレージの最適化 > 50 MB average

プラットフォーム間で PDF 生成を展開およびトラブルシューティングするにはどうすればよいですか?

IronPDF は、さまざまなプラットフォームにわたるさまざまな展開シナリオをサポートしています。 Azure Functions、 AWS Lambda 、または従来の IIS サーバーにデプロイできます。 このライブラリは Linux デプロイメントもサポートしており、マイクロサービス アーキテクチャ用のDocker コンテナで実行できます。 さまざまなデプロイメント アプローチにはそれぞれ異なる利点があります。Docker コンテナーは一貫性を提供し、Kubernetes は水平スケーリングを可能にし、サーバーレス関数は弾力的なスケーリングを提供し、IronPDFEngine サービスはプロセスの分離を提供します。

知っておくべきプラットフォーム固有の要件は何ですか?

.NET PDF 生成を展開する場合、各プラットフォームには独自の考慮事項があります。

IronPDFのプラットフォーム固有の展開要件とソリューション
プラットフォーム 主な要件 ソリューション
Linux フォントが見つかりません apt/yum経由でフォントパッケージをインストールする
Docker ファイルの権限 非ルートユーザーとして実行
Azure App Service 一時ディレクトリ 書き込み可能なパスを設定する
AWS Lambda コールドスタート プロビジョニングされた同時実行を使用する
macOS コード署名 設定で署名されていないライブラリを許可する

レンダリングの問題は、多くの場合、CSS または JS アセットの不足、動的コンテンツのタイミングの問題、サーバー フォントの不足、または CSS の非互換性によって発生します。 効果的なデバッグは、renderer.LoggingMode = IronPdf.Logging.LoggingModes.All を介して詳細なログ記録を有効にし、検査のために中間HTMLを保存し、 JavaScriptを無効にしてテストを行い、レンダリングの問題を切り分けることから始まります。 メモリ管理も非常に重要です。常に PdfDocument オブジェクトを破棄し、大きなジョブはチャンクに分割して処理し、適切なコンテナメモリ制限を設定してください。

クラウド デプロイメントについては、 Azure デプロイメント ガイドと AWS Lambda 構成ドキュメントを確認してください。 Microsoft .NETドキュメントによると、 .NET 10 では IronPDF 独自の最適化を補完する追加のパフォーマンス改善が導入されています。 PDF 仕様の詳細については、 PDF 協会の技術リソースがPDF/A 準拠要件を理解する上で役立つコンテキストを提供します。 さらに、 Google の Chromium プロジェクトのドキュメントでは、 IronPDF の HTML から PDF へのエンジンの基盤となるレンダリング動作について説明しています。

PDF 生成プロセスの次のステップは何ですか?

IronPDF は、.NET Coreで PDF ファイルを作成する複雑なタスクを、シンプルで管理しやすいプロセスに変換します。 このライブラリは、基本的なドキュメント作成からフォーム、画像、ページ管理などの高度な機能まで、プログラムで PDF ドキュメントを生成するためのツールを提供します。 HTML を PDF に変換することで、データをすばやく読み込み、完成したファイルを作成できます。 このライブラリは、さまざまな PDF 標準、アクセシビリティ機能、および完全なドキュメントをサポートしているため、エンタープライズ アプリケーションに適しています。

IronPDF が.NETプロジェクトに最適な選択肢である理由

IronPDF は、 .NET PDF 生成の強力な選択肢として際立っています。

-エンタープライズ対応:実稼働環境での実戦テスト済み -クロスプラットフォーム: オペレーティングシステム間での真の移植性 -活発な開発:新機能の定期的なアップデート -多様なフォーマット: DOCXからPDF、RTFからPDF、画像からPDF 、その他多くの変換をサポート -豊富な操作: テキストと画像を抽出し、PDF を画像にラスタライズし、コンテンツを編集し、PDF DOM にアクセスします。

今日はどうやって始めますか?

PDF 生成プロセスを開始するには、次の手順に従います。

  1. IronPDFをインストールする: NuGet経由で.NET 10プロジェクトに追加する 2.基本的な例を試す: 簡単なHTMLからPDFへの変換から始めましょう 3.高度な機能の探索: フォーム、署名、セキュリティ設定の追加 4.パフォーマンスの調整: キャッシュ、非同期、レンダラーの再利用を実装する 5.本番環境へのデプロイ: 適切なホスティング戦略を選択する

単純なレポートを作成する場合でも、複雑な複数ページのドキュメントを作成する場合でも、IronPDF の直感的な API と優れたレンダリング エンジンにより、 .NET開発者にとって実用的な選択肢となります。 IronPDF の無料試用版を使用して、ASP.NET Core アプリケーションでプロフェッショナルな PDF ファイルの作成を今すぐ開始しましょう。 アプリケーションに PDF 生成機能を追加する準備はできていますか? IronPDFを使い始めて、PDF の作成がいかに簡単であるかを体験してください。 追加の学習リソースについては、完全なチュートリアルコード例、および機能ドキュメントを参照してください。

よくある質問

ASP.NETアプリケーションにおけるIronPDFの主な機能は何ですか?

IronPDFにより、開発者はASP.NETアプリケーション内で簡単にPDFドキュメントを作成することができ、請求書やレポート、その他のドキュメントベースのシステム生成などのタスクを効率化することができます。

最新のWebアプリケーションにおいて、なぜプログラムでPDF文書を作成することが重要なのでしょうか?

プログラムによるPDF文書の作成は、請求システムやデータレポートなど、文書管理を必要とするアプリケーションの自動化や動的なコンテンツ生成を可能にするため、不可欠です。

.NET Core環境でIronPDFを使ってPDFを生成できますか?

IronPDFはPDF生成を簡素化するために特別に設計された強力な.NET Coreライブラリであり、.NET CoreアプリケーションでPDFファイルを作成するための理想的な選択肢です。

.NET CoreのIronPDFを使ってどのような種類のドキュメントを作成できますか?

IronPDFを使えば、請求書、レポート、効率的なPDF生成が必要なドキュメントベースのシステムなど、幅広いドキュメントを作成することができます。

IronPDFの使用に関する技術的な詳細はどこにありますか?

IronPDFの使用に関する包括的な技術的詳細は、ステップバイステップのガイダンスと実用的なヒントを提供する公式ドキュメントをご覧ください。

IronPDFはASP.NETアプリケーションのPDF生成機能をどのように強化しますか?

IronPDFは、ASP.NETアプリケーション内で直接PDFドキュメントの作成、操作、管理を簡素化する堅牢なライブラリを提供することで、PDF生成機能を強化します。

IronPDFは.NET Coreでドキュメントベースのシステムを構築するのに適していますか?

IronPDFは.NET Coreでドキュメントベースのシステムを構築するのに非常に適しており、プログラムでPDFを生成し管理するシームレスな方法を提供します。

.NET CoreでIronPDFを使用してPDF作成を処理する最善の方法は何ですか?

このチュートリアルでは、.NET Core環境でPDFドキュメントを効率的に生成・管理するIronPDFの機能の活用に焦点を当てながら、PDF作成を扱う様々な方法を探ります。

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

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

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

アイアンサポートチーム

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