What the document says about itself

Give the file its title, its author, its subject, its date, and if needed entries from a vocabulary of your own.

Written at the top level of a request, under "metadata"

In plain words

Written for anybody. It says what this puts on a sheet of paper, and asks nothing of you beyond that.

On the spine of a binder, you write what is inside: the title, who prepared it, what it is about, when it dates from. A digital document does the same, except the software is what reads the label. It is there to find the file again later, to file it, to know what you hold without opening it. A firm with a filing vocabulary of its own can add its own lines to that label.

For a developer

Written for somebody who writes the calling program: the model, the units, and the settings that carry the weight.

metadata carries what the document states about itself. Every field is one an archiving standard can mirror between the document's own entries and its metadata packet: that mirroring is what a conformance checker looks at. A vocabulary of the caller's own is added through schemas, with its properties and their descriptions, the latter being what lets a validator accept names the standard never heard of.

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.

  • metadata — object, optional, absent by default.
  • metadata.title — string, optional. The document's title.
  • metadata.author — string, optional. Who wrote it.
  • metadata.subject — string, optional. What it is.
  • metadata.producer — string, optional. What made it.
  • metadata.created — string, optional. The date, in ISO 8601, for instance 2026-08-08T10:00:00+02:00.
  • metadata.trapped — string, optional. Three values: yes, no, unknown. Says whether the document has been prepared for the ink spreading at the press. Saying nothing carries a different meaning from saying no.
  • metadata.schemas — array, optional, empty by default. The caller's own vocabularies.
  • schemas[].name, schemas[].namespace, schemas[].prefix — strings, all required. Prefixes the library reserves for itself are refused.
  • schemas[].properties — array, required, an empty one being refused.
  • properties[].name, properties[].value, properties[].description — strings, all required; an empty description is refused.
  • properties[].value_type — string, optional, text by default. Nine values: boolean, date, integer, mime_type, proper_name, real, text, uri, url.
  • properties[].category — string, optional, internal by default. Two values: internal, external.

A field the metadata packet cannot carry is planned for a future version of the schema. The properties are written into the packet whatever else the request says; their description is written beside them when the document claims a standard that asks to be able to look them up.

A whole request that draws it

Post this as it stands and a PDF comes back. Nothing has been left out of it.

{
  "metadata": {
    "title": "Minutes of the board meeting",
    "author": "Claire Vasseur",
    "subject": "Board meeting of 8 August 2026",
    "created": "2026-08-08T10:00:00+02:00"
  },
  "standard_fonts": [{ "name": "sans", "face": "helvetica" }],
  "items": [
    {
      "type": "text",
      "rect": { "llx": 60, "lly": 740, "urx": 535, "ury": 768 },
      "content": ["Minutes of the board meeting"],
      "font": "sans",
      "font_size": 18
    }
  ]
}

The line that sends it, in three languages

The document as a whole

The numbers the reader shows A hundred letters in a single file A file still readable in thirty years An invoice a person and a machine both read The address relative links are read against The PDF version the file declares What an image says about itself

Where to go next

Every key of a request, in one page The other thirty-two settings of a request

See the prices See the examples

Glossary

PDF library
A piece of software your own programs use to write PDF documents. It has no window and no buttons: your program tells it what to draw, and it hands the finished file back. This site also calls it the engine, which is the same thing under another name. The server is a second program that holds the engine and answers whoever asks it for a document over the network, and the rendering service is that server running on our machines rather than on yours.
standard
A rule argued out in committee, published under a number anybody may buy and read, and identical for every firm claiming it. A claim to follow one can therefore be checked against the text. A way of working that merely spread because it worked is a habit of the trade: useful, widespread, and answerable to no text at all.
the identity card of a file
The block inside a file that says what the file is: its title, who made it, when, and which rules it follows. Search engines and archives read it; a reader never sees it. Its technical name is XMP.
CMYK
The four inks a printing press lays down: cyan, magenta, yellow and black. A screen mixes light instead, so a document going to a press states its colours in inks, not in screen colours.
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.

Every word the site explains