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

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

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

            ' define a rendering result object
            Dim result As PdfRenderingResult

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

            ' create a new text element and add it to the first page
            Dim text1 As New PdfTextElement(0, 0, "First page (no link on this text)", font)
            page1.Add(text1)

            ' create a new text element and add it to the second page
            Dim text2 As New PdfTextElement(0, 0, "Second page (no link on this text)", font)
            page2.Add(text2)

            ' create external link in 2 steps

            ' 1 - create the link text
            Dim linkText1 As New PdfTextElement(0, 50, _
                    "External link (click to go to selectpdf.com)", font)
            result = page1.Add(linkText1)

            ' 2 - add the link using the text rendering rectangle
            Dim extLink1 As New PdfExternalLinkElement(result.PdfPageLastRectangle, _
                    "https://selectpdf.com")
            page1.Add(extLink1)

            ' create internal link in 2 steps

            ' 1 - create the link text
            Dim linkText2 As New PdfTextElement(0, 100, _
                    "Internal link (click to go to the second page)", font)
            result = page1.Add(linkText2)

            ' 2 - add the link using the text rendering rectangle
            Dim intLink1 As New PdfInternalLinkElement( _
                result.PdfPageLastRectangle, New PdfDestination(page2))
            page1.Add(intLink1)

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

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