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.v24.2.Core.dll
NuGet Package: DevExpress.Pdf.Core
#Declaration
public class PdfFitHorizontallyDestination :
PdfDestination
#Related API Members
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:
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");
}
#Associate a Link Annotation with a Destination
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:
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");
}
}