How to add bookmarks (outlines) to PDF document
This example demonstrates how to create document outlines (bookmarks) using ByteScout PDF SDK.
Program.vb:
VB
'******************************************************************* ' ByteScout PDF SDK ' ' Copyright © 2016 Bytescout, https://bytescout.com ' ALL RIGHTS RESERVED ' '******************************************************************* Imports Bytescout.PDF ''' <summary> ''' This example demonstrates how to create document outlines (bookmarks). ''' </summary> Class Program Shared Sub Main() ' Create new document Dim pdfDocument = New Document() pdfDocument.RegistrationName = "demo" pdfDocument.RegistrationKey = "demo" Dim font = New Font(StandardFonts.Times, 18) Dim brush = New SolidBrush() ' Create pages For i As Integer = 0 To 2 Dim page = New Page(PaperFormat.A4) page.Canvas.DrawString(String.Format("Page {0}", i + 1), font, brush, 20, 20) pdfDocument.Pages.Add(page) Next ' Create outlines: Dim destination1 = New Destination(pdfDocument.Pages(0)) Dim outline1 = New Outline("Page 1", destination1) pdfDocument.Outlines.Add(outline1) ' Example of sub-bookmark Dim destination2 = New Destination(pdfDocument.Pages(1)) Dim outline2 = New Outline("Page 2", destination2) pdfDocument.Outlines(0).Kids.Add(outline2) Dim destination3 = New Destination(pdfDocument.Pages(2)) Dim outline3 = New Outline("Page 3", destination3) pdfDocument.Outlines.Add(outline3) ' Force PDF viewer to show Bookmarks panel at start up. pdfDocument.PageMode = PageMode.Outlines ' Save document to file pdfDocument.Save("result.pdf") ' Cleanup pdfDocument.Dispose() ' Open document in default PDF viewer app Process.Start("result.pdf") End Sub End Class
Program.cs:
C#
//******************************************************************* // ByteScout PDF SDK // // Copyright © 2016 ByteScout - https://bytescout.com // ALL RIGHTS RESERVED // //******************************************************************* using System.CodeDom; using System.Diagnostics; using Bytescout.PDF; namespace Bookmarks { /// <summary> /// This example demonstrates how to create document outlines (bookmarks). /// </summary> class Program { static void Main() { // Create new document Document pdfDocument = new Document(); pdfDocument.RegistrationName = "demo"; pdfDocument.RegistrationKey = "demo"; Font font = new Font(StandardFonts.Times, 18); Brush brush = new SolidBrush(); // Create pages for (int i = 0; i < 3; i++) { Page page = new Page(PaperFormat.A4); page.Canvas.DrawString(string.Format("Page {0}", i + 1), font, brush, 20, 20); pdfDocument.Pages.Add(page); } // Create outlines: Destination destination1 = new Destination(pdfDocument.Pages[0]); Outline outline1 = new Outline("Page 1", destination1); pdfDocument.Outlines.Add(outline1); // Example of sub-bookmark Destination destination2 = new Destination(pdfDocument.Pages[1]); Outline outline2 = new Outline("Page 2", destination2); pdfDocument.Outlines[0].Kids.Add(outline2); Destination destination3 = new Destination(pdfDocument.Pages[2]); Outline outline3 = new Outline("Page 3", destination3); pdfDocument.Outlines.Add(outline3); // Force PDF viewer to show Bookmarks panel at start up. pdfDocument.PageMode = PageMode.Outlines; // Save document to file pdfDocument.Save("result.pdf"); // Cleanup pdfDocument.Dispose(); // Open document in default PDF viewer app Process.Start("result.pdf"); } } }