function TextInRectangle(Left, Top, Right, Bottom: Double): WString;
function TextInRectangle(Rectangle: TPdfRectangle): WString;
| Rectangle | TPdfRectangle. Een record dat de begrenzingsrechthoek in PDF-user-space-coördinaten opgeeft (oorsprong linksonder, Y loopt omhoog) |
WString (Unicode string) met alle tekens waarvan de bounding boxes de opgegeven rechthoek snijden. Geeft een lege tekenreeks terug als er binnen het gebied geen tekst wordt gevondenTextInRectangle haalt de Unicode-tekstinhoud op die binnen een gegeven rechthoekig gebied op de huidige pagina valt. Dit is handig om tekst uit een specifiek gebied te lezen, zoals een koptekst, voettekst, tabelcel of veldlabel, zonder de hele pagina te verwerken
Er zijn twee overloads beschikbaar. De vorm met vier parameters accepteert afzonderlijke waarden voor Left, Top, Right en Bottom. De vorm met één parameter accepteert een TPdfRectangle-record, wat handig is wanneer het gebied al als rechthoekstructuur is berekend
De coördinaten gebruiken PDF user space: de oorsprong ligt in de linkeronderhoek van de pagina en Y loopt omhoog. Merk op dat Bottom daarom een kleinere waarde is dan Top voor een normaal georiënteerde rechthoek. Tekens worden in het resultaat opgenomen als hun bounding boxes het opgegeven gebied overlappen
Net als Text leest deze methode uit de logische tekstlaag van de pagina en werkt ze op een geladen PDF-pagina
// Tekst uit het bovenste kopgebied van een A4-pagina extraheren
// A4: 595 x 842 pt; header = bovenste band van 60 pt
Pdf1.LoadFromFile('C:\Docs\report.pdf');
Pdf1.PageIndex := 0;
var HeaderText: WString;
begin
HeaderText := Pdf1.TextInRectangle(0, 782, 595, 842);
ShowMessage(HeaderText);
end;
// De TPdfRectangle-overload gebruiken
var
Rect: TPdfRectangle;
CellText: WString;
begin
Rect.Left := 72; Rect.Bottom := 600;
Rect.Right := 250; Rect.Top := 640;
CellText := Pdf1.TextInRectangle(Rect);
end;