wpf-devexpress-dot-xpf-dot-pdfviewer-dot-pdfviewercontrol-dot-findtext-x28-devexpress-dot-xpf-dot-documentviewer-dot-textsearchparameter-x29.md
Finds text within the current document based on the specified search parameters.
Namespace : DevExpress.Xpf.PdfViewer
Assembly : DevExpress.Xpf.PdfViewer.v25.2.dll
NuGet Package : DevExpress.Wpf.PdfViewer
public virtual PdfTextSearchResults FindText(
TextSearchParameter parameter
)
Public Overridable Function FindText(
parameter As TextSearchParameter
) As PdfTextSearchResults
| Name | Type | Description |
|---|---|---|
| parameter | TextSearchParameter |
Specifies search parameters.
|
| Type | Description |
|---|---|
| PdfTextSearchResults |
Contains information related to search results.
|
Use the FindText method to perform a search in a PDF document. The TextSearchParameter.CurrentPage specifies the document page where the search starts. When you scroll the document and continue to search the same text again, the search continues from the currently visible page defined by the PDF Viewer’s CurrentPageNumber property. Use the ContinueSearchFrom property to control how to continue a search in the document: from the current page (the default option) or the last search result.
The FindText method stops the search when it finds the first occurrence of the search term, highlights the occurrence and navigates to the highlighted text.
When you change the search parameters (TextSearchParameter.Text, TextSearchParameter.WholeWord, or TextSearchParameter.IsCaseSensitive), the PDF Viewer starts a new search.
Note
The FindText method uses the page coordinate system. See the Coordinate Systems topic to learn more.
View Example: https://github.com/DevExpress-Examples/how-to-find-text-using-a-keyboard-shortcut
This example shows how to execute the Find Next action by pressing the F3 shortcut.
To do this, handle the PdfViewerControl.KeyDown event. If the F3 key is pressed, call the PdfViewerControl.FindText method and pass the search parameters represented by the TextSearchParameter object (e.g, search text, whole words, case sensitive).
using System.Windows;
using System.Windows.Input;
using DevExpress.Xpf.DocumentViewer;
namespace FindText {
public partial class MainWindow : Window {
public MainWindow() {
InitializeComponent();
viewer.OpenDocument(@"..\..\Demo.pdf");
}
private void viewer_KeyDown(object sender, KeyEventArgs e) {
if (e.Key == Key.F3) {
TextSearchParameter parameters = new TextSearchParameter {
IsCaseSensitive = true,
WholeWord = true,
Text = "Viewer"
};
viewer.FindText(parameters);
}
}
}
}
Imports System.Windows
Imports System.Windows.Input
Imports DevExpress.Xpf.DocumentViewer
Namespace FindText
Partial Public Class MainWindow
Inherits Window
Public Sub New()
InitializeComponent()
viewer.OpenDocument("..\..\Demo.pdf")
End Sub
Private Sub viewer_KeyDown(ByVal sender As Object, ByVal e As KeyEventArgs)
If e.Key = Key.F3 Then
Dim parameters As TextSearchParameter = New TextSearchParameter With { _
.IsCaseSensitive = True, _
.WholeWord = True, _
.Text = "Viewer" _
}
viewer.FindText(parameters)
End If
End Sub
End Class
End Namespace
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:FindText"
xmlns:dxpdf="http://schemas.devexpress.com/winfx/2008/xaml/pdf" x:Class="FindText.MainWindow"
mc:Ignorable="d"
Title="MainWindow" Height="350" Width="525">
<Grid>
<dxpdf:PdfViewerControl x:Name="viewer" KeyDown="viewer_KeyDown"/>
</Grid>
</Window>
See Also