using IronPdf;// Create text headerTextHeaderFooter textHeader = new TextHeaderFooter(){CenterText = "{page} of {total-pages}"};// Create html footerHtmlHeaderFooter htmlFooter = new HtmlHeaderFooter(){HtmlFragment = "<center><i>{page} of {total-pages}<i></center>"};// Render a new PDFChromePdfRenderer renderer = new ChromePdfRenderer();PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>");// Add header and footerpdf.AddTextHeaders(textHeader);pdf.AddHtmlFooters(htmlFooter);pdf.SaveAs("pdfWithPageNumber.pdf");
using 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");
ImportsIronPdf' Create text headerPrivate textHeader As New TextHeaderFooter() With {.CenterText = "{page} of {total-pages}"}' Create html footerPrivate htmlFooter As New HtmlHeaderFooter() With {.HtmlFragment = "<center><i>{page} of {total-pages}<i></center>"}' Render a new PDFPrivate renderer As New ChromePdfRenderer()Private pdf AsPdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>")' Add header and footerpdf.AddTextHeaders(textHeader)pdf.AddHtmlFooters(htmlFooter)pdf.SaveAs("pdfWithPageNumber.pdf")
Imports IronPdf
' Create text header
Private textHeader As New TextHeaderFooter() With {.CenterText = "{page} of {total-pages}"}
' Create html footer
Private htmlFooter As New HtmlHeaderFooter() With {.HtmlFragment = "<center><i>{page} of {total-pages}<i></center>"}
' Render a new PDF
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>")
' Add header and footer
pdf.AddTextHeaders(textHeader)
pdf.AddHtmlFooters(htmlFooter)
pdf.SaveAs("pdfWithPageNumber.pdf")
using IronPdf;// Add header and footer to rendering optionsChromePdfRenderer 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 PDFPdfDocument pdf = renderer.RenderHtmlAsPdf(html);pdf.SaveAs("applyPageNumberWithRenderingOptions.pdf");
using 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");
ImportsIronPdf' Add header and footer to rendering optionsPrivate renderer As New ChromePdfRenderer()renderer.RenderingOptions.TextHeader = New TextHeaderFooter() With {.CenterText = "{page} of {total-pages}"}renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter() With {.HtmlFragment = "<center><i>{page} of {total-pages}<i></center>"}Dim html AsString = " <h1>Hello World!</h1><div style='page-break-after: always;'/> <h1>2nd Page!</h1>"' Render new PDFDim pdf AsPdfDocument = renderer.RenderHtmlAsPdf(html)pdf.SaveAs("applyPageNumberWithRenderingOptions.pdf")
Imports IronPdf
' Add header and footer to rendering options
Private renderer As New ChromePdfRenderer()
renderer.RenderingOptions.TextHeader = New TextHeaderFooter() With {.CenterText = "{page} of {total-pages}"}
renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter() With {.HtmlFragment = "<center><i>{page} of {total-pages}<i></center>"}
Dim html As String = "
<h1>Hello World!</h1>
<div style='page-break-after: always;'/>
<h1>2nd Page!</h1>"
' Render new PDF
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("applyPageNumberWithRenderingOptions.pdf")
using 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 headerHtmlHeaderFooter header = new HtmlHeaderFooter(){HtmlFragment = "<center><i>{page} of {total-pages}<i></center>"};// Render PDFChromePdfRenderer renderer = new ChromePdfRenderer();PdfDocument pdf = renderer.RenderHtmlAsPdf(multi_page_html);// Create a Page Range 0..6var allPageIndices = Enumerable.Range(0, pdf.PageCount);
using 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);
ImportsIronPdfImportsSystem.LinqImportsSystem.Collections.GenericPrivate multi_page_html AsString = " <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 headerPrivate header As New HtmlHeaderFooter() With {.HtmlFragment = "<center><i>{page} of {total-pages}<i></center>"}' Render PDFPrivate renderer As New ChromePdfRenderer()Private pdf AsPdfDocument = renderer.RenderHtmlAsPdf(multi_page_html)' Create a Page Range 0..6Private allPageIndices = Enumerable.Range(0, pdf.PageCount)
Imports IronPdf
Imports System.Linq
Imports System.Collections.Generic
Private multi_page_html As String = "
<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
Private header As New HtmlHeaderFooter() With {.HtmlFragment = "<center><i>{page} of {total-pages}<i></center>"}
' Render PDF
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf(multi_page_html)
' Create a Page Range 0..6
Private allPageIndices = Enumerable.Range(0, pdf.PageCount)
// 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");
// 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");
' Get even page indexes (resulting in odd page numbers)Dim evenPageIndices = allPageIndices.Where(Function(i) i Mod2 = 0)pdf.AddHtmlHeaders(header, 1, evenPageIndices)pdf.SaveAs("EvenPages.pdf")
' Get even page indexes (resulting in odd page numbers)
Dim evenPageIndices = allPageIndices.Where(Function(i) i Mod 2 = 0)
pdf.AddHtmlHeaders(header, 1, evenPageIndices)
pdf.SaveAs("EvenPages.pdf")
// 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");
// 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");
' Get odd page indexes (resulting in even page numbers)Dim oddPageIndexes = allPageIndices.Where(Function(i) i Mod2 <> 0)pdf.AddHtmlHeaders(header, 1, oddPageIndexes)pdf.SaveAs("OddPages.pdf")
' Get odd page indexes (resulting in even page numbers)
Dim oddPageIndexes = allPageIndices.Where(Function(i) i Mod 2 <> 0)
pdf.AddHtmlHeaders(header, 1, oddPageIndexes)
pdf.SaveAs("OddPages.pdf")
最後のページだけにページ番号を追加するにはどうすればよいですか?
最終ページにのみページ番号を追加します。 これは、要約ページや文書の終わりを示す場合に便利です。
// Last page onlyvar lastPageIndex = new List<int>() { pdf.PageCount - 1 };pdf.AddHtmlHeaders(header, 1, lastPageIndex);pdf.SaveAs("LastPageOnly.pdf");
// Last page only
var lastPageIndex = new List<int>() { pdf.PageCount - 1 };
pdf.AddHtmlHeaders(header, 1, lastPageIndex);
pdf.SaveAs("LastPageOnly.pdf");
' Last page onlyDim lastPageIndex = New List(OfInteger)() From {pdf.PageCount - 1}pdf.AddHtmlHeaders(header, 1, lastPageIndex)pdf.SaveAs("LastPageOnly.pdf")
' Last page only
Dim lastPageIndex = New List(Of Integer)() From {pdf.PageCount - 1}
pdf.AddHtmlHeaders(header, 1, lastPageIndex)
pdf.SaveAs("LastPageOnly.pdf")
// Skip the first page and start numbering the second page as page 1var skipFirstPageAndDontCountIt = allPageIndices.Skip(1);pdf.AddHtmlHeaders(header, 0, skipFirstPageAndDontCountIt);pdf.SaveAs("SkipFirstPageAndDontCountIt.pdf");
// 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");
' Skip the first page and start numbering the second page as page 1Dim skipFirstPageAndDontCountIt = allPageIndices.Skip(1)pdf.AddHtmlHeaders(header, 0, skipFirstPageAndDontCountIt)pdf.SaveAs("SkipFirstPageAndDontCountIt.pdf")
' Skip the first page and start numbering the second page as page 1
Dim skipFirstPageAndDontCountIt = allPageIndices.Skip(1)
pdf.AddHtmlHeaders(header, 0, skipFirstPageAndDontCountIt)
pdf.SaveAs("SkipFirstPageAndDontCountIt.pdf")
Can I add page numbers to only even or odd pages in a PDF with IronPDF?
Yes, IronPDF enables you to filter and apply page numbers exclusively to even or odd page indexes, which is ideal for documents needing traditional book formatting.
How can I skip the first page when adding page numbers with IronPDF?
To skip the first page, you can simply adjust the page range indices and apply page numbers starting from the second page onward using IronPDF.
Can IronPDF handle custom page numbering formats like Roman numerals?
Yes, IronPDF can handle various custom formatting options, including Roman numerals, which can be useful for sections like prefaces or appendices.
What are the best practices for implementing page numbers in PDFs using IronPDF?
Ensure consistency in positioning and formatting, maintain readability with clear visibility, use appropriate font sizes for accessibility, and match the style with the document's design for a professional look.