Jump to content

OFFTOPIC: GS1 Datamatrix Decoder And Parser


bahry

Recommended Posts

Hi to all,

Sorry for this off topic, but I have searched every where without success.

does any one knows a component or have any ready made procedure on decoding the GS1 Datamatrix barcode?

Regards

 

 

Link to comment
Share on other sites

  • bahry changed the title to OFFTOPIC: GS1 Datamatrix Decoder And Parser

We need to parse the GS1 datamatrix barcode which will be provided by other party. We know they are going to use GTIN(01), lot number(10), Expiration date(17), serial number (21). The problems is that barcode reader output a string, the format is like this 01076123456789001710050310AC3453G321455777. Since there is not separator and both serial number and lot number are variable length according to GS1 standard, we have trouble to identify segments.

 

Regards

Link to comment
Share on other sites

1 hour ago, bahry said:

We need to parse the GS1 datamatrix barcode which will be provided by other party. We know they are going to use GTIN(01), lot number(10), Expiration date(17), serial number (21). The problems is that barcode reader output a string, the format is like this 01076123456789001710050310AC3453G321455777. Since there is not separator and both serial number and lot number are variable length according to GS1 standard, we have trouble to identify segments.

Sorry, again the statement of the problem is not clear to me.

Link to comment
Share on other sites

1 hour ago, bahry said:

We need to parse the GS1 datamatrix barcode which will be provided by other party. We know they are going to use GTIN(01), lot number(10), Expiration date(17), serial number (21). The problems is that barcode reader output a string, the format is like this 01076123456789001710050310AC3453G321455777. Since there is not separator and both serial number and lot number are variable length according to GS1 standard, we have trouble to identify segments.

 

Regards

Hello,

These methods are not for the unigui team.

For this you need to create your own procedure.

or use some result of this search on google: https://www.google.com/search?q=javascript+gs1+datamatrix&oq=gs1+javasc&aqs=chrome.3.69i57j0i22i30l3j0i390l3.12832j0j7&sourceid=chrome&ie=UTF-8

 

You can create on server side logic and get data from barcode from ajax.

Link to comment
Share on other sites

4 hours ago, bahry said:

Thanks

Do You have some real gs1 barcode from third party?

Can You send me here some readed data like text and like image (picture)?

The GS1 barcode must transmit an invisible separator (FNC1 / FNC2 / FNC3), here it is explained which separator is used by default (GS - Group Separator) - https://diarium.usal.es/pmgallardo/2019/09/13/difference-between-fnc1-and-gs-field-delimiters/

or here with examples for separators: https://support.honeywellaidc.com/servlet/fileField?entityId=ka02K000000ceKRQAY&field=File_3__Body__s

ANSII table: https://theasciicode.com.ar/ascii-control-characters/group-separator-ascii-code-29.html

Link to comment
Share on other sites

Hello @irigsoft

Very Thanks, and Sorry for late answer,

Here is an examples for the Scanned code and the manual parser, as you can see there is no specific logic in the parsing some times 

 

0105415062325810215ZE9T81DB71723053110WG4E
01 05415062325810 21 5ZE9T81DB7 17 230531 10 WG4E

010625106503300517231101109686D2110013541681519
01 06251065033005 17 231101 10 9686D 21 10013541681519

01062911091200491724093010EY9A2150CT1Y61DG
01 06291109120049 17 240930 10 EY9A 21 50CT1Y61DG

010625187009501410211171121060017240600
01 06251870095014 10 2111711 21 0600 17 240600

0106251600001490172511061021126221DE2G6HFY1AND5H
01 06251600001490 17 251106 10 211262 21 DE2G6HFY1AND5H

0106251144101205112103001724030010303521C4RBW046D6563EP
01 06251144101205 11 210300 17 240300 10 3035 21 C4RBW046D6563EP

 

Regards

 

Link to comment
Share on other sites

6 minutes ago, bahry said:

Here is an examples for the Scanned code and the manual parser, as you can see there is no specific logic in the parsing some times 

Hello,

Well, as I see, there are extra spaces, remove them.

Link to comment
Share on other sites

Actually I made the spaces manually 

original Code is 0105415062325810215ZE9T81DB71723053110WG4E

then I separate the Code manually 01 05415062325810 21 5ZE9T81DB7 17 230531 10 WG4E

01 - GTIN

10 - Batch No

11 - Manufacturing Date

15 - Best before Date

17 - Expiration date

21 - Serial No

And when Reading it by the Scanner the <GS> code only before the Serial and as you can see from the above examples 

there is no specific place where the serial could be, it depends upon the manufacturar

 

Regards

Link to comment
Share on other sites

37 minutes ago, bahry said:

Hello @irigsoft

Very Thanks, and Sorry for late answer,

Here is an examples for the Scanned code and the manual parser, as you can see there is no specific logic in the parsing some times 

 

0105415062325810215ZE9T81DB71723053110WG4E
01 05415062325810 21 5ZE9T81DB7 17 230531 10 WG4E

010625106503300517231101109686D2110013541681519
01 06251065033005 17 231101 10 9686D 21 10013541681519

01062911091200491724093010EY9A2150CT1Y61DG
01 06291109120049 17 240930 10 EY9A 21 50CT1Y61DG

010625187009501410211171121060017240600
01 06251870095014 10 2111711 21 0600 17 240600

0106251600001490172511061021126221DE2G6HFY1AND5H
01 06251600001490 17 251106 10 211262 21 DE2G6HFY1AND5H

0106251144101205112103001724030010303521C4RBW046D6563EP
01 06251144101205 11 210300 17 240300 10 3035 21 C4RBW046D6563EP

 

Regards

 

Hello, logic is usage of GS separator between data.

and this is simple Code128 with specific data separator.

Can You post some image of real GS1 barcode I want to scan and check what char use Your vendor as separator .

Link to comment
Share on other sites

@irigsoft

Thank you for the links it is very helpful.

Here is the original  

010625187009501410211171121060017240600

and the Hex

30 31 30 36 32 35 31 38 37 30 30 39 35 30 31 34 31 30 32 31 31 31 37 31 31 32 31 30 36 30 30 31 37 32 34 30 36 30 30

I think there is no any extra symbols.

 

Regards

Link to comment
Share on other sites

1 minute ago, bahry said:

@irigsoft

Thank you for the links it is very helpful.

Here is the original  

010625187009501410211171121060017240600

and the Hex

30 31 30 36 32 35 31 38 37 30 30 39 35 30 31 34 31 30 32 31 31 31 37 31 31 32 31 30 36 30 30 31 37 32 34 30 36 30 30

I think there is no any extra symbols.

 

Regards

You need to use a barcode scanner that can read gs1 barcodes, when you read the barcode in the hexadecimal text tool, you should see what symbol is used to divide between sections and then build your logic.

All the documentation I found says that the sections must be separated by a special symbol, this symbol being determined by the barcode generator. It is explained that "GS" is most often used, but it cannot be used when printing "QR code". I have not found out which symbol can be used by default, but it became clear that when printing in "QR code" is used different from the standard symbol. Maybe it's a good idea to ask the country that generates the barcode

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...