function ExtractTables(
const Options: TPdfTableExtractionOptions): TPdfTables;
La strategia ruled trasforma i segmenti di percorso con tratto nativi in coordinate di pagina, isola le griglie connesse e unisce le celle base adiacenti quando manca un divisore locale
Con DetectFilledRulings la stessa strategia legge anche la geometria riempita: un rettangolo riempito non più spesso di MaxRulingThickness diventa una riga di bordo lungo il suo asse maggiore, e un rettangolo riempito più grande, come una cella con ombreggiatura, contribuisce con i suoi quattro lati. Ogni coordinata della riga di bordo viene poi agganciata entro RulingSnapTolerance, così i frammenti di bordo per singola cella, i doppi bordi e le celle ombreggiate con una piccola canalina si connettono in un'unica griglia. Le esportazioni da elaboratori di testo e browser disegnano le tabelle in questo modo, quindi vengono riportate come griglie con bordi anziché come frammenti whitespace. IncludeFormXObjects percorre i form XObject con le loro matrici combinate
La strategia whitespace raggruppa i box delle parole nativi in righe visive e richiede anchor di colonna allineati ripetuti su più righe Le parole già all'interno di una griglia con bordi rilevata vengono escluse, e ogni confine di colonna deve essere un corridoio verticale privo di testo su tutte le righe che hanno contenuto su entrambi i lati, così i paragrafi giustificati non vengono riportati come tabelle
Ogni TPdfTable include i limiti di pagina, RowCount e i conteggi delle colonne, DetectionMode, la confidenza e valori TPdfTableCell con testo, limiti, stato IsHeader, RowIndex, ColumnIndex, RowSpan e ColumnSpan
TPdfTable.ToCsv emette campi tra virgolette in stile RFC 4180 e lascia vuote le posizioni coperte dagli spanTPdfTable.ToJson emette testo Unicode, geometria, span, confidenza, modalità di rilevamento e metadati di continuazioneMinRows, MinColumns, AlignmentTolerance, RulingTolerance, MinColumnGap, MaxRowGapFactor e MinConfidence controllano il rilevamento; MinRows può essere 1 per le griglie con bordi, mentre il rilevamento whitespace richiede sempre almeno due righe
DetectFilledRulings, MaxRulingThickness, RulingSnapTolerance e IncludeFormXObjects regolano il percorso della geometria riempita; i valori predefiniti sono attivo, 3 punti, 4 punti e attivo
MaxWords, MaxRulingSegments, MaxCells e MaxTables falliscono in modo conservativo prima di elaborazioni o allocazioni non delimitate
var
Options: TPdfTableExtractionOptions;
Tables: TPdfTables;
begin
Options := TPdfTableExtractionOptions.Default;
Tables := Pdf1.ExtractTables(Options);
if Length(Tables) > 0 then
Memo1.Text := Tables[0].ToCsv;
end;