The data a program hangs on a run of ink
Hang a list of your own data on a run of ink of the page, under a name you choose. Nothing of it is drawn, and no reading software shows it.
Summary
A warehouse prints a picking list and a scanner reads it back. What the scanner needs is the order line behind each row — the article code, the quantity — and none of that belongs on the paper. So it travels under the row instead of on it: you declare the list once, you hang it on the row, and a program opening the file afterwards finds it exactly there. The names in the list are yours, and nothing here reads them.
Technically
Written at the top level of a request, under
"carried_facts"
carried_facts writes one dictionary per list as an object of its own and names it in the /Properties of every page, and an item naming one brackets everything it draws between /Tag /MC1 BDC … EMC. The run carries no /MCID, so the structure tree points at nothing there: facts is stated with tag and never beside mark, and either way round is refused. A list is written once however many items name it, and may be hung on runs on as many pages as the document has. A name no entry declared is refused before anything is drawn, and an item inside a named drawing states none of this.
Request schema
-
carried_facts— array, optional, empty by default. -
carried_facts[].name— string, required. The name items hang this list on what they draw by. -
carried_facts[].facts— object, optional, empty by default. The entries, under your own names. A value is a string, a whole number, a number or a boolean; nothing here reads them. -
An item hangs one on what it draws through its
factskey, carrying the name declared here, beside thetagit opens the run under. An item with nofactscarries none. -
factsbesidemarkis refused, andfactswithouttagis refused: a run carrying a list carries no number, so the structure tree can claim nothing there.
Scope: one run of ink. private_data leaves the same on the whole document, page_private_data on one page, and drawings[].private_data on a named drawing.
A whole request that creates a PDF
{
"carried_facts": [
{
"name": "Line",
"facts": {
"order": "SO-4417",
"quantity": 3,
"price": 12.5,
"urgent": true
}
}
],
"standard_fonts": [{ "name": "sans", "face": "helvetica" }],
"items": [
{
"type": "text",
"rect": { "llx": 72, "lly": 700, "urx": 523, "ury": 740 },
"content": ["Three widgets, blue"],
"font": "sans",
"font_size": 12,
"tag": "Line",
"facts": "Line"
}
]
}
The document as a whole
The numbers reading software shows A hundred letters in a single file What the document says about itself What the document says about itself, said once The notes a program leaves in the file for itself The notes a program leaves on one page A file still readable decades from now The print standard the document claims The password that opens it, and what may be done with it An invoice a person and a machine both read The address relative links are read against The PDF version the file declares What a picture says about itself, and how it is read The attachments the document carries beside its pages The attachments shown as a portfolio Which attachments a page claims The identity card a single page carries The accessibility standard the document claims The standards the finished document is measured against
Where to go next
Every JSON key of a request, in one page The other forty-one settings of a request