Keeps the surrounding 3-signatory signature-page text, but does not extract the handwritten signatures themselves.
What was measured
Visual Content Retention
Retains charts, figures, diagrams, and images in the output and places them in the correct reading position.
decisive for this rankingtransformation
For complex PDFs, figures, charts, and images are part of the document content, so preserving them in the right place is part of the core job. (3 of 3 judges)
What was given, what came back
Test input: Hybrid Earnings Report · pdf · group: hybrid-earnings-report
Input — what we sent

Hybrid Earnings Report
A long, real-world hybrid annual report used to benchmark end-to-end PDF-to-markdown conversion. It combines native text, financial tables, charts/graphics, and scanned signature/stamp regions, stressing preservation of document structure, reading order, and embedded visual content across a multi-section report.
Why this input is hard
- · Native digital text extraction
- · Complex financial table preservation
- · Chart and graphic retention
- · Image-based signatures and stamps
- · Reading order across a long multi-section report
- · Markdown quality and consistency
Output — unretouched

Also checked on this input — same tool, 3 other criteria
Complex Document Handling✓ WorkedHandles an 84-page mixed-content annual report end to end, including native text, tables, charts, and scanned signature pages, and returns a markdown export.Reading Order & Structure✓ WorkedPreserves the section hierarchy and bullet-point reading order on the sample page, keeping the 'A Growth Story Again' heading tied to its paragraph and 4 bullets in sequence.Table Preservation✗ FailedBreaks a 5-year financial summary table, misaligning rows, columns, and values instead of reconstructing the original structure cleanly.
Provenance
- Observation
- 83d4d64b-462a-467d-bbd9-d67ac9da8675
- 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: "nutrient-io",
scenario: "hybrid-earnings-report"
})MCP · mcp.aidemos.com/api/mcp
Free with attribution.
Same input, same check — 8 other tools
measured on Visual Content Retention
Adobe API✗ FailedDrops handwritten signature images from a scanned signatures page while retaining the surrounding printed legal text, so the signature content is missing from the extracted output.Extend AI◐ MixedRetains charts and logos as standalone figure blocks with captions, but they are extracted out of page position rather than embedded inline.Landing AI✗ FailedReplaces a waterfall chart with text, preserving the SG&A rate values and year-to-year change labels but not the chart as a visual asset in the output.LlamaParse◐ MixedConverts a waterfall chart into a text/table representation, preserving the SG&A rate sequence and deltas but not the chart as a visual object.Mistral AI✓ WorkedVisual assets are extracted into page-specific folders, keeping charts, signatures, and other document elements tied to their source pages instead of collapsing them into one consolidated output.Reducto✗ FailedDoes not retain handwritten signature graphics as images: a signature crop returns only the <signature> placeholder plus the printed name/title, omitting the cursive mark itself.Tensorlake✓ WorkedRetains scanned signature-page visuals as figure blocks plus signer text, including named executives and dates, rather than dropping the signature regions from the output.Upstage AI✗ FailedDoes not retain handwritten signature content as visual output on the signatures page, leaving only partial surrounding legal text and no clearly identifiable signatures.
This evidence is published in
Real inputs and real outputs, no retouching · every cell queryable via API & MCP · aidemos.com