Zum Hauptinhalt springen

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:

FormatWertAnwendungsfall
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:

  • tracingId aus der API-Antwort
  • parcelNumber des betroffenen Etiketts
  • Verwendetes Etikettenformat (A4 / A6)
  • Druckermodell und Treiberversion