API Reference
PdfLogicalTableAnalysis
Shared analysis helpers for logical PDF tables produced by PdfDocumentReadResult.
Inheritance
- Object
- PdfLogicalTableAnalysis
Methods
public static PdfLogicalTableStructure Analyze(PdfLogicalTable table) #PdfLogicalTableStructureEstablishes structured extraction metadata for a logical PDF table from structural evidence.
Parameters
- table OfficeIMO.Pdf.PdfLogicalTable
- Logical table to inspect.
Returns
Column names, body-row boundary, and table-shape flags for structured consumers.
public static PdfTableExtractionScopeReport AnalyzeExtractionScope(PdfDocumentReadResult document) #PdfTableExtractionScopeReportDescribes the source-page content considered by table-only adapters.
Parameters
- document OfficeIMO.Pdf.PdfDocumentReadResult
- Logical PDF document to inspect.
Returns
Table counts plus visible and interactive page content that a table-only adapter will not import.
public static PdfTableExtractionScopeReport AnalyzeExtractionScope(PdfDocumentReadResult document, Int32 maximumComparisons) #PdfTableExtractionScopeReportDescribes table extraction scope while bounding attacker-controlled text/table comparisons.
Parameters
- document OfficeIMO.Pdf.PdfDocumentReadResult
- maximumComparisons System.Int32
public static PdfTableExtractionScopeReport AnalyzeExtractionScope(IReadOnlyList<PdfLogicalPage> pages) #PdfTableExtractionScopeReportDescribes table extraction scope for a selected collection of logical pages. Document-level optional-content groups are not attributed to individual pages.
Parameters
- pages System.Collections.Generic.IReadOnlyList{OfficeIMO.Pdf.PdfLogicalPage}
- Logical pages to inspect.
Returns
Page-scoped table counts plus visible and interactive content outside detected tables.
public static PdfTableExtractionScopeReport AnalyzeExtractionScope(IReadOnlyList<PdfLogicalPage> pages, Int32 maximumComparisons) #PdfTableExtractionScopeReportDescribes table extraction scope for selected logical pages while bounding attacker-controlled text/table comparisons. Document-level optional-content groups are not attributed to individual pages.
Parameters
- pages System.Collections.Generic.IReadOnlyList{OfficeIMO.Pdf.PdfLogicalPage}
- maximumComparisons System.Int32
public static IReadOnlyList<String> DetectHeaderColumns(PdfLogicalTable table) #IReadOnlyList<String>Detects a header row only when the PDF supplies explicit tagged or typographic structure.
Parameters
- table OfficeIMO.Pdf.PdfLogicalTable
- Logical table to inspect.
Returns
Header column names when structural evidence establishes the first row as a header; otherwise null.
public static Boolean[] DetectNumericColumns(PdfLogicalTable table) #Boolean[]Detects body columns whose non-empty cells look numeric and can be right-aligned by text emitters.
Parameters
- table OfficeIMO.Pdf.PdfLogicalTable
- Logical table to inspect.
Returns
A Boolean value per visible table column. True means all non-empty body cells in that column look numeric.
public static Boolean[] DetectNumericColumns(PdfLogicalTable table, PdfLogicalTableStructure structure) #Boolean[]Detects numeric body columns using a previously inferred table structure.
Parameters
- table OfficeIMO.Pdf.PdfLogicalTable
- Logical table to inspect.
- structure OfficeIMO.Pdf.PdfLogicalTableStructure
- Inferred table structure that provides column count and body-row boundary.
Returns
A Boolean value per visible table column. True means all non-empty body cells in that column look numeric.
public static Boolean[] DetectParsableNumericColumns(PdfLogicalTableData data, CultureInfo culture = null) #Boolean[]Detects extracted logical table columns whose non-empty cells can be safely converted to decimal values.
Parameters
- data OfficeIMO.Pdf.PdfLogicalTableData
- Extracted logical table data to inspect.
- culture System.Globalization.CultureInfo = null
- Preferred culture for localized numeric text. Invariant parsing is also attempted.
Returns
A Boolean value per extracted table column. True means every non-empty cell in that column parses as a decimal value.
public static PdfLogicalTableData Extract(PdfLogicalTable table, Int32 maxRows = 0) #PdfLogicalTableDataExtracts a normalized, structured table view for document readers and text emitters.
Parameters
- table OfficeIMO.Pdf.PdfLogicalTable
- Logical table to inspect.
- maxRows System.Int32 = 0
- Maximum number of body rows to return. Values less than or equal to zero return all body rows.
Returns
Inferred columns, normalized body rows, numeric-column flags, and truncation metadata.
public static IReadOnlyList<PdfLogicalTableExtraction> ExtractTables(PdfDocumentReadResult document, Int32 maxRows = 0) #IReadOnlyList<PdfLogicalTableExtraction>Extracts normalized tables from every logical page in document order.
Parameters
- document OfficeIMO.Pdf.PdfDocumentReadResult
- Logical PDF document to inspect.
- maxRows System.Int32 = 0
- Maximum number of body rows per table. Values less than or equal to zero return all body rows.
Returns
Page-aware normalized table extractions.
public static IReadOnlyList<PdfLogicalTableExtraction> ExtractTables(IReadOnlyList<PdfLogicalPage> pages, Int32 maxRows = 0) #IReadOnlyList<PdfLogicalTableExtraction>Extracts normalized tables from the supplied logical pages in their current order.
Parameters
- pages System.Collections.Generic.IReadOnlyList{OfficeIMO.Pdf.PdfLogicalPage}
- Logical pages to inspect.
- maxRows System.Int32 = 0
- Maximum number of body rows per table. Values less than or equal to zero return all body rows.
Returns
Page-aware normalized table extractions.
public static IReadOnlyList<PdfLogicalTableExtraction> ExtractTables(PdfLogicalPage page, Int32 maxRows = 0) #IReadOnlyList<PdfLogicalTableExtraction>Extracts normalized tables from a single logical page.
Parameters
- page OfficeIMO.Pdf.PdfLogicalPage
- Logical page to inspect.
- maxRows System.Int32 = 0
- Maximum number of body rows per table. Values less than or equal to zero return all body rows.
Returns
Normalized table extractions for the page.
public static IReadOnlyList<IReadOnlyList<String>> GetBodyRows(PdfLogicalTable table, PdfLogicalTableStructure structure, Int32 maxRows = 0) #IReadOnlyList<IReadOnlyList<String>>Returns normalized logical body rows using a previously inferred table structure.
Parameters
- table OfficeIMO.Pdf.PdfLogicalTable
- Logical table to inspect.
- structure OfficeIMO.Pdf.PdfLogicalTableStructure
- Inferred table structure that provides column count and body-row boundary.
- maxRows System.Int32 = 0
- Maximum number of rows to return. Values less than or equal to zero return all body rows.
Returns
Body rows padded or trimmed to the inferred column count.
public static Int32 GetColumnCount(PdfLogicalTable table) #Int32Gets the maximum visible cell count across all logical table rows.
Parameters
- table OfficeIMO.Pdf.PdfLogicalTable
- Logical table to inspect.
Returns
The maximum row width, or zero when the table has no visible cells.
public static Boolean LooksLikeNumericValue(String text) #BooleanReports whether a table cell value looks numeric for Markdown and HTML alignment purposes.
Parameters
- text System.String
- Cell text to inspect.
Returns
True when the value contains at least one digit and only numeric punctuation, whitespace, or currency symbols.
public static Boolean TryParseNumericValue(String text, CultureInfo culture, out Decimal value) #BooleanParses common invoice and statement numeric cell text into a decimal value for editable document exports.
Parameters
- text System.String
- Cell text to parse.
- culture System.Globalization.CultureInfo
- Preferred culture for localized numeric text. Invariant parsing is also attempted.
- value System.Decimal@
- Parsed decimal value when parsing succeeds.
Returns
True when the text can be converted to a decimal value without treating percentages as ordinary numbers.
Inherited Methods
public override Boolean Equals(Object obj) #BooleanParameters
- obj Object