AI Demos Research — the structured-intelligence platform. Every verdict on these pages opens to the execution behind it.
Graded 7 November 2026

Can Adobe PDF Extract API preserve footnotes at the bottom of the page and attach them to the content they annotate?

Adobe PDF Extract API preserved the footnotes and their links to the text they annotate. The structured output kept all 13 numbered notes outside the body flow, with their associations retained by number.

1 of 1 test case passed

Every test case in this scenario has a result.

Pass rate100%1 of 1 gradable
Coverage1 of 1test case with a result
1PassDid everything it was expected to do.
0FailNo test case failed.
0Not gradableEvery result here could be graded.
0UntestedEvery test case in this scenario has a result.
The pass rate is a summary. The evidence is the test case below: what we sent, what we checked, what the tool returned, and the proof.

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.

Footnote — out of body flow, associatedPassEvidence
What we sent
InputDocument (PDF)
Input PDF: four-page article with numbered footnotes
Open the PDF ↗
What the tool returned
Markdown
1 Braithe Estuary Order 1974, art. 6(2). The Order is reproduced in full in the appendix to R. Sandiman, The Braithe Estuary: A Documentary History (Vardenne, 1988), 211-24.

2 Minutes of the Harbour Board, 14 May 1973 (Braithe Record Office, BHB/3/17), 4.

3 The point was not argued in Tarbert v Braithe Harbour Board [1981] 2 EstLR 88, where both parties proceeded on the assumption that art. 6(2) applied.

4 The Board's file on the 2011 consents (Braithe Record Office, BHB/11/4) contains three letters returned undelivered and a note of a telephone call to a solicitor in Winnipeg.

Assembled Markdown: article text and numbered footnote blocks

Copied from Output file (Markdown), lines 21–27

Open the Markdown file ↗
JSON
{
  "Bounds": [76.535400390625, 135.44979858398438, 519.3294067382812, 158.38084411621094],
  "Font": {
    "alt_family_name": "Times New Roman PSMT",
    "embedded": true,
    "encoding": "Custom",
    "family_name": "Times New Roman PSMT",
    "font_type": "TrueType",
    "italic": false,
    "monospaced": false,
    "name": "AAAAAA+TimesNewRomanPSMT",
    "subset": true,
    "weight": 400
  },
  "HasClip": false,
  "Lang": "en",
  "ObjectID": 69,
  "Page": 0,
  "Path": "//Document/Sect[2]/Footnote",
  "Text": "1 Braithe Estuary Order 1974, art. 6(2). The Order is reproduced in full in the appendix to R. Sandiman, The Braithe Estuary: A Documentary History (Vardenne, 1988), 211-24. ",
  "TextSize": 8.800003051757812
}

API response: extracted structure and footnote tags

Copied from Output file (JSON), structuredData › elements 11

Open the whole JSON file ↗
JSON
{
  "Bounds": [76.535400390625, 92.50579833984375, 363.9521942138672, 104.70083618164062],
  "Font": {
    "alt_family_name": "Times New Roman PSMT",
    "embedded": true,
    "encoding": "Custom",
    "family_name": "Times New Roman PSMT",
    "font_type": "TrueType",
    "italic": false,
    "monospaced": false,
    "name": "AAAAAA+TimesNewRomanPSMT",
    "subset": true,
    "weight": 400
  },
  "HasClip": false,
  "Lang": "en",
  "ObjectID": 89,
  "Page": 2,
  "Path": "//Document/Sect[2]/Footnote[9]",
  "Text": "9 Notably Prosser, 'Consent and its conditions', 7, who calls the deletion 'tidying'. ",
  "TextSize": 8.800003051757812,
  "attributes": {
    "LineHeight": 7.625
  }
}

Copied from Output file (JSON), structuredData › elements 31

Expected vs. Found
✓Expected: Footnote text is present, kept out of the body flow, and associated with its reference.Found: All 13 notes appeared after their pages’ body text as standalone numbered paragraphs. Their numbers preserved the association with their references.
Supporting proof
Proof 1Screenshot
Page 1 comparison: four source footnotes and their output
Open original ↗
Proof 2Screenshot
Page 3 comparison: footnotes 8–10 and their output
Open original ↗
Proof 3Screenshot
Run card: conversion status, setup and timing
Open original ↗
Why this result

The numbered notes and references met the requirement to keep footnotes separate and associated. Page comparisons show references alongside notes, and the Markdown and API response come from the same conversion.

Also observed in this test case

Page furniture omitted. The output omitted the running heads and page numbers 143–146, but kept the first-page journal citation.

Ninth note marker. The marker for note 9 appeared as a separate token within the sentence, rather than as the spaced superscript used in the source.

Markdown output. Adobe PDF Extract does not emit Markdown directly.

Tested by Chandresh Bisht · evidence dated 10 September 2026

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.

Software that produced the output
Adobe PDF Extract API
Build or version
PDF Services REST (Extract) json_export=233, page_segmentation=55, schema=1.1.0, structure=1.1218.0, table_structure=5
Plan or tier
free tier
Surface
API
Set up before the run
A PDF had to contain body text referring to a footnote at the bottom of a page. The complete PDF was converted in one default-pipeline pass without flag tuning. Markdown was assembled from Adobe’s structured JSON in reading order.
Pipeline
default pipeline, single pass, no flag tuning
Endpoint
https://pdf-services.adobe.io/operation/extractpdf
Tested
10 September 2026 · Chandresh Bisht

How this scenario is graded

How we decide Pass, Fail and Not gradable. The same rules apply to every tool tested on this scenario.

How results are decided

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.

The rules
  • 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.

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.

from the publication record
11 November 2026First publishedConverting a complex PDF into clean Markdown with a hosted API v1

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.

This matches what I see

You run the same kind of test against your own setup and get the same behaviour.

Agree →
This does not match

Yours behaves differently. Tell us what you got, with a screenshot if you have one.

Disagree →
Point out an issue

Something here is wrong — a reference value, a transcription, a grade.

Report an issue →
Request a retest

On a newer build, a larger dataset, or your own setup.

Request a retest →
We have fixed this

Tell us what changed and we schedule a rerun of the failing test case. The old result stays as history.

Vendor notice →
Filed against this evidenceNothing yet. Challenges, counter-evidence and fix notices appear here with their outcome, and stay on the page after they are resolved.
Cite this result
aidemos.com/benchmarks/pdf-to-markdown-apis/results/adobe-pdf-extract-api/footnotes-at-the-bottom-of-the-page · 1 pass · 0 fail · coverage 1/1 · graded 2026-11-07

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.

Input · Document (PDF) ↗application/pdf · 152 KB
Output file (JSON) ↗application/json · 46 KB
Output file (Markdown) ↗text/markdown; charset=utf-8 · 10 KB
Proof 1 · Screenshot ↗image/png · 301 KB
Proof 2 · Screenshot ↗image/png · 195 KB
Proof 3 · Screenshot ↗image/png · 51 KB
File fingerprints (SHA-256)

A fingerprint identifies the exact file used for this result.

Input · Document (PDF)fce3c87776b6f1b8f34dcfb0f6a274b5954edcb3d33ff7ee84840dfe2afbc1ad
Output file (JSON)a6476647e04e57398257cd945cf77889e908105a9b3f1c1189546e4d39161bb2
Output file (Markdown)4d3a31ecea731685cf87a357b5009b91c6898093c8f88c8874e573b7df5892a9
Proof 1 · Screenshota8147d4c9366eb9ad93a23cb1131543af3f6a621f1fc099c71f084aa278aa207
Proof 2 · Screenshotbe89738424388b59aa5ac96b3c17c7ec1d6711b10c35281d53152fa4529c8a39
Proof 3 · Screenshotf3d63b3d11e9e528a746241c2b9059d8331943827f4709336377f29e0c43982a