# How to create barcode image correctly using EAN

**URL:** https://discuss.tryton.org/t/how-to-create-barcode-image-correctly-using-ean/6870
**Category:** Developer
**Created:** [January 14, 2024, 2:47am UTC](https://discuss.tryton.org/t/how-to-create-barcode-image-correctly-using-ean/6870 "2024-01-14T02:47:38Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![iehoshia](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/iehoshia/32/243_2.png) [@iehoshia](https://discuss.tryton.org/u/iehoshia)
#### Post date: [January 14, 2024, 2:47am UTC](https://discuss.tryton.org/t/how-to-create-barcode-image-correctly-using-ean/6870/1 "2024-01-14T02:47:39Z")

</div>

Hi,  
I have a function field with this code (trytond 7.0, python-barcode 0.15.1):

```auto
try:
    from trytond.tools import barcode
except ImportError:
    barcode = None

def get_barcode_image(self, name=None):
        if not barcode or not self.code:
            return

        image = barcode.generate_png('upc', self.code, width=2, height=80)
        return image

```

It generate the code but sometimes doesn’t display the code correctly.

For example, with this code **033123223010** I got this image

 ![image](https://discuss-cdn.tryton.org/uploads/default/original/2X/b/bd3cc8b1886103cc456865b953f8267eded6557b.png)

Also I’m not sure why but tryton was printing the code correctly

 ![image](https://discuss-cdn.tryton.org/uploads/default/original/2X/e/e585927975b7428d00871c941ce9877ee1f5c451.png)

But for this **272082554843** it works fine

 ![image](https://discuss-cdn.tryton.org/uploads/default/original/2X/9/90193f9b9c30f7b6026f80b2bf8b0a7c6acc3b00.png)

After reading the first code doesn’t fit the EAN standard, so, it converts to the fit the standard but doesn’t work for us because the provider gives us 12 digits code.

How to display the code correctly?

Best.

---

<div class="post-metadata">

### Author: ![ced](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/ced/32/1237_2.png) [@ced](https://discuss.tryton.org/u/ced)
#### Post date: [January 14, 2024, 9:38am UTC](https://discuss.tryton.org/t/how-to-create-barcode-image-correctly-using-ean/6870/2 "2024-01-14T09:38:54Z")

</div>

`barcode` recompute the checksum of UPC so it seems that your first UPC code is not valid.

---

<div class="post-metadata">

### Author: ![iehoshia](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/iehoshia/32/243_2.png) [@iehoshia](https://discuss.tryton.org/u/iehoshia)
#### Post date: [January 14, 2024, 5:13pm UTC](https://discuss.tryton.org/t/how-to-create-barcode-image-correctly-using-ean/6870/3 "2024-01-14T17:13:46Z")

</div>

Yes, barcode recompute the code, how to avoid it?

---

<div class="post-metadata">

### Author: ![ced](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/ced/32/1237_2.png) [@ced](https://discuss.tryton.org/u/ced)
#### Post date: [January 14, 2024, 6:13pm UTC](https://discuss.tryton.org/t/how-to-create-barcode-image-correctly-using-ean/6870/4 "2024-01-14T18:13:50Z")

</div>

You can not. You must use valid code.

---

<div class="post-metadata">

### Author: ![iehoshia](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/iehoshia/32/243_2.png) [@iehoshia](https://discuss.tryton.org/u/iehoshia)
#### Post date: [January 14, 2024, 6:18pm UTC](https://discuss.tryton.org/t/how-to-create-barcode-image-correctly-using-ean/6870/5 "2024-01-14T18:18:11Z")

</div>

Thanks, I tried and it works fine.  
`image = barcode.generate_png('code128', self.code, width=2, height=80)`

---

<div class="post-metadata">

### Author: ![system](https://discuss-cdn.tryton.org/uploads/default/original/1X/c6f8ec0a40525cdcd50058c734283450a4b3d38b.png) [@system](https://discuss.tryton.org/u/system)
#### Post date: [January 15, 2024, 6:18am UTC](https://discuss.tryton.org/t/how-to-create-barcode-image-correctly-using-ean/6870/6 "2024-01-15T06:18:38Z")

</div>

This topic was automatically closed 12 hours after the last reply. New replies are no longer allowed.
