Skip to main content

PdfFitHorizontallyDestination Class

A destination that positions a specific Y coordinate at the top left corner of the document window, and zooms a page so that it fits the window horizontally.

Namespace: DevExpress.Pdf

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

NuGet Package: DevExpress.Pdf.Core

Declaration

public class PdfFitHorizontallyDestination :
    PdfDestination

The following members return PdfFitHorizontallyDestination objects:

Remarks

The FitH destination displays a page as follows:

  • A specific Y coordinate (returned by the Top property) is positioned at the top left corner of the document window.
  • The entire page fits the document window vertically (the Fit Width zoom).

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 first page as follows:

bookmark

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

    // Find a specific phrase
    PdfTextSearchResults textSearchResults = pdfDocumentProcessor.FindText("Total:");

    // If the phrase is found, obtain the page that contains it
    // and the top vertical coordinate of the phrase's rectangle
    if (textSearchResults.Status == PdfTextSearchStatus.Found)
    {
        PdfPage destinationPage = textSearchResults.Page;
        double top = textSearchResults.Rectangles[0].Top;

        // create FitH a destination
        // that positions the phrase at the top left window corner
        PdfFitHorizontallyDestination destination =
              new PdfFitHorizontallyDestination(destinationPage, top);

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

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

        // Add a bookmark to the collection
        pdfDocumentProcessor.Document.Bookmarks.Add(bookmark);
    }
    pdfDocumentProcessor.SaveDocument("out.pdf");
}

Call the PdfPageFacade.AddLinkAnnotation method and pass a PdfFitHorizontallyDestination 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 third page as follows:

fit horizontally

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

    // Access first page properties
    PdfPageFacade pageFacade = pdfDocumentProcessor.DocumentFacade.Pages[0];

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

    // Create a FitH destination that refers to the fourth page
    PdfFitHorizontallyDestination destination =
      destinationPageFacade.CreateFitHorizontallyDestination(134);

    // Find a specific phrase
    string linkText = "Rattlesnake Canyon Grocery Total";
    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;

        // 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
PdfFitHorizontallyDestination
See Also