Click or drag to resize

HtmlToRtfPageNumbers Class

Allows to set a custom page numbering in the output RTF or DOCX document.
Inheritance Hierarchy
SystemObject
  SautinSoftHtmlToRtfPageNumbers

Namespace: SautinSoft
Assembly: SautinSoft.HtmlToRtf (in SautinSoft.HtmlToRtf.dll) Version: 2024.12.12
Syntax
[ProgIdAttribute("SautinSoft.HtmlToRtf.PageNumbers")]
public class PageNumbers

The HtmlToRtfPageNumbers type exposes the following members.

Properties
 NameDescription
Public propertyCode exampleAlignH Get and set the horizontal alignment for the page numbering.
Public propertyCode exampleAlignV Get and set the vertical alignment for the page numbering.
Public propertyCode exampleAppearance Gets and sets the page numbering. Default value: PageNumDisable.
Public propertyCode exampleFont Allows to set up custom font family and size for the page numbering string.
Public propertyCode exampleFormat Specify the formatted string with page numbering, for example: "Page {page} of {numpages}". Default value: "Page {page} of {numpages}".
Public propertyX Get and set the position of page numbering by horizontal in desired measurement units. Starts from the top left page corner.
Public propertyY Get and set the position of page numbering by vertical in desired measurement units. Starts from the top left page corner.
Top
Methods
 NameDescription
Public methodEqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
Public methodGetHashCodeServes as the default hash function.
(Inherited from Object)
Public methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Public methodToStringReturns a string that represents the current object.
(Inherited from Object)
Top
Remarks
Using this property you may set custom page numbers as you wish. Use this property together with the [!:SautinSoft.HtmlToRtf.CPageStyle.CPageNumbers.Appearance], [!:SautinSoft.HtmlToRtf.CPageStyle.CPageNumbers.AlignH] and [!:SautinSoft.HtmlToRtf.CPageStyle.CPageNumbers.AlignV].

These are special keywords to set the custom page numbering:

{page} - Current page number.
{numpages} - Total pages.
By default: Page numbers are located at the left-bottom of the page and represent digit(s), for example "1".

These are samples of using this property:

HtmlConvertOptions opt = new HtmlConvertOptions(); opt.PageSetup.PageNumbers.Format = "Page {page} of {numpages}";

opt.PageSetup.PageNumbers.Format = "This is page number {page}";

opt.PageSetup.PageNumbers.Format = "Seite {page} von {numpages}";

Example
Add page numbers using C#
using System;
using System.IO;
using SautinSoft;
using static SautinSoft.HtmlToRtf;

namespace Sample
{
    class Test
    {
        static void Main(string[] args)
        {
            // Get your free 100-day key here:   
            // https://sautinsoft.com/start-for-free/

            // Add page numbering during to HTML to RTF conversion.
            // If you need more information about "HTML to RTF .Net" email us at:
            // support@sautinsoft.com        
            AddPageNumbering();

        }

        public static void AddPageNumbering()
        {
            SautinSoft.HtmlToRtf h = new SautinSoft.HtmlToRtf();
            HtmlConvertOptions opt = new HtmlConvertOptions();
            opt.OutputFormat = HtmlToRtf.OutputFormat.Docx;

            string inpFile = @"..\..\..\Sample.html";
            string outFile = "Result.docx";

            // Add page numbering.
            // Let's set page numbers from 1st page
            opt.PageSetup.PageNumbers.Appearance = HtmlToRtf.PageNumberingAppearence.PageNumFirst;

            // Let's align page numbers by top-center
            opt.PageSetup.PageNumbers.AlignV = HtmlToRtf.Alignment.Top;
            opt.PageSetup.PageNumbers.AlignH = HtmlToRtf.Alignment.Center;

            // Let's set page numbers format as "Page 1 of 20".
            opt.PageSetup.PageNumbers.Format = "Page {page} of {numpages}";

            // Set page numbers font: Calibry, 36.
            opt.PageSetup.PageNumbers.Font.Face = "Calibri";
            opt.PageSetup.PageNumbers.Font.Size = 36;

            if (h.Convert(inpFile, outFile, opt))
            {
                // Open the result for demonstration purposes.                
                System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(outFile) { UseShellExecute = true });
            }
        }
    }
}
Add page numbers using VB.Net
Imports System
Imports System.IO
Imports SautinSoft
Imports SautinSoft.HtmlToRtf

Namespace Sample
    Friend Class Test
        Shared Sub Main(ByVal args() As String)
            ' Get your free 100-day key here:   
            ' https://sautinsoft.com/start-for-free/

            ' Add page numbering during to HTML to RTF conversion.
            ' If you need more information about "HTML to RTF .Net" email us at:
            ' support@sautinsoft.com        
            AddPageNumbering()

        End Sub

        Public Shared Sub AddPageNumbering()
            Dim h As New SautinSoft.HtmlToRtf()
            Dim opt As New HtmlConvertOptions()
            opt.OutputFormat = HtmlToRtf.OutputFormat.Docx

            Dim inpFile As String = "..\..\..\Sample.html"
            Dim outFile As String = "Result.docx"

            ' Add page numbering.
            ' Let's set page numbers from 1st page
            opt.PageSetup.PageNumbers.Appearance = HtmlToRtf.PageNumberingAppearence.PageNumFirst

            ' Let's align page numbers by top-center
            opt.PageSetup.PageNumbers.AlignV = HtmlToRtf.Alignment.Top
            opt.PageSetup.PageNumbers.AlignH = HtmlToRtf.Alignment.Center

            ' Let's set page numbers format as "Page 1 of 20".
            opt.PageSetup.PageNumbers.Format = "Page {page} of {numpages}"

            ' Set page numbers font: Calibry, 36.
            opt.PageSetup.PageNumbers.Font.Face = "Calibri"
            opt.PageSetup.PageNumbers.Font.Size = 36

            If h.Convert(inpFile, outFile, opt) Then
                ' Open the result for demonstration purposes.                
                System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(outFile) With {.UseShellExecute = True})
            End If
        End Sub
    End Class
End Namespace
See Also