function TextInRectangle(Left, Top, Right, Bottom: Double): WString;
function TextInRectangle(Rectangle: TPdfRectangle): WString;
| Rectangle | TPdfRectangle. Ein Record, der das Begrenzungsrechteck in PDF-User-Space-Koordinaten angibt (Ursprung unten links, Y wächst nach oben) |
WString (Unicode-String), der alle Zeichen enthält, deren Begrenzungsboxen das angegebene Rechteck schneiden. Gibt eine leere Zeichenkette zurück, wenn im Bereich kein Text gefunden wirdTextInRectangle extrahiert den Unicode-Textinhalt, der in einen gegebenen rechteckigen Bereich auf der aktuellen Seite fällt. Das ist nützlich, um Text aus einem bestimmten Bereich wie Kopfzeile, Fußzeile, Tabellenzelle oder Feldbezeichnung zu lesen, ohne die ganze Seite zu verarbeiten
Es werden zwei Überladungen angeboten. Die Form mit vier Parametern nimmt die einzelnen Werte Left, Oben, Right und Bottom entgegen. Die Form mit einem Parameter nimmt einen TPdfRectangle-Record entgegen, was praktisch ist, wenn der Bereich bereits als Rechteckstruktur berechnet wurde
Die Koordinaten verwenden den PDF-User-Space: Der Ursprung liegt an der linken unteren Ecke der Seite und Y wächst nach oben. Beachten Sie, dass Bottom bei einem normal ausgerichteten Rechteck daher kleiner ist als Oben. Zeichen werden in das Ergebnis aufgenommen, wenn ihre Begrenzungsboxen den angegebenen Bereich überlappen
Wie Text liest diese Methode aus der logischen Textebene der Seite und arbeitet auf einer geladenen PDF-Seite
// Text aus dem oberen Kopfbereich einer A4-Seite extrahieren
// A4: 595 x 842 pt; Kopfbereich = oberes 60-pt-Band
Pdf1.LoadFromFile('C:\Docs\report.pdf');
Pdf1.PageIndex := 0;
var HeaderText: WString;
begin
HeaderText := Pdf1.TextInRectangle(0, 782, 595, 842);
ShowMessage(HeaderText);
end;
// TPdfRectangle-Überladung verwenden
var
Rect: TPdfRectangle;
CellText: WString;
begin
Rect.Left := 72; Rect.Bottom := 600;
Rect.Right := 250; Rect.Top := 640;
CellText := Pdf1.TextInRectangle(Rect);
end;