The multilevel segment table is preserved with its hierarchical headers intact, maintaining the relationships between the grouped columns and their values.
What was measured
Table Preservation
Preserves complex table structures, including rows, columns, multi-row headers, and merged-cell relationships in markdown.
decisive for this rankingtransformation
Accurate Markdown conversion of complex PDFs depends on keeping table structure intact, not flattening it into plain text. (3 of 3 judges)
What was given, what came back
Test input: Financial Report - Table Heavy · pdf · group: financial-report-table-heavy
Input — what we sent
A table-heavy corporate financial report used to test extraction of dense, hierarchical financial statements with grouped columns, multi-row headers, segment-reporting tables, and narrative disclosures.
Why this input is hard
- · Multi-page financial statement extraction
- · Hierarchical table reconstruction
- · Grouped columns and multi-row headers
- · Reading order in a report with mixed narrative and tables
- · Document structure retention
- · Markdown usability
Output — unretouched


Also checked on this input — same tool, 4 other criteria
Complex Document Handling✓ WorkedThe tool processes an 18-page table-heavy financial report end-to-end and returns both page-level and consolidated markdown outputs.Markdown Quality✓ WorkedThe output is organized as a downloadable ZIP containing a consolidated markdown document plus individual page-level files for localized inspection.Reading Order & Structure✓ WorkedDocument hierarchy and reading flow are preserved across the financial report, with headings staying connected to their explanatory text in the reconstructed output.Reading Order & Structure✗ FailedThe table of contents is flattened into raw text, so the original navigational hierarchy is not preserved.
Provenance
- Observation
- fa59d041-14d6-4e87-b31a-efb38ba1ca3d
- Evidence run
- 6e3160de-fe46-4b45-b071-72560b5c5d0e
- Study
- Convert a Complex PDF into Clean Markdown with an API
- Research task
- 86b9h7t37
- Tested at
- not recorded
- Source
- first-party
- Evidence state
- verified
- Proof shown
- input + output shown
- Cost / latency
- not captured
- Repeat run
- not captured
- Tester
- not captured
The last three rows are honest blanks, not placeholders — our capture has no field for them yet.
Query this
get_evidence({
tool: "mistral-ai",
scenario: "financial-report-table-heavy"
})MCP · mcp.aidemos.com/api/mcp
Free with attribution.
Same input, same check — 8 other tools
measured on Table Preservation
Adobe API✓ WorkedPreserves a grouped multi-level segment table with previous/current quarter amounts and year-over-year change columns, keeping the segment rows and totals aligned.Extend AI✓ WorkedPreserves grouped-column structure in the financial tables, including the multilevel segment matrix and the balance-sheet comparison layout.Landing AI◐ MixedRecovers the numeric values from a complex table but merges nested header levels into a single cell, weakening the semantic relationships of the table structure.LlamaParse✓ WorkedPreserves a multi-level segment-results table with grouped headers and year-over-year columns, keeping the hierarchy legible in the extracted output.Nutrient.io✗ FailedLoses multi-level header organization in hierarchical tables, so parent-child column relationships are not reconstructed in the markdown output.Reducto✗ FailedBreaks a 5-column business-results table by duplicating the 2025 header and merging the 2024 value and percent change into one cell; the Net sales row ends up with 254,811 and 2.6 smashed together.Tensorlake✓ WorkedReconstructs a multilevel segment-results table with grouped previous/present quarter headers, year-over-year change columns, six segment rows, and a total row.Upstage AI✗ FailedMisaligns column headers with data regions in dense financial tables, producing a structurally inconsistent balance-sheet extraction rather than a clean header-to-row mapping.
This evidence is published in
Real inputs and real outputs, no retouching · every cell queryable via API & MCP · aidemos.com
