Set Link To Page in PDF - C#
PDF SDK sample in C# demonstrating ‘Set Link To Page in PDF’
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";
// If you wish to load an existing document uncomment the line below and comment the Add page section instead
// pdfDocument.Load(@".\existing_document.pdf");
// 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);
}
}
}