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 kann in einer Datenbank gespeichert und mithilfe einer PHP-API und z. B. TCPDF verarbeitet 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 |
3. header
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) |
4. footer
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] } } ] }