PDFium Component Docs

TextInRectangle Yöntem

Bu API girdisi tanımlayıcıları, imzaları, kod bloklarını ve PDF terimlerini özgün biçiminde korur.
Bileşen: TPdf  ·  Birim: PDFium
Sayfa üzerinde dikdörtgen bir sınırın içindeki metni çıkarır

Söz dizimi

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

 

function TextInRectangle(Rectangle: TPdfRectangle): WString;

RectangleTPdfRectangle. PDF user-space koordinatlarında sınır dikdörtgenini belirten bir record (orijin sol alt köşededir, Y yukarı doğru artar)

Dönüş Değeri

Sınır kutuları belirtilen dikdörtgenle kesişen tüm karakterleri içeren bir WString (Unicode string). Bölgede metin bulunmazsa boş bir dize döndürür

Açıklama

TextInRectangle, geçerli sayfada belirli bir dikdörtgen bölge içine düşen Unicode metin içeriğini çıkarır. Bu, tüm sayfayı işlemden geçirmeden bir üstbilgi, altbilgi, tablo hücresi veya alan etiketi gibi belirli bir alandaki metni okumak için yararlıdır

İki overload sağlanır. Dört parametreli biçim tek tek Left, Üst, Right ve Bottom değerlerini kabul eder. Tek parametreli biçim bir TPdfRectangle record kabul eder; bölge zaten bir rectangle yapısı olarak hesaplanmışsa bu kullanışlıdır

Koordinatlar PDF user space kullanır: orijin sayfanın sol alt köşesindedir ve Y yukarı doğru artar. Bu nedenle normal yönelimli bir rectangle için Bottom, Üst'ten daha küçük bir değerdir. Karakterler, sınır kutuları belirtilen bölgeyle örtüşüyorsa sonuca dahil edilir

Text gibi bu yöntem de sayfanın mantıksal metin katmanından okur ve yüklenmiş bir PDF sayfası üzerinde çalışır

Örnek

// Bir A4 sayfasının üst başlık alanından metin çıkar
// A4: 595 x 842 pt; header = üstteki 60 pt şerit
Pdf1.LoadFromFile('C:\Docs\report.pdf');
Pdf1.PageIndex := 0;
var HeaderText: WString;
begin
  HeaderText := Pdf1.TextInRectangle(0, 782, 595, 842);
  ShowMessage(HeaderText);
end;

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

Ayrıca bkz.

Text, CharacterCount, FindFirst