Sample code · VB.NET
Imports SelectPdf Namespace Controllers Public Class PdfBookmarksController Inherits Controller ' GET: PdfBookmarks Public Function Index() As ActionResult Return View() End Function <HttpPost> Public Function SubmitAction(collection As FormCollection) As ActionResult ' create a new pdf document Dim doc As New PdfDocument() ' instruct the document to show the bookmarks panel when opened in a viewer doc.ViewerPreferences.PageMode = PdfViewerPageMode.UseOutlines ' 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() ' add a third page to the document Dim page3 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 ' create a new text element and add it to the first page Dim text1 As New PdfTextElement(0, 0, "First page", 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", font) page2.Add(text2) ' create a new text element and add it to the third page Dim text3 As New PdfTextElement(0, 0, "Third page", font) page3.Add(text3) ' create a first level bookmark pointing to the first page Dim book1 As PdfBookmark = doc.AddBookmark("First page", New PdfDestination(page1, New System.Drawing.PointF(0, 0))) ' create a first level bookmark pointing to the second page Dim book2 As PdfBookmark = doc.AddBookmark("Second page", New PdfDestination(page2, New System.Drawing.PointF(0, 0))) ' create a first level bookmark pointing to the third page Dim book3 As PdfBookmark = doc.AddBookmark("Third page", New PdfDestination(page3, New System.Drawing.PointF(0, 0))) ' other text on page 2 Dim text21 As New PdfTextElement(0, 100, "Text 1 on page 2", font) result = page2.Add(text21) ' add a level 2 bookmark to this text ' (using the bookmark for the page 2 as parent and ' the text rendering location as bookmark destination) doc.AddBookmark("Text 1", New PdfDestination(page2, result.PdfPageLastRectangle.Location), book2) ' other text on page 2 Dim text22 As New PdfTextElement(0, 400, "Text 2 on page 2", font) result = page2.Add(text22) ' add a level 2 bookmark to this text ' (using the bookmark for the page 2 as parent and the text rendering ' location as bookmark destination) some styles are set for this bookmark Dim book As PdfBookmark = doc.AddBookmark("Text 2", New PdfDestination(page2, result.PdfPageLastRectangle.Location), book2) book.Color = System.Drawing.Color.Red book.Style = PdfBookmarkStyle.Italic ' save pdf document Dim pdf As Byte() = doc.Save() ' close pdf document doc.Close() ' return resulted pdf document Dim fileResult As FileResult = New FileContentResult(pdf, "application/pdf") fileResult.FileDownloadName = "Document.pdf" Return fileResult End Function End Class End Namespace