PDFium Component Docs

TextInRectangle Méthode

Composant: TPdf  ·  Module: PDFium
Extract text within a rectangular boundary on the page.

Syntax

function TextInRectangle(Left, Top, Right, Bottom: Double): WString;

 

function TextInRectangle(Rectangle: TPdfRectangle): WString;

RectangleTPdfRectangle. A record specifying the bounding rectangle in PDF user-space coordinates (origin at lower-left, Y increases upward).

Return Value

Un WString (chaîne Unicode) contenant tous les caractères dont les boîtes englobantes intersectent le rectangle spécifié. Renvoie une chaîne vide si aucun texte n'est trouvé dans la région

Description

TextInRectangle extrait le contenu textuel Unicode qui se trouve à l'intérieur d'une région rectangulaire donnée sur la page courante. C'est utile pour lire le texte d'une zone spécifique comme un en-tête, un pied de page, une cellule de tableau ou une étiquette de champ sans traiter toute la page

Deux surcharges sont fournies. La forme à quatre paramètres accepte les valeurs individuelles Left, Haut, Right et Bottom. La forme à un paramètre accepte un record TPdfRectangle, ce qui est pratique lorsque la région est déjà calculée sous forme de structure rectangulaire

Les coordonnées utilisent l'espace utilisateur PDF : l'origine se situe dans le coin inférieur gauche de la page et Y augmente vers le haut. Notez que Bottom est donc une valeur plus petite que Haut pour un rectangle normalement orienté. Les caractères sont inclus dans le résultat si leurs boîtes englobantes chevauchent la région spécifiée

Comme Text, cette méthode lit la couche de texte logique de la page et fonctionne sur une page PDF chargée

Example

// Extract text from the top header area of an A4 page
// A4: 595 x 842 pt; header = top 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;

// Using TPdfRectangle overload
var
  Rect: TPdfRectangle;
  CellText: WString;
begin
  Rect.Left := 72; Rect.Bottom := 600;
  Rect.Right := 250; Rect.Top := 640;
  CellText := Pdf1.TextInRectangle(Rect);
end;

See Also

Text, CharacterCount, FindFirst