Back to Devexpress

PdfPageFacade.CreateFitRectangleDestination(PdfRectangle) Method

officefileapi-devexpress-dot-pdf-dot-pdfpagefacade-dot-createfitrectangledestination-x28-devexpress-dot-pdf-dot-pdfrectangle-x29.md

latest4.9 KB
Original Source

PdfPageFacade.CreateFitRectangleDestination(PdfRectangle) Method

Creates a FitR destination.

Namespace : DevExpress.Pdf

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

NuGet Package : DevExpress.Pdf.Core

Declaration

csharp
public PdfFitRectangleDestination CreateFitRectangleDestination(
    PdfRectangle rectangle
)
vb
Public Function CreateFitRectangleDestination(
    rectangle As PdfRectangle
) As PdfFitRectangleDestination

Parameters

NameTypeDescription
rectanglePdfRectangle

The rectangle that is fit into the document viewer window. Specify this rectangle in the user coordinate system.

|

Returns

TypeDescription
PdfFitRectangleDestination

The FitR destination.

|

Remarks

If the horizontal and vertical magnification factors are different, the PdfFitRectangleDestination object uses the smaller of the two, and centers the rectangle on the window.

Example

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

csharp
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");
}
vb
Using pdfDocumentProcessor As New PdfDocumentProcessor()
  ' Load a document
  pdfDocumentProcessor.LoadDocument("Demo.pdf")

  ' Access second page properties
  Dim destinationPageFacade As PdfPageFacade =
    pdfDocumentProcessor.DocumentFacade.Pages(1)

  ' Define a page rectangle
  Dim destRectangle As New PdfRectangle(50, 50, 300, 300)

  ' Create a FitR destination that refers to the second page
  Dim destination As PdfFitRectangleDestination =
    destinationPageFacade.CreateFitRectangleDestination(destRectangle)

  ' Find a specific phrase
  Dim linkText As String = "JPX images"
  Dim linkSearchResults As PdfTextSearchResults = pdfDocumentProcessor.FindText(linkText)

  ' If the phrase is found, obtain its bounding rectangle
  If linkSearchResults.Status = PdfTextSearchStatus.Found Then
    Dim linkRectangle As PdfRectangle = linkSearchResults.Rectangles(0).BoundingRectangle

    ' Access the first page properties
    Dim pageFacade As PdfPageFacade =
    pdfDocumentProcessor.DocumentFacade.Pages(0)

    ' Create a link annotation associated with the bounding rectangle
    ' and destination
    Dim pdfLink As PdfLinkAnnotationFacade =
      pageFacade.AddLinkAnnotation(linkRectangle, destination)
    pdfLink.HighlightMode = PdfAnnotationHighlightingMode.Push
  End If

  ' Save the result
  pdfDocumentProcessor.SaveDocument("out.pdf")End Using

See Also

PdfPageFacade Class

PdfPageFacade Members

DevExpress.Pdf Namespace