Lors de notre dernier Tech Mondays, nous vous avons présenté le JavaScript appliqué au monde de l’Imprimerie. Charge est de constater que si vos réactions ont été nombreuses et positives, certains sont restés un peu circonspects devant l’absence de mise en application concrète. Face à des flux de productions aujourd’hui opérationnels sans la moindre ligne de code, quelle serait donc la valeur ajoutée du JavaScript ? Nous avons donc décidé de revenir aujourd’hui sur ce sujet avec une démonstration concrète. Dans les faits, vous trouverez à la fin de cet article les ressources présentées ci-après en téléchargement.
Pour l’exercice du jour, nous utiliserons pdfToolbox mais nous aurons très certainement l’opportunité de faire de même ultérieurement avec d’autres produits comme Enfocus Switch ou Adobe InDesign. L’éditeur Callas Software propose par ailleurs quelques mises en œuvres du JavaScript dans sa documentation. Nous voulions donc vous proposer quelque chose de nouveau qui fasse la part belle au JavaScript. Bien entendu, il n’était pas question de dévoiler pour autant des process déployés chez nos clients. Au final, l’outil que nous allons vous présenter devrait vous plaire. On attend vos avis en commentaires 😉
Le projet
Prenons donc l’hypothèse de travail suivante : je suis un imprimeur et j’aimerai que mes opérateurs puissent repérer rapidement les impressions à expédier en urgence. Bien sûr, la plupart des imprimés contiennent aujourd’hui des code-barres qui une fois scannés révéleront toutes les données utiles. Mais cela implique un scan et un geste répété. Comment alors permettre une identification visuelle immédiate indiquant que des imprimés doivent être traités en livraison en priorité ?
Voici le jeu de pictos que nous utiliserons.
Et si un picto permettait de le comprendre instantanément ? Et si un message m’informait de l’imminence de l’envoi ?
C’est ici un bon cas d’étude pour vous présenter l’utilité du Javascript !
Les variables
Callas pdfToolbox permet de définir deux types de variables :
- Variable simple : l’opérateur ou un logiciel tiers définit la valeur de la variable sans traitement particulier
- Script JavaScript : la valeur de variable sera définie à la suite de l’évaluation d’un code javascript exploitant le modèle objet du logiciel
Dans notre cas, nous avons opté pour une variable simple car il ne s’agit ici que de connaître le niveau d’urgence de la livraison. Cependant cette valeur sera longuement exploitée ultérieurement !
Panneau de réglage des varibales dans pdfToolbox
Placement de contenus
Il s’agit ici du cœur de l’action. Les correctifs de Callas pdfToolbox proposent l’option « Placer du contenu » qui permet de venir incorporer des éléments au PDF au travers d’un template HTML/CSS/JS qui sera converti en PDF puis injecté au document maître. En effet, le logiciel embarque un moteur de conversion HTML vers PDF connu par ailleurs sous le nom de Callas pdfChip. Nous nous en servons ici pour venir placer nos pictos à l’endroit utile. Pour les plus curieux, sachez qu’un étirement de la zone de support du PDF aura été nécessaire.
Le correctif « Placer du contenu » (Place content on page) permet
d’ajouter des éléments au document via des templates HTML
Le Javascript est critique ici pour de nombreuses raisons. Il nous faut déjà savoir quel picto afficher en fonction du niveau de livraison et à quel endroit le placer précisément. A noter que le moteur HTML/PDF vous permet des choses qui paraîtront plutôt non orthodoxes pour un développeur web comme la possibilité d’utiliser un fichier PDF comme source d’une balise img ou encore de spécifier des couleurs en CMJN via des instructions propres à l’éditeur.
C’est en exploitant cela que nous pouvons injecter nos pictos PDF et colorer nos textes en CMJN au sein d’un template HTML !
JavaScript pour les nuls
Placer les pictos est un exercice relativement aisé mais nous voulions aller un peu plus loin et mettre un message indiquant la date de livraison à respecter en fonction de la date de traitement du fichier et du niveau de livraison. De plus, comme nous comptions vous mettre à disposition cet outil, il était question de pouvoir le localiser pour les utilisateurs non francophones. Bref, de la logique et encore de la logique que seul JavaScript pouvait résoudre.
À la sortie, le picto et le message d’alerte s’affiche correctement !
L’intérêt de pdfChip est qu’il est basé sur Chromium. Á de rares exceptions, tout ce que vous pourrez faire avec votre navigateur Chrome, vous pourrez le faire avec pdfChip. En l’occurence, nous ne voulions pas réécrire des fonctions avancées de traitement de date avec gestion de la locale. Nous avons alors pensé à la librairie JavaScript « Moment.js » qui fait très bien le travail.
La librairie Moment.js permet des manipulations très pratiques de date !
Et hop, une inclusion plus tard, nous pouvions faire appel aux méthodes de cette librairie et obtenir un formatage parfait de nos dates avec prise en compte du délai de livraison et de la locale !
A tester !
Pourquoi ne pas essayer vous-mêmes c’est gratuit ! Téléchargez le profil Callas pdfToolbox (compatible V10, pas Acrobat à date) pour pouvoir le tester. Nous sommes impatients de votre retour. N’hésitez pas à commenter ci-après, on adore vous lire. Si vous avez la moindre question, vous pouvez nous joindre via le formulaire de contact ci-contre.
A bientôt !