SelectPdf for .NET - Pdf Watermarks - VB.NET / ASP.NET Sample

This sample shows how to create a new PDF document using SelectPdf, how to add several pages and watermark all the pages with a transparent image in the background.

Pdf watermarks are done using pdf templates that contain elements that repeat on each page of the pdf document.


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 pdf_watermarks
        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()

            ' 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()

            ' create a new text element and add it to the page
            Dim text As New PdfTextElement(0, 0, Helper.SomeLongText(), font)
            page.Add(text)

            ' get image path
            Dim imgFile As String = Server.MapPath("~/files/logo.png")

            ' watermark all pages - add a template containing an image 
            ' to the bottom right of the page
            ' the image should repeat on all pdf pages automatically
            ' the template should be rendered behind the rest of the page elements
            Dim template As PdfTemplate = doc.AddTemplate(doc.Pages(0).ClientRectangle)
            Dim img As New PdfImageElement(doc.Pages(0).ClientRectangle.Width - 300, _
                                           doc.Pages(0).ClientRectangle.Height - 150, imgFile)
            img.Transparency = 50
            template.Background = True
            template.Add(img)

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

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