Skip to main content
All docs
V23.2

PdfPageFacade.AddLinkAnnotation(PdfRectangle, PdfDestination) Method

Creates a link annotation in the specified page rectangle.

Namespace: DevExpress.Pdf

Assembly: DevExpress.Pdf.v23.2.Core.dll

NuGet Package: DevExpress.Pdf.Core

Declaration

public PdfLinkAnnotationFacade AddLinkAnnotation(
    PdfRectangle rect,
    PdfDestination destination
)

Parameters

Name Type Description
rect PdfRectangle

A page area to add a link annotation.

destination PdfDestination

A destination (a page reference with specific view parameters) to which the annotation refers.

Returns

Type Description
PdfLinkAnnotationFacade

An object that contains link annotation properties.

Remarks

A destination includes the following view parameters:

  • The displayed document page
  • The location of the document window on this page
  • The magnification (zoom factor)

Call one of the following methods to create a destination:

View Parameters Methods
Fit the page’s bounding box to the document window both horizontally and vertically. PdfPageFacade.CreateFitBBoxDestination
Fit the page’s bounding box to the document window horizontally. PdfPageFacade.CreateFitBBoxHorizontallyDestination
Fit the page’s bounding box to the document window vertically. PdfPageFacade.CreateFitBBoxVerticallyDestination
Fit the entire page to the document window both horizontally and vertically (Zoom to Page Level view). PdfPageFacade.CreateFitDestination
Fit the entire page to the document window horizontally. PdfPageFacade.CreateFitHorizontallyDestination
Fit the entire page to the document window vertically. PdfPageFacade.CreateFitVerticallyDestination
Display the specified page area in the document window. PdfPageFacade.CreateFitRectangleDestination
Position the specified page coordinate at the top left document window corner, and specify the zoom factor. PdfPageFacade.CreateXYZDestination

Example

The code sample below creates a link annotation with a destination that displays the third page with the Zoom to Page Level view:

destination link

using (PdfDocumentProcessor pdfDocumentProcessor = new PdfDocumentProcessor())
{
    // Load a document
    pdfDocumentProcessor.LoadDocument("Demo.pdf");

    // Access third page properties
    PdfPageFacade pageFacade = pdfDocumentProcessor.DocumentFacade.Pages[2];

    // Create a Fit destination that refers to the third page
    PdfFitDestination destination = pageFacade.CreateFitDestination();

    // Find a specific phrase
    string linkText = "JBIG2 images";
    PdfTextSearchResults linkSearchResults = pdfDocumentProcessor.FindText(linkText);

    // If the phrase is found, obtain its bounding rectangle
    if (linkSearchResults.Status == PdfTextSearchStatus.Found)
    {
        PdfRectangle linkRectangle = linkSearchResults.Rectangles[0].BoundingRectangle;

        // Access first page properties
        PdfPageFacade linkPageFacade =
           pdfDocumentProcessor.DocumentFacade.Pages[linkSearchResults.PageNumber -1];

        // Create a link annotation associated with the bounding rectangle
        // and destination
        PdfLinkAnnotationFacade linkAnnotation =
            linkPageFacade.AddLinkAnnotation(linkRectangle, destination);
        linkAnnotation.HighlightMode = PdfAnnotationHighlightingMode.Push;
    }
    // Save the result
    pdfDocumentProcessor.SaveDocument("out.pdf");
}
See Also