ByteScout PDF SDK - C# - Navigation - Link To Page - ByteScout
Announcement
Our ByteScout SDK products are sunsetting as we focus on expanding new solutions.
Learn More Open modal
Close modal
Announcement Important Update
ByteScout SDK Sunsetting Notice
Our ByteScout SDK products are sunsetting as we focus on our new & improved solutions. Thank you for being part of our journey, and we look forward to supporting you in this next chapter!

ByteScout PDF SDK – C# – Navigation – Link To Page

  • Home
  • /
  • Articles
  • /
  • ByteScout PDF SDK – C# – Navigation – Link To Page

ByteScout PDF SDK – C# – Navigation – Link To Page

Program.cs

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 result document in default associated application (for demo purpose)
            ProcessStartInfo processStartInfo = new ProcessStartInfo("result.pdf");
            processStartInfo.UseShellExecute = true;
            Process.Start(processStartInfo);
        }
    }
}


  Click here to get your Free Trial version of the SDK

Tutorials:

prev
next