property ObjectBounds[Index: Integer]: TPdfRectangle; // read only
تيار محتوى PDF للصفحة هو تسلسل من كائنات الصفحة: مقاطع نصية، ومسارات
متجهة، وصور نقطية، وأنماط تظليل، وXObjects للنماذج مضمنة (PDF 32000-1
§ 8.2). يعيد ObjectBounds المستطيل المحيط للكائن رقم
Index على الصفحة الحالية بعد أن يكون PDFium قد سوّى مكدس CTM ومصفوفة
cm الخاصة بالكائن، لذا يمكن استخدام المستطيل مباشرة لاختبار النقرات أو
بناء الأقنعة أو قص الصور المصغرة من دون أي حساب إضافي
يستخدم المستطيل اصطلاح الإحداثيات القياسي في PDF — الأصل عند الزاوية السفلية
اليسرى من الصفحة، والوحدات 1/72 بوصة، وY يتجه إلى الأعلى — لذا يكون
Bottom < Top في المستند السليم. يلف FPDFPageObj_GetBounds
في PDFium؛ والاستدعاء O(1) بحد ذاته لكنه يمر على كل رأس محيط داخليًا للمسارات، لذلك
من الحكمة تخزين النتيجة مؤقتًا إذا قرأتها مرات كثيرة لكل كائن
النطاق الصالح هو 0 .. ObjectCount - 1 للصفحة المحددة حاليًا بواسطة
PageNumber. يعيد الوصول إلى فهرس خارج النطاق
مستطيلًا صفريًا. قرن هذه الخاصية مع ObjectType
للتفرع حسب نوع الكائن قبل قراءة الخصائص الإضافية الخاصة بالنوع
| Index | فهرس كائن الصفحة ذو الفهرسة الصفرية، 0 ≤ Index < ObjectCount |
// Highlight every image object on the current page.
var I: Integer;
var R: TPdfRectangle;
begin
for I := 0 to Pdf1.ObjectCount - 1 do
if Pdf1.ObjectType[I] = otImage then
begin
R := Pdf1.ObjectBounds[I];
Memo1.Lines.Add(Format('image %d: %.1f,%.1f - %.1f,%.1f (%.1fx%.1f pt)',
[I, R.Left, R.Bottom, R.Right, R.Top,
R.Right - R.Left, R.Top - R.Bottom]));
end;
end;