C#でIronPDFを使用してPDFにヘッダーとフッターを追加する方法

C#とIronPDFを使ってPDFにヘッダーとフッターを追加する

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

IronPDFでは、単純なテキストであればAddTextHeadersAddTextFooters、HTMLベースのコンテンツであればAddHtmlHeadersAddHtmlFootersといったメソッドを使って、C#で簡単にPDFドキュメントにヘッダーやフッターを追加することができます。 この強力な機能は、一貫したブランディング、ページ番号、文書メタデータを持つプロフェッショナルなPDFを作成するために不可欠です。

PDFドキュメントの各ページの上部または下部にページ番号、会社のロゴ、日付を含める必要がありますか? IronPdfはC#プロジェクトでPDFにヘッダーとフッターを簡単に適用することができます。 レポート、請求書、その他のビジネス文書の作成にかかわらず、ヘッダーとフッターは、文書の使いやすさを向上させる重要なナビゲーションと識別の要素となります。

クイックスタート: C#でPDFにヘッダーとフッターを追加する

C#でIronPDFを使用して、PDFドキュメントにヘッダーとフッターを簡単に追加できます。 このガイドでは、ページ番号やカスタムテキストを含むテキストベースのヘッダーとフッターを数秒で適用する方法を示します。 AddTextHeadersAddTextFootersメソッドを使用して、PDFプレゼンテーションを素早く向上させましょう。 コードを最小限にして更新されたPDFを保存し、ドキュメントをプロフェッショナルに仕上げます。

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

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

    PM > Install-Package IronPdf

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

    new IronPdf.ChromePdfRenderer { RenderingOptions = { TextHeader = new IronPdf.TextHeaderFooter { CenterText = "Report • {date}" }, TextFooter = new IronPdf.TextHeaderFooter { RightText = "Page {page} of {total-pages}" } } }
        .RenderHtmlAsPdf("<h1>Hello World!</h1>")
        .SaveAs("withHeadersFooters.pdf");
  3. 実際の環境でテストするためにデプロイする

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

テキストヘッダー/フッターを追加するにはどうすればよいですか?

テキストだけのヘッダー/フッターを作成するには、TextHeaderFooterオブジェクトをインスタンス化し、希望のテキストを追加し、そのオブジェクトをPDFに追加します。 TextHeaderFooterクラスは、ドキュメントのすべてのページにわたって一貫したテキスト要素を追加する簡単な方法を提供します。 この方法は、複雑なフォーマットやスタイリングを必要としないシンプルなヘッダーやフッターに特に有効です。

:path=/static-assets/pdf/content-code-examples/how-to/headers-and-footers-add-textheaderfooter.cs
using IronPdf;

// Instantiate renderer and create PDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>");

// Create text header
TextHeaderFooter textHeader = new TextHeaderFooter
{
    CenterText = "This is the header!",
};

// Create text footer
TextHeaderFooter textFooter = new TextHeaderFooter
{
    CenterText = "This is the footer!",
};

// Add text header and footer to the PDF
pdf.AddTextHeaders(textHeader);
pdf.AddTextFooters(textFooter);

pdf.SaveAs("addTextHeaderFooter.pdf");
$vbLabelText   $csharpLabel

レンダリング中にヘッダー/フッターを追加するにはどうすればよいですか?

または、レンダラーの RenderingOptions<//code> を使用して、ヘッダー/フッターを直接追加することもできます。 これは、レンダリングプロセス中にテキストのヘッダーとフッターを追加するもので、PDF作成後に追加するよりも効率的です。 この方法は、ヘッダーとフッターの内容が事前に分かっている場合に推奨されます。

:path=/static-assets/pdf/content-code-examples/how-to/headers-and-footers-render-with-textheaderfooter.cs
using IronPdf;

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

// Create header and add to rendering options
renderer.RenderingOptions.TextHeader = new TextHeaderFooter
{
    CenterText = "This is the header!",
};


// Create footer and add to rendering options
renderer.RenderingOptions.TextFooter = new TextHeaderFooter
{
    CenterText = "This is the footer!",
};

// Render PDF with header and footer
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>");
pdf.SaveAs("renderWithTextHeaderFooter.pdf");
$vbLabelText   $csharpLabel

テキストと分割のプロパティをカスタマイズするにはどうすればよいですか?

TextHeaderFooterクラスでは、左、中央、右の位置にテキストを設定できます。 さらに、テキストのフォントタイプとサイズをカスタマイズし、関連するプロパティを設定してカスタムカラーの区切り線を追加することができます。 これらのカスタマイズオプションにより、企業ブランディングや文書スタイルガイドラインに合ったヘッダーやフッターを作成できます。 特に、ヘッダー/フッターとメインコンテンツを視覚的に分離するために、区切り線の機能が役立ちます。

:path=/static-assets/pdf/content-code-examples/how-to/headers-and-footers-textheaderfooter-options.cs
using IronPdf;
using IronPdf.Font;
using IronSoftware.Drawing;

// Create text header
TextHeaderFooter textHeader = new TextHeaderFooter
{
    CenterText = "Center text", // Set the text in the center
    LeftText = "Left text", // Set left-hand side text
    RightText = "Right text", // Set right-hand side text
    Font = IronSoftware.Drawing.FontTypes.ArialBoldItalic, // Set font
    FontSize = 16, // Set font size
    DrawDividerLine = true, // Draw Divider Line
    DrawDividerLineColor = Color.Red, // Set color of divider line
};
$vbLabelText   $csharpLabel

カスタマイズされたテキストヘッダーはどのようなものですか?

左、中央、右のテキスト配置オプションを示すテキスト配置の例

デフォルトで利用可能なフォントはどれですか?

デフォルトで使用可能なフォントタイプを確認するには、IronPDF APIリファレンスをご覧ください。 IronPdfはArial、Times New Roman、Helvetica、Courier、およびそれらのバリエーションを含む幅広い標準フォントをサポートしています。 カスタムフォントが必要な場合は、IronPDFでのフォント管理について詳細をご覧ください。

テキストのヘッダー/フッターの余白を設定するにはどうすればよいですか?

デフォルトでは、IronPDFのテキストヘッダーとフッターにはあらかじめ定義された余白があります。 これは、AddTextHeadersAddTextFooters関数で直接マージンを設定するか、ChromePdfRendererRenderingOptionsで設定します。 マージンコントロールを理解することは、ピクセルパーフェクトなレイアウトを実現するために非常に重要です。

:path=/static-assets/pdf/content-code-examples/how-to/headers-and-footers-textheaderfooter-margins.cs
using IronPdf;

// Instantiate renderer and create PDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>");

TextHeaderFooter header = new TextHeaderFooter
{
    CenterText = "This is the header!",
};

TextHeaderFooter footer = new TextHeaderFooter
{
    CenterText = "This is the footer!",
};

pdf.AddTextHeaders(header, 35, 30, 25); // Left Margin = 35, Right Margin  = 30, Top Margin = 25
pdf.AddTextFooters(footer, 35, 30, 25); // Margin values are in mm
$vbLabelText   $csharpLabel

レンダリング オプションでマージンを適用するにはどうすればよいですか?

ChromePdfRendererRenderingOptionsでマージンの値を追加すると、ヘッダーとフッターにもマージンが適用されます。 このアプローチでは、ヘッダー、フッター、メインコンテンツなど、ドキュメント全体の余白を一元管理できます。 より高度なマージンのカスタマイズについては、カスタムマージンの設定に関するガイドをご覧ください。

:path=/static-assets/pdf/content-code-examples/how-to/headers-and-footers-rendering-options-margins.cs
using IronPdf;

// Instantiate renderer and create PDF
ChromePdfRenderer renderer = new ChromePdfRenderer();

TextHeaderFooter header = new TextHeaderFooter
{
    CenterText = "This is the header!",
};

TextHeaderFooter footer = new TextHeaderFooter
{
    CenterText = "This is the footer!",
};

// Margin values are in mm
renderer.RenderingOptions.MarginRight = 30;
renderer.RenderingOptions.MarginLeft = 30;
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;

// Add header and footer to renderer
renderer.RenderingOptions.TextHeader = header;
renderer.RenderingOptions.TextFooter = footer;

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>");
$vbLabelText   $csharpLabel

UseMarginsOnHeaderAndFooterを避けるべき理由は何ですか?

RenderingOptionsUseMarginsOnHeaderAndFooter プロパティは、この使用例には適していません。 これは、ヘッダー、フッター、メインコンテンツに同じ余白値を適用するため、ヘッダーがドキュメント本文と重なる可能性があります。 このプロパティは主に既存のPDFにAddTextHeadersAndFootersメソッドを使用してヘッダーとフッターを適用するために意図されています。 レイアウトを管理しやすくするために、改ページを使用してコンテンツの流れを管理することを検討してください。

ダイナミック マージン サイジングとは何ですか?

ヘッダーコンテンツが文書間で異なる場合、静的な余白が問題となります。 ヘッダーとフッターの余白だけでなく、異なるヘッダーとフッターのサイズに対応するため、メインのHTMLの余白も調整する必要がありました。 そのため、コンテンツに応じてヘッダーとフッターの高さが動的に調整され、それに応じてメインのHTMLの位置が変更される、ダイナミック・マージン・サイジング機能を実装しました。 この機能は、レスポンシブCSSレイアウトを使用する場合に特に役立ちます。 この機能を試すには、以下のコードを使用してください:

:path=/static-assets/pdf/content-code-examples/how-to/headers-and-footers-dynamic-marigns.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = @"<div style='background-color: #4285f4; color: white; padding: 15px; text-align: center;'>
                    <h1>Example header</h1> <br>
                    <p>Header content</p>
                    </div>",
    // Enable the dynamic height feature
    MaxHeight = HtmlHeaderFooter.FragmentHeight,
};

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Main HTML content</h1>");
pdf.SaveAs("dynamicHeaderSize.pdf");
$vbLabelText   $csharpLabel

テキストヘッダー/フッターにメタデータを追加するにはどうすればよいですか?

テキストにプレースホルダ文字列を組み込むことで、ページ番号、日付、PDFタイトルなどのメタデータを簡単に追加できます。 これらのプレースホルダーは、PDFがレンダリングされるときに自動的に対応する値に置き換えられます。 この機能は、ドキュメントのプロパティに基づいて自動的に更新される動的なヘッダーとフッターを作成するために不可欠です。 利用可能なすべてのメタデータオプションはこちらです:

  • {page}: 現在のページ番号。
  • {total-pages}: 合計ページ数。
  • {url}: PDFドキュメントがレンダリングされたウェブURL。
  • {date}: 現在の日付。
  • {time}: 現在の時刻。
  • {html-title}: HTMLのタグで指定されたHTMLタイトル。
  • {pdf-title}: PDFメタデータで指定されたPDFタイトル。

どのプレースホルダを最も頻繁に使うべきですか?

{page}{total-pages}については、IronPDFページ番号ガイドをご覧ください。これらのプレースホルダーはナビゲーションに不可欠な情報を提供するため、最もよく使われます。 日付と時刻のプレースホルダは、レポートや請求書など、タイムスタンプの追跡が必要な文書で特に役立ちます。

:path=/static-assets/pdf/content-code-examples/how-to/headers-and-footers-mail-merge.cs
using IronPdf;

// Create header and footer
TextHeaderFooter textHeader = new TextHeaderFooter
{
    CenterText = "{page} of {total-pages}",
    LeftText = "Today's date: {date}",
    RightText = "The time: {time}",
};

TextHeaderFooter textFooter = new TextHeaderFooter
{
    CenterText = "Current URL: {url}",
    LeftText = "Title of the HTML: {html-title}",
    RightText = "Title of the PDF: {pdf-title}",
};
$vbLabelText   $csharpLabel

HTMLヘッダー/フッターを追加するにはどうすればよいですか?

HTMLとCSSを使用して、ヘッダー/フッターをさらにカスタマイズできます。 HTMLヘッダー/フッターを作成するには、HtmlHeaderFooterクラスを使用します。 このアプローチでは、ヘッダーとフッターに画像、複雑なレイアウト、スタイル付きコンテンツを含めることができ、最大限の柔軟性を提供します。 CSSスタイルシートからCSSスタイルを保持したい場合は、クラスのプロパティでLoadStylesAndCSSFromMainHtmlDocument = trueを設定してください。 これは、ウェブフォントやアイコンを使用する場合に特に役立ちます。

:path=/static-assets/pdf/content-code-examples/how-to/headers-and-footers-htmlheaderfooter.cs
using IronPdf;

string headerHtml = @"
    <html>
    <head>
        <link rel='stylesheet' href='style.css'>
    </head>
    <body>
        <h1>This is a header!</h1>
    </body>
    </html>";

string footerHtml = @"
    <html>
    <head>
        <link rel='stylesheet' href='style.css'>
    </head>
    <body>
        <h1>This is a footer!</h1>
    </body>
    </html>";

// Instantiate renderer and create PDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>");

// Create header and footer
HtmlHeaderFooter htmlHeader = new HtmlHeaderFooter
{
    HtmlFragment = headerHtml,
    LoadStylesAndCSSFromMainHtmlDocument = true,
};

HtmlHeaderFooter htmlFooter = new HtmlHeaderFooter
{
    HtmlFragment = footerHtml,
    LoadStylesAndCSSFromMainHtmlDocument = true,
};

// Add to PDF
pdf.AddHtmlHeaders(htmlHeader);
pdf.AddHtmlFooters(htmlFooter);
$vbLabelText   $csharpLabel

HTMLのヘッダー/フッターの余白をコントロールするにはどうすればよいですか?

テキストのヘッダーとフッターと同様に、AddHtmlHeadersAddHtmlFootersメソッドには、あらかじめ定義されたマージンが適用されます。 カスタム余白を適用するには、指定された余白値を使用して関数のオーバーロードを使用します。 余白なしでコンテンツ全体をカバーするには、オーバーロード関数の余白を0に設定します。このレベルのコントロールは、特定のレイアウト要件を持つプロフェッショナルなドキュメントを作成する際に不可欠です。

:path=/static-assets/pdf/content-code-examples/how-to/headers-and-footers-htmlheaderfooter-margins.cs
// Add to PDF
pdf.AddHtmlHeaders(header, 0, 0, 0);
pdf.AddHtmlFooters(footer, 0, 0, 0);
$vbLabelText   $csharpLabel

レンダリング中に HTML ヘッダー/フッターを追加できますか?

ヘッダーとフッターの追加は、レンダラーの RenderingOptions<//code> から直接行うこともできます。 これは、レンダリング処理中にHTMLヘッダーとフッターを追加するもので、後処理よりも効率的です。 この方法は、HTMLファイルからPDFを生成したり、URLからPDFに変換したりする場合に特に役立ちます。

:path=/static-assets/pdf/content-code-examples/how-to/headers-and-footers-htmlheaderfooter.cs
using IronPdf;

string headerHtml = @"
    <html>
    <head>
        <link rel='stylesheet' href='style.css'>
    </head>
    <body>
        <h1>This is a header!</h1>
    </body>
    </html>";

string footerHtml = @"
    <html>
    <head>
        <link rel='stylesheet' href='style.css'>
    </head>
    <body>
        <h1>This is a footer!</h1>
    </body>
    </html>";

// Instantiate renderer and create PDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>");

// Create header and footer
HtmlHeaderFooter htmlHeader = new HtmlHeaderFooter
{
    HtmlFragment = headerHtml,
    LoadStylesAndCSSFromMainHtmlDocument = true,
};

HtmlHeaderFooter htmlFooter = new HtmlHeaderFooter
{
    HtmlFragment = footerHtml,
    LoadStylesAndCSSFromMainHtmlDocument = true,
};

// Add to PDF
pdf.AddHtmlHeaders(htmlHeader);
pdf.AddHtmlFooters(htmlFooter);
$vbLabelText   $csharpLabel

テキストとHTMLのヘッダー/フッターはいつ使い分けるべきですか?

ヘッダー/フッターをテキストとHTMLのどちらにするか決めるときは、トレードオフを考慮してください。 PDFのレンダリングを速く優先する場合は、テキストヘッダー/フッターを選びましょう。 カスタマイズ性とスタイリングが不可欠な場合は、HTMLヘッダー/フッターを選択してください。 テキストとHTMLのヘッダー/フッターのレンダリング時間の差は、HTMLのヘッダー/フッターに限られたコンテンツが含まれている場合、最小限に抑えられます。 ただし、HTMLヘッダー/フッターのサイズやアセット数が増えるにつれて、翻訳量は増加します。

パフォーマンスにはどのような影響がありますか?

テキストのヘッダー/フッターは、HTMLの解析やCSSの処理が不要なため、レンダリングが速くなります。 HTMLヘッダー/フッターは、より柔軟性がありますが、複雑さに比例してレンダリング時間が増えます。 大きな文書やバッチ処理を扱う場合、パフォーマンスの違いが顕著になります。 大量のシナリオで最適なパフォーマンスを得るには、非同期PDF生成に関するガイドをご検討ください。

次に何ができるのかを見てみましょうか? チュートリアルのページはこちらをご覧ください:PDFを作成する

よくある質問

C# で PDF にテ キ ス ト のヘ ッ ダ と フ ッ タ を追加す る には?

IronPdfでは、AddTextHeadersメソッドとAddTextFootersメソッドを使ってテキストヘッダーとフッターを追加することができます。TextHeaderFooterオブジェクトをインスタンス化し、必要なテキストを追加し、PDFに適用するだけです。これにより、すべてのページにわたってページ番号や文書タイトルのような一貫性のあるテキスト要素を追加する簡単な方法が提供されます。

PDFのヘッダーやフッターにページ番号を入れることはできますか?

はい、IronPDFは特別なプレースホルダーを使った動的なページ番号付けをサポートしています。TextHeaderFooterオブジェクトで、現在のページ番号には{page}を、総ページ数には{total-pages}を使用できます。例えば、RightText = "{page}の{total-pages}" と設定すると、自動的に各ページに正しいページ番号が表示されます。

CSSスタイリングでHTMLベースのヘッダーとフッターを追加することは可能ですか?

もちろんです!IronPdfはAddHtmlHeadersとAddHtmlFootersメソッドを提供し、完全なCSSスタイリングサポートでHTMLコンテンツを追加することができます。これにより、フォーマットされたテキスト、画像、カスタムスタイルを持つ複雑なヘッダーやフッターを作成することができます。

PDFにヘッダーとフッターを追加する最も効率的な方法は何ですか?

最も効率的な方法は、IronPdfのRenderingOptionsを使ってレンダリングプロセス中にヘッダーとフッターを追加することです。レンダリング前にChromePdfRendererでTextHeaderとTextFooterプロパティを設定することで、PDF作成後に追加するよりも処理時間を短縮できます。

ヘッダー/フッターの左、中央、右のセクションに異なるコンテンツを追加できますか?

はい、IronPDFのTextHeaderFooterクラスはLeftText、CenterText、RightTextプロパティを提供し、各セクションに異なるコンテンツを配置することができます。これにより、左側に日付、中央にタイトル、右側にページ番号のような情報を柔軟に整理することができます。

PDFのヘッダーに会社のロゴを追加するにはどうすればよいですか?

PDFのヘッダーに会社のロゴを追加するには、IronPDFのAddHtmlHeadersメソッドを使用します。HTMLコンテンツにロゴファイルを指す画像タグを記述し、CSSでスタイリングや配置を追加することで、ロゴを必要な位置に正確に表示することができます。

PDFのヘッダーとフッターに日付を含めることはできますか?

はい、IronPDFはTextHeaderFooterオブジェクトの{date}プレースホルダーを使った動的な日付挿入に対応しています。ヘッダーやフッターのテキストに{date}を含めると、PDFが生成されるときに自動的に現在の日付に置き換えられます。

Jordi Bardia
ソフトウェアエンジニア
Jordiは、最も得意な言語がPython、C#、C++であり、Iron Softwareでそのスキルを発揮していない時は、ゲームプログラミングをしています。製品テスト、製品開発、研究の責任を分担し、Jordiは継続的な製品改善において多大な価値を追加しています。この多様な経験は彼を挑戦させ続け、興味を持たせており、Iron Softwareで働くことの好きな側面の一つだと言います。Jordiはフロリダ州マイアミで育ち、フロリダ大学でコンピュータサイエンスと統計学を学びました。
準備はできましたか?
Nuget ダウンロード 17,012,929 | バージョン: 2025.12 リリース