PdfFitRectangleDestination Class
A destination that displays a specific page rectangle in the document window.
Namespace: DevExpress.Pdf
Assembly: DevExpress.Pdf.v24.2.Core.dll
NuGet Package: DevExpress.Pdf.Core
#Declaration
public class PdfFitRectangleDestination :
PdfDestination
#Related API Members
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:
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");
}
#Associate a Link Annotation with a Destination
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:
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");
}