FindText.vb
'' 完毕:
Imports System.IO
Imports System.Drawing
Imports System.Text
Imports GrapeCity.Documents.Pdf
Imports GrapeCity.Documents.Common
Imports GrapeCity.Documents.Drawing

'' 此示例​​加载由BalancedColumns示例创建的PDF文件,
'' 查找加载文档中出现的所有单词“lorem”和“ipsum”,
'' 并使用不同的颜色突出显示这两个单词。
Public Class FindText
    Function CreatePDF(ByVal stream As Stream) As Integer
        Dim doc = New GcPdfDocument()

        '' 在处理加载的PDF时,原始文件流必须保持打开状态,请参阅LoadPDF了解详细信息:
        Using fs = New FileStream(Path.Combine("Resources", "PDFs", "BalancedColumns.pdf"), FileMode.Open, FileAccess.Read)
            doc.Load(fs)
            '' 使用不区分大小写的单词搜索查找所有“lorem”:
            Dim findsLorem = doc.FindText(
                New FindTextParams("lorem", True, False),
                OutputRange.All)
            ''  'ipsum' 同上:
            Dim findsIpsum = doc.FindText(
                New FindTextParams("ipsum", True, False),
                OutputRange.All)
            '' 使用半透明橙红色突出显示所有“lorem”:
            For Each find In findsLorem
                For Each ql In find.Bounds
                    doc.Pages(find.PageIndex).Graphics.FillPolygon(ql, Color.FromArgb(100, Color.OrangeRed))
                Next
            Next
            '' 在所有 'ipsum' 周围放置紫红色边框:
            For Each find In findsIpsum
                For Each ql In find.Bounds
                    doc.Pages(find.PageIndex).Graphics.DrawPolygon(ql, Color.MediumVioletRed)
                Next
            Next
            ''
            '' 完毕:
            doc.Save(stream)
        End Using
        Return doc.Pages.Count
    End Function
End Class