Passa al contenuto principale

Stampa etichette

Guida alla generazione, decodifica e stampa delle etichette di spedizione DPD.


Etichette nella risposta API

Una creazione di spedizione riuscita restituisce ogni etichetta come stringa PDF codificato in Base64 nel campo success[].label.

{
"success": [
{
"id": 1,
"parcelNumber": "05305000123456",
"label": "JVBERi0xLjQKJeLjz9MK..."
}
]
}

Decodificare e salvare l'etichetta

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);

Scegliere il formato etichetta corretto

Impostare printOptions.paperSize nella richiesta di spedizione:

FormatoValoreCaso d'uso
A4"A4"Stampanti da ufficio standard. Fino a 4 etichette per foglio — controllare la posizione con startPosition (UPPER_LEFT, UPPER_RIGHT, BOTTOM_LEFT, BOTTOM_RIGHT)
Termico / A6"A6"Stampanti per etichette termiche dirette (Zebra, Citizen, ecc.)
"printOptions": {
"paperSize": "A6"
}

Più etichette su un unico foglio A4

Quando si stampano più spedizioni, raggrupparle su fogli A4 per risparmiare carta:

[
{ ..., "printOptions": { "paperSize": "A4", "startPosition": "UPPER_LEFT" } },
{ ..., "printOptions": { "paperSize": "A4", "startPosition": "UPPER_RIGHT" } },
{ ..., "printOptions": { "paperSize": "A4", "startPosition": "BOTTOM_LEFT" } },
{ ..., "printOptions": { "paperSize": "A4", "startPosition": "BOTTOM_RIGHT" } }
]

Etichetta vuota o danneggiata

Causa 1: Errore di decodifica Base64 — spazi o interruzioni di riga superflui nella stringa.

Soluzione: Rimuovere tutti gli spazi prima della decodifica:

const cleanBase64 = base64String.replace(/\s+/g, '');

Causa 2: Compatibilità del visualizzatore PDF.

Soluzione: Provare ad aprire il PDF in un altro visualizzatore. Le etichette sono file PDF 1.4+ validi.

Causa 3: DPI della stampante termica non compatibile.

Soluzione: Configurare la stampante a 203 o 300 DPI (consultare il manuale della stampante). Il formato dell'etichetta è progettato per le stampanti termiche DPD standard.


Ancora problemi?

Fornire al supporto DPD quanto segue:

  • tracingId dalla risposta API
  • parcelNumber dell'etichetta interessata
  • Formato etichetta utilizzato (A4 / A6)
  • Modello della stampante e versione del driver