URL: https://linuxfr.org/users/zzmaxfr/journaux/naissance-de-publicodebarres Title: Naissance de publicodebarres Authors: zzmaxfr Date: 2011年05月27日T00:18:27+02:00 License: CC By-SA Tags: astuce, shell et logiciel Score: 30 Pour vous mettre dans le contexte. Un décret de l'année dernière oblige les professionnels médicaux à mettre leur numéro d’identification sous forme de 2 codes barres sur leurs ordonnances. Avec en plus le petit nom de chaque numéro (par exemple RPPS et Adeli) au dessus de chaque code barre, le numéro sous forme de chiffre en dessous et 3cm minimum d'espace entre les 2. Et le code barre doit respecté le code 128. Cette obligation prend effet ce premier janvier. Rien de bien dur, mais... pas forcément évident pour les non pratiquants informatique. Des solutions payante existent et sont particulièrement chères. Du coup j'ai fourni un petit logiciel qui permet à partir d'une liste simple: * nom prénom * numéro 1 (RPPS) * numéro 2 (Adeli) * adresse mail De faire toute la tambouille et d'envoyer à chacun une petite image contenant les codes barres avec tout ce qu'il faut et les bon espacement. plus qu'à insérer dans l'ordonnance. Le code (version spécialisée sage-femme). ```sh #!/bin/sh # This code is under GPLv3 echo "Enter lines, fomat : \\"name\\" adeli rpps mail" pwd=`pwd` echo $pwd while read name do read adeli read rpps read mail adeli=`echo ${adeli} | tr -c -d [:digit:]` rpps=`echo ${rpps} | tr -c -d [:digit:]` echo "\\"adeli $adeli\\"" echo "\\"rpps $rpps\\"" echo "\\"mail $mail\\"" echo "\\"name $name\\"" barcode -e 128 -b "$adeli" -o "${name}_adeli.ps" -E barcode -e 128 -b "$rpps" -o "${name}_rpps.ps" -E convert "${name}_adeli.ps" -bordercolor white -border 0x10 -draw "text 10,14 'No AM'" "${name}_adeli.png" convert "${name}_rpps.ps" -bordercolor white -border 0x10 -draw "text 10,14 'No RPPS'" "${name}_rpps.png" montage -background "#FFFFFF" -geometry +40+0 "${name}_rpps.png" "${name}_adeli.png" "${name}_barcodes.png" convert -shave 30x0 "${name}_barcodes.png" -bordercolor black -border 1x1 "${name}_barcodes.png" thunderbird -compose "to='$mail',subject='barcode',body='Your bytecodes join. Enjoy!',attachment='file://${pwd}/${name}_barcodes.png'" done echo "End" ``` C'est très cour, l'astuce consistant à ne pas insister sur "barcode" (2 soirées de perdu, ce logiciel est une horreur) et d'utiliser imagemagik (fini en 20mn...) Pour le fonctionnement, il faut la liste sous la forme d'un fichier et **$cat liste.txt|publicodebarres.sh** Pour les dépendances, imagemagik, barcode (gnu), thunderbird Pour les tests, j'ai pu tester dans une pharmacie et cela semble fonctionner.