{"observation":{"id":"c19621dc-83eb-467f-9210-161a2adcac66","tool":"tensorlake","tool_name":"Tensorlake","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":"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.","evidence_state":"verified","source":null,"artifacts":[{"url":"https://cdn.futuresmart.ai/public/aidemos/57a862fbcd21461ab376ee98f35f965b.png?v=1","role":"input","alt":null},{"url":"https://cdn.futuresmart.ai/public/aidemos/785bbe9d7e4e4b5a9b28b5cfa3dbe6b1.png?v=1","role":"output","alt":null},{"url":"https://cdn.futuresmart.ai/public/aidemos/56ad045174884d278b8ec196b932b07f.png?v=1","role":"input","alt":null},{"url":"https://cdn.futuresmart.ai/public/aidemos/220815f5d5a24a6ab102487b66188aae.png?v=1","role":"output","alt":null},{"url":"https://cdn.futuresmart.ai/public/aidemos/44545a844d394d9d96edfb59da0fa554.png?v=1","role":"input","alt":null},{"url":"https://cdn.futuresmart.ai/public/aidemos/ddcbe4c9eed94128be6a5fa51f4864d0.png?v=1","role":"input","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":"tensorlake","tool_url":"https://aidemos.com/tools/tensorlake","permalink":"https://aidemos.com/evidence/c19621dc-83eb-467f-9210-161a2adcac66","api_url":"https://ai.aidemos.com/v1/observations/c19621dc-83eb-467f-9210-161a2adcac66"},"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":"1e354a89-f9a5-4765-af9a-4cbec79fda3e","tool":"extend-ai","tool_name":"Extend AI","verdict":"struggled","score":null,"score_total":null,"note":"Breaks multirow header relationships in a scanned table, so grouped headers and header-level structure are not reliably preserved.","artifact_count":2,"thumbnail":"https://cdn.futuresmart.ai/public/aidemos/7e0da44bcebe4ebcb0cc24e9c7092489.png?v=1","evidence_url":"https://aidemos.com/evidence/1e354a89-f9a5-4765-af9a-4cbec79fda3e"},{"id":"6c6cd8b2-a68f-4199-8ad7-e9765bf012f1","tool":"landing-ai","tool_name":"Landing AI","verdict":"worked","score":null,"score_total":null,"note":"Preserves a complex diameter-class table with before-cut, trees-cut-per-acre, and after-cut relationships across the treatment rows and check area.","artifact_count":3,"thumbnail":"https://cdn.futuresmart.ai/public/aidemos/56ad045174884d278b8ec196b932b07f.png?v=1","evidence_url":"https://aidemos.com/evidence/6c6cd8b2-a68f-4199-8ad7-e9765bf012f1"},{"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":"527f7e79-f463-4b6e-b839-c5153a59a9f3","tool":"mistral-ai","tool_name":"Mistral AI","verdict":"worked","score":null,"score_total":null,"note":"The multicolumn table is reconstructed without losing its overall layout logic, so the table structure remains readable in the parsed output.","artifact_count":2,"thumbnail":"https://cdn.futuresmart.ai/public/aidemos/57a862fbcd21461ab376ee98f35f965b.png?v=1","evidence_url":"https://aidemos.com/evidence/527f7e79-f463-4b6e-b839-c5153a59a9f3"},{"id":"97dfdbc2-3390-4bf7-9d20-af8a5dd33d01","tool":"nutrient-io","tool_name":"Nutrient.io","verdict":"worked","score":null,"score_total":null,"note":"Largely preserves grouped-column tables, keeping their internal organization intact in the extracted output.","artifact_count":2,"thumbnail":"https://cdn.futuresmart.ai/public/aidemos/57a862fbcd21461ab376ee98f35f965b.png?v=1","evidence_url":"https://aidemos.com/evidence/97dfdbc2-3390-4bf7-9d20-af8a5dd33d01"},{"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":"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":"347aaab3-eada-4d58-a2c1-5c5c029de742","criterion":"advanced-features","criterion_name":"Advanced Features","rank_role":"context","verdict":"worked","score":null,"score_total":null,"note":"Performs dedicated chart extraction on a scanned bar chart, turning the figure into structured chart content with year-by-year values, treatment labels, and the 'CUT COMPLETED' annotation.","artifact_count":2,"evidence_url":"https://aidemos.com/evidence/347aaab3-eada-4d58-a2c1-5c5c029de742"},{"id":"ea443095-bb7a-45ec-92ca-6ff0afefe8e4","criterion":"complex-document-handling","criterion_name":"Complex Document Handling","rank_role":"decisive","verdict":"mixed","score":null,"score_total":null,"note":"On the scanned research paper, section flow and chart extraction work, but hierarchical tables degrade, so mixed-content handling is uneven rather than consistently robust.","artifact_count":8,"evidence_url":"https://aidemos.com/evidence/ea443095-bb7a-45ec-92ca-6ff0afefe8e4"},{"id":"4fca39e0-3fcb-4357-9bb8-48233637ab9f","criterion":"markdown-quality","criterion_name":"Markdown Quality","rank_role":"decisive","verdict":"worked","score":null,"score_total":null,"note":"Renders the scanned-paper extraction as structured markdown in the tool workflow, rather than only exposing raw OCR text.","artifact_count":3,"evidence_url":"https://aidemos.com/evidence/4fca39e0-3fcb-4357-9bb8-48233637ab9f"},{"id":"fc3553de-a932-4313-bb83-66645ce7441c","criterion":"reading-order-structure","criterion_name":"Reading Order & Structure","rank_role":"decisive","verdict":"worked","score":null,"score_total":null,"note":"Retains section-level reading order in a scanned multi-column paper, with headings continuing to guide the flow across columns and into the next section.","artifact_count":2,"evidence_url":"https://aidemos.com/evidence/fc3553de-a932-4313-bb83-66645ce7441c"}],"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":"1e354a89-f9a5-4765-af9a-4cbec79fda3e","tool":"extend-ai","tool_name":"Extend AI","verdict":"struggled","score":null,"score_total":null,"note":"Breaks multirow header relationships in a scanned table, so grouped headers and header-level structure are not reliably preserved."},{"id":"6c6cd8b2-a68f-4199-8ad7-e9765bf012f1","tool":"landing-ai","tool_name":"Landing AI","verdict":"worked","score":null,"score_total":null,"note":"Preserves a complex diameter-class table with before-cut, trees-cut-per-acre, and after-cut relationships across the treatment rows and check area."},{"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":"527f7e79-f463-4b6e-b839-c5153a59a9f3","tool":"mistral-ai","tool_name":"Mistral AI","verdict":"worked","score":null,"score_total":null,"note":"The multicolumn table is reconstructed without losing its overall layout logic, so the table structure remains readable in the parsed output."},{"id":"97dfdbc2-3390-4bf7-9d20-af8a5dd33d01","tool":"nutrient-io","tool_name":"Nutrient.io","verdict":"worked","score":null,"score_total":null,"note":"Largely preserves grouped-column tables, keeping their internal organization intact in the extracted output."},{"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":"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."}]}