Tout d'abord, comme c'est mon premier post, que les modos n'hésitent pas à recadrer tout ce qui ne va pas, et à déplacer ce post s'il n'est pas au bon endroit.
Donc voilà
j'avais besoin d'écrire du code barre sur un pdf, ce qui à priori (j'ai cherché et je n'ai pas trouvé) semble ne pas avoir été fait.
J'ai donc commencé en réaliser mon PDF grâce à l'UDF de taietel puis j'ai regardé comment il créeait ses polices.
Et en utilisant le tuto "Ajout de polices et encodages" trouvé sur le net et que j'avais déjà utilisé pour ajouter des polices à FPDF pour PHP, j'ai bidouillé l'UDF de taietel.
je n'ai pas tout compris sur le rôle de certains des paramètres de ses polices (j'ai pas vraiment cherché) et lorsque je n'en connaissais pas la valeur, je les ai mis à zéro.
Et ainsi j'ai pu ajouter la police de code barre 3OF9.TTF dont j'avais besoin.
(pour info, je relis les code barre avec une douchette CCD et cela fonctionne bien)
Pour ne pas créer de confusion avec le MPDF_UDF.au3 de Taietel, j'ai renommé son UDF modifié MPDF_UDF_CB.au3.
Les modifications apportées se trouvent lignes :
16
129
1181 et 1182
2920 à 2962
Pour ceux qui veulent tester cette nouvelle police, je vous joins les fichiers suivants
- MPDF_UDF_CB.au3 (l'UDF modifié)
- test codebarre.au3 (fichier exemple)
- 3OF9.TTF (police à rajouter aux polices dans windows) (fichier renommé en txt pour pouvoir être joint au post)
dernier point : je programme sous XP, donc quid? des autres OS ?
CORRECTIF DU 15/07/2014
Mon UDF fonctionne très bien pour une seule impression, mais si on met le script dans une boucle for 1 to 2 par exemple, c'est la panique dans les polices.
Faites l'essai et vous verrez de quoi je parle !!!
D'où cela provient-il ? En vérité je ne sais pas car je n'ai pas étudié de près la constitution des polices écrite par taietel. Mais ce que j'ai remarqué c'est que les polices qui fonctionnaient sans ce bug avaient un tableau de valeurs dont la "$FirstChar" était égale à 32 (chr(32)) alors que mon tableau démarrait à 0 (chr(0)).
J'ai donc mis cette variable à 32 et modifié le nombre de valeurs dans mon tableau (lignes 2920 à 2962) et cela a supprimé le bug, sans savoir exactement pourquoi cela met la panique dans les polices.
Ce bug existait aussi pour la police Symbol qui démarrait au CHR(30). J'en ai profité pour le corriger aussi.
Je vous joins ma nouvelle UDF : MPDF_UDF_CB2.au3 modifiée en conséquence.
Si un jour j'ai le temps, j'essaierai de comprendre le pourquoi de la chose

CORRECTIF DU 16/12/2014
Je vous propose ma dernière version qui comprend
- la modification de la fonction _ClosePDFFile pour reset des variables avant génération nouvelle page
- la modification de la fonction 'Func _LoadFontTT' pour éditer correctement les caractères accentués
- l'ajout des polices codebarre "3OF9.TTF" et "Code128.TTF"
Cette version rend obsolète les versions MPDF_UDF_CB2.au3 et MPDF_UDF_CB3.au3
CORRECTIF DU 22/12/2014
J'ai constaté que la fonction _Iif() a été supprimée dans l'UDF 'Misc.au3' jointe à la version 3.3.12.0 de Autoit3, ce qui entraîne une erreur dans l'UDF 'MPDF_UDF_CB.au3.
J'ai corrigé cette erreur en rajoutant cette fonction dans mon UDF donc voici la dernière version.