.NET CoreでPDFファイルを生成する方法

.NETCoreでC#を使ってIronPDFでHTMLをPDFに変換する

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

HTMLから直接高忠実度のPDFを生成することは、現代の.NETアプリケーションにおける日常的な要件です。レポート、請求書、チケットなど、ウェブUIに合ったピクセルパーフェクトな出力が必要です。 IronPDFは、HTML、Razorビュー、フルウェブサイトを標準準拠のPDFドキュメントにレンダリングするための単一のC# APIを公開することで、このワークフローを簡素化します。 このガイドの終わりまでに、開発者はASP.NET CoreプロジェクトでURL、生のHTML、またはMVCビューを変換し、同じコードをWindows、Linux、Docker、またはサーバーレス環境にデプロイできるようになります。

レイアウトの問題に関しては、IronPDFはPDFがレンダリングされる前にCSS、JavaScript、メディアクエリのクセを診断するヘッドレスChromeデバッガーを同梱しています。 深く掘り下げたテクニックについては、専用のピクセルパーフェクト HTML-to-PDF ガイドをご覧ください。

クイックスタート:.NET CoreでHTMLからPDFを作成

IronPDFライブラリを使用して、.NET CoreでHTMLをPDFに簡単に変換します。 このガイドは、HTMLコンテンツを高品質のPDFに最小限のコードでレンダリングする簡単な例を提供します。 アプリケーションにPDF作成を容易に統合することを求める開発者に最適です。

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

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

    PM > Install-Package IronPdf

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

    var pdf = new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello World</h1>");
  3. 実際の環境でテストするためにデプロイする

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

クイックスタートチェックリスト

  1. インストールInstall-Package IronPdf
  2. URLをレンダリングChromePdfRenderer.RenderUrlAsPdf()
  3. 生のHTMLをレンダリングChromePdfRenderer.RenderHtmlAsPdf()
  4. RazorビューをエクスポートChromePdfRenderer.RenderHtmlAsPdfAsync()
  5. 出力を微調整ChromePdfRenderer.RenderingOptionsを活用

このチュートリアルでカバーする内容

  • URL、HTML文字列、およびRazorビューの変換
  • ペーパー、余白、およびメディアタイプの設定
  • クロスプラットフォームデプロイ (Windows、Linux、Docker)
  • ポストプロセッシング: 結合、透かし、パスワード保護、デジタル署名
  • エンドトゥーエンドのサンプル: チケット予約MVCアプリ

IronPDFを始める

今日あなたのプロジェクトでIronPDFを無料トライアルで使用開始。

最初のステップ:
green arrow pointer


PDFライブラリを.NET Coreにインストールするにはどうすればいいですか?

.NET 8プロジェクトでは、ライブラリをインストールするのは1行だけで、.NET 9 プレビューや今後の.NET 10リリースとも前方互換性を維持します。 NuGetのパッケージマネージャコンソールを使用し、パッケージマネージャはWindows、Linux、Docker、およびサーバーレスターゲットに自動的にすべての依存関係を解決します。

PM> Install-Package IronPdf             # .NET 8 LTS and higher
PM> Install-Package IronPdf             # .NET 8 LTS and higher
SHELL

インストールが完了したら、任意の公開URLを変換することで、すべてが正常に接続されていることを確認します。

// Program.cs — .NET 8 LTS
using IronPdf;

var renderer = new ChromePdfRenderer();

// Render a live website to PDF
using PdfDocument pdf = renderer.RenderUrlAsPdf("https://example.com");

// Persist to disk
pdf.SaveAs("website-snapshot.pdf");
// Program.cs — .NET 8 LTS
using IronPdf;

var renderer = new ChromePdfRenderer();

// Render a live website to PDF
using PdfDocument pdf = renderer.RenderUrlAsPdf("https://example.com");

// Persist to disk
pdf.SaveAs("website-snapshot.pdf");
' Program.cs — .NET 8 LTS
Imports IronPdf

Private renderer = New ChromePdfRenderer()

' Render a live website to PDF
Private PdfDocument As using

' Persist to disk
pdf.SaveAs("website-snapshot.pdf")
$vbLabelText   $csharpLabel

仕組み

  • ChromePdfRendererは、バックグラウンドでサンドボックス化されたChromiumインスタンスを起動します。個別のChromeインストールは必要ありません。
  • RenderUrlAsPdfは、JavaScriptによるコンテンツ、CSSメディアクエリ、フォントを含む完全にレンダリングされたDOMをキャプチャします。
  • 結果として得られるPdfDocumentは、結合、パスワード保護、またはデジタル署名のためのヘルパーメソッドを公開します。これらの機能はこのチュートリアルの後半でカバーされています。

デプロイの微妙な問題についての詳細は(Azure App Service、AWS Lambda、オンプレミスLinux)、専用のインストールガイド および 高度なNuGet設定ページ をご覧ください。 DockerおよびK8sクラスター用の内部CI/CDのヒントは、Dockerデプロイのベストプラクティスでカバーされています。


.NET CoreサービスがライブのウェブサイトURLをPDFに変換するにはどうすればいいですか?

RenderUrlAsPdfへの1回の呼び出しで十分です: 任意の公にアクセス可能なURLを渡すと、IronPDFは完全にレンダリングされた標準準拠のPDFを返します。 以下のコードは.NET 8 LTSにターゲットを絞り、.NET 9 プレビューや2025年のリリース予定の.NET 10にも変更なくコンパイルされます。

ステップバイステップの例

// Program.cs — .NET 8 LTS-compatible
using IronPdf;

// 1. Activate a license (or trial key)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";

// 2. Create a reusable renderer instance
var renderer = new ChromePdfRenderer
{
    RenderingOptions =
    {
        // Force A4 portrait output and apply @media print styles
        PaperSize    = PdfPaperSize.A4,
        CssMediaType = PdfCssMediaType.Print
    }
};

// 3. Convert Microsoft Docs home page to PDF
using PdfDocument pdf = renderer.RenderUrlAsPdf("https://learn.microsoft.com/");

// 4. Save the PDF or stream it from a Web API
pdf.SaveAs("docs-offline-copy.pdf");
// Program.cs — .NET 8 LTS-compatible
using IronPdf;

// 1. Activate a license (or trial key)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";

// 2. Create a reusable renderer instance
var renderer = new ChromePdfRenderer
{
    RenderingOptions =
    {
        // Force A4 portrait output and apply @media print styles
        PaperSize    = PdfPaperSize.A4,
        CssMediaType = PdfCssMediaType.Print
    }
};

// 3. Convert Microsoft Docs home page to PDF
using PdfDocument pdf = renderer.RenderUrlAsPdf("https://learn.microsoft.com/");

// 4. Save the PDF or stream it from a Web API
pdf.SaveAs("docs-offline-copy.pdf");
' Program.cs — .NET 8 LTS-compatible
Imports IronPdf

' 1. Activate a license (or trial key)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"

' 2. Create a reusable renderer instance
Dim renderer = New ChromePdfRenderer With {
	.RenderingOptions = {
		PaperSize = PdfPaperSize.A4,
		CssMediaType = PdfCssMediaType.Print
	}
}

' 3. Convert Microsoft Docs home page to PDF
Using pdf As PdfDocument = renderer.RenderUrlAsPdf("https://learn.microsoft.com/")
	
	' 4. Save the PDF or stream it from a Web API
	pdf.SaveAs("docs-offline-copy.pdf")
End Using
$vbLabelText   $csharpLabel

なぜこれが動作するのか

  • ChromePdfRendererは、サンドボックス化されたChromiumインスタンスを起動します。Dockerイメージがスリムに保たれるので、システムのChrome依存性はありません。
  • RenderUrlAsPdfはDOMとJavaScriptが完了するのを待ってスナップショットを取得するため、シングルページアプリケーションが正しくレンダリングされます。
  • CssMediaTypePrintに設定することで、エンジンに印刷専用のルールを使用させ、ブラウザの"印刷 → PDFとして保存"の出力に一致させます。
  • 結果として得られるPdfDocumentは暗号化、デジタル署名、結合、またはラスタライズできます。これらの機能は後の章で取り上げられます。

[{t:(ピクセル パーフェクト デバッグ: renderer.LoggingOptions.DebugMode = true<//code> を有効にし、headless-Chrome デバッグ ガイド] に従って、レンダリング中にライブ DevTools を検査します。

関連リソース


生のHTMLを.NET CoreでPDFに変換するにはどうすればいいですか?

HTML文字列—またはRazorビューのレンダリングされたマークアップ—をChromePdfRenderer.RenderHtmlAsPdfに渡すことで、即座に標準準拠のPDFを生成します。 このメソッドはIronPDFの組込みChromiumエンジンを起動するため、外部ブラウザやWebViewの依存関係は必要ありません。 以下に示す同じコードは、今日の.NET 8 LTSでコンパイルされ、2025年11月のリリース予定の.NET 10と前方互換性を保ち続けます。

例 — HTMLフラグメントからPDFを生成する

// Program.cs — compatible with .NET 8 and newer
using IronPdf;

// Sample HTML fragment (could also be read from a file, Razor view, or CMS)
const string html = """
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>Quarterly Report</title>
  <style>
     body { font-family:'Segoe UI', sans-serif; margin:1.2rem; }
     header { margin-bottom:2rem; }
     h1 { color:#3056d3; }
     table { width:100%; border-collapse:collapse; margin-top:1rem; }
     th,td { border:1px solid #ddd; padding:0.5rem; text-align:right; }
     tr:nth-child(even){ background-color:#f8f9fa; }
  </style>
</head>
<body>
  <header><h1>Q2 Revenue Summary</h1></header>
  <table>
    <thead><tr><th>Product</th><th>Revenue ($)</th></tr></thead>
    <tbody>
      <tr><td>IronPDF for .NET</td><td>1,200,000</td></tr>
      <tr><td>IronOCR for .NET</td><td>890,000</td></tr>
      <tr><td>IronXL for .NET</td><td>610,000</td></tr>
    </tbody>
  </table>
</body>
</html>
""";

// 1. Create a renderer once and reuse it across conversions
var renderer = new ChromePdfRenderer
{
    RenderingOptions =
    {
        PaperSize    = PdfPaperSize.A4,                  // ISO-standard paper size
        PaperOrientation = PdfPaperOrientation.Portrait,
        CssMediaType = PdfCssMediaType.Screen,           // Respect on-screen CSS
        RenderDelay  = 100,                              // Wait 100 ms for JS/animations
        FallbackEncoding = "utf-8"                       // Handle non-ASCII correctly
    }
};

// 2. Render the HTML fragment
using PdfDocument pdf = renderer.RenderHtmlAsPdf(html);

// 3. Persist to disk or return via ASP.NET Core FileStreamResult
pdf.SaveAs("q2-report.pdf");
// Program.cs — compatible with .NET 8 and newer
using IronPdf;

// Sample HTML fragment (could also be read from a file, Razor view, or CMS)
const string html = """
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>Quarterly Report</title>
  <style>
     body { font-family:'Segoe UI', sans-serif; margin:1.2rem; }
     header { margin-bottom:2rem; }
     h1 { color:#3056d3; }
     table { width:100%; border-collapse:collapse; margin-top:1rem; }
     th,td { border:1px solid #ddd; padding:0.5rem; text-align:right; }
     tr:nth-child(even){ background-color:#f8f9fa; }
  </style>
</head>
<body>
  <header><h1>Q2 Revenue Summary</h1></header>
  <table>
    <thead><tr><th>Product</th><th>Revenue ($)</th></tr></thead>
    <tbody>
      <tr><td>IronPDF for .NET</td><td>1,200,000</td></tr>
      <tr><td>IronOCR for .NET</td><td>890,000</td></tr>
      <tr><td>IronXL for .NET</td><td>610,000</td></tr>
    </tbody>
  </table>
</body>
</html>
""";

// 1. Create a renderer once and reuse it across conversions
var renderer = new ChromePdfRenderer
{
    RenderingOptions =
    {
        PaperSize    = PdfPaperSize.A4,                  // ISO-standard paper size
        PaperOrientation = PdfPaperOrientation.Portrait,
        CssMediaType = PdfCssMediaType.Screen,           // Respect on-screen CSS
        RenderDelay  = 100,                              // Wait 100 ms for JS/animations
        FallbackEncoding = "utf-8"                       // Handle non-ASCII correctly
    }
};

// 2. Render the HTML fragment
using PdfDocument pdf = renderer.RenderHtmlAsPdf(html);

// 3. Persist to disk or return via ASP.NET Core FileStreamResult
pdf.SaveAs("q2-report.pdf");
' Program.cs — compatible with .NET 8 and newer
Imports IronPdf

' Sample HTML fragment (could also be read from a file, Razor view, or CMS)
Private Const html As String = "<!DOCTYPE html>
<html lang=""en"">
<head>
  <meta charset=""utf-8"">
  <title>Quarterly Report</title>
  <style>
     body { font-family:'Segoe UI', sans-serif; margin:1.2rem; }
     header { margin-bottom:2rem; }
     h1 { color:#3056d3; }
     table { width:100%; border-collapse:collapse; margin-top:1rem; }
     th,td { border:1px solid #ddd; padding:0.5rem; text-align:right; }
     tr:nth-child(even){ background-color:#f8f9fa; }
  </style>
</head>
<body>
  <header><h1>Q2 Revenue Summary</h1></header>
  <table>
    <thead><tr><th>Product</th><th>Revenue ($)</th></tr></thead>
    <tbody>
      <tr><td>IronPDF for .NET</td><td>1,200,000</td></tr>
      <tr><td>IronOCR for .NET</td><td>890,000</td></tr>
      <tr><td>IronXL for .NET</td><td>610,000</td></tr>
    </tbody>
  </table>
</body>
</html>"

' 1. Create a renderer once and reuse it across conversions
Private renderer = New ChromePdfRenderer With {
	.RenderingOptions = {
		PaperSize = PdfPaperSize.A4,
		PaperOrientation = PdfPaperOrientation.Portrait,
		CssMediaType = PdfCssMediaType.Screen,
		RenderDelay = 100,
		FallbackEncoding = "utf-8"
	}
}

' 2. Render the HTML fragment
Private PdfDocument As using

' 3. Persist to disk or return via ASP.NET Core FileStreamResult
pdf.SaveAs("q2-report.pdf")
$vbLabelText   $csharpLabel

コードが示すこと

  • 埋め込みChromium -- IronPDFはChromiumエンジンをバンドルし、現代のブラウザと同等のHTML5、CSS3、JavaScriptの互換性を保証します。
  • 単一の依存性 -- 軽量なNuGetインストールで、Windows、Linux、Docker、Azure/AWSを余分なシステムライブラリなしでカバーします。
  • レンダリングオプション -- PaperSizeCssMediaType、および RenderDelay はブラウザの印刷設定を反映し、PDF が画面上のレイアウトに合うようにします。
  • 将来の証明目標 -- APIサーフェスは.NET 8、.NET 9 STS、および今後の.NET 10間で同じです。長期的な保守が最小限です。
  • 後処理フック -- PdfDocumentは、マージ、パスワード保護、デジタル署名のヘルパーを公開しています。

さらに読み進めたい: ステップバイステップのHTML文字列からPDFへのチュートリアルと全ChromePdfRenderer APIドキュメントを参照してください。


ASP .NET Core MVC ビューを PDF にエクスポートするにはどうすればいいですか?

IronPDF は、ブラウザが行うのと同じ方法で完全に処理された Razor ビュー( .cshtml )をレンダリングし、結果を PdfDocument としてストリーミングします。 以下のワークフローはコントローラーのロジックをクリーンに保ち、ブラウザプラグインを必要とせず、.NET 8 LTS、.NET 9 プレビュー、2025 年 11 月の予定された .NET 10 リリースで機能します。

エンドツーエンド コントローラーの例

// TicketsController.cs — .NET 8 LTS / MVC
using IronPdf;
using Microsoft.AspNetCore.Mvc;
using YourApp.Models;           // TicketViewModel

public class TicketsController : Controller
{
    private readonly ChromePdfRenderer _renderer;

    public TicketsController()
    {
        _renderer = new ChromePdfRenderer
        {
            RenderingOptions =
            {
                PaperSize        = PdfPaperSize.A5,            // Compact ticket size
                PaperOrientation = PdfPdfOrientation.Portrait,
                FitToPaperWidth  = true,
                CssMediaType     = PdfCssMediaType.Print,
                Margins = new PdfMargins(5, 10, 5, 10)         // mm
            }
        };
    }

    // GET /Tickets/Print/42
    public async Task<IActionResult> Print(int id)
    {
        TicketViewModel vm = await _service.GetTicketAsync(id);

        // 1. Render the Razor view to an HTML string
        string html  = await RazorTemplateEngine.RenderViewAsync(
                           HttpContext, "~/Views/Tickets/Print.cshtml", vm);

        // 2. Convert HTML → PDF
        using PdfDocument pdf = _renderer.RenderHtmlAsPdf(html);

        // 3. Stream back as a file
        return File(pdf.BinaryData, "application/pdf",
                    $"ticket-{id}.pdf");
    }
}
// TicketsController.cs — .NET 8 LTS / MVC
using IronPdf;
using Microsoft.AspNetCore.Mvc;
using YourApp.Models;           // TicketViewModel

public class TicketsController : Controller
{
    private readonly ChromePdfRenderer _renderer;

    public TicketsController()
    {
        _renderer = new ChromePdfRenderer
        {
            RenderingOptions =
            {
                PaperSize        = PdfPaperSize.A5,            // Compact ticket size
                PaperOrientation = PdfPdfOrientation.Portrait,
                FitToPaperWidth  = true,
                CssMediaType     = PdfCssMediaType.Print,
                Margins = new PdfMargins(5, 10, 5, 10)         // mm
            }
        };
    }

    // GET /Tickets/Print/42
    public async Task<IActionResult> Print(int id)
    {
        TicketViewModel vm = await _service.GetTicketAsync(id);

        // 1. Render the Razor view to an HTML string
        string html  = await RazorTemplateEngine.RenderViewAsync(
                           HttpContext, "~/Views/Tickets/Print.cshtml", vm);

        // 2. Convert HTML → PDF
        using PdfDocument pdf = _renderer.RenderHtmlAsPdf(html);

        // 3. Stream back as a file
        return File(pdf.BinaryData, "application/pdf",
                    $"ticket-{id}.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

このコードが示すこと

  • 一時ファイルなし -- Razorビューはメモリ内でレンダリングされ、ディスクI/Oとテンポラリフォルダの競合状態を回避して直接RenderHtmlAsPdfに渡されます。
  • チケットサイズの出力 -- PaperSize = A5と狭い余白で自宅印刷用のチケットをコンパクトに保ちます。
  • 一貫した印刷スタイル -- CssMediaType = Printはブラウザが使用する同じ@media print CSSルールを適用します。
  • バイナリストリーミング -- pdf.BinaryDataはファイルシステムに触れることなくドキュメントをストリームします。APIエンドポイントやLambda関数に最適です。 - 再利用可能なレンダラー -- ChromePdfRendererはコントローラごとに一度インスタンス化され、再利用され、プロセス生成オーバーヘッドを最小限に抑えます。
    id="pdfOptionsAcc">
    class="accordion-item"> ## id="optPaper">
    data-bs-parent="#pdfOptionsAcc">
    class="accordion-body">

    `PaperSize`, `PaperOrientation`, `FitToPaperWidth`

PaperSize, PaperOrientation, FitToPaperWidth です。

マージンヘッダーフッターウォーターマーク

レンダリング前に用紙サイズ、余白、ヘッダー、透かし、セキュリティを微調整するにはどうすればいいですか?


IronPDFは、用紙寸法、方向、ヘッダー&フッター、JavaScriptタイミング、透かしのすべての側面を制御する1つのChromePdfRenderOptionsオブジェクトを公開しています。暗号化、デジタル署名—すべて追加のブラウザプラグインなしで。

IronPDF は、出力のすべての側面 - ペーパーサイズ、向き、ヘッダーとフッター、JavaScript のタイミング、透かし、暗号化、デジタル署名 - を制御する単一の ChromePdfRenderOptions オブジェクトを公開します。追加のブラウザプラグインは不要です。

コードサンプル - 一度に複数のオプションを適用

// AdvancedOptions.cs — .NET 8 compatible
using IronPdf;

var renderer = new ChromePdfRenderer();

// Configure everything in one place
renderer.RenderingOptions = new ChromePdfRenderOptions
{
    // 1. Page layout
    PaperSize        = PdfPaperSize.A4,                     // ISO size
    PaperOrientation = PdfPdfOrientation.Portrait,
    Margins          = new PdfMargins { Top = 20, Bottom = 25, Left = 15, Right = 15 }, // mm

    // 2. Timing & media
    CssMediaType     = PdfCssMediaType.Print,               // Respect @media print
    EnableJavaScript = true,
    RenderDelay      = 200,                                 // Wait 200 ms for animations

    // 3. Headers & footers (HTML gives full design freedom)
    HtmlHeader       = "<header style='font:14px Segoe UI'>Invoice — {{date}}</header>",
    HtmlFooter       = "<footer style='text-align:right;font-size:10px'>Page {{page}} / {{total-pages}}</footer>",

    // 4. Watermark
    Watermark        = new HtmlStamp
    {
        HtmlTemplate = "<div style='font-size:50px;color:#cccccc;opacity:0.3;'>CONFIDENTIAL</div>",
        VerticalAlignment = VerticalAlignment.Center,
        HorizontalAlignment = HorizontalAlignment.Center
    },

    // 5. Security
    SecurityOptions = new PdfSecurityOptions
    {
        OwnerPassword = "StrongOwnerPwd!",
        UserPassword  = "ReadOnly",
        AllowUserPrinting = false,
        AllowUserCopyPasteContent = false
    }
};

// Render any HTML
using PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Advanced Options Demo</h1>");

// Digitally sign with a PFX certificate (optional)
pdf.SignAndStamp("./certs/company.pfx", "Iron Software", "Bangkok", "Approval");

// Save
pdf.SaveAs("advanced-options-demo.pdf");
// AdvancedOptions.cs — .NET 8 compatible
using IronPdf;

var renderer = new ChromePdfRenderer();

// Configure everything in one place
renderer.RenderingOptions = new ChromePdfRenderOptions
{
    // 1. Page layout
    PaperSize        = PdfPaperSize.A4,                     // ISO size
    PaperOrientation = PdfPdfOrientation.Portrait,
    Margins          = new PdfMargins { Top = 20, Bottom = 25, Left = 15, Right = 15 }, // mm

    // 2. Timing & media
    CssMediaType     = PdfCssMediaType.Print,               // Respect @media print
    EnableJavaScript = true,
    RenderDelay      = 200,                                 // Wait 200 ms for animations

    // 3. Headers & footers (HTML gives full design freedom)
    HtmlHeader       = "<header style='font:14px Segoe UI'>Invoice — {{date}}</header>",
    HtmlFooter       = "<footer style='text-align:right;font-size:10px'>Page {{page}} / {{total-pages}}</footer>",

    // 4. Watermark
    Watermark        = new HtmlStamp
    {
        HtmlTemplate = "<div style='font-size:50px;color:#cccccc;opacity:0.3;'>CONFIDENTIAL</div>",
        VerticalAlignment = VerticalAlignment.Center,
        HorizontalAlignment = HorizontalAlignment.Center
    },

    // 5. Security
    SecurityOptions = new PdfSecurityOptions
    {
        OwnerPassword = "StrongOwnerPwd!",
        UserPassword  = "ReadOnly",
        AllowUserPrinting = false,
        AllowUserCopyPasteContent = false
    }
};

// Render any HTML
using PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Advanced Options Demo</h1>");

// Digitally sign with a PFX certificate (optional)
pdf.SignAndStamp("./certs/company.pfx", "Iron Software", "Bangkok", "Approval");

// Save
pdf.SaveAs("advanced-options-demo.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

これらのオプションが重要な理由

  • PaperSizeMargins、および CssMediaType はブラウザの印刷ダイアログを反映するため、オンスクリーンのレイアウトと PDF は Windows、Linux、Docker で同一のままです。
  • HtmlStamp — 単一の行でブランド化された透かしを作成し、全面的なHTML + CSS制御を実現します。
  • セキュリティオプション — 128ビットの暗号化、所有者/ユーザーパスワード、および細かい権限をサードパーティのツールを使用せずに有効にします。
  • デジタル署名 — コード内で暗号学的シールを直接追加し、法的真正性と改ざんされた証拠を維持します。
  • デジタル署名 はコード内に暗号的シールを直接追加し、法的な真正性と改ざんの証拠を維持します。
  • ExtractAllText および ExtractAllImages などの抽出ヘルパーは、分析が必要な場合にプロセスを逆戻りさせます。

クイックリファレンス - 人気の設定

class="accordion-item"> ## id="layHead">
data-bs-parent="#advRenderAcc">
class="accordion-body">

`PaperSize`, `PaperOrientation`, `Margins`, `CssMediaType`, `RenderDelay`

PaperSizePaperOrientationMarginsCssMediaTypeRenderDelay

class="accordion-item"> ## id="headFoot">
data-bs-parent="#advRenderAcc">
class="accordion-body">

`HtmlHeader`, `HtmlFooter`, 動的Razorプレースホルダ, ページ番号トークン

HtmlHeaderHtmlFooter、動的Razorプレースホルダ、ページ番号トークン

class="accordion-item"> ## id="wmHead">
data-bs-parent="#advRenderAcc">
class="accordion-body">

`Watermark`, `HtmlStamp`, 不透明度, 対揃え

class="accordion-item"> ## id="secHead">
data-bs-parent="#advRenderAcc">
class="accordion-body">

`SecurityOptions`, `SignAndStamp`, 所有者 / ユーザーパスワード, 128ビットAES, 証明書シーリング

SecurityOptionsSignAndStamp、所有者/ユーザーパスワード、証明書の封印

次のタスク: 複数のPDFをマージし、テキストと画像を抽出し、Dockerまたはサーバーレスにデプロイします。 ## PDF生成コードをLinuxおよびWindowsのDockerにどのようにデプロイできますか?


IronPDFは単一の自己完結型NuGetパッケージとして出荷され、ASP.NET Core(またはコンソール)アプリをWindowsとLinuxの両方でコンテナ化するのは簡単です。

鍵は発行されたバイナリをスリムなランタイムイメージにコピーし、LinuxではIronPDFが必要とする2つのネイティブライブラリ(libnss3libatk1.0-0)を追加することです。 鍵となるのは、公開されたバイナリをスリムなランタイムイメージにコピーし、Linux では IronPDF が必要とする二つのネイティブライブラリ(libnss3libatk1.0-0)を追加することです。

[{i:(なぜマルチステージ? SDKイメージ(ステージ1)はプロジェクトをコンパイルします;

なぜマルチステージなのかSDKイメージ(ステージ1)はプロジェクトをコンパイルします; 最終的なランタイムイメージ(ステージ2)は、ビルドツールが破棄されるため、120MB未満に抑えられます。

####### ---------- stage 1 ----------
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /src
COPY ["MyPdfApp.csproj", "."]
RUN dotnet restore

COPY . .
RUN dotnet publish -c Release -o /app/publish

####### ---------- stage 2 ----------
FROM mcr.microsoft.com/dotnet/aspnet:8.0-jammy
######## Install two native libs required by Chromium
RUN apt-get update && \
    apt-get install -y --no-install-recommends libnss3 libatk1.0-0 && \
    rm -rf /var/lib/apt/lists/*

WORKDIR /app
COPY --from=build /app/publish .
ENTRYPOINT ["dotnet", "MyPdfApp.dll"]

BRACKET-i-OPEN--@@Windowsコンテナmcr.microsoft.com/dotnet/aspnet:8.0-windowsservercore-ltsc2022で第2ステージを置き換えてください。

  • APIアクションは内部でChromePdfRenderer.RenderUrlAsPdfを呼び出し、ちょうどSection2のようにします。
docker build -t pdf-demo .
docker run --rm -p 8080:80 pdf-demo
######### ↳ Navigate to http://localhost:8080/api/pdf?url=https://example.com
docker build -t pdf-demo .
docker run --rm -p 8080:80 pdf-demo
######### ↳ Navigate to http://localhost:8080/api/pdf?url=https://example.com
SHELL
  • APIアクションは、セクション2と同様に内部的にChromePdfRenderer.RenderUrlAsPdfを呼び出します。
  • IronPDF はコンテナ内でサンドボックス化された Chromium プロセスを起動します - ヘッドレスでレンダリングするため、X サーバーは不要です。
  • 大きなレンダリングでもメモリフットプリントは 200 MB 以下に保たれます。

トラブルシューティングのヒント:コンテナのログに"libnss3.so not found"エラーが表示されたら、libnss3libatk1.0-0の両方が存在することを確認してください。 muslのC#ライブラリには必要なシンボルがないため、アルパインの画像はサポートされていません。


.NET Core で既存の PDF を開いたり、マージしたり、透かしを入れたり、コンテンツを抽出するにはどうすればよいですか?

IronPDF は、IronPDF、Adobe® Acrobat、またはサードパーティツールによって生成された PDF をすべて一級の PdfDocument オブジェクトとして扱い、品質劣化なしに開いたり、編集したり、保護したり、再保存したりできます。 同じAPIサーフェスは、現在.NET 8 LTSで動作し、.NET 9プレビューと近日リリース予定の.NET 10で変更なくコンパイルできます。

統一サンプル — 開く → マージ → 透かし → 抽出

// ManipulateExistingPdf.cs — .NET 8 LTS compatible
using IronPdf;
using System.Linq;

// Step 1: Open two existing files (password-protected PDFs are supported)
PdfDocument invoice  = PdfDocument.FromFile("invoice.pdf", "ReadOnly");   // open with user pwd
PdfDocument tAndCs   = PdfDocument.FromFile("terms.pdf");                 // no pwd required

// Step 2: Merge them (invoice pages first, then T&Cs)
PdfDocument mergedPdf = PdfDocument.Merge(invoice, tAndCs);               // 1-liner merge

// Step 3: Apply a diagonal CONFIDENTIAL watermark to every page
mergedPdf.ApplyStamp(
    "<div style='font-size:60px;color:#d9534f;opacity:0.2;transform:rotate(-45deg);"
  + "width:100%;text-align:center;'>CONFIDENTIAL</div>",
    verticalAlignment   : VerticalAlignment.Center,
    horizontalAlignment : HorizontalAlignment.Center);

// Step 4: Extract all text and the first image for audit purposes
string fullText = mergedPdf.ExtractAllText();
var    image    = mergedPdf.ExtractAllImages().FirstOrDefault();

// Step 5: Save or stream
mergedPdf.SaveAs("invoice-with-terms.pdf");
// ManipulateExistingPdf.cs — .NET 8 LTS compatible
using IronPdf;
using System.Linq;

// Step 1: Open two existing files (password-protected PDFs are supported)
PdfDocument invoice  = PdfDocument.FromFile("invoice.pdf", "ReadOnly");   // open with user pwd
PdfDocument tAndCs   = PdfDocument.FromFile("terms.pdf");                 // no pwd required

// Step 2: Merge them (invoice pages first, then T&Cs)
PdfDocument mergedPdf = PdfDocument.Merge(invoice, tAndCs);               // 1-liner merge

// Step 3: Apply a diagonal CONFIDENTIAL watermark to every page
mergedPdf.ApplyStamp(
    "<div style='font-size:60px;color:#d9534f;opacity:0.2;transform:rotate(-45deg);"
  + "width:100%;text-align:center;'>CONFIDENTIAL</div>",
    verticalAlignment   : VerticalAlignment.Center,
    horizontalAlignment : HorizontalAlignment.Center);

// Step 4: Extract all text and the first image for audit purposes
string fullText = mergedPdf.ExtractAllText();
var    image    = mergedPdf.ExtractAllImages().FirstOrDefault();

// Step 5: Save or stream
mergedPdf.SaveAs("invoice-with-terms.pdf");
' ManipulateExistingPdf.cs — .NET 8 LTS compatible
Imports IronPdf
Imports System.Linq

' Step 1: Open two existing files (password-protected PDFs are supported)
Private invoice As PdfDocument = PdfDocument.FromFile("invoice.pdf", "ReadOnly") ' open with user pwd
Private tAndCs As PdfDocument = PdfDocument.FromFile("terms.pdf") ' no pwd required

' Step 2: Merge them (invoice pages first, then T&Cs)
Private mergedPdf As PdfDocument = PdfDocument.Merge(invoice, tAndCs) ' 1-liner merge

' Step 3: Apply a diagonal CONFIDENTIAL watermark to every page
mergedPdf.ApplyStamp("<div style='font-size:60px;color:#d9534f;opacity:0.2;transform:rotate(-45deg);" & "width:100%;text-align:center;'>CONFIDENTIAL</div>", verticalAlignment := VerticalAlignment.Center, horizontalAlignment := HorizontalAlignment.Center)

' Step 4: Extract all text and the first image for audit purposes
Dim fullText As String = mergedPdf.ExtractAllText()
Dim image = mergedPdf.ExtractAllImages().FirstOrDefault()

' Step 5: Save or stream
mergedPdf.SaveAs("invoice-with-terms.pdf")
$vbLabelText   $csharpLabel

これが重要な理由

  • 開く&マージPdfDocument.FromFileは、暗号化されたファイルを含む、すべての標準準拠のPDFを読み込み、PdfDocument.Mergeは、単一の呼び出しで任意の数の文書を連結します。
  • ウォーターマークApplyStamp(エイリアス HtmlStamp)は、ラスタライズなしで選択したページに完全にスタイリングされたHTML/CSSオーバーレイ(ロゴ、QRコード、または斜めのテキスト)を埋め込みます。
  • コンテンツ抽出ExtractAllTextおよび ExtractAllImagesは、下流のアーカイブまたはAIパイプライン用に、生のUTF-8テキストまたはバイナリ画像ストリームを取得します。
  • デジタル署名の準備完了 – 同じ PdfDocument インスタンスに SignAndStamp を適用することで、ファイルをRFC 3161準拠のハッシュで封印します。
  • オープンスタンダード準拠 – IronPDFは元のPDF構造(フォント、レイヤー、XMPメタデータ)を保持するため、出力はAdobe® Readerやその他のISO 32000-1ビューワーと互換性があります。
  • 将来に備える – このAPIは相互運用性アセンブリやWin32 GDI呼び出しを避けるため、コードはWindows、Linux、Docker、および今後の.NET 10サーバーレスSKUでも変更なしで実行されます。

ページを分割、回転、または削除する必要がありますか? 詳細な操作については、ページレベルの編集チュートリアルをご覧ください。


.NET CoreでPDFを暗号化およびデジタル署名するにはどうすればよいですか?

IronPDFはドキュメントを2ステップで保護します: AESベースの暗号化(ユーザー/所有者パスワード + グラニュラー権限)および X.509デジタル署名 を使用して、ファイルを暗号ハッシュで封印します。 両方のAPIは同じ PdfDocument オブジェクト上で動作するため、ワークフローは現在の.NET 8 LTSでも同じで、.NET 9プレビューや今後の.NET 10リリースでも変更なしにコンパイルされます。

例 — 256ビットAESを適用し、印刷権をロックし、目に見える署名を追加する

// SecureAndSign.cs — .NET 8 LTS compatible
using IronPdf;

// Step 1: Load an existing PDF (or produce one with RenderHtmlAsPdf)
PdfDocument pdf = PdfDocument.FromFile("financial-report.pdf");

// Step 2: Configure AES-256 encryption & permissions
pdf.SecuritySettings = new PdfSecuritySettings
{
    EncryptionAlgorithm   = PdfEncryptionAlgorithm.AES256Bit,
    OwnerPassword         = "IronAdmin!2025",
    UserPassword          = "ReadOnly",
    AllowUserPrinting     = PdfPrintSecurity.Disabled,
    AllowUserCopyPasteContent = false,
    AllowUserAnnotations  = false
};

// Step 3: Digitally sign with a PFX certificate
pdf.SignAndStamp(
    certificatePath : "./certs/ironsoftware.pfx",
    authority       : "Iron Software Ltd.",
    location        : "Chicago, IL",
    reason          : "Final approval"
);

// Step 4: Persist or stream
pdf.SaveAs("financial-report-secured-signed.pdf");
// SecureAndSign.cs — .NET 8 LTS compatible
using IronPdf;

// Step 1: Load an existing PDF (or produce one with RenderHtmlAsPdf)
PdfDocument pdf = PdfDocument.FromFile("financial-report.pdf");

// Step 2: Configure AES-256 encryption & permissions
pdf.SecuritySettings = new PdfSecuritySettings
{
    EncryptionAlgorithm   = PdfEncryptionAlgorithm.AES256Bit,
    OwnerPassword         = "IronAdmin!2025",
    UserPassword          = "ReadOnly",
    AllowUserPrinting     = PdfPrintSecurity.Disabled,
    AllowUserCopyPasteContent = false,
    AllowUserAnnotations  = false
};

// Step 3: Digitally sign with a PFX certificate
pdf.SignAndStamp(
    certificatePath : "./certs/ironsoftware.pfx",
    authority       : "Iron Software Ltd.",
    location        : "Chicago, IL",
    reason          : "Final approval"
);

// Step 4: Persist or stream
pdf.SaveAs("financial-report-secured-signed.pdf");
' SecureAndSign.cs — .NET 8 LTS compatible
Imports IronPdf

' Step 1: Load an existing PDF (or produce one with RenderHtmlAsPdf)
Private pdf As PdfDocument = PdfDocument.FromFile("financial-report.pdf")

' Step 2: Configure AES-256 encryption & permissions
pdf.SecuritySettings = New PdfSecuritySettings With {
	.EncryptionAlgorithm = PdfEncryptionAlgorithm.AES256Bit,
	.OwnerPassword = "IronAdmin!2025",
	.UserPassword = "ReadOnly",
	.AllowUserPrinting = PdfPrintSecurity.Disabled,
	.AllowUserCopyPasteContent = False,
	.AllowUserAnnotations = False
}

' Step 3: Digitally sign with a PFX certificate
pdf.SignAndStamp(certificatePath := "./certs/ironsoftware.pfx", authority := "Iron Software Ltd.", location := "Chicago, IL", reason := "Final approval")

' Step 4: Persist or stream
pdf.SaveAs("financial-report-secured-signed.pdf")
$vbLabelText   $csharpLabel

舞台裏

  • AES-256暗号化 — IronPDFはNIST承認のAESキーでペイロードをラップし、無許可の開封、印刷、またはコピー&ペーストをブロックします。
  • 権限の細分化AllowUserPrinting および AllowUserFormDataなどのプロパティがアクションごとの権利を切り替えます; 制限を有効にするには、所有者パスワードが必要です。
  • デジタル署名SignAndStampはRFC 3161タイムスタンプと証明書チェーンを埋め込み、Adobe® Acrobatやその他のISO 32000-2ビューワーによって認識される改ざん防止ハッシュを作成します。
  • ワンストップAPI -- 暗号化と署名は同じPdfDocumentインスタンスを変更し、複数のファイルパスを避け、内部フォント、レイヤー、メタデータを保持します。

トラブルシューティングのヒント:Adobe Readerが"無効な署名"と報告した場合、PFXが信頼できるルート証明書を含み、reason/location文字列がASCII-cleanであることを確認してください。

コアセキュリティ設定

PdfSecuritySettingsOwnerPassword, UserPassword, EncryptionAlgorithm, AllowUserPrinting.

PdfDocument.SignAndStamp - PFX パス、権限、場所、理由、タイムスタンプ

深堀りのための内部リソース


HTMLからPDFへのパフォーマンスを最適化し、スケールさせるにはどうすればよいですか?

1. バッチレンダリングをバックグラウンドスレッドプールで行う - ChromePdfRendererスレッドセーフです。単一のインスタンスがデッドロックせずに数十の同時タスクをサービスできます。

  • Parallel.ForEachはすべてのCPUコアを最大限に活用します。典型的なサーバーでは単一スレッドループと比較して4~6倍のスループットが得られます。
// BatchRender.cs — Thread-safe on .NET 8+
using IronPdf;
using System.Threading.Tasks;

var htmlSources = Directory.GetFiles("./html", "*.html");
var renderer    = new ChromePdfRenderer();                 // reuse 1 instance

Parallel.ForEach(htmlSources, new ParallelOptions { MaxDegreeOfParallelism = Environment.ProcessorCount }, file =>
{
    string html = File.ReadAllText(file);
    using PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
    pdf.SaveAs(Path.ChangeExtension(file, ".pdf"));
});
// BatchRender.cs — Thread-safe on .NET 8+
using IronPdf;
using System.Threading.Tasks;

var htmlSources = Directory.GetFiles("./html", "*.html");
var renderer    = new ChromePdfRenderer();                 // reuse 1 instance

Parallel.ForEach(htmlSources, new ParallelOptions { MaxDegreeOfParallelism = Environment.ProcessorCount }, file =>
{
    string html = File.ReadAllText(file);
    using PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
    pdf.SaveAs(Path.ChangeExtension(file, ".pdf"));
});
' BatchRender.cs — Thread-safe on .NET 8+
Imports IronPdf
Imports System.Threading.Tasks

Private htmlSources = Directory.GetFiles("./html", "*.html")
Private renderer = New ChromePdfRenderer() ' reuse 1 instance

Parallel.ForEach(htmlSources, New ParallelOptions With {.MaxDegreeOfParallelism = Environment.ProcessorCount}, Sub(file)
	Dim html As String = File.ReadAllText(file)
	Using pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)
		pdf.SaveAs(Path.ChangeExtension(file, ".pdf"))
	End Using
End Sub)
$vbLabelText   $csharpLabel

2. ヘッドレスChromeの起動コストを削減

IronPDF は独自の Chromium ビルドを出荷しますが、レンダリングごとに小さな起動税が発生します。 プーリングが役立ち、 Linux コンテナーには 2 つのネイティブ ライブラリが含まれている必要があります。

RUN apt-get update && \
    apt-get install -y --no-install-recommends libnss3 libatk1.0-0

Missing either library manifests as a libnss3.so not found error in Docker logs.

Recommended Chrome flags (automatically applied by IronPDF) include --disable-gpu and --no-sandbox to reduce memory and root-user issues in containers.

3. RenderDelayまたはWaitForを使用して遅延するJavaScriptを待つ

DOMContentLoaded後にカウンタをアニメーション化したりデータを取得したりするページは、短い遅延が必要かもしれません。

renderer.RenderingOptions.RenderDelay = 200;        // ms
// OR: renderer.RenderingOptions.JavaScript = "WaitFor('window.doneLoading')";
renderer.RenderingOptions.RenderDelay = 200;        // ms
// OR: renderer.RenderingOptions.JavaScript = "WaitFor('window.doneLoading')";
renderer.RenderingOptions.RenderDelay = 200 ' ms
' OR: renderer.RenderingOptions.JavaScript = "WaitFor('window.doneLoading')";
$vbLabelText   $csharpLabel

カスタムプロミスやDOMポーリングのための専用のWaitForチュートリアルを参照してください。

4. 1つのリクエストのためのデバッグログを有効にする

renderer.LoggingOptions.DebugMode        = true;
renderer.LoggingOptions.LogsToConsole    = true;
renderer.LoggingOptions.LogFilePath      = "./logs/ironpdf-debug.log";
renderer.LoggingOptions.DebugMode        = true;
renderer.LoggingOptions.LogsToConsole    = true;
renderer.LoggingOptions.LogFilePath      = "./logs/ironpdf-debug.log";
renderer.LoggingOptions.DebugMode = True
renderer.LoggingOptions.LogsToConsole = True
renderer.LoggingOptions.LogFilePath = "./logs/ironpdf-debug.log"
$vbLabelText   $csharpLabel

ライブDevToolsトレースは、欠けているフォント、404画像、およびコードの再コンパイルを必要としないタイミングイベントを明らかにします。

5. 再レンダリングの代わりにテンプレートPDFを再利用する

請求書の実行のためには、プレースホルダを持つテンプレートPDFを作成し、複雑なHTMLを再構築する代わりにテキスト置換を行います。 それは10倍速く、メモリ的にも軽いです。

クイックチューニングチェックリスト

Parallel.ForEachasync/await、単一のChromePdfRendererを再利用します。

aspnet:8.0-jammy; install libnss3 + libatk1.0-0; flags --no-sandbox, --disable-gpu を使用してください。

さらなる読み物


無料トライアルをダウンロードし、ライセンスを選び、専門のサポートを受けられる場所はどこですか? {#anchor-10-resources}

30日間のトライアルキーは、Start Free Trialフォームから即座に発行され、透かしなしでHTML-to-PDF、デジタル署名、暗号化を含むすべての機能を解除します。

ライブラリを評価した後、永久的なデベロッパーデプロイ、またはエンタープライズライセンスを選択してください; 各プランは無料の小規模アップデートと開発/ステージング/本番使用権利、および30日間の返金保証を含みます。 キーの適用は、単一のコード行(IronPdf.License.LicenseKey = "YOUR-KEY";)であり、CI/CDパイプラインで自動化することができます。

包括的なドキュメント—クイックスタートガイドAPIリファレンス、およびチュートリアルビデオ—はドキュメントポータルにあり、すべての.NETリリースに合わせて更新されます。

エンジニアリングの質問はシカゴに拠点を置くサポートチームから、ライブチャットメール、または電話で1営業日以内に応答されます。

パフォーマンスチューニングと配置に関するFAQは、パフォーマンスアシスタンスセンターに集約されています。

クイックリンク

リソースURLその重要性
30日間のトライアルキーを取得するhttps://ironpdf.com/demos/透かしなしですべての機能を解除
ライセンスと価格https://ironpdf.com/licensing/永久またはサブスクリプションプラン; Iron Suite は 10 のライブラリをまとめています
APIリファレンスhttps://ironpdf.com/object-reference/api/完全なクラスドキュメント、例: ChromePdfRenderer
ドキュメントポータルhttps://ironpdf.com/docs/ガイド、チュートリアル、サンプルプロジェクト
パフォーマンスアシスタンスhttps://ironpdf.com/troubleshooting/ironpdf-performance-assistance/最適化とスケーリングのヒント
サポートに連絡するhttps://ironsoftware.com/contact-us/ライブチャット、電子メール、電話サポート

次のステップ

  1. サンプルリポジトリをクローンし、MVCビューのレンダリングからAES-256暗号化までのすべての主要機能をデモンストレーションします。
  2. トライアルキーをプラグインし、既存のソリューションでユニットテストを実行してクロスプラットフォーム互換性を検証します。
  3. ライブデモを予約するし、エンジニアリングチームとプロジェクト固有の推奨事項を相談します。

これらのリソースを手にして、あらゆる.NETチームが、オンプレミス、Docker、およびサーバーレスのいずれであっても、単一のスプリントでピクセルパーフェクトなPDFを本番環境に出荷できます。

よくある質問

.NET CoreでHTMLをPDFに変換するにはどうすればよいですか?

IronPDFライブラリを使用して.NET CoreでHTMLをPDFに変換できます。まず、IronPDF NuGetパッケージをインストールし、ChromePdfRendererインスタンスを作成します。RenderHtmlAsPdfメソッドを使用してHTML文字列をPDFに変換します。

ウェブサイトのURLをPDF文書に変換するにはどうすればよいですか?

ウェブサイトのURLをPDF文書に変換するには、IronPDF NuGetパッケージをインストールし、ChromePdfRendererインスタンスを作成し、RenderUrlAsPdfメソッドを使ってURLをPDFにレンダリングします。結果はSaveAsメソッドを使用して保存できます。

RazorビューをPDFに変換する最良の方法は何ですか?

RazorビューをPDFに変換する最良の方法はIronPDFを使用することです。まず、RazorビューをHTML文字列にレンダリングし、この文字列をRenderHtmlAsPdfメソッドに渡してPDF文書を作成します。

PDF文書のセキュリティをどのように強化できますか?

IronPDFを使用してPDFのセキュリティを強化できます。AES-256暗号化、パスワード設定、ユーザー権限の制御を適用します。SecuritySettingsプロパティを介してこれらの設定を構成し、印刷や編集といった操作を制限します。

PDFレンダリングのカスタマイズに対してどのようなオプションがありますか?

IronPDFはChromePdfRenderOptionsクラスを通じてさまざまなレンダリングオプションを提供し、用紙サイズ、方向、マージン、CSSメディアタイプを設定できます。また、ヘッダー、フッター、透かしを追加してカスタマイズされたドキュメント出力も可能です。

DockerコンテナにPDF生成アプリケーションをどのようにデプロイしますか?

DockerコンテナにPDF生成アプリケーションをデプロイするには、DockerfileでLinuxの依存関係を構成し、ユーザー権限を設定します。IronPdf.Installation.LinuxAndDockerDependenciesAutoConfigを利用して依存関係を自動管理します。

C#を使用してPDFに透かしを追加するにはどうすればよいですか?

IronPDFを利用してHtmlStampオブジェクトでWatermarkプロパティを使用することでPDFに透かしを追加できます。高度なオプションには、HtmlStamperクラスを使用してカスタムポジショニングや透過効果を設定できます。

PDF文書にデジタル署名を追加できますか?

はい、IronPDFのPdfSignatureクラスを使用してPDFにデジタル署名を追加できます。PdfDocumentSignメソッドを利用し、証明書ファイルを提供して文書の完全性と信憑性を確保します。

.NET CoreでPDF生成のパフォーマンスをどのように最適化できますか?

スレッドセーフなChromePdfRendererインスタンスを再利用し、マルチスレッディングを有効にし、不要なヘッドレス- ChromeのスタートアップフラグをトリミングすることでPDF生成のパフォーマンスを最適化します。これらの実践によりアプリケーションの効率を向上させます。

このチュートリアルの.NET Core HTMLからPDFへの例は.NET 10でも動作しますか?

はい。IronPDFは.NET 10と完全に互換性があるため、このチュートリアルのChromePdfRenderer HTMLからPDFへの例を.NET 10プロジェクトでコアコードを変更せずに使用できます。主な違いはプロジェクトを作成するときに.NET 10をターゲットにし、その後NuGetから最新のIronPdfパッケージをインストールして、HTML、Razorビュー、またはURLからピクセルパーフェクトなPDFを生成することです。

Jacob Mellor、Ironチームの最高技術責任者(CTO)
最高技術責任者(CTO)

Jacob Mellorは、Iron Softwareの最高技術責任者であり、C# PDF技術の開拓者としてその先進的な役割を担っています。Iron Softwareのコアコードベースのオリジナルデベロッパーである彼は、創業時から製品のアーキテクチャを形作り、CEOのCameron Rimingtonと協力してNASA、Tesla、全世界の政府機関を含む50人以上の会社に成長させました。

Jacobは、1998年から2001年にかけてマンチェスター大学で土木工学の第一級優等学士号(BEng)を取得しました。1999年にロンドンで最初のソフトウェアビジネスを立ち上げ、2005年には最初の.NETコンポーネントを作成し、Microsoftエコシステムにおける複雑な問題の解決を専門にしました。

彼の旗艦製品であるIronPDFとIronSuite .NETライブラリは、全世界で3000万以上のNuGetインストールを達成しており、彼の基本コードが世界中で使用されている開発者ツールを支えています。商業的な経験を25年間積み、コードを書くことを41年間続けるJacobは、企業向けのC#、Java、およびPython PDF技術の革新を推進し続け、次世代の技術リーダーを指導しています。

レビュー済み
Jeff Fritz
Jeffrey T. Fritz
プリンシパルプログラムマネージャー - .NETコミュニティチーム
Jeffはまた、.NETとVisual Studioチームのプリンシパルプログラムマネージャーです。彼は.NET Conf仮想会議シリーズのエグゼクティブプロデューサーであり、週に二回放送される開発者向けライブストリーム『Fritz and Friends』のホストを務め、テクノロジーについて話すことや視聴者と一緒にコードを書くことをしています。Jeffはワークショップ、プレゼンテーション、およびMicrosoft Build、Microsoft Ignite、.NET Conf、Microsoft MVPサミットを含む最大のMicrosoft開発者イベントのコンテンツを企画しています。
準備はできましたか?
Nuget ダウンロード 16,685,821 | バージョン: 2025.12 リリース