FindAndHighlight.vb
- ''
- '' This code is part of Document Solutions for PDF demos.
- '' Copyright (c) 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
-
- ' This example shows how to find all occurrences of a word in a PDF document
- ' and highlight all those occurrences using the text markup highlight annotation.
- '
- ' The PDF used in this example was downloaded from https://www.frontiersin.org/articles/10.3389/fendo.2022.1005722/full.
- Public Class FindAndHighlight
- Public Function CreatePDF(stream As Stream) As Integer
- ' Load an existing PDF:
- Dim doc = New GcPdfDocument()
- Using fs = File.OpenRead(Path.Combine("Resources", "PDFs", "fendo-13-1005722.pdf"))
- doc.Load(fs)
-
- ' Find all occurrences of the word "childbirths":
- Dim found = doc.FindText(New FindTextParams("childbirths", True, False), Nothing)
-
- ' Add a text markup annotation to highlight each occurrence:
- 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
-
- ' Done:
- doc.Save(stream)
- Return doc.Pages.Count
- End Using
- End Function
- End Class
-