How to Scan a Barcode Image and Extract the Data in Python

Barcodes are a crucial part of many businesses, and having a system in place for interpreting them is make-or-break in a lot of cases. I don’t suggest the manual approach, as there are not only a myriad of different barcode formats, but it is also very difficult to program. Instead, I’m going to show you the shortcut you’ve been looking for all day, a shortcut that will allow you to implement barcode reading in but a few minutes.

Our method for today is going to use the Cloudmersive API client, so install that now with pip install.

pip install cloudmersive-barcode-api-client

Now we are simply going to input our image into the barcode_scan_image function from that API, which will look a bit like this:

from __future__ import print_functionimport timeimport cloudmersive_barcode_api_clientfrom cloudmersive_barcode_api_client.rest import ApiExceptionfrom pprint import pprint# Configure API key authorization: Apikeyconfiguration = cloudmersive_barcode_api_client.Configuration()configuration.api_key['Apikey'] = 'YOUR_API_KEY'# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed# configuration.api_key_prefix['Apikey'] = 'Bearer'# create an instance of the API classapi_instance = cloudmersive_barcode_api_client.BarcodeScanApi(cloudmersive_barcode_api_client.ApiClient(configuration))image_file = '/path/to/file' # file | Image file to perform the operation on.  Common file formats such as PNG, JPEG are supported.try:# Scan an image for a barcode and turn the result.  Supported barcode types include AZTEC, CODABAR, CODE_39, CODE_93, CODE_128, DATA_MATRIX, EAN_8, EAN_13, ITF, MAXICODE, PDF_417, QR_CODE, RSS_14, RSS_EXPANDED, UPC_A, UPC_E, All_1D, UPC_EAN_EXTENSION, MSI, PLESSEY, IMBapi_response = api_instance.barcode_scan_image(image_file)pprint(api_response)except ApiException as e:print("Exception when calling BarcodeScanApi->barcode_scan_image: %s\n" % e)

And with those two simple steps done, you are now ready to scan a bunch of different barcode types, such as EAN, UPC, and MSI.

Image for post
Image for post

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store