Skip to content
The Register

PDF Layout-Preserved Text — Tables & Forms

Extracts PDF text with column alignment kept intact — between plain text (scrambles forms) and structured tables (not every layout has one). Verified on IRS Form 1040: plain extraction garbled two columns together; this keeps them separate. Flags scanned pages instead of nonsense.

PDF Layout-Preserved Text — Tables & Forms returns 9 documented output fields, including sourceUrl, page, chunkIndex, chunksOnPage and text. Every field carries a declared type, a written description and an example value. 22 runs are recorded on Apify.

Run it on ApifyPay per result · no subscription
9
Output fields
6
Inputs
22
Runs
2026-10-15
Last run

01 — output

What it returns

Every field the extractor writes to its dataset, with its type, a written description and an example value.

FieldTypeWhat it holdsExample
sourceUrlstringnullThe page or endpoint this row was read from.https://api.example.com/v1/items
pageintegernullPage number this record came from. 1-based.1
chunkIndexintegernullZero-based position of this chunk within its document.0
chunksOnPageintegernullHow many chunks this page was split into.0
textstringnullPlain text content of this record.<text>
charCountintegernullNumber of characters in this record's text.4821
tokensEstimateintegernullEstimated token count of the text, for sizing against a model context window.1180
statusstringnullOutcome recorded for this row.ok
recommendationstringnullThe recommended action for this row.Review the price change before it propagates.

02 — sample

One record

Assembled from the example values declared on the schema above, not invented at render time.

{
  "sourceUrl": "https://api.example.com/v1/items",
  "page": 1,
  "chunkIndex": 0,
  "chunksOnPage": 0,
  "text": "<text>",
  "charCount": 4821,
  "tokensEstimate": 1180,
  "status": "ok"
}

03 — input

What you give it

InputTypeDescription
pdfUrlsarrayoptionalPublic URLs of the PDFs to extract layout-preserved text from.
pagesstringoptionalWhich pages to read, e.g. 1-5,8. Leave empty for every page.
maxPagesPerPdfintegeroptionalUpper bound on pages read from each document.
maxChunkCharsintegeroptionalA page's text is split into chunks no larger than this, always at a line boundary so column alignment is never cut mid-row.
oneItemPerPagebooleanoptionalReturn one dataset item per page instead of chunking by character count. Off by default because a dense page can exceed typical LLM context limits.
maxItemsintegeroptionalHard cap on items returned. You are never charged beyond this.

04 — run

Run PDF Layout-Preserved Text on your own input

It runs in the cloud on Apify. Nothing to install, and you are billed per result returned rather than per attempt.

Open on Apify ↗

05 — questions

Asked before running it

9 of 9 fields described

What does PDF Layout-Preserved Text — Tables & Forms return?
It returns 9 documented output fields: sourceUrl, page, chunkIndex, chunksOnPage, text, charCount, tokensEstimate, status and recommendation. Each field declares its type, a description of what it holds, and an example value.
What input does PDF Layout-Preserved Text — Tables & Forms take?
All 6 inputs are optional and ship with usable defaults, so it runs as-is. They are listed with their types below.
Does PDF Layout-Preserved Text — Tables & Forms need an API key or login?
No. None of its inputs is a credential, and it reads only public data. Nothing to sign up for before the first run.
How do I run PDF Layout-Preserved Text — Tables & Forms?
It runs on Apify. Start it from its listing with the inputs above, or call the Apify API with the Actor's ID. Results land in a dataset you can export as JSON, CSV or Excel, or read through the Apify API into your own pipeline.