Skip to main content
All docs
V25.1
  • PdfPageFacade.AddLinkAnnotation(PdfRectangle, PdfDestination) Method

    Creates a link annotation in the specified page rectangle.

    Namespace: DevExpress.Pdf

    Assembly: DevExpress.Pdf.v25.1.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
    • View parameters: a view mode or a specific point/region on the page to which to navigate
    • 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 following code snippet creates a link annotation with a destination that displays the third page with the Zoom to Page Level view:

    destination link

    View Example

    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