HTML JPG PDF XML DOCX
  Product Family
PDF

Work with Links in PDF via .NET SDK

API for working with Links in PDF documents with .NET.

Get Started

Most popular actions with Links in .NET

How to work with Links in PDF documents using Cloud .NET SDK

In order to manipulate Links in PDF documents via Cloud .NET SDK , we’ll use Aspose.PDF Cloud .NET SDK This Cloud SDK allows you to easily build cloud-based PDF creator, editor & converter apps in C#, ASP.NET, or other .NET languages for various cloud platforms. Open NuGet package manager, search for Aspose.PDF Cloud and install. You may also use the following command from the Package Manager Console.

Package Manager Console Command


    PM> Install-Package Aspose.Pdf-Cloud
     

Steps to add links using .NET SDK

Aspose.PDF Cloud developers can easily load & append links to PDF documents in just a few lines of code.

  1. Create a new Configuration object with your Application Secret and Key.
  2. Create an object to connect to the Cloud API.
  3. Uploads the PDF to cloud storage.
  4. Create new link annotation objects
  5. Append a new links annotation objects to the PDF in cloud storage using PostPageLinkAnnotationsAsync function.
  6. Checks the response and logs the result.
  7. Downloads the updated file for local use.
 

This sample code shows adding links to PDF document


    public static async Task AddLink()
	{
	    const string localPdfDocument = @"C:\Samples\sample.pdf";
	    const string storageFileName = "sample.pdf";
	    const string localFolder = @"C:\Samples";
	    const string resultFileName = "output_add_link.pdf";
	    const string storageTempFolder = "YourTempFolder";
	    const int pageNumber = 2;
	    const string newLinkAction = "https://reference.aspose.cloud/pdf/";

	    // Get your AppSid and AppSecret from https://dashboard.aspose.cloud (free registration required). 
	    var pdfApi = new PdfApi(AppSecret, AppSid);

	    using var file = File.OpenRead(localPdfDocument);
	    await pdfApi.UploadFileAsync(Path.Combine(storageTempFolder, storageFileName), file);
	
	    LinkAnnotation newLink = new LinkAnnotation(
	        Links: new List<Link>() { new Link(newLinkAction) },
	        ActionType: LinkActionType.GoToURIAction,
	        Action: newLinkAction,
	        Highlighting: LinkHighlightingMode.Invert,
	        Color: new Color(A: 0xFF, R: 0xAA, G: 0x00, B: 0x00),
	        Rect: new Rectangle(LLX: 238, LLY: 488.622, URX: 305, URY: 498.588)
	    );

	    AsposeResponse response = await pdfApi.PostPageLinkAnnotationsAsync(storageFileName, pageNumber, new List<LinkAnnotation>() { newLink }, folder: storageTempFolder);

	    if (response == null)
	        Console.WriteLine("LinksAdd(): Unexpected error!");
	    else if (response.Code < 200 || response.Code > 299)
	        Console.WriteLine("LinksAdd(): Failed to add link to the document.");
	    else {
	        using Stream downloadStream = await pdfApi.DownloadFileAsync(Path.Combine(storageTempFolder, storageFileName));
	        using FileStream localStream = File.Create(Path.Combine(localFolder, resultFileName));
	        await downloadStream.CopyToAsync(localStream);
	        Console.WriteLine("LinksAdd(): link '{0}' successfully appended to the document '{1}.", newLinkAction, resultFileName);
	    }
	}