{"observation":{"id":"ff397516-558d-48d7-bbab-039a3f745539","tool":"landing-ai","tool_name":"Landing AI","criterion":"table-preservation","criterion_name":"Table Preservation","criterion_definition":"Preserves complex table structures, including rows, columns, multi-row headers, and merged-cell relationships in markdown.","criterion_evidence_type":"transformation","criterion_rank_role":"decisive","criterion_rank_role_reason":"Accurate Markdown conversion of complex PDFs depends on keeping table structure intact, not flattening it into plain text. (3 of 3 judges)","scenario":"financial-report-table-heavy","scenario_name":"Financial Report - Table Heavy","group_tag":"financial-report-table-heavy","scenario_description":"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.","modality":"pdf","input_text":null,"input_artifact_refs":[{"alt":null,"url":"https://cdn.futuresmart.ai/public/aidemos/fba42ade5adb4814a3381dd4487a3910.pdf?v=1","role":"input","filename":"doc.pdf"}],"stresses":["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"],"verdict":"mixed","score":null,"score_total":null,"note":"Recovers the numeric values from a complex table but merges nested header levels into a single cell, weakening the semantic relationships of the table structure.","evidence_state":"verified","source":null,"artifacts":[{"url":"https://cdn.futuresmart.ai/public/aidemos/42af0b6a8200417588083a90fa79bbc7.png?v=1","role":"input","alt":null},{"url":"https://cdn.futuresmart.ai/public/aidemos/1f3c4130681846278842bc01837c2e02.png?v=1","role":"output","alt":null}],"run_id":"6e3160de-fe46-4b45-b071-72560b5c5d0e","study_title":"Convert a Complex PDF into Clean Markdown with an API","study_kind":"generation","research_task":"86b9h7t37","tested_at":null,"completeness":"input-and-output","input":{"state":"files","text":null,"files":[{"url":"https://cdn.futuresmart.ai/public/aidemos/fba42ade5adb4814a3381dd4487a3910.pdf?v=1","filename":"doc.pdf","alt":"Financial Report - Table Heavy","role":"input"}],"modality":"pdf","stresses":["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"]},"tool_page_slug":"landing-ai","tool_url":"https://aidemos.com/tools/landing-ai","permalink":"https://aidemos.com/evidence/ff397516-558d-48d7-bbab-039a3f745539","api_url":"https://ai.aidemos.com/v1/observations/ff397516-558d-48d7-bbab-039a3f745539"},"peers":[{"id":"0ca22480-01a9-4e56-9b68-305585f6dd8c","tool":"adobe-api","tool_name":"Adobe API","verdict":"worked","score":null,"score_total":null,"note":"Preserves a grouped multi-level segment table with previous/current quarter amounts and year-over-year change columns, keeping the segment rows and totals aligned.","artifact_count":2,"thumbnail":"https://cdn.futuresmart.ai/public/aidemos/7e4a0f994215484c920ba868f35fcef4.png?v=1","evidence_url":"https://aidemos.com/evidence/0ca22480-01a9-4e56-9b68-305585f6dd8c"},{"id":"97367dd9-249f-4997-95e4-14cc616e9713","tool":"extend-ai","tool_name":"Extend AI","verdict":"worked","score":null,"score_total":null,"note":"Preserves grouped-column structure in the financial tables, including the multilevel segment matrix and the balance-sheet comparison layout.","artifact_count":3,"thumbnail":"https://cdn.futuresmart.ai/public/aidemos/7e4a0f994215484c920ba868f35fcef4.png?v=1","evidence_url":"https://aidemos.com/evidence/97367dd9-249f-4997-95e4-14cc616e9713"},{"id":"b83ea780-c133-4101-8a90-10799b20ab97","tool":"llamaparse","tool_name":"LlamaParse","verdict":"worked","score":null,"score_total":null,"note":"Preserves a multi-level segment-results table with grouped headers and year-over-year columns, keeping the hierarchy legible in the extracted output.","artifact_count":2,"thumbnail":"https://cdn.futuresmart.ai/public/aidemos/808bccab0f4e4188ad2e46b4a0124763.png?v=1","evidence_url":"https://aidemos.com/evidence/b83ea780-c133-4101-8a90-10799b20ab97"},{"id":"5fe802fc-62a5-4a6a-aa9c-9ae77852cde1","tool":"mistral-ai","tool_name":"Mistral AI","verdict":"failed","score":null,"score_total":null,"note":"Distinct header levels are collapsed into a single cell in the multilevel table, weakening the parent-child relationships that define the column semantics.","artifact_count":3,"thumbnail":"https://cdn.futuresmart.ai/public/aidemos/79983e2875fa4de3adacd9d60f5e9dd0.png?v=1","evidence_url":"https://aidemos.com/evidence/5fe802fc-62a5-4a6a-aa9c-9ae77852cde1"},{"id":"a86ffd95-175a-40ec-8670-6791368379df","tool":"nutrient-io","tool_name":"Nutrient.io","verdict":"failed","score":null,"score_total":null,"note":"Loses multi-level header organization in hierarchical tables, so parent-child column relationships are not reconstructed in the markdown output.","artifact_count":4,"thumbnail":"https://cdn.futuresmart.ai/public/aidemos/33be110e75ed4e7ca9c753431c9ecf0c.png?v=1","evidence_url":"https://aidemos.com/evidence/a86ffd95-175a-40ec-8670-6791368379df"},{"id":"f597cbbc-cbe9-4694-8b5e-078b1489986b","tool":"reducto","tool_name":"Reducto","verdict":"failed","score":null,"score_total":null,"note":"Breaks 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.","artifact_count":2,"thumbnail":"https://cdn.futuresmart.ai/public/aidemos/af3dd85d1d40412d8e591a94c1db85f0.png?v=1","evidence_url":"https://aidemos.com/evidence/f597cbbc-cbe9-4694-8b5e-078b1489986b"},{"id":"e86e674e-4666-4abc-a7fb-84d1f4bf1ed7","tool":"tensorlake","tool_name":"Tensorlake","verdict":"worked","score":null,"score_total":null,"note":"Reconstructs a multilevel segment-results table with grouped previous/present quarter headers, year-over-year change columns, six segment rows, and a total row.","artifact_count":2,"thumbnail":"https://cdn.futuresmart.ai/public/aidemos/7e4a0f994215484c920ba868f35fcef4.png?v=1","evidence_url":"https://aidemos.com/evidence/e86e674e-4666-4abc-a7fb-84d1f4bf1ed7"},{"id":"c66e2b14-a549-4ce7-bbd9-4f0fb50a2057","tool":"upstage-ai","tool_name":"Upstage AI","verdict":"failed","score":null,"score_total":null,"note":"Misaligns column headers with data regions in dense financial tables, producing a structurally inconsistent balance-sheet extraction rather than a clean header-to-row mapping.","artifact_count":4,"thumbnail":"https://cdn.futuresmart.ai/public/aidemos/06a0e21888cc4bb187dec34ceb255186.png?v=1","evidence_url":"https://aidemos.com/evidence/c66e2b14-a549-4ce7-bbd9-4f0fb50a2057"}],"other_criteria":[{"id":"4ef15ab4-2775-4a1c-8619-d2b570d9cbd5","criterion":"reading-order-structure","criterion_name":"Reading Order & Structure","rank_role":"decisive","verdict":"worked","score":null,"score_total":null,"note":"Keeps the operating-performance section hierarchy intact, with the main section heading, subsection heading, and narrative paragraphs remaining in the correct flow.","artifact_count":2,"evidence_url":"https://aidemos.com/evidence/4ef15ab4-2775-4a1c-8619-d2b570d9cbd5"},{"id":"b9c70af6-5ade-4248-96e3-f6a02e23da6f","criterion":"reading-order-structure","criterion_name":"Reading Order & Structure","rank_role":"decisive","verdict":"failed","score":null,"score_total":null,"note":"Flattens major headings on the report title/abstract page, reducing structural clarity in the opening pages.","artifact_count":2,"evidence_url":"https://aidemos.com/evidence/b9c70af6-5ade-4248-96e3-f6a02e23da6f"}],"appears_in":[{"page_type":"ranking","slug":"pdf-to-markdown-apis","title":"Best AI Tools to Convert Complex PDFs into Clean Markdown with an API","url":"https://aidemos.com/best/pdf-to-markdown-apis","binding":"run"}],"same_scenario":[{"id":"0ca22480-01a9-4e56-9b68-305585f6dd8c","tool":"adobe-api","tool_name":"Adobe API","verdict":"worked","score":null,"score_total":null,"note":"Preserves a grouped multi-level segment table with previous/current quarter amounts and year-over-year change columns, keeping the segment rows and totals aligned."},{"id":"97367dd9-249f-4997-95e4-14cc616e9713","tool":"extend-ai","tool_name":"Extend AI","verdict":"worked","score":null,"score_total":null,"note":"Preserves grouped-column structure in the financial tables, including the multilevel segment matrix and the balance-sheet comparison layout."},{"id":"b83ea780-c133-4101-8a90-10799b20ab97","tool":"llamaparse","tool_name":"LlamaParse","verdict":"worked","score":null,"score_total":null,"note":"Preserves a multi-level segment-results table with grouped headers and year-over-year columns, keeping the hierarchy legible in the extracted output."},{"id":"5fe802fc-62a5-4a6a-aa9c-9ae77852cde1","tool":"mistral-ai","tool_name":"Mistral AI","verdict":"failed","score":null,"score_total":null,"note":"Distinct header levels are collapsed into a single cell in the multilevel table, weakening the parent-child relationships that define the column semantics."},{"id":"a86ffd95-175a-40ec-8670-6791368379df","tool":"nutrient-io","tool_name":"Nutrient.io","verdict":"failed","score":null,"score_total":null,"note":"Loses multi-level header organization in hierarchical tables, so parent-child column relationships are not reconstructed in the markdown output."},{"id":"f597cbbc-cbe9-4694-8b5e-078b1489986b","tool":"reducto","tool_name":"Reducto","verdict":"failed","score":null,"score_total":null,"note":"Breaks 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."},{"id":"e86e674e-4666-4abc-a7fb-84d1f4bf1ed7","tool":"tensorlake","tool_name":"Tensorlake","verdict":"worked","score":null,"score_total":null,"note":"Reconstructs a multilevel segment-results table with grouped previous/present quarter headers, year-over-year change columns, six segment rows, and a total row."},{"id":"c66e2b14-a549-4ce7-bbd9-4f0fb50a2057","tool":"upstage-ai","tool_name":"Upstage AI","verdict":"failed","score":null,"score_total":null,"note":"Misaligns column headers with data regions in dense financial tables, producing a structurally inconsistent balance-sheet extraction rather than a clean header-to-row mapping."}]}