Skip to content
master
Go to file
Code
This branch is 42 commits ahead of oostendo:master.

Latest commit

Fix #3 (path-to-URI conversion on Windows). a94f672 was intended as a quick fix, but didn't do this right.
06ce16c

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

python-zxing

PyPI Build Status License: LGPL v3

This is a wrapper for the ZXing barcode library. (It's a "slightly less quick-and-dirty" fork of oostendo/python-zxing.) It will allow you to read and decode barcode images from Python.

Dependencies and installation

Use the Python 3 version of pip (usually invoked via pip3) to install: pip3 install zxing

  • You'll neeed to have a recent java binary somewhere in your path. (Tested with OpenJDK.)
  • pip will automatically download the relevant JAR files for the Java ZXing libraries (currently v3.4.0)

Usage

The BarCodeReader class is used to decode images:

>>> import zxing
>>> reader = zxing.BarCodeReader()
>>> barcode = reader.decode("test/barcodes/QR_CODE-easy.png")
>>> print(barcode)
BarCode(raw='This should be QR_CODE', parsed='This should be QR_CODE', format='QR_CODE', type='TEXT', points=[(15.0, 87.0), (15.0, 15.0), (87.0, 15.0), (75.0, 75.0)])

The attributes of the decoded BarCode object are raw, parsed, format, type, and points. The list of formats which ZXing can decode is here.

The decode() method accepts an image path and takes optional parameters try_harder (boolean) and possible_formats (list of formats to consider). If no barcode is found, it returns None, and if it encounters any other recognizable error from the Java ZXing library, it raises BarCodeReaderException.

Command-line interface

The command-line interface can decode images into barcodes and output in either a human-readable or CSV format:

usage: zxing [-h] [-c] [--try-harder] image [image ...]

Human-readable:

$ zxing /tmp/barcode.png
/tmp/barcode.png
================
  Decoded TEXT barcode in QR_CODE format.
  Raw text:    'Testing 123'
  Parsed text: 'Testing 123'

CSV output (can be opened by LibreOffice or Excel):

$ zxing /tmp/barcode1.png /tmp/barcode2.png /tmp/barcode3.png
Filename,Format,Type,Raw,Parsed
/tmp/barcode1.png,CODE_128,TEXT,Testing 123,Testing 123
/tmp/barcode2.png,QR_CODE,URI,http://zxing.org,http://zxing.org
/tmp/barcode3.png,QR_CODE,TEXT,"This text, ""Has stuff in it!"" Wow⏎Yes it does!","This text, ""Has stuff in it!"" Wow⏎Yes it does!"

License

LGPLv3

About

python wrapper for the ZXing barcode library

Topics

Resources

License

Packages

No packages published

Languages

You can’t perform that action at this time.