Was würde dazu führen, dass Code128-Barcodes, die aus der Netbarcodewriter-Bibliothek generiert wurden, nicht gescannt werden?

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

  •  26-12-2019
  •  | 
  •  

Frage

Ich versuche, den Netbarcodewriter von zu verwenden https://github.com/simongh/barcodes um Code128-Barcodes zu generieren.Der generierte Barcode kann nur von einigen Smartphone-Apps gescannt werden, nicht jedoch von USB-Scannern oder robusten Windows Mobile 6-Scannern, die wir haben.

Die beigefügten Bilder zeigen beispielsweise „502337700000000198“, codiert aus verschiedenen Quellen, nur 1 (ios) Smartphone-App – Zbarcode kann den von Netbarcodewriter generierten Barcode scannen 1, andere (attscanner) können nicht.Auch keiner der USB-Scanner oder robusten Windows-CE-Terminals scannt es.

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);

Bei Generierung durch itextsharp 3 oder auf Websites wie racoindustries.com/barcodegenerator/1d/code-128.aspx 2, alle Scanner funktionieren.Der Barcode von iTextSharp ist einfach zu klein und die BarcodeSize-Eigenschaft kann nicht festgelegt werden.

Hat jemand mit dieser Bibliothek gearbeitet?Weiß jemand außerdem, was diese grauen #MARKER-Rechtecke bewirken?

Jede Hilfe wird geschätzt.

War es hilfreich?

Lösung

Es ist eine Art Bug.Wenn Sie eine neue Code128-Klasse erstellen, legt diese ihre Standardeinstellungen fest.Für Code 128 bedeutet dies, dass der Modulabstand – der Abstand zwischen einer codierten Zahl – auf 0 gesetzt wird.

In dem Code, den Sie oben haben, übergeben Sie ein neues Einstellungsobjekt.Dadurch wird der Abstand auf den Standardwert 2 zurückgesetzt, daher der zusätzliche Abstand.

Sie legen auch fest WideWidth.Dies wird in Code128 nicht verwendet, sondern nur NarrowWidth Dies ist die Breite der Balken und der Standardwert ist 2.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top