+2  A: 
balexandre
The Code128ABarcode line is the one that is apparently *correct* (it's the one I'm trying to match). Any combination of asterisks and changing StartStopText that I've tried still doesn't match.
CMPalmer
I just edited and added the correct code. Barcode.4NET library is giving you Code128C instead Code128A.
balexandre
Asterisks are only required for Code 3 of 9, NOT Code 128.
Mark Ransom
+1  A: 

Is it really necessary for them to look exactly the same? The different versions of Code 128 are all capable of encoding numbers, even if the barcodes themselves look completely different; the reader should sort it all out in the end.

I prefer the B variant, because it has the lower case letters in addition to the upper case. You can see a table detailing the differences at http://www.barcodeisland.com/code128.phtml

iTextSharp looks like it is generating variant C, which is the most compact if the text is only decimal digits. It encodes 2 digits in the same amount of space as a single character in the other encodings.

Mark Ransom
While this isn't exactly the answer I was looking for, I'll give it the nod. My client said that as long as a standard scanner could read either one, we were OK and now I know which one is which.
CMPalmer
A: 

While I think balexandre has the generators mixed up, his advice is good.

Evidently Barcode.4NET is correctly generating the Code 128A barcode that I am trying to emulate.

iTextSharp is generating a Code 128C barcode which, according to Mark Ransom, should be OK except for the users and customer will probably look at it and say "It's too short and should look like the other ones!"

So, great advice, but I'm still back to "How do I generate a Code 128A barcode with iTextSharp?"

CMPalmer
the barcode reader will read both, f you set it up, by default Datalogic and Symbol devices read Code128 A to C without no specific parameters.
balexandre
Thanks. I'm checking with our customer to see if they mind switching to the 128C barcodes.
CMPalmer