Back to Devexpress

PdfViewerControl.FindText(TextSearchParameter) Method

wpf-devexpress-dot-xpf-dot-pdfviewer-dot-pdfviewercontrol-dot-findtext-x28-devexpress-dot-xpf-dot-documentviewer-dot-textsearchparameter-x29.md

latest5.6 KB
Original Source

PdfViewerControl.FindText(TextSearchParameter) Method

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

Declaration

csharp
public virtual PdfTextSearchResults FindText(
    TextSearchParameter parameter
)
vb
Public Overridable Function FindText(
    parameter As TextSearchParameter
) As PdfTextSearchResults

Parameters

NameTypeDescription
parameterTextSearchParameter

Specifies search parameters.

|

Returns

TypeDescription
PdfTextSearchResults

Contains information related to search results.

|

Remarks

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.

Example

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).

csharp
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);
            }
        }
    }
}
vb
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
xml
<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

PdfViewerControl Class

PdfViewerControl Members

DevExpress.Xpf.PdfViewer Namespace