function ExtractTables(
const Options: TPdfTableExtractionOptions): TPdfTables;
Den linjerade strategin omvandlar nativa streckade sökvägssegment till sidkoordinater, isolerar sammanhängande rutnät och slår ihop angränsande basceller när en lokal avdelare saknas
Med DetectFilledRulings läser samma strategi också fylld geometri: en fylld rektangel som inte är tjockare än MaxRulingThickness blir en linje längs sin långa axel, och en större fylld rektangel, som en skuggad cell, bidrar med sina fyra kanter. Varje linjekoordinat snäpps sedan inom RulingSnapTolerance så att kantbitar per cell, dubbla kanter och skuggade celler med ett litet mellanrum ansluts till ett rutnät. Ordbehandlare och webbläsare ritar tabeller på det här sättet, så de rapporteras som linjerade rutnät i stället för som whitespace-fragment. IncludeFormXObjects går igenom form XObjects med sina kombinerade matriser
Whitespace-strategin grupperar nativa ordlådor i visuella rader och kräver upprepade riktade kolumnankare över flera rader Ord som redan ligger inuti ett detekterat linjerat rutnät exkluderas, och varje kolumngräns måste vara en vertikal korridor fri från text på alla rader som har innehåll på båda sidor, vilket gör att marginaljusterade stycken inte rapporteras som tabeller
Varje TPdfTable innehåller sidgränser, RowCount och kolumnantal, DetectionMode, konfidens samt TPdfTableCell-värden med text, gränser, IsHeader-läget, RowIndex, ColumnIndex, RowSpan och ColumnSpan
TPdfTable.ToCsv skriver RFC 4180-format med citerade fält och lämnar täckta spannpositioner tommaTPdfTable.ToJson skriver Unicode-text, geometri, spann, konfidens, detekteringsläge och fortsättningsmetadataMinRows, MinColumns, AlignmentTolerance, RulingTolerance, MinColumnGap, MaxRowGapFactor och MinConfidence styr detekteringen; MinRows får vara 1 för linjerade rutnät, medan whitespace-detektering alltid behöver minst två rader
DetectFilledRulings, MaxRulingThickness, RulingSnapTolerance och IncludeFormXObjects ställer in spåret för fylld geometri; standardvärdena är på, 3 punkter, 4 punkter och på
MaxWords, MaxRulingSegments, MaxCells och MaxTables avbryter stängt innan arbete eller allokering blir obegränsat
var
Options: TPdfTableExtractionOptions;
Tables: TPdfTables;
begin
Options := TPdfTableExtractionOptions.Default;
Tables := Pdf1.ExtractTables(Options);
if Length(Tables) > 0 then
Memo1.Text := Tables[0].ToCsv;
end;