FindAndHighlight.vb
''
'' このコードは、DioDocs for PDF のサンプルの一部として提供されています。
'' © MESCIUS inc. All rights reserved.
''
Imports System
Imports System.IO
Imports System.Drawing
Imports GrapeCity.Documents.Pdf
Imports GrapeCity.Documents.Text
Imports GrapeCity.Documents.Pdf.Annotations
Imports GrapeCity.Documents.Common
'' このサンプルでは、PDF ドキュメント内の単語をすべて検索し、検索結果すべてを
'' テキストマークアップ注釈のハイライトを使用して強調表示する方法を紹介しています。
Public Class FindAndHighlight
Public Function CreatePDF(stream As Stream) As Integer
'' PDF を読み込みます。
Dim doc = New GcPdfDocument()
Using fs = File.OpenRead(Path.Combine("Resources", "PDFs", "diodocs_flyer.pdf"))
doc.Load(fs)
'' 単語「.NET」をすべて検索します。
Dim found = doc.FindText(New FindTextParams(".NET", True, False), Nothing)
'' テキストマークアップ注釈を追加し、検索結果すべてをハイライトします。
For Each f In found
Dim markup = New TextMarkupAnnotation() With {
.Page = doc.Pages(f.PageIndex),
.MarkupType = TextMarkupType.Highlight,
.Color = Color.Yellow
}
Dim area As List(Of Quadrilateral) = New List(Of Quadrilateral)
For Each b In f.Bounds
area.Add(b)
Next
markup.Area = area
Next
'' PDF ドキュメントを保存します。
doc.Save(stream)
Return doc.Pages.Count
End Using
End Function
End Class