Qu'est-ce qui empêcherait la numérisation des codes-barres Code128 générés à partir de la bibliothèque netbarcodewriter ?

StackOverflow https://stackoverflow.com//questions/20045056

  •  26-12-2019
  •  | 
  •  

Question

J'essaie d'utiliser le netbarcodewriter de https://github.com/simongh/barcodes pour générer des codes-barres code128.Le code-barres généré ne peut être scanné que par certaines applications pour smartphone, mais pas par les scanners USB ou les scanners Windows Mobile 6 robustes dont nous disposons.

Par exemple, les images ci-jointes montrent "502337700000000198" encodé à partir de différentes sources, une seule application pour smartphone (ios) - Zbarcode peut scanner le code-barres généré par netbarcodewriter 1, d'autres (attscanner) ne le peuvent pas.Aucun des scanners USB ou des terminaux Windows CE robustes ne l'analyse non plus.

from netbarcodewriter

from raco

from itextsharp

string huid = "502337700000000198";

short w = 251;
short h = 100;
short x = 28;
Code128 code = new Code128();

var b2mp = code.Generate(huid, new BarcodeSettings { BarHeight = 65, WideWidth = w - 2 * x });
b2mp.Save(string.Format(@"c:\temp\{0}.png", huid), ImageFormat.Png);

Lorsqu'il est généré par itextsharp 3 ou sur des sites comme racoindustries.com/barcodegenerator/1d/code-128.aspx 2, tous les scanners fonctionnent.Le code-barres d'iTextSharp est tout simplement trop petit et la propriété BarcodeSize ne peut pas être définie.

Quelqu'un a-t-il travaillé avec cette bibliothèque ?De plus, est-ce que quelqu'un sait à quoi servent ces rectangles gris #MARKER ?

Toute aide serait appréciée.

Était-ce utile?

La solution

C'est une sorte de bug.Lorsque vous créez une nouvelle classe Code128, elle définit ses paramètres par défaut.pour le code 128, cela signifie définir le remplissage du module - l'espace entre un nombre codé - sur 0.

Dans le code que vous avez ci-dessus, vous transmettez un nouvel objet de paramètres.Cela rétablit le remplissage à sa valeur par défaut de 2, d'où l'espacement supplémentaire.

Vous définissez également le WideWidth.Ceci n'est pas utilisé dans le Code128 - il utilise uniquement NarrowWidth Il s'agit de la largeur des barres et la valeur par défaut est 2.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top