wpf-devexpress-dot-xpf-dot-pdfviewer-dot-pdfviewercontrol-dot-gettext-x28-devexpress-dot-pdf-dot-pdfdocumentposition-devexpress-dot-pdf-dot-pdfdocumentposition-x29.md
Gets the text contained in the specified document area.
Namespace : DevExpress.Xpf.PdfViewer
Assembly : DevExpress.Xpf.PdfViewer.v25.2.dll
NuGet Package : DevExpress.Wpf.PdfViewer
public string GetText(
PdfDocumentPosition start,
PdfDocumentPosition end
)
Public Function GetText(
start As PdfDocumentPosition,
end As PdfDocumentPosition
) As String
| Name | Type | Description |
|---|---|---|
| start | PdfDocumentPosition |
A PdfDocumentPosition object that is the top left point of a document area.
| | end | PdfDocumentPosition |
A PdfDocumentPosition object that is the bottom right point of a document area.
|
| Type | Description |
|---|---|
| String |
The text contained in the specified document area.
|
The GetText method uses the page coordinate system. The method returns the text range marked by the method parameters.
You can select the text from code using the PdfViewerControl.Select method. Call the PdfViewer.GetSelectionContent() method to retrieve the selected text.
The code sample below retrieves the text located under the mouse selection.
bool mouseButtonPressed = false;
PdfDocumentPosition startPosition;
PdfDocumentPosition endPosition;
void pdfViewer1_MouseDown(object sender, MouseEventArgs e)
{
if (e.LeftButton == MouseButtonState.Pressed)
{
//Retrieve the cursor's initial position
e.GetPosition(pdfViewer);
startPosition = pdfViewer.ConvertPixelToDocumentPosition(e.GetPosition(pdfViewer));
endPosition = null;
mouseButtonPressed = true;
}
}
void pdfViewer1_MouseMove(object sender, MouseEventArgs e)
{
if (mouseButtonPressed)
{
//Obtain the cursor's final position
endPosition = pdfViewer.ConvertPixelToDocumentPosition(e.GetPosition(pdfViewer));
}
}
void pdfViewer1_MouseUp(object sender, MouseEventArgs e)
{
mouseButtonPressed = false;
if (startPosition == null || endPosition == null)
return;
//Retrieve the content between two positions
string text = pdfViewer.GetText(startPosition, endPosition);
MessageBox.Show(string.Format("You selected the following text:\r\n {0}", text));
}
Private mouseButtonPressed As Boolean = False
Private startPosition As PdfDocumentPosition
Private endPosition As PdfDocumentPosition
Private Sub pdfViewer1_MouseDown(ByVal sender As Object, ByVal e As MouseEventArgs)
If e.LeftButton = MouseButtonState.Pressed Then
e.GetPosition(pdfViewer)
' Get the pointer's initial position
startPosition = pdfViewer.ConvertPixelToDocumentPosition(e.GetPosition(pdfViewer))
endPosition = Nothing
mouseButtonPressed = True
End If
End Sub
Private Sub pdfViewer1_MouseMove(ByVal sender As Object, ByVal e As MouseEventArgs)
If mouseButtonPressed Then
' Retrieve the pointer's final position
endPosition = pdfViewer.ConvertPixelToDocumentPosition(e.GetPosition(pdfViewer))
End If
End Sub
Private Sub pdfViewer1_MouseUp(ByVal sender As Object, ByVal e As MouseEventArgs)
mouseButtonPressed = False
If startPosition Is Nothing OrElse endPosition Is Nothing Then Return
'Get text located between two positions
Dim text As String = pdfViewer.GetText(startPosition, endPosition)
MessageBox.Show(String.Format("You selected the following text:" & vbCrLf & " {0}", text))
End Sub
See Also