function FindFirst(const Text: WString; Options: TSearchOptions = []; StartIndex: Integer = 0; DirectionUp: Boolean = True): Integer;
| Text | WString. Unicode tekstualni niz koji se traži na trenutačnoj stranici |
| Options | TSearchOptions. Skup zastavica TSearchOption koje upravljaju ponašanjem podudaranja. Podržane zastavice su soMatchCase (podudaranje uz razlikovanje velikih i malih slova) i soMatchWholeWord (podudaranje samo cijelih riječi). Proslijedite [] za pretragu podniza bez razlikovanja velikih i malih slova |
| StartIndex | Integer. Indeks znaka s početkom od nule na kojem pretraga započinje. Proslijedite -1 za početak od zadnjeg znaka na stranici (korisno kada je DirectionUp False). Zadano je 0 |
| DirectionUp | Boolean. Određuje početni smjer pretrage. True (zadano) traži od StartIndex prema kraju stranice; False traži prema početku. Kasniji pozivi FindNext uvijek se pomiču naprijed; FindPrevious uvijek unatrag |
-1 ako nije pronađeno podudaranje. Interni handler pretraživanja zadržava se kako bi kasniji pozivi FindNext ili FindPrevious mogli nastaviti pretraživanje bez ponovne inicijalizacijeFindFirst pokreće pretragu punog teksta na trenutačno učitanoj PDF stranici. Prihvaća Unicode niz za pretragu zajedno s neobaveznim zastavicama podudaranja, početnim položajem znaka i smjernicom smjera. Pri uspjehu vraća indeks znaka prvog podudaranja s početkom od nule i pohranjuje interni rukohvat pretrage koji ponovno koriste kasniji pozivi FindNext i FindPrevious. Vraća -1 kada tekst nije pronađen
Parametar StartIndex omogućuje započinjanje pretrage na bilo kojem položaju znaka umjesto uvijek od vrha stranice. Proslijedite 0 (zadano) za početak od samog prvog znaka, ili -1 za sidrenje na zadnjem znaku — zgodno pri izvođenju obrnute pretrage s DirectionUp = False
Koristite parametar Options za podešavanje ponašanja podudaranja. soMatchCase omogućuje usporedbu uz razlikovanje velikih i malih slova; soMatchWholeWord ograničava podudaranja samo na cijele riječi. Obje zastavice se mogu kombinirati. Proslijeđivanje praznog skupa [] izvodi pretragu podniza bez razlikovanja velikih i malih slova
Nakon što je podudaranje pronađeno, pozovite RectangleCount s vraćenim indeksom i poznatom duljinom podudaranja za dohvat ograničavajućih pravokutnika podudaranog teksta na stranici — korisno za isticanje rezultata pretrage u pregledniku
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;