C#を使用してPDFにページ番号を追加する方法
IronPdfはヘッダー/フッターのプレースホルダー文字列{page}と{total-pages}を使ってC#でPDFにページ番号を追加することができます。
ページ番号は、PDF文書内の各ページに割り当てられた連番です。 これらのツールはナビゲーションに不可欠なコンポーネントであり、読者が特定のページを見つけ、その位置を追跡するのに役立ちます。 また、ページ番号を付けることで、コンテンツの引用や参照が容易になります。 IronPdfを使えば、PDFにページ番号を追加するのは簡単です。
クイックスタート: PDFに簡単にページ番号を追加
IronPDFを使用してPDFドキュメントにページ番号を追加します。 最小限のC#コードで、動的なページ番号をヘッダーやフッターに挿入したり、配置をカスタマイズしたり、表示するページを指定したりすることができます。 新しいPDFでも既存のPDFでも、IronPdfはドキュメントのナビゲーションと構成を強化する柔軟なソリューションを提供します。
今すぐ NuGet で PDF を作成してみましょう:
NuGet パッケージ マネージャーを使用して IronPDF をインストールします
このコード スニペットをコピーして実行します。
new IronPdf.ChromePdfRenderer { RenderingOptions = { HtmlFooter = new IronPdf.HtmlHeaderFooter { HtmlFragment = "<center>{page}of{total-pages}</center>", DrawDividerLine = true } } } .RenderHtmlAsPdf("<h1>My multi-page document</h1><div style='page-break-after:always;'></div><h1>Page 2</h1>") .SaveAs("numbered-pages.pdf");実際の環境でテストするためにデプロイする
最小限のワークフロー(5ステップ)
- NuGetからC# PDFライブラリをダウンロードする。
- 既存の PDF ドキュメントを読み込むか、新しいものをレンダリングします
- ページ番号を挿入するには、ヘッダーとフッターでプレースホルダー文字列{page}と{total-pages}を使用してください。
- 特定のページまたはセクションにページ番号を適用します
- 生成された PDF ドキュメントをレビューします
PDFに基本的なページ番号を追加するにはどうすればよいですか?
TextHeaderFooterまたはHtmlHeaderFooterクラスでプレースホルダ文字列 {page}と {total-pages}を使用すると、現在のページ番号と総ページ数を追加できます。 この機能は、新しいPDFを作成するときや、HTMLをPDFに変換するときなど、プロフェッショナルな書式設定が必要な文書には不可欠です。
:path=/static-assets/pdf/content-code-examples/how-to/page-numbers-basic.csusing IronPdf;
// Create text header
TextHeaderFooter textHeader = new TextHeaderFooter()
{
CenterText = "{page} of {total-pages}"
};
// Create html footer
HtmlHeaderFooter htmlFooter = new HtmlHeaderFooter()
{
HtmlFragment = "<center><i>{page} of {total-pages}<i></center>"
};
// Render a new PDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>");
// Add header and footer
pdf.AddTextHeaders(textHeader);
pdf.AddHtmlFooters(htmlFooter);
pdf.SaveAs("pdfWithPageNumber.pdf");上記のコードからの出力PDFは以下に示されています:
また、ChromePdfRendererのレンダリングオプションに直接、ページ番号プレースホルダ文字列を含むヘッダーとフッターを追加することもできます。 このアプローチは、レンダリングオプションを使ってPDF出力をカスタマイズするときに役立ちます。
:path=/static-assets/pdf/content-code-examples/how-to/page-numbers-chromerenderer.csusing IronPdf;
// Add header and footer to rendering options
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
{
CenterText = "{page} of {total-pages}"
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
HtmlFragment = "<center><i>{page} of {total-pages}<i></center>"
};
string html = @"
<h1>Hello World!</h1>
<div style='page-break-after: always;'/>
<h1>2nd Page!</h1>";
// Render new PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("applyPageNumberWithRenderingOptions.pdf");特定のページだけにページ番号を追加するにはどうすればよいですか?
IronPdfでは、ページ番号の表示位置をコントロールすることができます。 特定のページから始めるようにするか、偶数インデックスページのような特定のグループに適用します。 PDFレポートを生成するときや、異なるセクションを含むドキュメントを扱うときに、この柔軟性は貴重です。
まず、PDF文書にページ番号を付ける準備をします:
:path=/static-assets/pdf/content-code-examples/how-to/page-numbers-preparation.csusing IronPdf;
using System.Linq;
using System.Collections.Generic;
string multi_page_html = @"
<p>This is the 1st Page</p>
<div style = 'page-break-after: always;' ></div>
<p>This is the 2nd Page</p>
<div style = 'page-break-after: always;' ></div>
<p>This is the 3rd Page</p>
<div style = 'page-break-after: always;' ></div>
<p>This is the 4th Page</p>
<div style = 'page-break-after: always;' ></div>
<p>This is the 5th Page</p>
<div style = 'page-break-after: always;' ></div>
<p>This is the 6th Page</p>
<div style = 'page-break-after: always;' ></div>
<p>This is the 7th Page</p>";
// Create header
HtmlHeaderFooter header = new HtmlHeaderFooter()
{
HtmlFragment = "<center><i>{page} of {total-pages}<i></center>"
};
// Render PDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(multi_page_html);
// Create a Page Range 0..6
var allPageIndices = Enumerable.Range(0, pdf.PageCount);偶数ページのみに番号を振るにはどうすればよいですか?
このコードでは、前の例に基づいて、偶数ページのインデックスにのみページ番号を適用します。 フィルタリングは偶数ページのインデックスを対象としているため、出来上がったPDFには奇数ページの数字が表示されます。 ページインデックスはゼロから始まり、ページ番号は一から始まります。 この手法は、伝統的な書籍の書式に従った文書や、マージされたPDF文書を扱う場合に適しています。
:path=/static-assets/pdf/content-code-examples/how-to/page-numbers-even-pages.cs// Get even page indexes (resulting in odd page numbers)
var evenPageIndices = allPageIndices.Where(i => i % 2 == 0);
pdf.AddHtmlHeaders(header, 1, evenPageIndices);
pdf.SaveAs("EvenPages.pdf");奇数ページのみに番号を振るにはどうすればよいですか?
奇数の索引番号を持つページにページ番号を追加します。 このアプローチは、両面印刷のシナリオで一般的で、印刷されたドキュメントの片面だけにページ番号を表示する必要があります。
:path=/static-assets/pdf/content-code-examples/how-to/page-numbers-odd-pages.cs// Get odd page indexes (resulting in even page numbers)
var oddPageIndexes = allPageIndices.Where(i => i % 2 != 0);
pdf.AddHtmlHeaders(header, 1, oddPageIndexes);
pdf.SaveAs("OddPages.pdf");最後のページだけにページ番号を追加するにはどうすればよいですか?
最終ページにのみページ番号を追加します。 これは、要約ページや文書の終わりを示す場合に便利です。
:path=/static-assets/pdf/content-code-examples/how-to/page-numbers-last-page-only.cs// Last page only
var lastPageIndex = new List<int>() { pdf.PageCount - 1 };
pdf.AddHtmlHeaders(header, 1, lastPageIndex);
pdf.SaveAs("LastPageOnly.pdf");最初のページだけにページ番号を追加するにはどうすればよいですか?
最初のページにのみページ番号を追加します。 これは、カバーページや、最初のページのみ識別が必要な文書に適しています。
:path=/static-assets/pdf/content-code-examples/how-to/page-numbers-first-page-only.cs// First page only
var firstPageIndex = new List<int>() { 0 };
pdf.AddHtmlHeaders(header, 1, firstPageIndex);
pdf.SaveAs("FirstPageOnly.pdf");ページ番号を追加するときに最初のページをスキップするにはどうすればよいですか?
ヘッダーを適用するときに最初のページをスキップします。 この一般的な要件は、ページ番号を表示すべきではない表紙やタイトルページのある文書にも適用されます。 PDFフォームやカバーレターを含む文書を扱う場合、このテクニックはプロフェッショナルな書式を保証します。
:path=/static-assets/pdf/content-code-examples/how-to/page-numbers-skip-first-page.cs// Skip the first page
var skipFirstPage = allPageIndices.Skip(1);
pdf.AddHtmlHeaders(header, 1, skipFirstPage);
pdf.SaveAs("SkipFirstPage.pdf");最初のページをスキップして、2ページ目に1から番号を振るにはどうすればよいですか?
1ページ目は省略し、2ページ目から1ページ目とみなしてナンバリングを始めます。この方法は、学術論文や正式な報告書など、表紙がページ番号の順序にカウントされるべきでない文書に適しています。
:path=/static-assets/pdf/content-code-examples/how-to/page-numbers-skip-first-page-and-dont-count-it.cs// Skip the first page and start numbering the second page as page 1
var skipFirstPageAndDontCountIt = allPageIndices.Skip(1);
pdf.AddHtmlHeaders(header, 0, skipFirstPageAndDontCountIt);
pdf.SaveAs("SkipFirstPageAndDontCountIt.pdf");すべてのメタデータオプションについては、IronPDFヘッダーとフッターガイドをご覧ください。
高度なページ番号付けのテクニック
IronPDFは基本的なページ番号だけでなく、次のような高度なシナリオもサポートしています:
- セクションベースのナンバリング:文書のセクションごとに異なる番号付けスキーム
- ローマ数字:序文や付録ページのカスタムフォーマット
- 複数のナンバリングシステム:1つの文書で異なるナンバリングスタイルを組み合わせる
- 動的ページ数:ページを追加またはコピーするときに総ページ数を更新する。
これらのテクニックは、技術マニュアル、学術論文、高度なページ番号スキームを必要とする法律文書など、複雑な文書を作成する際に役立ちます。
ページ番号のベストプラクティス
PDFにページ番号を付ける場合は、以下のことを考慮してください:
1.一貫性:文書全体で一貫した位置と書式を維持する。 2.読みやすさ:ページ番号がはっきりと見え、コンテンツと重ならないようにすること。 3.アクセシビリティ:読みやすいように、適切なフォントサイズとコントラストを使用してください。 4.プロフェッショナルな外観:ページ番号のスタイルを文書全体のデザインに合わせましょう。
これらのガイドラインに従い、IronPdfの柔軟なページ番号機能を活用することで、特定の要件を満たすプロフェッショナルで整理されたPDFドキュメントを作成することができます。
よくある質問
C# で PDF に基本的なページ番号を付けるには?
IronPDFでは、TextHeaderFooterまたはHtmlHeaderFooterクラスのプレースホルダー文字列{page}と{total-pages}を使ってページ番号を追加することができます。これらのプレースホルダーをヘッダーやフッターのHTMLフラグメントに含めるだけで、IronPDFはPDFをレンダリングする際に自動的に現在のページ番号と総ページ数に置き換えます。
レンダリングオプションでページ番号を直接追加できますか?
はい、IronPdfのChromePdfRendererのレンダリングオプションに直接ページ番号を追加することができます。この方法では、レンダリング設定の一部としてヘッダーやフッターにページ番号のプレースホルダー文字列を設定することができ、レンダリングオプションでPDF出力をカスタマイズする場合に特に便利です。
ページ番号にはどのようなプレースホルダ文字列が使用できますか?
IronPdfはページ番号のために2つの主要なプレースホルダー文字列を提供します:{page}は現在のページ番号を表示し、{total-pages}は文書内の総ページ数を表示します。これらのプレースホルダはPDFがレンダリングされるときに自動的に実際の値に置き換えられます。
特定のページだけにページ番号を付けることはできますか?
はい、IronPDFでは文書内のページ番号をコントロールすることができます。ページ番号を表示するページを指定し、表紙から除外したり、PDFの特定のセクションにのみ適用することができます。
ページ番号の配置やスタイルをカスタマイズできますか?
もちろんです。IronPDFのHtmlHeaderFooterクラスでは、HTMLとCSSを使ってページ番号の配置、スタイル、書式をカスタマイズできます。ページ番号の位置、フォント、サイズ、色を制御し、仕切り線やその他の装飾要素を追加することもできます。
既存のPDF文書にページ番号を追加できますか?
はい、IronPDFは新しいPDFと既存のPDFドキュメントの両方にページ番号を追加することをサポートしています。既存のPDF文書を読み込み、ヘッダーやフッターにページ番号を付けることができます。







