Does Nutrient.io read multi-column pages in the right order?
Nutrient.io did not consistently preserve natural reading order for a two-column PDF in its default Build pipeline. It placed a masthead line in the middle of a body sentence, although the body columns themselves were read in order on all three pages.
1 of 1 test case failed
Every test case in this scenario has a result.
The test case
Each test case is judged on its own: Pass, Fail, Not gradable, or Untested. The scenario result above is based on this test case.
Two-column page — natural reading orderFailEvidence
We sent the complete three-page PDF to the API in one request.
over rough ground and is not suitable for anyone who cannot manage a stile. The coach leaves the Assembly Founded 1898 Rooms at half past nine and is back by six. The cost, including the coach and the entry to the harbour office,
Returned Markdown: column order and the misplaced masthead
Copied from Output file (Markdown), lines 69–77
Open the Markdown file ↗## Reviews A History of the Marnhead Salt Trade , by J. Cavenshaw (Vardenne, 2025, 214 pp). This is a careful book and a slightly frustrating one. Cavenshaw has worked through the harbour board's papers properly and his chapter on the tramway is the best account we have. But he is not much interested in the pans themselves, and a reader who wants to know how salt was actually made at Marnhead will have to go back to Sandiman. Recommended, with that reservation. ## Letters Sir - your correspondent's note in the autumn bulletin on the naming of Croyde Gut may interest members who know the Ordnance sheets of 1897 and 1923. The name appears on neither, and the reach is called Crowder's Gut on both. Whether Croyde is a correction or a corruption I cannot say, but the older form is at least the surveyed one. - R. Vale, Thrimby. ## Wanted: the Vardenne ferry The Society is trying to establish when the Vardenne ferry stopped running. The date usually given is 1961, which is the year the ferry office was pulled down, but the office may well have stood empty for some time before that. A member recalls being taken across as a child in the summer of 1958 and is sure the boat was still working then; another remembers it ending just after the war. A timetable, a ticket, or a photograph with a date on the back would settle it. The same member has given the Society a copy of the 1957 timetable for the Marnhead bus, which connected with the ferry and may therefore date its last summer more exactly than anything else we hold. It is on the notice board at the Assembly Rooms for anyone who wants to look at it. ## The chapels survey The survey of the town's chapels, begun in 2019 and interrupted twice, is now complete for the four buildings still standing and for two of the three that are not. What remains is the Bethel on Kellow Lane, of which no plan and only one photograph have been found. The survey will be printed as an occasional paper in the autumn, and the members who took part are asked to check their entries before then. The Society is grateful to the trustees of two of the chapels for access to their records, and to the county archivist for the loan of a plan that had been catalogued under the wrong parish for sixty years. ## Membership Membership stood at two hundred and six at the end of January, four more than a year ago and the first increase since 2019. Twenty-two members live outside the county and six outside the country; the Society posts the bulletin to all of them and would rather do that than lose them. Anyone who would prefer it by e-mail should tell the secretary, who keeps a list and is happy for it to grow. ## Notices
Copied from Output file (Markdown), lines 293–373
{ "status_code": 200, "headers": { "date": "Wed, 09 Sep 2026 08:51:54 GMT", "content-type": "text/markdown", "content-length": "12576", "content-disposition": "attachment; filename=\"result.md\"", "server": "Cowboy", "x-pspdfkit-remaining-credits": "48", "x-pspdfkit-request-cost": "1", "x-request-id": "GNObAiHiKsHF9GIAAPHR" }, "content_type": "text/markdown", "body_bytes": 12576, "delivery": "raw markdown body (content-type text/markdown)", "markdown_chars": 12568, "zip_members": null, "asset_names": null }
API exchange: Markdown conversion request and response
Copied from Output file (JSON), response
Open the whole JSON file ↗| ✗ | Expected: Text follows natural reading order without interleaving the columns.Found: The body columns stayed in order, but the masthead line “Founded 1898” appeared between the halves of a sentence about the coach. |
Natural reading order required more than keeping the body columns in sequence. Although the columns were ordered correctly, the misplaced masthead interrupted a sentence, so the result is a fail.
Other page furniture. The running head, correspondence footer and page numbers appeared on their own lines rather than merging into body text.
Configuration and setup
How this tool was set up for the run and what the test needed in place. Each row is a fact from the run's records; a fact the records do not hold is left out, not guessed.
How this scenario is graded
How we decide Pass, Fail and Not gradable. The same rules apply to every tool tested on this scenario.
Each test case gets one result per tool: Pass, Fail or Not gradable. A test case we haven't run yet shows Untested. There are no partial results.
- Pass: the tool did everything the test expected, and nothing it said contradicts the correct answer.
- Fail: at least one expected behaviour clearly didn't happen; the test case's result says which one and quotes the tool.
- Not gradable: our evidence couldn't settle the outcome (for example a record we needed is missing). It is never counted as a fail, and the test case's result says what's missing.
Where this sits in the benchmark
This page is one cell of a larger study: one tool, one scenario. Only this benchmark's frame appears here.
| Level | Name | Scope |
|---|---|---|
| Benchmark | Converting a complex PDF into clean Markdown with a hosted API → | 12 scenarios · 13 tools |
| Capability | Reading Order & Layout → | |
| Scenario | A page laid out in multiple columns → | |
| Tool | Nutrient.io → |
Global scenario definition → · Global capability definition → · Nutrient.io product page →
History of this result
What has happened to this result since it was first published. Runs and grades are never overwritten: a retest or a re-grade publishes a new result and keeps the earlier one readable.
Act on this result
Nothing filed here edits the run or the grade. A challenge opens a review, and a review can produce a new run or a re-grade — which becomes the current result and leaves this one in the history.
You run the same kind of test against your own setup and get the same behaviour.
Agree →Yours behaves differently. Tell us what you got, with a screenshot if you have one.
Disagree →Something here is wrong — a reference value, a transcription, a grade.
Report an issue →Tell us what changed and we schedule a rerun of the failing test case. The old result stays as history.
Vendor notice →The same record is available as structured data through the AI Demos MCP server, with the counts, the coverage and every per-test-case reason carried as fields.
Verify the proof files
These files support this result. Open a file to inspect the original evidence.
File fingerprints (SHA-256)
A fingerprint identifies the exact file used for this result.