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 :
| Format | Valeur | Cas 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 :
tracingIdde la réponse APIparcelNumberde l'étiquette concernée- Format d'étiquette utilisé (
A4/A6) - Modèle de votre imprimante et version du pilote