Metainformationen zur Seite
  •  

Dies ist eine alte Version des Dokuments!


PDF-Druckvorlagen

JSON-Druckvorlage: Ordneretikett

Diese JSON-Vorlage beschreibt den Aufbau eines PDFs für ein Ordneretikett im Format A7. Sie wird im System gespeichert und kann vom API direkt aufgerufen werden.

Gesamtstruktur

{
  "meta": { ... },
  "page": { ... },
  "header": { ... },
  "footer": { ... },
  "elements": [ ... ]
}

1. meta

Metadaten des PDFs, die im Dokument eingebettet werden.

Feld Beschreibung Beispiel
title Dokumenttitel folder_name
author Autor (Name der Person oder Organisation) first_name last_name
subject Thema des Dokuments „Ordner-Etikett“
keywords Stichworte, durch Kommas getrennt keywords

2. page

Seiteneinstellungen für das Etikett.

Feld Beschreibung Beispiel Mögliche Werte
size Papierformat „A7“ A4, A5, A6, A7, Letter
orientation Ausrichtung der Seite „P“ P (Hochformat), L (Querformat)
margin Seitenränder in mm {top:20,…} top, bottom, left, right

Kopfzeile auf jeder Seite.

Feld Beschreibung Beispiel
enabled Header anzeigen (true/false) true
height Höhe in mm 15
content Textinhalt mit Variablen „Musterfirma GmbH – date
font Schriftart „helvetica“
font_size Schriftgröße in pt 10
style Stil (B, I, U, Kombinationen) „B“
align Ausrichtung des Textes „C“ (zentriert)

Fußzeile auf jeder Seite.

Feld Beschreibung Beispiel
enabled Footer anzeigen (true/false) true
height Höhe in mm 15
content Textinhalt mit Variablen „Seite page_no von total_pages
font Schriftart „helvetica“
font_size Schriftgröße in pt 8
style Stil „I“
align Ausrichtung „C“

5. elements

Liste der darzustellenden Elemente im Layout. Reihenfolge ist relevant.

Typ: text

Feld Beschreibung Beispiel
type „text“
x, y Position in mm 20, 40
width Breite in mm 170
font Schriftart „helvetica“
font_size Schriftgröße in pt 14
style Stil (B, I, U) „B“
align Ausrichtung (L, C, R) „L“
multiline Zeilenumbruch erlaubt (true/false) false
content Textinhalt mit Platzhaltern title

Typ: line

Feld Beschreibung Beispiel
type „line“
x1, y1 Startpunkt der Linie 20, 55
x2, y2 Endpunkt der Linie 190, 55
style Stilobjekt mit Dicke und Farbe {„width“:0.3,„color“:[0,0,0]}

6. Platzhaltervariablen

Diese Variablen können im `content`, `meta`, `header` oder `footer` verwendet werden:

Variable Beschreibung
folder_name Name des Ordners (z. B. für den PDF-Titel)
first_name Vorname des Erstellers / Nutzers
last_name Nachname
keywords Schlagworte
title Haupttitel des Etiketts (z. B. Projekttitel)
description Beschreibung des Inhalts im Ordner
date Aktuelles Datum (vom Backend gesetzt)
page_no Aktuelle Seitennummer (von TCPDF automatisch)
total_pages Gesamtseitenanzahl (von TCPDF automatisch)

Hinweise

  • Alle Maßeinheiten sind in Millimetern.
  • Farben werden als RGB-Array angegeben, z. B. `[0, 0, 0]` für Schwarz.
  • Kommentare im JSON selbst sind nicht erlaubt – du kannst aber `_comment`-Felder nutzen.
  • Diese Vorlage eignet sich ideal für Etiketten, Karteikarten oder kleine Drucksachen.

JSON-Schema für ein Ordner-Etikett

{
  "meta": {
    "title": "{{folder_name}}",
    "author": "{{first_name}} {{last_name}}",
    "subject": "Ordner-Etikett",
    "keywords": "{{keywords}}"
  },
  "page": {
    "size": "A7",
    "orientation": "P",
    "margin": {
      "top": 20,
      "bottom": 20,
      "left": 15,
      "right": 15
    }
  },
  "header": {
    "enabled": true,
    "height": 15,
    "content": "Musterfirma GmbH – {{date}}",
    "font": "helvetica",
    "font_size": 10,
    "style": "B",
    "align": "C"
  },
  "footer": {
    "enabled": true,
    "height": 15,
    "content": "Seite {{page_no}} von {{total_pages}}",
    "font": "helvetica",
    "font_size": 8,
    "style": "I",
    "align": "C"
  },
  "elements": [
    {
      "type": "text",
      "x": 20,
      "y": 40,
      "width": 170,
      "font": "helvetica",
      "font_size": 14,
      "style": "B",
      "align": "L",
      "multiline": false,
      "content": "{{title}}"
    },
    {
      "type": "text",
      "x": 20,
      "y": 50,
      "width": 170,
      "font": "helvetica",
      "font_size": 12,
      "style": "",
      "align": "L",
      "multiline": false,
      "content": "{{description}}"
    },    
    {
      "type": "text",
      "x": 20,
      "y": 60,
      "width": 100,
      "font": "helvetica",
      "font_size": 12,
      "style": "",
      "align": "L",
      "multiline": false,
      "content": "Datum: {{date}}"
    },
    {
      "type": "line",
      "x1": 20,
      "y1": 55,
      "x2": 190,
      "y2": 55,
      "style": {
        "width": 0.3,
        "color": [0, 0, 0]
      }
    }
  ]
}