Etikettendruck
Hilfe beim Generieren, Dekodieren und Drucken von DPD-Versandetiketten.
Etiketten in der API-Antwort
Eine erfolgreiche Sendungserstellung gibt jedes Etikett als Base64-kodierte PDF-Zeichenkette im Feld success[].label zurück.
{
"success": [
{
"id": 1,
"parcelNumber": "05305000123456",
"label": "JVBERi0xLjQKJeLjz9MK..."
}
]
}
Etikett dekodieren und speichern
Shell:
echo "JVBERi0xLjQK..." | base64 --decode > label.pdf
JavaScript (Browser):
function downloadLabel(base64Label, parcelNumber) {
const bytes = atob(base64Label);
const array = new Uint8Array(bytes.length);
for (let i = 0; i < bytes.length; i++) array[i] = bytes.charCodeAt(i);
const blob = new Blob([array], { type: 'application/pdf' });
const url = URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = `label-${parcelNumber}.pdf`;
a.click();
URL.revokeObjectURL(url);
}
Java:
byte[] pdfBytes = Base64.getDecoder().decode(labelBase64);
Files.write(Path.of("label-" + parcelNumber + ".pdf"), pdfBytes);
Das richtige Etikettenformat wählen
Setzen Sie printOptions.paperSize in Ihrer Sendungsanfrage:
| Format | Wert | Anwendungsfall |
|---|---|---|
| A4 | "A4" | Standard-Bürodrucker. Bis zu 4 Etiketten pro Blatt – Position über startPosition steuern (UPPER_LEFT, UPPER_RIGHT, BOTTOM_LEFT, BOTTOM_RIGHT) |
| Thermodruck / A6 | "A6" | Direkt-Thermoetikett-Drucker (Zebra, Citizen usw.) |
"printOptions": {
"paperSize": "A6"
}
Mehrere Etiketten auf einem A4-Blatt
Wenn Sie mehrere Sendungen drucken, platzieren Sie diese auf A4-Blättern, um Papier zu sparen:
[
{ ..., "printOptions": { "paperSize": "A4", "startPosition": "UPPER_LEFT" } },
{ ..., "printOptions": { "paperSize": "A4", "startPosition": "UPPER_RIGHT" } },
{ ..., "printOptions": { "paperSize": "A4", "startPosition": "BOTTOM_LEFT" } },
{ ..., "printOptions": { "paperSize": "A4", "startPosition": "BOTTOM_RIGHT" } }
]
Etikett leer oder beschädigt
Ursache 1: Base64-Dekodierfehler – zusätzliche Leerzeichen oder Zeilenumbrüche in der Zeichenkette.
Lösung: Alle Leerzeichen vor der Dekodierung entfernen:
const cleanBase64 = base64String.replace(/\s+/g, '');
Ursache 2: PDF-Viewer-Kompatibilität.
Lösung: Versuchen Sie, das PDF in einem anderen Viewer zu öffnen. Etiketten sind gültige PDF 1.4+-Dateien.
Ursache 3: DPI-Konflikt beim Thermodrucker.
Lösung: Konfigurieren Sie Ihren Drucker auf 203 oder 300 DPI (siehe Druckerhandbuch). Das Etikettenformat ist für Standard-DPD-Thermodrucker ausgelegt.
Noch nicht gelöst?
Geben Sie dem DPD-Support folgende Informationen:
tracingIdaus der API-AntwortparcelNumberdes betroffenen Etiketts- Verwendetes Etikettenformat (
A4/A6) - Druckermodell und Treiberversion