Skip to main content

PdfFitRectangleDestination Class

A destination that displays a specific page rectangle in the document window.

Namespace: DevExpress.Pdf

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

NuGet Package: DevExpress.Pdf.Core

Declaration

public class PdfFitRectangleDestination :
    PdfDestination

The following members return PdfFitRectangleDestination objects:

Remarks

The FitR destination displays a specific page rectangle (returned by the Rectangle property) in the document window. You can associate any number of bookmarks and link annotations with a destination.

Associate a Bookmark with a Destination

The code sample below creates a bookmark with a destination that displays the second page as follows:

image

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

    // Define a page rectangle
    PdfRectangle destRectangle = new PdfRectangle(50, 50, 300, 300);

    // Create a FitR destination that refers to the second page
    PdfFitRectangleDestination destination =
            new PdfFitRectangleDestination(pdfDocumentProcessor.Document.Pages[1], destRectangle);

    // Create a bookmark
    PdfBookmark bookmark = new PdfBookmark();
    bookmark.Title = "JPX Images";

    // Associate the bookmark with the created destination
    bookmark.Destination = destination;

    // Add a bookmark to the document collection
    pdfDocumentProcessor.Document.Bookmarks.Add(bookmark);

    // Save the result
    pdfDocumentProcessor.SaveDocument("out.pdf");
}

Call the PdfPageFacade.AddLinkAnnotation method and pass a PdfFitRectangleDestination object as a parameter to create a link annotation associated with a destination.

The code sample below creates a link annotation with a destination that displays the second page’s area as follows:

fit rectangle

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

    // Access second page properties
    PdfPageFacade destinationPageFacade =
      pdfDocumentProcessor.DocumentFacade.Pages[1];

    // Define a page rectangle
    PdfRectangle destRectangle = new PdfRectangle(50, 50, 300, 300);

    // Create a FitR destination that refers to the second page
    PdfFitRectangleDestination destination =
      destinationPageFacade.CreateFitRectangleDestination(destRectangle);

    // Find a specific phrase
    string linkText = "JPX 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 pageFacade =
           pdfDocumentProcessor.DocumentFacade.Pages[linkSearchResults.PageNumber-1];

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

Inheritance

Object
DevExpress.Pdf.Native.PdfDocumentItem
DevExpress.Pdf.Native.PdfObject
PdfDestination
PdfFitRectangleDestination
See Also