How to set page numbers in PDF using C# and .NET
Creating professional PDF documents is an important task for developers involved in automated reporting, documentation, or content generation. One of the key elements of such documents is page numbering, which ensures readability and structure of information. In this article, we'll discuss how to automatically set page numbers in PDFs in C# and .NET using the component PDF Metamorphosis .NET from SautinSoft SDK. Using code to automate this process significantly speeds up workflows and improves the quality of the resulting documents.
Page numbering serves a number of important functions:
- Improved navigation: users can quickly find the section they need.
- Professional appearance: documents with numbers appear more structured.
- Report automation: manually setting numbers in generated systems is costly and error-prone.
- Scalability: automatic numbering is possible for large numbers of documents.
What tasks is it useful for?
- Generating professional presentations, coursework, and theses.
- Creating project reports.
- Processing and delivery of automated business reports.
- Documentation of user instructions.
- Generation of books and brochures with automatic numbering.
Complete code
using System;
using System.IO;
using System.Collections;
namespace Sample
{
class Test
{
static void Main(string[] args)
{
// Before starting, we recommend to get a free key:
// https://sautinsoft.com/start-for-free/
// Apply the key here:
// SautinSoft.PdfMetamorphosis.SetLicense("...");
// This sample shows how to specify page numbers
SautinSoft.PdfMetamorphosis p = new SautinSoft.PdfMetamorphosis();
//Page 1 of N, position: 30 mm from the left of the page
p.PageSettings.Numbering.Text = "Page {page} of {numpages}";
p.PageSettings.Numbering.PosX.Mm = 30;
p.PageSettings.Numbering.PosY.Mm = 10;
p.PageSettings.Numbering.FontFace = "Courier New";
p.PageSettings.Numbering.FontSize = 22;
if (p != null)
{
string rtfPath = @"..\..\..\example.rtf";
string pdfPath = @"..\..\..\example.pdf";
int i = p.RtfToPdfConvertFile(rtfPath,pdfPath);
if (i !=0)
{
System.Console.WriteLine("An error occurred during converting RTF to PDF!");
}
else
{
System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(pdfPath) { UseShellExecute = true });
}
}
}
}
}
Module sample
Sub Main()
' This sample shows how to specify page numbers
' Before starting, we recommend to get a free key:
' https://sautinsoft.com/start-for-free/
' Apply the key here:
' SautinSoft.PdfMetamorphosis.SetLicense("...");
Dim p As New SautinSoft.PdfMetamorphosis()
'Page 1 of N, position: 30 mm from the left of the page
p.PageSettings.Numbering.Text = "Page {page} of {numpages}"
p.PageSettings.Numbering.PosX.Mm = 30
p.PageSettings.Numbering.PosY.Mm = 10
p.PageSettings.Numbering.FontFace = "Courier New"
p.PageSettings.Numbering.FontSize = 22
' This is page number N
'p.PageSettings.Numbering.Text = "This is page number {page}"
If p IsNot Nothing Then
Dim rtfPath As String = "..\..\..\example.rtf"
Dim pdfPath As String = "..\..\..\test.pdf"
Dim i As Integer = p.RtfToPdfConvertFile(rtfPath, pdfPath)
If i <> 0 Then
System.Console.WriteLine("An error occurred during converting RTF to PDF!")
Else
System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(pdfPath) With {.UseShellExecute = True})
End If
End If
End Sub
End ModuleIf you need a new code example or have a question: email us at support@sautinsoft.com or ask at Online Chat (right-bottom corner of this page) or use the Form below: