prison Prison barcode library

prison is a Qt-based barcode abstraction layer/library and provides uniform access to generation of barcodes with data.


prison has a Prison::AbstractBarcode, which is the base class for the actual barcode generators. Prison currently implements barcode generators for the following formats:

  • QRCode
  • Data Matrix
  • Aztec
  • Code39
  • Code93
  • Code128
  • PDF417

prison currently ships the org.kde.prison.Barcode QML element that can be used to render barcodes in QML code.

Supported Barcode types

There is basically two types of barcodes:

  • barcodes that carries the data
  • barcodes that carries a lookup number, and requires a specific server to look up the actual data.

prison isn't as such designed for the latter, it will probably work, but patches implementing barcode support for such barcodes will not be accepted. A example is EZCode.

prison is currently using libdmtx for generation of DataMatrix barcodes

prison is currently using libqrencode for generation of QRCode barcodes

Prison Scanner

A barcode scanner consuming a live video feed from QtMultimedia.

Prison's barcode scanner can be used from C++ code using the Prison::VideoScanner class, or from QML using the org.kde.prison.scanner.VideoScanner QML element.

There are standalone QML examples in tests/scanner-qt(5|6).qml demonstrating the QML API.

Barcode detection is implemented using the ZXing library, all formats supported by ZXing can be detected.

This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Sat Sep 23 2023 04:08:13 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.