{"observation":{"id":"0bfcd599-6c54-476e-94c8-d8773b3595ca","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":"scanned-research-paper","scenario_name":"Scanned Research Paper","group_tag":"scanned-research-paper","scenario_description":"An image-only scanned research paper used to stress OCR and layout recovery in a multi-column academic document with figures, charts, tables, captions, and references.","modality":"pdf","input_text":null,"input_artifact_refs":[{"alt":null,"url":"https://d3epheqghktydj.cloudfront.net/convert-a-complex-pdf-into-clean-markdow-scanned-research-pdf-7b86de49784d.pdf","role":"input","filename":"Scanned Research PDF.pdf"}],"stresses":["OCR on scanned pages","Multi-column reading order","Figure and chart handling","Table reconstruction from scans","Caption association","Reference extraction","Overall document structure retention"],"verdict":"mixed","score":null,"score_total":null,"note":"Partially reflects the text that sits between table columns, but the intervening content still disrupts the table structure in the parsed output.","evidence_state":"verified","source":null,"artifacts":[{"url":"https://cdn.futuresmart.ai/public/aidemos/fc95e14e58844709b2619a3f3621bc7a.png?v=1","role":"input","alt":null},{"url":"https://cdn.futuresmart.ai/public/aidemos/4d9aa9d6ba134b61861a8ab6869e4009.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://d3epheqghktydj.cloudfront.net/convert-a-complex-pdf-into-clean-markdow-scanned-research-pdf-7b86de49784d.pdf","filename":"Scanned Research PDF.pdf","alt":"Scanned Research Paper","role":"input"}],"modality":"pdf","stresses":["OCR on scanned pages","Multi-column reading order","Figure and chart handling","Table reconstruction from scans","Caption association","Reference extraction","Overall document structure retention"]},"tool_page_slug":"landing-ai","tool_url":"https://aidemos.com/tools/landing-ai","permalink":"https://aidemos.com/evidence/0bfcd599-6c54-476e-94c8-d8773b3595ca","api_url":"https://ai.aidemos.com/v1/observations/0bfcd599-6c54-476e-94c8-d8773b3595ca"},"peers":[{"id":"82c91005-2538-47cc-812c-da8ff0c240c3","tool":"adobe-api","tool_name":"Adobe API","verdict":"failed","score":null,"score_total":null,"note":"Breaks a grouped-column table when intervening text appears, fragmenting the 1979–1981 layout and corrupting the extracted alignment.","artifact_count":2,"thumbnail":"https://cdn.futuresmart.ai/public/aidemos/6daa9c66b2694851bbf882f39eed1f1e.png?v=1","evidence_url":"https://aidemos.com/evidence/82c91005-2538-47cc-812c-da8ff0c240c3"},{"id":"1dcafead-b619-42e1-876d-e9a9b6902adb","tool":"extend-ai","tool_name":"Extend AI","verdict":"mixed","score":null,"score_total":null,"note":"Keeps the numeric table structure, but drops between-column annotations and leaves stray OCR characters in some numeric cells, so contextual information is partially lost.","artifact_count":3,"thumbnail":"https://cdn.futuresmart.ai/public/aidemos/6b3fa17009604505a41ee22a883265a2.png?v=1","evidence_url":"https://aidemos.com/evidence/1dcafead-b619-42e1-876d-e9a9b6902adb"},{"id":"6893a7fc-87db-41b5-a8fc-06a4f67d61d5","tool":"llamaparse","tool_name":"LlamaParse","verdict":"worked","score":null,"score_total":null,"note":"Preserves a nested treatment table with the 7-inch, 10-inch, 12-inch, 100-leave-tree, and clearcut columns and the acres/live-lodgepole rows.","artifact_count":2,"thumbnail":"https://cdn.futuresmart.ai/public/aidemos/d1659c50c6c449afa114d98746024dbb.png?v=1","evidence_url":"https://aidemos.com/evidence/6893a7fc-87db-41b5-a8fc-06a4f67d61d5"},{"id":"de43911e-dc72-4aee-a02a-2145d2d7acfb","tool":"mistral-ai","tool_name":"Mistral AI","verdict":"failed","score":null,"score_total":null,"note":"Broken column boundaries and disrupted value alignment make the reconstructed table significantly less faithful to the source.","artifact_count":4,"thumbnail":"https://cdn.futuresmart.ai/public/aidemos/56ad045174884d278b8ec196b932b07f.png?v=1","evidence_url":"https://aidemos.com/evidence/de43911e-dc72-4aee-a02a-2145d2d7acfb"},{"id":"d9350bf4-9574-4634-8293-5ced2ab60d9c","tool":"nutrient-io","tool_name":"Nutrient.io","verdict":"failed","score":null,"score_total":null,"note":"Breaks more complex multi-level tables, with rows and merged cells misaligned or lost once the hierarchy becomes dense.","artifact_count":2,"thumbnail":"https://cdn.futuresmart.ai/public/aidemos/aca6328506da49aeb716e311b50a278c.png?v=1","evidence_url":"https://aidemos.com/evidence/d9350bf4-9574-4634-8293-5ced2ab60d9c"},{"id":"fcad1a88-bccf-4eea-8bf5-0d8e5dbc22ee","tool":"reducto","tool_name":"Reducto","verdict":"mixed","score":null,"score_total":null,"note":"Partially reconstructs Table 1: most of the roughly 90 numeric values are exact, but literal 0 values in the 12-inch column become blanks, one mean cell picks up stray digits (33.0 830000), and a row-label-only section header is broadcast across all six columns in one instance.","artifact_count":3,"thumbnail":"https://cdn.futuresmart.ai/public/aidemos/463058512d444a0796cf3e61494de04e.png?v=1","evidence_url":"https://aidemos.com/evidence/fcad1a88-bccf-4eea-8bf5-0d8e5dbc22ee"},{"id":"c19621dc-83eb-467f-9210-161a2adcac66","tool":"tensorlake","tool_name":"Tensorlake","verdict":"failed","score":null,"score_total":null,"note":"Struggles with hierarchical scanned tables, misplacing column headers and producing unreliable reconstructions on both the multicolumn table and the denser complex table.","artifact_count":6,"thumbnail":"https://cdn.futuresmart.ai/public/aidemos/57a862fbcd21461ab376ee98f35f965b.png?v=1","evidence_url":"https://aidemos.com/evidence/c19621dc-83eb-467f-9210-161a2adcac66"},{"id":"6db07c2d-fbc7-464c-ba3c-822a7495c3d5","tool":"upstage-ai","tool_name":"Upstage AI","verdict":"mixed","score":null,"score_total":null,"note":"Keeps the table values intact but reconstructs the headers incorrectly, leaving a grouped-column table with inconsistent structure.","artifact_count":2,"thumbnail":"https://cdn.futuresmart.ai/public/aidemos/57a862fbcd21461ab376ee98f35f965b.png?v=1","evidence_url":"https://aidemos.com/evidence/6db07c2d-fbc7-464c-ba3c-822a7495c3d5"}],"other_criteria":[{"id":"4d96cef6-8e58-4798-b86c-1b626c8d3ae2","criterion":"reading-order-structure","criterion_name":"Reading Order & Structure","rank_role":"decisive","verdict":"worked","score":null,"score_total":null,"note":"Reconstructs a dense two-column section with its hierarchy intact, keeping the section heading attached to the correct body text across the columns.","artifact_count":2,"evidence_url":"https://aidemos.com/evidence/4d96cef6-8e58-4798-b86c-1b626c8d3ae2"},{"id":"62508de5-ad84-488e-9a0e-e27c57f1f43f","criterion":"reading-order-structure","criterion_name":"Reading Order & Structure","rank_role":"decisive","verdict":"failed","score":null,"score_total":null,"note":"Misinterprets the opening page's structure, breaking the relationship between the title and surrounding content on the scanned paper.","artifact_count":2,"evidence_url":"https://aidemos.com/evidence/62508de5-ad84-488e-9a0e-e27c57f1f43f"},{"id":"d162b0b4-78dd-4ace-81af-d47f25041f26","criterion":"text-ocr-completeness","criterion_name":"Text & OCR Completeness","rank_role":"decisive","verdict":"mixed","score":null,"score_total":null,"note":"OCRs most of the scanned cover-page text, including the agency header, report number/date, title, authors, abstract, and keywords, but inserts noisy tokens such as '186153' and 'USA/-' into the title line.","artifact_count":3,"evidence_url":"https://aidemos.com/evidence/d162b0b4-78dd-4ace-81af-d47f25041f26"},{"id":"137693ad-48f6-4821-a813-5520e70b5585","criterion":"visual-content-retention","criterion_name":"Visual Content Retention","rank_role":"decisive","verdict":"failed","score":null,"score_total":null,"note":"Converts a scanned bar chart into a textual transcription of legend items and approximate values instead of retaining the chart visually in the output.","artifact_count":2,"evidence_url":"https://aidemos.com/evidence/137693ad-48f6-4821-a813-5520e70b5585"}],"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":"82c91005-2538-47cc-812c-da8ff0c240c3","tool":"adobe-api","tool_name":"Adobe API","verdict":"failed","score":null,"score_total":null,"note":"Breaks a grouped-column table when intervening text appears, fragmenting the 1979–1981 layout and corrupting the extracted alignment."},{"id":"1dcafead-b619-42e1-876d-e9a9b6902adb","tool":"extend-ai","tool_name":"Extend AI","verdict":"mixed","score":null,"score_total":null,"note":"Keeps the numeric table structure, but drops between-column annotations and leaves stray OCR characters in some numeric cells, so contextual information is partially lost."},{"id":"6893a7fc-87db-41b5-a8fc-06a4f67d61d5","tool":"llamaparse","tool_name":"LlamaParse","verdict":"worked","score":null,"score_total":null,"note":"Preserves a nested treatment table with the 7-inch, 10-inch, 12-inch, 100-leave-tree, and clearcut columns and the acres/live-lodgepole rows."},{"id":"de43911e-dc72-4aee-a02a-2145d2d7acfb","tool":"mistral-ai","tool_name":"Mistral AI","verdict":"failed","score":null,"score_total":null,"note":"Broken column boundaries and disrupted value alignment make the reconstructed table significantly less faithful to the source."},{"id":"d9350bf4-9574-4634-8293-5ced2ab60d9c","tool":"nutrient-io","tool_name":"Nutrient.io","verdict":"failed","score":null,"score_total":null,"note":"Breaks more complex multi-level tables, with rows and merged cells misaligned or lost once the hierarchy becomes dense."},{"id":"fcad1a88-bccf-4eea-8bf5-0d8e5dbc22ee","tool":"reducto","tool_name":"Reducto","verdict":"mixed","score":null,"score_total":null,"note":"Partially reconstructs Table 1: most of the roughly 90 numeric values are exact, but literal 0 values in the 12-inch column become blanks, one mean cell picks up stray digits (33.0 830000), and a row-label-only section header is broadcast across all six columns in one instance."},{"id":"c19621dc-83eb-467f-9210-161a2adcac66","tool":"tensorlake","tool_name":"Tensorlake","verdict":"failed","score":null,"score_total":null,"note":"Struggles with hierarchical scanned tables, misplacing column headers and producing unreliable reconstructions on both the multicolumn table and the denser complex table."},{"id":"6db07c2d-fbc7-464c-ba3c-822a7495c3d5","tool":"upstage-ai","tool_name":"Upstage AI","verdict":"mixed","score":null,"score_total":null,"note":"Keeps the table values intact but reconstructs the headers incorrectly, leaving a grouped-column table with inconsistent structure."}]}