function ExtractDocumentTables(
const Options: TPdfTableExtractionOptions): TPdfTables;
تزور الطريقة الصفحات بترتيب المستند، وتطبق ExtractTables، وتتقاسم ميزانيات الخلايا والجداول المُعدَّة عبر المسح الكامل، وتستعيد الصفحة التي كانت نشطة قبل الاستدعاء
حين يكون DetectContinuations ممكَّنًا، يشكّل جدولان في صفحتين متتاليتين سلسلةً حين تتطابق كل حدود الأعمدة داخل حد التسامح، وإما أن يقع كلا الجزأين داخل ContinuationMargin من حافتي صفحتيهما أو لا يوجد نص آخر أسفل الجزء الأول وفوق الثاني؛ وتُتجاهل الرؤوس والتذييلات الجارية داخل الهامش. الجزء الذي يكون صفُّه الأول خليةً واحدة تمتد بكامل العرض يحمل عنوانًا ويبدأ دائمًا جدولًا جديدًا
تُحفظ الأجزاء المسطّرة التي صفوفها أقل من MinRows أثناء مسح المستند حين يتبين أنها تكمل شبكة الصفحة السابقة، فلا يضيع صفٌّ واحد انسكب عبر حدود صفحة
يَبوِّب TPdfTableExtractionOptions الاستراتيجيتين عبر DetectRuledTables و DetectWhitespaceTables، ويحد من القبول عبر MinRows و MinColumns و HeaderRowCount، ويضبط الهندسة عبر حقول التسامح بما فيها ContinuationMargin لمطابقة السلاسل
ptcNone يحدد جدولًا مستقلًاptcStart يحدد أول جدول في سلسلةptcMiddle يحدد جدولًا داخليًا في سلسلةptcEnd يحدد الجدول الأخير في سلسلةContinuationGroup يربط كل عضو في السلسلة نفسهاvar
Options: TPdfTableExtractionOptions;
Tables: TPdfTables;
I: Integer;
begin
Options := TPdfTableExtractionOptions.Default;
Tables := Pdf1.ExtractDocumentTables(Options);
for I := 0 to High(Tables) do
Memo1.Lines.Add(Tables[I].ToJson);
end;