0 votes

Good morning
A few days ago we bought a barcode.dll license and at the moment everything is going great, but we need to remove the numbers 1 that create the function (FCN1) in the internal part of the bar code.
We only need the number 1 at the beginning of the bar code.
How can we do this?
Thanks for your valuable support.

by
edited

1 Answer

0 votes

EAN128IsFNC1OmmitedForFixedLength is true by default.

EAN128IsFNC1OmmitedForFixedLength omits FNC1 for fixed length fields (AIs). FNC1 can not be removed from other fields as reader wouldn't know where one field ends and the next one starts.

Barcode.dll has a build-in dictionary of fixed length fields (AIs).
e.g. (00), (01), (3100-3690) and others.

You can mark specific AI as fixed length using a tilde character: '~':

b.Number = "(999~)123456";
by (301k points)
edited by
Thanks for your answer but I still get FCN1 in the codebar.
I did it by this way:

  Private Function Barcode(valor As String) As System.IO.MemoryStream
        Dim b As BaseBarcode = BarcodeFactory.GetBarcode(Symbology.EAN128)
        b.NarrowBarWidth = 5
        b.Height = 300
        b.FontHeight = 0.3F
        b.Number = valor
        b.EAN128IsFNC1OmmitedForFixedLength = True 'Delete FCN1 from codebar
        'Create bitmap and save it to BarcodeImage column
        Dim ms = New System.IO.MemoryStream()
        b.Save(ms, ImageType.Png, 300, 300)
        Return ms
    End Function


I only need the number 1 at the beginning of the bar code.
I think my answer was incorrect - sorry.

1.
EAN128IsFNC1OmmitedForFixedLength is true by default.

2.
EAN128IsFNC1OmmitedForFixedLength omits FNC1 for fixed length fields (AIs). FNC1 can not be removed from other fields as reader wouldn't know where one field ends and the next one starts.

3.
Barcode.dll has a build-in dictionary of fixed length fields (AIs).
e.g. (00), (01), (3100-3690) and others

4.
You can mark specific AI as fixed length using a tilde character: '~':
    b.Number = "(999~)123456";
Do you have software to verify the BarCodes?
For the moment we know if the barcodes are good until we send them to the GS1 and they verify the barcodes and give us an answer.
Not really, we use laser scanner to verify. Barcodes generated by Barcode.dll are correct. What AIs you are using that you don't need FNC1? What is the number you try to generate?
Can you please try the latest version? It seems there was a bug for recognizing some 3 digit AIs:
https://www.limilabs.com/barcode/download
As I already told you, FNC1 character is _required_ for certain AIs. In your example (415)7419700007524(3902)0000006000(96)20180905(8020)010200010002:

415 - not required
3902 - FNC1 is required
96 - FNC1 is required
8020 - FNC1 is required (as this is the last section, FNC1 is not added)

Please consult GS1 standard, section 3.2, figure 7.8.4-2, and section 7.8.3:
https://www.gs1.org/docs/barcodes/GS1_General_Specifications.pdf

Please use the latest version of the library so 415 is rendered without FNC1 by default.

If you want to remove the FNC1 character for specific AI, suffix it with a tilde character (e.g. 3902~). Please note that your barcode won't be correct according to GS1 standard.
Hello Limilabs support
We have implemented the suffixing with a tilde character method:
value = "(415)7419700007524(3902~)0000150000(96~)20180820(8020~)010100010002"
but the test still show us number 1 caracter before 3902
FNC1 character is added after (415). Please update to the latest version or use ~ for it as well.
...