function FindFirst(const Text: WString; Options: TSearchOptions = []; StartIndex: Integer = 0; DirectionUp: Boolean = True): Integer;
| Text | WString. Unicode tekstualni string koji se traži na trenutnoj strani |
| Options | TSearchOptions. Skup TSearchOption zastavica koje kontrolišu ponašanje poklapanja. Podržane zastavice su soMatchCase (poklapanje osetljivo na velika i mala slova) i soMatchWholeWord (samo poklapanje celih reči). Prosledite [] za pretragu podstringa neosetljivu na velika i mala slova |
| StartIndex | Integer. Indeks znaka zasnovan na nuli od kog pretraga počinje. Prosledite -1 da biste krenuli od poslednjeg znaka na strani (korisno kada je DirectionUp False). Podrazumevano je 0 |
| DirectionUp | Boolean. Određuje početni smer pretrage. True (podrazumevano) traži od StartIndex ka kraju strane; False traži ka početku. Naknadni pozivi FindNext uvek se kreću napred; FindPrevious se uvek kreće unazad |
-1 ako poklapanje nije pronađeno. Interni handle pretrage se zadržava da bi naknadni pozivi FindNext ili FindPrevious mogli da nastave pretragu bez ponovne inicijalizacijeFindFirst započinje pretragu celog teksta na trenutno učitanoj strani PDF-a. Prihvata Unicode string za pretragu zajedno sa opcionalnim zastavicama poklapanja, početnom pozicijom znaka i nagoveštajem smera. Pri uspehu vraća indeks znaka prvog poklapanja zasnovan na nuli i čuva interni handle pretrage koji ponovo koriste naknadni pozivi FindNext i FindPrevious. Vraća -1 kada tekst nije pronađen
Parametar StartIndex omogućava vam da započnete pretragu sa bilo koje pozicije znaka umesto uvek sa vrha strane. Prosledite 0 (podrazumevano) da krenete od samog prvog znaka, ili prosledite -1 da se usidrite na poslednjem znaku — zgodno kada izvodite obrnutu pretragu sa DirectionUp = False
Koristite parametar Options za preciziranje ponašanja poklapanja. soMatchCase omogućava poređenje osetljivo na velika i mala slova; soMatchWholeWord ograničava poklapanja samo na cele reči. Obe zastavice se mogu kombinovati. Prosleđivanje praznog skupa [] izvodi pretragu podstringa neosetljivu na velika i mala slova
Kada jednom pronađete poklapanje, pozovite RectangleCount sa vraćenim indeksom i poznatom dužinom poklapanja da biste dohvatili granične pravougaonike poklopljenog teksta na strani — korisno za isticanje rezultata pretrage u pregledaču
var
Idx, MatchLen, R, I: Integer;
Rect: TPdfRectangle;
begin
Pdf1.PageIndex := 0;
MatchLen := Length('invoice');
Idx := Pdf1.FindFirst('invoice', [], 0, True);
while Idx >= 0 do
begin
// Retrieve bounding rectangles for the matched text
R := Pdf1.RectangleCount(Idx, MatchLen);
for I := 0 to R - 1 do
begin
Rect := Pdf1.Rectangle[I];
Memo1.Lines.Add(Format('Match at char %d, rect [%.1f,%.1f,%.1f,%.1f]',
[Idx, Rect.Left, Rect.Top, Rect.Right, Rect.Bottom]));
end;
Idx := Pdf1.FindNext;
end;
end;