The order one field leads to the next
Say the order the tab key walks a page's links and fields in: row by row, or column by column.
Written at the top level of a request, under
"page_tab_orders"
In plain words
Written for anybody. It says what this puts on a sheet of paper, and asks nothing of you beyond that.
On a form filled in on screen, one key jumps from box to box. Still, something has to decide which box is "the next one". On a form in two columns, you may want to go all the way down the left column before moving to the right, or to cross the page line by line. You say it here, page by page, and the reader follows.
For a developer
Written for somebody who writes the calling program: the model, the units, and the settings that carry the weight.
page_tab_orders sets, page by page, the order a reader walks everything a page carries as annotations: its links, its form fields and the rest. Five orders exist, two of which came late to the format and ask the document to declare version 2.0. A page no entry names leaves the order to the reader; in a tagged document, a page carrying a link or a field states the structure order of its own accord.
Every key, with its default
The reference: which keys are required, which are optional, what each one defaults to and which combinations the server declines.
-
page_tab_orders— array, optional, empty by default. -
page_tab_orders[].page— integer ≥ 1, required. The page the entry is for. -
page_tab_orders[].order— string, required. Five values:row(across the page, then down it),column(down the page, then across it),structure(the order the structure tree reads the page in),annotations(the order the page lists its annotations in),widgets(the same, the fields first). -
annotationsandwidgetsask the request for"version": "2.0"; short of that the render is refused rather than write an order the declared version could not be read to hold.
An entry says how a page is walked, not that there is one. A page named twice takes the last order given for it.
A whole request that draws it
Post this as it stands and a PDF comes back. Nothing has been left out of it.
{
"page_tab_orders": [{ "page": 1, "order": "row" }],
"standard_fonts": [{ "name": "sans", "face": "helvetica" }],
"items": [
{
"type": "text",
"rect": { "llx": 60, "lly": 740, "urx": 535, "ury": 760 },
"content": ["Two links, walked across the page"],
"font": "sans",
"font_size": 12
},
{
"type": "link",
"rect": { "llx": 60, "lly": 700, "urx": 160, "ury": 720 },
"to": { "uri": "https://hqf-pdf.com/" }
},
{
"type": "link",
"rect": { "llx": 200, "lly": 700, "urx": 300, "ury": 720 },
"to": { "uri": "https://hqf-pdf.com/en/" }
}
]
}
Finding one's way through it
The clickable contents down the side Landing places that carry a name Following an article column by column How the document opens and prints
Where to go next
Every key of a request, in one page The other thirty-two settings of a request
Glossary
- tagged PDF
- A PDF that carries the structure of its own text alongside the drawing: this is a heading, this is a table, this cell belongs to that column. It is what lets a reading aid, or a program pulling data back out, make sense of the page.
- request
- One call to the service: you send what the document should say, and get the document back. Your bill counts these calls, one for each document. The number of pages inside a document is never counted.
- annotation
- Something laid over a page rather than drawn into it: a clickable rectangle, a box to type in, a button. It sits at its own place on the sheet and is what makes a PDF answer to a click at all.
- form field
- A box on a PDF page somebody can fill in, tick or choose from, and whose answer the file keeps. It has a name, so whoever collects the file reads the answers back by name rather than by looking at the page.