Frage

Zunächst einmal ich zu den Barcode-Formaten irgendwie neu bin und was ich weiß, ich habe gelernt, aus der Wikipedia.

Wir haben einige Barcodes durch eine bestehende App generiert, die die Barcode.4NET Bibliothek verwendet. Der Barcode ist in der Code-128A-Format. Der Code, sie zu erzeugen, ist ziemlich einfach, auf der Suche etwas wie folgt aus:

// Create the barcode
Code128ABarcode c128A = new Code128ABarcode("045746201627080857");

Keine andere Parameter für sie festgelegt -. Nach der Dateneinstellung, wir haben nur eine GIF-Version des Barcodes aus der Bibliothek zurück

Ich arbeite an einer neuen App, die iTextSharp für PDF-Erzeugung verwendet, und ich dachte, dass statt zwei Bibliotheken zu verwenden, würde ich iTextSharp der Barcode-Generierung-Bibliothek verwenden, da es Code128 Barcodes unterstützt. Es hat ein paar verschiedene Varianten von Code 128, aber keiner von ihnen ist „Code 128A“.

Hier ist, was der Code wie es aussieht:

Barcode128 code128 = new Barcode128();
code128.CodeType = Barcode.CODE128;
code128.ChecksumText = true;
code128.GenerateChecksum = true;
code128.StartStopText = true;
code128.Code = "045746201627080857";

Das Bild unten zeigt das Beste, was ich bisher erreicht habe.

alt text

Das Bild auf der Oberseite wird durch iTextSharp erzeugt und die auf der Unterseite durch Barcode4Net erzeugt. Offensichtlich sind sie nicht die gleichen (und nicht nur in der Größe und der Schrift - die Strichcodedaten ist ziemlich verschieden)

.

Ist jemand da draußen vertraut genug mit iTextSharp (oder iText selbst) Barcode-Komponenten oder mit Code 128A Barcodes mir zu sagen, wie die iTextSharp einen Blick genau zu machen, wie die Barcode.4NET ein?

War es hilfreich?

Lösung

Ist es wirklich notwendig, dass sie genau gleich aussehen? Die verschiedenen Versionen von Code 128 sind alle Codierungsnummern fähig, auch wenn die Barcodes selbst ganz anders aussehen; der Leser sollte sie alle aus spitzem Winkel sortieren.

Ich ziehe die B-Variante, weil sie die Kleinbuchstaben neben dem oberen Gehäuse hat. Sie können eine Tabelle sehen, welche die Unterschiede bei http://www.barcodeisland.com/code128.phtml

iTextSharp sieht aus wie es ist, Variante C zu erzeugen, das ist der kompakteste, wenn der Text nur Dezimalstellen. Es kodiert für zwei Ziffern in der gleichen Menge an Speicherplatz als ein einzelnes Zeichen in den anderen Kodierungen.

Andere Tipps

sollte die Anzahl:

*045746201627080857*

Sie müssen das Sternchen an den Anfang und das Ende hinzufügen, so kann der Barcode readed werden, müssen Sie in der Dokumentation der Komponente Hexe überprüfen, diese Zeichen braucht.

Der Scanner muss die Vorder- und die Hinter Sternchen auf dieser Art von BC.

für das, was ich in Ihrem Code sehen kann, die Zeile

code128.StartStopText = true;

automatisch fügt es, versuchen Sie diese Eigenschaft auf false gesetzt, werden Sie mit dem gleichen Barcode enden. Im ersten Code sollten Sie verwenden

Code128ABarcode c128A = new Code128ABarcode("*045746201627080857*");

versuchen, sich selbst:)

Editiert:

Der richtige Strichcode ist:

alt text http: //www.bcgen .com / demo / linear-dbgs.aspx? D = 045746201627080857 & S = 13 & CS = 1

über den Link unten (unter Verwendung von ID Automation kostenloser Service ):

http://www.bcgen.com/demo/linear-dbgs.aspx?D=045746201627080857&S=13&CS=1

, was Sie haben, ist:

alt text http: //www.bcgen .com / demo / linear-dbgs.aspx? D = 045746201627080857 & S = 13 & CS = 3

und das ist Code128C statt Code128A , wie Sie die Verbindung überprüfen kann (Ich habe die Barcode-Eigenschaften Code128C)

http://www.bcgen.com /demo/linear-dbgs.aspx?D=045746201627080857&S=13&CS=3

Während ich denke balexandre hat die Generatoren gemischt, sein Rat ist gut.

Offensichtlich ist Barcode.4NET den Code korrekt 128A Barcode-Generierung, die ich zu emulieren versuchen.

iTextSharp ist ein Code 128C Barcode-Generierung, die nach Mark Ransom, sollte außer für die Benutzer und Kunden in Ordnung sein wird wahrscheinlich es betrachten und sagen: „Es ist zu kurz und sollte wie die anderen aussehen!“

Also, gute Ratschläge, aber ich bin immer noch zurück zu „Wie kann ich einen Code 128A Barcode mit iTextSharp generieren?“

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