SelectPdf for .NET - Pdf Document Headers and Footers - C# / ASP.NET Sample

This sample shows how to create a new PDF document using SelectPdf, how to add several pages and set the header and footer of the pdf document.

Headers and footers are a custom type of pdf template. Header is displayed at the top of the page. Footer is displayed at the bottom of the page. They contain elements that repeat on each page of the pdf document.


Sample Code C#



using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using SelectPdf;

namespace SelectPdf.Samples
{
    public partial class headers_and_footers : System.Web.UI.Page
    {
        protected void BtnCreatePdf_Click(object sender, EventArgs e)
        {
            // create a new pdf document
            PdfDocument doc = new PdfDocument();
            doc.Margins = new PdfMargins(10, 10, 0, 0);

            // create a new pdf font
            PdfFont font = doc.AddFont(PdfStandardFont.Helvetica);
            font.Size = 24;

            // create a new pdf font
            PdfFont font2 = doc.AddFont(PdfStandardFont.Helvetica);
            font2.Size = 12;
            font2.IsUnderline = true;

            // add a new page to the document
            PdfPage page = doc.AddPage();

            // get image path
            string imgFile = Server.MapPath("~/files/logo.png");

            // header template (100 points in height) with image element
            doc.Header = doc.AddTemplate(doc.Pages[0].ClientRectangle.Width, 100);
            PdfImageElement img1 = new PdfImageElement(0, 0, imgFile);
            doc.Header.Add(img1);

            // footer template (100 points in height) with text element
            doc.Footer = doc.AddTemplate(doc.Pages[0].ClientRectangle.Width, 100);
            PdfTextElement text1 = new PdfTextElement(0, 50, 
                "Footer text: Document generated by Select.Pdf", font2);
            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.
            PdfTextElement text = new PdfTextElement(0, 0, Helper.SomeLongText(), font);
            page.Add(text);

            // save pdf document
            doc.Save(Response, false, "Sample.pdf");

            // close pdf document
            doc.Close();
        }
    }
}