SelectPdf for .NET - Page Numbering - VB.NET / ASP.NET Sample

This sample shows how to create a new PDF document using SelectPdf, how to add several pages and automatic page numbering in the document footer.

The footer is a custom pdf template, displayed at the bottom of the page. It can contain all kinds of page elements that will repeat on each page of the pdf document.

One special element that can be added to the pdf footer is the text element, that can be used to display page numbers using the {page_number} and {total_pages} placeholders.


Sample Code Vb.Net



Imports System.Collections.Generic
Imports System.Linq
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports SelectPdf

Namespace SelectPdf.Samples
    Partial Public Class page_numbering
        Inherits System.Web.UI.Page

        Protected Sub BtnCreatePdf_Click(sender As Object, e As EventArgs)
            ' create a new pdf document
            Dim doc As New PdfDocument()
            doc.Margins = New PdfMargins(10, 10, 0, 0)

            ' create a new pdf font
            Dim font As PdfFont = doc.AddFont(PdfStandardFont.Helvetica)
            font.Size = 24

            ' add a new page to the document
            Dim page As PdfPage = doc.AddPage()

            ' footer template (100 points in height) with text element
            doc.Footer = doc.AddTemplate(doc.Pages(0).ClientRectangle.Width, 100)
            Dim text1 As New PdfTextElement(0, 50, "Page: {page_number} of {total_pages}.", font)
            text1.ForeColor = System.Drawing.Color.Blue
            doc.Footer.Add(text1)

            ' create a new text element and add it to the page
            ' if page elements are added after header and footer is set, 
            ' they will not be displayed in those areas.
            Dim text As New PdfTextElement(0, 0, Helper.SomeLongText(), font)
            page.Add(text)

            ' save pdf document
            doc.Save(Response, False, "Sample.pdf")

            ' close pdf document
            doc.Close()
        End Sub
    End Class
End Namespace