Aller au contenu principal

Impression d'étiquettes

Aide pour générer, décoder et imprimer les étiquettes d'expédition DPD.


Étiquettes dans la réponse API

Une création d'expédition réussie retourne chaque étiquette sous forme de chaîne PDF encodée en Base64 dans success[].label.

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

Décoder et enregistrer l'étiquette

Shell :

echo "JVBERi0xLjQK..." | base64 --decode > label.pdf

JavaScript (navigateur) :

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

Choisir le bon format d'étiquette

Définissez printOptions.paperSize dans votre requête d'expédition :

FormatValeurCas d'utilisation
A4"A4"Imprimantes de bureau standard. Jusqu'à 4 étiquettes par feuille — contrôlez la position avec startPosition (UPPER_LEFT, UPPER_RIGHT, BOTTOM_LEFT, BOTTOM_RIGHT)
Thermique / A6"A6"Imprimantes d'étiquettes thermiques directes (Zebra, Citizen, etc.)
"printOptions": {
"paperSize": "A6"
}

Plusieurs étiquettes sur une feuille A4

Lors de l'impression de plusieurs expéditions, regroupez-les sur des feuilles A4 pour économiser du papier :

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

Étiquette vide ou corrompue

Cause 1 : Erreur de décodage Base64 — espaces ou sauts de ligne superflus dans la chaîne.

Solution : Supprimez tous les espaces avant de décoder :

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

Cause 2 : Compatibilité du lecteur PDF.

Solution : Essayez d'ouvrir le PDF dans un autre lecteur. Les étiquettes sont des fichiers PDF 1.4+ valides.

Cause 3 : Incompatibilité de la résolution (DPI) de l'imprimante thermique.

Solution : Configurez votre imprimante à 203 ou 300 DPI (consultez le manuel de votre imprimante). Le format d'étiquette est conçu pour les imprimantes thermiques DPD standard.


Toujours des problèmes ?

Fournissez les éléments suivants au support DPD :

  • tracingId de la réponse API
  • parcelNumber de l'étiquette concernée
  • Format d'étiquette utilisé (A4 / A6)
  • Modèle de votre imprimante et version du pilote