FAQ TBarCode dans les applications Web
Améliorer la qualité des codes-barres pour les imprimantes d'étiquettes en ASP.NET
Améliorer la qualité des codes-barres pour les imprimantes d'étiquettes en ASP.NET
Si vous imprimez des codes-barres depuis le navigateur sur des imprimantes d'étiquettes thermiques, vous rencontrez souvent des problèmes de qualité. Les barres ne sont pas de largeur égale et ne sont pas adaptées à la résolution de sortie. Pour éviter les aberrations de largeur de barre, vous devez trouver une correspondance exacte des pixels entre les 96 ppp du navigateur et les 203 ppp de l'imprimante. Pour les codes-barres linéaires, la solution est la suivante :
- Création du bitmap : créez le bitmap du code-barres à 203 ppp avec une largeur de module optimisée (2 ou 3 pixels). Rendez le bitmap entier exactement large de 3 ou 4 pouces (= 3 * 203 pixels ou 4 * 203 pixels) en ajoutant de l'espace blanc si nécessaire.
- Mise à l'échelle du bitmap : affichez l'image du code-barres dans le navigateur avec une largeur exactement de 3 ou 4 pouces (= 3 * 203 pixels ou 4 * 203 pixels) selon ce que vous avez sélectionné lors de la création du bitmap.
- Cela créera un code-barres aligné sur les pixels d'une grille à 203 ppp et une bonne lisibilité.
Le code ASP.NET C# suivant montre comment implémenter cette optimisation avec TBarCode .NET.
double dpi = 203; // printer resolution (8 lines/mm) int numberOfPixels = 3; // number of pixels for 1 module (= 0.375 mm) double moduleWidth = numberOfPixels * 25.4 / dpi; // module width in mm BCControl.Barcode.Dpi = dpi; // 1 bitmap pixel = 1 module BCControl.Barcode.SizeMode = TECIT.TBarCode.SizeMode.CustomModuleWidth; BCControl.Barcode.ModuleWidth = (float) (moduleWidth + 0.001); BCControl.Barcode.AdjustModuleWidthToPixelRaster = true; BCControl.Width = new Unit(96 * 4, UnitType.Pixel); // always a multiple of 96 !!!
Lors de l'impression du code-barres, assurez-vous que la mise à l'échelle du navigateur est désactivée (ou réglée sur 100 %). Assurez-vous également que le tramage ou le demi-ton de l'image est désactivé dans le pilote d'imprimante.