Zum Inhalt

PDF aufteilen

Der Service Task „PDF aufteilen" teilt eine PDF-Datei in mehrere einzelne PDF-Dokumente auf. Damit lassen sich z. B. mehrseitige Sammel-PDFs in Einzeldokumente zerlegen oder bestimmte Seitenbereiche herauslösen.


Input-Parameter

Die folgenden Felder werden als Eingabe für den Task benötigt:

{
  "pdf": {
    "referenceId": "...",
    "filename": "sammelrechnung.pdf",
    "contentType": "application/pdf"
  },
  "splits": {
    "0": { "from": 1, "to": 3 },
    "1": { "from": 4, "to": 6 }
  },
  "filenamePattern": "{name}_teil-{n}"
}

Erläuterung:

  • pdf: Die Datei-Referenz der PDF-Datei, die aufgeteilt werden soll (Pflichtfeld).
  • splits: Ein Objekt mit nummerierten Einträgen, die jeweils einen Seitenbereich definieren (optional).
    • from: Erste Seite des Bereichs (1-basiert). Wird from weggelassen, beginnt der Bereich bei Seite 1.
    • to: Letzte Seite des Bereichs (1-basiert, inklusiv). Wird to weggelassen, endet der Bereich auf der letzten Seite.
    • filename: Optionaler individueller Dateiname für diesen Teil.
  • filenamePattern: Muster für die Dateinamen der Teile (optional). Verfügbare Platzhalter:
    • {name} – Dateiname des Originals (ohne .pdf)
    • {n} – laufende Nummer des Teils (1, 2, 3, ...)
    • Die Endung .pdf wird automatisch ergänzt, falls sie fehlt.

Ohne Splits

Wird splits nicht angegeben, wird jede einzelne Seite als eigene PDF-Datei ausgegeben.


Output

Der Task gibt ein Array von Datei-Referenzen zurück – eine pro erzeugtem Teildokument.

{
  "files": [
    {
      "referenceId": "...",
      "filename": "sammelrechnung_teil-1.pdf",
      "contentType": "application/pdf"
    },
    {
      "referenceId": "...",
      "filename": "sammelrechnung_teil-2.pdf",
      "contentType": "application/pdf"
    }
  ],
  "count": 2
}

Erläuterung:

  • files: Array mit den Datei-Referenzen aller Teildokumente.
  • count: Anzahl der erzeugten PDF-Dateien.

JSONata-Beispiele

Jede Seite einzeln extrahieren (einfachster Fall):

{
  "pdf": $.dokument
}

Bestimmte Seitenbereiche aufteilen:

{
  "pdf": $.dokument,
  "splits": {
    "0": { "from": 1, "to": 2 },
    "1": { "from": 3 }
  }
}

Hinweise

  • Seitenangaben sind 1-basiert und inklusiv: { "from": 1, "to": 3 } ergibt ein PDF mit den Seiten 1, 2 und 3.
  • Ungültige Seitennummern (z. B. größer als die Gesamtseitenanzahl) werden automatisch auf den gültigen Bereich begrenzt.
  • Bei Überschneidungen in den Splits entstehen Teildokumente mit doppelten Seiten – das ist gewollt und kann z. B. für Kopien verwendet werden.

Tipp

In Kombination mit dem Service „PDF-Metadaten lesen" lässt sich die Seitenanzahl vorab ermitteln und als Bedingung im Prozess verwenden – beispielsweise um nur PDFs mit mehr als 10 Seiten aufzuteilen.