Updated January 22, 2024
How to Add Page Numbers in PDF using C#
Introduction
Page numbers in PDFs inform readers of the document index so they can locate a specific page. They also assist readers in organizing, filling out forms, or preparing for meetings or other interactions. The IronPDF C# library provides editing functionality for PDFs programmatically. In this article, IronPDF will be used to add page numbers to PDF documents.
How to Add Page Number in PDF using C#
- Download Add Page Number in PDF C# library
- Create a New Project in Visual Studio
- Install Library to your Project
- Add the page numbers in a newly created PDF document
- View Page Number in your PDF Document
IronPDF: C# Library
The IronPDF C# library is a whole suite of custom PDF-specific functionality wrapped up into a single, streamlined API. With its set of ready-to-use effects, layouts, and more, it's time for .NET developers to breathe new life into their PDF creations. The IronPDF C# library promises to change that by making PDF creation fast and easy while saving time and money.
Let's take a look at how to add page numbers to a PDF document using the IronPDF C# library.
Create or Open a C# Project
This tutorial will use the latest version of Visual Studio. You must have the .NET Framework installed on your machine because it is needed to run the IronPDF library. Follow the given steps to create the C# project:
- Open Visual Studio
Visual Studio opening ui
- Click on the "Create a New Project" button.
Create a new project in Visual Studio
- Select C# Console Application from project templates and click on the Next button. Now give a name to the project and click on the Next button.
Configure your new project
- After that, select the .NET Framework. The latest version is recommended. After that, click the Create button. It will create the C# project.
The created project with an empty Program.cs file
The C# project has now been created. The IronPDF library can also be added as a reference to any existing C# project. Just open the project and install the IronPDF library. The next section will show how to install the IronPDF library into .NET project.
Install the IronPDF Library
There are many ways to install the IronPDF library:
- Using Package Manager Console
- Using NuGet Package Manager
- By DLL file
Using Package Manager Console
Using the Package Manager Console is the recommended method. Follow the following steps to install IronPDF:
- Open the Package Manager Console (usually located at the bottom of Visual Studio).
- Write the following command in the console.
Install-Package IronPdf
- It will start installing the library. You will see the progress in the console.
- After installation, you will be able to use the IronPDF library in your project.
The progress of installing the IronPdf package in the Package Manager Console tab
Using NuGet Package Manager
Follow the steps below to install the IronPDF library using NuGet Package Manager:
- Open the C# project and go to Tools > NuGet Package Manager > Manage NuGet Packages for Solution.
Navigate to NuGet Package Manager
- It will open the NuGet Package Manager Window. Click on the Browse menu. After that, write IronPDF in the search bar. Select the first one.
Install the IronPdf package using NuGet Package Manager
Click the Install button. It will install the IronPDF library and the project will be ready to use with the IronPDF library.
By DLL file
Alternatively, you can directly download the DLL. After downloading the file, add a reference to the project. Visit our official documentation page for a more detailed installation tutorial.
The installation is now complete. It's time to write the code to add page numbers to the PDF file. This works for both new and existing PDF documents. Let's see how it's done.
Add Page Numbers in the PDF document
It is now time to add the page numbers to a new document. Firstly, the IronPdf
namespace should be added. Add the following code at the top of the code file:
using IronPdf;
using IronPdf;
Imports IronPdf
Now add the following code snippet in the main method of the project:
var html = @"
<p> Hello Iron</p>
<p> This is 1st Page </p>
<div style = 'page-break-after: always;' ></div>
<p> This is 2nd Page</p>
<div style = 'page-break-after: always;' ></div>
<p> This is 3rd Page</p>";
var Renderer = new ChromePdfRenderer();
Renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
MaxHeight = 15, //millimeters
HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
DrawDividerLine = true
};
using var pdfdoc = Renderer.RenderHtmlAsPdf(html);
pdfdoc.SaveAs("pageNumber.pdf");
var html = @"
<p> Hello Iron</p>
<p> This is 1st Page </p>
<div style = 'page-break-after: always;' ></div>
<p> This is 2nd Page</p>
<div style = 'page-break-after: always;' ></div>
<p> This is 3rd Page</p>";
var Renderer = new ChromePdfRenderer();
Renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
MaxHeight = 15, //millimeters
HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
DrawDividerLine = true
};
using var pdfdoc = Renderer.RenderHtmlAsPdf(html);
pdfdoc.SaveAs("pageNumber.pdf");
Dim html = "
<p> Hello Iron</p>
<p> This is 1st Page </p>
<div style = 'page-break-after: always;' ></div>
<p> This is 2nd Page</p>
<div style = 'page-break-after: always;' ></div>
<p> This is 3rd Page</p>"
Dim Renderer = New ChromePdfRenderer()
Renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter() With {
.MaxHeight = 15,
.HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
.DrawDividerLine = True
}
Dim pdfdoc = Renderer.RenderHtmlAsPdf(html)
pdfdoc.SaveAs("pageNumber.pdf")
The following code sample added the page numbers in a newly created PDF document. IronPDF's "Headers and Footers" functionality allows merging information about page numbering. This works in HtmlHeaderFooters
and TextHeaderFooters
alike: e.g. {page} of {total-pages}.
If you wish to add a page number to an existing PDF file, then follow the sample code below:
static void Main(string[] args)
{
PdfDocument document = new PdfDocument("C:\\Users\\tayyabali.ashraf\\Downloads\\Xeem_App.pdf");
var footer = new HtmlHeaderFooter();
footer.MaxHeight = 15;
footer.DrawDividerLine = true;
footer.HtmlFragment = "<center><i>{page} of {total-pages}<i></center>";
var allPageIndexes = Enumerable.Range(0, document.PageCount);
document.AddHtmlFooters(footer, 1, allPageIndexes);
document.SaveAs("Modified.pdf");
}
static void Main(string[] args)
{
PdfDocument document = new PdfDocument("C:\\Users\\tayyabali.ashraf\\Downloads\\Xeem_App.pdf");
var footer = new HtmlHeaderFooter();
footer.MaxHeight = 15;
footer.DrawDividerLine = true;
footer.HtmlFragment = "<center><i>{page} of {total-pages}<i></center>";
var allPageIndexes = Enumerable.Range(0, document.PageCount);
document.AddHtmlFooters(footer, 1, allPageIndexes);
document.SaveAs("Modified.pdf");
}
Shared Sub Main(ByVal args() As String)
Dim document As New PdfDocument("C:\Users\tayyabali.ashraf\Downloads\Xeem_App.pdf")
Dim footer = New HtmlHeaderFooter()
footer.MaxHeight = 15
footer.DrawDividerLine = True
footer.HtmlFragment = "<center><i>{page} of {total-pages}<i></center>"
Dim allPageIndexes = Enumerable.Range(0, document.PageCount)
document.AddHtmlFooters(footer, 1, allPageIndexes)
document.SaveAs("Modified.pdf")
End Sub
Output
Page numbers will be shown like this on the edited document.
Page number in the modified PDF file
Aside from this, IronPDF offers a lot more advanced features to interact with PDF files including extracting text and content from a PDF, rendering charts in PDFs, and even handling PDF forms programmatically. All of this can easily be implemented via the code samples page.
Conclusion
This tutorial demonstrated how IronPDF helps developers to customize PDFs very easily with simple and short functions, targeting new PDF documents as well as existing PDF documents, there are no limitations. IronPDF is absolutely free for development purposes. You can see for yourself by activating the free trial without any payment information. Moreover, IronPDF currently has an offer — you can purchase five Iron Software packages for the price of just two! More information about the various licenses can be found at the following link.