{"observation":{"id":"8c8cffd6-9942-4cc3-95c3-b837dfd045e3","tool":"reducto","tool_name":"Reducto","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":"worked","score":null,"score_total":null,"note":"Preserves the balance-sheet hierarchy and values, including Assets > Current assets > Cash and deposits, and also reconstructs the later 9-column segment table with all values correct.","evidence_state":"verified","source":null,"artifacts":[{"url":"https://cdn.futuresmart.ai/public/aidemos/ae13c7e19e8b412abc1f87bcc21554f3.png?v=1","role":"input","alt":null},{"url":"https://cdn.futuresmart.ai/public/aidemos/f746e2556bf746558f26f77b2c7bc41c.png?v=1","role":"output","alt":null},{"url":"https://cdn.futuresmart.ai/public/aidemos/85b7d870858849249b58f55e161e3f03.png?v=1","role":"input","alt":null},{"url":"https://cdn.futuresmart.ai/public/aidemos/13efc03c048841f2bbb636774d7e7ace.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":"reducto","tool_url":"https://aidemos.com/tools/reducto","permalink":"https://aidemos.com/evidence/8c8cffd6-9942-4cc3-95c3-b837dfd045e3","api_url":"https://ai.aidemos.com/v1/observations/8c8cffd6-9942-4cc3-95c3-b837dfd045e3"},"peers":[{"id":"e2b44c75-a82d-4254-8add-2ed4da971cda","tool":"adobe-api","tool_name":"Adobe API","verdict":"failed","score":null,"score_total":null,"note":"Flattens a dual-header financial table, losing the distinct row-header versus column-header roles in the extracted version.","artifact_count":2,"thumbnail":"https://cdn.futuresmart.ai/public/aidemos/42af0b6a8200417588083a90fa79bbc7.png?v=1","evidence_url":"https://aidemos.com/evidence/e2b44c75-a82d-4254-8add-2ed4da971cda"},{"id":"97730664-06e4-4f6f-934a-dcb55b7fe176","tool":"extend-ai","tool_name":"Extend AI","verdict":"mixed","score":null,"score_total":null,"note":"Keeps the body rows aligned in a multilevel table, but fails to split compound header cells cleanly, so header roles are partially flattened.","artifact_count":2,"thumbnail":"https://cdn.futuresmart.ai/public/aidemos/99105bf764b54991bbcea2ecf47fbb52.png?v=1","evidence_url":"https://aidemos.com/evidence/97730664-06e4-4f6f-934a-dcb55b7fe176"},{"id":"3e92e668-2248-45fe-bbe3-3bbe48017ea9","tool":"landing-ai","tool_name":"Landing AI","verdict":"worked","score":null,"score_total":null,"note":"Reconstructs a multi-column segment comparison table with previous-year, present-year, and year-over-year change columns aligned across the rows.","artifact_count":2,"thumbnail":"https://cdn.futuresmart.ai/public/aidemos/7e4a0f994215484c920ba868f35fcef4.png?v=1","evidence_url":"https://aidemos.com/evidence/3e92e668-2248-45fe-bbe3-3bbe48017ea9"},{"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":"fa59d041-14d6-4e87-b31a-efb38ba1ca3d","tool":"mistral-ai","tool_name":"Mistral AI","verdict":"worked","score":null,"score_total":null,"note":"The multilevel segment table is preserved with its hierarchical headers intact, maintaining the relationships between the grouped columns and their values.","artifact_count":3,"thumbnail":"https://cdn.futuresmart.ai/public/aidemos/7e4a0f994215484c920ba868f35fcef4.png?v=1","evidence_url":"https://aidemos.com/evidence/fa59d041-14d6-4e87-b31a-efb38ba1ca3d"},{"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":"63381a32-714a-48c6-b8dc-3ce4fc67279d","tool":"tensorlake","tool_name":"Tensorlake","verdict":"failed","score":null,"score_total":null,"note":"Breaks on a more complex multi-header table by losing header hierarchy and omitting at least one header label, producing an incomplete and structurally incorrect reconstruction.","artifact_count":2,"thumbnail":"https://cdn.futuresmart.ai/public/aidemos/bf75efe477c745c68266f27b04959671.png?v=1","evidence_url":"https://aidemos.com/evidence/63381a32-714a-48c6-b8dc-3ce4fc67279d"},{"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":"991345dd-5c2a-4f09-8dc3-76918b2843d9","criterion":"advanced-features","criterion_name":"Advanced Features","rank_role":"context","verdict":"worked","score":null,"score_total":null,"note":"Schema-driven extract.run fully recovers the broken Business Results table, separating the 2024 value and percent-change fields that parse.run had merged together.","artifact_count":2,"evidence_url":"https://aidemos.com/evidence/991345dd-5c2a-4f09-8dc3-76918b2843d9"},{"id":"2ca4b8f8-5317-4d78-bf58-1e1f88758a01","criterion":"advanced-features","criterion_name":"Advanced Features","rank_role":"context","verdict":"failed","score":null,"score_total":null,"note":"The confidence field is nearly useless here: the only low-confidence flag is a false alarm on the correct page-18 section header, while the genuinely broken Business Results table stays high-confidence throughout.","artifact_count":3,"evidence_url":"https://aidemos.com/evidence/2ca4b8f8-5317-4d78-bf58-1e1f88758a01"},{"id":"bfda059c-a8f9-41ce-8796-bcc01ea2026d","criterion":"complex-document-handling","criterion_name":"Complex Document Handling","rank_role":"decisive","verdict":"mixed","score":null,"score_total":null,"note":"Processes the 18-page report in 9.7 seconds with no truncation; the 9-column segment table at page 17 is flawless even though the first table on page 2 is broken.","artifact_count":3,"evidence_url":"https://aidemos.com/evidence/bfda059c-a8f9-41ce-8796-bcc01ea2026d"},{"id":"aa04c457-96be-40c1-87a5-5813f3f86c31","criterion":"markdown-quality","criterion_name":"Markdown Quality","rank_role":"decisive","verdict":"worked","score":null,"score_total":null,"note":"Keeps the syntax clean: no <signature>, <empty>, <b>, <i>, or <u> tags appear anywhere in the output, and the table-of-contents extract renders as a valid pipe table.","artifact_count":4,"evidence_url":"https://aidemos.com/evidence/aa04c457-96be-40c1-87a5-5813f3f86c31"},{"id":"cb41b326-14c7-4854-ae36-24b1588cda74","criterion":"reading-order-structure","criterion_name":"Reading Order & Structure","rank_role":"decisive","verdict":"failed","score":null,"score_total":null,"note":"Provides zero markdown heading markup across all 18 pages; the Roman-numeral sections and numbered subsections are flattened into plain text despite the source’s visible section hierarchy.","artifact_count":4,"evidence_url":"https://aidemos.com/evidence/cb41b326-14c7-4854-ae36-24b1588cda74"},{"id":"2d1ae485-b6cc-4e88-813c-fce6d08fdd87","criterion":"text-ocr-completeness","criterion_name":"Text & OCR Completeness","rank_role":"decisive","verdict":"worked","score":null,"score_total":null,"note":"Converts all 18 pages with no omitted text; a dense financial-condition paragraph preserves multiple JPY-billion values exactly, including JPY1,252.7 billion, JPY623.6 billion, JPY27.2 billion, JPY10.8 billion, JPY5.0 billion, and JPY9.7 billion.","artifact_count":2,"evidence_url":"https://aidemos.com/evidence/2d1ae485-b6cc-4e88-813c-fce6d08fdd87"},{"id":"cd90d364-bb6e-4ca0-9248-fe516d1a8765","criterion":"visual-content-retention","criterion_name":"Visual Content Retention","rank_role":"decisive","verdict":"worked","score":null,"score_total":null,"note":"Retains the recurring page-header logo consistently across all 17 pages that carry it; the returned crops on pages 2 and 18 are the same mark and wordmark, with only a 1px width difference (453x36 vs 452x36) consistent with rounding.","artifact_count":4,"evidence_url":"https://aidemos.com/evidence/cd90d364-bb6e-4ca0-9248-fe516d1a8765"}],"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":"e2b44c75-a82d-4254-8add-2ed4da971cda","tool":"adobe-api","tool_name":"Adobe API","verdict":"failed","score":null,"score_total":null,"note":"Flattens a dual-header financial table, losing the distinct row-header versus column-header roles in the extracted version."},{"id":"97730664-06e4-4f6f-934a-dcb55b7fe176","tool":"extend-ai","tool_name":"Extend AI","verdict":"mixed","score":null,"score_total":null,"note":"Keeps the body rows aligned in a multilevel table, but fails to split compound header cells cleanly, so header roles are partially flattened."},{"id":"3e92e668-2248-45fe-bbe3-3bbe48017ea9","tool":"landing-ai","tool_name":"Landing AI","verdict":"worked","score":null,"score_total":null,"note":"Reconstructs a multi-column segment comparison table with previous-year, present-year, and year-over-year change columns aligned across the rows."},{"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":"fa59d041-14d6-4e87-b31a-efb38ba1ca3d","tool":"mistral-ai","tool_name":"Mistral AI","verdict":"worked","score":null,"score_total":null,"note":"The multilevel segment table is preserved with its hierarchical headers intact, maintaining the relationships between the grouped columns and their values."},{"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":"63381a32-714a-48c6-b8dc-3ce4fc67279d","tool":"tensorlake","tool_name":"Tensorlake","verdict":"failed","score":null,"score_total":null,"note":"Breaks on a more complex multi-header table by losing header hierarchy and omitting at least one header label, producing an incomplete and structurally incorrect reconstruction."},{"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."}]}