.NET Framework 4.5.2+
.NET Framework 4.5.2+
.NET Standard 2.0+

PdfFitVerticallyDestination Class

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

Namespace: DevExpress.Pdf

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

Declaration

public class PdfFitVerticallyDestination :
    PdfDestination

Remarks

The FitV destination displays a page as follows:

  • A specific X coordinate (returned by the Left property) is positioned at the top left corner of the document window
  • The page is fit into the document window vertically (the Fit Height 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("Documents//print_titles.pdf");

    // Create a FitV destination that refers to the first page
    PdfPage page = pdfDocumentProcessor.Document.Pages[0];
    PdfFitVerticallyDestination destination =
       new PdfFitVerticallyDestination(page, 612);

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

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

    // Add the 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 PdfFitVerticallyDestination 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 sixth page as follows:

link annotation

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

    // Access sixth page properties
    PdfPageFacade pageFacade = pdfDocumentProcessor.DocumentFacade.Pages[5];

    // Create a FitV destination that refers to the fifth page
    PdfFitVerticallyDestination destination =
       pageFacade.CreateFitVerticallyDestination(396);

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

    // 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)
    {
        PdfPageFacade linkPageFacade =
           pdfDocumentProcessor.DocumentFacade.Pages[textSearchResults.PageNumber-1];
        PdfRectangle linkRectangle =
          textSearchResults.Rectangles[0].BoundingRectangle;

        // 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");
}

Inheritance

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