Hundert Briefe in einer einzigen Datei

Geben Sie in der Datei selbst an, wo ein Empfänger endet und der nächste beginnt, mit dem, was die Weiterverarbeitung braucht.

In einem echten PDF ansehen

Drei Kontoauszüge in einer Datei

Vier Seiten mit drei Kontoauszügen für Kunden. Jeder Auszug gibt die Seiten an, die zu ihm gehören, den Kunden, für den er bestimmt ist, die Zahl der zu druckenden Exemplare und die angehängte Datei, die zu ihm gehört.

Das PDF öffnen Das vollständige Beispiel ansehen

Auch zu sehen in: Ein Brief pro Empfänger, alle in derselben Datei

Zusammenfassung

Ein Lauf von hundert Kontoauszügen ist eine große Datei und hundert verschiedene Briefe. Die Maschine, die sie druckt und faltet, muss wissen, wo sie schneiden soll: zwei Blätter für diesen, eines für jenen. Meist erfährt sie es aus einer zweiten, getrennt geführten Datei — und an dem Tag, an dem beide aus dem Takt geraten, gehen hundert Umschläge falsch hinaus. Hier reisen Name, Ort und Referenz des Empfängers mit den Seiten, sodass eine einzige Datei in die Werkstatt geht und für sich allein steht.

Technisch

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

document_parts schreibt die /DPartRoot-Hierarchie von PDF 2.0: einen Baum, dessen Blätter jeweils einen Seitenbereich beanspruchen und dessen Knoten die benannten Werte tragen, die eine Weiterverarbeitung liest. Ein Blatt beansprucht seine Seiten entweder durch Angabe der ersten und letzten Nummer oder durch Weiterzählen ab dem Punkt, an dem der vorherige Dokumentteil aufgehört hat; beide Arten lassen sich frei mischen. Was ein Dokumentteil angibt, ist eine Liste benannter Werte, nie ein Objekt, denn die Reihenfolge, in der sie geschrieben wird, ist die Reihenfolge, in der sie übergeben wurde.

Anfrageschema

  • document_parts — Objekt, optional, standardmäßig nicht gesetzt. Fehlt es, ist die Datei ein einziges Dokument.
  • document_parts.root — Objekt, erforderlich. Der Teil, an dem alle anderen Teile hängen.
  • document_parts.node_names — Array von Zeichenketten, optional, standardmäßig leer. Wie jede Ebene der Hierarchie heißt, von der Wurzel abwärts. Ein Name, den ein Job-Ticket nicht lesen kann, wird abgelehnt.
  • document_parts.record_level — Ganzzahl, optional. Die Ebene, deren Teile jeweils für einen Empfänger stehen, wobei die Wurzel als Ebene null zählt.
  • Ein Knoten hat children (rekursives Array, standardmäßig leer) oder claim, nie beides, nie keines.
  • claim hat zwei Formen: {"pages": {"first": n, "last": n}} mit zwei Ganzzahlen ≥ 1, wobei ein Bereich, der vor seinem Anfang endet, abgelehnt wird; oder {"next_pages": n} mit einer Ganzzahl ≥ 1, die dort anschließt, wo der vorherige Dokumentteil aufgehört hat. Zwei sich überschneidende Bereiche werden abgelehnt.
  • data — Array, optional, standardmäßig leer. Die benannten Werte, die der Teil angibt, in ihrer Reihenfolge.
  • data[].name — Zeichenkette, erforderlich. ASCII-Buchstaben und -Ziffern, _, -, . und :, beginnend mit einem Buchstaben, _ oder :.
  • data[].value — erforderlich. Sieben Formen: {"text": s}, {"date": s} nach ISO 8601, {"integer": i}, {"real": f}, {"boolean": b}, {"list": …}, {"fields": …} für verschachtelte benannte Werte.
  • metadata — Objekt, optional. Was der Teil über sich selbst sagt, für ein Programm, das die Datei liest, in einem eigenen Metadatenpaket: {"facts": {…}}, geschrieben aus den Feldern, die das eigene metadata des Dokuments annimmt, oder {"packet": "part name"}, ein als Teil mitgeliefertes und unverändert übernommenes Paket.

Dokumentteile beschreibt Abschnitt 14.12 von ISO 32000-2; das Beispiel unten gibt "version": "2.0" an, die Version, mit der die Anzeigesoftware sie beachten will.

Eine vollständige Anfrage, die ein PDF erzeugt

{
  "version": "2.0",
  "document_parts": {
    "root": {
      "children": [
        {
          "claim": { "next_pages": 1 },
          "data": [{ "name": "Recipient", "value": { "text": "Baker and Sons" } }]
        },
        {
          "claim": { "next_pages": 1 },
          "data": [{ "name": "Recipient", "value": { "text": "Westmill Dairy" } }]
        }
      ]
    }
  },
  "standard_fonts": [{ "name": "sans", "face": "helvetica" }],
  "items": [
    {
      "type": "text",
      "pages": [1],
      "rect": { "llx": 60, "lly": 740, "urx": 535, "ury": 762 },
      "content": ["Statement for Baker and Sons"],
      "font": "sans",
      "font_size": 13
    },
    {
      "type": "text",
      "pages": [2],
      "rect": { "llx": 60, "lly": 740, "urx": 535, "ury": 762 },
      "content": ["Statement for Westmill Dairy"],
      "font": "sans",
      "font_size": 13
    }
  ]
}

Die Zeile, die es sendet, in drei Sprachen

Das Dokument als Ganzes

Die Nummern, die die Anzeigesoftware zeigt Was das Dokument über sich sagt 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