How to make a text link to open external PDF on user click in PDF document generated with ByteScout PDF SDK

  • Home
  • /
  • Articles
  • /
  • How to make a text link to open external PDF on user click in PDF document generated with ByteScout PDF SDK

Add a link in the text to open external PDF when user clicks the link
This example provides a Visual C# . NET sample code that creates new PDF document (you can also open existing PDF document by passing filename in Document() constructor if you want to add text to an existing PDF document) and adds text and a link area for the text to open external PDF document (ExternalPDF.pdf) on page #2 when user clicks the link

Program.vb:

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

Imports Bytescout.PDF

''' <summary>
''' This example demonstrates how to create a button with GoTo action.
''' </summary>
Class Program

    Shared Sub Main()

        ' Create new document
        Dim pdfDocument = New Document()
        pdfDocument.RegistrationName = "demo"
		pdfDocument.RegistrationKey = "demo"

        ' Add pages
        Dim page1 = New Page(PaperFormat.A4)
        pdfDocument.Pages.Add(page1)
        Dim page2 = New Page(PaperFormat.A4)
        pdfDocument.Pages.Add(page2)

        Dim font = New Font(StandardFonts.Times, 18)
        Dim brush = New SolidBrush()

        ' Mark action target with text
        page2.Canvas.DrawString("Action target", font, brush, 20, 200)

        ' Create button
        Dim button = New PushButton(20, 20, 100, 25, "button1")
        button.Caption = "Go To Page 2"
        ' Create action to go to page 2 at 200 points from the top
        button.OnActivated = New GoToAction(New Destination(page2, 200))

        page1.Annotations.Add(button)

        ' 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:

//*******************************************************************
//       ByteScout PDF SDK		                                     
//                                                                   
//       Copyright © 2016 ByteScout - http://www.bytescout.com       
//       ALL RIGHTS RESERVED                                         
//                                                                   
//*******************************************************************

using System.Diagnostics;
using Bytescout.PDF;

namespace GoToActionExample
{
	/// <summary>
	/// This example demonstrates how to create a button with GoTo action.
	/// </summary>
	class Program
	{
		static void Main()
		{
			// Create new document
			Document pdfDocument = new Document();
			pdfDocument.RegistrationName = "demo";
			pdfDocument.RegistrationKey = "demo";

			// Add 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, 18);
			Brush brush = new SolidBrush();
			
			// Mark action target with text
			page2.Canvas.DrawString("Action target", font, brush, 20, 200);
			
			// Create button
			PushButton button = new PushButton(20, 20, 100, 25, "button1");
			button.Caption = "Go To Page 2";
			// Create action to go to page 2 at 200 points from the top
			button.OnActivated = new GoToAction(new Destination(page2, 200));
			
			page1.Annotations.Add(button);
			
			// Save document to file
			pdfDocument.Save("result.pdf");

			// Cleanup 
			pdfDocument.Dispose();

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

prev
next