How to create a navigation link to a page using ByteScout PDF SDK - ByteScout

How to create a navigation link to a page using ByteScout PDF SDK

  • Home
  • /
  • Articles
  • /
  • How to create a navigation link to a page using ByteScout PDF SDK

The example demonstrates how to create a navigation link to a page using ByteScout PDF SDK.

Program.vb:
VB

'*******************************************************************
'       ByteScout PDF SDK
'                                                                   
'       Copyright © 2016 Bytescout, https://bytescout.com        
'       ALL RIGHTS RESERVED                                         
'                                                                   
'*******************************************************************

Imports System.Drawing
Imports Bytescout.PDF

''' <summary>
''' This example demonstrates how to create a navigation link to a page.
''' </summary>
Class Program

    Shared Sub Main()

        ' Create new document
        Dim pdfDocument = New Document()
        pdfDocument.RegistrationName = "demo"
		pdfDocument.RegistrationKey = "demo"
        ' Add two pages
        Dim page1 = New Page(PaperFormat.A4)
        pdfDocument.Pages.Add(page1)
        Dim page2 = New Page(PaperFormat.A4)
        pdfDocument.Pages.Add(page2)

        Dim font = New Bytescout.PDF.Font(StandardFonts.Times, 12)
        Dim brush = New Bytescout.PDF.SolidBrush()

        ' Create link annotation pointing to Page 2, 200 Points from the top.
        Dim destination = New Destination(page2, 200)
        Dim link = New LinkAnnotation(destination, 20, 20, 100, 25)
        link.Color = New ColorRGB(255, 0, 0) ' you can change the link color
        page1.Annotations.Add(link)

        ' Draw link text (optional)
        page1.Canvas.DrawString("Link to Page 2", font, brush, New RectangleF(20, 20, 100, 25),
            New Bytescout.PDF.StringFormat() With {.HorizontalAlign = HorizontalAlign.Center, .VerticalAlign = VerticalAlign.Center})

        ' Draw a text at the link target
        page2.Canvas.DrawString("Link target", font, brush, 20, 200)

        ' 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.Diagnostics;
using System.Drawing;
using Bytescout.PDF;
using Brush = Bytescout.PDF.Brush;
using Font = Bytescout.PDF.Font;
using SolidBrush = Bytescout.PDF.SolidBrush;
using StringFormat = Bytescout.PDF.StringFormat;

namespace LinkToPage
{
	/// <summary>
	/// This example demonstrates how to create a navigation link to a page.
	/// </summary>
	class Program
	{
		static void Main()
		{
			// Create new document
			Document pdfDocument = new Document();
			pdfDocument.RegistrationName = "demo";
			pdfDocument.RegistrationKey = "demo";
			// Add two pages
			Page page1 = new Page(PaperFormat.A4);
			pdfDocument.Pages.Add(page1);
			Page page2 = new Page(PaperFormat.A4);
			pdfDocument.Pages.Add(page2);

			Font font = new Font(StandardFonts.Times, 12);
			Brush brush = new SolidBrush();
			
			// Create link annotation pointing to Page 2, 200 Points from the top.
			Destination destination = new Destination(page2, 200);
			LinkAnnotation link = new LinkAnnotation(destination, 20, 20, 100, 25);
			link.Color = new ColorRGB(255, 0, 0); // you can change the link color
			page1.Annotations.Add(link);

			// Draw link text (optional)
			page1.Canvas.DrawString("Link to Page 2", font, brush, new RectangleF(20, 20, 100, 25), 
				new StringFormat {HorizontalAlign = HorizontalAlign.Center, VerticalAlign = VerticalAlign.Center});
			
			// Draw a text at the link target
			page2.Canvas.DrawString("Link target", font, brush, 20, 200);
			
			// Save document to file
			pdfDocument.Save("result.pdf");

			// Cleanup 
			pdfDocument.Dispose();

			// Open document in default PDF viewer app
			Process.Start("result.pdf");
		}
	}
} 

Tutorials:

prev
next