PDFDocumentSource を使用すると、C1.Xaml.Document 名前空間のメンバである C1TextSearchManager クラスを使用して、検索条件とのマッチングおよびファイルに格納されているすべての単語の検査によるテキスト検索を PDF ファイルに実装できます。このクラスは、検索されるテキストの最初の一致を検索する FindStart、次の一致を検索する FindNext、前の一致を検索する FindPrevious など、さまざまなメソッドを提供します。C1FindTextParams(string text, bool wholeWord, bool matchCase) メソッドを使用して、C1FindTextParamsクラスの新しいインスタンスを次のパラメータで初期化できます。
次の図は、PDF ファイルで検索された単語と、検索結果となる一致のリストを示します。
このサンプルコードでは、FindStart メソッドを C1TextSearchManager で使用して、検索テキストがある場所を検索します。
XAML |
コードのコピー
|
---|---|
<ListView x:Name="listView1" HorizontalAlignment="Left" Width="585" Margin="10,150,0,10"> <ListView.HeaderTemplate> <DataTemplate> <StackPanel Orientation="Horizontal"> <TextBlock Text="#" Margin="5,5,0,0"></TextBlock> <TextBlock Text="ページ" Margin="15,5,0,0"></TextBlock> <TextBlock Text="発見位置" Margin="40,5,0,0"></TextBlock> <TextBlock Text="近いテキスト内の位置" Margin="40,5,0,0"></TextBlock> <TextBlock Text="近いテキスト" Margin="40,5,0,0"></TextBlock> </StackPanel> </DataTemplate> </ListView.HeaderTemplate> <ListView.ItemTemplate> <DataTemplate> <StackPanel Orientation="Horizontal"> <TextBlock Text="{Binding ID}" Margin="5,0,0,0"></TextBlock> <TextBlock Text="{Binding Page}" Margin="15,0,0,0"></TextBlock> <TextBlock Text="{Binding Bounds}" Margin="30,5,0,0"></TextBlock> <TextBlock Text="{Binding Position}" Margin="30,5,0,0"></TextBlock> <TextBlock Text="{Binding NearText}" Margin="30,5,0,0"></TextBlock> </StackPanel> </DataTemplate> </ListView.ItemTemplate> </ListView> |