
User de quelques artifices pour obtenir un beau feu d'artifice avec XMPie uDirect
Il y a parfois des moments dans la vie où il faut savoir s'asseoir sur ses principes pour obtenir un résultat.
Par exemple, qui n'a jamais dit "avec les moteurs de composition XMPie, aucun pré-traitement des données : tout se fait à la volée". C'est tout à fait vrai la plupart du temps, et nos clients s'attachent à bien appliquer ce précept, particulièrement dans le but d'éviter les processus complexes, ou de se retrouver dans des situations stressantes où des modifications de dernière seconde seraient à appliquer manuellement dans les données qui leur sont confiées par leurs clients en vue d'une composition à données variables.
Ou encore "Avec XMPie, le formatage visuel des cellules Excel n'a aucun impact sur les fichiers de sortie". C'est là encore presque toujours vrai, puisque les moteurs de composition de XMPie - qu'ils soient sur station de travail Windows ou macOS ou sur serveur s'intéressent principalement aux données, sans préjuger du fait qu'elles proviendront de fichiers Excel, Access, CSV ou XML, ou de bases de données relationnelles telles que SQL Server, Oracle, MySQL ou autres.
Sauf que...
Prenons le cas d'un imprimeur, sous-traitant d'un acteur de la grande distribution (disons : Kwik-E-Mart).
Les produits fabriqués par l'imprimeur (dans ce projet : de l'affichage en rayons) doivent être livrés au client dans des cartons étiquetés. Et la couleur de fond de ces étiquettes doit être contrôlée par les fichiers de commande Excel transmis par le client.
En d'autres termes : si la cellule Excel a un fond rouge, le client veut que l'étiquette de livraison composée avec la solution d'impression à données variables XMPie uDirect ait un fond... rouge.

D'après le témoignage de l'imprimeur, ce procédé a fonctionné pendant longtemps, entre autres parce que ces couleurs restaient peu nombreuses et, surtout, elles étaient prédéfinies : pas de nouvelle couleur arbitrairement sortie du chapeau par le client à l'occasion d'une nouvelle commande.
Partant de ce principe, l'infographiste avait préparé un document dans Adobe InDesign avec plusieurs calques de fond, dont il contrôlait dynamiquement l'apparition avec des objets de contenu XMPie de type "Visibilité ". Néanmoins, pour ce faire, il devait au préalable ouvrir manuellement le fichier de commande dans Excel, y créer manuellement une colonne supplémentaire, y saisir manuellement un code symbolisant la couleur de fond de chaque ligne, puis sauvegarder manuellement le fichier et l'utiliser pour sa composition XMPie (comme nous, vous avez compté 4 fois le mot "manuellement" dans cette phrase, pour autant d'occasions de perdre du temps, de faire des bêtises ou... les deux).

Mais il est apparu cette année que cela ne pouvait plus perdurer, car le client a annoncé que le nombre de couleurs serait désormais non limité, chacune d'entre elles étant même réputée être non prédictible, selon l'inspiration de l'acheteur. Plus possible, donc, de créer à l'avance ces fameux calques InDesign colorés, comme cela était pratiqué auparavant 😒
Toujours inventifs, jamais fatalistes
A l'issue d'une petite tempête cervicale (comme diraient les anglo-saxons), trois artifices ont été assemblés au sein d'un traitement entièrement automatisé, afin de répondre à la problématique :
- la propriété "Interior.Color" de Microsoft.Office.Interop.Excel, qui nous permet d'automatiser la collecte des couleurs de fond des cellules Excel qui ont été choisies arbitrairement par le client
- un petit algorithme implémenté en c# permettant de les convertir en leurs équivalents CMJN - sans prétention particulière bien sûr, la notion de profil colorimétrique étant jugée peut importante pour un document à caractère purement logistique
- enfin, la fonction "Rectangle" du langage QLingo de XMPie, qui permet de "peindre" dynamiquement tout objet vectoriel InDesign avec une couleur CMJN donnée. Evidemment, le document InDesign devient plus simple, puisque cette myriade de calques techniques n'est plus du tout nécessaire
Le nouveau document InDesign avec évidemment bien moins de calques et d'objets de contenu XMPie associés
In fine, nous savons composer des étiquettes dont les couleurs sont directement gouvernées par les choix de couleur faits par le client dans son fichier Excel - vous pouvez cliquer sur l'image pour obtenir le PDF :
Etiquettes composées et imposées par XMPie, colorées conformément au fichier Excel
CQFD
Dans l'environnement de travail de ce client (une station de travail), il est vrai qu'il nous faut un pré-traitement ; il mettra en œuvre les deux premiers artifices décrits plus haut et ne devrait finalement coûter à l'utilisateur qu'un simple glisser / jeter du fichier Excel - bien sûr, avec une plateforme serveur XMPie, l'automatisation aurait pu être totale, par exemple avec un dossier actif en entrée du moteur de composition.
Et finalement, le fond des étiquettes composées par le moteur XMPie dépend parfaitement de la couleur des cellules Excel ; même si Kwik-E-Mart décidait sur un coup de tête d'utiliser sans préavis une couleur bien flashie dont ils ont le secret.
Plus d'info svp ! Retour au blogArticles associés
© west-digital.fr 16/04/2025 - Ce billet a été rédigé sans utiliser aucune intelligence artificielle - ça se voit ? 😜