Was das Dokument über sich sagt

Geben Sie der Datei ihren Titel, ihren Autor, ihr Thema, ihr Datum und bei Bedarf Einträge aus einem eigenen Vokabular.

In einem echten PDF ansehen

Ein minimales PDF

Zwei identische Seiten, die die Struktur einer Rechnung mit Linien und Rechtecken zeichnen, ohne ein Wort Text: Die Datei hat etwa ein Dutzend Kilobyte und bettet keine Schrift ein.

Das PDF öffnen Das vollständige Beispiel ansehen

Auch zu sehen in: Ein Dokument, das sich frei lesen lässt und bittet, nicht kopiert zu werden · Ein Dokument, das vor dem Öffnen nach einem Passwort fragt · Alle linearen Barcodes auf einer Seite

Zusammenfassung

Auf den Rücken eines Ordners schreiben Sie, was darin ist: den Titel, wer ihn erstellt hat, worum es geht, von wann er stammt. Ein digitales Dokument tut dasselbe, nur liest die Software die Beschriftung — und es sagt auch, aus welchem Programm das Dokument stammt: einer Buchhaltungssoftware, einer Tabellenkalkulation, einem Zeichenprogramm. Es dient dazu, die Datei später wiederzufinden, sie abzulegen und zu wissen, was man hat, ohne sie zu öffnen.

Technisch

Auf der obersten Ebene einer Anfrage geschrieben, unter "metadata"

metadata schreibt das /Info-Dictionary des Dokuments und sein XMP-Paket /Metadata und hält beide im Gleichklang: Jedes Feld wird in beide geschrieben, denn eine Archivierungsnorm verlangt, dass sie übereinstimmen. Nur die Einträge von metadata.info gelangen ausschließlich in das Dictionary, da ihnen keine Eigenschaft des Pakets entspricht. Ein eigenes Vokabular wird über schemas hinzugefügt, mit seinen Eigenschaften und deren Beschreibungen; dank Letzterer akzeptiert eine Prüfsoftware Namen, die die Norm nicht kennt. Auf false gesetzt, lässt der Wurzelschlüssel information_dictionary das /Info-Dictionary weg und behält allein das Paket, unabhängig von der Version, die die Anfrage angibt.

Anfrageschema

  • metadata — Objekt, optional, standardmäßig nicht gesetzt.
  • metadata.title — Zeichenkette, optional. Der Titel des Dokuments.
  • metadata.author — Zeichenkette, optional. Wer es geschrieben hat.
  • metadata.subject — Zeichenkette, optional. Worum es sich handelt.
  • metadata.keywords — Zeichenkette, optional. Die Wörter, über die das Dokument gefunden werden soll.
  • metadata.creator — Zeichenkette, optional. Das Programm, in dem das ursprüngliche Dokument geschrieben wurde.
  • metadata.producer — Zeichenkette, optional. Womit es erzeugt wurde.
  • metadata.created — Zeichenkette, optional. Das Datum nach ISO 8601, zum Beispiel 2026-08-08T10:00:00+02:00.
  • metadata.modified — Zeichenkette, optional. Das Datum der letzten Änderung des Dokuments, in denselben Formen. Ein Dokument ohne diese Angabe wurde zuletzt bei seiner Erzeugung geändert.
  • metadata.trapped — Zeichenkette, optional. Drei Werte: yes, no, unknown. Gibt an, ob das Dokument für das Ausbreiten der Druckfarbe in der Druckmaschine vorbereitet (überfüllt) wurde. Nichts anzugeben bedeutet etwas anderes als no anzugeben.
  • metadata.schemas — Array, optional, standardmäßig leer. Die eigenen Vokabulare des Kunden.
  • schemas[].name, schemas[].namespace, schemas[].prefix — Zeichenketten, alle erforderlich. Präfixe, die die Bibliothek für sich reserviert, werden abgelehnt.
  • schemas[].properties — Array, erforderlich; ein leeres wird abgelehnt.
  • properties[].name, properties[].description — Zeichenketten, beide erforderlich; eine leere Beschreibung wird abgelehnt.
  • properties[].value — erforderlich. Eine Zeichenkette oder eine Liste oder eine Struktur als Objekt: {"seq": […]} für eine geordnete Liste, {"bag": […]} für eine ungeordnete, {"alt": […]} für Alternativen, {"structure": [{"field": name, "value": …}, …]} für benannte Felder, so tief verschachtelt, wie der Typ es vorgibt. Ein Text in mehreren Sprachen ist {"lang_alt": [{"language": tag, "text": …}, …]}, an erster Stelle die Fassung, die ein Leser erhält, wenn er keine bestimmte anfordert, unter dem Tag x-default.
  • properties[].value_type — Zeichenkette oder Objekt, optional, standardmäßig text. Neun Wörter: boolean, date, integer, mime_type, proper_name, real, text, uri, url. Eine Liste ist {"seq": item}, {"bag": item} oder {"alt": item}, ihre Einträge ein Wort oder eine Struktur; eine Struktur ist {"structure": …}. Das Wort lang_alt liest den Wert als einen Text in mehreren Sprachen: Ein Text ohne Fassung, eine Fassung ohne Sprache oder eine doppelt angegebene Sprache, ohne Rücksicht auf Groß- und Kleinschreibung, wird abgelehnt.
  • Eine Struktur gibt name, namespace, prefix, description und fields an, jedes Feld ein name, ein value_type und eine description. Sie wird im Paket neben ihrem Schema beschrieben, sodass eine Archivprüfung auch ihre Felder prüft. Ein Wert, dessen Form nicht der seines Typs entspricht, wird abgelehnt.
  • properties[].category — Zeichenkette, optional, standardmäßig internal. Zwei Werte: internal, external.
  • metadata.declarations — Array, optional. Die Spezifikationen, denen das Dokument nach eigener Erklärung entspricht, jede als {"conforms_to": address, "claims": […]}, wobei eine Erklärung by angibt, wer sie abgibt, date, credentials, was ihn qualifiziert, und report, die Adresse des Berichts, auf dem sie beruht. Eine Erklärung beweist nichts: Nichts prüft die Datei gegen die Spezifikation, die sie nennt.

Die Eigenschaften werden in das Paket geschrieben, was die Anfrage sonst auch sagt; ihre Beschreibung wird daneben geschrieben, wenn das Dokument eine Norm beansprucht, die sie nachschlagen können will.

Archivierung: Ein Dokument, das pdfa3b beansprucht, schreibt, was es über sich sagt, an beide Stellen, während ein Dokument, das pdfa4 beansprucht, allein das Paket schreibt — diese Norm kennt gar keine Einträge. Eine Anfrage, die unter pdfa4 einen Eintrag über metadata.info nennt, wird abgelehnt, denn der Eintrag hätte nirgendwo sonst Platz.

Eine vollständige Anfrage, die ein PDF erzeugt

{
  "metadata": {
    "schemas": [
      {
        "name": "Board papers",
        "namespace": "https://example.test/ns/board/",
        "prefix": "board",
        "properties": [
          {
            "name": "Sitting",
            "value": "2026-08-08",
            "description": "The day the board sat",
            "value_type": "date",
            "category": "external"
          },
          {
            "name": "Present",
            "value": { "bag": ["Claire Vasseur", "Jan de Vries"] },
            "description": "Who sat",
            "value_type": { "bag": "proper_name" }
          },
          {
            "name": "Resolutions",
            "value": {
              "seq": [
                {
                  "structure": [
                    { "field": "Number", "value": "1" },
                    { "field": "Carried", "value": "True" }
                  ]
                }
              ]
            },
            "description": "What the board resolved, in order",
            "value_type": {
              "seq": {
                "name": "Resolution",
                "namespace": "https://example.test/ns/resolution/",
                "prefix": "res",
                "description": "One resolution put to the vote",
                "fields": [
                  {
                    "name": "Number",
                    "value_type": "integer",
                    "description": "Its number in the minutes"
                  },
                  {
                    "name": "Carried",
                    "value_type": "boolean",
                    "description": "Whether it was carried"
                  }
                ]
              }
            }
          }
        ]
      }
    ],
    "title": "Minutes of the board meeting",
    "author": "Claire Vasseur",
    "subject": "Board meeting of 8 August 2026",
    "creator": "The board secretariat system",
    "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
    }
  ]
}

Die Zeile, die es sendet, in drei Sprachen

Das Dokument als Ganzes

Die Nummern, die die Anzeigesoftware zeigt Hundert Briefe in einer einzigen Datei Was das Dokument über sich sagt, einmal gesagt Text, den niemand kopieren kann Notizen, die ein Programm in der Datei für sich hinterlässt Die Notizen, die ein Programm auf einer Seite hinterlässt Die Daten, die ein Programm an einen Farbabschnitt hängt Eine Datei, die noch in Jahrzehnten lesbar ist Die Drucknorm, die das Dokument beansprucht Die beanspruchte Norm für variablen Datendruck Das Passwort, das es öffnet, und was damit getan werden darf Eine Rechnung, die Mensch und Maschine gleichermaßen lesen Die Adresse, gegen die relative Links gelesen werden Die PDF-Version, die die Datei angibt Die PDF-Erweiterungen, die die Datei zu nutzen angibt Was ein Bild über sich sagt, und wie es gelesen wird Die Anhänge, die das Dokument neben seinen Seiten trägt Dateien, die das Dokument nennt, ohne sie zu enthalten Die Anhänge als Portfolio gezeigt Welche Anhänge eine Seite beansprucht Welche Anhänge eine Schrift beansprucht Der Ausweis, den eine einzelne Schrift trägt Welche Anhänge die Karte des Dokuments beansprucht Eine anderswo geschriebene Dokumentkarte Die Bereiche einer Seite, in denen ein Leser misst Der Ausweis, den eine einzelne Seite trägt Die Barrierefreiheitsnorm, die das Dokument beansprucht Die Normen, an denen das fertige Dokument gemessen wird

Wohin als Nächstes

Jeder JSON-Schlüssel einer Anfrage, auf einer Seite Die übrigen einundvierzig Einstellungen einer Anfrage

Die Preise ansehen Die Beispiele ansehen